konsep dasar pendahuluan - webdosen.budiluhur.ac.id · k1a internet 2 - d812 tri darmadi primary...

32
Sistem Basis Data 1 (K82) 1 KONSEP DASAR Pendahuluan Sistem berkas atau pengarsipan adalah : Suatu system untuk mengetahui bagaimana cara menyimpan data dari file tertentu dan organisasi file yang digunakan. System akses : Cara untuk mengambil informasi dari suatu file Organisasi file : Teknik yang digunakan untuk menggambarkan dan menyimpan pada file Istilah – istilah dasar Entitas Sekumpulan obyek yang mempunyai karakteristik sama dan bisa dibedakan dari lainnya. Obyek dapat berupa barang, orang, tempat atau suatu kejadian Missal : pegawai, mobil, nilai dsb Atribut Deskripsi data yang bisa mengidentifikasikan entitas Missal : entitas mobil adalah no. mobil merk mobil, wrna mobil dsb Field Lokasi penyimpanan untuk salah satu elemen data atribut Record Kumpulan dari field yang berhubungan satu sama lain File Kumpulan dari record yang menggambarkan himpunan entitas Basis data Kumpulan file yang digunakan oleh program aplikasi serta membentuk hubungan tertentu di antara record-record di file-file tersebut Key o Elemen record yang dipakai untuk menemukan record tersebut pada waktu akses o Jenis-jenis key:

Upload: hanguyet

Post on 31-Mar-2019

230 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 1

KONSEP DASAR Pendahuluan Sistem berkas atau pengarsipan adalah : Suatu system untuk mengetahui bagaimana cara menyimpan data dari file tertentu dan organisasi file yang digunakan. System akses : Cara untuk mengambil informasi dari suatu file Organisasi file : Teknik yang digunakan untuk menggambarkan dan menyimpan pada file Istilah – istilah dasar • Entitas

Sekumpulan obyek yang mempunyai karakteristik sama dan bisa dibedakan dari lainnya. Obyek dapat berupa barang, orang, tempat atau suatu kejadian Missal : pegawai, mobil, nilai dsb

• Atribut Deskripsi data yang bisa mengidentifikasikan entitas Missal : entitas mobil adalah no. mobil merk mobil, wrna mobil dsb

• Field Lokasi penyimpanan untuk salah satu elemen data atribut

• Record Kumpulan dari field yang berhubungan satu sama lain

• File Kumpulan dari record yang menggambarkan himpunan entitas

• Basis data Kumpulan file yang digunakan oleh program aplikasi serta membentuk hubungan tertentu di antara record-record di file-file tersebut

• Key o Elemen record yang dipakai untuk menemukan record tersebut pada

waktu akses o Jenis-jenis key:

Page 2: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 2 Primary key Secondary key Candidate key Alternate key Composite key Foreign key

Page 3: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 3

• Primary key o Field yang mengidentifikasikan sebuah record dalam file o Bersifat unik

NIM NAMA UMUR 0222500250 TUTI 21 0222300023 WATI 20 0144500024 ALE 24

• Secondary key

o Field yang mengidentifikasikan sebuah record dalam file o Tidak bersifat unik

NIM NAMA UMUR 0222500250 TUTI 21 0222300023 WATI 20 0144500024 ALE 24

• Candidate key

o Field-field yang bisa dipilih (dipakai) menjadi primary key

CANDIDATE KEY

NIM NAMA NO_KWITANSI JUMLAH 0222500250 TUTI 789 50000 0222300023 WATI 254 60000 0144500024 ALE 365 80000

• Composite key

o Primary key yang dibentuk dari beberapa field

HARI RUANG MATA KULIAH SELASA 322 LOGIKA MATEMATIKA SELASA 321 PANCASILA SELASA 333 KEWARGANEGARAAN

• Foreign key

o Field yang bukan key, tetapi adalah key pada file yang lain KD_MK MATAKULIAH SKS KD_DOSEN KD_DOSEN NAMA N18 MANAJEMEN 2 D231 D232 Warsono, Drs P25 PASCAL 4 D453 D453 R. Faisal K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY

PRIMARY KEY

SECONDARY KEY

COMPOSITE KEY

Page 4: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 4FILE o File diletakkan di penyimpan sekunder. o File mempunyai nama Karakteristik umum file 1. Persitence

Bertahan lama yaitu kemampuan untuk dapat diakses di masa datang. 2. Sharability

Dapat digunakan bersama oleh beragam pemakai dan program 3. Size

File mempuyai ukuran yang relative besar Operasi pada file / berkas Berdasarkan model proses 1. batch

suatu proses yang dilakuakn secara kelompok atau grup

2. iterative suatu proses yang dilakukan secara satu per satu yaitu record per record

Berdasarkan Model operasi : 1. Create

Pembuatan berkas dengan cara membuat struktur berkas lebih dahulu, kemudian record-record dimuat ke dalam berkas tersebut

2. Up-date Pengubahan isi dari berkas diperlukan untuk menjaga berkas tetap up to date (diperbaharui) Ada 3 bagian dalam proses up date :

o Insert / Penyisipan atau penambahan record o Modify / Perbaikan field o Delete / Penghapusan record

3. Retrieval Pengaksesan sebuah berkas untuk tujuan mendapatkan informasi Menurut ada tidaknya persyaratan, retrieval dibagi menjadi

