Anda di halaman 1dari 18

PIKSI Analisis dan Desain Sistem Informasi

6 Diagram Kelas dan Diagram Object

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

1. Mahasiswa memahami tujuan penggunaan desain kelas dan desain objek.


2. Mahasiswa memahami bagaimana membuat desain ke las yang baik.
3. Mahasiswa mampu membuat desain kelas untuk sebuah sistem
informasi yang sederhana.

88 Diagram Kelas dan Diagram Objek

Johni S Pasaribu
PIKSI Analisis dan Desain Sistem Informasi

6.1 Pengertian Diagram Kelas

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.

Diagram kelas menggambarkan struktur dan deskripsi class, package dan


objek beserta hubungan satu sama lain seperti containment, pewarisan,
asosiasi, dan lain-lain.
Kelas memiliki tiga area pokok :
1. Nama
2. Atribut
3. Operasi

Contoh kelas : Manusia


Atribut: nama, usia, tanggal lahir
Method/Operasi: berjalan, makan, minum

6.1.1 Abstraksi Kelas

Abstraksi adalah menemukan hal-hal mendasar pada suatu objek dan


mengabaikan hal-hal yang sifatnya insidental. Objek adalah instansiasi
(contoh) dari sebuah kelas. Abstraksi bertujuan untuk menyaring
properties dan operasi pada suatu objek, sehingga hanya tinggal yang
dibutuhkan saja. Seringkali masalah yang berbeda membutuhkan sejumlah
informasi yang berbeda pula pada area yang sama. Sebagai contoh, ketika
kita akan membuat program untuk mengatur suatu pada objek TV dan
perubahan channel, mungkin atribut no-seri TV harus dibuang karena

Diagram Kelas dan Diagram Objek 89

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

6.1.4 Multiplisitas / Multiplicity

Multiplisitas menunjukkan jumlah suatu objek yang bisa berhubungan dengan


objek yang lain. Umumnya ditunjukkan dengan berapa banyak objek yang bisa
mengisi properti “satu” atau “banyak”, tetapi secara khusus dapat ditunjukkan
pula dengan bilangan integer lebih besar atau sama dengan nol.
1 (pasti 1)
90 Diagram Kelas dan Diagram Objek
0..1 (0 atau 1)
(Tidak ada batasan, bisa 0, 1, ..., n)
Biasanya didefinisikan batas bawah dan atas, kecuali untuk yang pasti
bernilai 1

Berikut adalah simbol-simbol yang ada pada diagram kelas:

Simbol Deskripsi
packag package merupakan sebuah
e bungkusan dari satu atau lebih kelas

package

kelas kelas pada struktur sistem

nama_kelas

+atribut

+operasi()

antarmuka / interface sama dengan konsep interface dalam


pemrograman berorientasi objek

nama_interface

asosiasi / association relasi antar kelas dengan makna


umum, asosiasi biasanya juga disertai
dengan multiplicity
asosiasi berarah / directed association relasi antar kelas dengan makna
kelas yang satu digunakan oleh kelas
yang lain, asosiasi biasanya jug a
disertai dengan multiplicity

generalisasi relasi antar kelas dengan makna


generalisasi-spesialisasi (umum
khusus)
kebergantungan / dependency relasi antar kelas dengan makna

Diagram Kelas dan Diagram Objek 91


Simbol Deskripsi
kebergantungan antar kelas

agregasi / aggregation relasi antar kelas dengan makna


semua-bagian (whole-part)

panah relasi pada diagram kelas mengarah pada diagram kelas yang lebih besar kontrolnya atau yang dip

Contoh diagram kelas :

Gambar 1. Contoh Diagram Kelas

6.2 Pendefinisian Kelas pada Diagram Kelas

Kelas/Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan


sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi
objek.

92 Diagram Kelas dan Diagram Objek


Kelas menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus
menawarkan layanan untuk memanipulasi keadaan tersebut
(layanan/metoda/fungsi).

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.

Dalam mendefinisikan metode yang ada di dalam kelas perlu memperhatikan


apa yang disebut dengan cohesion dan coupling. Cohesion adalah ukuran
seberapa dekat keterkaitan instruksi di dalam sebuah metode terkait satu
sama lain sedangkan coupling adalah ukuran seberapa dekat keterkaitan
instruksi antara metode yang satu dengan metode yang lain dalam sebuah
kelas. Sebagai aturan secara umum maka sebuah metode yang dibuat harus
memiliki kadar cohesion yang kuat dan kadar coupling yang lemah.

6.3 Relasi antar Kelas


Relasi antar adalah keterkaitan hubungan antar kelas secara konseptual.
UML menyediakan beberapa relasi antar kelas yang akan dijelaskan berikut
ini.
Diagram Kelas dan Diagram Objek 93
6.3.1 Asosiasi

Asosiasi, yaitu hubungan statis antar kelas. Umumnya menggambarkan class


yang memiliki atribut berupa kelas lain, atau class yang harus mengetahui
eksistensi class lain. Panah navigability menunjukkan arah query antar kelas.
Menggambarkan hubungan antar kelas
Ditandai dengan anak panah
Seringkali ditambahkan label dan multiplicity untuk memperjelas
hubungan
Contoh asosiasi :

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.

94 Diagram Kelas dan Diagram Objek


6.3.4 Dependency
Dependency adalah hubungan dimana perubahan pada suatu kelas akan
mempengaruhi kelas yang lain dimana kelas yang terakhir ini bergantung
pada kelas yang sebelumnya. Dalam Dependency antar 2 elemen jika
terjadi perubahan pada salah satu elemen maka akan mengakibatkan
perubahan
pada elemen yang lain.
Semakin kompleks sistem, maka dependency menjadi sesuatu yang harus
dipertimbangkan.
Dependency hanya berlaku satu arah. Bisa diperjelas dengan penggunaan
keyword, seperti <<parameter>>, <<use>>, <<call>>
Notasi anak panah dan garis putus-putus.
Diagram Kelas dan Diagram Objek 95
6.4 USE CASE SISTEM INFORMASI MANAJEMEN
PERPUSTAKAAN

