1.
Diketahui tabel Mahasiswa dan contoh instance dengan metode Physical Sequential:
NIM (CHAR[10])
|
NAMA (CHAR[10])
|
121051025
|
Seprindo AP
|
141052012
|
Ari PA
|
141052038
|
Kartika I
|
141052111
|
Edy A
|
141052113
|
Dean AL
|
141052143
|
Galih A
|
Langkah-langkah menemukan record dengan metode nilai kunci:
A. METODE BINARY SEARCH
* 14105211
Kunci:
121051025 141052012 141052038
141052111 141052113 141052143
[1] [2] [3] [4] [5] [6]
Kunci yang
ditelusuri: 14105211
Jika dibandingkan
maka kuncicari<kunci[1], maka dapat disimpulkan bahwa kunci tersebut tidak
akan ketemu. Jika dijabarkan maka sebagai berikut.
Lkh ke
|
BAWAH
|
ATAS
|
TENGAH
|
K[TENGAH]
|
Ket.
|
1
|
1
|
6
|
7 div 2= 3
|
141052012
|
False
|
2
|
1
|
3-1=2
|
3 div 2=1
|
121051025
|
False
|
Batas bawah=nilai tengah dan tidak ketemu, maka kunci yang ditelusuri tidak ditemukan.
* 141052143
Kunci:
121051025 141052012 141052038
141052111 141052113 141052143
[1] [2] [3] [4] [5] [6]
Kunci yang
ditelusuri: 141052143
Lkh ke
|
BAWAH
|
ATAS
|
TENGAH
|
K[TENGAH]
|
Ket.
|
1
|
1
|
6
|
7 div 2= 3
|
141052012
|
False
|
2
|
3+1=4
|
6
|
10 div 2=5
|
141052113
|
False
|
3
|
5+1=6
|
6
|
12 div 2=6
|
141052143
|
True
|
Kunci yang
ditelusuri ketemu pada langkah ke 3,
posisi record pada urutan ke 6 dengan waktu akses 0 log 6 = 0.77815125038 second.
B. METODE
INTERPOLATION
Pada soal tersebut saya membuat perumpamaan yaitu nilai char “12105” ditiadakan, sehingga hanya tersisa 4 angka dibelakang yang digunakan, lalu angka sisa tadi ddirubah menjadi numeric yang sebelumnya typenya char. Perumpamaan ini hanya untuk soal ini saja tidak untuk soal atau kasus lain.
a) Untuk yang 14105211(211)
Next=1+((kunci+recordAwalSelanjutnya)/(recordAkhir-recordAwalSelanjutnya))*(akhir-awalselanjutnya)
Next=1+((211-1025)/(2143-1025))*(6-1)
Next=1+(-0.728)*5
Next=1+(-3.640)
Next=2.640
Hasilnya tidak ketemu, karena dalam proses perhitungan menghasilkan minus(-) sehingga tidak ketemu.
b) Untuk yang 141052143(2143)
Next=1+((kunci+recordAwalSelanjutnya)/(recordAkhir-recordAwalSelanjutnya))*(akhir-awalselanjutnya)
Next=1+((2143-1025)/(2143-1025))*(6-1)
Next=1+(1)*5
Next=6
Jadi kunci 141052143 ketemu pada langkah ke 6.
Pada soal tersebut saya membuat perumpamaan yaitu nilai char “12105” ditiadakan, sehingga hanya tersisa 4 angka dibelakang yang digunakan, lalu angka sisa tadi ddirubah menjadi numeric yang sebelumnya typenya char. Perumpamaan ini hanya untuk soal ini saja tidak untuk soal atau kasus lain.
a) Untuk yang 14105211(211)
Next=1+((kunci+recordAwalSelanjutnya)/(recordAkhir-recordAwalSelanjutnya))*(akhir-awalselanjutnya)
Next=1+((211-1025)/(2143-1025))*(6-1)
Next=1+(-0.728)*5
Next=1+(-3.640)
Next=2.640
Hasilnya tidak ketemu, karena dalam proses perhitungan menghasilkan minus(-) sehingga tidak ketemu.
b) Untuk yang 141052143(2143)
Next=1+((kunci+recordAwalSelanjutnya)/(recordAkhir-recordAwalSelanjutnya))*(akhir-awalselanjutnya)
Next=1+((2143-1025)/(2143-1025))*(6-1)
Next=1+(1)*5
Next=6
Jadi kunci 141052143 ketemu pada langkah ke 6.