bab4 organisasi berkas index sequential

Upload: b3ll4my

Post on 19-Jul-2015

388 views

Category:

Documents


19 download

TRANSCRIPT

  • 5/17/2018 Bab4 Organisasi Berkas Index Sequential

    ORGANISASI BERKAS INDEXSEQUENTIAL

    Pendekatan utama ketiga dari organisasi data pada penyimpanan sekunderadalah organisasi berkas index sequential. Dua teknik pendekatan untukmengimplernentasikan konsep organisasi index sequential akan dibahas. Juga akandibahas, deklarasi dan penggunaan berkas index sequential dalam program. Topikini, akan diakhiri dengan pembahasan beberapa faktor yang harus dipertimbangkandalam merancang berkas dengan organisasi index sequential.

    DEFINISI DAN APLIKASI BERKAS INDEX SEQUENTIALSalah satu cara yang efektif untuk mengorganisasi kumpulan record-recordyang membutuhkan akses record secara sequential maupun akses secara individuberdasarkan nilai key adalah organisasi berkas index sequential. Sebuah berkas indexsequential memberikan kombinasi dari jenis akses yang didukung baik oleh berkassequential maupun oleh berkas relatif.Gambar 1. memperlihatkan struktur berkas index sequential dengan sebuahindex berikut pointer yang menuju ke berkas data sequential. Pada contoh gambartersebut, indexnya disusun berdasarkan binary search tree. Indexnya digunakanuntuk melayani sebuah permintaan untuk mengakses sebuah record tertentu,

    sedangkan berkas data sequential digunakan untuk mendukung akses sequentialterhadap seluruh kumpulan record-record.57

  • 5/17/2018 Bab4 Organisasi Berkas Index Sequential

    SEQUENTIALDATAFILE

    INDEX

    Position123456

    APEBATCATCOWDOGEELZEBRA

    Gambar 1..

    Mungkin anda sudah memahami pendekatan ini, untuk menyusun suatukumpulan infonnasi, agar memudahkan akses, baik akses secara sequential maupunakses secara direct. Sebagai contoh, perhatikan sebuah kamus : Daftar isi dari kamusdijadikan index pada kumpulan data di maria kumpulan ini disusun secara sequential.Misalkan.kita ingin mencari kata "syzygy", kita tidak perlu membuka kamus secarasequential. Tetapi kita carl aksara spada petunjuk utama, yang menunjukkan bahwaaksara terse but ada pada halaman sekian.

    IMPLEMENT ASI ORGANISASI BERKAS INDEK SEQUENTIALAda dua pendekatan dasar untuk mengimplementasikan konsep dari organisasi

    berkas index sequential:1. Blok indek dan data (dinamik).2. Prime dan overflow data area (statik),

    Kedua pendekatan menggunakan sebuah bagian indek dan sebuah bagian data,masing-masing menempati berkas yang terpisah.

    Salah satu alasan untuk memisahkan indek dan data dalam dua berkas yangterpisah, karena mereka diimplementasikan pada organisasi internal yang berbeda.Masing-masing berkas terse but harus menempati pada alat penyimpan yang bersifatDirect Access Storage Device (DASD).

    58

  • 5/17/2018 Bab4 Organisasi Berkas Index Sequential

    BLOK INDEK DAN DATAPada pendekatan in i berkas indek dan berkas data diorganisasikan dalam blok.Berkas index mempunyai struktur sequential dengan ruang bebas yang didistribusikanantar populasi record. Gambar 2, menunjukkan berkas index sequential tentang

    informasi animal.Pada gambar 2 tersebut ada N blok data dan 3 tingkat dari indek. Setiap entrypada indek mempunyai bentuk (nilai key terendah, pointer), di mana pointermenunjuk pada blok yang lain, dengan nilai keynya sebagai nilai key yang terendah.Setiap tingkat dari blok index menunjuk seluruh blok, kecuali blok index padatingkat terendah yang menunjuk ke blok data.

    59

  • 5/17/2018 Bab4 Organisasi Berkas Index Sequential

    INDEX FILE DATA FILE

    Gam bar. 2

    60

  • 5/17/2018 Bab4 Organisasi Berkas Index Sequential

    Jika sebuah permintaan untuk mengakses record tertentu, misal kita inginmengakses dengan nilai key BAT, index dengan tingkat tertinggi (Dalam hal ini blok3 - 1) yang pertama yang akan dicari pada contoh ini, pointer dari AARDVARKmenunjuk index 2 - 1. Ponter yang ditunjuk pada box tersebut adalah pointer yangberisikan AARDVARK, yang akan menunjuk ke blok indek 1 - 1.Pointer berikutnyayang akan ditunjuk adalah ponter yang berisi BABOON, yang selanjutnya akanmenunjuk blok data 2. Blok data ini akan mencari untuk record dengan key tujuan,yaitu BAT, di mana pada blok ini record tersebut ditemukan.

    Permintaan untuk akses data dalam urutan sequential dilayani dengan mengaksesblok data dalam urutan sequential. Sebagai catatan blok data merupakan consecutivesecara logik dan bukan consecutive secara fisiko Dalam hal ini, blok data harusdihubungkan secara bersama dalam urutan secara logik, seperti terlihat padagambar 2.Sekarang kita perhatikan, rangkaian dari permintaan untuk menginsen record

    anima! baru pada berkas index sequential. Misal setiap blok data mempunyai ruangyang cukup untuk menampung 5 record dan setiap blok indek mempunyai ruang yangcukup untuk menyimpan 4 pasang (nilai key, pointer). Parameter ini biasanya sudahdilengkapi dengan rutin dukungan sistem manajemen data, pada saat berkas animalini dibentuk. Jika kita menginginkan penyisipan maupun penghapusan terhadap isiberkas, maka blok indek dan blok data akan dibuat dengan sejumlah ruang bebas,yang biasanya disebut sebagai padding, dan ditunjukkan sebagai irisan padagambar2.Permintaan :

    INSERT APEINSERT AIREDALE

    akan dilayani. Hanya blok data 1 yang digunakan dan hasilnya ditunjukkan padagambar 3. Perhatikan entry pada blok harus diletakkan berdasarkan urutan sequentialascending. key

    AARDVARKAIREDALEELBATROSSALLIGATORAPEDATA BLOCK 1

    Gambar 3Permintaan:INSERT ARMADILLO

    61

  • 5/17/2018 Bab4 Organisasi Berkas Index Sequential

    adalah agak sulit untuk ditangani. Pencarian dari struktur indek menyatakan bahwaARMADILLO seharusnya menempati blok data 1,tetapi blok terse but sudah penuh.Untuk mengatasi keadaan terse but blok data 1dipecah, dengan memodifikasi blokindex 1 - 1, seperti ditunjukkan pada gambar 4 0 Separuh dari isi blok data, tetapmenempati blok tersebut, separuhnya lagi dipindahkan ke blok yang baru dibuat,yaitu blok data 1A.

    ALLIGATORBABOONCOWFrom indexblock 2.1

    -To data block 2DATA BLOCK lA

    Gambar 4 0Permintaan :

    INSERT CATINSERT BEARINSERT BOBCAT

    akan mengisi blok data 2, tetapi blok tersebut harus dipecah, menjadi blok data 2 dan2A, seperti pada.gambar 5 0

    62

  • 5/17/2018 Bab4 Organisasi Berkas Index Sequential

    To datablock 3

    From indexblock 3.1

    To datablock 3

    Gambar 5.Blok data indek 1- 1sudah penuh dan tidak dapat memuat pointer pada blok data 2A;sehingga inipun harus dipecah, dengan cara mengubah penafsiran index tingkat 2.

    Jika blok index pada tingkat yang paling tinggi (dalam hal ini index tingkat 3)sudah penuh, maka harus dipecah, sehingga sebuah index tingkat yang baru akanditambahkan pada index tree. Seluruh pencarian langsung, memerlukan pengaksesanempat blok index dan sebuah akses blok data.

    PRIME DAN OVERFLOW DATA AREAPendekatan lain untuk mengimplementasikan berkas index sequential adalahberdasarkan struktur index di mana struktur index ini lebih ditekankan padakarakteristik fisik dari penyimpanan, dibanding dengan distribusi secara logik dari

    nilai key. Indexnya ada beberapa tingkat cylinder index dari tingkat track indek.Berkas datanya secara umum diimplementasikan sebagai dua berkas, yakni primearea dan overflow area. Gambar 6 memperlihatkan struktur dari berkas indexsequential untuk data animal.

    63

  • 5/17/2018 Bab4 Organisasi Berkas Index Sequential

    track 3 TERN WARTHOG YAK

    MASTERINDEX

    CYLINDERINDEX

    PRIME DATA Fll..E

    LYNXYAK

    cylinder 1 :track 0 : AARDVARK. track. BABOON. track 2. COW. track 3.

    key track 1 : AARDVARK ALBATROSS ALUGATOR .ELEPHANT track 2 : BABOON ALBATROSS CALF ..track 3 : COW"... .. DOG .. ".......... ELEPHANT .

    I .!=L~IO~N~_ ~~-j cylinder 2I-LYNX track 0 : FOX. track 1.HOUND. track2. INDEX. track 3track 1 . FOX . GANDER "'" GOOSE .MON

    key

    YAK cylinder Otrack 0 . PANDA. track I. PECCARY. track 2. TERN. track 3

    OCELOT

    Gambar 6.. Misal setiap cylinder dari alat penyirnpanan mempunyai 4 track. Pada berkasdata animal omo ada 6 cylinder dialokasikan pada prime L'H

  • 5/17/2018 Bab4 Organisasi Berkas Index Sequential

    Sekarang kita perhatikan penanganan update pada berkas index sequential.Misal setiap track dari berkas data prime mempunyai ruang yang cukup untukmenampung 5 record (jika penyisipan dan penghapusan terhadap berkas dilakukan,maka akan dibentuk padding).Permintaan :

    INSERT APEINSERT AIRDALE

    akan mudah dilayani. Hanya track data 1 dari cylinder 1 yang akan digunakan danhasilnya ditunjukkan pada gambar 7.cylinder 1track 0 : no changetrack 1 : AARDVARK ......... AIREDALE ......... ALBATROSS ...... ALUGA TOR ...... APE ......track 2 : no changetrack 3 : no change

    Gambar 7.Permintaan:

    INSERT ARMADILLOagak sulit ditangani. Pencarian struktur index menyatakan bahwa ARMADILLOseharusnya menempati track I dari cylinder 1, tetapi track tersebut sudah penuh.Untuk mengatasi keadaan tersebut, diperlukan penggunaan overflow data area.Overflow data area ini merupakan berkas terpisah dari prime data area tetapioverflow area ini ditunjukkan oleh entri prime data area. Gambar 8 memperlihatkanhasil dari penambahan ARMADILLO. Karena ARMADILLO seharusnya setelahkelima entri pada track 1 dari cylinder 1, tetapi karena track ini sudah penuh, makaARMADILLO dipindahkan ke overflow data area. Index track dari cylinder 1harusdimodifikasi untuk memperlihatkan bahwa ada sebuah record pada overflow areayang secara logik seharusn ya menempati pada akhir dari track 1, sehingga penambahandari entri itu adalah < ARMADILLO, ovfl-ptr >, dengan ovfl-ptr adalah nomor< cylinder, track, record >.

    cylinder 1track 0 : AARDVARK, track I, ARMADILLO, overflow, BABOON, track 2, COW, track 3track 1 :track 2 : } no change from Fig 195 (a)track 3 :

    OVERFLOW DATA FILEcylmder 1track I : ARMADILLO

    Gambar 8.

    65

  • 5/17/2018 Bab4 Organisasi Berkas Index Sequential

    PRIME DATA FILE

    Pennintaan :INSERT CATINSERT BEARINSERT BOBCAT

    akan mengisi track 2 dari cylinder 1 pada prime data area, tetapi pengisian tersebutmengakibatkan penggunaan overflow area, seperti ditunjukkan pada gambar 9.Perhatikan CAT dipindahkan ke overflow area, karena entri pada prime track tidakhanya dalam harus dalam urutan, tetapi juga entri tersebut harus mendahului suatuentri overflow dari track tersebut.cylinder Itrack 0 : AARDVARK. track 1, ARMADILLO BABOON. track 2. CAT COW. track3.track I : AARDVARK ...... AIREDALE..... . ALBATROSS '. ALLIGATOR ...... APE .track 2 : BABOON ...... BAT ...... BEAR BOBCAT ( ALF .track 3 : COW ......... DOG ......... ELEPHf NT .

    1 OVERFLOW DATA FILEI

    cylinder 1 ... s. Itrack 1 : ARMADILLO ......... CAT ....Gambar 9.

    Pennintaan INSERT ANTPencarian dari strukturindex menyatakan bahwa ANT seharusnya berada padatrack 1dari cylinder 1. Susunan yang tepat dari key pada prime area harus dipelihara,sehingga ANT diletakkan pada track 1 cylinder 1dan APE dipindahkan ke overflowarea, seperti yang ditunjukkan pada gambar 10.

    PRIME DATA FILEcylinder Itrack 0 : AARDVARK. track I. APE T BABOON. track 2. CAT COW, track3.track 1 : AARDVARK ...... AIREDALE ...... ALBATROSS ... '" ......... ALLIGATOR ...... ANT ...track 2 : } no change from Fig 195 (c)track 3 :

    OVERFLOW DATA FILE Jcylinder I . . . Irack 1 : ARMAfILLO ......... 0. CAT ...... 0 APE r . . . . . .L I

    Gambar 10.66

  • 5/17/2018 Bab4 Organisasi Berkas Index Sequential

    LATIHAN

    Sekarang track 1 mempunyai lebih dari satu entri pada overflow area. Agarsupayadapat mengaksesrecord secara sequential, danjuga supayadapat menemukansebuah record dengan akses langsung, maka overflow dari sebuah track harusdikaitkan bersama pada urutan yang tepat, sehingga format record pada overflow areaadalah :ni1ai key, sisa record, menunjuk ke record berikutnya untuk track tersebut.Perhatikan bahwa pemberian track pada overflow area mungkin berisi recordyang merepresentasikan beberapa prime track tertentu menjangkau overflow track.

    1. Sebuah perusahaan utulitas publik mempunyai suatu sistim penarikan rekening(billing system) yang telah dikomputerisasikan. Setiap bulan pembacaan meteruntuk setiap langganan dimasukkan ke dalam komputer. Setiap bulan dikeluarkandua buah laporan dari sistem penarikan rekening tersebut. Laporan pertama berisisuatu pernyataan penarikan rekening untuk setiap langganan yang menunjukkantanggal dan jumlah uang yang harus dibayar, pembacaan meter danpenggunaannya, Nama langganan, alamat dan nomer ID, jumlah saldo yangterdahulu dan pajak. Laporan yang kedua digunakan untuk keperluan internaldan menun jukkan seluruh informasi penarikan rekening masing-masing langgananuntuk setiap bulan. Ada dua buah file yang digunakan untuk sistem penarikanrekening ini :(1) Data file pembacaan Meter, dan(2) Data file langganan ( Nama, Alamat, Nomor ID, Sisa Saldo ).(a) Bagaimana seharusnya organisasi dari setiap file?(b) Bagaimana seharusnya record key pada setiap file?Sebuah perusahaan eceran mempunyai suatu sistem kontrol inventori yang telahdikomputerisasikan. Pada akhir setiap hari seorang pegawai inventorimemberitahukan komputer melalui suatu terminal tentangjumlah unit dari setiapproduk yang dijual sepanjang hari itu. Pelaporan tentang penjualan harianberdasarkan produk memberikan updating inventori yang konstan untuk setiapproduk.Ketika inventori dan setiap barang tertentu mencapai titik terendah, maka barangbaru dipesan untuk melengkapi lagi persediaan barang. Output yang dihasilkanoleh sistem kontrol inventori adalah sebagai berikut :1. Current inventory setelah pegawai memasukkan informasi untuk suatuproduk melalui terminal.2. Sebuah Summary Report Inventori per hari untuk setiap produk dihasilkan

    setiap minggu, dan

    67

  • 5/17/2018 Bab4 Organisasi Berkas Index Sequential

    3. Fonnulir pesanan yang berisi nama-nama suplier dan alamat, tanggal,jumlah unit pesanan, nomor produk, dan unit cost, dihasilkan jika titikpemesanan kembali (reorder point) dari produk telah tercapai.a) Bagaimana seharusnya organisasi dari produk file?b) Bagaimana seharusnya record key untuk file-file tersebut ?

    3. Sebuah restoran yang besar memelihara record-record tentang jumlah dariberbagai pilihan menu yang dibeli berdasarkan pesanan langganan agar rencanapembelian dari komponen makanan menjadi lebih baik. Untuk setiap restoran,infonnasi dari pemeriksa makanan diketik ke dalam sebuah data terminal dandisimpan pada sebuah tape. Tape dari seluruh restoran dikirim setiap hari keruang pusat.a) Bagaimana seharusnya organisasi file yang dihasilkan pada setiaprestoran?b) Bagaimana seharusnya key dari setiap record untuk file tersebut ?

    4. Sebuah rumah sakit yang besar mempunyai sistem record pasien yang telahdikomputerisasikan. Setiap stasiun perawatan mempunyai sebuah terminal. Jikaseorang pasien diterima, sebuah reocrd yang berisi infonnasi perseorangan dansejarah perawatan dibuat.Record infonnasi perawatan dokter dibutuhkan untuk diagnosa. Perawatmengakses infonnasi yang telah disimpan oleh dokter dalam record pasien untukmenentukan dosis pengobatan, pengaturan diet, dan sebagainya., dan merekajuga mengupdate record terhadap temperatur, denyut nadi, tekanan darah,dansebagainya.a) Bagaimana seharusnya organisasi dari file pasien ?b) Bagaimana seharusnya key dari setiap record pada file tersebut ?

    5) (a) Pemrosesan yang mana yang diperlukan pada sistem record absensi kelasyang dapat diakses secara sequential dari file siswa ?(b) Mana yang disebut akses secara direct terhadap record tertentu dari file?

    6. Mengapa B+tree lebih baik strukturnya dibanding B tree untuk implementasi darisebuah file Index-sequential ?

    68

  • 5/17/2018 Bab4 Organisasi Berkas Index Sequential

    7. Jelaskan urutan kegiatan yang diperlukan untuk mengakses file Indek-sequentialsecara Sequential. Jelaskan urutan kegiatan yang diperlukan untuk mengaksessuatu record yang diberikan secra direct pada sebuah file indek-sequential.Jelaskan urutan kegiatan yang diperlukan untuk menyisipkan suatu record padasebuah file indek -sequential Jelaskan urutan kegiatan yang diperlukan untukmenghapus suatu record dari sebuah file indek-sequential. Jenis ir r plernentasiapa yang digunakan pada deskripsi di atas ?

    8. Pendekatan prime dan overflow data area sedang digantikan oleh pendekatanblack index dan data untuk implementasi file indek-sequential. Apa keuntungandan kerugian dari kedua pendekatan tersebut ?9. Dapatkan suatu listing dari instalasi anda sebuah program yang mengaksessebuah file indek-sequential. Pelajari cara file tersebut dibuat dan urutan kegiatan

    y~ng dilakukan oleh programmer.10. Kemukakan Metoda lain untuk mengimplementasikan sebuah file indek-sequential dan bandingkan dengan pendekatan block index dan data dan primedan overflow data area. -

    69