• Tidak ada hasil yang ditemukan

BAB 5 INTERAKSI OBJEK. Tujuan:

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 5 INTERAKSI OBJEK. Tujuan:"

Copied!
9
0
0

Teks penuh

(1)

BAB 5 INTERAKSI OBJEK

Tujuan:

Setelah mengikuti matakuliah ini, mahasiswa diharapkan mampu menjelaskan prinsip kerja dan

membuat implementasi interaksi antar objek.

(2)

Pada kenyataannya, antara objek satu dengan objek lain saling berinteraksi atau saling

berelasi untuk membentuk suatu kesatuan entitas dalam suatu sistem. Seperti contohnya pada

sistem informasi akademik pada suatu perguruan tinggi, di dalamnya tentunya terdapat objek

Mahasiswa dan Matakuliah. Sehingga pastinya kita akan membuat klas Mahasiswa dan klas

Matakuliah. Dari 2 klas tersebut ternyata tidak saling bebas atau independen, justru klas

Mahasiswa di dalamnya memiliki atribut yang merupakan objek dari klas Matakuliah, tentnya

disamping atribut lain seperti nim dan nama. Dalam klas Matakuliah sendiri terdapat atribut

berupa kode, nama dan sks. Sehingga bisa diambil kesimpulan bahwa antar objek-objek bisa

saling berinteraksi.

Kalau digambar didalam diagram klas dari contoh di atas adalah sebagai berikut:

Dari diagram klas di atas terlihat bahwa dalam klas Mahasiswa terdapat atribut mk yang

memiliki tipe data berupa tipe data reference dari klas Matakuliah. Kedepanya ketika atribut

mk ini hendak diisi dengan suatu nilai, maka harus diisi dengan objek dari klas Matakuliah.

Mahasiswa

-nim: String -nama: String -mk: Matakuliah

<<constructor>>+Mahasiswa()

<<constructor>>+Mahasiswa(nim: String, nama: String, mk: Matakuliah) +tampil() +setNim(nim: String) +getNim(): String +setNama(nama: String) +getNama(): String +setMk(mk: Matakuliah) +getMk(): Matakuliah Matakuliah -kode: String -nama: String -sks: int <<constructor>>+Matakuliah()

<<constructor>>+Matakuliah(kode: String, nama: String, sks: int) +tampil() +setKode(kode: String) +getKode(): String +setNama(nama: String) +getNama(): String +setSks(sks: int) +getSks(): int

(3)

Untuk mengimplementasikan kasus ini sebagai simulasi kita buat klas di dalam project MyOop

yang sudah pernah dibuat. Langkahnya sebagai berikut:

1.

Open project MyOop

2.

Buat paket baru dengan nama latihan2, dengan cara klik kanan Source packages > New

> Java Pakcage

3.

Di dalam paket latihan2 klik kanan > New > Java Class kemudian beri nama Mahasiswa.

Ulangi dengan cara yang sama untuk membuat klas Matakuliah. Untuk simulasi buat

satu klas lagi dengan nama klas Main.

4.

Lengkapi klas Mahasiswa hingga seperti di bawah ini

package latihan2;

public class Mahasiswa { private String nim, nama; private Matakuliah mk; public Mahasiswa() { }

public Mahasiswa(String nim, String nama, Matakuliah mk) { this.nim = nim;

this.nama = nama; this.mk = mk; }

public Matakuliah getMk() { return mk;

}

public void setMk(Matakuliah mk) { this.mk = mk;

}

public String getNama() { return nama;

}

public void setNama(String nama) { this.nama = nama;

}

public String getNim() { return nim;

}

public void setNim(String nim) { this.nim = nim;

(4)

public void tampil(){ System.out.println("---:"); System.out.println("Data Mahasiswa :"); System.out.println("---:"); System.out.println("Nim :"+this.nim); System.out.println("Nama :"+this.nama); this.mk.tampil(); } }

5.

Lengkapi klas Matakuliah hingga seperti di bawah ini

package latihan2;

public class Matakuliah { private String kode, nama; private int sks;

public Matakuliah() { }

public Matakuliah(String kode, String nama, int sks) { this.kode = kode;

this.nama = nama; this.sks = sks; }

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;

}

public void tampil(){

System.out.println("---:"); System.out.println("Data makuliah :"); System.out.println("---:");

(5)

System.out.println("Kode Mata Kuliah :"+this.kode); System.out.println("Nama Mata Kuliah :"+this.nama); System.out.println("Jumla SKS Mata Kuliah :"+this.sks); }

}

