Hai kali ini saya akan
membahas tentang Organisasi Berkas…..
Organisasi
Berkas
Organisasi Berkas
ialah suatu teknik atau cara untuk menyatakan dan menyimpan
record-record dalam sebuah berkas / file
Ada 4 teknik dasar organisasi file, yaitu :
---- Sequential
---- Relative
---- Indexed Sequential
---- Multi – Key
1.
Pengertian
Organisai Berkas Indeks Sekuensial
·
Organisasi
Fileadalah suatu teknik
atau cara yang digunakan untuk menyatakan dan menyimpan record–record dalam
sebuah file.
·
Campuran organisasi
berkas langsung dengan organisasi berkas sekuensial
·
Cocok untuk aplikasi
yang memakai kedua jenis cara pengaksesan (langsung dan sekuensial)
·
Sangat berguna kalau
kita pada suatu saat perlu mengakses satu record saja, dan pada saat yang lain
perlu mengakses banyak rekord sekaligus
·
Sedangan pengertian
dariIndex Sequential File merupakan perpaduan terbaik
dari teknik Sequential dan random file. Pada teknik penyimpanan yang dilakukan,
menggunakan suatu index yang isinya berupa bagian dari data yang sudah
tersortir. Index ini diakhiri denga adanya suatu pointer (penunjuk) yang bisa
menunjukkan secara jelas posisi data yang selengkapnya. Index yang ada juga
merupakan record-key (kunci record), sehingga kalau recordkey ini dipanggil,
maka seluruh data juga akan ikut terpanggil. Jadi, organisasi berkas indeks
sequential adalah Berkas/file yang disusun sedemikian rupa sehingga dapat
diakses secara sequential maupun secara direct (langsung) atau kombinasi
keduanya, direct dan sequential. Contoh sederhana dari organisasi ini adalah
susunan data yang ada di sebuah buku kamus. Kita bisa mengakses buku kamus
secara sequential (berurutan), maupun melalui index (daftar isi) nya.
·
Hal-Hal
Yang Berhubungan Dengan Organisasi Berkas Index Sequential
1.
Jenis Akes Berkas
Index Sequential :
·
Akses Sequential
(suatu cara pengaksesan record yang didahului pengaksesan record-record
didepannya). Contoh Magnetic Tape.
·
Akses Direct (suatu
cara pengaksesan record yang langsung, tanpa mengakses seluruh record yang
ada). Contoh: Magnetic Disk.
1.
Jenis Proses Berkas
Index Sequential :
·
Batch (proses mengolah
data dengan menghimpunnya terlebih dahulu kemudian mengatur dan
mengelompokkannya ke dalam kelompok-kelompok yang disebut batch atau bisa
diartikan suatu proses yang dilakukan secara group dan kelompok). Contoh File
ada kalau didukung file lain, file nilai, ada dosen, mahasiswa, dan lain-lain.
·
Interactive (mengolah
data dengan saling berhubungan atau berkaitan secara langsung yang dilakukan
secara satu persatu yaitu record demi record). Contoh pencarian IPK mahasiswa
yang lebih dari 3.
1.
Struktur Berkas Index
Sequential:
Index =binary search tree
Data =sequential
Index-nya digunakan untuk melayani sebuah
permintaan untuk mengakses sebuah record tertentu. Sedangkan data-nya digunakan
untuk mendukung akses squential terhadap seluruh kumpulan-kumpulan record.
4.
Kegunaan Sekaligus
Keunggulan Index Sequential File
·
Bentuk file yang
paling banyak dipakai.
·
Dipakai bila file
ingin selalu dalam kondisi up to date.
·
Sebuah record dapat di
insert (dimasukkan/ditambah) atau di retrieve (dibetulkan/dikembalikan semula)
secara langsung melalui indexnya.
·
Sangat sesuai untuk
proses secara on-line
·
Bisa juga diakses
secara sequential
·
Mempunyai semua
keunggulan dari sequential file
5.
Kelemahan Index
Sequential File
·
Search/pencarian hanya
bisa melalui sebuah key saja, yaitu key yang mengurutkan file Performance.
·
Diperlukan perubahan
data, maka seluruh record yang tersimpan didalam master file ini, harus
semuanya diproses terlebih dahulu.
·
Data yang tersimpan
harus sudah urut (sorted).
·
Posisi data yang
tersimpan sangat sulit untuk up-to-date, sebab master file hanya bisa berubah
saat proses selesai dilakukan.
·
Tidak bisa dilakukan
secara langsung.
Ada beberapa tahapan dalam organisasi berkas
secara sequential, yaitu
Pengumpulan Data
Proses dimana data yang ada dikumpulkan secara
berurut berdasarkan klasifikasi yang membedakannya. Pada tahap pengumpulan data
ini, semua data akan diurutkan secara bertahap dan terorganisir dengan baik
Pemasukkan Data (
Input Data )
Pada tahap ini, data-data yang telah dibedakan
dan dikumpulkan tersebut akan secara permanent dimasukkan ( di input ) kedalam
suatu device penyimpanan. Device ( media ) penyimpanan ini dapat berupa memori
atau device penyimpanan lainnya.
Pengeditan Data
Tahap selanjutnya yang harus dilakukan dalam
proses secara sequential adalah pengeditan data. Setelah data yang ada
dikumpulkan dan proses input data juga telah dilakukan maka proses selanjutnya
adalah editing. Dalam tahap ini data yang telah di input akan diubah ( edit ).
Penyortiran Data Yang
Telah Di Edit
Tahap terakhir dalam tahap sequential ini
adalah penyortiran. Setelah user melakukan pengeditan pada data-data yang ada,
maka selanjutnya data yang telah di edit tersebut kan di sortir.
Sebuah pohon (tree) adalah struktur dari
sekumpulan elemen, dengan salah satu elemennya merupakan akarnya atau root, dan
sisanya yang lain merupakan bagian-bagian pohon yang terorganisasi dalam
susunan berhirarki, dengan root sebagai puncaknya.
Contoh umum dimana struktur pohon sering
ditemukan adalah pada penyusunan silsilah keluarga, hirarki suatu organisasi,
daftar isi suatu buku dan lain sebagainya.
Akar pohon (root) adalah Handoko.
Secara rekursif suatu struktur pohon dapat
didefinisikan sebagai berikut:
·
Sebuah simpul tunggal
adalah sebuah pohon.
·
Bila terdapat simpul
n, dan beberapa sub-pohon T1,T2,…,Tk, yang
tidak saling
berhubungan, yang masing-masing akarnya adalah
n1,n2,…, nk, dari simpul/sub pohon ini dapat dibuat sebuah pohon baru dengan n
sebagai akar dari simpul-simpul n1,n2,…,nk.
Pohon Biner
adalah Binary Tree atau Pohon Biner adalah sebuah tree
yang setiap nodenya maksimal hanya memiliki dua anak. Salah satu tipe
pohon yang paling banyak dipelajari adalah pohon biner.
Pohon biner adalah pohon yang setiap simpulnya
memiliki paling banyak dua buah cabang/anak.
Contoh:
Pada contoh gambar tersebut, indeksnya disusun
berdasarkan binary search tree. Indeksnya digunakan untuk melayani sebuah
permintaan untuk mengakses sebuah record tertentu, sedangkan berkas data
sekeunsial digunakan untuk mendukung akses sekuensial terhadap seluruh kumpulan
record-record.
Ada 2 pendekatan dasar untuk
mengimplementasikan konsep dari organisasi berkas indeks sequential , yaitu:
1.
Blok Indeks dan Data
(Dinamik)
2.
Prime dan Overflow
Data Area (Statik)
Kedua pendekatan tersebut menggunakan sebuah
bagian indeks dan sebuah bagian data, dimana masing-masing menempati berkas
yang terpisah.
Karena Kedua pendekatan tersebut
menggunakan bagian indeks dan bagian data, dimana masing-masing menempati file yang
terpisah. Karena diimplementasikan pada organisasi internal yang berbeda.
Masing-masing file tersebut harus menempati pada alat penyimpan yang bersifat
Direct Access Storage Device (DASD).
1.
Blok Indeks dan Data
(Dinamik)
Pada pendekatan ini berkas indeks dan berkas
data diorganisasikan dalam blok. Berkas indeks mempunyai struktur tree,
sedangkan berkas data mempunyai struktur sekuensial dengan ruang bebas yang
didistribusikan antar populasi record.
Untuk cara pertama, kita menyusun data dengan
lebih memperhatikan ke data yang bersifat logik, bukan fisik. Jadi, data dan
index diorganisasikan ke dalam blok-blok. Blok-blok index diorganisasi secara
sequential (consecutive) dan bertingkat-tingkat (misal setiap blok hanya berisi
4 record index yang berisi key field dan pointer).
Setiap tingkat akan menuju ke blok data (misal
setiap blok hanya berisi 4 record data) di tingkat selanjutnya dan
seterusnya menuju ke blok data yg akan mendapatkan record yg dicari secara
direct.
Bila dilakukan penyisipan data dan blok
tertentu (tempat data baru itu) sudah penuh (tidak ada tempat kosong/ padding
lagi), maka akan dilakukan reorganisasi blok dengan membentuk blok baru. Tentu,
mungkin saja perubahan ini akan berdampak pada isi blok index-nya.
Bila dilakukan penyisipan data dan track
tertentu (tempat data baru itu) sudah penuh (tidak ada tempat kosong/ padding
lagi), maka akan dilakukan reorganisasi track dengan membentuk track
baru.Tentu, track baru itu di luar prime data file-nya, yaitu di overflow data
area-nya
.Contohnya ;
Pada gambar tersebut ada N blok data dan 3
tingkat dari indeks. Setiap entry pada indeks mempunyai bentuk (nilai key
terendah, pointer), dimana pointer menunjuk pada blok yang lain, dengan nilai
key-nya sebagai nilai key terendah. Setiap tingkat dari blok indeks menunjuk
seluruh blok, kecuali blok indeks pada tingkat terendah yang menunjuk ke blok
data.
Jika sebuah permintaan untuk mengakses record
tertentu, misal kita ingin mengakses dengan nilai key BAT, indeks dengan
tingkat tertinggi (dalam hal ini blok indeks 3-1) yang pertama yang akan dicari
pada contoh ini, pointer dari AARDVARK menunjuk blok indeks 2-1. Pointer yang
ditunjuk pada kotak tersebut adalah pointer yang berisikan AARDVARK, yang akan
menunjuk ke blok indeks 1-1. Pointer berikutnya yang akan ditunjuk adalah
pointer yang berisi BABOON, yang selanjutnya akan menunjuk blok data 2. Blok
data ini akan mencari untuk record dengan key tujuan, yaitu BAT, dimana pada
blok ini record tersebut ditemukan.
2.
Prime dan Overflow
Data Area (Statik)
Pendekatan lain untuk mengimplementasikan
berkas indeks sequential adalah berdasarkan struktur indeks dimana struktur
indeks ini lebih ditekankan pada karakteristik hardware (fisik) dari
penyimpanan, dibandingkan dengan distribusi secara logik dari nilai key.
Indeksnya ada beberapa tingkat, misalnya
tingkat cylinder index dan tingkat track index. Berkas datanya secara umum
diimplementasikan sebagai 2 berkas, yaitu prime area dan overflow area.
Contohnya :
Setiap cylinder dari alat penyimpanan
mempunyai 4 track. Pada berkas binatang ada 6 cylinder yang dialokasikan pada
prime data area. Track pertama (nomor 0) dari setiap cylinder berisi sebuah
indeks pada record key dalam cylinder tersebut.
Dalam sebuah track data, tracknya disimpan
secara urut berdasarkan nilai key. Tingkat pertama dari indeks dalam berkas
indeks dinamakan master indeks. Tingkat kedua dari indeks
dinamakan cylinder indeks.
Entry pada master
indeks: nilai key tertinggi, pointer. Entry pada cylinder
indeks: nilai key tertinggi, nomor cylinder.
Contoh Pengaksesan:
Misal : mengakses dengan nilai key BAT
·
Pertama : Cari
pada master indeks,
·
Kedua : Karena
BAT ada di depan LYNX, maka pointer dari LYNXakan menunjuk ke cylinder index,
·
Ketiga: Karena BAT ada
di depan ELEPHANT, maka pointer dari LEPHANT akan menunjuk ke track 0 dari
cylinder 1,
·
Keempat: Karena BAT
ada di belakang BABOON dan di depan COW, maka pointer dari BABOON akan menunjuk
ke track 2,
·
Kelima: Cari secara
sequential sampai BAT ditemukan.
Hal ini bisa
disimpulkan: Permintaan untuk mengakses data secara
sequential akan dilakukan dengan mengakses cylinder dan
track dari berkas data prime secara urut.
Sekian semoga
bermanfaat… J
Tidak ada komentar:
Posting Komentar