pendekatan desain sistem informasi objek

Pendekatan berorientasi objek 


merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. Pada postingan saya ini merupakan bagian kedua dari overview penelitian Tugas Akhir saya (bagian pertama klik disini) yang akan membahas mengenai pendekatan yang saya gunakan untuk mengembangkan sistem perencanaan proses pemesinan berbasis sistem pakar untuk part rotationalyaitu Pengembangan Berorientasi objek

Pengembangan berorientasi objek berbeda dari pengembangan konvenisonal yang memandang perangkat lunak sebagai fungsi dan data yang terisolasi.

 Hasil gambar untuk algoritma dan struktur data
Algoritma + Struktur Data = Program
Persamaan itu menyatakan bahwa program perangkat lunak adalah sekumpulan mekanisme yang melakukan aksi – aksi pada data tertentu. Dengan demikian, pada pendekatan tersebut terdapat dua hal berbeda yang saling melengkapi dalam memandang pembangunan perangkat lunak, yaitu berfokus pada fungsi atau berfokus pada data.


Pada pendekatan konvensional, kebanyakan berfokus pada fungsi. Namun juga terdapat pendekatan yang fokus pada data terutama pada kubu basis data dan pemodelan informasi. Sementara itu, pandangan berorientasi objek berpusat pada objek yang mengkombinasikan data dan fungsionalitas. Keduanya dilakukan secara sekaligus, tidak hanya berfokus pada satu kubu saja. Berorientasi objek adalah diatasnya, objek yang didalamnya terkandung data sekaligus fungsi – fungsinya. Namun objek adalah memiliki layanan – layanan yang diberikan. Meskipun sepertinya terlihat sepele,hal ini merupakan pergeseran fokus yang sedemikian sederhana, namun mengakibatkan perubahan – perubahan proses pengembangan sistem yang radikal dan drastis karena mempengaruhi cara pandang dalam melihat unti – unit terkecil pembentuk sistem perangkat lunak.
Hasil gambar untuk algoritma dan struktur data

Pendekatan berorientasi objek adalah cara memandang persoalan dengan menggunakan model – model yang diorganisasikan seputar konsep objek yang mengkombinasikan struktur data dan perilaku suatu entitas. Pada pendekatan ini, organisasi perangkat lunak adalah sebagai kumpulan objek diskrit yang saling bekerja sama, berkomunikasi, dan berinteraksi menuju sasaran tertentu

Hariyanto mengutip pernyataan Jackson menyatakan entitas – entitas (“objek – objek”) lebih stabil dibanding fungsi – fungsi. Dengan demikian, pengembangan lebih baik dimulai terlebih dahulu dengan memodelkan bagian – bagian stabil sistem. Pemodelan fungsional yang lebih mudah berubah kemudian ditambahkan pada model stabilyang telah diperoleh. Pendekatan berorientasi objek cukup memenuhi kriteria ini 

Hasil gambar untuk pendekatan berorientasi objek
Pada pendekatan berorientasi objek, blok pembangun utama sistem perangkat lunak adalah objek dan/atau kelas. Heriyanto mengutip penjelasan dari Rumbaugh menyatakan bahwa kandidat – kandidat kelas umumnya dapat merupakan sesuatu yang dapat diperoleh dari kosakata (vocabulary) di ruang persoalan dan/atau ruang solusi. Kelas adalah deskripsi himpunan objek serupa. Kelas merupakan catak biru dari objek. Setiap objek memiliki identitas (berbeda dengan objek lain), state (data yang diasosiasikan dengannya), dan perilaku (user dapat melakukan sesuatu dengan objek dan objek dapat melakukan sesuatu dengan objek lain)
Pengembangan berorientasi objek tidak hanya memungkinkan informasi dipakai bersama dalam satu aplikasi, tetapi juga penggunaan ulang (reuse) pada rancangan atau kode pada proyek – proyek berikutnya. Coad – Yourdon mendefinisikan berorientasi objek dengan persamaan berikut :


Hasil gambar untuk pendekatan berorientasi objek

Berorientasi Objek = Objek + Klasifikasi + Pewarisan + Komunikasi

