Mundur
Organisasi Berkas
Organisasi Berkas Sekuensial Rekaman disimpan di dalam file secara beruntun berdasarkan waktu pemasukannya (rekaman yang masuk lebih dulu memiliki indeks / alamat yang lebih kecil dari yang dimasukkan kemudian) Organisasi Berkas Langsung Rekaman disimpan tidak secara beruntun, namun pada alamat yang didasarkan pada kunci rekaman Organisasi Berkas Sekuensial Berindeks Rekaman disimpan secara beruntun namun ditambahkan dengan adanya indeks yang akan mempermudah penemuan rekaman kembali
Maju
Mundur
Akses Sesuai dengan namanya ,berkas sekuensial sangat cocok untuk akses yang sekuensial, misal dalam aplikasi dimana sebagian besar atau semua rekaman akan diproses. Sebagai contoh adalah membuat daftar semua mahasiswa dalam sebuah Jurusan. Berkas sekuensial juga dapat diproses secara tunggal dan langsung, jika diketahui subskripnya.
Pencarian secara sekuensial memproses rekaman-rekaman dalam berkas sesuai urutan keberadaan rekaman-rekaman tersebut sampai ditemukan rekaman yang diinginkan atau semua rekaman terbaca. Sebagai contoh, rekaman-rekaman berkas mahasiswa diurutkan untuk mendapatkan pengurutan yang linier berdasar pada nilai kunci rekaman, baik secara alphabetis (huruf) ataupun numeris (angka) Medan Data Medan berisi nilai dasar yang membentuk sebuah rekaman. Isi sebuah medan bergantung pada atribut yang dimiliki oleh individu pemilik rekaman. Rekaman yang disimpan dalam berkas pada umumnya memiliki medan yang berfungsi khusus yaitu sebagai identitas rekaman yang memiliki sifat pembeda baik internal maupun eksternal. Rekaman Data Medan ke-1 Medan ke-2 . Medan ke-n
Rekaman Mahasiswa
Nama Mahasiswa Nomor Mahasiswa Fakultas Jurusan Dosen Pembimbing SPP Data-lain
Berkas Data Sebuah berkas merupakan koleksi dari rekaman-rekaman yang sama, yang diletakkan dalam peralatan penyimpan data komputer. Sebuah berkas akan memiliki nama yang dikenal dengan sistem operasi. Dibawah ini contoh berkas rekaman mahasiswa urut Nomor Mahasiswa :
Fakultas Teknik
Jurusan Kimia
SPP 400.000
Data lain
Dewi Sartika
Suci Hartati Budiani Zainah Soni Susana Akhmad Nurdi Ida Arini
0110
0124 0154 0160 0167 0215 0235 0453
Teknik
Teknik Teknik Teknik Teknik Teknik Teknik Teknik
Sipil
Arsitektur Elektro Elektro Geologi Geologi Geodesi Geodesi
Siswanto,ST
Suwandi,Ir Mursih,Ir Mudji,ST Sungkono,Ir Widayat,Ir Yatman, Ir Heru,ST
500.000
500.000 550.000 400.000 450.000 400.000 450.000 500.000
Triyanto
0976
Teknik
Kimia
Nuryani,ST
500.000
Mulai
AWAL = 1 AKHIR = N
AWAL : AKHIR
>
TENGAH := [(AWAL+AKHIR)/2]
AKHIR = TENGAH -1
<
Rekaman ditemukan
Proc pencarian_biner /* n buah rekaman diurutkan menaik menurut kunci rekaman */ AWAL :=1 Akhir := n While AWAL AKHIR do tengah := [ (awal+akhir)/2] if kunci (cari) = kunci (tengah) then pencarian berakhir. else if kunci(cari) > kunci (tengah) then AWAL := TENGAH + 1 else AKHIR := TENGAH 1 end rekaman tidak ditemukan end pencarian_biner
Kolom Nomor mahasiswa menunjukkan nilai yang urut dari kecil ke besar, atau Kunci1 < kunci2 < kunci3 < . Kunci I < Kunci n
Pencarian Biner untuk sebuah berkas dengan rekaman yang telah diurutkan jumlah probe yang diperlukan untuk membaca sebuah rekaman dapat diusahakan untuk diperkecil dengan menggunakan teknik pencarian biner. Jika kuncicari < Kuncitengah, maka bagian berkas mulai dari Kuncitengah sampai akhir berkas dieliminasi. Sebaliknya jika kuncicari > Kuncitengah maka bagian berkas mulai dari depan sampai dengan Kuncitengah dieleminasi. Pada contoh pertama berikut ini akan dicari rekaman dengan kunci 49. Bilangan yang dicetak tebal menunjukkan rekaman yang sedang dibandingkan dan tanda kurung membatasi bagian berkas yang tersisa yang masih harus diperbandingkan. Tanda [ untuk AWAL dan tanda ] untuk AKHIR.
1 2 3 4 5 6 7 8 9
[21 21 21
25 25 25
28 28 28
33 33 33
38 38 38
39 [39 39
48 48 48
49 49 [49
TENGAH1 = [(1 + 9) / 2 ] = 5 AWAL = TENGAH1 + 1 = 6 TENGAH2 = [(6 + 9) / 2 ] = 7 AWAL = TENGAH21 + 1 = 8 TENGAH3 = [ (8 + 9 ) / 2 ] = 8 Ketemu, Probe = 3
Kcari : K tengah1
49 > 38
Kcari : K tengah2
49 > 48
Kcari : K tengah2
49 = 49
Maju
Mundur
Maju
Mundur
Maju
Mundur
Pencarian Interpolasi Berbeda dengan pencarian biner yang memilih posisi rekaman yang akan diperbandingkan berikutnya sebagai tepat berada ditengah sisa berkas yang belum diperiksa. Pencarian interpolasi tidak mencari posisi TENGAH seperti halnya algoritma pencarian biner, melainkan menentukan posisi berikutnya, dengan menggunakan algoritma sebagai berikut :
Proc pencarian_interpolasi /* n buah rekaman dalam berkas diurutkan menaik menurut kunci rekaman */ AWAL := 1 Akhir := n while AWAL AKHIR do BERIKUT := AWAL kunci (dicari) - kunci (AWAL) (AKHIR - AWAL
kunci (AKHIR) - kunci (AWAL)
if kunci (cari) = kunci (berikut) then pencarian berakhir. else if kunci (cari) > kunci (berikut) then AWAL := berikut + 1 else AKHIR := berikut 1
Untuk rekaman dengan susunan sebagai berikut, berapa probe untuk menemukan rekaman dengan kunci 49 bila digunakan pencarian interpolasi. 1 [21 21 2 25 25 3 28 28 4 33 33 5 38 38 6 39 39 7 48 [48 8 49 49 9 69] 69]
Perhitungan : BERIKUT1 :=
(49 - 21) 1 (69 - 21 (9 - 1)
= 5,6666 , dibulatkan 6
AWAL = BERIKUT1 + 1 = 6 + 1 = 7
dibulatkan 8
Kcari : Kberikut2 = 49 = 49
ketemu, probe 2