Anda di halaman 1dari 20

PERTEMUAN 6

ORGANISASI BERKAS
Penyimpanan ataupun penulisan character demi
character yang ada didalam external memory, harus
diatur sedemikian rupa sehingga komputer bisa dengan
mudah menemukan kembali data-data yang tersimpan
didalamnya, aturan ini yang dikenal sebagai organisasi
file/berkas.
Organisasi file merupakan teknik yang digunakan
untuk menggambarkan dan menyimpan data/record
pada file.
ORGANISASI BERKAS
Terdapat 3 organisasi berkas utama, yaitu:
1. Sekuensial
 File dengan organisasi urut. Data yang disimpan
diurutkan berdasarkan urutan pemasukan data (urut
berdasarkan nomor record). Data ditambah selalu
menempati urutan berikutnya.
 Sekumpulan record yang disimpan dalam media
penyimpanan sekunder komputer, yang dapat diakses
secara berurutan mulai dari record pertama sampai
dengan record terakhir. Record per record searah.
 Dalam berkas sekuensial, rekaman yang ke i+1 akan
diletakkan tepat sesudah rekaman ke i, contoh :
ORGANISASI BERKAS
2. Sekuensial berindex
File dengan organisasi urut (sekuensial) dengan
pengaksesan secara langsung. Pada pengaksesan
berindex digunakan berkas khusus, yaitu berkas index
yang isinya berupa bagian data yang sudah tersortir.
Untuk mengakses file secara langsung pemakai program
harus memberikan nilai kunci utama dari record yang
diinginkan. Organisasi berkas berindex dirancang untuk
mengatasi kebutuhan dalam pengaksesan secara acak
pada file sekuensial.
3. Direct (Langsung)
Pembacaaan berkas dapat dilakukan langsung pada
sembarang posisi. Untuk mengakses record dapat
langsung menuju record yang diakses tanpa harus
membaca record-record sebelumnya.
ISTILAH-ISTILAH
KONSEP AWAL BERKAS
Medan Data (Field)
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 (Record)
Rekaman data adalah koleksi berbagai nilai medan
data (field) yang saling terkait.

Medan ke-1 Medan ke-2 …………. Medan ke-n

Rekaman Mahasiswa
Nama Nomor Fakultas Jurusan Dosen SPP Data-
Mahasiswa Mahasiswa Pembimbing lain
Berkas Data
Sebuah berkas merupakan koleksi dari rekaman-
rekaman (Record) yang sama, yang diletakkan dalam
peralatan penyimpan data komputer. Sebuah berkas
akan memiliki nama yang dikenal dengan sistem
operasi.
PENCARIAN REKAMAN (SEARCH)
Pencarian data sering juga disebut table look-up atau
storage and retrieval information adalah suatu proses
untuk mengumpulkan sejumlah informasi di dalam
pengingat komputer dan kemudian mencari kembali
informasi yang diperlukan secepat mungkin.
Algoritma pencarian (searching algorithm) adalah
algoritma yang menerima sebuah argumen kunci dan
dengan langkah-langkah tertentu akan mencari
rekaman dengan kunci tersebut. Setelah proses
pencarian dilaksanakan, akan diperoleh salah satu dari
dua kemungkinan, yaitu data yang dicari ditemukan
(successful) atau tidak ditemukan (unsuccessful).
1. Pencarian Sekuensial (Sequensial Search)
Pencarian beruntun atau pencarian Lurus (Linear
Search).
Pencarian secara sekuensial memproses rekaman-
rekaman dalam berkas sesuai urutan keberadaan
rekaman-rekaman tersebut sampai ditemukan
rekaman yang diinginkan atau semua rekaman
terbaca.
 Keuntungan : dapat dilakukan untuk kondisi data
apapun, baik terurut maupun tidak, numerik maupun
tidak
 Kekurangan : Tidak efektif
Algoritma Pencarian Sekuensial