Pendefinisian di persamaan ini dapat dipandang sebagai ekspresi sangat minimal yang harus dipenuhi metodologi berpredikat pendekatan berorientasi objek. Rekayasa perangkat lunak berorientasi objek merupakan disiplin rekayasa dimana tujuan dari disiplin rekayasa adalah mengelola program dengan memecahnya menjadi potongan – potongan dalam ukaran yang dapat dikelola, serta menyembunyikan potongan – potongan ini di belakang antar muka dan menjadikan kebergantungan diantara potongan – potongan tersebut terhadap antar muka. Pada rekayasa perangkat lunak berorientasi objek, potongan – potongan ini adalah objek – objek suatu kelas. Sejak tahun 1990, pendekatan berorientasi objek telah menjadi pilihan utama bagi pengembangan perangkat lunak. Teknologi objek menggantikan pendekatan pengembangan perangkat lunak klasik sebelumnya .

 Kelas dan Objek

Hasil gambar untuk kelas dan objek

Kelas adalah abstraksi dari sesuatu yang ada pada domain persoalan, merefleksikan kemampuan sistem dalam menjaga informasi didalamnya, berinteraksi dengannya, atau keduanya. Kelas juga dapat dipergunakan untuk memodelkan abstraksi dari teknologi yang dipergunakan dalam mengimplementasikan solusi terhadap masalah (pada saat pemrograman dan perancangan). Kelas merupakan unsure statik dimana merupakan pengkapsulan nilai – nilai atribut dan layanan eksklusifnya. Kelas merupakan blok pembangun pada pendekatan berorientasi objek. Kelas objek mendeskripsikan kelompok objek seperti properti – properti (atribut – atribut) serupa, perilaku (operasi – operasi) yang common, keterhubungan dengan himpunan objek – objek lain dan semantik yang common .
Hasil gambar untuk common sistem informasi
Hariyanto mengutip pernyataan dari James Martin dan James J Odell mengemukakan objek adalah sesuatu yang dapat dikonsepkan yang diperlukan untuk pemecahan masalah. Objek dapat berupa konsep, abstraksi, atau sesuatu dengan batas – batas tegas dan memiliki arti untuk persoalan yang ditangani. Objek memiliki identitas dan dapat dibedakan. Identitasi berarti objek terbedakan oleh keberadaannya secara inheren dan bukan oleh properti – properti deskriptif yang dimilikinya. Objek adalah instan kelas, dimana kelas merupakan deskripsi satu objek atau lebih dengan sekumpulan atribut dan layanan yang seragam, termasuk pendeskripsian objek baru dalam kelas tersebut. Perbedaan antara kelas dan objek adalah objek merupakan entitas kongkret yang ada secara ruang dan waktu sedangkan kelas hanya merupakan representasi abstraksi.


Pembungkusan (Encapsulation)

Hasil gambar untuk encapsulation

Dalam sistem berorientasi objek, potongan – potongan informasi dan perilaku – perilaku spesifik yang bekerja pada suatu operasi digabungkan. Hal ini dirujuk dengan kata pembungkusan (encapsulation). Cara lain untuk memahami pembungkusan adalah membagi aplikasi – aplikasi menjadi bagian – bagian kecil yang secara fungsional berhubungan. Sebagai contoh pada kasus ATM (Anjungan Tunai Mandiri), terdapat informasi – informasi yang berhubungan dengan objek rekening seperti no_rekening, saldo, nama, alamat, dan sebagainya. Selain itu, terdapat pula perilaku – perilaku untuk objek rekening misalnya buka, tutup, penarikan, penyimpanan, ubah_nama, ubah_alamat, dan sebagainya. Informasi – informasi dan perilaku – perilaku tersebut dibungkus dalam objek rekening. Akibatnya, perubahan – perubahan pada sistem perbankan yang berkaitan dengan rekening – rekening dapat secara sederhana diimplementasikan satu kali saja pada objek rekening.
Hasil gambar untuk encapsulation
Keuntungan lain dari pembungkusan adalah membatasi efek – efek perubahan pada sistem. Misalnya, saat manajemen bank menentukan jika seseorang memiliki rekening pinjaman di bank yang bersangkutan, rekening itu harus dapat juga dipergunakan sebagai saran bagi penarikan rekening. Dalam sistem tanpa pembungkusan, akan dilakukan pendekatan langsung untuk analisis imbasnya. Pada dasarnya, penggunaan fungsionalitas penarikan dalam sistem tidak diketahui secara pasti dan dapat berada dimana saja, sehingga harus dilakukan pengecekan terhadap aplikasi perangkat lunak secara keseluruhan.Setelah ditemukan, harus dibuat perubahan – perubahan untuk dapat beradaptasi dengan kebutuhan yang baru. Jika diteliti, mungkin akan ditemukan sekitar 80% penggunaan metoda penarikan dalam sistem. Dengan sistem berorientasi objek, tidak perlu dilakukan pendekatan langsung untuk analisis. Pengecekan hanya dilakukan pada model sistem dan secara sederhana menemukan dimana perilaku penarikan terbungkus. Setelah melokalisasi fungsionalitas itu dalam rekening, maka hanya perlu dilakukan perubahan satu kali saja, yaitu pada objek dimana perilaku tersebut terbungkus .

