Anda di halaman 1dari 8

Arsitektur Database pada Tingkat Fisik

Pembahasan arsitektur database tingkat fisik akan fokus pada ketiga metode akses file yaitu
sekuensial, indeks, dan langsung. DASD mampu mendukung seluruh metode tersebut, dan
pilihan yang terbaik dari ketiganya tergantung pada aplikasi.
1. File Akses Sekunsial
Pada sebuah file akses sekuensial, record hanya dapat diakses dalam sekuens mereka
sebelumnya. Sekuens sebelumnya biasanya adalah sebuah hasil dari record yang telah
diurutkan oleh beberapa kunci record. Pengorganisasian file sekuensial tidak menjadi sarana
yang bermanfaat jika record yang perlu diakses hanya sedikit, padahal file berisi banyak record.
File sekuensial bermanfaat dalam pemrosesan bentuk batch, yang biasanya mengakses seluruh
record dalam sebuah file. Prosedur yang biasanya dilakukan adalah, pertama mengurutkan
transaksi dan file utama dalam kunci yang sama. Aplikasi ini dapat memperbarui piutang
dagang pelanggan (dalam file master) untuk mencerminkan pembayaran yang diterima (dalam
transaksi). Pertama, program akan mengurutkan kedua file dengan urutan kecil-besar
berdasarkan nomor rekening. Kemudian, program membaca sebuah record dari setiap file. Jika
nomor rekening dari kedua record tersebut cocok satu sama lain, maka informasi pada record
pembayaran digunakan untuk memperbarui field neraca pada record piutang dagang. Proses
pembaruan record seperti ini kemudian dituliskan dalam sebuah file master yang baru. Prosedur
ini berlanjut sesuai dengan logika dalam gambar dibawah ini sampai dengan seluruh record di
kedua file tersebut di proses.

1. Baca record transaksi (TR)


2. Baca record master (MR) 2
3. Bandingkan nilai kunci
record TR (kunci)
TR (kunci) < MR (kunci) MR (kunci) 4
4. Tuliskan record masterke 3
file master
5. Akhir dari ujian file 7 TR (kunci) = MR (kunci)
6. Mutakhirkan dan 5 Ya
tuliskanrecord master ke file
master baru Tidak
7. Tuliskan record kesalahanke 8 6
file kesalahan
8. Baca record transaksi
9. Akhir dari pemrosesan
9
Kesimpulannya, organisasi file sekuensial berguna ketika pemrosesan dalam bentuk batch
diperlukan. Pemorsesan dalam bentuk batch umumnya membutuhkan pengurutan dan
pemorsesan seluruh record baik file transaksi maupun file master. Dalam kasus di mana hanya
sejumlah kecil proporsi record yang dibutuhkan untuk diakses, salah satu metode akses file
berikut ini akan lebih efisien.
2. File Berindeks
Setiap atribut dapat diekstrak dari record dalam sebuah file primer dan digunakan
untukmembangun sebuah file baru yang bertujuan menyediakan sebuah indeks untuk file
aslinya. Bentuk file seperti ini disebut file berindeks atau file terinversi. Sebuah file dikatakan
terinversi penuh bila terdapat indeks di setiap field-nya. Waktu pemrosesan yang dibutuhkan
untuk menyimpan sebuah file yang terisi penuh dapat menjadi lama karena indeks-indeks yang
ada harus senantiasa diperbarui kapan saja record ditambah, dihapus, atau dimodifikasi. Lebih
lanjut, setiap indeks memerlukan tambahan penyimpanan disket, dan disket yang dibuat dapat
berakhir dengan kebutuhan ruang penyimpanan yang lebih besar daripada file data tersebut.

Gambar contoh penggunan indeks file


