Professional Documents
Culture Documents
Agar dapat mengacu pada record-record yang diinginkan pada suatu file maka file -
filenya dibentuk dalam aturan-aturan atau organisasi yang teratur dan konsisten.
Ada bermacam organisasi dari file yang secara umum dikelompokkan ke dalam
system pengorganisasian file dasar sebagi berikut :
1. Pile file
2. sequential file
3. index sequential file
4. multiple index file
5. direct file
6. multiring file
1. Pile File
Pile File adalah pengorganisasian file struktur dasar yang paling sederhana dan tak berstruktur.
Struktur ini jarang digunakan secara praktis namun basis evaluasi struktur lainnya. Data pada
pile file tidak dianalisis untuk memenuhi kategori tertentu dan panjang rekord dapat bervariasi
• Bentuk record mungkin saja variable length dan elemen data bisa tidak sama
Record –1
Nim=0017021;Nama=Umar;tgl-lahir=20-12-1960;Pekerjaan=Marketing
Record –2
Manfaat:
• Data tersusun secara kronologis
• Mudah dimanfaatkan, data yang datang langsung disimpan ke dalam file tanpa
proses apapun
• Mudah dibuat (dicreate), tapi report untuk mencari sesuatu dari dalamnya
• Kumpulan data manual biasanya adalah sebuah pile file
• Sebagai perbandingan dengan bentuk-bentuk file komputer lainnya
Performance
1. Record Size
• Isi file ditentukan oleh 2 hal:
• Menyimpan data yang dibutuhkan
• Data yang belum disimpan tidak perlu mendapat perhatian sama sekali
2. Fetch a record
• Waktu pencarian bisa sangat lama
• Data mungkin berada dimana saja di dalam file
• Sangat dianjurkan untuk membagi file dalam block-block
• Pencarian dilakukan per block
• Tetapi tidak tertutup kemungkinan data baru ditemukan pada block yang
terakhir
4. Insert a record
• Bisa dilakukan dengan sangat cepat, karena file tidak terstruktur
• Data bisa diinsert di bagian file yang manapun
5. Delete a record
• Record yang akan didelete bisa berada dimana saja di dalam file
• Pencarian akan bisa memakan waktu yang lama karena bentuk file yang
tidak terstruktur
6. Modify a record
• Record yang akan dimodify dalam kondisi yang sama seperti yang akan di
delete
• Yaitu bisa berada dimana saja di dalam file
• Sehingga pencarian data bisa berlangsung sangat lama
Adalah:
• File dengan data yang tersusun dalam suatu urutan tertentu
• Tiap record mempunyai field yang sama & dengan susunan yang
sama
• Bentuk file terlihat menyerupai tabel
Struktur file
• Untuk memungkinkan record tersusun secara urut perlu ditentukan
key dari
tiap record
• Satu atau beberapa atribut akan menjadi key atribut
• Pengurutan record dapat dilakukan berdasarkan primary keynya
• Pembacaan secara serial (satu persatu) sesuai dengan urutan keynya disebut
pembacaan secara sequential
Keterbatasan:
• Bentuk record harus fixed length
• Sehingga efisien dalam tempat (storage) tetapi kurang fleksibel
• Update tidak mudah dilakukan, memakai pola transaksi – old master file – new
master file
• Kalau kedalam record ingin ditambahkan atribut maka seluruh file harus
direorganisasi
• Seringkali pada sebuah file sequential disediakan tempat untuk penambahan
atribut
Kegunaan:
• Banyak dipakai pada metoda batch processing
• Kalau beberapa file ingin digabungkan, maka tiap file harus diurutkan dalam
pola pengurutan yang sama
Performance
1. Record Size
• Bentuk record fixed length
• Besar alokasi storage yang dibutuhkan ditentukan oleh:
• Jumlah atribut dalam sebuah record
• Banyak record yang disimpan
2. Fetch a record
• Biasanya dengan memakai cara serial search (sequential reading) dari awal
file
• Pada Direct Access Device, sequential file dapat diakses secara direct
• Direct access hanya dapat dilakukan pada atribut yang dipakai untuk
mengurutkan file
Sequential search
• Pembacaan record per record dari awal
Binary search
• Fetch ditengah-tengah file
• Kalau key dari file lebih kecil dari yang dicari fetch ke tengah sisa file
dibawahnya
• Kalau key dari file lebih besar dari yang dicari fetch ketengah sisa file
diatasnya
Probbing
• Fetch pada sebuah posisi yang diperkirakan
• Dilanjutkan dengan sequential search
4. Insert a record
• Insert berarti menyisipkan sebuah record sesuai dengan posisi dari primary
key
• Insert sangat mudah kalau hanya menambahkan sebuah record pada akhir
file
• Kalau insert ke tengah file, harus dipakai metoda batch update
5. Delete a record
• Menggunakan metoda batch update
• Key dari record-record yang akan di delete dikumpulkan dahulu pada
transaction file
6. Modify a record
• Menggunakan metoda batch update
• Bila nilai key tetap, maka field yang berubah akan dituliskan langsung pada
tempatnya
• Bila nilai key berubah pada primary key, maka kegiatannya adalah delete
yang lama lalu insert yang baru Read the entire file
Master File
Record Nim Nama
Number
1 0211500032 Fathimah
2 0211500054 Ali
Dst ………
101 0211500143 Nida
102 0211500150 Asih
Dst ……….. ………
201 0222300032 Ahmad
202 0222300054 Ummi
dst ……..
301 0222500234 Dani
302 0222500240 Tika
Dst ……….. ………
401 0222500434 Dito
402 0222500450 Titi
Dst ……….. ………
501 0233500002 Budi
502 0233500004 Ina
Dst ……….. ………
601 0244500032 Dina
602 0244500034 Ani
Dst ……….. ………
A 0211500054 2
0211500143 101
B 0211500150 102
0222300032 201
C 0222300054 202
0222500234 301
D 0222500240 302
0222500434 401
E 0222500450 402
0233500002 501
F 0233500004 502
0244500032 601
G 0244500034 602
Untuk mencari index block dengan cepat dibuat index level kedua sebagai berikut :
o Record
Anchor
Indeks menunjuk ke record
Data Utama
Index file
Misal Berdasarkan nama
Key Record #
Ali 2
Ani 602
Asih 102
Budi 501
Dani 301
Dina 601
Dito 401
Dst… Dst..
INDEXED SEQUENTIAL FILE
Adalah:
• Organisasi file yang mempunyai semua keunggulan dari sequential
file
• Tetapi kemampuan aksesnya jauh lebih baik
• Ada 2 hal yang ditambahkan yaitu
• Index: untuk mendapatkan cara akses yang lebih baik
• Overflow area: untuk mengatasi masalah dalam penambahan data (insert)
• Komponen:
• Sequential file (main file)
• Index
• Overflow Area
• Main file:
• Berisi data / record – record yang membentuk file
• Data tersusun seperti pada sequential file
• Index:
• Berisi alamat dari tiap record yang ada didalam main file (seperti daftar isi)
• Index dipakai untuk memungkinkan dilakukan fetch terhadap record
tertentu, dengan cara:
• Alamat dari record yang akan difetch dicari di dalam index
• Dengan alamat tersebut data dibaca dari dalam main file
• Salah satu konsep index yang dipakai adalah:
memanfaatkan Block Anchor
• Overflow Area
• Menyimpan record tambahan, yang diisi pada waktu dilakukan insert
• Mirip dengan apa yang disebut transaction file, tetapi diintegrasikan
menjadi satu dalam konsep index-sequential file
• Lokasi record ditunjukkan dengan pointer dari predecessornya
KEY BLOC
013-20-14 K ID
104-13-82 1 Record No. ktp Nama Overflow
2 Number pointer
11.1 013-20- Hadi
--- --- END 11.2 14 Ari 112.1
11.3 015-23- Nani
MAST XXXXX 51 XXXXXXX XXXXX
ER 019-88-
79
XXXXXXX
X
BLOCK ID KEY BLOCK ID 12.1 021-13- 192-20-41 Nita
013- 11 12.2 21 XXXXXXXX Agus
20-14 12 XXXXX 027-55- SEQUENTI XXXXXXX
1
021- 13 13.1 07 AL Nanda
13-21 ---- 13.2 XXXXXXX FILE Tuti
045- XXXXX X XXXXXXX
62-57 21 21.1 045-62- 016-78-01 Wiyogo
2 ---- 22 21.2 57 017-09-73 Arjuno
23 XXXXX 049-20- XXXXXXXX XXXXXXX
104- --- 22.1 73 184-29-80 Hakim
13-82 XXXXX XXXXXXX 185-51-38 XXXXXXX
132- 23.1 X Garuda
52-93 23.2 104-13- Arini
183- 23.3 82 Baruna
08-29 XXXXX 108-84- XXXXXXX
--- 66
END XXXXXXX
INDEX X
112.1 132-52- HERMAN
112.2 93 JIRAN
XXXXX XXXXXXX XXXXXXX
231.1 X FARID
231.2 183-08- SAMIN
29
186-08-
30
XXXXX 231.1 XXXXX O-CHAIN-P XXXXX
XXXXX
XXXXX XXXXX 11.3 23.2
OVERFLOW AREA
• Untuk meminimalkan jumlah overflow pointer yang dipakai digunakan metoda
push-through
• Record baru ditempatkan sesudah predecessornya
• Successor record digeser mendekati ujung block
• Record pada ujung block digeser ke overflow area
Performance
1. Record Size
• Berbentuk fixed length record
• Ukuran file relatif tetap, karena insert memakai overflow area
• Ukuran file baru berubah setelah dilakukan reorganisasi
• Overflow area digabungkan dengan main file
• Overflow area akan kosong
• Main file akan bertambah besar
2. Fetch a record
• Index dimanfaatkan untuk menemukan sebuah record
• Dicari dari index yang paling atas, menurun ke index dibawahnya sampai
akhirnya ke main file
• Bila pernah dilakukan insert, pencarian akan dilanjutkan ke overflow area
untuk mencari record yang telah di geser (push)
4. Insert a record
• Menambah record berarti memperpanjang overflow chain, karena metoda
push through
• Record baru akan selalu ditempatkan urut dengan record sebelumnya
• Tiap kali insert akan mengakibatkan terjadi read & rewrite dari pointer-
pointer
• Index tidak berpengaruh terhadap index
• Ada 3 cara yaitu
a. separate file, record baru disimpan pada file terpisah (kurang efisien)
b. Free space in every block, ruang kosong yang akan terisi bila ada record
baru
c. Free space in every silinder, ruang kosong pada akhir setiap silinder
5. Delete a record
• Delete pemakai tombstone
• Data pada pointer & index tetap ada
6. Modify a record
• Dilakukan dengan langkah fetch & rewrite
• Karena record baru bisa dituliskan pada tempat record lama
berada
Data Utama
Key
Abdullah Nashih Ulwan Record #
Ade 6
Ali 7
Budi Firmasyah 2
Fitriana Sari 4
Muhammad Hanafi 3
Muhammad Reza Pahlevi 1
Titi 8
5
Kegunaan indexed file
• Banyak dipakai bila kecepatan akses sangat dibutuhkan
• File jarang diakses secara serial
• Data dapat diakses dengan struktur yang berbeda tanpa perlu dilakukan
reorganisasi (karena bisa mempunyai banyak record)
• Sangat cocok untuk format data yang dinamis
Performance
1. Record size
• Bisa berbentuk variable length
• Atribut record secara umum bisa berbentuk sparse
• Besar keseluruhan file sangat ditentukan oleh banyaknya index yang dibuat
2. Fetch a record
• Dilakukan melalui index
• Mirip dengan indexed sequential, hanya tidak ada pencarian ke overflow
area
• Bila index bisa ditempatkan pada satu cylinder, maka penelusurannya tidak
memerlukan seek time
4. Insert a record
• Record ditempatkan dimana saja pada daerah yang kosong
• Semua index yang terkait akan di update
5. Delete a record
• Tidak dengan menghilangkan/menghapus record yang didelete
• Tidak melepaskan semua index yang terkait dengan record tersebut
6. Modify a record
• Dilakukan dengan cara:
• Mencari lokasi yang akan berubah
• Mengubah isi record
• Mengubah semua index yang terkait dengan perubahan tersebut
Hashed File
Adalah:
• Memakai perhitungan matematis untuk menemukan alamat dari sebuah record
• Memanfaatkan kemampuan disk unit dapat mengakses tiap block yang
diketahui alamatnya
• Agar dapat dilakukan direct access, key dari record dipakai sebagai alamat di
dalam file
• Rumus
• Menghasilkan slot address, dihitung berdasarkan key dari sebuah record
- - -
- - -
0011500105 ACHMAD 105
0011500106 ENDANG 106
0011500107 SEPHIA 107
Index 0 2 4 6 8 9
1 3 5 7
NIlai Kunci 12 68 38 19
2 5345 6718
2
5345
8176 (urutan terbalik !)
-------- +
15521
Overflow area:
• Mempersiapkan file terpisah (overflow file)
• Memanfaatkan overflow-chain untuk penghubung (seperti pada indexed
sequential file)
• Tidak dipakai pola bucket (cluster)
• Membutuhkan seek tersendiri, tetapi tidak ada sequential search ke dalam
bucket
• Kesulitannya adalah:
• Menyediakan overflow file yang mencukupi
• Karena collision tidak bisa diduga kapan terjadi & berapa kali terjadi
4. Insert a record
• Slot yang akan diisi harus diperiksa apakah:
• Kosong
• Berisi record dengan key yang sama
• Berisi record dengan key yang lain (collision)
5. Delete a record
• Dengan memanfaatkan tombstone
• Bila dipergunakan overflow area:
• Overflow-chain akan diatur ulang
• Atau slot akan diberi tanda kosong
• Bila dipergunakan open addressing:
• Tidak bisa sekedar slot diberi tanda kosong
• Harus dimungkinkan untuk tetap mendapat record-record yang collision
6. Modify a record
• Dilakukan secara fetch & rewrite pada tempat yang sama
• Kalau key berubah maka langkahnya adalah insert & modify
7. Read the entire file
• Tidak bisa dilakukan serial search
• Hanya bisa dengan membaca seluruh slot yang disiapkan, melalui KAT
• Walaupun akan termasuk membaca semua slot yang masih kosong
MULTIRING FILE
Adalah:
• Berorientasi ke proses yang efisien untuk subset (kumpulan record)
• Subset berisi grup record yang memiliki atribut yang sama
• Banyak dimanfaatkan dalam system database
• Sejumlah subset dari record terkait satu dengan lainnya oleh pointer-pointer
• Jalur kait antar subset menggambarkan urutan anggota dari subset tersebut
• Sebuah record bisa menjadi anggota dari beberapa subset
• Tiap subset mempunyai Header Record (Header) yaitu record yang merupakan
tempat sebuah subset terkait
• Header berisi semua keterangan tentang anggota subsetnya
• Header record sendiri bisa juga terkelompok dalam sebuah subset
• Salah satu jenis kait yang dipakai adalah RING
• RING adalah:
• Dimana anggota subset yang pertama dan terakhir sama-sama terkait pada
header record
• Ring dapat disusun bertingkat-tingkat
• Sehingga anggota dari sebuah subset dapat menjadi header record bagi subset
tingkat dibawahnya
Struktur file
• Isi dan ukuran sebuah record sangat tergantung pada subset mana record
tersebut terkelompok
• Tiap record mempunyai sejumlah pointer yang menyatakan ke ring mana saja
record tersebut terkait
• Tiap ring (subset) mempunyai header
• Header adalah: entry point & atau anggota ring lainnya
• Cara penelusuran:
• Ring dimasuki melalui header
• Anggota ring ditelusuri satu persatu sampai ketemu
• Bila penelusuran kembali mencapai header berarti satu ring telah selesai
ditelusuri
Performance
1. Record Size
• Bisa mempunyai berbagai bentuk record di dalam sebuah file
• Atribut sebuah record dapat berada di dalam record tersebut, atau dapat
ditelusuri berdasarkan pointer yang ada
• Sebuah pointer di dalam record dapat menjadi pengganti dari sejumlah
atribut pada record tersebut
2. Fetch a record
• Untuk bisa mencapai sebuah record (yang terdapat di dalam ring) selalu
harus melalui headernya
• Sebuah ring hanya bisa dimasuki melalui entering pointnya
5. Delete a record
• Kebalikan dari insert:
• Melepaskan semua pointer dari predecessor record & semua pointer ke
successor record
• Mengarahkan semua pointer dari predecessor record ke successor
record
6. Modify a record
• Dilakukan dengan cara fetch & rewrite, bila hanya merubah isi record
• Hanya ring yang terkait saja yang di update
• Bila merubah urutan record, dilakukan seperti pada pelaksanaan insert