Anda di halaman 1dari 12

Maju Mundur

Organisasi Berkas

Oleh :
Adi Fajaryanto C., S.Kom., M.Kom.
Maju 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

Organisasi Berkas Sekuensial


• Rekaman disimpan pada alamat-alamat di file
secara beruntun
• Rekaman yang masuk terlebih dulu akan
disimpan di alamat yang lebih kecil daripada
rekaman yang masuk sesudahnya
• Untuk menemukan sebuah rekaman harus
dilakukan proses pencarian terlebih dahulu
• Cara ini sangat fleksibel dan paling menghemat
ruangan penyimpan, karena ukuran file dapat
disesuaikan dengan banyaknya rekaman yang
tersimpan dan dapat mengembang dengan
mudah jika ada rekaman baru
Organisasi Berkas Sekuensial
•Dalam berkas sekuensial, rekaman yang ke i+1 akan diletakkan tepat
sesudah rekaman ke i, contoh :

1 2 3 ……... i i+1 i+2 …… N-1 n

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 Nomor Fakultas Jurusan Dosen SPP Data-lain


Mahasiswa Mahasiswa Pembimbing

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” :
Nama Nomor Fakultas Jurusan Dosen SPP Data
Mahasiswa Mahasiswa Pembimbing lain
Komarudin 0101 Teknik Kimia Tri,Ir 400.000

Dewi Sartika 0110 Teknik Sipil Siswanto,ST 500.000

Suci Hartati 0124 Teknik Arsitektur Suwandi,Ir 500.000

Budiani 0154 Teknik Elektro Mursih,Ir 550.000

Zainah 0160 Teknik Elektro Mudji,ST 400.000

Soni 0167 Teknik Geologi Sungkono,Ir 450.000

Susana 0215 Teknik Geologi Widayat,Ir 400.000

Akhmad Nurdi 0235 Teknik Geodesi Yatman, Ir 450.000

Ida Arini 0453 Teknik Geodesi Heru,ST 500.000

Triyanto 0976 Teknik Kimia Nuryani,ST 500.000


Flowchart utk pencarian biner

Mulai

AWAL = 1
AKHIR = N

> Rekaman
AWAL : AKHIR Tidak
ditemukan

TENGAH := [(AWAL+AKHIR)/2]

AKHIR = < Kunci(cari): = Rekaman


TENGAH -1 Kunci (tengah) ditemukan

>

AWAL = TENGAH +1 Selesai


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 25 28 33 38 39 48 49 69]
21 25 28 33 38 [39 48 49 69]
21 25 28 33 38 39 48 [49 69]
• TENGAH1 = [(1 + 9) / 2 ] = 5 Kcari : K tengah1 49 > 38
AWAL = TENGAH1 + 1 = 6

• TENGAH2 = [(6 + 9) / 2 ] = 7 Kcari : K tengah2 49 > 38


AWAL = TENGAH21 + 1 = 8

TENGAH3 = [ (8 + 9 ) / 2 ] = 8 Kcari : K tengah2 49 = 49


Ketemu, Probe = 3
• 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
End
Rekaman tidak ditemukan
End pencarian_biner
• Untuk rekaman dengan susunan sebagai berikut, berapa probe untuk menemukan
rekaman dengan kunci 49 bila digunakan pencarian interpolasi.

1 2 3 4 5 6 7 8 9
[21 25 28 33 38 39 48 49 69]
21 25 28 33 38 39 [48 49 69]

Perhitungan :

BERIKUT1 :=  (49 - 21)  = 5,6666 , dibulatkan 6


1  (69 - 21 (9 - 1)
 

Kcari : Kberikut = 49 > 38 AWAL = BERIKUT1 + 1 = 6 + 1 = 7

 (49 - 48) 
BERIKUT2 = 7  (69 - 48) (9 - 7)  7,0952 dibulatkan 8
 

Kcari : Kberikut2 = 49 = 49 ketemu, probe 2

Anda mungkin juga menyukai

  • Proposal Hut Ri 74-1
    Proposal Hut Ri 74-1
    Dokumen8 halaman
    Proposal Hut Ri 74-1
    Agum Rega R. Pratama
    Belum ada peringkat
  • Jadwal UAS Genap TA 2018-2019 Reguler
    Jadwal UAS Genap TA 2018-2019 Reguler
    Dokumen20 halaman
    Jadwal UAS Genap TA 2018-2019 Reguler
    Agum Rega R. Pratama
    Belum ada peringkat
  • Agum Rega KecerdasanBuatan
    Agum Rega KecerdasanBuatan
    Dokumen1 halaman
    Agum Rega KecerdasanBuatan
    Agum Rega R. Pratama
    Belum ada peringkat
  • Uuuu
    Uuuu
    Dokumen40 halaman
    Uuuu
    Agum Rega R. Pratama
    Belum ada peringkat
  • Buku
    Buku
    Dokumen11 halaman
    Buku
    Agum Rega R. Pratama
    Belum ada peringkat
  • Bahasa
    Bahasa
    Dokumen5 halaman
    Bahasa
    Agum Rega R. Pratama
    Belum ada peringkat
  • Bahasa Indonesia
    Bahasa Indonesia
    Dokumen2 halaman
    Bahasa Indonesia
    Agum Rega R. Pratama
    Belum ada peringkat
  • Puisi Bunda
    Puisi Bunda
    Dokumen2 halaman
    Puisi Bunda
    Agum Rega R. Pratama
    Belum ada peringkat
  • Puisi Bunda
    Puisi Bunda
    Dokumen2 halaman
    Puisi Bunda
    Agum Rega R. Pratama
    Belum ada peringkat