(6) jobsheet relasi class - ifrozi.files.wordpress.com · 1. mengapaatributmk!dari!class! ......
TRANSCRIPT
Jobsheet Praktikum OOP (v1.0)
Imam Fahrur Rozi, PSMI -‐ Polinema
6 – Relasi Class
PENDAHULUAN
Pada kenyataannya dalam mengembangkan suatu sistem, antara class yang satu dengan class yang lain akan saling memiliki relasi. Sebagai ilustrasi antara class Laptop dan class Processor. Dua class tersebut tidak berdiri sendiri, melainkan memiliki relasi. Relasi tersebut menggambarkan bahwa Laptop di dalamnya memiliki Processor.
Di dalam class Laptop terdapat satu atribut yaitu proc dimana atribut tersebut merupakan objek dari class Processor. Hal ini menandakan bahwa class Laptop memiliki atribut atau komponen berupa Processor.
Laptop
+ merk : String + proc : Processor + Laptop() + Laptop(me: String; pr: Processor) + tampilData(): void
Processor
+ merk : String + cache: double + clock: double + Processor() + Processor (me: String; ca: double; cl: double) + tampilData(): void
Jobsheet Praktikum OOP (v1.0)
Imam Fahrur Rozi, PSMI -‐ Polinema
PERCOBAAN 1 : RELASI CLASS Tujuan:
1. Mahasiswa memahami konsep implementasi hubungan antar class
Prosedur Percobaan:
1. Perhatikan class diagram di bawah ini:
2. Buat program dari class Processor, dan simpan dengan nama file Processor.java
Laptop
+ merk : String + proc : Processor + Laptop() + Laptop(me: String; pr: Processor) + tampilData(): void
Processor
+ merk : String + cache: double + clock: double + Processor() + Processor (me: String; ca: double; cl: double) + tampilData(): void
Jobsheet Praktikum OOP (v1.0)
Imam Fahrur Rozi, PSMI -‐ Polinema
3. Buat program dari class Laptop, dan simpan dengan nama file Laptop.java
Jobsheet Praktikum OOP (v1.0)
Imam Fahrur Rozi, PSMI -‐ Polinema
4. Buat class Main dan simpan dengan nama file Main.java. Di dalam class Main ini akan dibuat method main.
5. Compile dan jalankan class Main.java! Amati hasilnya!
Jobsheet Praktikum OOP (v1.0)
Imam Fahrur Rozi, PSMI -‐ Polinema
Pertanyaan:
1. Dari program pada percobaan di atas, apakah yang menunjukan bahwa antara class Laptop dan class Processor memiliki relasi? ………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………
2. Berikan penjelasan tentang atribut Processor proc yang dimiliki oleh class Laptop! ………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………
3. Perhatikan method tampilData() yang ada di dalam class Laptop. Di dalam method tersebut terdapat sintaks proc.tampilData(). Apakah gunanya sintaks tersebut?
………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………..
4. Perhatikan method main() yang ada di dalam class Main. Pada saat instansiasi objek l dari class Laptop, disitu dilewatkan objek p pada parameter konstruktornya. Untuk apakah proses tersebut? Laptop l = new Laptop("Toshiba", p);
………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………
Jobsheet Praktikum OOP (v1.0)
Imam Fahrur Rozi, PSMI -‐ Polinema
………………………………………………………………………………………………………………………………………… 5. Perhatikan kembali method main() yang ada di dalam class Main. Pada saat instansiasi
objek l1 dari class Laptop, dilakukan dengan sintaks berikut Laptop l1 = new Laptop("HP", new Processor("AMD Turion", 2.2, 1.6)); Untuk apakah proses new Processor("AMD Turion", 2.2, 1.6) disitu dilakukan?
………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………
Jobsheet Praktikum OOP (v1.0)
Imam Fahrur Rozi, PSMI -‐ Polinema
PERCOBAAN 2 : RELASI CLASS YANG MELIBATKAN ARRAY
Tujuan:
1. Mahasiswa memahami implementasi relasi class, dimana satu objek dari suatu class memiliki relasi dengan banyak objek dari class yang lain
Prosedur Percobaan:
1. Perhatikan diagram class di bawah ini!
Pada diagram class di tersebut, atribut mk merupakan array dari class Matakuliah. Artinya tiap objek dari class Mahasiswa bisa memiliki banyak Matakuliah.
2. Buat program dari class Matakuliah, dan simpan dengan nama file Matakuliah.java
Mahasiswa
+ namaMhs : String + mk : Matakuliah [ ] + Mahasiswa() + Mahasiswa(nm: String; kul: Matakuliah [ ] ) + tampilData(): void
Matakuliah
+ namaMk : String + sks: int
+ Matakuliah() + Matakuliah (na: String; sk: int) + tampilData(): void
Jobsheet Praktikum OOP (v1.0)
Imam Fahrur Rozi, PSMI -‐ Polinema
3. Buat program dari class Mahasiswa, dan simpan dengan nama file Mahasiswa.java
Jobsheet Praktikum OOP (v1.0)
Imam Fahrur Rozi, PSMI -‐ Polinema
4. Buat class RelasiMahasiswaMain dan simpan dengan nama file RelasiMahasiswaMain.java. Di dalam class RelasiMahasiswaMain ini akan dibuat method main.
Jobsheet Praktikum OOP (v1.0)
Imam Fahrur Rozi, PSMI -‐ Polinema
5. Compile dan jalankan class RelasiMahasiswaMain.java! Amati hasilnya!
Pertanyaan:
1. Mengapa atribut mk dari class Mahasiswa dibuat array ? ………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………
2. Perhatikan method tampilData() yang ada di daam class Mahasiswa! Mengapa di daam method tersebut digunakan perulangan (for) untuk memanggil method tampilData() dari atribut mk? ………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………
3. Perhatikan pada method main() dari class RelasiMahasiswaMain tersebut, untuk apakah proses Matakuliah mkArr[] = {mk1, mk2, mk3}; dilakukan? ………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………..
4. Perhatikan kembali method main() dari class RelasiMahasiswaMain tersebut. Mengapa pada saat membuat objek mhs dilewatkan mkArr pada konstruktornya Mahasiswa mhs = new Mahasiswa("Raisa", mkArr);? ………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………
Jobsheet Praktikum OOP (v1.0)
Imam Fahrur Rozi, PSMI -‐ Polinema
LATIHAN
Buatlah program dari Class Diagram di bawah ini!
.
Catatan:
Total Biaya Pasien = Tarif Dokter + Harga Obat
Dokter
+ namaDr : String + tarifDr : int + Dokter() + Dokter(nm: String; tr: int) + tampilData(): void
Pasien
+ namaPasien : String + dr: Dokter + ob: Obat
+ Pasien() + Pasien (na: String; d: Dokter; o: Obat) + hitungTotalBiaya(): int + tampilData(): void
Obat
+ namaObat: String + harga: int
+ Obat()
+ Obat(nm: String; har: int) + tampilData(): void
Jobsheet Praktikum OOP (v1.0)
Imam Fahrur Rozi, PSMI -‐ Polinema
Catatan: Nilai Total Mahasiswa = (Nilai MK1 * SKS MK1)+ (Nilai MK2 * SKS MK2) + (Nilai MK3 * SKS MK3) SKS MK1 + SKS MK2 + SKS MK3
Mahasiswa
+ namaMhs : String + mk : Matakuliah [ ] + Mahasiswa() + Mahasiswa(nm: String; kul: Matakuliah [ ] ) + tampilData(): void + hitungNilaiTotal(): double
Matakuliah
+ namaMk : String + sks: int + nilai: int + dsn: Dosen + Matakuliah() + Matakuliah (na: String; sk: int; nil: int; do: Dosen) + tampilData(): void
Dosen
+ namaDosen: String
+ Dosen() + Dosen (na: String) + tampilData(): void