Apa itu Abstraction?
Abstraksi (dari bahasa Latin abs, yang berarti menjauh dari dan trahere, yang berarti menggambar) adalah proses menghilangkan atau mengurangi karakteristik dari sesuatu untuk menyederhanakannya menjadi seperangkat karakteristik penting.
Dalam pemrograman berorientasi objek, abstraksi adalah salah satu dari tiga prinsip utama (bersama dengan enkapsulasi dan pewarisan). Melalui proses abstraksi, seorang pemrogram menyembunyikan semua data yang tidak relevan tentang sebuah objek untuk mengurangi kompleksitas dan meningkatkan efisiensi.
Dengan cara yang sama seperti abstraksi yang kadang-kadang bekerja dalam seni, objek yang tersisa adalah representasi dari yang asli, dengan detail yang tidak diinginkan dihilangkan. Objek yang dihasilkan itu sendiri dapat disebut sebagai abstraksi, yang berarti sebuah entitas bernama yang terdiri dari atribut dan perilaku yang dipilih khusus untuk penggunaan tertentu dari entitas yang berasal. Abstraksi berhubungan dengan enkapsulasi dan penyembunyian data.
Abstraksi yang Diterapkan dalam Dunia Nyata
Dalam proses abstraksi, pemrogram berusaha untuk memastikan bahwa entitas tersebut diberi nama dengan cara yang masuk akal dan bahwa semua aspek yang relevan disertakan dan tidak ada yang berlebihan.
Sebuah analogi dunia nyata dari abstraksi mungkin bekerja seperti ini: Anda (objek) sedang mengatur untuk bertemu dengan seorang teman di sebuah kencan buta dan memutuskan apa yang harus Anda beri tahu agar mereka dapat mengenali Anda di restoran. Anda memutuskan untuk menyertakan informasi tentang di mana Anda akan berada, tinggi badan Anda, warna rambut Anda, dan warna jaket Anda. Ini semua adalah data yang akan membantu prosedur (teman kencan Anda menemukan Anda) berjalan lancar. Anda harus menyertakan semua informasi tersebut.
Di sisi lain, ada banyak informasi tentang Anda yang tidak relevan untuk situasi ini: nomor KTP Anda, kekaguman Anda pada film-film yang tidak dikenal, dan apa yang Anda bawa ke “show and tell” di kelas lima semuanya tidak relevan untuk situasi ini karena mereka tidak akan membantu teman kencan Anda menemukan Anda. Namun, karena entitas dapat memiliki berbagai abstraksi, Anda mungkin akan menggunakannya dalam prosedur lain di masa depan.