Pewarisan (Inheritance)
 Hasil gambar untuk inheritance
Pewarisan adalah konsep dasar pemrograman berorientasi objek yang lainnya. Pada sistem berioreintasi objek, peawarisan adalah mekanisme yang memungkinkan penciptaan objek – objek baru berdasarkan objek lain yang sudah ada, dengan kata lain objek anak mewarisi segala sesuatu daru objek induk. Contoh pewarisan juga dapat dilihat pada dunia nyata, misalnya terdapat berbagai tipe dari mamalia, yaitu : manusia, harimau, anjing, onta, dan sebagainya. Pada terminologi berorientasi objek, objek mamalia memuat karakteristik – karakteristik yang bersifat umum. Objek manusia misalnya, mewarisi karakteristik – karakteristik yang dimiliki objek mamalia seperti : bernafas, makan, minum, bereproduksi, dan yang terpenting adalah menyusui. Selain itu, objek manusia memiliki karakteristik yang unik, seperti berpikir.

Hasil gambar untuk inheritance
Salah satu keuntungan dan pewarisan (inheritance) adalah kemudahannya untuk dipelihara. Saat sesuatu perubahan untuk informasi atau perilaku yang sama perlu terjadi pada seluruh objek, maka objek mamalia harus diubah dan objek – objek dibawahnya akan mewarisi perubahan pada objek ini.
Bila merajuk pada sistem ATM sebelumnya, pewarisan dapat dipakai untuk berbagai tipe rekening yang ada. Misalkan bank yang bersangkutan memiliki beberapa tipe rekening, yaitu tabungan, pinjaman, kartu kredit, serta deposito. Berbagai tipe rekening tersebut masing – masing memiliki karakteristik – karakteristik yang mirip. Masing – masing memiliki no_rekening, tingkat_sukubunga, serta pemilik_rekening sehingga harus dibuat objek yang dinamakan rekening untuk memuat karakteristik – karakteristik umum dari semua rekening. Objek – objek turunan masing – masing dapat memiliki karakteristik – karakteristik yang unik sebagai tambahan karakteristik – karakteristik yang diwarisi dari objek induk. Sehingga perubahan pada objek induk akan mengakibatkan perubahan pada semua objek anak , sedang objek anak bebas beradaptasi tanpa saling mengganggu satu sama lain atau mengganggu objek induknya [Nug05].

Polimorfisme
Hasil gambar untuk polimorfisme sistem informasi

Polimorfisme merupakan prinsip penting yang ketiga dari pemrograman berorientasi objek. Polimorfisme berarti suatu fungsionalitas yang diimplementasian dengan berbagai cara yang berbeda. Polimorfisme juga dapat diambil dalam dunia nyata, seperti misalnya bila dosen bertanya “Apakah saudara mengerti dengan apa yang saya jelaskan?”, maka beberapa orang akan menjawab “Ya”, beberapa orang menganggukkan kepala sambil bergumam “Hmm…hmmm”, sebagian lagi diam. Dari contoh ini dapat dilihat bahwa masing – masing memiliki respon tertentu terhadap pertanyaan dosen.
Pada terminologi berorientasi objek, ini berarti sebagian fungsionalitas tertentu memiliki berbagai implementasi. Sebagai contoh, misalkan akan dilakukan pengembangan sistem berbasis grafis, saat pengguna akan menggambar sesuatu, entah garis, elips, atau lingkaran maka akan memunculkan perintah gambar. Sistem akan mengenali berbagai bentuk gambar, masing – masing dengan perilakunya sendiri – sendiri. Seandainya pengguna akan menggambar sebuah garis, maka perintah untuk menggambar garis akan dibangkitkan.

Tidak ada komentar:

Posting Komentar