Langsung ke konten utama

PERANCANGAN BERORIENTASI OBJEK

PBO

1. Identifikasi Kelas Objek

Tujuan mengidentifikasi kelas objek dalam sistem berorientasi objek:

1. Gunakan analisis gramatikal dari deskripsi bahasa alami. Objek dan atribut adalah kata benda; operasi atau layanan adalah kata kerja.

2. Gunakan entitas nyata (benda) dalam domain aplikasi seperti mobil, peran seperti manajer atau dokter, acara seperti permintaan, interaksi seperti pertemuan, lokasi seperti kantor, unit organisasi seperti perusahaan.

3. Gunakan analisis berbasis skenario dimana berbagai skenario penggunaan sistem diidentifikasi dan dianalisis secara bergantian.


2. Istilah dalam Objek Oriented

1. Objek (Object)

Objek adalah konsep atau abstraksi tentang sesuatu yang memiliki arti untuk aplikasi yang akan dikembangkan. 

Objek diwakili dengan kata benda

Objek dapat berupa:

  • Objek orang/manusia: Karyawan, Mahasiswa
  • Objek tempat: Kantor, Gedung, Toko
  • Objek abstrak: Transaksi, Jadwal, Peminjaman
  • Objek organisasi: Divisi-IT, HRD
  • Objek peralatan/benda: Mobil, Buku, Baju

2. Atribut (Attribute)

Suatu objek memiliki atribut tertentu yang merupakan karakteristik yang menggambarkan objek.

Suatu atribut dapat mengambil sebuah nilai yang ditentukan berdasarkan domain yang dihitung.

Domain merupakan satu himpunan nilai-nilai spesifik.

Contoh: kelas MOBIL memiliki sebuah atribut WARNA. Domain nilai untuk warna adalah {putih, hitam, perak, abu-abu, biru, merah, kuning, hijau}.

Objek dapat memiliki atribut khusus yang disebut state. Keadaan suatu objek adalah kata sifat yang menggambarkan status objek saat ini.

Misalnya rekening bank dapat aktif, tidak aktif,  tertutup, atau dibekukan

 3. Metode (Method)

Suatu metode mendefinisikan tugas-tugas spesifik yang dapat dilakukan oleh suatu objek

Metode dituliskan dengan kata kerja yang menggambarkan apa dan bagaimana suatu objek melakukan sesuatu.

Misalnya: objek PELANGGAN dapat melakukan tugas-tugas tertentu seperti melakukan pemesanan, membayar tagihan, dan mengubah alamatnya.

4. Pesan (Message)

Pesan (Message) adalah perintah yang memberi tahu suatu objek untuk melakukan metode tertentu.

Misalnya: pesan TAMBAHKAN SISWA mengarahkan kelas SISWA untuk menambahkan nomor siswa, nama, dan data lain tentang siswa itu. Demikian pula, pesan bernama HAPUS SISWA memberi tahu kelas SISWA untuk menghapus instance Siswa.

Pesan yang sama untuk dua objek berbeda dapat menghasilkan hasil yang berbeda.

Contoh Pesan :

Objek INSTRUCTOR mengirim pesan ENTER GRADE ke instance kelas STUDENT RECORD.

Objek INSTRUCTOR dan kelas STUDENT RECORD dapat digunakan kembali dengan sedikit modifikasi, di sistem informasi sekolah lain dimana banyak atribut dan metode akan serupa

 Contoh Pesan :

 


 

5. Kelas (Class)

Kelas adalah deskripsi umum yang menggambarkan sebuah kumpulan berisi objek-objek yang sama.

Semua objek dalam kelas berbagi atribut dan metode yang sama, sehingga kelas seperti blue print, atau template untuk semua objek di dalam kelas.

Superclass adalah generalisasi dari satu himpunan kelas-kelas yang berhubungan.

Subclass adalah spesialisasi dari superclass.

Contoh: superclass kendaraanBermotor adalah generalisasi dari kelas Truk, SUV, Minibus dan Car. Subclass Minibus mewarisi semua atribut kendaraanBermotor, tetapi juga menggabungkan atribut tambahan yang spesifik hanya untuk Minibus.

 Contoh Kelas dan Subkelas :


3. Hubungan Antara Objek dan Kelas

Hubungan (relationship) memungkinkan objek untuk berkomunikasi dan berinteraksi ketika mereka melakukan fungsi bisnis dan transaksi yang diperlukan oleh sistem.

Hubungan menggambarkan apa yang perlu diketahui objek satu sama lain, bagaimana objek merespon perubahan pada objek lain, dan efek keanggotaan dalam kelas, superclass, dan subclass.

