Abstract Data Type


Abstract Data Type

Abstract Data Type (ADT) adalah kumpulan dari elemen-elemen data yang disajikan
dengan satu set operasi yang digambarkan pada elemen-elemen data tersebut.(JENI)
Apa itu struktur data?
  1. Cara menyimpan data didalam komputer sehingga dapat digunakan secara efisien.(Wikipedia)
  2. Merupakan organisasi informasi, biasanya di memory, untuk efisiensi algoritma yang lebih baik. (http://www.nist.gov/dads)
  3. Representasi data yang diberikan dan operasi yang diperbolehkan pada data untuk mendapatkan efisiensi.(Weiss)
    Dari 3 definisi diatas setidaknya kita sudah mempunyai gambaran tentang struktur data, ga tau gambarnya kayak apa??
    Daripada saya ikut binun mikirin gambarnya struktur data, kita cari tau aja mengapa koq kita membutuhkannya/mempelajarinya. Tepi sebelum lanjut ada jawaban dari beberapa mahasiswa yang sedang mengampu mata kuliah ini. Sebut saja bunga, fulan, dan mawar.Mereka berkata.
    Bunga: “terpaksa mas“,
    Fulan : „dah kadung ngambil mata kuliahnya..“
    Mawar: “karena dosennya Pak ***** mas…”

    Karena jawaban mereka kurang meyakinkan, jadi saya ambil dari buku aja alasanya, yaitu sebagai berikut:
    • Untuk efisiensi.
    • Membantu dalam mendapatkan komponen yang bisa digunakan berkali-kali.
    • Dalam paradigma object-oriented digunakan untuk mendukung enkapsulasi, penyembunyian informasi(information-hiding) dan abstraksi.
    • Terdapat banyak tipe dari struktur data diantaranya : list, stack, queue, dll. Masing-masing memiliki performa yang berbeda pada situasi tertentu. Programmer yang baik tau kapan harus menggunakan struktur data tersebut pada situasi yang tepat.
    Hubungan Algoritma dan Struktur Data
    Program adalah kumpulan instruksi komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ini ditulis dengan menggunakan bahasa pemrograman. Jadi bisa kita sebut bahwa program adalah suatu implementasi bahasa pemrograman. Beberapa pakar memberi formula bahwa:
    program = struktur data + algoritma
    Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya.




    Struktur data sebagai wadah
    Kan tadi masih binun tentang struktur data ya?? Karena saya ini ga pinter pemrograman seperti anda-anda jadi saya pake ilustrasi aja. Anggap aja sekumpulan satu atau lebih data adalah kue/biskuit dan struktur data adalah toples/tempat kue.
    Topleskue

    Jadi Struktur data bisa dikatakan sebagai wadah (container) dari sekumpulan data. Kalo memakai analogi diatas, dalam toples tersebut kita bisa melakukan beberapa perlakuan sebagai berikut.
    • Menambahkan kue kedalam toples. (add)
    • Mengeluarkan kue dari dalam toples. (remove)
    • Mencari kue yang spesifik dalam toples. (find)
    • Mengosongkan toples dan mengecek apakah toples kosong.
      Nah tinggal mengganti kata kue dengan data dan toples dengan struktur data kan sama aja perlakuannya.
      Jika dalam bahasa jawa ngoko maka bisa ditulis seperti ini, Thing merupakan tipe data yang digunakan.
      type interface

      Biar kita lebih mengenal jenis-jenis struktur data ayo tak ajak kenalan ma mereka, mereka baik-baik kok. Pertama-tama kita kenalan sama yang namanya LIST.
      LIST
      list-ball

      List adalah koleksi item yang pada setiap item memiliki posisi.
      Kita bisa mengakses semua item dari list dari indeksnya, sebagai contoh yang paling sering kita gunakan yaitu arrayUntuk operasi yang bisa digunakan pada list yaitu sebagai berikut:
      list-interface

      STACK
      stack

      Stack → struktur data tumpukan. julukannya adalah LIFO(Last In First Out).
      Dalam stack operasi yang umum digunakan yaitu pop, push, dan top.
      Pop merupakan pengambilan pengambilan item yang terakhir dimasukkan kedalam stack atau item paling atas (top).
      Push merupakan penambahan item diatas item yang teratas atau setelah yang terakhir masuk.
      Contohnya ya tumpukan koran, majalah, dan lain-lain. Operasi stackmemerlukan waktu yang konstan sehingga cepat operasinya.
      Berikut adalah antarmuka stack dalam bahasa jawa.
      stack interface

      QUEUE
      antrian ball

      Queue/antrian pada prinsipnya sama seperti antrian yang ada didunia yang saya tinggali tapi bukan di negara saya, jadi yang pertama ngantri ya dia yang keluar dari antrian dulu. Dan meskipun yang antri berjuta-juta atau bermilyar data, anda ga perlu khawatir data anda akan mati karena terinjak-injak atau pingsan karena antrian dalam pemrograman ga seperti yang ada di negara kita ni.
      Berbeda dengan stack, pada stack item yang paling terakhir masuk adalah yang kluar dulu, tapi pada antrian item yang ada di depan (paling duluan masuk antrian) adalah yang paling kluar dulu.
      Pada antrian juga memerlukan waktu yang konstan sehingga pemrosesannya cepat.
      Berikut adalah antarmuka queue dalam pendekatan bahasa jawa.
      interface-antrian

      Nah, tiga aja dulu yang q kenalin, ntar yang laennya bisa kenalan sendiri. Kan 3 tipe struktur data diatas yang bakal sering ditemui, makanya biar ga sungkan lagi kalo ketemu.
      Sekian dulu, smoga bermanfaat.
      Referensi :
      Manurung, Ruli . Diktat Kuliah Algoritma dan Struktur Data, Fasilkom UI. 2007
      Siswantoro, Hari. Diktat Kuliah Algoritma dan Struktur Data. Jurusan Teknik Elektro UJS. 2006

      “Dialog-dialog ga penting yang ada dalam tulisan ini hanyalah fiktif belaka, hanya sebagai selingan. Jika ada kesamaan nama tokoh, peristiwa atau kejadian itu hanyalah kebetulan.”


      Waspadalah…waspadalah…Ingat kepandaian itu bisa diraih tidak hanya karena ada niat pelakunya, tetapi juga karena ada kesempatan untuk belajar.

      Leave a Reply

      Fill in your details below or click an icon to log in:

      WordPress.com Logo

      You are commenting using your WordPress.com account. Log Out / Change )

      Twitter picture

      You are commenting using your Twitter account. Log Out / Change )

      Facebook photo

      You are commenting using your Facebook account. Log Out / Change )

      Google+ photo

      You are commenting using your Google+ account. Log Out / Change )

      Connecting to %s