o Comphrehensive retrieval Proses untuk mendapatkan informasi dari semua record dalam berkas Missal : display all, list nama alamat

o Selective retrieval Mendapatkan informasi dari record-record tertentu berdasarkan persyaratan tertentu Missal : list for program studi == ‘TI’

4. Maintenance Perubahan yang dibuat terhadap berkas dengan tujuan memperbaiki program dalam mengakses berkas tersebut. Ada dua cara yaitu :

o Restructuring Perubahan struktur berkas Misalnya : panjang field diubah Penambahan field baru

o Reorganizing Perubahan organisasi berkas dari organisasi yang satu menjadi organisasi berkas yang lain Misalnya :

dari organisasi berkas sequential menjadi berkas sequential diindeks

dari langsung (direct) menjadi sequential (berurutan)

Page 5: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 5 RECORD Ukuran record biasa dinyatakan dalam byte Jenis record menurut panjangnya : 1. Fixed length record

Semua field di record mempunyai panjang yang tetap Kelebihan : tidak rumit dalam pemrograman Kekurangan : harus disediakan ukuran terbesar yang diperlukan

2. variable length record Field-field di record mempunyai panjang berbeda-beda Kelebihan : hemat tempat Kekurangan : rumit dalam permrogaman

• Record View

o External View Bentuk record yang terlihat oleh user Disebut juga logical record

o Internal View Bentuk record secara fisik di dalam media penyimpanan Disebut juga physical record

• Data transfer o Perpindahan data antara primar storage dengan secondary storage

DATA

o Tidak hanya memindahkan 1 (satu) logical record, tetapi 1 (satu) block o 1 block bisa > 1 record o block disebut juga physical record

• Input Buffer o Tempat 1 block disimpan didalam memory

• Output Buffer o Tempat 1 block yang akan direkam ke storage media

• Data Area o Tempat 1 logical record yang akan diproses

LOGICAL FILE STRUCTURE

• Adalah: o Organisasi file o External View o Kumpulan logical record o Pandangan user tentang bagaimana kumpulan logical record

terorganisir PHYSICAL FILE STRUCTURE

• Adalah: o Internal View o Kumpulan physical record o Letak / susunan physical record pada secondary storage

PRIMARY STORAGE

SECONDARY STORAGE

PRIMARY STORAGE

SECONDARY STORAGE

STORAGE MEDIA

DATA AREA

Page 6: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 6JENIS FILE (Berdasarkan fungsinya):

o MASTER FILE o TRANSACTION FILE o REPORT FILE o WORK FILE o PROGRAM FILE o TEXT FILE

• MASTER FILE

o Adalah: • Berisi data statis • Data tentang satu sisi dari organisasi

PELANGGAN PERSEDIAAN BARANG PEGAWAI NILAI MAHASISWA MATAKULIAH

• Berisi data historis • Isinya relatif permanen

• TRANSACTION FILE o Adalah:

• Berisi data yang akan mengupdate master file • Berisi kejadian atau perubahan terhadap sesuatu, yang

statusnya tersimpan dalam master file

• REPORT FILE o Adalah:

• Berisi data yang bentuknya telah disesuaikan untuk kepentingan user

• Data yang akan ditampilkan pada monitor • Data yang akan dicetak • Dihasilkan oleh:

• Report writer • Application program

• WORK FILE o Adalah:

• Temporary file • File sementara • File kerja • Berisi sesuatu yang tidak permanen • Isinya hanya dipakai sesaat saja • Untuk memindahkan data dari satu program ke program yang

lain

• PROGRAM FILE o Adalah:

• Berisi perintah untuk memproses data • Bisa berisi perintah dalam:

• High Level Language • Low Level Language • Machine Language • Job Control Language

• Perintah bisa berbentuk: • Source Code • Hasil Kompilasi • Hasil proses lainnya

• TEXT FILE o Berisi:

• ALPHANUMERIC & GRAPHIC DATA o Berasal dari program text editor o Hanya dapat diproses oleh program text editor

Page 7: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 7

PERANGKAT PENYIMPAN SEKUNDER (SECONDARY STORAGE DEVICE)

Operasi dan mekanisme kerja perangkkat sekunder sangat berpengaruh terhadap kinerja struktur file Media penyimpanan informasi di system computer dibagi menjadi 2 tipe utama :

Penyimpan primer Ciri-ciri :

o Kecepatan akses tinggi o Harganya relative mahal o Kapasitas relative kecil o Volatile

Penyimpan sekunder Cirri-ciri :

o Kecepatan akses rendah o Harganya relative murah o Kapasitas relative besar o Non-volatile

Macam penyimpan sekuder :

Contoh media penyimpan mekanis o Kartu IBM/Hollerith o Pita kertas berlubang

Sifat umum perangkat ini adalah sangat lambat, dan sudah tidak digunakan lagi untuk penyimpanan data

o Magnetic tape Panjangnya beratus meter dan digulung. Informasi dikodekan karakter per karakter.

CIRI – CIRI MAGNETIC TAPE o tape masuk ke dalamkeluarga SASD (sequential access storage device)

sehingga Hanya dapat diproses secara sequential, yaitu Sebuah record hanya dapat diakses setelah semua record didepannya diakses

