Anda di halaman 1dari 10

Unified Modeling Language (UML) Jenis Class Diagram

UNIFIED MODELING LANGUAGE (UML) JENIS CLASS DIAGRAM


A. Pendahuluan Pada saat ini perkembangan softwate atau ppiranti lunak semakin luas dan besar ruang lingkupnya, sehingga tidak bisa lagi dibuat secara sembarangan. Software saat ini sebaiknya dirancang dengan mempertimbangkan faktor-faktor seperti scalability (keterpakaian), security (keamanan), dan eksekusi yang robust (tahan) walaupun dalam kondisi yang sulit. Selain itu arsitekturnya harus didefinisikan dengan jelas, agar bug (kebuntuan) mudah ditemukan dan diperbaiki, bahkan oleh orang lain selain programmer aslinya. Keuntungan lain dari perencanaan arsitektur yang matang adalah dimungkinkannya penggunaan kembali modul atau komponen untuk aplikasi software lain yang membutuhkan fungsionalitas yang sama. Pemodelan (modeling) adalah proses merancang software sebelum melakukan pengkodean (coding). Model software dapat dianalogikan seperti pembuatan blueprint pada pembangunan gedung. Membuat model dari sebuah sistem yang kompleks sangatlah penting karena kita tidak dapat memahami sistem semacam itu secara menyeluruh. Semakin komplek sebuah sistem, semakin penting pula penggunaan teknik pemodelan yang baik. Dengan menggunakan model, diharapkan pengembangan software dapat memenuhi semua kebutuhan pengguna dengan lengkap dan tepat, termasuk faktorfaktor seperti scalability (keterpakaian), robustness (ketahanan), security

(keamanan), dan lain sebagainya. Kesuksesan suatu pemodelan software ditentukan oleh tiga unsur yang dikenal dengan nama segitiga sukses (the triangle for success). Ketiga unsur tersebut adalah metode pemodelan (notation), proses (process) dan tool yang digunakan. Memahami notasi pemodelan tanpa mengetahui cara pemakaian yang sebenarnya (proses) akan membuat proyek gagal. Dan pemahaman terhadap metode pemodelan dan proses disempurnakan dengan penggunaan tool yang tepat. Seperti yang digambarkan oleh gambar 1 dibawah ini:

Halifia Hendri, Freniko Dani Mustafa, Nashruddin Najih

Page 1

Meri Denovia, Rahmi Mulyati, Nova Elvina

Unified Modeling Language (UML) Jenis Class Diagram

Gambar 1. The Triangle for Ssuccess

B. Defenisi UML Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C. Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan

syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbaga diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering).

Halifia Hendri, Freniko Dani Mustafa, Nashruddin Najih

Page 2

Meri Denovia, Rahmi Mulyati, Nova Elvina

Unified Modeling Language (UML) Jenis Class Diagram

C. Sejarah UML Sejarah UML sendiri cukup panjang. Sampai era tahun 1990 seperti kita ketahui puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah: metodologi booch [1], metodologi coad [2], metodologi OOSE [3], metodologi OMT [4], metodologi shlaer-mellor [5], metodologi wirfs-brock [6], dsb. Masa itu terkenal dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek. Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan group/perusahaan lain yang menggunakan metodologi yang berlainan. Seperti yang diilustrasikan pada gambar 2 dibawah ini:

Gambar 2. Sejarah UML Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh dikatakan metodologinya banyak digunakan mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1995 direlease draft pertama dari UML (versi 0.8). Sejak tahun 1996 pengembangan tersebut dikoordinasikan oleh Object Management Group (OMG http://www.omg.org). Tahun 1997 UML versi 1.1 muncul, dan saat ini versi terbaru adalah versi 1.5 yang dirilis bulan Maret 2003. Booch, Rumbaugh dan Jacobson menyusun tiga buku serial tentang UML pada tahun 1999 [7] [8] [9]. Sejak saat itulah UML telah menjelma menjadi standar bahasa pemodelan untuk aplikasi berorientasi objek.

Halifia Hendri, Freniko Dani Mustafa, Nashruddin Najih

Page 3

Meri Denovia, Rahmi Mulyati, Nova Elvina

Unified Modeling Language (UML) Jenis Class Diagram

D. Tujuan Pembuatan UML Tujuan pembuatan UML diantaranya yaitu: 1. Memudahkan para programmer/software engineering dalam melakuan

penciptaan dan pengembangan software. 2. Meningkatkan kreatifitas, efektivitas dan efisiensi programmer/software engineering dalam melakuan penciptaan dan pengembangan software. 3. Menetapkan suatu bahasa standar yang berlaku international dalam melakukan pemrograman/perancangan software yang berorientasi objek. 4. Memperjelas rancangan awal/blue print seorang programmer/software

engineering dalam mengembangkan software buatannya.

E. Tipe-Tipe UML Abstraksi konsep dasar UML yang terdiri dari structural classification,

dynamic behavior, dan model management, bisa kita pahami dengan mudah apabila kita melihat gambar diatas dari Diagrams. Main concepts bisa kita pandang sebagai term yang akan muncul pada saat kita membuat diagram. Dan view adalah kategori dari diagaram tersebut. Tipe-tipe diagram yang ada pada UML sampai saat ini yaitu: 1. Use Case Diagram 2. Class Diagram 3. Statechart Diagram 4. Activity Diagram 5. Sequence Diagram 6. Collaboration Diagram 7. Component Diagram 8. Deployment Diagram

F. UML Jenis Class Diagram 1. Defenisi Class dan Class Diagram Class adalah suatu model yang menggambarkan keadaan (atribute atau property) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda atau fungsi)

Halifia Hendri, Freniko Dani Mustafa, Nashruddin Najih

Page 4

Meri Denovia, Rahmi Mulyati, Nova Elvina

Unified Modeling Language (UML) Jenis Class Diagram

Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class Diagram adalah sebuah spesifikasi yang jika diinstansiasikan akan menghasilkan sebuah objek. Menggambarkan struktur dan deskripsi class, package dan object beserta hubungannya satu sama lain seperti pewarisan, asosiasi, containment, dll. Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. 2. Tiga Area Pokok Class Nama: merupakan nama sebuah class. Attribute: merupakan property sebuah class dan melambangkan batas nilai yang mungkin ada pada object class. Operasi: Sesuatu yang dapat dilakukan oleh sebuah class atau yang dapat dilakukan oleh class lain terhadap sebuah class. 3. Sifat Atribute dan Metoda Private, tidak dapat dipanggil dari luar class yang bersangkutan. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya. Publick, dapat dipanggil oleh siapa saja. Package, hanya dapat dipanggil oleh instance sebuah class pada paket yang sama. Seperti yang ditunjukkan oleh gambar 3 dibawah ini:

Gambar 3. Sifat Atribute dan metoda

Halifia Hendri, Freniko Dani Mustafa, Nashruddin Najih

Page 5

Meri Denovia, Rahmi Mulyati, Nova Elvina

Unified Modeling Language (UML) Jenis Class Diagram

Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki metoda. Interface tidak dapat langsung

diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat run-time. 4. Notasi-Notasi Class Adalah block-block pembangun pada OOP. Assosiation Merupakan sebuah relationship paling umum antar 2 class Composition Class yang tidak dapat berdiri sendiri Depenency Class yang menggunakan class yang lain Aggregation Aggregation mengindikasikan keseluruhan bahagian relasi Generalization Sepadan dengan sebuah relasi inheritance pada konsep berorientasi object Site Config +sqlDNS:String 1..n Owned by 1

5. Contoh Class Diagram:

Halifia Hendri, Freniko Dani Mustafa, Nashruddin Najih

Page 6

Meri Denovia, Rahmi Mulyati, Nova Elvina

Unified Modeling Language (UML) Jenis Class Diagram

6. Contoh Interface

7. Contoh Asosiasi

Kita menggunakan pemahaman asosiasi adalah pada saat beberapa Class saling terhubung satu sama lain secara konseptual. Misalkan, seorang pegawai bekerja pada sebuah perusahaan 8. Contoh Asosasi Complex (Lebih dari 2 class)

