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.
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.
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.
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.