o Hanya bisa mempunyai struktur file sequential o Sebuah record tidak dapat diupdate ditempatnya • Karakteristik

o Media Terbuat dari mylar Berlapis oksida logam

o Lebar 0.5 inchi

Page 8: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 8o Panjang

200 feet s/d 6400 feet pada sebuah reel o Density

800 BPI 1600 BPI 6250 BPI

o Daerah perekaman dibatasi oleh

LOAD POINT MARK

END OF REEL MARK o Terbagi menjadi 9 track

8 track untuk data bit 1 track untuk parity bit

0 1 2 3 4 5 6 7 8

o Parity bit satu bit yang dipakai untuk error checking o Data direkam secara EBCDIC

TRACKDATA BIT

PARITYBIT

Page 9: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 9

FRAME

0 0 0 0 0 1 0 1 1

Keuntungan magnetic tape:

o Harganya murah, simpannya besar Kerugian magnetic tape:

o Aksesnya terbatas hanya 1 jenis akses

PARITY BIT Satu bit yang ditambahkan oleh sistem Konsep parity ada dua:

1. Odd Parity 2. Even Parity

Odd Parity: o Jumlah bit yang on (berisi 1) dalam 1 frame harus ganjil

Even Parity: o Jumlah bit yang on (berisi 1) dalam 1 frame harus genap

Contoh: ODD PARITY EVEN PARITY

1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0

TRACKDATA BIT

PARITY BIT

Page 10: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 10

Jenis Parity o Vertical Parity Bit

1 bit parity pada tiap frame o Longitudinal parity bit

1 frame pada akhir tiap block

1 BLOCK LONGITUDINAL PARITY BIT INTERRECORD GAP

Data hanya ditulis (dibaca) kalau tape bergerak dengan kecepatan tertentu / normal

kecepatan write & read start stop panjang pita

Hanya berlaku 1 bock Panjang 1 IRG dengan IRG yang lain selalu sama Adalah:

o Daerah pita yang tidak ditulis (dibaca) disebut IRG (Inter Record Gap)

PHYSICAL RECORD-1

IRG PHYSICAL RECORD-2

IRG PHYSICAL RECORD-3

IRG

Block

o Panjang IRG selalu sama CARA PEREKAMAN Panjang magnetic tape yang dipakai untuk merekam 1 block tergantung pada:

o PANJANG LOGICAL RECORD o BLOCKING FACTOR o DENSITY

Panjang logical record dinyatakan dalam satuan: BYTE / CHARACTER Blocking factor adalah nilai yang menyatakan 1 block terdiri atas beberapa

logical record Density, tergantung jenis magnetic tapenya: 800/1600/6250 BPI

Contoh 1:

Panjang magnetic tape untuk merekam 1 block bila: o Record length : 80 character o Blocking factor : 10 logical record o Density : 1600 BPI o IRG : 0.6 inch

Adalah:

= 0.6 + 10 x 80 inch 1600 = 1.1 inch

PHYSICAL IRG PHYSICAL IRG PHYSICAL IRG

Page 11: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 11

RECORD-1 RECORD-2 RECORD-3 start stop KEBUTUHAN PITA MAGNETIC UNTUK MEREKAM 1 BLOCK Rumus: IRG = INTER RECORD GAP IRG + BF X RL BF = BLOCKING FACTOR D RL = RECORD LENGTH D = DENSITY Contoh 2: o Panjang tape untuk merekam 1000 logical record bila:

o RL : 200 byte o BF : 8 o D : 800 BPI (bit per inch) o IRG : 0.6 inch Adalah: = 1000 ( 0.6 + 8 x 200 ) inch

8 800 = 125 ( 0.6 + 2 ) = 325 inch 27.08 feet ( 1 feet = 12 inch ) panjangnya pita RUMUS o Menghitung panjang pita yang dipakai: N = Banyak record BF = Blocking Factor IRG = Inter Record Gap RL = Record Length D = Density Contoh 3: Density = 1600 Byte Per inchi Panjang Tape = 3600 feet Kapasitas simpan = 1600 * 12 * 3600 = 69 120 000 byte = 67500 KB Nb : 1 feet = 12 inchi Waktu akses pada magnetic tape Waktu untuk memindahkan = panjang gap + panjang record 1 record (dalam detik) kecepatan transfer data Waktu untuk memindahkan = panjang gap + BFR * panjang record 1 record (dalam detik) kecepatan transfer data contoh:

N ( IRG + BF X RL ) BF D

Page 12: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 12Catatan sebuah file yang mempunyai 100.000 record, dimana sebuah record berukuran 160 byte, kecepatan transfer data 200.000 karakter/detik Kerapatan media 1600 byte per inchi. Inter record Gap 0.6 blocking factor = 10 Maka waktu yang digunakan untuk membaca: 1 record,1 file,1 blok Jawab: 1 inchi = 1600 byte, maka 0.6 inchi = ……. byte/karakter 1600 byte * 0.6 inchi = 960 byte, maka 0.6 inchi = 960 byte/karakter

Waktu untuk melewati IRG = 960/ 200.000 = 0.0048 detik Waktu akses per 1 record = 960 + 160 / 200.000 = 0.0056 detik Waktu akses seluruh record/file = 0.0056 * 100.000 = 560 detik = 9.3 menit Waktu akses per 1 block = 960 + ( 10 * 160 ) / 200.000 = 0.0128 detik o MAGNETIC DISK

