Skip to main content

Konsep Abstraksi dalam Bahasa Pemrograman

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

Popular posts from this blog

Pengertian Binding dalam Bahasa Pemrograman dan Kapan Terjadinya

Binding dimaksudkan sebagai pengikatan (association) antara suatu entity dengan atributnya, misalnya binding/pengikatan antara suatu variable dengan tipe datanya atau dengan nilainya, atau dapat juga antara suatu operasi dengan simbol, misalnya simbol + dikenali sebagai operasi penjumlahan atau simbol ^ dikenali sebagai operasi pangkat, dll.  Peristiwa binding dan kapan terjadinya binding (biasanya disebut dengan binding time ) berperan penting dalam membicarakan semantics suatu bahasa pemrograman. Beberapa kemungkinan binding time adalah:

Latihan Soal Jawab Matematika Diskrit

Berikut di bawah ini adalah latihan soal jawab untuk matematika diskrit dengan topik-topik: Pernyataan Logika Circuits dan Ekspresi Boolean Argumen (valid/tidak valid) Teori Himpunan Permutasi Fungsi --o0o-- Pernyataan Logika 1. Buatlah tabel kebenaran untuk menentukan yang mana tautology dan yang mana contradiction dalam pernyataan logika (a) dan (b) di bawah ini: a. (p ∧ q) ∨ (∼p ∨ (p ∧ ∼q)) b.  (p ∧ ∼q) ∧ (∼p ∨ q)

Contoh proses normalisasi relasi dari UNF – 1NF – 2NF – dan 3NF

Dalam posting tulisan tentang: “Tujuan dan Manfaat Normalisasi dalam Perancangan Database” , kita sudah mempelajari tentang: “Apa itu normalisasi” dan “Mengapa kita perlu melakukan normalisasi”. Kedua pertanyaan itu sudah terjawab dalam tulisan tersebut.  Kemudian dalam posting tulisan tentang: “Konsep Ketergantungan Fungsional, Normalisasi, dan Identifikasi Primary Key dalam Perancangan Sistem Database” , kita sudah mempelajari suatu konsep penting yang digunakan untuk melakukan normalisasi, yaitu konsep ketergantungan fungsional yang terdiri dari ketergantungan penuh, ketergantungan parsial atau sebagian, dan ketergantungan transitif. Proses normalisasi pertama-tama dilakukan dengan mengidentifikasi adanya ketergantungan-ketergantungan tersebut dalam relasi-relasi dan kemudian menghilangkannya. Cara melakukan normalisasi, mengidentifikasi berbagai macam ketergantungan, dan menghilangkan ketergantungan pada relasi-relasi bisa dipelajari ulang dalam postingan tulisan d...