3. File Sekuensial Berindeks
File sekuensial berindeks adalah sebuah file sekuensial yang disimpan dalam sebuah
DASD dan diberi indeks serta disimpan secara fisik dalam field yang sama. File-file tersebut
biasa disebut ISAM, yaitu singkatan dari indexed-sequnetial access method. ISAM merupakan
kompromi antara organisasi file sekuensial dan akses langsung, yang menyediakan kedua
kemampuan tersebut dengan biaya yang sesuai.
Pemrosesan dan inkuiri merupakan tujuan ISAM. Pemrosesan sebuah batch record
dapat dilakukan secara sekuens, sementara inkuiri individual pada sebuah file dapat dilakukan
dengan menggunakan indeks. Makin detail sebuah indeks, makin cepat akses yang dilakukan;
sebuah imbal balik dalam penyimpanan indeks.
4. Struktur File ISAM
Secara struktural terdiri atas tiga daerah yang berbeda yaitu:
1. Indeks
Indeks merupakan sebuah peta yang menghubungkan record field-field kunci dengan
tempat penyimpanannya di bidang utama. Tiap entri dalam indeks memberikan rentang
field-field kunci pada sebuah track tertentu dari disk tempat file tersebut disimpan.
Dengan mencari indeksnya, sebuah program akan dapat menempatkan trak yang berisi
record sesuai keinginan. Walaupun track ini harus dicari secara sekuensial, pencarian
ini berlangsung sangat cepat.
2. Bidang Utama
Bidang Utama (prime area) adalah bagian dalam disket tempat record aktual ditulis.
3. Bidang overflow
Bidang overflow adalah bagian terpisah dalam disket yang dialokasikan untuk file guna
memungkinkan adanya penambahan tanpa pemrosesan lebih lanjut terhadap file awal.
Bidang ini pada dasarnya kosong. Ketika sebuah record baru ditambahkan ke dalam
file, record tersebut ditempatkan dalam posisinya di bidang utama untuk menjaga
pengorganisasian sekuensial dari file tersebut. Record-record yang berada dalam
bidang utama harus dipampatkan (bumped) guna memberi ruang bagi record yang baru.
Jika tersedia cukup ruang dalam track tempat record harus dimasukkan dan record lain
dalam track tersebut akan dipindahkan. Dalam hal ini, record yang dimampatkan
dipindah ke bidang overflow. Namun demikian, record yang berada di bidang overflow
masih dapat diakses dalam sekuens kuncinya dengan menggunakan indeks karena
secara fisik kunci sekuensnya tidak berada di bidang overflow. Jika record tersebut
tidak ditemukan dalam track yang ditunjukkan dalm indeks, bidang overflow akan
diperiksa secara sekuensial sampai record tersebut ditemukan. Hal ini akan
memperpanjang waktu yang diperlukan untuk memproses sebuah file ISAM. Oleh
karena itu sebuah file ISAM harus secara berkala direorganisasi untuk dapat mengakses
dengan lebih efisien. Reorganisasi terdiri atas menggabung dan mengatur seluruh
record sehingga file tersebut dapat diurutkan secara sekuensial di bidang utama.
Struktur file ISAM
5. File Akses Langsung
File akses langsung memungkinkan record secara individual dimunculkan dengan
segera tanpa menggunakan indeks. Hal ini dilakukan dengan menempatkan tiap record dengan
lokasi penyimpanan yang menyediakan hubungan dengan nilai record kunci. Oleh karena itu,
dengan metode akses langsung, satu hal yang dibutuhkan untuk menempatkan sebuah record
hanyalah nilai kuncinya. Beberapa metode penempatan yang dapat digunakan untuk
menyimpan dan menempatkan record dalam file akses-langsung. Salah satu metode adalah
Menempatkan field record kunci langsung dengan skema pengkodean yang digunakan oleh
komputer itu sendiri untuk mngidentifikasi alamat fisiknya dalam sebuah DASD. Metode
terkait (related method) yang digunakan untuk menyimpan alamat fisik media simpan sebagai
sebuah field dalam sebuah file record. Kedua metode tersebut tidak membutuhkan konversi
kunci untuk mengakses. Namun demikian, mereka tidak digunakan secara luas karena alamat
lokasi penyimpanan jarang yang cocok dengan pengidentifikasi record, dan masalah keamanan
dan menejemen sistem sering diasosiasikan dengan kondisi bahwa pengguna mengetahui
lokasi penyimpanan file aktual. Kebanyakan sistem file akses-langsung mengubah sebuah
kunci kedalam alamat lokasi penyimpanan dengan menggunakan entah sebuah indeks (tabel)
atau transformasi acak. Ini berarti dimungkinkan untuk mengakses setiap record dalam disket
dengan sama cepatnya dengan yang diberikan oleh nilai kuncinya. Nilai kunci dikonversi ke
dalam sebuah disket alamat dan record diakses langsung tanpa perlu mencari lagi.
Gambar contoh penggunaan metode akses langsung
Transformasi acak digunakan secara luas sebagai metode penyimpanan dan
penempatan record dalam sebuah file akses-langsung. Ada empat record yang berbeda dalam
file tersebut; sebaliknya, tiap kunci record digunakan dalam perhitungan matematis. Sekali
sebuah file dimuati oleh record-record tersebut, setiap record dapat diakses secara langsung
dengan melewati kunci yang ada melalui perhitungan acak untuk menentukan alamatnya:
media kemudian mengakses record tertentu ini secara langsung, dengan melewati record
lainnya dalam file tersebut.

