Download KPLBO-P4 (Class Object II) - Blog Unpas

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Praktikum KPLBO
Kelas dan Objek II
Oleh :
Ade Sukendar [[email protected]]
Laboratorium Jurusan Teknik Informatika
Universitas Pasundan
2014
Latihan 1 :


Latihan pertama ini akan melanjutkan dari latihan 5 di modul Kelas dan Objek I. Latihan ini
akan memperlihatkan contoh copy reference yang akan dipegang oleh suatu variabel.
Buatlah kelas Matakuliah seperti dibawah ini :
Matakuliah.java
package p4.a;
/**
* @author Ade Sukendar
* @version 1.1
* @since 22/2/2014
*
*/
public class Matakuliah {
private String kode;
private String nama;
private int sks;
/*
* Konstruktor
*/
public Matakuliah() {}
public Matakuliah(String kode, String nama, int sks) {
setKode(kode);
setNama(nama);
setSks(sks);
}
/*
* Method Setter & Getter
*/
public String getKode() {
return kode;
}
public void setKode(String kode) {
this.kode = kode;
}
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
public int getSks() {
return sks;
}
public void setSks(int sks) {
this.sks = sks;
}
/*
* Method I/O
*/
@Override
public String toString() {
return kode+ ", "+ nama+ ", "+ sks;
}
}
Hal 2

Buatlah kelas MatakuliahMain seperti dibawah ini :
MatakuliahMain.java
package p4.a;
/**
* @author Ade Sukendar
* @version 2.1
* @since 22/2/2014
*/
public class MatakuliahMain {
public static void main(String[] args) {
// Instansiasi objek matkul1
Matakuliah matkul1 = new Matakuliah();
// Isi atribut objek matkul1
matkul1.setKode("IT405");
matkul1.setNama("KPLBO");
matkul1.setSks(3);
// Instansiasi objek matkul2
Matakuliah matkul2 = new Matakuliah("IT502", "Vispro", 3);
// Tampilkan nilai atribut varabel matkul
System.out.println("@Sebelum di copy reference");
viewAttribute(matkul1, matkul2);
// Copy reference matkul1 objek Matakuliah ke variabel matkul2
matkul2 = matkul1;
// Tampilkan nilai atribut varabel matkul
System.out.println("@Setelah di copy reference");
viewAttribute(matkul1, matkul2);
}
private static void viewAttribute(Matakuliah matkul1, Matakuliah matkul2) {
// Tampilkan nilai atribut varabel matkul1
System.out.println("@matkul1");
System.out.println(matkul1);
// Tampilkan nilai atribut varabel matkul2
System.out.println("@matkul2");
System.out.println(matkul2);
}
}

Running, kemudian amati yang terjadi !!!
Latihan 2 :

Latihan kedua diminta untuk mengubah kode program diatas sesuai dengan hasil eksekusi
dibawah ini. Kode program harus menggunakan copy reference.
@matkul1
IT405, KPLBO, 3
@matkul2
IT102, Alpro1, 4
@matkul3
IT405, KPLBO, 3

Running, kemudian amati yang terjadi !!!
Hal 3
Latihan 3 :

Latihan ketiga sama seperti latihan pertama. Kelas yang akan dibuat diberi nama kelas
Mahasiswa dan kelas utama di beri nama MahasiswaMain. Perhatikan diagram kelas dibawah
ini :


Kelas Matakuliah menggunakan kelas yang telah dibuat di pertemuan sebelumnya.
Berdasarkan diagram kelas diatas buatlah kelas Mahasiswa seperti dibawah ini :
Mahasiswa.java
package p4.b;
/**
* @author Ade Sukendar
* @version 1.1
* @since 22/2/2014
*
*/
public class Mahasiswa {
private String nomorMahasiswa;
private String nama;
private String jurusan;
/*
* Konstruktor
*/
public Mahasiswa() {}
public Mahasiswa(String nomorMahasiswa, String nama, String jurusan) {
setNomorMahasiswa(nomorMahasiswa);
setNama(nama);
setJurusan(jurusan);
Hal 4
}
/*
* Method Setter & Getter
*/
public String getNomorMahasiswa() {
return nomorMahasiswa;
}
public void setNomorMahasiswa(String nomorMahasiswa) {
this.nomorMahasiswa = nomorMahasiswa;
}
public String getJurusan() {
return jurusan;
}
public void setJurusan(String jurusan) {
this.jurusan = jurusan;
}
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
/*
* Method I/O
*/
@Override
public String toString() {
return nomorMahasiswa+ ", "+ nama+ ", "+ jurusan;
}
}

