STRUKTUR DATA
Bagi programmer, istilah struktur data tentu bukanlah sesuatu yang asing di telinga. Bahkan programmer tentu juga paham apa saja tipe struktur data. Ini wajar saja mengingat struktur data itu adalah salah satu bagian penting ketika seorang programmer hendak membuat suatu program.
Makanya, setiap orang yang tertarik dengan bidang ini pun wajib memahami struktur data dengan baik terlebih dahulu. Untuk penjelasan lebih lengkapnya bisa Anda simak di bawah ini.
Apa Itu Struktur Data?

Istilah struktur data juga berarti cara tertentu dalam menyimpan, mengatur maupun mengorganisir data, baik itu di dalam memori komputer ataupun media penyimpanan eksternal sehingga bisa dimanfaatkan secara efektif dan efisien. Kedua pengertian tersebut adalah definisi struktur data jika didasarkan pada ilmu komputer.
Baca juga: Pentingnya Data Center Untuk Menunjang Bisnis
Sementara jika didasarkan pada teknik pemrograman, struktur data mempunyai arti yang berbeda. Yaitu tata letak data yang memuat kolom data, baik itu kolom yang bisa dilihat pengguna maupun kolom yang cuma dipakai untuk tujuan pemrograman saja sehingga tidak bisa dilihat oleh pengguna.
Tipe Struktur Data
Lanjut dengan tipe struktur data, ini kurang lebih ada 6 yaitu tipe Graph, Tree, Queue, Stack, Linked List dan Array. Penjelasan singkat keenam tipe tersebut ialah sebagai berikut.
1.Tipe Graph
Tipe Graph ini adalah tipe yang cukup sering digunakan dalam berbagai kesempatan. Graph sendiri merupakan struktur data yang non-linear dan terdiri dari kumpulan node. Node-node tersebut disambungkan oleh suatu garis tertentu.
Garis yang dimaksud bisa memiliki arah atau justru sebaliknya. Contoh untuk tipe ini yang sangat mudah Anda amati ialah jalur network di sebuah LAN, jalur telepon di suatu kota dan lain sebagainya.
2.Tipe Tree
Seperti namanya, tipe yang kedua ini bisa diibaratkan dengan akar di suatu pohon. Jadi, tipe ini bisa dimaknai sebagai kumpulan node dan masing-masing node tersebut tersusun dari value dan juga berbagai referensi lainnya. Nah, Tree yang terdiri atas maksimal 2 anak akan disebut sebagai Binary Tree.
Jika Anda lihat, Binary Tree mempunyai dua sub Tree yang terletak di bagian kiri serta kanan. Ciri-cirinya adalah bagian kiri mempunyai nilai root yang lebih kecil dibandingkan dengan bagian yang kanan.
Untuk mengakses data dalam Tree ini ada 3 cara yang bisa Anda lakukan, yaitu postorder, pre-order dan inorder.
3.Tipe Queue
Tipe struktur data yang lainnya ialah Queue. Ini adalah struktur data yang bersifat LIFO atau Last In First Out. Dalam Queue ini juga ada 3 operasi sekaligus yang bisa Anda lakukan yakni peek atau melihat data yang paling awal dari suatu Queue, dequeue atau menghapus data yang pertama dari Queue dan enqueue atau memasukkan data dalam Queue.
4.Tipe Stack
Stack ini adalah tipe yang mirip seperti Queue. Tipe ini juga mempunyai sifat LIFO karena termasuk struktur data yang linear. Selayaknya Queue, dalam Stack ini juga ada 3 jenis operasi sekaligus yang bisa dilakukan.
Operasi pertama ialah Peek atau memantau data teratas Stack. Operasi kedua ialah Push atau yang bisa diartikan sebagai memasukkan suatu data baru dalam Stack, dan operasi yang terakhir ialah Pop atau menghapus data yang paling atas dalam Stack.
5.Tipe Linked List
Jika diartikan secara kasar, maka Linked List berarti daftar yang terhubung. Ya, sesuai dengan namanya, tipe satu ini memang berupa potongan-potongan aneka macam data yang tersimpan secara acak.
Berbagai potongan data tersebut akan ada dalam memori komputer dan data yang dimaksud memiliki referensi yang saling menunjuk satu sama lain.
Jadi, sudah paham bukan kenapa tipe ini disebut sebagai Linked List? Dalam tipe satu ini, data yang pertama biasa disebut sebagai head, sementara data yang terakhir akan disebut sebagai tail.
Jika melihat jumlah data yang diinput atau dimasukkan, Linked List memiliki kemampuan untuk terhubung baik itu secara singly linked list ataupun doubly linked list.
Maksud dari singly linked list ialah data bisa diakses hanya dengan arah maju mulai dari data pertama atau head ke data terakhir atau tail. Data tersebut tidak bisa diakses sebaliknya, yakni dari tail ke head.
Sementara untuk doubly linked list, data bisa diakses dari dua arah yakni dari head ke tail atau sebaliknya, dari tail ke head. Dengan kata lain, aksesnya bisa dibuat bolak balik.
6.Tipe Array
Selanjutnya ialah tipe Array. Ini adalah tipe yang memiliki kumpulan elemen dan elemen-elemen tersebut jaraknya saling berdekatan dalam memori.
Dalam Array ada beberapa jenis operasi yang dipakai yaitu replace, sort, delete, insert, search dan lain sebagainya. Tipe ini juga mempunyai dua jenis dimensi, yaitu 1 dimensi dan juga multi-dimensi.
Hallo semua,terimakasih sudah mampir ke blog saya, pada kesempatan kali ini saya akan memberikan sedikit ilmu tentang "Interpolation Search"yang terdiri dari Teknis/tema,Algoritma,contoh program,dan outpit dari program itu sendiri.INTERPOLATION SEARCH
1.Teknis/Tema
Interpolation Search adalah sebuah algoritma atau metode untuk mencari nilai key yang diberikan dalam array diindeks yang telah diperintahkan oleh nilai – nilai kunci.
Teknik ini dilakukan pada data yang sudah terurut berdasarkan kunci tertentu. Teknik searching ini dilakukan dengan perkiraan letak data. Contoh ilustrasi: jika kita hendak mencari suatu kata di dalam kamus telepon, misal yang berawalan dengan huruf J, maka kita tidak akan mencarinya dari awal buku, tapi kita langsung membukanya pada 1/3 atau 1/4 dari tebal kamus.
Rumus posisi relatif kunci pencarian dihitung dengan rumus:
- Jika data[posisi] < data yg dicari, low = pos + 1
2.Algoritma Interpolation Search
- Mulai
- Banyaknya record array (k)
- Nilai awal min=0 ; max=k-1
- Hitung mid= min + ((kunci - k[min]) * (max - min)) /(k[max] – k[min])
- Bandingkan data yang dicari(kunci) dengan data posisi tengah(mid)
- Jika lebih kecil, proses dilanjutkan dengan posisi max = posisi tengah-1
- Jika lebih besar, proses dilanjutkan dengan posisi min=posisi tengah+1
- Jika data posisi tengah(mid) = data yang dicari(kunci) , maka index=mid, selesai
- Jika min<=max dan k[mid]=!kunci, maka ulangi langkah 3
- Jika k[mid]=!kunci, maka index=-1
- selesai
3.Contoh program
Berikut ini adalah contoh program interpolation search yang dapat saya berikan
4.Output
Dan ini adalah hasil output dari program Interpolation Search diatas