o Masuk ke dalam keluarga DASD(Direct Access Storage Device) sehingga akses terhadap record dapat secara direct, yaitu Sebuah record dapat diakses secara langsung (direct), melalui address sehingga waktu pengaksesan relative rendah dan transfer data berkeceptan tinggi

o Magnetic disk terbuat dari sejumlah plat/cakram. Permukaan tiap cakram

(atas/bawah) terbuat dari bahan besi yang mudah dimagnetisasi.

Perekaman data Pada disk magnetic kode on dan off direpresentasikan oleh kedudukan

elemen magnetiknya. Dengan mengimbas permukaan disk dengan magnet (yang ada pada

head), kedudukan elemen magnet berubah. Artinya kode on bisa diganti off dan sebaliknya.

Lubang-lubang di permukaan disk merepresentasikan data yang tersusun dalam suatu jalur yang disebut track. Data disimpan dalam track yang berbentuk konsentris (lingkaran penuh) Tiap track dibagi menjadi sector-sektor (blok). Magnetic disk diorganisasikan menjadi siliner-silinder. Silinder adalah track-track yang sama pada permukaan-permukaan pada cakram-cakram yang berbeda.

PLAT / CAKRAM HEAD R /W

Page 13: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 13Tiap permukaan terdapat head yang ditumpuk secara vertical.

Kapasitas Disk

Kapasitas track = sector per track X byte per sector Kapasitas cylinder = track per cylinder X kapasitas track Kapasitas drive = jumlah cylinder X kapasitas cylinder

Contoh 1: Tentukan kapasitas simpanan magnetic disk dengan ketentuan sbb: Permukaan = 10 Track/permukaan = 400 Sector/track = 16 Setiap sector/track mampu menyimpan = 512 byte Jawab: Kapasitas = 10 * 400 * 16 * 512 = 32 768 000 byte

Contoh 2: Jika banyak record sebanyak 20.000, panjang tiap record adalah 256 byte Jika sebuah drive mempunyai ketentuan :

Byte per sector = 512 Sector per track = 40 Track per cylinder = 11 Jumlah cylinder = 1331

Berapa banyak cylinder yang diperlukan untuk meyimpan data di atas : Jawab : 1 record = 256 byte 1 sector = 512 byte

SEKTOR

TRACK

CYLINDER

Page 14: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 141 sector = 2 record 10.000 sector = 20.000 record 1 cylinder dapat menyimpan : 40 X 11 = 440 sector sehingga untuk 10.000 sector diperlukan : 10.000 / 440 =22.7 cylinder

ACCESS TIME:

o Adalah: o Waktu yang dibutuhkan untuk mengakses (mendapatkan) data dari

dalam disk o Terdiri dari:

o SEEK TIME o Waktu yang dibutuhkan untuk menempatkan R/W head pada

cylinder yang diinginkan o Dinyatakan dengan notasi S dalam satuan milisecond

o HEAD-SWITCHING TIME o Waktu yang dibutuhkan untuk mengaktifkan R/W head yang

diperlukan

o LATENCY TIME (Rotational Latency) o Waktu yang dibutuhkan untuk menunggu sampai data berada di

bawah R/W head o Disebut juga ROTATIONAL DELAY

o TRANSFER TIME o Waktu yang dibutuhkan untuk memindahkan data dari memory

ke disk atau sebaliknya o Optical Disk

o Dibuat dari serangkaian bintik-bintik spiral dalam satu permukaan flat.

o Dibaca dan ditulis dengan sinar laser o Menyimpan informasi mirip dengan piringan hitam, informasi yang

terdiri dari kode-kode on dan off direpresentasikan dengan lubang-lubang pada permukaan disk

o Contoh : CD ROM (CD read only memory) CD R (CD Recordable) CD RW (CD Rewriteable)

Page 15: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 15ORGANISASI DATA File diorganisasikan secara logic sebagai barisan record. FILE PERFORMANCE PARAMETER

o Adalah: o Parameter untuk menilai performance (unjuk kerja) sebuah file

o Gunanya: o Untuk membandingkan

Kelebihan Kekurangan

Organisasi file yang satu terhadap lainnya 1. RECORD SIZE

o Besar (panjang) sebuah record o Tiap record berisi data yang diperlukan o Data diperinci dalam sejumlah field o Tiap file akan berbeda dari file lainnya pada:

i. Jumlah field pada tiap record ii. Besar (panjang) record

o Kemampuan menyiapkan / menyediakan panjang record seperti yang dibutuhkan ikut menentukan peformance sebuah file

o Contoh : NIM : 10 Byte Nama : 25 Byte Alamat : 45 Byte ============== Total : 80 Byte

2. FETCH A RECORD

o Mengambil (mendapatkan) sebuah record o Untuk bisa dimanfaatkan, data dari dalam file harus dipindahkan ke

memor o Fetch terdiri dari 2 langkah:

o Mencari lokasi data o Membaca record tersebut

3. GET THE NEXT RECORD o Mendapatkan record berikutnya o Kalau fetch retrieve berdasarkan key o Get the next record retrieve berdasarkan struktur file o Successor record record berikutnya o Predecessor record record sebelumnya

4. INSERT A RECORD