Beberapa hubungan lebih kuat daripada yang lain (seperti hubungan antara anggota keluarga lebih kuat dari satu hubungan antara kenalan biasa). Hubungan terkuat disebut warisan.

4. Karakteristik Objek

A. Enkapsulasi (Encapsulation)

Data dan prosedur atau fungsi dikemas bersama-sama dalam suatu objek, sehingga prosedur atau fungsi lain dari luar tidak dapat mengaksesnya.

Data terlindung dari prosedur atau objek lain kecuali prosedur yang berada dalam objek tersebut.

Merupakan pembatasan ruang lingkup program terhadap data.

Enkapsulasi memungkinkan objek untuk digunakan sebagai komponen modular di mana saja dalam sistem, karena objek mengirim dan menerima pesan tetapi tidak mengubah metode internal objek lain.

Contoh Enkapsulasi :


B. Pewarisan (Inheritance)

Pewarisan adalah salah satu pembeda utama antara sistem konvensional dan sistem berbasis objek.

Subkelas Y mewarisi semua atribut dan operasi- operasi yangterkait dengan superkelas X. Ini berarti semua struktur dan algoritma data yang secara orisinal dirancang dan diimplementasikan untuk X segera tersedia untuk Y.

Perubahan apa pun pada atribut-atribut atau operasi- operasi yang dimuat ke dalam sebuah superkelas, akan diwarisi oleh semua subkelas.

 Contoh Pewarisan :


C. Polimorfis (Polymorphism)

Merupakan konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda.

Polimorfis juga mempunyai arti bahwa operasi yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda.

Polimorfis sangat mengurangi usaha yang diperlukan untuk memperluas perancangan sistem berorientasi objek

 Contoh Polimorfis :


5. Kelas Perancangan

Model kebutuhan menentukan serangkaian kelas-kelas analisis yang masing-masing kelas menggambarkan beberapa elemen masalah yang fokus pada masalah yang dilihat oleh pengguna.

Himpunan kelas-kelas perancangan yaitu :

  1. Memperhalus kelas-kelas analisis dengan menyediakan detail perancangan yang memungkinkan kelas-kelas bisa diimplementasikan
  2. Menciptakan suatu himpunan kelas-kelas perancangan yang baru, yang mengimplementasikan suatu infrastruktur PL yang mendukung solusi bisnis.

Kelas perancangan yang merepresentasikan lapisan berbeda dari perancangan arsitektur:

  1. Kelas-kelas antarmuka. Pengguna menentukan semua abstraksi yang diperlukan untuk interaksi manusia dengan komputer
  2. Kelas-kelas bisnis. Kelas-kelas mengidentifikasi atribut dan operasi/metode yang dibutuhkan untuk mengimplementasikan beberapa elemen ranah bisnis.
  3. Kelas-kelas proses. Mengimplementasikan abstraksi bisnis yang levelnya lebih rendah untuk sepenuhnya mengelola kelas-kelas ranah bisnis.
  4. Kelas-kelas persisten. Merepresentasikan data store yang akan terus ada setelah eksekusi PL.
  5. Kelas-kelas sistem. Mengimplementasikan manajemen PL dan mengendalikan fungsi-fungsi agar mampu mengoperasikan sistem dan berkomunikasi dengan dunia luar.

A. Karakteristik Kelas Perancangan

a. Lengkap dan cukup

Suatu kelas perancangan seharusnya menjadi enkapsulasi lengkap dari semua atribut dan metode yang dapat layak diharapkan.

Cukup berarti memastikan bahwa kelas perancangan berisi hanya metode-metode yang cukup untuk mencapai tujuan kelas.

Contoh: kelas Scene adalah lengkap hanya jika kelas ini berisi semua atribut dan metode yang dapat layak diasosiasikan dengan pembuatan suatu scene video.

b. Sederhana

Metode-metode yang dihubungkan dengan sebuah kelas perancangan harus fokus ke pencapaian satu fungsi spesifik pada kelas.

Contoh: kelas VideoClip memiliki atribut StartPoint dan EndPoint untuk mengindikasikan titik awal dan titik akhir.

c. Kohesi tinggi

Kelas perancangan kohesif adalah single minded. Artinya kelas ini memiliki satu kumpulan kecil tanggung jawab yang fokus dan menerapkan atribut dan metode untuk menjalankan tanggung jawab tersebut.