Halifia Hendri, Freniko Dani Mustafa, Nashruddin Najih

Page 7

Meri Denovia, Rahmi Mulyati, Nova Elvina

Unified Modeling Language (UML) Jenis Class Diagram

Seorang mhs mendaftar sebuah kursus, maka asosiasi yang muncul adalah mendaftar. Asosiasi merupakan bentuk kata kerja yang merelasikan kelas yang satu dengan kelas yang lainnya. 9. Constrain Pada Asosiasi Kadangkala sebuah asosiasi dua class harus mengikuti sebuah aturan dan aturan ini bisa diletakkan dalam sebuah constrain pada garis asosiasi dan diletakkan dalam kurung kurawal. Misalnya constrain petugas loket akan melayani para pelanggan telepon yang akan menyelesaikan segala urusan yang berhubungan dengan masalah telepon. Untuk dapat dilayani, maka para pelanggan harus ANTRI. Maka antri dapat dijadikan constrain pada asosiasi tersebut.

Bentuk lain dari tipe constrain adalah relasi OR yang ditulis dengan {OR} dalam garis putus-putus yang menghubungkan dua garis asosiasi.Kondisi OR menghadapkan kepada keadaan bahwa sebuah class terhubung dengan dua class tetapi pada saat mendefinisikan relasinya maka harus memilih dari kedua class tersebut. 10. Contoh Constrai Pada Asosiasi

Halifia Hendri, Freniko Dani Mustafa, Nashruddin Najih

Page 8

Meri Denovia, Rahmi Mulyati, Nova Elvina

Unified Modeling Language (UML) Jenis Class Diagram

11. Contoh Class Diagram Untuk Sistem Perpustakaan Mandiri (Self Service Library) CLASS DIAGRAM PERPUSTAKAAN

Uraian : Class Diagram adalah suatu diagram yang memperlihatkan atau menampilkan struktur dari sebuah sistem,sistem tersebut akan menampilkan system kelas,atribut dan hubungan antara kelasketika suatu sistem telah selesai membuat diagram. Objek diagram adalah suatu diagram yang berfungsi untuk mengatur atribut, objek danhubungan antara contoh dalam diagram, objek diagram juga dapat menampilkan struktur model system dalam waktu tertentu. Diagram diatas merupakan diagram class untuk peminjaman buku di perpustakaan. Didalam diagram tersebut memiliki beberapa object diantaranya Mahasiswa, anggota, denda, transaksi, koleksi buku, petugas perpustakaan, koleksi buku, koleksi buku local dan koleksi buku asing. Object Anggota diatas merupakan turunan dari object mahasiswa bila ingin meminjam sebuah buku haruslah mahasiswa tersebut terdaftar menjadi anggota yang harus memiliki atribut pendukung yaitu, id_anggota dan nama anggota dan memiliki suatu aksi yaitu insert untuk menambahkan jumlah anggota untuk

Halifia Hendri, Freniko Dani Mustafa, Nashruddin Najih

Page 9

Meri Denovia, Rahmi Mulyati, Nova Elvina

Unified Modeling Language (UML) Jenis Class Diagram

perpustakaan tersebut dan juga di perbaharui datanya, dan juga di delete bila ia sudah lulus dari universitas tersebut. Petugas perpustakaan dapat melakukan transaksi pencatatan peminjaman dan pengembalian buku yang dilakukan oleh anggota perpustakaan tersebut. Lalu, di dalam sebuah transaksi kemungkinan ada sebuah denda yang dapat diberikan bila pengembalian buku melewati batas maksimum. Selain itu juga transaksi buku juga dapat dilakukan oleh anggota untuk memilih buku yang ada dalam perpustakaan tersebut, yang terdiri dari 2 buah koleksi yaitu koleksi buku asing dan koleksi buku local.

Halifia Hendri, Freniko Dani Mustafa, Nashruddin Najih

Page 10

Meri Denovia, Rahmi Mulyati, Nova Elvina