Sistem Informasi Manajemen Perpustakaan merupakan sebuah sistem


informasi untuk mengelola informasi yang diperlukan dalam suatu
perpustakaan yang meliputi pendaftaran pustaka, anggota, dan proses
peminjaman pustaka.  Aturan perpustakaan yang harus diatasi pada
sistem informasi manajemen perpustakaan yang akan dimodelkan
sebagai berikut:

1.     Pustaka dapat memiliki lebih dari satu pengarang


2.     Anggota dapat memiliki lebih dari satu nomor telepon
3.     Seorang anggota dapat melakukan sebuah peminjaman dalam
satu waktu dan boleh lebih dari satu pustaka
4.     Seorang anggota dapat mengembalikan sebuah peminjaman
pustaka yang dipinjam tidak dalam waktu yang bersamaan
walaupun pustaka-pustaka itu dipinjam pada waktu yang sama
5.     Pengunjung yang bukan anggota tidak diperbolehkan meminjam
pustaka
6.     Proses pendaftaran pustaka, anggota, dan peminjaman
dilakukan oleh petugas perpustakaan
7.     Anggota dan pengunjung dapat melakukan pencarian pustaka
Gambar 2. Use Case Diagram Studi Kasus
6.5 Studi Kasus Diagram Kelas
Studi kasus diambil dari sistem informasi manajemen perpustakaan seperti
pada bab-bab sebelumnya. Berikut adalah diagram kelas dari sistem informasi
manajemen perpustakaan:

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()

Gambar 3. Diagram Kelas Studi Kasus

96 Diagram Kelas dan Diagram Objek


Keterangan:

Nama Kelas Keterangan


Main merupakan kelas main yang juga
merangkap sebagai kelas yang
menangangi tampilan
Login merupakan kelas proses yang
diambil dari pendefinisian use case
Login
MengelolaPustaka merupakan kelas proses yang
diambil dari pendefinisian use case
Mengelola Pustaka yang di dalamnya
harus juga menangani proses
memasukkan data pustaka,
mengubah data pustaka, dan
menghapus data pustaka
MengelolaAnggota merupakan kelas proses yang
diambil dari pendefinisian use case
Mengelola Anggota yang di dalamnya
harus juga menangani proses
memasukkan data anggota ,
mengubah data anggota, dan
menghapus data anggota
MengelolaPeminjaman merupakan kelas proses yang
diambil dari pendefinisian use case
Mengelola Peminjaman yang di
dalamnya harus juga menangani
proses memasukkan data
peminjaman dan mengubah data
peminjaman
TPustaka merupakan kelas data yang
digunakan untuk membungkus hasil
data dari tabel TPustaka dan
TPengarang
TAnggota merupakan kelas data yang
digunakan untuk membungkus hasil
data dari tabel TAnggota dan
TTelepon
TPeminjaman merupakan kelas data yang

Diagram Kelas dan Diagram Objek 97


Nama Kelas Keterangan
digunakan untuk membungkus hasil
data dari tabel TPustakaPinjam dan
TPeminjaman
KoneksiBasisData merupakan kelas utilitas untuk
koneksi ke basis data dan melakukan
query

6.6 Pengertian Diagram Objek

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.

Untuk apa mendefinisikan sebuah kelas sedangkan pada jalannya sistem,


objeknya tidak pernah dipakai. Hubungan link pada diagram objek merupakan
hubungan memakai dan dipakai dimana dua buah objek akan dihubungkan
oleh link jika ada objek yang dipakai oleh objek lainnya.

Sebuah diagram objek merupakan gambaran objek-objek dalam sebuah


sistem pada satu titik waktu. Karena lebih menonjolkan perintah-perintah
daripada kelas. Diagram objek sering disebut juga sebagai sebuah diagram
perintah. Elemen-elemen sebuah diagram objek adalah spesifikasi perintah.

Berikut adalah simbol-simbol yang ada pada diagram objek:

Simbol Deskripsi
Objek objek dari kelas yang berjalan saat
sistem dijalankan
nama_objek : nama_kelas

atribut = nilai

Link relasi antar objek

98 Diagram Kelas dan Diagram Objek


Contoh Diagram Objek
1. Dari Diagram kelas ke diagram objek

Diagram objek yang mungkin :

2, Misalkan diberikan Diagram kelas sebagai berikut :

Maka kemungkinan diagram objeknya adalah :

Diagram Kelas dan Diagram Objek 99


PIKSI Analisis dan Desain Sistem Informasi

Link - link adalah sebuah instance dari asosiasi,


sama saja dengan sebuah objek menjadi sebuah instan sebuah kelas

6.7 Studi Kasus Diagram Objek

Studi kasus diambil dari sistem informasi manajemen perpustakaan seperti


pada bab-bab sebelumnya. Berikut adalah diagram objek dari sistem
informasi manajemen perpustakaan:

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"}

Gambar 4. Diagram Objek Studi Kasus

100 Diagram Kelas dan Diagram Objek

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!

Diagram komponen atau component diagram dibuat untuk menunjukkan


organisasi dan ketergantungan diantara kumpulan komponen dalam sebuah
sistem. Diagram komponen fokus pada komponen sistem yang dibutuhkan
dan ada di dalam sistem.

Diagram Kelas dan Diagram Objek 101

Anda mungkin juga menyukai