Unified Modeling Language

Konsep Dasar Metodologi Pengembangan Sistem Berbasis Objek

Metodologi adalah kesatuan metode-metode, prosedur-prosedur, konsep-konsep pekerjaan, aturan-aturan dan postulat-postulat yang digunakan oleh suatu ilmu pengetahuan, seni atau disiplin yang lainnya. Sedangkan metode adalah suatu cara, teknik yang sistematik untuk mengerjakan sesuatu. Jadi metodologi pengembangan sistem merupakan kesatuan metode-metode, prosedur-prosedur, konsep-konsep pekerjaan, aturan-aturan dan postulat-postulat yang digunakan oleh suatu ilmu pengetahuan yang akan digunakan untuk mengembangkan suatu sistem informasi. Dengan mengikuti metode atau prosedur-prosedur yang diberikan oleh suatu metodologi, maka pengembangan sistem diharapkan akan dapat diselesaikan dengan berhasil. Teknik analisis berorientasi objek merupakan alat terbaik yang dapat digunakan untuk sebuah proyek yang akan mengimplementasikan sistem yang menggunakan teknologi objek untuk membangun, mengelola, dan merakit objek-objek itu menjadi aplikasi komputer yang berguna. Pendekatan berorientasi objek dipusatkan pada sebuah teknik yang sering disebut Object Modelling/pemodelan objek. Teknik pemodelan objek menyajikan penggunaan metodologi dan notasi diagram yang sama sekali berbeda dengan teknik lainnya yang biasa digunakan untuk pemodelan data dan pemodelan proses. Orientasi objek merupakan teknik pemodelan sistem riil yang berbasis objek. teknik dalam menyelesaikan maslah yang sering muncul dalam pengembangan perangkat lunak serta m. Teknik ini merupakan titik kultiminasi dalam menemukan cara yang efektif dalam membangun sistem dan menjadi metode yang paling banyak  digunakan oleh para pengembang perangkat lunak saat ini. Menurut Douglas (2004) objek adalah entitas yang memiliki atribut, karakter (behaviour), dan kondisi (state).

Karakteristik sistem berorientasi objek :

  1. Abstraksi

Prinsip untuk merepresentasikan dunia nyata yang kompleks menjadi satu bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan.

  1. Enkapsulasi (pembungkusan)

Pembungkusan yang merupakan suatu prinsip yang digunakan ketika pengembangan struktur program secara keseluruhan, dimana tiap-tiap komponen program harus disimpan/disembunyikan dalam satu perancangan interaksi. Pembungkusan atribut data dan layanan (operasi-operasi)  yang dipunyai objek. Untuk menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui cara kerjanya.

  1. Pewarisan (Inheritance)

Pewarisan adalah suatu cara kerja yang menyatakan kesamaan diantara kelas-kelas, penyederhanaan definisi kelas yang mirip ke suatu definisi yang telah ada sebelumnya. Mekanisme yang memungkinkan satu objek (baca: kelas’)  mewarisi sebagian atau seluruh definisi dan objek lain sebagai bagian dan dirinya.

  1. Reusabilily

Pemanfaatan kembali objek yang sudah didefinisikan untuk suatu permasalahan pada permasalahan lainnya yang  melibatkan objek tersebut.

  1. Generalisasi dan Spesialisasi

Menunjukkan hubungan antara kelas dan objek yang  umum dengan kelas dan objek yang khusus.

  1. Komunikasi Antar Objek

Komunikasi antar objek dilakukan lewat pesan (message)  yang dikirim dan satu objek ke objek lainnya.

  1. Polymorphism (banyak bentuk)

Kemampuan suatu objek untuk digunakan di banyak tujuan yang berbeda dengan nama yang sama sehingga menghemat baris program.

 

Pengenalan Unified Modeling Language (UML)

Pada akhir tahun 80-an dan awal tahun 90-an, digunakan beberapa metode berorientasi objek yang berbeda-beda. Yang paling tekenal adalah  Metode Booch dari Grady Booch, Object Modeling Technique (OMT) dari James Rambaugh, dan Object Oriented Software Engineering (OOSE) dari Ivar Jacobson. Banyaknya metode dan teknik pemodelan yang sudah ada menjadi masalah utama bagi industri pengembangan sistem berorientasi objek. Banyaknya teknik yang digunakan membatasi kemampuan untuk memakai model-model pada proyek lain (mengurangi reuse)  dan tim pengembangan. Konsekuensinya teknik ini menghambat komunikasi antara anggota tim dan pengguna, yang mengakibatkan banyak terjadi error di dalam proyek. Masalah ini dan lainnya mendorong dilakukannya usaha untuk mendesain bahasa pemodelan standar. Grady Booch, Ivar Jacobson, dan James Rumbaugh bergabung dan fokus membuat sebuah bahasa pemodelan objek standar yaitu Unified Modeling Language  (UML) yang dirilis pada tahun 1997. Unified Modeling Language (UML) adalah satu kumpulan konvensi pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek.