o Menambah sebuah record o Menulis kedalam file lebih rumit dari membaca isi file o Insert berarti menambahkan sebuah data baru ke dalam file o Insert pada ujung akhir sebuah file, hanyalah menambah banyaknya

data Waktu yang dibutuhkan kecil

1 2 3 4 5 6 7 8 9 … A B C D E F … … … …

INSERT X PADA AKHIR RECORD

1 2 3 4 5 6 7 8 9 … A B C D E F X … … …

o Insert ditengah file mengakibatkan pergeseran ataupun perubahan struktur data yang tidak sederhana

Page 16: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 16

1 2 3 4 5 6 7 8 9 … A B C D E F … … … …

INSERT X PADA RECORD KE 3

1 2 3 4 5 6 7 8 9 … A B X C D E F … … … RECORD KE-3 DST BERGESER

5. DELETE A RECORD o Menghapus sebuah record o Kebalikan dari insert o Mencari lokasi data & menghapus isinya, agar bisa dipakai oleh data

yang lain o Setelah itu dilakukan pergeseran ataupun pengaturan struktur data

kembali

1 2 3 4 5 6 7 8 9 … A B C D E F … … … …

HAPUS BILA RECORD D DIHAPUS, MAKA AKAN TERJADI PEMBACAAN DAN PENULISAN ULANG RECORD E, F, DST

1 2 3 4 5 6 7 8 9 … A B C E F … … … … … o Kadangkala delete dilakukan dengan hanya memberi tanda saja

(tombstone / flag), tanpa dilakukan penghapusan ataupun pengaturan struktur datanya

1 2 3 4 5 6 7 8 9 … A B C D E F … … … …

HAPUS

1 2 3 4 5 6 7 8 9 … A B C * E F … … … … record yang sudah dihapus “Delete”

6. MODIFY A RECORD o Mengubah sebuah record o Data lama & data baru digabung dalam record yang sudah ada o Kalau modify sampai mengubah ukuran record, maka:

o Record lama harus dihapus o Record baru dituliskan pada tempat yang mencukupi

7. READ THE ENTIRE FILE

o Membaca isi seluruh file o Kadangkala sebuah aplikasi perlu membaca isi seluruh file

8. REORGANIZE THE FILE

o Menata ulang (mengatur kembali) file o Sebaiknya dilakukan secara periodik o Adalah:

Page 17: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 17o Menghapus data yang didelete o Membuang data yang tidak terpakai o Memakai daerah kosong untuk data yang baru

o Sangat diperlukan bila konsep deletenya memakai tombstone (flag) o Sangat dianjurkan terhadap file yang banyak di insert & atau di delete

ORGANISASI FILE 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

Pile File Adalah: • Bukan file komputer, tetapi file manual • Bentuk kumpulan data sebelum diproses • Dimana data sulit untuk diorganisir • Data dikumpulkan urut berdasarkan kedatangan • Tidak dianalisa, dikategorikan ataupun diatur agar sesuai dengan sesuatu field

atau record size • Bentuk record mungkin saja variable length dan elemen data bisa tidak sama No.record NIP Nama Tgl-lahir Pekerjaan 1 0017081 Ali Ahmad 09-09-1950 ----------- 2 0017201 Umar 20-12-1960 Marketing Maka dalam Pile record-record akan disimpan sebagai berikut : Nim=0017081;Nama=Ali Ahmad;tgl-lahir=09-09-1950 Record –1 Nim=0017021;Nama=Umar;tgl-lahir=20-12-1960;Pekerjaan=Marketing Record –2 Gambaran secara Umum :

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

Page 18: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 18• 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

3. Get the next record • Karena data tidak diurutkan, maka successor record mungkin berada

dimana saja • Sehingga pencarian harus dilakukan pada seluruh file • Sangat dianjurkan untuk memanfaatkan pembagian dalam block seperti

pada fetch

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

7. Read the entire file

• Kegiatan ini dapat dilaksanakan dengan sangat mudah • Karena tinggal membaca satu-persatu sesuai dengan kronologis susunan

datanya

8. Reorganize the file • Bila delete pada file dilakukan dengan menggunakan tombstone, maka

reorganize perlu dilakukan secara periodik • Agar file menjadi lebih ramping, sehingga proses pencarian data bisa

berlangsung lebih cepat • Kadang reorganisasi pile file diperlukan untuk menata ulang susunan data

secara kronologis

Page 19: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 19SEQUENTIAL FILE 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 Nip Nama Pekerjaan 000021 Abu Bakar Manajer 000032 Fatimah Sekretaris 000042 Asma Presiden direktur 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

• Sequential file bisa disimpan pada:

• Sequential Access Storage Device (Magnetic Tape) • Direct Access Storage Device (Magnetic Disk)

• 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

Page 20: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 20• 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

3. Get the next record

• Record berikutnya dapat langsung diakses • Karena seringkali berada pada block yang sama

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

7. Read the entire file • Dilakukan dengan sequential search • Pembacaan file dilakukan sesuai dengan urutan fisik file (key bisa urut /

bisa tidak urut)

8. Reorganize the file • Membentuk file baru (batch update) • Kedua file (master file & transaction file) harus diurutkan pada urutan yang

sama

Page 21: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 21INDEX FILE

