Header image  
Sekedar Berbagi yang ku tahu dan ku mau...  
line decor
  
line decor
 
 
 
 
 
 
 

Berita


Rabu, 2009-10-14, 21:52:49
Reporter
------------------------------------------
Dasar dasar Object
Menurut Pressman (1987), analisis dan perancangan berorientasi objek seperti halnya metodologi perancangan lain, membuat suatu representasi domain masalah dari dunia nyata dan memetakannya menjadi domain pemecahan. Namun perancangan berorientasi objek menghasilkan suatu perancangan yang menghubungkan objek data (butir data) dan operasi pemrosesan dalam suatu cara modularisasi dan pemrosesan dari pemrosesan itu sendiri. Ciri alaminya terletak pada kemampuannya dalam membangun tiga konsep penting rekayasa perangkat lunak, yaitu abstraksi, penyembunyian informasi, dan modularitas.
Menurut Edward Yourdon (1994) suatu sistem yang dibangun dengan metode berorientasi objek merupakan satu komponen dimana komponen-komponennya adalah data dan fungsinya dienkapsulasi, yang menurunkan atribut dan perilaku dari komponen sejenis lainnya, dan komponen tersebut berkomunikasi melalui pesan dengan komponen lainnya.
Semua metodologi analisis dan perancangan berorientasi objek mempunyai kesamaan dalam hal objek (objects), kelas (classes), pewarisan (inheritance), dan keterhubungan (relationship) (Michael Gora, 1996). Sedangkan menurut Edward Yourdon, (1994) ada tiga karakteristik kunci dalam analisis dan perancangan berorientasi objek , yaitu
1. Abstraksi, mekanisme yang menyederhanakan realitas yang kompleks menajdi model yang lebih sederhana.
2. Enkapsulasi, mekanisme yang menyembunyikan implementasi objek sehingga komponen lain tidak akan menyadari bagaimana data itu disimpan pada pada objek. Atau dapat dikatakan bahwa data dan fungsinya yang dikenal metode, operasi atau layanan dikemas secara bersama-sama
3. Penurunan, mekanisme menurunkan atribut dan fungsi dari suatu superkelas ke subkelas dalam suatu hirarki.
The Object Management Group yaitu suatu konsorsium pengembang perangkat lunak menguraikan ciri-ciri penting kunci analisis dan perancangan berorientasi objek yang membedakan dari metodologi lainnya. Adapun ciri-ciri penting tersebut adalah sebagai berikut
1. Abstraksi, yang mendefinisikan suatu keterhubungan diantara suatu kelompok tipe objek dimana objek tersebut merepresentasikan suatu rangkaian karakteristik yang dipakai bersama dengan tipe objek lain,
2. Enkapsulasi, yang mengimplikasikan pengemasan operasi dan data secara bersama-sama pada suatu tipe objek dimana hanya data tersebut yang dpat diakses melalui antarmukanya,
3. Penggunaan ulang, suatu kemampuan untuk menggunakan ulang (reuse) tipe objek selama perancangan suatu sistem dan kelas-kelas objek dalam suatu implementasi suatu sistem,
4. Spesialisasi, yang terjadi ketika suatu objek menurunkan operasi, tipe atribut dan tipe keterhubungan dari supertipe objek,
5. Komunikasi antar objek, dan
6. Polymorfisme, yang terjadi kalau suatu operasi dapat diterapkan pada beberapa tipe, ada dua bentuk polimorfisme, yaitu
a. Inherent polymorphisme , kalau operasi diturunkan dari setiap sub tipe
b. ad hoc polymorphisme, operasi yang berbeda pada tipe-tipe yang berbeda mempunyai nama yang sama (Edward Yordon, 1994).
Untuk memahami proses analisis dan perancangan berorientasi objek perlu dijelaskan terlebih dahulu tentang model objek dasar yang dikembangkan oleh Blaha dan Premerlani (1998) sebagai penyempurnaan dari teknik pemodelan objek oleh James Rumbaugh yang disesuaikan pada Unified Model Langauge, seperti notasi grafis dan pengertian diantaranya tentang :
1. Objek (object),
Objek merupakan konsep, abstraksi atau barang yang punya arti untuk suatu aplikasi. Objek berupa kata benda nama diri dalam pernyataan masalah. Setiap objek dapat diidentitifikasi dan ada. Objek digambarkan sebagai kotak dengan nama objek dibagian atas diikuti tanda colon ( : ) dan nama kelas, nama keduanya digarisbawahi dan cetak tebal.
2. Kelas (class)
Suatu objek sebagai suatu instan atau kejadian dari suatu kelas. Kelas sebagai penjelasan sekelompok objek dengan properti sama, perilaku lazim, keterhubungan yang sama terhadap objek lain, dan semantik lazim. Kelas berupa kata benda dalam dalam pernyataan masalah. Kelas digambarkan dengan suatu kotak, pada bagian atas diberi nama kelas yang dicetak tebal dan rata tengah, sedangkan kotak bagian bawah berupa nama atribut yang ditulis degan huruf kecil pada awal kata dan rata kiri.
3. Nilai dan Atribut Objek (value and object attribute)
Nilai merupakan data yang ada pada enumerasi dan contoh pada dokumen masalah. Sedangkan atribut objek merupakan suatu properti yang bernama dari suatu kelas yang menjelaskan tentang nilai yang ada pada setiap objek dari kelas.
4. Operasi dan Metode (Operation and Methode)
Operasi adalah fungsi atau prosedur yang diterapkan terhadap atau dari objek pada suatu kelas. Operasi ditampilkan pada bagian ketiga dari kotak kelas. Operasi ada yang polymorphic yaitu dapat diterapkan pada banyak kelas. Sedangkan metode adalah implementasi dari operasi pada kelas.
5. Link dan Asosiasi (link and association)
Link adalah koneksi fisik atau konseptual antara objek. Kebanyakan link merelasikan antara dua objek tetapi ada yang lebih. Asosiasi merupakan penjelasan sekelompok link dengan struktur dan semantik yang lazim sehingga link sebagai instan dari asosiasi. Link dari asosiasi tersebut merelasikan objek-objek dari kelas-kelas yang sama dan mempunyai properti (atribut link) yang sama.
Link digambarkan sebagai garis lurus penghubung antar objek, dan diberi nama dengan cetak miring. Sedangkan nama asosiasi boleh ada boleh tidak tergantung pada model yang mempunyai makna mendua. Makna mendua atau ambiguitas ada kalau asosiasi ganda terjadi pada kelas yang sama.
6. Multiplisitas (Multiplicity)
Multiplicity menentukan cacah instan dari satu kelas yang bisa berelasi terhadap instan tunggal dari kelas yang terasosiasi. Multiplicity adalah suatu konstrain pada ukuran suatu koleksi sedangkan kardinalitas adalah hitungan dari elemen yang nyata pada suatu koleksi.
7. Role
Role sebagai tujuan dari asosiasi, diberi nama yang jelas, dan pada pernyataan masalah muncul sebagai kata benda.
8. Atribut Link (Link Attributes)
Atribut link adalah properti bernama dari asosiasi yang menjelaskan nilai dari setiap link asosiasi. Atribut link ini digambarkan sebagai kotak yang menempel pada asosiasi dengan garis terputus. Pada kotak tersebut, bagian atasnya boleh kosong, atau berisi nama asosiasinya.
9. Kelas Asosiasi (Association Classes)
Kelas Asosiasi merupakan suatu asosiasi yang link-linknya dapat ikut ambil bagian pada asosiasi tersebut, yang mempunyai ciri baik pada asosiasi maupun kelas.
Kelas asosiasi ditandai dengan kotak yang menempel pada asosiasi dengan garis terputus, sama seperti atribut link. Disamping itu, bisa mempunyai atribut-atribut atau operasi-operasi.
10. Asosiasi Qualifikasi (Qualified Associations)
Asosiasi qualifikasi merupakan asosiasi pada objek yang rolenya ‘many’ oleh suatu atribut baik sebagian atau keseluruhan tidak menjadi bermakna dua.
Asosiasi ini digambarkan dengan kotak kecil terletak pada ujung asosiasi dekat kelas sumber. Pada kotak kecil itu diberi nama yang unik dan bermakna dalam konteks masalah.
Asosiasi kualifikasi ini dapat berupa qualification cascade maupun compound qualifier.
11. Generalisasi, Spesialisasi dan Pewarisan (Generalization, Specialization, and Inheritance)
Generalisasi adalah keterhubungan antara satu kelas yang disebut dengan superkelas dengan satu atau lebih berbagai kelas yang disebut dengan subkelas. Generalisasi mengorganisasi kelas-kelas dengan kesamaan dan perbedaannya dengan menstrukturisasi uraian objek.
Superkelas menangani atribut, operasi, diagram keadaan dan asosiasi yang lazim, sedangkan subkelas menambahkannya yang spesifik saja.
Spesialisasi sama dengan generalisasi, hanya memandang suatu struktur sistem dari atas ke bawah, sementara generalisasi memandang struktur sistem dari bawah keatas dengan abstraksi kelaziman subkelas.
Generalisasi merupakan keterhubungan struktural yang menimbulkan adanya mekanisma pewarisan sehingga dalam hal ini subkelas mewarisi atribut, operasi, diagram keadaan dan asosiasi dari superkelas.
12. Diagram kelas dan Diagram Instan (Class Daigram and Instance Diagram)
Diagram kelas merupakan representasi grafis yang menjelaskan objek-objek dan keterhubungannya, sedangkan diagram instan merupakan diagram yang hanya melibatkan objek, link dan nilai. Diagram instan digunakan untuk pencarian kesalahan dan untuk memahami diagram kelas.
13. Instansiasi (instantiation)
Instansiasi merupakan keterhubungan diantara objek dan kelasnya. Notasinya adalah garis terputus dari instan ke kelas dengan tanda panah terhadap kelas, dan diberi label dengan kata ‘instans’ yang diapit tanda guillemets (<< >>).
14. Atribut kelas dan Operasi Kelas (Class attributes and Operations)
Atribut kelas adalah suatu atribut yang nilai-nilai lazim pada sekelomok objek pada suatu kelas daripada setiap instan. Atribut kelas ini dapat digunakan untuk menyimpan data kesimpulan atau data default pada objek.
Sedangkan operasi kelas adalah operasi pada suatu kelas dibanding pada instan kelasnya. Ini digunakan untuk membuat instans kelas baru.
Atribut kelas dan operasi kelas ditandai dengan garis bawah diletakkan pada bagian atas kotak atribut, dan kotak operasi.