6.

Lengkapi klas Main hingga seperti di bawah ini

package latihan2; public class Main {

public static void main(String[] argv){ Matakuliah mk1 = new Matakuliah(); mk1.setKode("mk01");

mk1.setNama("OOP"); mk1.setSks(3);

Mahasiswa mhs1 = new Mahasiswa(); mhs1.setNim("mhs01");

mhs1.setNama("Imam"); mhs1.setMk(mk1); mhs1.tampil();

//---// Matakuliah mk2 = new Matakuliah("mk02", "Web", 2); Mahasiswa mhs2 = new Mahasiswa("mhs02", "Rozi", mk2); mhs2.tampil();

} }

7.

Hasil keluaran ketika klas Main di run adalah

run: ---: Data Mahasiswa : ---: Nim :mhs01 Nama :Imam ---: Data makuliah : ---: Kode Mata Kuliah :mk01 Nama Mata Kuliah :OOP Jumla SKS Mata Kuliah :3 ---: Data Mahasiswa : ---: Nim :mhs02 Nama :Rozi ---: Data makuliah : ---: Kode Mata Kuliah :mk02

(6)

Nama Mata Kuliah :Web Jumla SKS Mata Kuliah :2

BUILD SUCCESSFUL (total time: 0 seconds)

Pada kenyataannya seorang mahasiswa tidak hanya memiliki sebuah matakuliah, akantetapi

bisa banyak.atau lebih dari satu matakuliah. Sehingga kalau kita sesuaikan dengan requirement

ini, atribut mk dari klas Mahasiswa tipe data reference nya harus diubah dari semula yang

Matakuliah menjadi Matakuliah [ ] atau Matakuliah Array. Untuk mensimulasikannya, kita buat

klas

baru

di

dalam

peket

latihan3.

Langkahnya

adalah

sebagaiberikut:

Buka kembali project MyOop

1.

Buat paket latihan3

2.

Di dalam paket lathan3, buat kembali klas Mahasiswa, Matakuliah dan Main

3.

Lengkapi klas Mahasiswa hingga seperti berikut

package latihan3;

public class Mahasiswa { private String nim, nama; private Matakuliah[] mk; public Mahasiswa() { }

public Mahasiswa(String nim, String nama, Matakuliah[] mk) { this.nim = nim;

this.nama = nama; this.mk = mk; }

public Matakuliah[] getMk() { return mk;

}

public void setMk(Matakuliah[] mk) { this.mk = mk;

}

public String getNama() { return nama;

}

public void setNama(String nama) { this.nama = nama;

(7)

public String getNim() { return nim;

}

public void setNim(String nim) { this.nim = nim;

}

public void tampil(){

System.out.println("---:"); System.out.println("Data Mahasiswa :"); System.out.println("---:"); System.out.println("Nim :"+this.nim); System.out.println("Nama :"+this.nama); System.out.println("Daftar Matakuliah :"); System.out.println("---"); for(int i=0;i<this.mk.length;i++){ this.mk[i].tampil(); } } }

4.

Lengkapi klas Matakuliah hingga seperti berikut

package latihan3;

public class Matakuliah { private String kode, nama; private int sks;

public Matakuliah() { }

public Matakuliah(String kode, String nama, int sks) { this.kode = kode;

this.nama = nama; this.sks = sks; }

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;

}

(8)

return sks; }

