Senin, 14 Mei 2012

Abstractions

Abstraksi merupakan cara paling dasar dalam menangani kompleksitas. Abstraksi adalah kemampuan manusia untuk mengenali keserupaan antara object-object, situasi-situasi atau proses-proses yang berbeda di dunia nyata dan keputusan untuk berkonsentrasi pada keserupaan-keserupaan itu dan mengabaikan yang disebut sebagai perbedadan-perbedaan kecil yang ada.

Abstraksi adalah : Prinsip untuk mengabaikan aspek-aspek dari subyek yang tidak relevan untuk maksud tertentu untuk berkonsentrasi lebih penuh padanya.
Penerapan abstraksi berarti bahkan bila analis mengetahui banyak hal, dia memilih hal-hal tertentu yang relevan.
Manusia dapat membuat abstraksi dengan cara-cara berbeda bergantung kebutuhan penyelesaian yang dikehendaki. Manusia dalam penanganan persoalan penentuan kecepatan dan waktu benda yang jatuh dari langit (atas) saat mencapai tanah, maka entah benda itu pensil, batu, mobil, pesawat terbang yang terkena rudal, bulu ayam dan sebagainya diasumsikan di ruang tidak menghambat dan benda-benda itu sebagai titik massa. Dan ajaib, kita dapat menentukan saat dan letak benda tersebut jatuh serta dengan kecepatan berapa benda tersebut menabrak bumi.
Kita tidak berhubungan dengan pensil, batu, mobil, pesawat terbang, bulu ayam melainkan semuanya diabstraksikan menjadi titik massa. Abstraksilah yang membuata kemajuan pesat manusia meninggalkan makhluk-makhluk hidup lain.
Seringkali masalah yang berbeda membutuhkan sejumlah informasi yang berbeda pula pada areal yang sama. Sebagai contoh kasus sebuah TV. Ketika kita membuat program komputer untuk mengatur volume suara, perubahan channel dan pengaturan kontras, kita mungkin harus membuang atribut nomor seri karena tidak terlalu berguna. Akan tetapi ketika kita akan menelusuri transaksi penjualan TV, maka kita butuh nomor seri dari setiap TV yang kita jual.

Absraksi berorientasi Object
Abstraksi merupakan pemeriksaan yang selektif terhadap aspek-aspek tertentu pada suatu persoalan. Abstraksi berarti memfokuskan pada aspek-aspek esensi, inheren dan mengabaikan properti-properti yang merupakan akibatnya. Pada pendekatan orientasi object, abstraksi yang digunakan berfokus pada apa object itu. Ini dilakukan sebelum memutuskan bagaimana cara object itu diimplementasikan. Penggunaan abstraksi melindungi kebebasan untuk membuat keputusan-keputusan pokok penyelesaian persoalan dengan sejauh mungkin menghindari rincian-rincian yang terlalu dini.
Tujuan abstraksi adalah melakukan isolasi aspek-aspek penting untuk suatu maksud dan menindas aspek-aspek yang tidak penting. Abstraksi harus selalu mempunyai maksud, karena maksud yang menentukan apa yang penting. Model yang bagus adalah yang dapat menangkap aspek-aspek paling penting persoalan dan menghilangkan aspek-aspek lain yang tidak penting.
Abstraksi prosedural/fungsional/algoritmik adalah salah satu bentuk abstraksi yang digunakan pada analisis yang dicirikan dengan "function/subfunction". Prinsip ini menyatakan bahwa operasi yang mempunyai dampak tertentu di sistem dengan dinyatakan sebagai satu operasi tunggal meskipun kenyataanyan dapat sebarisan langkah di dalamnya.
Misalnya:
Kita menyatakan operasi/fungsi "pembelian barang" meski sebenarnya kita operasi itu sendiri dari pemeriksaan jumlah barang di persediaan, melakukan pendaftaran barang yang dipesan, pengiriman ke produsen dan sebagainya.
Pada level tertentu, kita mengabaikan rincian-rincian sehingga dalam konteks level itu persoalan menjadi jelas. Setelah itu, kita mendekomposisi operasi menjadi abstraksi-abstraksi lebih rinci, menjadi lebih rinci lagi dan seterusnya sampai diperoleh abstraksi atomik yang dapat diterapkan sebagai solusi.
Dekomposisi adalah berdasarkan object. Dikaitkan dengan pendekatan orientasi object maka abstraksi dapat dinyatakan sebagai berikut :
Abstraksi menunjukkan karakteristik-karakteristik esensi jenis object yang membedakannya dari jenis-jenis object yang lain dan memberikan batasan konseptual yang didefinisikan dengan tegas, relatif terhadap perspektif pengamat.
Pernyataan berfokus terhadap object. Terdapat beragam jenis abstraksi object tapi yang paling penting adalah abstraksi entitas (entity abstaction) yaitu object yang merepresentasikan model berguna entitgas domain persoalan atau domain solusi. Dengan abstraksi, beragam fitur berbeda banyak object secara selektif diabaikan sehingga memungkinkan kita konsentrasi pada fitur-fitur bersama (shared).

Prinsip Pengapsulan
Abstraksi tidak memperdulikan implementasi. Implementasi apapun tidak menjadi persoalan asalkan memenuhi kontrak di abstraksi. Abstraksi harus mendahului keputusan implementasi. Begitu implementasi dipilih maka implementasi itu seharusnya merupakan rahasia dan tersembunyi dari pemakai. Abstraksi membantu orang berfikir mengenai apa yang dilakukan, sementara pengapsulan memungkinkan program berubah dengan usaha terbatas, tidak menyebabkan propagasi perubahan.

Tidak ada komentar:

Posting Komentar