UML singkatan dari Unified Modeling Language yang berarti bahasa pemodelan, yang telah menjadi bahasa standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. (Chonoles, 2003) mengatakan sebagai bahasa, berarti UML memiliki sintaksis dan semantik. Ada aturan-aturan yang harus diikuti ketika ingin membuat model menggunakan konsep UML. UML bukan hanya sekedar diagram, tetapi juga menceritakan konteksnya. UML diaplikasikan untuk maksud tertentu, biasanya antara lain untuk :

  1. Merancang perangkat lunak
  2. Sarana komunikasi antara perangkat lunak dengan proses bisnis
  3. Menjabarkan sistem secara rinci untuk analisa dan mencari apa yang diperlukan sistem
  4. Mendokumentasikan sistem yang ada, proses-proses dan organisasinya

UML telah diaplikasikan dalam beberapa bidang, diantaranya bidang investasi perbankan, lembaga kesehatan, departemen pertahanan, sistem terdistribusi, sistem pendukung alat kerja, retail, sales dan suplier. Blok pembangunan utama UML adalah diagram. Beberapa diagram ada yang rinci (jenis timing diagram) dan lainnya ada yang bersifat umum (misalnya diagram kelas). Para pengembang sistem berorientasi objek menggunakan bahasa model untuk menggambarkan, membangun dan mendokumentasikan sistem yang dirancang. 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 UML 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 modelling aplikasi prosedural dalam VB atau C.

Diagram – Diagram UML

1)      Diagram Use Case (Use Case Diagram)

Use case menggambarkan external view dari sistem yang akan dibuat modelnya. Pooley (2003:15) mengatakan bahwa model use case dapat dijabarkan dalam diagaram use case , tetapi yang perlu diingat, diagram tidak identik dengan model karena model lebih luas dari diagram. Menurut (Pilone,2005) use case menggambarkan fungsi tertentu dalam suatu sistem berupa komponen, kejadian atau kelas. Sedangkan (Whitten,2004:258) mengartiakan use case sebagai urutan langkah-langkah yang secara tindakan saling terkait (skenario), baik terotomatisasi maupun secara manual, untuk tujuan melengkapi satu tugas bisnis tunggal. Diagram use case diagram menyajikan interaksi antara use case dan aktor. Dimana, aktor dapat berupa orang, peralatan, atau sistem lain yagn berinteraksi dengan sistem yang sedang dibangun. Use case digambarkan dalam bentuk ellips/oval.

Komponen pembentuk diagram use case adalah :

a)      Aktor (actor), menggambarkan pihak-pihak yang berperan dalam sistem. (Chonoles,2003) menyarankan sebelum membuat use case dan menentukan aktornya, agar mengidentifikasi siapa saja pihak yang terlibat dalam sistem tersebut. Pihak yang telibat biasanya dinamakan stakeholder.

b)      Use case , aktivitas/saran yang disiapkan oleh bisnis/sitem.

c)      Hubungan (link), aktor mana saja yang terlibat dalam use case ini.

use case

Keterangan Gambar 1.1. :

Pada diagram use case untuk sistem ATM tersebut terdapat 3 aktor yaitu customer, petugas bank, dan sistem kredit. Pada sistem ATM ini customer dapat mentransfer uang, mendepositokan Dana, mengecek saldo, menarik uang, mengganti PIN dan membayar kredit kepada sistem kredit. Disini petugas bank juga dapat mengganti PIN dari customer.

2)      Diagram Kelas (Class Diagram)

Diagram kelas merupakan kumpulan kelas-kelas objek. (Whitten,2004:410) mengartikan kelas sebagai satu set objek yagn memiliki atribut atau perilaku yang sama. Kelas kadang-kadang disebut kelas objek (object class). Menurut (Pender,2003) mengartikan sebuah kelas sebagai suatu definisi sumber daya yang termasuk di dalamnya informasi-informasi yang menggambarkan fitur suatu entitas dan bagaimana penggunaanya. Sedangakan objek adalah entitas yang bersifat unik yang mengikuti aturan-aturan yang sudah didefinisikan dalam kelasnya. Dalam terminologi perangkat lunak, kode program ditulis sebagai kumpulan kelas-kelas yang mengacu pada perilaku yang telah didefinisikan dalam kelas. Dalam database, objek dinyatakan berupa sebuah baris yang tersimpan dalam file yang berada dalam memori komputer. Jadi diagram kelas menggambarkan “fisik” sistem yang akan dibuat atau menggambarkan struktur objek sistem yang menunjukkan kelas objek yang menyusun sistem dan juga hubungan antara kelas objek tersebut.

