Senin, 17 Desember 2018

searching dalam bahasa C


          Searching dalam bahasa c
Searching bisa diartikan tindakan untuk mengambil informasi berdasarkan kunci tertentu dari beberapa informasi yang disimpan.
Kunci (key) nya digunakan untuk melakukan pencarian rekaman yang diinginkan dari satu set daftar data.
Kunci (key) nya itu harus unik atau bisa disebut tidak data yang sama dalam data.
Contoh: 
Data mahasiswa terdiri dari nama,kelas,nim,tanggal lahir.
Nimnya itulah yang digunakan sebagai kunci (key) data karena unik.
 
Beberapa yang saya akan jelaskan dalam pencarian(searching) dalam algoritma:
·        Linear search.
·        Binary search.
·        Interpolation search.
 
                        Linear search.
Linear search membandingkan setiap elemen dari array dengan kunci search.
Karena larik tidak dalam urutan tertentu, kemungkinan besar nilainya akan ditemukan di elemen pertama seperti yang terakhir.
Oleh karena itu, rata-rata, program harus membandingkan kunci search dengan setengah elemen dari array.
 
Algorithm:
1.    n : total record of array x.
2.    For each x[i], 0 £  i £ n-1, check whether x[i] = key.
3.    If x[i] = key, then the searched data is found in index=i. Finished. 
4.    If x[i] ¹ key, then continue searching until the last data which is i = n-1.
5.    If i= n-1 and x[i] ¹ key, it means the data is not exist in the list, and set index = -1. Finished. 
 
                        Binary search 
Dalam linear search berfungsi baik untuk array kecil atau tidak disortir namun untuk array besar linear search tidak efisien.
Jika susunan disortir teknik binary search berkecepatan tinggi dapat digunakan.
 
 
Dalam kodingannya : 
 
Algorithm:
1. n : total record of array x.
2. left=0,  right= n-1.
3. mid =(int) (left + right)/2.
4. If x[mid]=key then index = mid. Finished.
5. If x[mid]<key then left = mid+1.
6. If x[mid]>key then right = mid-1.
7. If left £ right and x[mid] ¹ key, then repeat point 3.
8. If x[mid] ¹ key then index = -1. Finished.
 
                        Interpolation search.
Teknik Interpolation search dilakukan pada data yang diurutkan.
Teknik Interpolation search hampir mirip dengan teknik binary search.
Teknik Interpolation search dilakukan dengan perkiraan lokasi data.
 
Contoh:
Jika kita ingin mencari nama di buku telepon, misalnya yang diawali dengan huruf T, maka kita tidak akan mencari dari awal buku, tetapi kita membukanya di 2/3 atau ¾ dari buku.
 
Dalam kodingannya : 
Algorithm:
1.    In the interpolation search, we'll split the data according to the following
 formula:
     mid = kunci – data [min] / data[max] – data [min]   * (max - min) + min         


2.    If data[mid] = sought data, data has been foundsearching is stopped and return mid.
3.    If data[mid]!= sought datarepeat point **
4.    **Searching is continued while sought data > data[min] and sought data < data[max].
5.    Looking for a mid value by entering into the interpolation formula
6.    If data[mid] > sought data, high = mid – 1
7.    If data[mid] < sought data, low = mid + 1
8.    It will be looped until the requirements point ** are not met then return (-1), data not found.

 
 
 
 
 
 


Tidak ada komentar:

Posting Komentar