File index digunakan untuk menemukan lokasi record yang dicari dengan cepat

Terdiri dari : o Index block Number o Key Attribut o Record Number (TID = Tuple Indentifier)

Master File Record Number

Nim Nama

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 ……….. ………

INDEX FILE–NYA SEBAGAI BERIKUT : Index Block # KEY REC #

0211500032 1 0211500054 2 A 0211500143 101 0211500150 102 B 0222300032 201 0222300054 202 C 0222500234 301 0222500240 302 D 0222500434 401 0222500450 402 E 0233500002 501 0233500004 502 F 0244500032 601 0244500034 602 G

Page 22: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 22Untuk mencari index block dengan cepat dibuat index level kedua sebagai berikut : Index Block # KEY INDEX BLOCK #

0211500032 A 0211500143 B 0222300032 C 0222500234 D 0222500434 E 0233500002 F

M

0244500032 G

Terdapat 2 tipe pengacuan indeks

o Block Anchor Indeks tidak menunjuk langsung ke record tetapi ke block yang memuat record Indeks memuat record pertama dari tiap block Contoh

Index Block # KEY INDEX BLOCK # 0211500032 A 0211500143 B 0222300032 C 0222500234 D 0222500434 E 0233500002 F

M

0244500032 G

o Record Anchor Indeks menunjuk ke record

Data Utama No. Record NIM Nama Alamat

1 0011500043|Muhammad Hanafi|Petukangan Utara 2 0222500056|Ali|Ciledug 3 0033500021|Fitriana Sari| Petukangan Selatan 4 0022500026|Budi Firmansyah|Cipulir 5 0244500023|Titi|Cipondoh 6 0122500035|Abdullah Nashih Ulwan|Tanah Abang 7 0022500254|Ade|Kebayoran Lama 8 0322500221|Muhammad Reza Pahlevi|Kebayoran Baru

Record Number

Nim Nama

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

Page 23: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 23

502 0233500004 Ina Dst ……….. ……… 601 0244500032 Dina 602 0244500034 Ani Dst ……….. ………

Index file Misal Berdasarkan nama

Key Record # Ali 2 Ani 602 Asih 102 Budi 501 Dani 301 Dina 601 Dito 401 Dst… Dst..

Page 24: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 24INDEXED 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 BLOCK ID 013-20-14 1 104-13-82 2 Record

Number No. ktp Nama Overflow

pointer --- --- 11.1 013-20-14 Hadi END 11.2 015-23-51 Ari 112.1 MASTER INDEX 11.3 019-88-79 Nani XXXXX XXXXXXXX XXXXXXX XXXXX BLOCK ID KEY BLOCK ID 12.1 021-13-21 Nita

013-20-14 11 12.2 027-55-07 Agus 021-13-21 12 XXXXX XXXXXXXX XXXXXXX XXXXX 045-62-57 13 13.1 045-62-57 Nanda

1

---- ---- 13.2 049-20-73 Tuti XXXXX XXXXXXXX XXXXXXX XXXXX

104-13-82 21 21.1 104-13-82 Wiyogo 132-52-93 22 21.2 108-84-66 Arjuno 2 183-08-29 23 XXXXX XXXXXXXX XXXXXXX XXXXX

--- --- 22.1 132-52-93 Hakim END XXXXX XXXXXXXX XXXXXXX XXXXX INDEX

23.1 183-08-29 Garuda 231.1

23.2 186-08-30 Arini 23.3 192-20-41 Baruna XXXXX XXXXXXXX XXXXXXX XXXXX SEQUENTIAL

FILE

O-CHAIN-P 112.1 016-78-01 HERMAN 112.2 017-09-73 JIRAN 11.3 XXXXX XXXXXXXX XXXXXXX XXXXX 231.1 184-29-80 FARID 231.2 185-51-38 SAMIN 23.2 OVERFLOW AREA

Page 25: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 25• 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

INSERT 085 039 025 MAIN FILE 017 017 017 017 061 061 039 025 103 085 061 039 103 085 061 OVERFLOW AREA

103 085

103 Kegunaan index sequential file • Bentuk file yang paling banyak dipakai • Dipakai bila file ingin selalu dalam kondisi up to date • Sebuah record dapat di insert atau di retrieve secara langsung melalui indexnya • Sangat sesuai untuk proses secara on-line • Bisa juga diakses secara sequential Kelemahan index sequential file • Seach/pencarian hanya bisa melalui sebuah key saja, yaitu key yang

mengurutkan file 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)

3. Get the next record • Successor record cukup dicari secara serial dari predecessornya, tanpa

memanfaatkan index 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

Page 26: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 265. 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

7. Read the entire file

• Dapat dilakukan dengan memakai salah satu dari 2 cara dibawah ini: 1. Secara serial dengan mengikuti alur urutan data (termasuk ke overflow

area) 2. Secara sequential membaca isi main file dahulu baru membaca isi

overflow area 8. Reorganize the file

• Overflow area digabungkan ke main file • Main file mendapat ukuran yang baru • Overflow area kembali kosong • Index berubah isinya sesuai dengan data terbaru • Dilakukan dengan pembacaan serial melalui main file

Multiple Indexed file Adalah: • Disebut juga multiple indexed file • Mempunyai lebih dari sebuah index • Tiap atribut (bahkan semua atribut) mempunyai index) • Tiap index diperlakukan sama