1. Mulai
2. Indeks  1
3. while Indeks <= n
4. if Kunci(Cari) = Kunci(Indeks)
5. Hasil  Indeks
6. goto 11
7. end if
8. Indeks  Indeks + 1
9. end while
10. Hasil  tidak ketemu
11. Selesai
No.Record NIM Nama Fakultas Jurusan Dosen

1 215 Susan Ekonomi Manajemen Santos


2 154 Budi Teknik Komputer Endang
3 110 Dewi Teknik Elektro Seno
4 453 Ida Teknik Elekto Seno
5 101 Komar Teknik Elektro Seno
6 167 Soni Ekonomi Manajemen Santos
7 124 Suci Ekonomi Manajemen Santos

Agar kinerja pembacaan rekaman lebih baik maka


salah satu alternatif adalah melakukan pengurutan
nilai kunci rekaman.
2. Pencarian Biner (Binary Search)
Pencarian biner membandingkan kunci yang
dicari dengan rekaman pada posisi tengah dari
berkas. Bila sama berarti rekaman yang diinginkan
sudah ditemukan. Jika tidak sama berarti separuh
dari rekaman-rekaman dalam berkas akan
dieliminasi dari perbandingan yang selanjutnya
dan seterusnya sampai yang dicari diketemukan.
 Keuntungan : jauh lebih efektif daripada sequential
search
 Kekurangan : hanya dapat dilakukan pada rekaman-
rekaman yang telah terurut berdasarkan kunci yang
dicari
Algoritma Pencarian Biner:
1. awal 1
2. akhir n
3. while awal<=akhir do
4. tengah=(awal+akhir)/2
5. if kunci(cari)=kunci(tengah) then
Pencarian berakhir
Else if kunci(cari)>kunci(tengah) then
Awal=tengah+1
Else
Akhir=tengah-1
6. end
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
tengah = (awal+akhir)/2
tengah= (1+7)/2 = 8/2 = 4 -> Kcari:Ktengah -> 215 >
154 -> awal=tengah+1
tengah= (5+7)/2 = 12/2 = 6 -> Kcari:Ktengah -> 215 =
215 -> ketemu, probe =2
2.Pencarian Interpolasi/Interpolasi
Search
Pencarian Interpolasi tidak mencari posisi tengah
seperti algoritma pencarian binear, melainkan
menentukan posisi berikutnya.
 Keuntungan : jauh lebih efektif daripada sequential
maupun binary search
 Kekurangan : hanya dapat dilakukan pada rekaman-
rekaman yang telah terurut berdasarkan kunci yang
dicari dan kuncinya harus bertipe data numerik
Algoritma Pencarian Interpolasi:
1. awal 1
2. akhir n
3. while awal<=akhir do
4. berikut=(awal+kunci(cari) - kunci(awal) x (akhir-awal))
Kunci(akhir)-kunci(awal)
5. if kunci(cari)=kunci(berikut) then
Pencarian berakhir
Else if kunci(cari)>kunci(berikut) then
Awal=berikut+1
Else
Akhir=berikut-1
6. end
Flowchart utk pencarian Interpolasi
Mulai

AWAL = 1
AKHIR = N

Rekaman
>
AWAL : AKHIR Tidak
ditemukan

Berikut := AWAL+[(K_cari-K_awal)/(K_Akhir-K_Awal) *(Akhir-Awal)]

AKHIR = < Kunci(cari): = Rekaman


Berikut -1 Kunci (berikut) ditemukan

>
AWAL = Berikut +1 Selesai
CONTOH
Berikut = (1+ (109-101) (7-1)) = (1+(8/11)*(6)) = 1+0.73*6 = 1+4.36 = 5.36 = 5
(112-101)
-> Kcari:Kberikut -> 109 > 107 -> awal = berikut+1 -> awal = 5+1 = 6

Berikut = (6+ (109-109) (7-6)) = (6+(0/3)*(1)) = 6+0 = 6


(112-109)
-> Kcari:Kberikut -> 109 = 109 -> ketemu, probe=2

Anda mungkin juga menyukai