diagram class

–          Atribut merupakan data yang dimiliki suatu objek dalam kelas. Setiap atribut akan memiliki nilai berbeda untuk setiap objek.

–          Metode merupakan fungsi atau transformasi yang mungkin dapat diaplikasikan ke/oleh suatu objek dalam kelas.

Suatu kelas memiliki atribut dan method yang terdiri dari :

  1. Public (+), boleh di akses oleh semua kelas lain
  2. Private (-), akses terbatas untuk kelas itu sendiri
  3. Protected (#), bisa diakses oleh subclass
  4. Package (~), bisa diakses oleh objekct lain pada paket yang sama

Contoh diagram kelas  :

cth kelas

3)      Diagram Paket (Package Diagram)

Paket menyediakan sarana menyatukan elemen-elemen UML. Diagram paket juga dapat memvisualisasikan ketergantungan antar bagian dalam suatu sistem dan bermanfaat dalam mencari letak permasalahan dalam kompilasi (Pilone,2005). Hampir sebagian besar elemen-elemen UML dapat dipaketkan. Tiap paket memiliki  nama yang merupakan ruang lingkupnya.

Contoh diagram paket :

paket

4)      Diagram komponen (component Diagram)

Diagram komponen digunakan untuk menggambarkan organisasi dan ketergantungan komponen-komponen software sistem. Diagram ini dapat menunjukkan bagaimana kode pemrograman dibagi menjadi modul-modul (komponen).  Manfaat diagram komponen adalah bila ada salah satu komponen yang rusak atau tidak sesuai dengan tujuan sistem, user tinggal mengganti komponen itu dengan komponen yang lain. Dalam membongkar pasang suatu komponen, yagn peerlu diperhaatikan adalah batasan (boundry) komponen itu (Chonoles,2003). Hubungan antara komponen dengan kelas adalah bahwa komponen merupakan subsistem berisi kelas-kelas yang bekerja sama merealisasikan antarmuka yang diinstruksikan.

Dalam melaksanakan fungsinya, komponen mungkin saja bekerja sama dengan komponen lain.  Untuk menggambarkannya dapat ditarik putus-putus dengan panah terbuka menuju komponen lain (Pilone,2005).

komponen

5)      Diagram Deployment (Deployment Diagram)

Diagram deployment menampilkan rancangan fisik jaringan dimana berbagai komponen akan terdapat di dalamnya. Model diagram deployment  bagian-bagian perangkat lunak suatu sistem ke perangkat keras  yang akan mengeksekusinya. Elemen-elemen perangkat lunak seperti komponen, kelas, paket dan sebagainya dimanifestasikan menggunakan artifak serta dipetakan ke perangkat kera yang akan menjalankannya dengan titik (nodes). Komunikasi antar titik dimodelkan dengan jalur komunikasi (communication paths). Artifak merupakan bagian fisik dari informasi yang berhubungan dengan proses pengembangan. Secara khusus, artifak digunakan, untuk merepresentasikan versi kompilasi dari komponen. Suatu titik adalah entitas yang dapat menjalankan artifak. Titik dapat bervariasi sekedar peralatan pendukung  yang menempel hingga sekumpulan server-server. Titik adalah bagian kritis tiap diagram deployment karena titik memperlihatkan di mana bagian kode tertentu dieksekusi dan bagaimana beberapa bagian dalam sistem berkomunikasi.

Contoh diagram deployment :

deployment

6)      Diagram Statechart (Statechart Diagram)

Dalam UML diagram statechart disebut dengan istilah state machine. Diagram ini menggambarkan perilaku sistem perangkat lunak yang dibuat dan perilaku kelas, subsistem dan seluruh aplikasi. Selain itu diagram state machine bermanfaat juga untuk menyediakan cara yang baik dalam memodelkan komunikasi yang terjadi dengan entitas luaar via protokol atau sistem dasarnya (Pilone,2005).

UML memiliki dua state machine antara lain :

  1. Behaviour State Machine , mesin ini digunakan untuk menunjukkan perilaku elemen yang memodelkan, misalnya suatu objek. Suatu Behaviour State Machine merepresentasikan implementasi khusus suatu elemen.
  2. Protocol State machine , mesin ini digunakan untuk menunjukkan perilaku protokol. Protocol State machine menunjukkan bagaimana suatu elemen memicu perubahan kondisi protokol yang berimpak pada suatu sistem.