Gambar Penggunaan file akses langsung


Aspek Ekonomis pada Teknik Pengorganisasian File
Pertimbangan ekonomis paling mendasar dalam pemrosesan file ditentukan
sepenuhnya oleh rasio aktivitas yang diakses dibagi dengan jumlah record dalam suatu file dan
waktu respons yang diinginkan untuk pemrosesan dan penempatan.
Teknik-teknik Waktu terbaik untuk Keterbatasan
pengorganisasian file menggunakannya

Sekuensial Rasio aktivitas tinggi, seperti Tidak memungkinkan


dalam pemrosesan batch untuk mengakses
secepat record tunggal

Indeks Rasio aktivitas rendah untuk Pembaharuan file


ukuran file menengah sampai membutuhkan indeks
besar

Indeks-sekuensial File perlu diproses dalam Sama seperti halnya


batch(rasio aktivitas tinggi) dan indeks dan sekuensial
nonbatch (rasio aktivitas
rendah)

Langsung Rasio aktivitas rendah, file-file Butuh kunci untuk


berukuran besar, jaringan dan menempatkan record.
pohon

Gambar 1 Membandingkan rata-rata biaya per transaksi yang diproses untuk ketiga
teknik tersebut untuk sebuah rentang rasio aktivitas tertentu. Pengorganisasian sekuensial
merupakan pendekatan yang memiliki biaya tetap untuk memproses file, berbeda dengan
pengorganisasian akses-langsung yang merupakan pendekatan bersifat variable. Dalam akses-
langsung, biaya pemrosesan setiap record sebanding dengan jumlah record yang diproses ,
berapapun jumlah record yang diproses. Dalam pemrosesan sekuensial, total biaya tetapnya
cukup besar namun seiring peningkatan jumlah record yang diproses, biaya pun semakin
tersebar luas dan dan pada akhirnya biaya per transaksi menurun dengan cepat. ISAM
menawarkan pendekatan yang berada di kedua titik tersebut: untuk aktivitas berskala rendah,
record dapat diakses dengan menggunakan indeks, sedangkan untuk aktivitas berskala tinggi,
pendekatan indeks tidak digunakan, namun sebaliknya file diproses secara sekuensial. Baik
untuk aktivitas berskala tinggi maupun rendah, ISAM kurang menarik disbanding pemrosesan
langsung atau sekuensial, namun untuk sebuah file yang memerlukan aktivitas tinggi dan
rendah, ISAM menawarkan keunggulan ekonomis disbanding keuda metode yang ada.

Pertimbangan ekonomis kedua adalah yang berhubungan dengan waktu. Berkaitan


dengan database, waktu respon adalah lama waktu yang harus dihabiskan oleh pengguna untuk
menyelesaikan sebuah operasi, misal sebuah query. File-file akses-langsung dibutuhkan untuk
waktu respon yang sangat cepat karena waktu respon yang lebih lama dapat ditangani dengan
lebih ekonomis dengan menggunakan file-file yang bersifat sekuensial. Ketika lama waktu
respon dapat ditoleransi, pembaharuan query atau file dapat disatukan dengan operasi
pemrosesan batch. Sebagai contoh, salinan record pelanggan dapat diperoleh melalui proses
posting tagihan berdasarkan produk ke dalam file piutang dagang. ISAM sekali lagi
menawarkan situasi yang berada di keuda metode tersebut. Karena permintaan-permintaan
dengan waktu respons yang pendek dapat diproses melalui indeks, dan permintaan dengan
waktu respons yang lebih lama dapat dilakukan pada pemrosesan sekuensial terhadap file yang
diinginkan. Waktu respons juga dipengaruhi oleh pertimbangan perangkat keras yang akan
didiskusikan dibawah ini.

