Konsep Abstraksi dalam bahasa pemrograman adalah suatu cara atau mekanisme untuk menyajikan suatu entitas yang hanya mencakup atribut yang paling signifikan. Konsep abstraksi adalah hal yang fundamental dalam pemrograman dan dalam ilmu komputer. Hampir semua bahasa pemrograman mendukung proses abstraksi melalui subprogram. Hampir semua bahasa pemrograman yang dirancang sejak tahun 1980 mendukung abstraksi data.
Konsep abstraksi dari suatu proses adalah salah satu yang tertua dalam rancangan/desain bahasa pemrograman. Semua subprogram adalah abstraksi-abstraksi dari suatu proses karena menyediakan suatu mekanisme bagi program untuk menentukan suatu proses, tanpa memberikan detil-detil tentang bagaimana program tersebut melakukan tugasnya (setidaknya untuk program yang memanggil subprogram tersebut).
Contohnya, ketika sebuah program perlu mengurutkan array dari data numerik, biasanya menggunakan subprogram untuk proses penyortiran. Ketika proses penyortiran diperlukan, statement seperti:
sortInt (list, listLen)
muncul di dalam program.
Pemanggilan ini merupakan abstraksi proses penyortiran, dimana algoritmanya tidak ditunjukkan. Pemanggilan ini tidak bergantung pada algoritma yang diimplementasikan dalam subprogram yang dipanggil tersebut.
Dalam kasus subprogram sortInt, satu-satunya atribut penting adalah nama array yang akan disortir, tipe data elemennya, panjang array, dan bahwa pemanggilan sortInt akan menghasilkan array yang disortir.
Algoritma yang digunakan untuk mengurutkan di dalamnya adalah atribut yang tidak penting bagi pengguna/programmer. Programmer hanya perlu melihat nama dan protokol dari subprogram penyortiran tersebut untuk dapat menggunakannya.
Penggunaan abstraksi data secara luas tentu mengikuti penggunaan proses abstraksi, karena bagian integral dan penting dari setiap abstraksi data adalah operasinya, yang didefinisikan sebagai abstraksi proses.
Tipe Data Abstrak
Implementasi dari konsep abstraksi data adalah tipe data abstrak. Tipe data abstrak adalah tipe data yang ditentukan pengguna yang memenuhi dua kondisi berikut:
- Representasi objek dari tipe tersebut tersembunyi dari unit program yang menggunakan objek ini, jadi satu-satunya operasi yang mungkin adalah melalui operasi yang disediakan di dalam definisi tipe tersebut
- Deklarasi tipe dan protokol untuk operasi pada objek tipe tersebut terkandung dalam unit sintaks tunggal. Unit program lain diizinkan untuk membuat variabel dari tipe yang ditentukan tersebut.
Contoh:
Stack (int size) {
stk_ptr = new int [size];
max_len = size - 1;
top = -1;
};
Stack stk(150);
Comments
Post a Comment