Pages

Selasa, 07 April 2015

Kuis Sistem Berkas IST Akprind Yogyakarta (2)

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.