Berdasarkan diagram kelas diatas buatlah kelas Nilai seperti dibawah ini :
Nilai.java
package p4.b;
import p4.a.Matakuliah;
/**
* @author Ade Sukendar
* @version 1
* @since 22/2/2014
*/
public class Nilai {
private Mahasiswa mahasiswa;
private Matakuliah matakuliah;
private double nilaiUTS;
private double nilaiUAS;
/*
* Konstruktor
*/
public Nilai() {}
public Nilai(Mahasiswa mahasiswa, Matakuliah matakuliah) {
setMahasiswa(mahasiswa);
setMatakuliah(matakuliah);
}
public Nilai(Mahasiswa mahasiswa, Matakuliah matakuliah, double nilaiUTS,
double nilaiUAS) {
// Memanggil konstruktor Nilai yang berparameter dua
Hal 5
this(mahasiswa, matakuliah);
setNilaiUTS(nilaiUTS);
setNilaiUAS(nilaiUAS);
}
/*
* Method Setter & Getter
*/
public Mahasiswa getMahasiswa() {
return mahasiswa;
}
public void setMahasiswa(Mahasiswa mahasiswa) {
this.mahasiswa = mahasiswa;
}
public Matakuliah getMatakuliah() {
return matakuliah;
}
public void setMatakuliah(Matakuliah matakuliah) {
this.matakuliah = matakuliah;
}
public double getNilaiUTS() {
return nilaiUTS;
}
public void setNilaiUTS(double nilaiUTS) {
this.nilaiUTS = nilaiUTS;
}
public double getNilaiUAS() {
return nilaiUAS;
}
public void setNilaiUAS(double nilaiUAS) {
this.nilaiUAS = nilaiUAS;
}
/*
* Method I/O
*/
@Override
public String toString() {
return mahasiswa.getNomorMahasiswa()+ ", "+
matakuliah.getNama()+ ", "+
nilaiUTS+ ", "+
nilaiUAS;
}
}

Berdasarkan diagram kelas diatas buatlah kelas NilaiMain seperti dibawah ini :
NilaiMain.java
package p4.b;
import p4.a.Matakuliah;
/**
* @author Ade Sukendar
* @version 1
* @since 22/2/2014
*/
public class NilaiMain {
public static void main(String[] args) {
// Instansiasi objek mahasiswa di mhs dan matakuliah di matkul
Mahasiswa mhs = new Mahasiswa("123040100", "Jayakarta", "Teknik
Informatika");
Hal 6
Matakuliah matkul = new Matakuliah("IT502", "Vispro", 3);
// Instansiasi objek nilai
Nilai nilai = new Nilai(mhs, matkul);
// Tampilkan nilai atribut variabel nilai
System.out.println(nilai);
}
}

Running, kemudian amati yang terjadi !!!
Latihan 4 :

Latihan ke empat melengkapi kode program di kelas NilaiMain. Isilah nilai atribut UTS
dengan nilai 75.5 dan UAS dengan nilai 90. Kemudian running lagi dan amati lagi yang
terjadi !
Latihan 5 :
 Latihan ke enam ini akan diperlihatkan lebih detil mengenai copy reference dari sebuah
objek. Variabel referensi akan coba mengubah nilai objek dan kemudian akan diakses oleh
variabel referensi yang lain. Ketikkan kode program dibawah ini !
XY.java
package p4.e;
public class XY {
private int x;
private double y;
public XY(int x, double y) {
this.x = x;
this.y = y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
@Override
public String toString() {
return "x: "+ x+ ", y: "+ y;
}
}
Hal 7

Buatlak kelas XYMain.java
package p4.e;
public class XYMain {
/**
* @param args
*/
public static void main(String[] args) {
XY xy1 = new XY(2, 3);
XY xy2 = xy1; //copy reference
System.out.println("@CopyReference");
System.out.println(xy1);
System.out.println(xy2);
// xy2 mengubah nilai x dengan 5
xy2.setX(5);
System.out.println("@Pengubahan 1");
System.out.println(xy1);
System.out.println(xy2);
// ** Kenapa nilai atribut x untuk xy1 ikut berubah ?
// xy1 mengubah nilai x dengan 7, dan y = 6
xy1.setX(7);
xy1.setY(6);
System.out.println("@Pengubahan 2");
System.out.println(xy1);
System.out.println(xy2);
// ** Kenapa nilai atribut x dan y untuk xy2 ikut berubah ?
}
}

Running kode program dan amati yang terjadi !
Hal 8