Selasa, 03 November 2009

Tugas Kuliah BAB 5 - Organisasi Berkas Index Sequential

BAB 5
ORGANISASI BERKAS INDEKS SEQUENTIAL

Pengertian Berkas Indeks Sequential
Salah satu cara yang paling efektif untuk mengorganisasi kumpulan record-record yang membutuhkan akses record secara sequential maupun akses record secara individu berdasarkan nilai key adalah organisasi berkas indeks sequential.
Jadi berkas indeks sequential merupakan kombinasi dari berkas sequential dan berkas relatif.
Struktur Pohon
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.
Contoh :
Handoko


Andi Reni


Anton Yana Mardi Riri


Tedi Susi Roni Dewi Dodi Irma Rudi Nurul

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
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.
(1) (2) (3) (4) (5)










Adapun jenis akses yang diperbolehkan, yaitu :
 Akses Sekuensial
 Akses Direct


Sedangkan jenis prosesnya adalah :
 Batch
 Interactive
Struktur Berkas Indeks sekuensial
 Indeks  Binary Search Tree
 Data  Sekuensial

Lihat gambar berikut ini :















Pada gambar tersebut memperlihatkan struktur berkas indeks sequential dengan sebuah indeks berikut pointer yang menuju ke berkas data sequential. Pada contoh gambar tersebut, indeksnya disusun berdasarkan binary search tree. Indeksnya digunakan untuk melayani sebuah permintaan untuk mengakses sebuah record tertentu, sedangkan berkas data sequential digunakan untuk mendukung akses sequential terhadap seluruh kumpulan record-record.

Implementasi Organisasi Berkas Indeks Sequential
Ada 2 pendekatan dasar untuk mengimplementasikan konsep dari organisasi berkas indeks sequential :
 Blok Indeks dan Data (Dinamik)
 Prime dan Overflow Data Area (Statik)
Kedua pendekatan tersebut menggunakan sebuah bagian indeks dan sebuah bagian data, dimana masing-masing menempati berkas yang terpisah.
Alasannya :
Karena mereka diimplementasikan pada organisasi internal yang berbeda. Masing-masing berkas tersebut harus menempati pada alat penyimpan yang bersifat Direct Access Storage Device (DASD).

Blok Indeks Dan Data
Pada pendekatan ini berkas indeks dan berkas data diorganisasikan dalam blok. Berkas indeks mempunyai struktur tree, sedangkan berkas data mempunyai struktur sequential dengan ruang bebas yang didistribusikan antar populasi record.
Lihat gambar
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.
Permintaan untuk akses data dalam urutan sequential dilayani dengan mengakses blok data dalam urutan sequential. Sebagai catatan blok data merupakan consecutive secara logik dan bukan consecutive secara fisik. Dalam hal ini, blok data harus dihubungkan secara bersama dalam urutan secara logik, seperti terlihat pada gambar.
Misal :
Setiap blok data mempunyai ruang yang cukup untuk menampung 5 record dan setiap blok indeks mempunyai ruang yang cukup untuk menyimpan 4 pasang (nilai key, pointer).
Parameter ini biasanya sudah dilengkapi dengan rutin dukungan sistem manajemen data, pada saat berkas binatang ini dibentuk.
Jika kita menginginkan penyisipan maupun penghapusan terhadap isi berkas, maka blok indeks dan blok data akan dibuat dengan sejumlah ruang bebas, yang biasanya disebut sebagai padding dan pada gambar ditunjukkan sebagai irisan

ORGANISASI FILE
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 inilah yang kemudian dikenal sebagai organisasi file. Dalam hal ini, dikenal ada beberapa metoda, yaitu: Sequential File, Random File dan Index Sequential File.


a. Sequential File
Sequential file merupakan suatu cara ataupun suatu metode penyimpanan dan pembacaan data yang dilakukan secara berurutan. Dalam hal ini, data yang ada akan disimpan sesuai dengan urutan masuknya. Data pertama dengan nomor berapapun, akan disimpan ditempat pertama, demikian pula dengan data berikutnya yang juga akan disimpan ditempat berikutnya.

Dalam melakukan pembacaan data, juga akan dilakukan secara berurutan, artinya, pembacaan akan dimulai dari data paling awal dan dilanjutkan dengan data berikutnya sehingga data yang dimaksud bisa diketemukan.