• Tiap index adalah record anchored • Tidak ada konsep primary-attribute • File tidak tersusun berdasarkan primary index

• Tidak ada pengaturan overflow-chain • Insert langsung ke dalam main file • Tiap kali insert semua index harus diupdate

• Hanya bisa diakses melalui indexnya • Bisa diakses melalui index yang mana saja • Record bisa berbentuk variable length Struktur file pada indexed file • Index bisa sebanyak atribut yang ada • Index bahkan bisa lebih banyak dari jumlah atribut yang ada, kalau dibentuk

combined index • Index berisi alamat dari tiap record yang terkait • Tidak ada urutan data pada primary file, karena system akan menempatkan

data berdasarkan besar kebutuhan tempat • Tidak ada batasan panjang record • Bisa berbentuk variable length record • Successor record dicari melalui record Data Utama No. Record NIM Nama Alamat

1 0011500043|Muhammad Hanafi|Petukangan Utara 2 0222500056|Ali|Ciledug 3 0033500021|Fitriana Sari| Petukangan Selatan 4 0022500026|Budi Firmansyah|Cipulir 5 0244500023|Titi|Cipondoh 6 0122500035|Abdullah Nashih Ulwan|Tanah Abang 7 0022500254|Ade|Kebayoran Lama 8 0322500221|Muhammad Reza Pahlevi|Kebayoran Baru

Page 27: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 27 Index file Misal Berdasarkan nama

Key Record # Abdullah Nashih Ulwan 6 Ade 7 Ali 2 Budi Firmasyah 4 Fitriana Sari 3 Muhammad Hanafi 1 Muhammad Reza Pahlevi 8 Titi 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

3. Get the next record • Tidak bisa dilakukan melalui struktur file • Dilakukan melalui index

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

7. Read the entire file • File tidak diharapkan untuk sering dibaca seluruh isinya • Karena lokasi record yang tidak beraturan • Harus dilakukan dengan memanfaatkan index lengkap yang ada

Page 28: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 288. Reorganize the file

• Tidak perlu dilakukan secara periodik • Lebih kepada pemanfaatan kembali daerah-daerah kosong akibat delete a

record 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 Komponen Hashed File: • File Space

• Terbagi dalam slot-slot • Tiap slot menyimpan sebuah record

• Rumus • Menghasilkan slot address, dihitung berdasarkan key dari sebuah record

Overview Hashed File • Berbasis kemampuan direct access ke dalam file dengan memanfaatkan relatif

address • Relatif address adalah:

• Sebuah record dapat ditemukan hanya dengan memanggilnya lewat nomor urut record di dalam file

• Masalahnya adalah: • Membuat rumus untuk mengubah key dari sebuah record menjadi nomor

urut (KAT -> Key To Address Transformation) • KAT (Key To Address Transformation) :

• Tujuannya untuk menghasilkan slot number yang berbeda bagi tiap record • Dengan cara mengubah key menjadi relative address • Hambatan KAT:

• Key umumnya sesuatu yang bersifat natural (NIM / No_KTP / No_Pegawai / dll)

• Natural Key biasanya panjang (NIM = 10 digit) • Persyaratan KAT:

• Ukuran Key harus diperpendek agar sesuai dengan slot address (relative address)

• Slot address yang dihasilkan harus unix • Algoritma untuk membuat KAT sangat banyak • Contoh:

NIM NAMA SLOT ADDRESS 0011500001 BUDIMAN 1 0011500002 HERMAN 2 - - - - - - 0011500105 ACHMAD 105 0011500106 ENDANG 106 0011500107 SEPHIA 107

• Fungsi hash yang umum digunakan

• Division Remainder (pembagian sisa) • Truncation (pemenggalan) • Folding ( Lipatan) • Multiplication (perkalian) • Mid Square

Page 29: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 29 Teknik Hashing Division Remainder (pembagian sisa)

- Metode hashing paling sederhana dengan membagi 1 nilai kunci dengan ukuran tabel

- Diimplementasikan dengan syntax programming MOD (sisa pembagian) - Bagi programming yang tidak memungkinkan index dari 0 maka ditambah 1 - Contoh 1 : jika ukuran tabel 11 dan nilai kunci 648

F(648) = 648 mod 11 = 10 Maka nilai 648 disimpan di lokasi 10

- Contoh 2 : Sebuah file = 4 record dengan nilai kunci 12,19,68,38 ukuran tabel 11 F(12) = 12 mod 11 = 1 F(19) = 19 mod 11 = 8 F(68) = 68 mod 11 = 2 F(38) = 38 mod 11 = 5

Teknik Hashing Truncation (pemenggalan) - melakukan pemenggalan sejumlah digit yang pertama atau yang terakhir

dari sejumlah digit - Keuntungan, capat dan mudah dalam implementasinya - Kerugian, terbatasnya ukuran ruang alamat - Contoh 1: Jika fungsi F menghapus 6 digit akhir dari digit 123456789

Maka f(123456789) = 123 Nb : hash memetakan nomor 123456789 ke alamat 123

Teknik Hashing Folding ( Lipatan) - Nilai kunci dibagi menjadi beberapa bagian, masing-masing memiliki jumlah