15. Multiplisitas atribut (Attribute Multiplicity)
Attribute Multiplicity menentukan kemungkinan cacah nilai dari suatu atribut, yang ditampilkan pada tanda bracket ( [ ] ) setelah nama atribut. Misal Kelas Orang terdiri dari atribut: nama[1], alamat[1..*], nomorTelpon[0..*], dan tanggalLahir[1].
16. Kunci Kandidat untuk Kelas (Candidate keys for Classes)
Kunci kandidat adalah kombinasi dari satu atau lebih atribut yang secara unik membedakan objek dalam suatu kelas.
17. Domain (Domain)
Domain merupakan himpunan nilai untuk suatu atribut. Domain terdiri dari domain enumerasi yaitu domain dengan himpunan nilai pasti, dan domain terstruktur, yaitu domain dengan perincian nilai yang penting secara internal .
Selama analisis, domain sederhana dapat diabaikan sedangkan domain terstruktur perlu dicantumkan, dan selama membangun perancangan sistem, domain perlu ditetapkan untuk setiap atribut.
18. Asosiasi Eklusif -Or (Exclusive-Or Associations)
Asosiasi Eklusif-Or merupakan anggota kelompok asosiasi yang berasal dari kelas disebut kelas sumber dan berelasi dengan kelas target. Setiap objek dalam kelas sumber secara pasti menerapkan satu asosiasi eklusif-or. Misalkan Indek dalam suatu buku terdiri dari Cluster atau Tabel tetapi tidak keduanya.