b. Random File
Random file merupakan suatu cara ataupun suatu metode penyimpanan dan pembacaan data yang dilakukan secara random atau langsung. Dengan demikian, random file juga disebut sebagai Direct Access File (Bisa dibaca secara langsung). Dalam hal ini, tempat penyimpanan data sudah diatur sedemikian rupa, sehingga setiap data akan tersimpan didalam tempat-tempat yang telah ditentukan sesuai dengan nomor data yang dimiliki-nya.
Dikarenakan data yang tersimpan menggunakan teknik yang sedemikian rupa (yaitu random), maka data yang dibutuhkan bisa langsung ditemukan tanpa harus membaca data-data sebelumnya. Walaupun demikian, seandainya diperlukan untuk dibaca secara berurutan, juga dimungkinkan.

c. Index Sequential File
Index Sequential File merupakan perpaduan terbaik dari teknik sequential dan random file. 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 record key ini dipanggil, maka seluruh data juga akan ikut terpanggil.
Untuk membayangkan penyimpanan dan pembacaan data secara sequential, kita bisa melihat rekaman lagu yang tersimpan pada kaset. Untuk mendengarkan lagu kelima, kita harus melalui lagu kesatu, dua, tiga dan empat terlebih dahulu. Pembacaan seperti inilah yang disebut sebagai sequential atau berurutan.
Apabila lagu-lagu yang ada kemudian disimpan didalam compack-disk, maka untuk mendengar kan lagu yang ke-lima bisa langsung dilakukan (dibaca secara random). Disamping itu, dengan compack-disk juga bisa dilakukan pembacaan secara berurutan atau sequential. Compack-disk menyimpan lagu secara random.
Untuk membayangkan penyimpanan data dengan menggunakan teknik index sequential ini, kita bisa melihat daftar isi pada sebuah buku. Pada bagian disebelah kiri disebut sebagai index data yang berisi bagian dari data yang ada. Index data kemudian diakhiri dengan pointer yang menunjukkan posisi keseluruhan isi data.
Sebuah data yang terdiri Nomor, Nama, NL1, Nl2, dan NL3 bisa disimpan dengan menggunakan Nomor sebagai Index. Apabila data tersebut dicetak, maka akan dihasilkan suatu data yang berurutan berdasar Nomor. Nomor yang ada akan tersusun dengan urutan dari kecil keurutan yang lebih besar.
Dari data yang ada, juga bisa dibuat Nama sebagai Index. Apabila data tersebut dicetak, maka akan dihasilkan suatu data yang berurutan berdasar Nama. Nama yang ada akan tersusun dengan urutan dari kecil keurutan yang lebih besar. Pulung yang memiliki abjad terkecil, akan menempati posisi pertama dan Rino pada posisi terakhir.
Gambar yang ada menunjukkan bagaimana record data nilai disimpan didalam media disk ataupun disket dengan menggunakan teknik index sequential. Index data akan dibaca pertama kali oleh komputer, dan dikarenakan didalam index data juga terdapat address maka data yang dicari bisa segera diketemukan.
Sesuai dengan sifat media yang dimilikinya, maka pada sebuah pita magnetic tape, hanya bisa menyimpan data secara sequential; Dengan demikian, cara pembacaan yang dilakukan juga hanya secara sequential, yaitu berurutan satu persatu sampai nomor record yang dikehendaki diketemukan.
Dengan menggunakan Direct Access Methode (metode pembacaan/penulisan secara langsung), maka, record yang tersimpan didalam sebuah disket, Hard-disk, CD ROM ataupun Laser-Disk dapat di-access secara langsung dengan tanpa harus membaca seluruh data yang dimilikinya.
Access dengan menggunakan methoda Index-sequential juga dapat dilakukan oleh media ini. Dengan melakukan access pertama kali pada key-field yang ada, maka akan diketemukan record yang dituju.
Data yang sudah terekam dalam methoda index-sequential juga dapat dilakukan pembacaan secara sequential. Key-field akan dibaca pertama kali secara sequential, dan untuk selanjutnya record yang dituju akan diketemukan.
Merupakan organisasi file yang sederhana. Jarak setiap aplikasi yang tersimpan sangat jelas. Metode penyimpanan didalam memory sangat sederhana, sehingga efisien untuk menyimpan record yang besar. Sangat murah untuk digunakan, sebab medianya cukup menggunakan magnetic tape.