digit yang sama (kecuali bagian awal atau akhir). Bagian-bagian ini kemudian dilipat antara satu bagian dengan bagian lain. Hasil penjumlahan setelah dilipat dan digit dengan orde paling tinggi dipenggal menjadi alamat relative

- Contoh 1: Nilai kunci 253456718, target alamat relative menggunakan 4 digit

Nilai kunci dibagi menjadi 4 digit Jawab:

2 5345 6718 2 5345 8176 (urutan terbalik !) -------- + 15521 digit dengan order tinggi dihilangkan menjadi 5521

- Contoh 2: Nilai kunci 123456 dibagi menjadi 2 bagian Jawab: 123 123 456 654 ------ + atau ----- + 579 777

Teknik Hashing Multiplication (pekalian)

- Membagi sebuah kunci dan menjumlah bagian-bagiannya (seperti teknik folding), bagian dari salah kunci dipilih untuk dikalikan. Hasilnya atau satu bagian yang dipenggal merupakan alamat relatif dari record yang akan dilokasikan

- Contoh 1: NIM = 9922500266 Jawab: 992 * 266 = 263872 dipenggal menjadi 2638 Maka data NIM 9922500266 disimpan di alamat 2638

Index 0 1 2 3 4 5 6 7 8 9 NIlai Kunci 12 68 38 19

Page 30: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 30Teknik Hashing Mid Square

- Nilai kunci dikuadratkan, tentukan digit yang akan dikutip dari tengah - Contoh 1: Diambil dari kanan, mulai posisi ke 6 sebanyak 6 digit

Nilai Kunci Kunci dipangkatkan Alamat relatif

9122500266 83220011103170070756 031700

0322501001 104006895646002001 956460 Collision: • Kadangkala KAT (Key To Address Transformation) akan menghasilkan slot

address yang sama untuk 2 atau lebih key yang berbeda. • Akibatnya 2 atau lebih record yang berbeda akan mempunyai slot address yang

sama • Kondisi diatas disebut Collision • Metoda mengatasi collision:

• Open addressing • Linear search • Re-randomization

• Overflow area Linear Search • Slot dikelompokkan ke dalam bucket, 1 bucket sama dengan 1 block • Dengan dimanfaatkannya bucket, jumlah relative address berkurang • Bucket kadang disebut juga sebagai Cluster • Bila sebuah record akan direkam maka:

• Ditempatkan kedalam bucket sesuai dengan bucket addressnya • Ketika terjadi collision, record tetap ditempatkan sesuai dengan bucket

addressnya tetapi pada next sequential block Re-randomization: • Tidak memanfaatkan bucket (cluster) • Tetapi menempatkan record yang collision pada sembarang tempat di dalam

file • Dengan membuat KAT yang bertingkat-tingkat • Sebuah record direkam kedalam slot sesuai dengan relative addressnya

(diperoleh dari KAT) • Bila terjadi collision, KAT tingkat berikutnya akan dipakai untuk mencari tempat

kosong di dalam file • Setiap terjadi collision, KAT tingkat berikutnya akan dimanfaatkan 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

Kegunaan Hashed File • Banyak dipakai untuk file-file berbentuk:

• Directory • Tabel (Harga / barang) • Jadwal kegiatan • Daftar (nama/alamat) • dll

• File dengan ukuran record yang pendek & fixed • Dapat diakses dengan cepat • Hanya diakses berdasarkan 1 key • Tidak pernah diakses secara serial

Page 31: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 31Performance 1. Record Size

• Fixed length record • Besar tempat yang dibutuhkan untuk tiap record adalah sama seperti pada

indexed sequential file 2. Fetch a record

• Record ditemukan berdasarkan relative address • Kalau pernah terjadi collision, fetch dilanjutkan ke tempat record

sebenarnya berada (tergantung metoda penanganan collision) 3. Get the next record

• Tidak dikenal cara serial access • Selalu seperti fetch a record

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

8. Reorganize the file

• Diperlukan bila total record telah mengisi semua slot dan tidak ada tempat lagi untuk bertambah

• Dibutuhkan tempat baru yang lebih besar • KAT perlu diubah atau diperbaiki • Reorganisasi juga diperlukan jika banyak record yang telah didelete (delete

akan berakibat memperpanjang / memperlama pencarian sebuah record) 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

Page 32: KONSEP DASAR Pendahuluan - webdosen.budiluhur.ac.id · K1A INTERNET 2 - D812 Tri Darmadi PRIMARY KEY PRIMARY KEY FOREIGN KEY PRIMARY KEY SECONDARY KEY ... Panjang logical record dinyatakan

Sistem Basis Data 1 (K82) 32• 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

3. Get the next record

• Dilakukan dengan menelusuri ring yang terkait • Next record tergantung atribut apa yang terkait

4. Insert a record • Dilakukan dengan:

• Mengarahkan semua pointer dari predecessor record ke record baru • Memindahkan semua nilai/isi pointer dari predecessor record ke record

baru

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

7. Read the entire file • Dilakukan dengan:

• Pembacaan secara serial mengikuti semua kemungkinan hubungan yang ada

• Menelusuri ring demi ring • Bertingkat-tingkat, sampai seluruh record

8. Reorganize the file • Secara normal tidak diperlukan reorganisasi • Bila merubah file sebuah record, maka hanya ring & record yang terkait saja

yang perlu diproses