Contoh: kelas VideoClip dapat berisi satu kumpulan metode-metode untuk mengedit klip video. Kohesi dijaga asalkan setiap metode fokus semata-mata pada atribut-atribut yang diasosiasikan dengan klip video.

d. Keterhubungan rendah

Jika sebuah model perancangan memiliki keterhubungan tinggi (semua kelas perancangan berkolaborasi dengan semua kelas perancangan lainnya), sistem menjadi sulit diimplementasikan, diuji, dan dipelihara.

Kelas perancangan pada subsistem memiliki hanya pengetahuan terbatas tentang kelas-kelas lain.

Pembatasan ini dinamakan Law of Demeter yang menyatakan bahwa suatu metode seharusnya hanya mengirim pesan ke metode-metode pada kelas-kelas yang berdekatan.

6. Pendekatan Pemrograman Terstruktur

Karakteristik Pendekatan Berorientasi Prosedur/Fungsi:

  • Penekanan pada sesuatu yang harus dikerjakan (algoritma pemecahan masalah)
  • Program berukuran besar dipecah menjadi program-program yang lebih kecil
  • Kebanyakan fungsi/prosedur berbagi data global
  • Data bergerak secara bebas dalam sistem dari satu fungsi ke fungsi yang lain yang terkait
  • Fungsi-fungsi mentransformasi data dari satu bentuk kebentuk yang lain
  • Menggunakan pendekatan top-down

 Struktur Umum Pemrograman Terstruktur :

Hubungan Data dan Fungsi pada Pemrograman Terstruktur :


7. Pendekatan Berorientasi Objek

Karakteristik Pada Pendekatan Berorientasi Objek:

  • Pendekatan lebih kepada data (bukan fungsi/prosedur)
  • Program besar dibagi menjadi beberapa objek
  • Struktur data dirancang dan menjadi karakteristik dari objek-objek
  • Fungsi-fungsi yang mengoperasikan data tergabung dalam suatu objek yang sama
  • Data tersembunyi dan terlindung dari fungs/prosedur yang ada di luar
  • Objek-objek dapat saling berkomunikasi dengan saling mengirim message satu sama lain
  • Menggunakan pendekatan bottom-up

 Pengorganisasian Data dan Metode (Fungsi) pada Pendekatan Berorientasi Objek :






Komentar

Postingan populer dari blog ini

Pengujian Perangkat Lunak

1. Dasar-dasar pengujian perangkat lunak Pengujian perangkat lunak adalah proses menjalankan dan mengevaluasi sebuah PL secara manual maupun otomatis untuk menguji apakah PL sudah memenuhi persyaratan atau belum, atau untuk menentukan perbedaan antara hasil yang diharapkan dengan hasil sebenarnya. Pengujian bertujuan untuk mencari kesalahan. Pengujian yang baik adalah pengujian yang memiliki kemungkinan besar dalam menemukan kesalahan sebanyak mungkin dengan usaha sekecil mungkin. A. Tujuan Pengujian a. Menilai apakah perangkat lunak yang dikembangkantelah memenuhi kebutuhan pemakai. b. Menilai apakah tahap pengembangan perangkat lunak telah sesuai dengan metodologi yang digunakan. c. Membuat dokumentasi hasil pengujian yang menginformasikan kesesuaian perangkat lunak yang diuji dengan spesifikasi yang telah ditentukan. B. Testability Testability adalah kemampuan PL untuk dapat diuji artinyaseberapa mudah sebuah program komputer untuk bisa diuji. Karakteristik testa

Desain Arsitektur

Desain Arsitektur 1. Konsep desain arsitektur Konsep desain arsitektur adalah makna dan alasan untuk produk akhir arsitektur (bangunan atau struktur yang telah selesai) dan merupakan bagian pertama dari proses desain yang akan dikembangkan dan direalisasikan seperti halnya benih untuk ditanam. Dan seperti halnya benih tanaman, benih dapat berasal dari beragam sumber, dan menghasilkan banyak variasi dan hasil. Sehingga sangat jelas bahwa konsep merupakan bagian penting dari desain arsitektur. 2. Arsitektur perangkat lunak Arsitektur perangkat lunak mencakup “struktur keseluruhan perangkat lunak dan cara dimana struktur memberikan integrasi konseptual bagi suatu sistem”. Shaw dan Garlan menjelaskan sekumpulan properti yang seharusnya ditetapkan sebagai bagian dari desain  arsitektural: a. Properti struktural. Menentukan komponen suatu sistem dan cara dimana komponen-komponen tersebut dikemas dan berinteraksi satu dengan yang lain. b. Properti ekstra-fungsional. Menekankan pada bagaiman