Overview
Pada bab ini berisi penjelasan mengenai diagram kelas dan desain obj ek.
Diagram tersebut digunakan untuk menggambarkan kelas -kelas yang akan
digunakan pada sistem informasi. Pada bab ini, studi kasus yang digunakan
sama seperti bab sebelumnya yaitu sistem informasi perpustakaan. Studi
kasus tersebut juga akan digunakan pad a bab-bab selanjutnya untuk
memberikan gambaran menyeluruh mengenai desain sistem informasi
dengan pemodelan menggunakan UML.
Tujuan
Johni S Pasaribu
PIKSI Analisis dan Desain Sistem Informasi
Diagram kelas atau class diagram menggambarkan struktur sistem dari segi
pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas
memiliki apa yang disebut atribut dan metode atau operasi.
atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas
o atribut mendeskripsikan properti dengan sebaris teks di
dalam kotak kelas tersebut.
operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu
kelas
Diagram kelas mendeskripsikan jenis-jenis objek dalam sistem dan berbagai
hubungan statis yang terdapat di antara mereka. Diagram kelas juga
menunjukkan properti dan operasi sebuah kelas dan batasan-batasan yan g
terdapat dalam hubungan-hubungan objek tersebut.
Johni S Pasaribu
tidak berguna. Tetapi ketika akan menelusuri transaksi penjualan
TV, maka kita butuh nomor seri dari TV yang terjual.
6.1.2 Atribut
Atribut adalah karakteristik data yang dimiliki suatu objek dalam kelas.
Notasi dari atribut :
visibility name: type multiplicity = default {property-string}
Contoh :
- name: String [1] = "Untitled" {readOnly}
+ berarti public, - berarti private, # berarti protected
“Untitled” adalah nilai yang diberikan secara default jika tidak ditentukan saat
objek dibuat
{readOnly} adalah properti tambahan dari atribut, dimana disini berarti tidak
bisa dimodifikasi
6.1.3 Operasi
Operasi adalah fungsi atau transformasi yang mungkin dapat diaplikasikan
ke/oleh suatu objek dalam kelas. Misalnya, suatu objek dalam kelas manusia
mungkin memiliki fungsi-fungsi tersenyum, marah, makan, minum, menerima
perlakuan tertentu, dan sebagainya.
Notasi dari operations
visibility name (parameter-list) : return-type {property-string}
dimana :
Parameter pada parameter-list dinotasikan seperti pada atribut
direction name: type = default value
Direction bisa berupa: in, out, atau inout
Contoh :
+ balanceOn (date: Date) : Money
Simbol Deskripsi
packag package merupakan sebuah
e bungkusan dari satu atau lebih kelas
package
nama_kelas
+atribut
+operasi()
nama_interface
panah relasi pada diagram kelas mengarah pada diagram kelas yang lebih besar kontrolnya atau yang dip
Kelas-kelas yang ada pada struktur sistem harus dapat melakukan fungsi-fungsi
sesuai dengan kebutuhan sistem. Susunan struktur kelas yang baik pada
diagram kelas sebaiknya memiliki jenis-jenis kelas berikut:
Kelas main
Kelas yang memiliki fungsi awal dieksekusi ketika sistem dijalankan.
Kelas yang menangani tampilan sistem
Kelas yang mendefinisikan dan mengatur tampilan ke
pemakai Kelas yang diambil dari pendefinisian use case
Kelas yang menangani fungsi-fungsi yang harus ada diambil dari
pendefinisian use case
Kelas yang diambil dari pendefinisian data
Kelas yang digunakan untuk memegang atau membungkus data
menjadi sebuah kesatuan yang diambil maupun akan disimpan ke
basis data.
Jenis-jenis kelas di atas juga dapat digabungkan satu sama lain sesuai dengan
pertimbangan yang dianggap baik asalkan fungsi-fungsi yang sebaiknya ada pada
struktur kelas tetap ada. Susunan kelas juga dapat ditambahkan kelas utilitas
seperti Koneksi ke basis data, membaca file teks, dan lain sebagainya sesuai
kebutuhan.
6.3.2 Agregasi
Agregasi adalah hubungan „bagian dari‟ atau „bagian ke keselulruhan‟. Suatu
kelas / objek mungkin memiliki/bisa dibagi menjadi kelas/objek tertentu
dimana objek/kelas yang disebut kemudian merupakan bagian dari
kelas/objek yang terdahulu.
6.3.3 Generalisasi
Generalisasi adalah relasi ke atas beberapa subkelas kepada super kelas
diatasnya (ditunjukkan dengan notasi segitiga). Sub kelas mewarisi fitur dari
super kelasnya. Sub kelas mampu overriding metode super kelasnya.
Main TPustaka
+id
+main() +judul
+uiLogin() +jenis
+uiMenu() +jumlah
+uiMengelolaPustaka() +tahun
+uiMengelolaAnggota() +pengarang
+uiMengelolaPeminjaman()
MengelolaPustaka
1 +setId()
1 +getId()
1 +cariPustakaById()
1 +setJudul()
+cariPustakaByJudul() 1 .* +getJudul()
+cariPustakaByJenis() +setJenis()
+cariPustakaByPengarang() +getJenis()
+memasukkanPustaka() +setJumlah()
+ubahPustaka() +getJumlah()
1 +setTahun()
+hapusPustaka()
1 +getTahun()
1 +setPengarang()
1
Login +getPengarang()
1..*
+validasiLogin()
+logout()
1 1 TAnggota
1 MengelolaAnggota +id
1 +nama
+cariAnggotaByNama() +alamat
+cariAnggotaById() +telepon
+memasukkanAnggota() +setId()
1..* +mengubahAnggota() 1 1..* +getId()
+menghapusAnggota() +setNama()
KoneksiBasisData 1
1..* +getNama()
+host +setAlamat()
+database +getAlamat()
+username 1.. *+setTelepon()
+password +getTelepon()
+membukaKoneksi() TPeminjaman
+eksekusiQuerySelect()
+eksekusiQueryUpdate() +id
+tutupKoneksi() 1..* +tgl_peminjaman
1 1
11 +id_anggota
MengelolaPeminjaman +id_pustaka
+tgl_kembali
+memasukkanPeminjaman() +setId()
+mencariPeminjaman() +getId()
1 1..*
+ubahPeminjaman() +setTglPeminjaman()
+getTglPeminjaman()
+setIdAnggota()
+getIdAnggota()
+setIdPustaka()
+getIdPustaka()
+setTglKembali()
+getTglKembali()
Diagram objek menggambarkan struktur sistem dari segi penamaan objek dan
jalannya objek dalam sistem. Pada diagram objek harus dipastikan semua kelas
yang sudah didefinisikan pada diagram kelas harus dipakai objeknya, karena
jika tidak, pendefinisian kelas itu tidak dapat dipertanggungjawabkan.
Simbol Deskripsi
Objek objek dari kelas yang berjalan saat
sistem dijalankan
nama_objek : nama_kelas
atribut = nilai
p : TPustaka
id = "000000001"
main : Main judul = "Rekayasa Perangkat Lunak" jenis = "Buku Teks"
mp : MengelolaPustaka jumlah = 3
tahun = 1999
pengarang = {"Burhanudin S.", "Paparozi"}
ma : MengelolaAnggota
login : Login
mpinjam : MengelolaPeminjaman
db : KoneksiBasisData
a : TAnggota
host = "localhost" database = "perpustakaan" username = "root" password = "root"
id = "000000001"
nama = "Tina"
alamat = "Jl. Teladan no. 13 Bandung" email = ""
telepon = {"0812001356", "02256789"}
pinjam : TPeminjaman
id = "0000000001"
tgl_peminjaman = "2008-07-13"
id_anggota = "000000001"
id_pustaka = {"000000001", "0000000002"}
tgl_kembali = {"1900-01-01", "2008-07-20"}
Johni S Pasaribu
Latihan
1. Basic
a. Apakah kegunaan diagram kelas dan diagram objek pada
analisis dan desain sistem informasi?
b. Apakah yang dimaksud dengan dependency, aggregation, dan
association pada diagram kelas?
c. Jenis kelas apa saja yang sebaiknya ada pada suatu
sistem informasi?
2. Advanced
Buatlah diagram kelas untuk sistem informasi apotek!