public void setSks(int sks) { this.sks = sks;

}

public void tampil(){

System.out.println("Kode Mata Kuliah :"+this.kode); System.out.println("Nama Mata Kuliah :"+this.nama); System.out.println("Jumla SKS Mata Kuliah :"+this.sks); }

}

5.

Lengkapi klas Main

package latihan3; public class Main {

public static void main(String[] argv){ Matakuliah mk1 = new Matakuliah(); mk1.setKode("mk01");

mk1.setNama("OOP"); mk1.setSks(3);

Matakuliah mk2 = new Matakuliah(); mk2.setKode("mk02");

mk2.setNama("Web"); mk2.setSks(2);

Matakuliah[] mkArr = {mk1,mk2}; Mahasiswa mhs1 = new Mahasiswa(); mhs1.setNim("mhs01"); mhs1.setNama("Imam"); mhs1.setMk(mkArr); mhs1.tampil(); //**********************************************************// System.out.println("********************************************* *************"); //**********************************************************// Matakuliah mk3 = new Matakuliah("mk03", "Sistem Operasi", 2); Matakuliah mk4 = new Matakuliah("mk04", "Struktur Data", 2); Matakuliah[] mkArr1 = {mk3,mk4};

Mahasiswa mhs2 = new Mahasiswa("mhs02", "Rozi", mkArr1); mhs2.tampil();

} }

6.

Setelah klas Main dijalankan, hasilnya adalah:

run:

(9)

Data Mahasiswa : ---: Nim :mhs01 Nama :Imam Daftar Matakuliah : --- Kode Mata Kuliah :mk01 Nama Mata Kuliah :OOP Jumla SKS Mata Kuliah :3 Kode Mata Kuliah :mk02 Nama Mata Kuliah :Web Jumla SKS Mata Kuliah :2

********************************************************** ---: Data Mahasiswa : ---: Nim :mhs02 Nama :Rozi Daftar Matakuliah : --- Kode Mata Kuliah :mk03

Nama Mata Kuliah :Sistem Operasi Jumla SKS Mata Kuliah :2

Kode Mata Kuliah :mk04

Nama Mata Kuliah :Struktur Data Jumla SKS Mata Kuliah :2

Referensi

Dokumen terkait

Bidang dan Kegiatan Usaha Bergerak dalam bidang usaha Perbankan dan Jasa Keuangan Jumlah Saham yang ditawarkan 2.045.948.598 Saham Kelas B baru dengan nilai nominal. Rp

Hal ini dapat memberikan dampak positif dan negatif bagi bangsa indonesia,jika kita dapat memfilter dengan baik berbagai hal yang timbul dari dampak globalisasi tentunya

Islam. Zakiyah Daradjat berpendapat bahwa landasan pendidikan Islam adalah Alqur’an .Al-Sunnah dan Ijtihad. menurut Zakiyah Daradjat tujuan dasar. pendidikan Islam adalah

KK majemuk dalam BM tidak ditemui, haik endosentrik mau- pun eksosentrik, Namun dalam perkembangan pemakaian BM dewasa ini akibat pengaruh Gahasa Indonesia atau

Quá trình từ ngày đầu tiên cầm bộ Thủ, là cái gốc, cái căn nguyên nhất của chữ Hán cho đến ngày mình hoàn thành chữ cuối cùng trong tập tài liệu, tất cả chỉ

Perbaikan dilaksanakan berdasarkan SOP (Standard Operation Procedures), undang-undang K3 (Keselamatan dan Kesehatan Kerja), peraturan perundang- undangan dan

karena tempat ini merupakan lalu lintas yang paling sering dilewati oleh wisatawan untuk menuju ke hotel tempat mereka menginap di kawasan Nusa Dua. Dalam penelitian

¾ò Ю±¹®¿³ Ô¿¬·¸¿² òòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòòò êè ½ò л®·±¼·-¿-·