SOLUSI LATIHAN OOP CLIENT-SUPPLIER CLIENTCS 3212 Pemrograman Orientasi Objek Semester Ganjil 2007/2008

Requirements
‡ Create KRS 
Create KRS kosong, inisialisasi data tahun akademik dan semester (ganjil, genap).

‡ Add KRS 
Menambah data KRS dengan n objek yang diciptakan dari kelas Mahasiswa dan Kuliah.

‡ Cari KRS 
Menampilkan data KRS untuk mahasiswa dengan NIM tertentu yang dibaca dari keyboard.

‡ Display KRS 
Menampilkan semua data KRS.
2

Use CaseUse Case Diagram Diagram
Create KRS <<include>>

<<include>> Olah KRS <<include>>

Add KRS

Pemakai

Cari KRS

<<include>> Display KRS

3

Skenario

‡ Tampilkan menu pengolahan KRS. ‡ Pilih menu. ‡ Untuk pilihan menu: 
   Create KRS maka <<include>> Create KRS. Tambah KRS maka <<include>> Add KRS. Cari KRS maka <<include>> Cari KRS. Display KRS maka <<include>> Display KRS.

4

Skenario - Create KRS

‡ Inisialisasi data tahun akademik. ‡ Inisialisasi data semester (ganjil,
genap).

‡ Alokasi array Mahasiswa. ‡ Inisialisasi pointer yang menunjukkan
jumlah mahasiswa pada KRS.

5

Skenario - Add KRS

‡ Ciptakan objek mahasiswa. ‡ Ciptakan objek kuliah. ‡ Tambahkan objek kuliah ke array Kuliah
yang menjadi atribut kelas Mahasiswa.

‡ Set nilai pointer yang menunjukkan
jumlah kuliah yang diambil mahasiswa.

6

Skenario - Search KRS

‡ Baca NIM mahasiswa yang akan dicari
KRSnya.

‡ Cari KRS berdasarkan NIM yang sudah
dibaca pada array Mahasiswa.

‡ Jika ketemu, maka tampilkan datanya: 
Identitas mahasiswa: NIM, Nama  Mata kuliah yang diambil

Jika tidak, tulis pesan.
7

Skenario - Display KRS

‡ Tampilkan identitas KRS: 
tahun akademik  semester

‡ Tampilkan semua data KRS sesuai jumlah
mahasiswa yang ada: 
Identitas mahasiswa: NIM, Nama  Mata kuliah yang diambil

8

Sequence Diagram ( Gabungan )
:DriverKRS :KRS :Mahasiswa :Kuliah

k= cr

=

k=

c ri

S() S()

dis l y

g t IM()

§¥§ ¡

g t

g tSKS()

¡  ¡

g t

£

¡

¨§

dis l yKuli

§¥ §  ¡

g t

¨§ ©

dd

li

(k)

() () d () MK()

¨§ © ¢¡  £

§ ¢ §¨§ 

¡

¡ ¦¢  

k i (d ri s c s )

£

§

§

¥

¤ § £ ¤ ¡ §¡ £ ¤ ¢¡  £
t dd

¤ § £ ¤ § £

  §¥ ¡§ ¡© § § §¥¡

i ()

S()

S() sis () li ()

S()

9

Class Diagram
DriverKRS KRS i t T un st r String S cr t KRS(t , s ) * v id ddKRS() int c riKRS() v id dis l yKRS() 1 Mahasiswa String IM String

olah void main() 1

Mahasis a() * String g t IM() String g t ama() v id addKuliah(klh) v id dis layKuliah()

ci takan

*

String Kod String amaMK int SKS Kuliah() String g tKod () String g t amaMK() int g tSKS() 

" ! !
*

Kuliah 

! !

! 

!

#  



# 

 

   

     

10

Rancangan Struktur Data Logis
Kuliah Mahasis a
0

NIM Nama

1 n-1

KRS
0 jmlMhs

Mahasis a
0

2 3 NIM Nama

1 n-1

n-1 Mahasis a array of Mahasiswa (atribut kelas KRS)
0

NIM Nama

1 n-1

$

1

$ $

jmKlh ... Kuliah

Kuliah ...

Kuliah

array of Kuliah ... Kuliah

11

Kode Program

‡ ‡ ‡ ‡

DriverKRS.java KRS.java Mahasiswa.java Kuliah.java

12

Hasil Eksekusi - Tampilan Menu Contoh Hasil Display KRS

13

Hasil Eksekusi Display KRS Contoh Hasil - Display KRS

14

Hasil EksekusiDisplay KRS Contoh Hasil - Search KRS

15

Contoh Hasil Display KRS Gimana ?
Wah, tugasnya banyak salah neh Pak... Minta tugasnya lagi dung!!!

1

5

2

3

4

16

Pengembangan Kasus
‡ Create KRS 
Create KRS kosong, inisialisasi data tahun akademik dan semester (ganjil, genap) yang datanya dibaca dari keyboard.

‡ Add KRS 
Menambah data KRS dengan n objek yang diciptakan dari kelas Mahasiswa dan Kuliah yang datanya dibaca dari keyboard.

‡ Cari KRS 
Menampilkan data KRS untuk mahasiswa dengan NIM tertentu yang dibaca dari keyboard.

‡ Display KRS 
Menampilkan semua data KRS.
17

Contoh Hasil Eksekusi - Create KRS

18

Contoh Hasil Eksekusi - Add KRS

19

Kode Program ( Extend )

‡ DriverKRS.java (tetap) ‡ KRS.java
Modifikasi method createKRS() dan addKRS()

‡ Mahasiswa.java (tetap) ‡ Kuliah.java (tetap)

20

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.