19. Agregasi (Aggregation)
Agregasi merupakan macam asosiasi antara keseluruhan (disebut assembly) dengan bagian-bagiannya (disebut komponen). Agregasi juga dikenal dengan keterhubungan ‘bagian dari‘ atau a-part-of. Dengan demikian pada agregasi, komponen tersebut mempunyai makna “dan” terhadap assembly-nya, misalkan Buku terdiri dari Bagian-Depan, Bab-Bab, dan Bagian-Belakang.
20. Asosiasi ternari (Ternary Association)
Dari cacah role untuk setiap link, asosiasi bisa berupa asosiasi binar, ternari maupun tingkat yang lebih banyak. Banyaknya tingkat asosiasi ini (degree of an associations) yang melibatkan tiga role disebut dengan asosiasi ternari yang dilambangkan dengan notasi diamond. Misal antara kelas Semester, Profesor dan DaftarKursus terjadi asosiasi antara ketiga kelas tersebut.
21. Kunci tamu untuk asosiasi (Candidate Keys for associations)
Kunci tamu untuk asosiasi merupakan kombinasi dari role-role dan qualifikasi yang secara unik mengidentifikasi link-link dalam suatu asosiasi. Karena role dan kualifikasi diimplementasikan dengan atribut, maka istilah kunci tamu juga digunakan baik untuk kelas maupun asosiasi. Pada asosiasi ternari secara normal mempunyai kunci tamu tunggal yang disusun dari semua ketiga kelas yang berelasi. Misal kombinasi atribut IDSemester, IDProfesor, dan IDDaftarKursur merupakan kunci tamu bagi kelas Kursus.
22. Paket
Paket merupakan kelompok dari unsur-unsur seperti kelas, asosiasi, generalisasi dengan tema yang lazim. Pada model yang besar, dengan adanya paket dapat mudah dipahami secara komprehensif.
23. Data Turunan
Data turunan merupakan yang dapat ditentukan dari data lain. Kelas, atribut dan asosiasi dapat diturunkan .
Pada analisis tidak perlu menurunkan data, sedangkan pada perancangan dapat ditambahkan data turunan untuk meningkatkan efisiensi dan memudahkan implementasi.
24. Konstrain
Konstrain merupakan keterhubungan fungsional diantara penyusunan model seperti kelas, atribut, dan atribut. Konstrain ditandai dengan teks dalam tanda brace “{ }”. Model yang baik adalah model yang bnayak konstrainnya dengan berbagai struktur, dan hal ini merupakan salah satu ukuran kualitas model.
25. Pewarisan Ganda
Pewarisan ganda merupakan pewarisan atribut, operasi dan asosiasi pada suatu kelas dari berbagai superkelas. Pada pewarisan tunggal, organisasi kelas berbentuk pohon, sedangkan pada pewarisan ganda berbentuk grafik asiklik langsung.
Usahakan menghindari pewarisan ganda selama analisis karena membingungkan sedangkan pada tahap perancangan akan membantu karena diperlukan saat membangun aspek objek secara ortogonal.


<<<--- HOME