Notasi pada statechart

notasi statechart

Contoh Diagram statechart :

cth statechart

7)      Diagram Aktivitas (Activity Diagram)

Diagram aktivitas menggambarkan aliran fungsionalitas sistem. Diagram ini lebih memfokuskan diri pada eksekusi dan alur sistem dari pada bagaimana sistem itu dirakit. Diagram ini tidak hanya memodelkan software melainkan memodelkan model bisnis juga. Diagram aktivitas menunjukkan aktivitas sistem dalam bentuk kumpulan aksi-aksi. Aktivitas merupakan kumpulan aksi-aksi. Aksi-aksi melakukan langkah-langkah sekali saja tidak boleh di pecah menjadi beberapa langkah lagi. Contoh aksi yaitu fungsi matematika, pemanggilan perilaku, pemrosesan data.

Berikut adalah simbol-simbol diagram aktivitas :

simbol diagram aktivitas

Contoh diagram aktivitas ditunjukkan pada gambar 7.1, dimana aktivitas dalam diagram dipresentasikan dengan bentuk persegi panjang tumpul, yang di dalamnya berisi langkah-langkah apa saja yang terjadi dalam aliran kerja. Ada sebuah keadaan mulai (start state) yang menunjukkan dimulainya aliran kerja, dan sebuah keadaan selesai (end state) yang menunjukkan akhir diagram, titik keputusan diakhiri dengan diamond.

cth aktivitas

8)      Diagram Interaksi

Perilaku kolektif atau interaksi difokuskan pada rangkaian pertukaran messages (kejadian, operasi, dan sejenisnya) di antara kumpulan objek-objek (Douglas,2004).  Diagram interaksi dimaksudkan untuk mengembangkan komunikasi antara objek, bukan memanipulasi data saat berkomunikasi (Pilone,2005). Menurut Douglas (2004) menyebutkan bahwa ada tiga diagram primer UML dalam memodelkan skenario interaksi, yaitu : diagram urutan (squence diagram), diagram waktu (timing diagram), dan diagram komunikasi (communication diagram). Fokus diagram interaksi adalah pada komunikasi antar garis hidup dalam berbagai format yaitu : pemanggilan metode, pengiriman sinyal, pembentukan instance, penghapusan objek, dan sebagainya, kesemuanya disebut pesan. Suatu pesan menspesifikasikan jenis komunikasi, pengirim dan penerimanya. Pesan yang sering digunakan biasanya berbentuk pemanggilan suatu metode antara dua objek. Jika pesan mengindikasikan suatu pemanggilan metode, kita harus memperlihatkan parameter yang dikirim ke metode dalam sintaks pesan. Parameter-parameter itu harus salah satu dari :

a)      Atribut dari objek pengirim

b)      Konstanta

c)      Nilai simbolis

d)     Parameter eksplisit dari penutup interaksi

e)      Atribut kelas pemilik penutup interaksi

Diagram interaksi memodelkan sebuah interaksi, terdiri dari satu set objek, hubungan-hubungannya, dan pesan yang terkirim di antara objek. Model diagram ini memodelkan behavior sistem yang dinamis dan UML memiliki dua diagram untuk tujuan ini, yaitu :

  1. Diagram rangkaian/sekuensi, secara grafis menggambarkan bagaimana objek berinteraksi dengan satu sama lain melalui pesan pada eksekusi sebuah use case atau operasi. Diagram ini mengilustrasikan bagaimana pesan terkirim dan diterima di antara objek dan dalam sekuensi apa.
  2. Diagram kolaborasi sama seperti diagram rangkaian/sekuensi, tetapi tidak fokus pada timing atau “sekuensi” pesan. Diagram ini lebih menggambarkan interaksi (atau kolaborasi) antara objek dalam sebuah format jaringan.

Contoh Diagram sekuensi :

 cth sekuensi

 

DAFTAR PUSTAKA

 

Jogiyanto.2005.Analisis dan Desain.Yogyakarta:ANDI.

Pudjo Widodo, Prabowo dan Herlawati.2011.Menggunakan UML.Bandung:INFORMATIKA.

Sholiq.2006.Pemodelan Sistem Informasi Berorientasi Objek dengan UML.Surabaya:GRAHA ILMU.

Whitten, Jeffery, dkk.2004.Metode Desain dan Analisis Sistem.Edisi ke-6.Yogyakarta:ANDI.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s