Apakah anda pernah mendengan istilah Linked List dalam dunia Komputer? Tentu jarang bukan. Linked List adalah salah satu bentuk struktur data, berisi kumpulan data (node) yang tersusun secara sekuensial, saling sambung - menyambung, dinamis. Dalam istilah ilustrasi di dunia nyata Linked List sering disebut juga Senarai Berantai. Dalam Konsepnya Linked List saling terhubung dengan bantuan variabel pointer. Jadi masing-masing data dalam Linked List disebut dengan node (simpul) yang menempati alokasi memori secara dinamis dan biasanya berupa struct yang terdiri dari beberapa field.
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality✓ Free Actions
Free to watch • No registration required • HD streaming
Searching atau pencarian merupakan suatu yang penting di pemrograman. Searching dapat diterapkan pada elemen array. Di sini akan dibahas dua macam metode searching, yaitu sequential searching dan binary searching.
Sequential Searching
Merupakan pencarian beruntun dari data pada elemen array dengan indeks terkecil hingga terbesar, atau sebaliknya juga bisa. Data yang ada tidak harus terurut atau boleh acak. Perumpamaan dari pencarian beruntun di sini seperti ketika kita akan mencari sebuah judul bab di buku yang tidak ada daftar isinya dan kita tidak tahu ada di halaman berapa bab tersebut. Sehingga kita harus mencari satu persatu dari awal hingga akhir atau sebaliknya dari akhir hingga awal. Konsep programnya seperti ini:
main()
{
  int n, cari;
  int data[10] = {10, 3, 15, 16, 8, 9, 10, 5, 2, 4};
  cari = 5;
  for(n=0;n<10;n++)
  {
   if(cari==data[n])
      printf("Ada di indeks-%d\n",n);
  }
}
Program di atas akan melakukan perulangan dari 0 sampai banyak data yaitu 10. Setiap perulangan dia akan mengecek apakah nilai yang dicari sama dengan nilai data elemen ke-n. Jika tidak sama maka tidak terjadi apa-apa dan jika setiap kali ada yang sama maka dia akan mencetak keterangan "Ada di indeks-n".
Berbeda dengan sequential searching, pada binary searching data harus urut. Itulah kelemahannya, karena untuk melakukan pengurutan data yang awalnya acak juga membutuhkan cara yang cukup panjang. Inti dari metode ini adalah menentukan titik kiri dan titik kanan suatu barisan data urut. Pada awalnya titik kiri bernilai '0' dan titik kanan bernilai indeks data terbesar. Setelah itu dicari titik tengahnya, dan langsung dicocokkan dengan data yang dicari. Jika sama maka pencarian berhenti dan menyatakan bahwa yang dicari ada pada indeks titik tengah tersebut. Namun juka tidak ketemu, dicek apakah data tengah lebih kecil atau lebih besar dari yang dicari. Jika titik tengah lebih besar maka dia dijadikan titik kanan menggantikan nilai terbesar dan titik kiri tetap. Dan jika titik tengah lebih kecil dari yang dicari, maka dia dijadikan titik kiri menggantikan '0' dan titik kanan tetap. Begitu seterusnya sampai titik tengah sama dengan yang dicari.
Perumpamaannya adalah mencari halaman 75 pada suatu buku tebal dengan total 200 halaman. Pertama kita membuka tengahnya, ternyata terdapat di halaman 100. Pastinya halaman 75 ada di sebelah kiri 100, maka kita membuka pertengahan antara halaman pertama dan halaman 100. Kemudian mendarat di halaman 50. Halaman 75 ada di kanan 50, maka dibuka pertengahan antara halaman 50 dan 100. Akhirnya ketemu di halaman 75, pencarian selesai. Contoh konsep programnya seperti ini:
main(){
  int kiri, kanan, cari,n;
  int data[20] = {1,1,3,4,5,5,6,7,9,10,12,14,15,17,19,20,21,22,25,27};
  cari = 14;
  n = 0;
  while(cari!=data[n])
  {
       }
}
Ini rangkuman yang kami buat sendiri, untuk materi bisa di download di sini :
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality✓ Free Actions
Free to watch • No registration required • HD streaming