Arsitektur Fisik, Perangkat Keras dan Waktu Respons


Waktu respon dapat menjadi sebuah permasalahan besar pada database besar yang
mungkin diakses oleh ratusan atau bahkan ribuan pengguna pada saat yang sama. Jika sistem
database dan perangkat keras komputer tidak sesuai dengan permintaan, maka pengguna akan
menunggu dengan sia-sia dalam waktu yang lama untuk query mereka. Oleh karena itu, sistem
database harus didesain dengan baik bagi penggunanya, dan perangkat keras harus cukup cepat
untuk mengerjakan semua pekerjaan yang diminta.
Pada sisi perangkat keras, waktu respon dipengaruhi oleh waktu akses fisik yaitu waktu
yang dibutuhkan oleh CPU untuk memunculkan sebuah blok data tunggal dari disket yang
disebut Disk Access Time. Salah satu masalahnya adalah CPU beroperasi jauh lebih cepat dari
yang dilakukan disket sehingga CPU harus menunggu sesaat sementara operasi input/output
disket sedang dijalankan. Hal ini berarti bila mampu meminimalisasi input dan output disket,
dalam beberapa kasus dapat meningkatkan waktu respons yang cukup tinggi.
Faktor lainnya yang dapat mempengaruhi waktu respons adalah bagaimana record data
dapat didistribusikan secara fisik dalam disket. Jika sebuah kelompok record akan diakses
secara sekuens, maka waktu respon akan lebih cepat jika record-record tersebut secara fisik
letaknya sangat berdekatan dalam disket. Jika record-record tersebut berdekatan, maka proses
membaca / menulis di atas disk drive hanya membutuhkan sedikit jarak setiap kali record
berikutnya diakses. Sebaliknya jika record-record tersebar luas, maka proses membaca/
menulis di atas disk drive akan relative membutuhkan jarak yang cukup jauh untuk mengakses
record yang baru,dan tentunya akan membuat lambat.
Pada hardisk data yang berada di track atau silinder yang sama dapat diakses tanpa
perlu berpindah ketika membaca/menulis di atasnya. Hal ini berarti dalam beberapa kasus
dimunkinkan untuk meningkatkan kecepatan sebuah aplikasi database dengan menyimpan
record-record dalam sebuah file data secara berdekatan di satu atau lebih silinder disket.
Harus ditekankan juga bahwa banyak sistem database bergantung pada rutinitas sistem
pengoperasian untuk operasi input/output mereka. Ini berarti sistem pengoperasian menetukan
di mana data akan ditempatkan dalam disket. Hal ini penting karena banyak sistem operasi
tidak mempunyai provisi untuk memastikan bahwa data akan disimpan secara berdekatan.
Kenyataannya, banyak sistem pengoperasian akan dengan sengaja memecah file-file dan
menyebarkannya ke seluruh disket, menempatkan bagian-bagian mereka ke dalaam ruang-
ruang kecil yang kosong sehingga seluruh bagian dalam disket digunakan dan tidak terbuang
percuma.
Kebutuhan untuk menyimpan sebuah file secara berdekatan tergantung pada arsitektur
fisik database dan berkaitan dengan metode akses filenya. Jika database menggunakan metode
akses sekuensial, maka penempatan setiap record secara fisik berdekatan sama lain dalam
disket tentunya sesuatu yang diinginkan. Akan tetapi untuk metode akses-berindeks, selalu
perlu untuk menempatkan indeks-indeks dalam penyimpanan yang berdekatan karena file-file
tersebut sering dibaca secara sekuens dan secara keseluruhan pada saat yang bersamaan.
Namun demikian mungkin tidak perlu menempatkan record dalam file data yang terkait
sedekat mungkin satu sama lain dalam disket karena record file tersebut diakses secara acak
dalam dua tahap proses pencarian.