konsep perancangan content server

72
12.1. Pengantar Basisdata Basis data menyediakan fasilitas atau mempermudah dalam menghasilkan informasi yang digunakan oleh pemakai untuk mendukung pengambilan keputusan. Hal inilah yang menjadikan alasan dari penggunaan teknologi basis data pada saat sekarang (dunia bisnis). Berikut ini contoh penggunaan Aplikasi basis data dalam dunia bisnis Bank : Pengelolaan data nasabah, akunting, semua transaksi perbankan Bandara : Pengelolaan data reservasi, penjadualan Universitas : Pengelolaan pendaftaran, alumni Penjualan : Pengelolaan data customer, produk, penjualan Pabrik : Pengelolaan Direktorat Pembinaan Sekolah Menengah Kejuruan Tujuan : Pembahasan ini bertujuan : 1. Mengenalkan pengertian Basisdata 2. Memahami Arsitektur Basis data 3. Memahami Kebutuhan Sistem Basisdata 4. Memahami Prosedur Pokok Bahasan Dalam pembahasan ini meliputi : 1. Pengertian Basisdata 2. Tingkat Arsitektur Basisdata. 3. Menentukan Kebutuhan Sistem Basisdata. 4. Menentukan Prosedur Recovery 5. Penggunaaan Basisdata BAB 12 PERANCANGAN CONTENT SERVER

Upload: andreas-purwanto

Post on 24-Nov-2015

69 views

Category:

Documents


22 download

TRANSCRIPT

Teknik Komputer dan Jaringan

12.1. Pengantar Basisdata

Basis data menyediakan fasilitas atau mempermudah dalam menghasilkan informasi yang digunakan oleh pemakai untuk mendukung pengambilan keputusan. Hal inilah yang

menjadikan alasan dari penggunaan teknologi basis data pada saat sekarang(dunia bisnis). Berikut ini contoh penggunaan Aplikasi basis data dalam dunia bisnis Bank : Pengelolaan data nasabah, akunting, semua transaksi perbankan Bandara : Pengelolaan data reservasi, penjadualan Universitas : Pengelolaan pendaftaran, alumni Penjualan : Pengelolaan data customer, produk, penjualan Pabrik : Pengelolaan data produksi, persediaan barang, pemesanan, agen Kepegawaian: Pengelolaan data karyawan, gaji, pajak Telekomunikasi : Pengelolaan data tagihan, jumlah pulsa 12.1.1 Sistem Pemrosesan FileSebelumnya, sistem yang digunakan untuk mengatasi semua permasalahan bisnis, menggunakan pengelolaan data secara tradisional dengan cara menyimpan record- record pada file-file yang terpisah, yang disebut juga sistem pemrosesan file. Dimana masing-masing file diperuntukkan hanya untuk satu program aplikasi saja.Perhatikan gambar 12-1-1 mengenai suatu sekolah yang mempunyai dua sistem yakni sistem yang memproses data mahasiswa dan sistem yang mengelola data mata kuliah.

Gambar 12-1-1. Sistem pemrosesan file untuk suatu SekolahKeterangan :

File siswa: siswa (nis,nama_siswa,alamat,tgl_lahir)

Nilai (kd_mp,nama_mp,nilai)

File Nilai: Nilai (kd_mp,nama,nilai)

Kelemahannya dari sistem pemrosesan file ini antara lain :

Timbulnya data rangkap (redundancy data) dan Ketidakkonsistensi data (Inconsistency data)

Karena file-file dan program aplikasi disusun oleh programmer yang berbeda, sejumlah informasi mungkin memiliki duplikasi dalam beberapa file. Sebagai contoh nama mata pelajaran dan nilai dari siswa dapat muncul pada suatu file memiliki record-record siswa dan juga pada suatu file yang terdiri dari record-record nilai. Kerangkapan data seperti ini dapat menyebabkan pemborosan tempat penyimpanan dan biaya akses yang bertambah. Disamping itu dapat terjadi inkonsistensi data. Misalnya, apabila terjadi perubahan jumlah nilai mata pelajaran, sedangkan perubahan hanya diperbaiki pada file nilai dan tidak diperbaiki pada file siswa. Hal ini dapat mengakibatkan kesalahan dalam laporan nilai siswa.

Kesukaran dalam Mengakses Data

Munculnya permintaan-permintaan baru yang tidak diantisipasikan sewaktu membuat program aplikasi, sehingga tidak memungkinkan untuk pengambilan data.

Data terisolir (Isolation Data)

Karena data tersebar dalam berbagai file, dan file-file mungkin dalam format format yang berbeda, akan sulit menuliskan program aplikasi baru untuk mengambil data yang sesuai.

Masalah Pengamanan ( Security Problem )

Tidak semua pemakai diperbolehkan mengakses seluruh data. Bagian siswa hanya boleh mengakses file siswa. Bagian Nilai hanya boleh mengakses file nilai, tidak boleh mengakses file siswa. Tetapi sejak program-program aplikasi ditambahkan secara ad-hoc maka sulit melaksanakan pengamanan seperti yang diharapkan.

Data Dependence

Apabila terjadi perubahan atau kesalahan pada program aplikasi maka pemakai tidak dapat mengakses data.

12.1.2. Sistem Basis dataSeiring dengan berjalannya waktu, lambat laun sistem pemrosesan file mulai ditinggalkan karena masih bersifat manual, yang kemudian dikembangkanlah sistem pemrosesan dengan pendekatan basis data.

Gambar 10-1-2a Sistem basis data untuk suatu sekolahKeterangan :Mhs ( Npm, nama, alamat, tgl_lahir )

Mt_kul ( kd_mk, nama_mk,sks )Perhatikan gambar 10-1-2 di atas. Pada sistem ini record-record data disimpan pada satu tempat yakni basis data dan diantara program aplikasi maupun pemakai terdapat DBMS (Database Management System).Konsep Dasar Basis DataData adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, mahasiswa, pembeli), barang, hewan, peristiwa, konsep, keadaan, dan sebagainya yang direkam dalam bentu angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya.Basisdata merupakan gabungan dari beberapa file yang saling berhubungan dan dapat mengeliminasi permasalahan yang timbul dari pendekatan tradisional yaitu file. Dengan pendekatan modern semua data diletakkan di tempat penyimpanan yang sama. Tidak seperti pendekatan tradisional di mana program yang berbeda beda mengakses file data yang berbeda beda. Basis data diatur sedemikian rupa sehingga satu atau sekelompok program menyediakan akses terhadap semua data. Sehingga permasalahan duplikasi data (redundancy), data yang terisolasi (isolation), dan data yang tidak konsisten (inconsistency) dapat dikurangi, dan data dapat dibagibagikan di antara semua pengguna (users). Di samping itu, keamanan dan integritas data meningkat, dan aplikasi serta data tidak bergantung satu dengan yang lainnya.

Sistem Basis Data terdiri dari basis data dan DBMS.

Gambar 12-1-2b Komponen Sistem basis data Istilah-Istilah Dasar Basis DataDBMS (Database Management System) adalah Perangkat Lunak yang menangani semua pengaksesan ke basis data.

Enterprise

Suatu bentuk organisasi seperti : bank, universitas, rumah sakit, pabrik, dsb. Data yang disimpan dalam basis data merupakan data operasional dari suatu enterprise.Contoh data operasional : data keuangan, data mahasiswa, data pasienEntitasSuatu obyek yang dapat dibedakan dari lainnya yang dapat diwujudkan dalam basis data.Contoh Entitas dalam lingkungan bank terdiri dari : Nasabah, Simpanan, HipotikContoh Entitas dalam lingkungan universitas terdiri dari : Mahasiswa, mata kuliah Kumpulan dari entitas disebut Himpunan EntitasContoh : semua nasabah, semua mahasiswaAtribut (Elemen Data)Karakteristik dari suatu entitas.Contoh : Entitas Mahasiswa atributnya terdiri dari Npm, Nama, Alamat, Tanggal lahir.Nilai Data (Data Value)Isi data / informasi yang tercakup dalam setiap elemen data.Contoh Atribut Nama Mahasiswa dapat berisi Nilai Data : Diana, Sulaeman, LinaKunci Elemen Data (Key Data Element)Tanda pengenal yang secara unik mengidentifikasikan entitas dari suatu kumpulan entitas.Contoh Entitas Mahasiswa yang mempunyai atribut-atribut npm,

nama, alamat, tanggal lahir menggunakan Kunci Elemen Data npm.

Record DataKumpulan Isi Elemen data yang saling berhubungan.Contoh : kumpulan atribut npm, nama, alamat, tanggal lahir dari Entitas Mahasiswa berisikan : "10200123", "Sulaeman", "Jl. Sirsak 28 Jakarta", "8 Maret 1983".

Keuntungan Sistem Basis Data Terkontrolnya kerangkapan data

Dalam basis data hanya mencantumkan satu kali saja field yang sama yang dapat dipakai oleh semua aplikasi yang memerlukannya.

Terpeliharanya keselarasan (kekonsistenan) data

Apabila ada perubahan data pada aplikasi yang berbeda maka secara otomatis perubahan itu berlaku untuk keseluruhan

Data dapat dipakai secara bersama (shared)

Data dapat dipakai secara bersama-sama oleh beberapa program aplikasi (secara batch maupun on-line) pada saat bersamaan.

Dapat diterapkan standarisasi

Dengan adanya pengontrolan yang terpusat maka DBA dapat menerapkan standarisasi data yang disimpan sehingga memudahkan pemakaian, pengiriman maupun pertukaran data. Keamanan data terjamin

DBA dapat memberikan batasan-batasan pengaksesan data, misalnya dengan memberikan password dan pemberian hak akses bagi pemakai (misal : modify, delete, insert, retrieve) Terpeliharanya integritas data

Jika kerangkapan data dikontrol dan kekonsistenan data dapat dijaga maka data menjadi akurat Terpeliharanya keseimbangan (keselarasan) antara kebutuhan data yang berbeda dalam setiap aplikasi

Struktur basis data diatur sedemikian rupa sehingga dapat melayani pengaksesan data dengan cepat

Data independence (kemandirian data) Dapat digunakan untuk bermacam-macam program aplikasi tanpa harus merubah format data yang sudah ada

Pengguna Basis Data System Engineer Tenaga ahli yang bertanggung jawab atas pemasangan Sistem Basis Data, dan juga mengadakan peningkatan dan melaporkan kesalahan dari sistem tersebut kepada pihak penjual

Database Administrator (DBA) Tenaga ahli yang mempunyai tugas untuk mengontrol sistem basis data secara keseluruhan, meramalkan kebutuhan akan sistem basis data, merencanakannya dan mengaturnya.

Tugas DBA :

Mengontrol DBMS dan software-software : Memonitor siapa yang mengakses basis data; Mengatur pemakaian basis data Memeriksa security, integrity, recovery dan concurrencyProgram Utilitas yang digunakan oleh DBA :

Loading RoutinesMembangun versi utama dari basis data Reorganization RoutinesMengatur / mengorganisasikan kembali basis data

Journaling RoutinesMencatat semua operasi pemakaian basis data Recovery RoutinesMenempatkan kembali data, sebelum terjadinya kerusakan Statistical Analysis RoutinesMembantu memonitor kehandalan system End User (Pemakai Akhir) Ada beberapa jenis (tipe) pemakai terhadap suatu sistem basis data yang dapat dibedakan berdasarkan cara mereka berinteraksi terhadap sistem :

Programmer aplikasi

Pemakai yang berinteraksi dengan basis data melalui Data Manipulation Language (DML), yang disertakan (embedded) dalam program yang ditulis pada bahasa pemrograman induk (seperti C, pascal, cobol, dll)

Pemakai Mahir (Casual User)

Pemakai yang berinteraksi dengan sistem tanpa menulis modul program. Mereka menyatakan query (untuk akses data) dengan bahasa query yang telah disediakan oleh suatu DBMS

Pemakai Umum (End User / Nave User)

Pemakai yang berinteraksi dengan sistem basis data melalui pemanggilan satu program aplikasi permanen (executable program) yang telah ditulis (disediakan) sebelumnya

Pemakai Khusus (Specialized/Sophisticated User)

Pemakai yang menulis aplikasi basis data non konvensional, tetapi untuk keperluan-keperluan khusus seperti aplikasi AI, Sistem Pakar, Pengolahan Citra, dll, yang bisa saja mengakses basis data dengan atau tanpa DBMS yang bersangkutan.12.2. Arsitektur Basis data

Tujuan utama dari sistem basis data adalah menyediakan pemakai melalui suatu pandangan abstrak mengenai data, dengan menyembunyikan detail dari bagaimana data disimpan dan dimanipulasikan. Oleh karena itu, titik awal untuk perancangan sebuah basis data haruslah abstrak dan deskripsi umum dari kebutuhan-kebutuhan informasi suatu organisasi harus digambarkan di dalam basis data.Lebih jauh lagi, jika sebuah basis data merupakan suatu sumber yang bisa digunakan bersama maka setiap pemakai membutuhkan pandangan yang berbeda- beda terhadap data di dalam basis data. Untuk memenuhi kebutuhan ini, arsitektur komersial basis data yang banyak digunakan telah tersedia saat ini dan telah mengalami perluasan yaitu arsitektur ANSI-SPARC. Ada 3 tingkat dalam arsitektur basis data yang bertujuan membedakan cara pandang pemakai terhadap basis data dan cara pembuatan basis data secara fisik. 3 tingkatan arsitektur basis data : Tingkat Eksternal (External Level). Tingkat eksternal merupakan cara pandang pemakai terhadap basis data. Pada tingkat ini menggambarkan bagian basis data yang relevan bagi seorang pemakai tertentu. Tingkat eksternal terdiri dari sejumlah cara pandang yang berbeda dari sebuah basis data. Masing-masing pemakai merepresentasikan dalam bentuk yang sudah dikenalnya. Cara pandang secara eksternal hanya terbatas pada entitas, atribut dan hubungan antar entitas (relationship) yang diperlukan saja.

Tingkat Konseptual (Conseptual Level). Tingkat konseptual merupakan kumpulan cara pandang terhadap basis data. Pada tingkat ini menggambarkan data yang disimpan dalam basis data dan hubungan antar datanya. Hal-hal yang digambarkan dalam tingkat konseptual adalah : semua entitas beserta atribut dan hubungannya

batasan data

informasi semantik tentang data

keamanan dan integritas informasi Semua cara pandang pada tingkat eksternal berupa data yang dibutuhkan oleh pemakai harus sudah tercakup di dalam tingkat konseptual atau dapat diturunkan dari data yang ada. Deskripsi data dari entitas pada tingkat ini hanya terdiri dari jenis data dan besarnya atribut tanpa memperhatikan besarnya penyimpanan dalam ukuran byte.

Tingkat Internal (Internal Level). Tingkat internal merupakan perwujudan basis data dalam komputer. Pada tingkat ini menggambarkan bagaimana basis data disimpan secara fisik di dalam peralatan storage yang berkaitan erat dengan tempat penyimpanan / physical storage.

Tingkat internal memperhatikan hal-hal berikut ini :

alokasi ruang penyimpanan data dan indeks

deskripsi record untuk penyimpanan (dengan ukuran penyimpanan untuk data elemen

penempatan record pemampatan data dan teknik encryption

Gambar 12-2. Tingkatan Arsitektur Basis dataContoh : sebuah file Pegawai yang akan didefinisikan :

12.3. Data IndependenceTujuan utama dari 3 tingkat arsitektur adalah memelihara kemandirian data (data independence) yang berarti perubahan yang terjadi pada tingkat yang lebih rendah tidak mempengaruhi tingkat yang lebih tinggi.

Gambar 12.3. Skema Kemandirian Data

Ada 2 jenis data independence, yaitu : Physical Data Independence,

bahwa internal schema dapat diubah oleh DBA tanpa menggangu conceptual schema. Dengan kata lain physical data independence menunjukkan kekebalan conceptual schema terhadap perubahan internal schema.

Logical Data Independence,

bahwa conceptual schema dapat diubah oleh DBA tanpa menggangu external schema. Dengan kata lain logical data independence menunjukkan kekebalan external schema terhadap perubahan conceptual schema.Prinsip data independence adalah salah satu hal yang harus diterapkan di dalam pengelolaan sistem basis data dengan alasan-alasan sbb : DBA dapat mengubah isi, lokasi, perwujudan dalam organisasi basis data tanpa mengganggu program-program aplikasi yang sudah ada.

Pabrik / agen peralatan / software pengolahan data dapat memperkenalkan produk-produk baru tanpa mengganggu program-program aplikasi yang sudah ada.

Untuk memindahkan perkembangan program-program aplikasi

Memberikan fasilitas pengontrolan terpusat oleh DBA demi keamanan dan integritas data dengan memperhatikan perubahan-perubahan kebutuhan pengguna.

12.4. Database Management System (DBMS)

Pengelolaan basisdata dapat dilakukan secara manual ataupun dengan computer. Basisdata berbasis computer dapat dikelola dengan baik oleh sekumpulan program aplikasi untuk suatu kepentingan atau oleh Sistem Manajemen Basisdata (Database Management System).

Database Management System (DBMS) adalah kumpulan program yang digunakan untuk membuat dan mengelola basisdata. Suatu DBMS merupakan system perangkat lunak yang secara umum dapat digunakan untuk melakukan pemrosesan dalam hal pendefinisian, penyusunan dan manipulasi basisdata untuk berbagai aplikasi.

Pendefinisan (define) basisdata, meliputi spesifikasi tipe data, struktur dan pembatasan (constraint) dari data yang akan disimpan dalam basisdata.

Penyusunan (construc) basisdata, meliputi proses memasukkan data dalam media penyimpanan data yang harus dikontrol oleh DBMS.

Manipulasi (manipulate) basisdata, meliputi fungsi seperti query dari basisdata untuk mendapatkan informasi tertentu, melakukan pembaharuan (updating) data, dan pembuatan laporan (report generation) dari basisdata.

Dengan adanya berbagai tingkatan pandangan dalam suatu basis data maka untuk mengakomodasikan masing-masing pengguna dalam piranti lunak manajemen basis data biasanya terdapat bahasa-bahasa tertentu yang disebut Data Sub language. Dalam basis data secara umum dikenal 2 data sub language : Data Definition Language (DDL)

Bahasa yang digunakan dalam mendefinisikan struktur atau kerangka dari basis data, di dalamnya termasuk record, elemen data, kunci elemen, dan relasinya. Data Manipulation Language (DML)

Bahasa yang digunakan untuk menjabarkan pemrosesan dari basis data, fasilitas ini diperlukan untuk memasukkan, mengambil, mengubah data. DML dipakai untuk operasi terhadap isi basis data. Ada 2 jenis DML : Procedural DML : Digunakan untuk mendefinisikan data yang diolah dan perintah yang akan dilaksanakan. Non Procedural : Digunakan untuk menjabarkan data yang diinginkan tanpa menyebutkan bagaimana cara pengambilannya.Secara khusus pengguna menggunakan berbagai bahasa :

Programmer aplikasi menggunakan bahasa-bahasa seperti Cobol, Informix, dll (host language) yang ditempelkan dengan bahasa yang dipakai dalam DBMS. Pemakai terminal menggunakan bahasa Query (misal SQL) atau menggunakan program aplikasi (yang dirancang oleh programmer). Sedangkan DBA lebih banyak menggunakan bahasa DDL dan DML yang tersedia dalam DBMS.

DBMS mempunyai tugas untuk menangani semua bentuk akses ke basis data, secara konsep :

Pengguna menyatakan permintaan akses menggunakan DBMS

DBMS menangkap dan menginterpretasikan

DBMS mencari :

eksternal / conceptual mapping

conceptual schema konseptual / internal mapping

internal schema DBMS melaksanakan operasi yang diminta terhadap basis data tersimpan.

Proses 1 s/d 4 dapat dilakukan secara interactive atau dicompile dulu.

biosiswa

NisNama_siswaPrg_ahli

070803001M. Fadgham HafizhRPL

070803032Ashha Hasna LatifahTKJ

070803065Syech PujiantoEIN

nilai

NisKdmpNilai

070803001A80

070803065A87

070803065C95

070803001B80

r_matapel

KdmkpMata_pel

AAgama

BPPKN

CMatematika

DBahasa Inggris

Gambar 12-4 Basisdata Siswa SMK

Pendefinisian basisdata mencakup pembuatan spesifikasi dari struktur data yang disimpan dalam record untuk tiap berkas data. Dalam gambar 10-2 untuk tiap rekaman data biosiswa menyimpan data tentang nomor induk siswa, nama siswa dan program keahlian; tiap rekaman nilai menyimpan data tentang nomor induk siswa, kode mata pelajaran dan nilai dari tiap mata pelajaran sedangan tiap rekaman r_matapel menyimpan kode mata pelajaran dan nama mata pelajaran.

Penyusunan basisdata Siswa SMK dilakukan dengan menyimpan data tentang biodata siswa, nilai dan referensi mata pelajaran. Dalam hal ini rekaman data mungkin saja berhubungan

antara berkas yang satu dengan yang lain. Sebagai contoh, rekaman M. Fadgham Hafizh pada table biosiswa berhubungan dengan table nilai yang diidentifikasikan dengan nis. Demikian pula tiap rekaman data pada table nilai selalu berhubungan dengan rekaman pada table r_matapel.

Manipulasi data meliputi pembuatan pertanyaan (query) dan pembaharuan data. Misal pembuatan pertanyaan untuk memperoleh laporan transcript nilai siswa yang bernama M. Fadgham Hafizh. Dalam pembaharuan data, misalnya terjadi pembatalan nilai ujian yang telah diikuti oleh siswa, pemasukan nilai ujian yang diulang dan sebagainya.

12.5. Fungsi DBMS

Layanan-layanan yang sebaiknya disediakan oleh database management system adalah :

Penyimpanan, pengambilan dan perubahan data

Sebuah DBMS harus menyediakan kemampuan menyimpan, mengambil dan merubah data dalam basis data.

Katalog yang dapat diakses pemakai

menyediakan sebuah katalog yang berisi deskripsi item data yang disimpan dan diakses oleh pemakai.

Mendukung Transaksi

Menyediakan mekanisme yang akan menjamin semua perubahan yang berhubungan dengan transaksi yang sudah ada atau yang akan dibuat.

Melayani kontrol concurrency

Sebuah DBMS harus menyediakan mekanisme yang menjamin basis data ter- update secara benar pada saat beberapa pemakai melakukan perubahan terhadap basis data yang sama secara bersamaan.

Melayani recovery

Menyediakan mekanisme untuk mengembalikan basis data ke keadaan sebelum terjadinya kerusakan pada basis data tersebut.

Melayani autorisasi

Sebuah DBMS harus menyediakan mekanisme untuk menjamin bahwa hanya pemakai yang berwenang saja yang dapat mengakses basis data.

Mendukung komunikasi data

Sebuah DBMS harus mampu terintegrasi dengan software komunikasi.

Melayani integrity

Sebuah DBMS bertujuan untuk menjamin semua data dalam basis data dan setiap terjadi perubahan data harus sesuai dengan aturan yang berlaku.

Melayani data independence

Sebuah DBMS harus mencakup fasilitas untuk mendukung kemandirian program dari struktur basis data yang sesungguhnya.

Melayani utility

Sebuah DBMS sebaiknya menyediakan kumpulan layanan utility.12.6. Komponen DBMSKomponen-komponen dalam Database Management System (DBMS) adalah sebagai berikut :

Query Processsor Komponen yang merubah bentuk query ke dalam instruksi tingkat rendah ke database manager Database Manager Database manager menerima query dan menguji skema eksternal dan konseptual untuk menentukan apakah record-record dibutuhkan untuk memenuhi permintaan. Kemudian DM memanggil file manager untuk menyelesaikan permintaan File Manager Memanipulasi penyimpanan file dan mengatur alokasi ruang penyimpanan pada disk

DML Preprocessor

Modul yang merubah perintah DML embedded ke dalam program aplikasi dalam bentuk fungsi-fungsi yang memanggil dalam host language. DDL Compiler

Merubah perintah DDL menjadi kumpulan tabel yang berisi metadata.

Dictionary Manager Mengatur akses dan memelihara data dictionary. Data dictionary diakses oleh komponen DBMS yang lain.Programmers

Users

DBA

Gambar 12-6a Komponen DBMS

Gambar 12-6b Komponen Software Utama Database ManagerKomponen software utama database manager adalah :

Authorization Control Modul yang memeriksa apakah pemakai mempunyai wewenang untuk menyelesaikan operasi

Command Processor Memeriksa apakah pemakai mempunyai wewenang untuk menyelesaikan operasi

Integrity Checker

Untuk semua operasi yang merubah basis data, integrity checker memeriksa operasi yang diminta memerlukan batasan integritas. Query Optimizer

Modul ini menentukan strategi yang optimal untuk eksekusi query

Transaction Manager

Modul ini mengerjakan proses-proses yang dibutuhkan operasi yang diterima transaksi Scheduler

Modul ini bertanggung jawab untuk menjamin operasi secara bersamaan terhadap basis data sehingga berjalan tanpa ada masalah antara yang satu dengan yang lain. Recovery Manager

Modul ini menjamin basis data tetap konsisten walaupun terjadi kerusakan. Buffer Manager

Modul ini bertanggung jawab terhadap pemindahan data antara main memory dan secondary storage, seperti disk dan tape.12.7. Arsitektur DBMS Multi User12.7.1. TeleprocessingArsitektur tradisional untuk sistem multi user adalah teleprocessing, dimana satu komputer dengan sebuah CPU dan sejumlah terminal seperti pada gambar di bawah ini.

Gambar 12-7-1 Arsitektur Teleprocessing12.7.2. File-Server

Proses didistribusikan ke dalam jaringan sejenis LAN (Local Area Network). File server mengendalikan file yang diperlukan oleh aplikasi dan DBMS. Meskipun aplikasi dan DBMS dijalankan pada masing-masing workstation tetapi tetap meminta file dari file server jika diperlukan (perhatikan gambar di halaman berikut ini).

Dengan cara ini, file server berfungsi sebagai sebuah hard

disk yang digunakan secara bersamaan.

Kerugian arsitektur file-server adalah :

Terdapat lalulintas jaringan yang besar

Masing-masing workstation membutuhkan copy DBMS

Kontrol terhadap concurrency, recovery dan integrity menjadi lebih kompleks karena sejumlah DBMS mengakses file secara bersamaan

Gambar 12-7-2 Arsitektur File Server12.7.3. Client ServerUntuk mengatasi kelemahan arsitektur-arsitektur di atas maka dikembangkan arsitektur client-server. Client-server menunjukkan cara komponen software berinteraksi dalam bentuk sistem.

Gambar 12-7-3 Arsitektur Client ServerSesuai dengan namanya, ada sebuah pemroses client yang membutuhkan sumber dan sebuah server yang menyediakan sumbernya. Tidak ada kebutuhan client dan server yang harus diletakkan pada mesin yang sama. Secara ringkas, umumnya server diletakkan pada satu sisi dalam LAN dan client pada sisi yang lain.

Dalam konteks basis data, client mengatur interface berfungsi sebagai workstation tempat menjalankan aplikasi basis data. Client menerima permintaan pemakai, memeriksa sintaks dan generate kebutuhan basis data dalam SQL atau bahasa yang lain. Kemudian meneruskan pesan ke server, menunggu response dan bentuk response untuk pemakai akhir. Server menerima dan memproses permintaan basis data kemudian mengembalikan hasil ke client.

Proses-proses ini melibatkan pemeriksaan autorisasi, jaminan integritas, pemeliharaan data dictionary dan mengerjakan query serta proses update. Selain itu juga menyediakan kontrol terhadap concurrency dan recovery.

Ada beberapa keuntungan jenis arsitektur ini adalah : Memungkinkan akses basis data yang besar

Menaikkan kinerja

Jika client dan server diletakkan pada komputer yang berbeda kemudian CPU yang berbeda dapat memproses aplikasi secara paralel. Hal ini mempermudah merubah mesin server jika hanya memproses basis data.

Biaya untuk hardware dapat dikurangi

Hanya server yang membutuhkan storage dan

kekuatan proses yang cukup untuk menyimpan dan mengatur basis data

Biaya komunikasi berkurang

Aplikasi menyelesaikan bagian operasi pada client dan mengirimkan hanya bagian yang dibutuhkan untuk akses basis data melewati jaringan, menghasilkan data yang sedikit yang akan dikirim melewati jaringan

Meningkatkan kekonsistenan

Server dapat menangani pemeriksaan integrity sehingga batasan perlu didefinisikan dan validasi hanya di satu tempat, aplikasi program mengerjakan pemeriksaan sendiri

Map ke arsitektur open-system dengan sangat alami

Berikut ini adalah ringkasan fungsi client-server :

12.8. Data DictionaryData dictionary adalah tempat penyimpanan informasi yang menggambarkan data dalam basis data. Data dictionary biasa disebut juga dengan metadata atau data mengenai data. Modul pengontrol otorisasi menggunakan data dictionary untuk memeriksa apakah seorang pemakai perlu mempunyai wewenang.Untuk mengerjakan pemeriksaan tersebut data dictionary menyimpan : nama-nama pemakai yang mempunyai wewenang untuk menggunakan DBMS

nama-nama data item yang ada dalam basis data

data item yang dapat diakses oleh pemakai dan jenis akses yang diijinkan, misalnya: insert, update, delete atau read

Sedangkan untuk memeriksa integritas data, data dictionary menyimpan : nama-nama data item dalam basis data

jenis dan ukuran data item

batasan untuk masing-masing data itemSistem data dictionary dapat dibedakan atas sistem aktif dan pasif. Sistem aktif selalu konsisten dengan struktur basis data karena secara otomatis dikerjakan oleh sistem. Sebaliknya, sistem pasif tidak konsisten terhadap perubahan basis data yang dilakukan oleh pemakai.

12.9. Model Data Model data dikelompokkan berdasar konsep pembuatan deskripsi struktur basisdata, yaitu model data konseptual atau tingkat tinggi (high-level) dan model data fisik atau tingkat rendah (low-level).

Model data konseptual menyajikan konsep tentang bagaimana pemakai basisdata memandang atau memperlakukan data, sedangkan model data fisik merupakan konsep bagaimana deskripsi detail data disimpan dalam computer.

Diantara kedua model di atas terdapat model data implementasi (representational) yang merupakan konsep deskripsi data disimpan dalam computer dengan menyembunyikan sebagian detail deskripsi data sehingga para pemakai data mendapat gambaran global bagaimana data disimpan dalam computer.

Dalam model data konseptual digunakan konsep entitas (entity), atribut (attribut) dan hubungan (relationship).

Model data implementasi merupakan konsep model data yang digunakan oleh DBMS komersial, yaitu model data hirarkhi, jaringan atau relasional (lihat gambar xxx). Pada perkembangan terkahir digunakan model orientasi object.

Dalam model data fisik dideskripsikan bagaimana data disimpan dalam computer dengan menyajikan informasi tentang format rekaman, urutan rekaman

dan jalur pengaksesan data. Informasi jalur pengaksesan data merupakan struktur yang dapat membuat pencarian rekaman data lebih efisien.

12.9.1. Model Data JaringanPada model data ini, data di deskripsikan sebagai kumpulan dari record, dan relasi di deskripsikan dengan set. Di bandingkan dengan model data relasional, relasi lebih terlihat sebagai model dari suatu set yang digunakan sebagai penunjuk atau pointer di dalam implementasinya.

0938ANNADEPOKKK045210Animasi23

KK045104Jaringan11

0523RICKYDEPOKKK045305HTML35

Gambar 10-9-1 Model Data Jaringan12.9.2. Model Data HierarkhiPada model data ini, berasal dari model data jaringan dimana data di deskripsikan sebagai kumpulan dari record, dan relasi di deskripsikan dengan set. Tetapi pada model hirarki ini hanya mempunyai satu parent . Model Hirarki dapat digambarkan seperti graph pohon, record muncul sebagai nodes disebut segment dan sets disebut dengan edges.

Gambar 12-9-2 Model Data Hierarkhi

12.9.3. Model Data Relasional

Pada model relasional, basis data akan disebar atau dipilah-pilah ke dalam berbagai tabel dua dimensi. Setiap tabel selalu terdiri atas lajur mendatar yang disebut baris data (row / record) dan lajur vertikal yang biasa disebut dengan kolom (column / field).

Contoh Tabel dan keterhubungannya :

Table siswa

NISNamaAlamat

10296832NurhayatiJakarta

10296126AstutiJakarta

31296500BudiDepok

41296525PrananingrumBogor

50096487PipitBekasi

21196353QuraishBogor

Table MataPelajaran

KDMPMTPELAJARAN

KK021Bahasa Indonesia

KD132Bahasa Inggris

KU122Matematika

Table Nilai

NISKDMPMIDFINAL

10296832KK0216075

10296126KD1327090

31296500KK0215540

41296525KU1229080

21196353KU1227575

50095487KD132800

10296832KD1324030

Keuntungan Basis Data Relasional Bentuknya sederhana

Mudah melakukan berbagai operasi dataIstilah dalam Basis Data Relasional : Relasi Relasi merupakan sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris. Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Entitas merupakan individu yang mewakili sesuatu yang nyata dan dapat dibedakan dengan yang lainnya.

Table siswaNISNamaAlamat

10296832NurhayatiJakarta

10296126AstutiJakarta

31296500BudiDepok

41296525PrananingrumBogor

50096487PipitBekasi

21196353QuraishBogor

Atribut Atribut merupakan kolom pada sebuah relasi. Setiap entitas pasti memiliki aribut yang mendeskripsikan karakter dari entitas tersebut. Penentuan atau pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting dalam pembentukan model data.

Tuple Tuple merupakan baris pada sebuah relasi atau kumpulan elemen-elemen yang saling berkaitan menginformasikantentang suatu entitas secara lengkap. Satu record mewakili satu data atau informasi tentang seseorang, misalnya : NPM, nama mahasiswa, alamat, kota, dan lain-lain.

Domain :Kumpulan nilai yang valid untuk satu atau lebih atribut Derajat (degree) :Jumlah atribut dalam sebuah relasi Cardinality :Jumlah tupel dalam sebuah relasi

Relational Key Super key Satu atribut / kumpulan atribut yang secara unik mengidentifikasi sebuah tuple di dalam relasi

Candidate key Suatu atribut atau satu set minimal atribut yang mengidentifikasikan secara unik suatu kejadian spesifik dari entitas. Atribut di dalam relasi yang biasanya mempunyai nilai unik. Satu set minimal dari atribut menyatakan secara tak langsung dimana kita tidak dapat membuang beberapa atribut dalam set tanpa merusak kepemilikan yang unik.

Primary key Merupakan satu atribut atau satu set minimal atribut yang tidak hanya mengidentifikasikan secara unik suatu kejadian spesifik, tapi juga dapat mewakilisetiap kejadian dari suatu entitas. Candidate key yang dipilih untuk mengidentifikasikan tuple secara unik dalam relasi. Setiap kunci candidate key punya peluang menjadi primary key, tetapi sebaiknya dipilih satu saja yang dapat mewakili secara menyeluruh terhadap entitas yang ada.

Alternate key Merupakan candidate key yang tidak dipakai sebagai primary key atau Candidate key yang tidak dipilih sebagai primary key. Foreign key (Kunci Tamu) Atribut dengan domain yang sama yang menjadi kunci utama pada sebuah relasi tetapi pada relasi lain atribut tersebut hanya sebagai atribut biasa. Kunci tamu ditempatkan pada entitas anak dan sama dengan primary key induk direlasikan.

Table siswa

NISNamaAlamat

10296832NurhayatiJakarta

10296126AstutiJakarta

31296500BudiDepok

41296525PrananingrumBogor

50096487PipitBekasi

21196353QuraishBogor

Relational Integrity Rules Null

Nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris (tuple) tersebut.

Nilai (konstanta) Null digunakan untuk menyatakan / mengisi atribut-atribut yang nilainya memang belum siap/tidak ada.

Entity Integrity

Tidak ada satu komponen primary key yang bernilai null.

Referential Integrity

Suatu domain dapat dipakai sebagai kunci primer bila merupakan atribut tunggal pada domain yang bersangkutan.Bahasa Pada Basis data Relational Menggunakan bahasa query pernyataan yang diajukan untuk mengambil informasi. Bahasa Query (Query Language) lebih ditekankan pada aspek pencarian data dari dalam tabel. Aspek pencarian ini sedemikian penting karena merupakan inti dari upaya untuk pengelolaan dataBahasa query terbagi 2 : Bahasa Formal Bahasa query yang diterjemahkan menggunakan simbol-simbol matematis.

Contoh :

Aljabar Relasional

Bahasa query prosedural : pemakai menspesifikasikan data apa yang dibutuhkan dan bagaimana untuk mendapatkannya.

Kalkulus Relasional

Bahasa query non-prosedural : pemakai menspesifikasikan data apa yang dibutuhkan tanpa menspesifikasikan bagaimana untuk mendapatkannya.

Terbagi 2 :Kalkulus Relasional Tupel, Kalkulus Relasional Domain Bahasa KomersialBahasa Query yang dirancang sendiri oleh programmer menjadi suatu program aplikasi agar pemakai lebih mudah menggunakannya (user friendly).Contoh : QUEL

Berbasis pada bahasa kalkulus relasional

QBE

Berbasis pada bahasa kalkulus relasional SQL

Berbasis pada bahasa kalkulus relasional dan aljabar relasional

Contoh-contoh Basis Data Relasional : DB2 ( IBM

ORACLE ( Oracle

SYBASE ( Powersoft

INFORMIX ( Informix

Microsoft Access ( Microsoft MySQL

12.10. Menentukan Kebutuhan System

Dalam menentukan kebutuhan system suatu basisdata tidak terlepas dari bagaimana sebenarnya basisdata itu dirancang. Pada database yang digunakan oleh single user atau hanya beberapa user saja, perancangan database tidak sulit. Tetapi jika ukuran database yang sedang atau besar (25 - ratusan user yang berisikan jutaan bytes informasi dan melibatkan ratusan query dan program-program aplikasi, contoh : industri-industri, asuransi, hotel, travel, dll yang seluruhnya tergantung pada kesuksesan dari operasi-operasi databasenya), perancangan database menjadi sangat kompleks.

Hal yang penting adalah mengetahui bahwa langkah-langkah siklus hidup aplikasi database dapat tidak berurutan, tetapi melibatkan beberapa langkah pengulangan yang biasanya disebut sebagai feedback loop. Sebagai contoh : masalah-masalah yang ditemui selama perancangan database mungkin harus mengumpulkan dan menganalisis kebutuhan-kebutuhan tambahan. Seperti yang digambarkan terdapat feedback loop diantara langkah-langkah yang sering terjadi

Gambar 12-10 Siklus Hidup Sistem Basisdata

Perancangan Database

Siklus kehidupan sistem informasi sering disebut macro life cycle, dimana siklus kehidupan basis data merupakan micro life cycle (gambar 10-10).

Aktifitas-aktifitas yang berhubungan dengan database sebagai micro life cycle dan termasuk fase-fasenya sebagai berikut :

Database planningDi aktifitas ini akan disusun bagaimana langkah-langkah siklus hidup dapat direalisasikan secara lebih efisien dan efektif.

System definition

Definisi ruang lingkup database (misal : para pemakai, aplikasi-aplikasinya, dsb.)

Design

Pada bagian dari fase ini, perancangan sistem database secara konseptual, logikal dan fisik dilaksanakan

Implementation

Pemrosesan dari penulisan definisi database secara konseptual, eksternal, dan internal, pembuatan file-file database yang kosong, dan implementasi aplikasi- aplikasi software.

Loading atau Data Conversion

Database ditempatkan baik secara memanggil data secara langsung ataupun merubah file-file yang ada ke dalam format sistem database dan memangggilnya kembali.

Application Conversion

Beberapa aplikasi software dari suatu sistem sebelumnya dikonversikan ke suatu sistem yang baru.

Testing dan Validation

Sistem yang baru ditest dan diuji kebenarannya.

Operation

Operasi-operasi pada sistem database dan aplikasinya.

Monitoring dan Maintenance

Selama fase operasi, sistem secara konstan memonitor dan memelihara database.

Pertambahan dan pengembangan data dan aplikasi-aplikasi software dapat terjadi. Modifikasi dan pengaturan kembali database mungkin diperlukan dari waktu ke waktu.

Langkah ke-3 disebut juga perancangan database. Langkah 3,4, dan 5 merupakan bagian dari fase design dan implementation pada siklus kehidupan sistem informasi yang besar. Pada umumnya database pada organisasi menjalani seluruh aktifitas- aktifitas siklus kehidupan di atas. Langkah 5 dan 6 tidak berlaku jika database dan aplikasi-aplikasinya baru.

Proses Perancangan Database6 Fase proses perancangan database :

Pengumpulan data dan analisis

Perancangan database secara konseptual

Pemilihan DBMS

Perancangan database secara logika (data model mapping)

Perancangan database secara fisik Implementasi Sistem database.

Gambar 12-10-1 fase-fase perancangan database

(untuk database yang besar)

Secara khusus proses perancangan berisikan 2 aktifitas paralel. Aktifitas yang pertama melibatkan perancangan dari isi data dan struktur database, sedangkan aktifitas kedua mengenai perancangan pemrosesan database dan aplikasi-aplikasi perangkat lunak.

Dua aktifitas ini saling menjalin, misalnya : kita dapat mengidentifikasikan data item yang akan disimpan dalam database dengan menganalisa aplikasi-aplikasi database.

Dua aktifitas ini juga saling mempengaruhi satu sama lain. Contohnya : fase perancangan database secara fisik, pada saat kita memilih struktur penyimpanan dan jalur-jalur akses dari file-file database yang tergantung pada aplikasi-aplikasi yang akan menggunakan file-file tersebut.

Di lain pihak, kita biasanya menentukan perancangan aplikasi-aplikasi database dengan mengarah kepada konstruksi skema database yang telah ditentukan selama aktifitas yang pertama.

6 fase di atas tidak harus diproses berurutan. Pada beberapa hal, rancangan tsb dapat dimodifikasi dari yang pertama dan sementara itu mengerjakan fase yang terakhir

(feedback loop antara fase) dan feedback loop dalam fase sering terjadi selama proses perancangan.

Fase 1 merupakan kumpulan informasi yang berhubungan dengan penggunaan database. Fase 6 merupakan implementasi databasenya. Fase 1 dan 6 kadang-kadang bukan merupakan bagian dari perancangan database, tetapi merupakan bagian dari siklus kehidupan sistem informasi secara umum. Inti dari proses perancangan database adalah fase 2,4,5.

Fase 1 : Pengumpulan data dan analisaProses identifikasi dan analisa kebutuhan-kebutuhan data disebut pengumpulan data dan analisa. Untuk menentukan kebutuhan-kebutuhan suatu sistem database, pertama- tama harus mengenal bagian-bagian lain dari sistem informasi yang akan berinteraksi dengan sistem database, termasuk para pemakai yang ada dan para pemakai yang baru serta aplikasi-aplikasinya. Kebutuhan-kebutuhan dari para pemakai dan aplikasi- aplikasi inilah yang kemudian dikumpulkan dan dianalisa.

Aktifitas-aktifitas pengumpulan data dan analisa :

Menentukan kelompok pemakai dan bidang-bidang aplikasinya.

Menentukan aplikasi utama dan kelompok user yang akan menggunakan database. Individu utama pada tiap-tiap kelompok pemakai dan bidang aplikasi yang telah dipilih merupakan peserta utama pada langkah-langkah berikutnya dari pengumpulan dan spesifikasi data.

Peninjauan dokumentasi yang ada

Dokumen yang ada yang berhubungan dengan aplikasi-aplikasi dipelajari dan dianalisa. Dokumen-dokumen lainnya (seperti : kebijaksanaan-kebijaksanaan, form, report, dan bagan organisasi) diuji dan ditinjau kembali untuk menguji apakah dokumen-dokumen tsb berpengaruh terhadap kumpulan data dan proses spesifikasi.

Analisa lingkungan operasi dan pemrosesan data

Informasi yang sekarang dan yang akan datang dipelajari. Termasuk juga analisa jenis-

jenis transaksi dan frekuensi-frekuensi transaksinya dan juga arus informasi dalam sistem. Input-output data untuk transaksi-transaksi tsb diperinci.

Daftar pertanyaan dan wawancara

Tuliskan tanggapan -tanggapan dari pertanyaan-pertanyaan yang telah dikumpulkan dari para pemakai database yang berpotensi. Ketua kelompok (individu utama) dapat diwawancarai sehingga input yang banyak dapat diterima dari mereka dengan memperhatikan informasi yang berharga dan mengadakan prioritas

Fase 2 : Perancangan database secara konseptualTujuan dari fase ini adalah menghasilkan conceptual schema untuk database yang tergantung pada sebuah DBMS yang spesifik. Sering menggunakan sebuah high-level data model seperti ER/EER model selama fase ini. Dalam conceptual schema, kita harus memerinci aplikasi-aplikasi database yang diketahui dan transaksi-transaksi yang mungkin.Fase perancangan database secara konseptual mempunyai 2 aktifitas paralel : Perancangan skema konseptual:

menguji kebutuhan-kebutuhan data dari suatu database yang merupakan hasil dari fase 1, dan menghasilkan sebuah conceptual database schema pada DBMS- independent model data tingkat tinggi seperti EER (enhanced entity relationship) model.

Skema ini dapat dihasilkan dengan menggabungkan bermacam-macam kebutuhan user dan secara langsung membuat skema database atau dengan merancang skema-skema yang terpisah dari kebutuhan tiap-tiap user dan kemudian menggabungkan skema-skema tsb. Model data yang digunakan pada perancangan skema konseptual adalah DBMS-independent, dan langkah selanjutnya adalah memilih sebuah DBMS untuk melaksanakan rancangan tsb.

Perancangan transaksi :

menguji aplikasi-aplikasi database dimana kebutuhan-kebutuhannya telah dianalisa pada fase 1, dan menghasilkan perincian transaksi-transaksi ini.

Kegunaan fase ini yang diproses secara paralel bersama fase perancangan skema konseptual adalah untuk merancang karakteristik dari transaksi-transaksi database yang telah diketahui pada suatu DBMS-independent. Transaksi-transaksi ini akan digunakan untuk memproses dan memanipulasi database suatu saat dimana database tsb dilaksanakan.

Fase 3 : Pemilihan DBMSPemilihan database di tentukan oleh beberapa faktor, diantaranya : faktor teknik, ekonomi, dan politik organisasi.

Contoh faktor teknik :

keberadaan DBMS dalam menjalankan tugasnya seperti jenis-jenis DBMS (relational, network, hierarchical, dll), struktur penyimpanan, dan jalur akses yang mendukung DBMS, pemakai, dan lain-lain.

Faktor-faktor ekonomi dan organisasi yang mempengaruhi satu sama lain dalam pemilihan DBMS :

Struktur data

Jika data yang disimpan dalam database mengikuti struktur hirarki, maka suatu jenis hirarki dari DBMS harus dipikirkan.

Personal yang telah terbiasa dengan suatu sistem

Jika staf programmer dalam suatu organisasi sudah terbiasa dengan suatu DBMS, maka hal ini dapat mengurangi biaya latihan dan waktu belajar.

Tersedianya layanan penjual

Keberadaan fasilitas pelayanan penjual sangat dibutuhkan untuk membantu memecahkan beberapa masalah sistem.

Fase 4 : Perancangan database secara logika

(pemetaan model data)Fase selanjutnya dari perancangan database adalah membuat sebuah skema konseptual dan skema eksternal pada model data dari DBMS yang terpilih. Fase ini dilakukan oleh pemetaan skema konseptual dan skema eksternal yang dihasilkan pada fase 2. Pada fase ini, skema konseptual ditransformasikan dari model data tingkat tinggi yang digunakan pada fase 2 ke dalam model data dari DBMS yang dipilih pada fase 3.

Pemetaannya dapat diproses dalam 2 tingkat :

Pemetaan system-independent :

pemetaan ke dalam model data DBMS dengan tidak mempertimbangkan karakteristik atau hal-hal yang khusus yang berlaku pada implementasi DBMS dari model data tsb.

Penyesuaian skema ke DBMS yang spesifik :

mengatur skema yang dihasilkan pada langkah 1 untuk disesuaikan pada implementasi yang khusus di masa yang akan datang dari suatu model data yang digunakan pada DBMS yang dipilih.

Hasil dari fase ni memakai perintah-perintah DDL dalam bahasa DBMS yang dipilih yang menentukan tingkat skema konseptual dan eksternal dari sistem database. Tetapi dalam beberapa hal, perintah-perintah DDL memasukkan parameter-parameter rancangan fisik sehingga DDL yang lengkap harus menunggu sampai fase perancangan database secara fisik telah lengkap.

Fase ini dapat dimulai setelah pemilihan sebuah implementasi model data sambil menunggu DBMS yang spesifik yang akan dipilih. Contoh: jika memutuskan untuk menggunakan beberapa relational DBMS tetapi belum memutuskan suatu relasi yang utama. Rancangan dari skema eksternal untuk aplikasi-aplikasi yang spesifik seringkali sudah selesai selama proses ini.

Fase 5 : Perancangan database secara fisikPerancangan database secara fisik merupakan proses pemilihan struktur-struktur penyimpanan dan jalur-jalur akses pada file-file database untuk mencapai penampilan yang terbaik pada bermacam-macam aplikasi.

Selama fase ini, dirancang spesifikasi-spesifikasi untuk database yang disimpan yang berhubungan dengan struktur-struktur penyimpanan fisik, penempatan record dan jalur akses. Berhubungan dengan internal schema (pada istilah 3 level arsitektur DBMS).

Beberapa petunjuk dalam pemilihan perancangan database secara fisik :

Response time :

waktu yang telah berlalu dari suatu transaksi database yang diajukan untuk menjalankan suatu tanggapan. Pengaruh utama pada response time adalah di bawah pengawasanDBMS yaitu : waktu akses database untuk data item yang ditunjuk oleh suatu transaksi. Response time juga dipengaruhi oleh beberapa faktor yang tidak berada di bawah pengawasan DBMS, seperti penjadwalan sistem operasi atau penundaan komunikasi.

Space utility :

jumlah ruang penyimpanan yang digunakan oleh file-file database dan struktur- struktur jalur akses.

Transaction throughput :

rata-rata jumlah transaksi yang dapat diproses per menit oleh sistem database, dan merupakan parameter kritis dari sistem transaksi (misal : digunakan pada pemesanan tempat di pesawat, bank, dll). Hasil dari fase ini adalah penentual awal dari struktur penyimpanan dan jalur akses untuk file-file database.

Fase 6 : Implementasi sistem databaseSetelah perancangan secara logika dan secara fisik lengkap, kita dapat melaksanakan sistem database. Perintah-perintah dalam DDL dan SDL(storage definition language) dari DBMS yang dipilih, dihimpun dan digunakan untuk membuat skema database dan file-file database (yang kosong). Sekarang database tsb dimuat (disatukan) dengan datanya.

Jika data harus dirubah dari sistem komputer sebelumnya, perubahan-perubahan yang rutin mungkin diperlukan untuk format ulang datanya yang kemudian dimasukkan ke database yang baru. Transaksi-transaksi database sekarang harus dilaksanakan oleh para programmmer aplikasi.

Spesifikasi secara konseptual diuji dan dihubungkan dengan kode program dengan perintah-perintah dari embedded DML yang telah ditulis dan diuji. Suatu saat transaksi- transaksi tsb telah siap dan data telah dimasukkan ke dalam database, maka fase perancangan dan implementasi telah selesai, dan kemudian fase operasional dari sistem database dimulai.

12.11. Menentukan Prosedur Recovery12.11.1 Pengenalan Transaksi dan PemrosesannyaKonsep transaksi menyediakan suatu mekanisme untuk menggambarkan unit logika dari proses database. Sistem pemrosesan transaksi merupakan sistem dengan database yang besar dan ribuan concurrent user yang mengeksekusi transaksi database.

Sistem Single-user VS Multiuser

Satu kriteria untuk mengklasifikasikan suatu sistem database berdasarkan jumlah user yang menggunakan sistem secara konkuren yaitu pada saat yang bersamaan.

DBMS adalah single-user jika paling banyak satu user yang dapat menggunakan sistem satu saat, dan multiuser jika banyak user dapat menggunakan sistem, dan kemudian mengakses database bersamaan. Single-

user DBMS kebanyakan terbatas pada beberapa sistem mikro komputer, selain itu multiuser.

Multiple user dapat mengakses database dan menggunakan sistem komputer secara simultan karena adanya konsep multiprogramming, dimana komputer dapat mengeksekusi multiple program atau proses pada saat yang bersamaan. Jika hanya ada sebuah CPU, berarti hanya dapat mengeksekusi satu proses satu saat. Sistem operasi multiprogramming mengeksekusi beberapa perintah dari satu proses kemudian menahan proses tsb dan mengeksekusi beberapa perintah dari proses selanjutnya, dst. Suatu proses dilanjutkan atau diteruskan dari tempat proses tsb ditahan pada saat gilirannya.

2 buah proses A dan B tereksekusi secara bergantian. Proses bergantian ini (interleaved) menyebabkan CPU tetap sibuk ketika sebuah proses membutuhkan operasi I/O misalnya baca blok dari disket. CPU diubah untuk mengeksekusi proses lainnya daripada berada dalam keadaan idle selama waktu I/O. proses inteleave ini menghindari proses yang lama dari penundaan proses lain.Jika sistem komputer memiliki prosesor hardware yang banyak, proses paralel dari proses yang multiple mungkin, seperti proses C dan D., istilah ini disebut dengan interleaved concurrency. Di DBMS yang multiuser, item data yang disimpan merupakan sumber utama yang dapat diakses secara konkuren oleh user yang interaktif atau program aplikasi, yang secara konstan mengambil informasi dari database dan memodifikasi DB.

Gambar 12-11-1a Proses Transaksi

Transaksi merupakan unit logika dari proses database yang mencakup satu atau lebih operasi akses database meliputi insert, delete, modifikasi atau operasi retrieve. Operasi database ini dapat diembed dalam suatu program aplikasi atau dapat langsung dibuat interaktif dengan bahasa query level tinggi misal SQL. Satu cara untuk menspesifikasikan batasan transaksi adalah dengan membuat statemen begin transaction dan end transaction dalam program aplikasi; dalam kasus ini semua operasi akses database diantara statemen begin-end dianggap sebagai sebuah transaksi. Sebuah program aplikasi dapat berisi lebih dari sastu transaksi jika berisi beberapa batasan transaksi.

Jika operasi database dalam suatu transaksi tidak meng-update database tetapi hanya mengambil (retrieve) data, transaksinya disebut dengan read-only transaction.Database direpresentasikan sebagai kumpulan dari item data yang dinamakan. Ukuran dari suatu item data disebut granularity, dan dapat berupa field dari beberapa record dalam database atau dapat merupakan unit yang lebih besar seperti record atau bahkan seluruh blok disk.

Status Transaksi dan Operasi Tambahan

Suatu transaksi adalah unit terkecil dari kerja yang dapat diselesaikan atau tidak dapat diselesaikan.

Beberapa operasinya dengan diagram transisinya :

BEGIN_TRANSACTION : memulai transaksi READ or WRITE : operasi baca atau tulis dari item database yang dieksekusi sebagai bagian dari transaksi COMMIT_TRANSACTION : transaksi berakhir sukses sehingga semua perubahan (update) yang dilakukan melalui transaksi dapat dimasukkan ke database dan akan diselesaikan

ROLLBACK (or ABORT) :

transaksi berakhir dengan tidak sukses sehingga semua perubahan atau efek transaksi yang diaplikasikan ke database tidak dapat diselesaikan.

Gambar 12-11-1b Proses Transaksi12.11.2 Konsep RecoveryRecovery dari suatu kegagalan transaksi biasanya berarti database direstore ke status yang konsisten ke waktu sebelum terjadi kegagalan.Untuk mengcover kesalahan atau kegagalan dari transaksi, sistem memaintain sebuah log untuk menjaga jalannya semua operasi yang mempengaruhi nilai dari item database. Informasi ini mungkin akan dibutuhkan untuk mengcover adanya kegagalan. LOG disimpan di storage, dan secara berkala diback-up ke storage lainnya untuk menjaga dari kerusakan yang fatal.Beberapa strategi recovery : Jika terjadi kerusakan ke sebagian besar database, misalnya disk crash, metode recovery merestore kopi sebelumnya dari database yang sudah diback-up ke storage khusus (tape) dan membangun kembali status dengan mengaplikasikan kembali atau redo operasi dari transaksi yang commit dari log back-up sampai waktu dimana terjadi kegagalan

Ketika database tidak secara fisik rusak tetapi hanya menjadi tidak konsisten karena adanya kesalahan (system crash, system error, local error, concurrency control), strategi adalah membalik semua perubahan yang menyebabkan ketidak konsistenan yaitu dengan meng-undo beberapa operasi. Kemungkinan juga dengan melakukan redo beberapa operasi supaya dapat merestore status database yang konsisten.

Deferred update (update yang ditunda)Update tidak dilakukan secara langsung pada database tetapi update dilakukan setelah transaksi mencapai titik commit. Sebelum mencapai commit, semua transaksi yang diupdate disimpan di buffer local. Selama commit, update pertama disimpan dalam log dan ditulis ke database. Jika transaksi gagal sebelum mencapai titik commit, database tidak akan berubah hingga UNDO dibutuhkan.Ide dari protocol update yang tertunda : Sebuah transaksi tidak dapat merubah database pada disk hingga mencapai titik point

Sebuah transaksi tidak dapat mencapai titik point hingga semua operasi update disimpan dalam log dan ditulis ke diskKarena database tidak pernah ter-update pada disk hingga transaksi mencapai commit, operasi UNDO tidak diperlukan.Operasi ini dikenal dengan algoritma recovery NO UNDO/ REDO. REDO dibutuhkan saat sistem gagal setelah transaksi mencapai commit tetapi sebelum perubahan disimpan pada database di disk.Recovery dengan update tertunda pada single-userPROCEDURE RDU_S : use 2 lists of transactions; the committed transactions since the last checkpoint, and the active transactions (at most of transaction will fall in this category, because the system is in single-user). Apply the REDOoperation to all the write_item operations of the committed transactions fromthe log in the order in which they were written to the log. Restart the active transactions.Recovery using Deferred Update in a Single-user environment = RDU_SProsedur REDOREDO(WRITE_OP) : redoing a write_item operation WRITE_OP consists of examining its log entry [write_item,T,X,new_value] and setting the value of item X in the database to new_value, which is the after image (AFIM).Operasi REDO mempunyai sifat idempoten, yaitu eksekusi yang terjadi berulang- ulang sama dengan sekali eksekusi saja. Ini disebabkan karena jika sistem gagal selama proses recovery, recovery selanjutnya adalah mencoba melakukan prosedur REDO write_item yang sudah dilakukan selama proses recovery awal. Hasil sistem crash selama recovery seharusnya sama dengan hasil recovery dari ketika tidak ada crash selama recovery.Contoh :

(a) operasi read dan write dari 2 buah transaksi T1

T2

read_item(A) read_item(B)

read_item(D) write_item(B)

write_item(D) read_item(D)

write_item(D)(b) log sistem saat terjadi crash[start_transaction,T1]

[write_item,T1,D,20]

[commit,T1]

[start_transaction,T2]

[write_item,T2,B,10]

[write_item,T2,D,25] system crashThe [write_item,] operations of T1 are redone.

T2 log entries are ignored by the recovery process.Kegagalan pertama terjadi pada eksekusi transaksi T2 (gambar b). Proses recovery akan redo [write_item,T1,D,20] pada log dengan me-reset nilai dari item D menjadi 20 (nilai barunya). Entri [write_item,T2,] pada log akan ditiadakan oleh proses recovery karena T2 tidak commit. Jika kegagalan kedua terjadi selama recovery dari kegagalan pertama, proses recovery yang sama diulang dari awal hingga akhir dengan hasil yang sama.

Recovery update tertunda dengan eksekusi konkuren pada multi-userKontrol konkurensi dan proses recovery berhubungan. Secara umum, semakin besar tingkat konkurensi dicapai, semakin banyak waktu untuk recovery.

PROCEDURE RDU_M (WITH CHECKPOINT) : use 2 lists of transactions maintained by the system; the committed transactions T since the last checkpoint (commit list), and the active transactions T (active list). REDO all the WRITE operations of the committed transactions from the log, in the order in which they were written into the log. The transactions that are active and did not commit are effectively canceled and must be resubmitted.Recovery using Deferred Update in a Multi-user environment = RDU_MContoh :

T1

T2

T3

T4

T5

t1t2 waktu

checkpointsystem crash

Transaksi T1 mencapai commit saat t1, dimana T3 dan T4 belum. Sebelum terjadi sistem crash pada t2 , T3 dan T2 commit tetapi tidak untuk T4 dan T5. Berdasarkan prosedur RDU_M, tidak dibutuhkan operasi REDO write_item dari transaksi T1 atau transaksi commit lainnya sebelum waktu checkpoint yang terakhir dari t1.Operasi write_item dari T2 dan T3 harus diulang karena kedua transaksi mencapai titik commit setelah checkpoint yang terakhir.Log bersifat force-written sebelum suatu transaksi commit.Transaksi T4 dan T5 diabaikan, secara efektif ditunda atau rolled back karena operasi write_item disimpan dalam database karena deferred update.

Keuntungan dari metode atau algoritma NO-UNDO/REDO adalah operasi transaksi tidak pernah dibutuhkan untuk tidak jadi dilaksanakan, karena :

Transaksi tidak mencatat setiap perubahan dalam database pada disk sampai mencapai point commit, yaitu sampai menyelesaikan eksekusi secara lengkap. Sehingga transaksi tidak pernah dirolled back karena kesalahan selama eksekusi transaksi.

Transaksi tidak akan pernah membaca nilai yang ditulis oleh transaksi yang belum commit karena item tetap terkunci sampai transaksi mencapai titik commit.Contoh :

(c) read dan write dari 4 buah transaksi T1 T2 T3 T4

read_item(A) read_item(B) read_item(A) read_item(B)

read_item(D) write_item(B) write_item(A) write_item(B)

write_item(D) read_item(D) read_item(C) read_item(A)

write_item(D) write_item(C) write_item(A)(d) log sistem saat terjadi crash[start_transaction,T1]

[write_item,T1,D,20]

[commit,T1]

[checkpoint]

[start_transaction,T4]

[write_item,T4,B,15]

[write_item,T4,A,20]

[commit,T4]

[start_transaction,T2]

[write_item,T2,B,12]

[start_transaction,T3]

[write_item,T3,A,30]

[write_item,T2,D,25] system crashT2 dan T3 are ignored because they did not reach their commit points.

T4 is redone because its commit point is after the last system checkpoint.

Immediate update (update yang segera)Di teknik ini, database akan diupdate oleh beberapa transaksi sebelum transaksi mencapai titik point. Operasi secara khusus disimpan di log pada disk dengan force-writing sebelum diaplikasikan ke database. Jika transaksi gagal setelah menyimpan beberapa perubahan pada database tetapi mencapai titik commit, efek dari operasi pada database harus undone (lepas/ buka); harus rolled back. Jika transaksi mencapai commit sebelum semua perubahan ditulis ke database dikenal dengan algoritma UNDO/ REDO. Variasi dari algoritma ini adalah semua update disimpan dalam database sebelum sebuah transaksi mencapai commit (membutuhkan hanya UNDO), dikenal dengan algoritma UNDO/NO-REDO.

UNDO/ REDO Recovery based on immediate update in a single-userJika kegagalan terjadi, transaksi yang aktif pada saat terjadi kegagalan menyimpan beberapa perubahan pada database. Efek dari semua operasi ini harus dibuka (UNDONE).Prosedur RIU_S (Recovery using Immediate Update in a Single-user environment) :

Use 2 lists of transactions maintained by the system : the committed transactions since the last checkpoint and the active transactions (at most one transaction will fall in this category, because the system is single-user)

Undo all the write_item operations of the active transaction from the log, using the UNDO procedure described below.

Redo the write_item operations of the committed transactions from the log, in the order in which they were written in the log, using REDO procedure describe earlier. UNDO(WRITE_OP) : Undoing a write_item operation write_op consists of examining its log entry [write_item,T,X,old_value,new_value] and setting the value of X in the database to old_value which is the before imaging (BFIM). Undoing a number of write_item operations from one or more transactions from the log must proceed in the reverse order from the order in which the operations were written in the log.UNDO/ REDO Recovery based on immediate update with concurrent execution Prosedur RIU_M :

Use 2 lists of transactions maintained by the system : the committed transactions since the last checkpoint and the active transactions.

Undo all the write_item operations of the active (uncommitted) transactions, using the UNDO procedure. The operations should be undone in the reverse of the order in which they were written into the log.

Redo all the write_item operations of the committed transactions from the log, in the order in which they were written in the log.12.11.3 Shadow Paging

Skema recovery ini tidak membutuhkan penggunaan log pada single-user. Pada multiuser, sebuah log mungkin dibutuhkan untuk metode kontrol konkurensi.

Shadow paging mempertimbangkan database yang berasal dari sejumlah halaman disk berukuran tetap (fixed-size disk) atau blok disk, misalnya sebanyak n. sebuah direktori dengan n entri dibuat, dimana entri yang ke i menunjuk halaman database yang ke i pada disk. Direktori disimpan di memori utama jika tidak terlalu besar, dan semua referensi baca atau tulis ke halaman database pada disk.Ketika transaksi memulai mengeksekusi, directori current yang entrinya ke halaman database yang paling baru dikopikan ke directori shadow. Direktori shadow ini kemudian disimpan pada disk ketika directori current digunakan untuk transaksi.Selama eksekusi transaksi, directori shadow tidak pernah dimodifikasi. Ketika operasi write_item dilaksanakan, kopi baru dari halaman database yang dimodifikasi dibuat, tetapi kopian lama dari halaman tersebut tidak ditumpangi (overwritten). Selain itu, halaman baru ditulis di lain tempat di beberapa blok disk yang tidak digunakan sebelumnya. Entri directori current dimodifikasi untuk menunjuk ke blok disk baru, dimana directori shadow tidak dimodifikasi dan berlanjut menunjuk ke blok disk lama yang tidak dimodifikasi.

Contoh :

ada 2 versi. Versi yang lama direferensi oleh directori shadow, versi yang baru oleh directori current.

Untuk mengcover kegagalan selama eksekusi transaksi, cukup dengan membebaskan halaman database yang dimodifikasi dan menghapus directori current. Keadaan database sebelum eksekusi transaksi berada pada direktori shadow dan keadaan itu direcover dengan mengembalikan kembali direktori shadow. Database kemudian dikembalikan ke keadaan sebelumnya bagi transaksi yang dieksekusi ketika terjadi crash, dan semua halaman yang dimodifikasi dihapus. Transaksi yang commit berhubungan dengan penghapusan direktori shadow sebelumnya. Teknik ini disebut dengan NO-UNDO/ NO-REDO.

Pada multiuser dengan transaksi yang concurrent, log dan checkpoint dihubungkan dengan teknik shadow paging. Satu keuntungan dari shadow paging adalah halaman database yang diupdate mengubah lokasi pada disk. Ini yang menyulitkan untuk menyimpan halaman database yang berhubungan dalam disk tanpa strategi manajemen penyimpanan yang kompleks. Jika direktori besar, penambahan penulisan direktori shadow ke disk sebagai transaksi yang commit menjadi berarti.

12.12 Pengunaan Basisdata

Sejak tahun 1960-an penggunaan basis data sudah digunakan untuk bidang komersial, dimana pemrosesan file-nya masih berbasis manajemen file tradisional. Perkembangan komputer yang semakin pesat diikuti dengan perkembangan perangkat lunak untuk aplikasi bisnis, sejak tahun 1970-an sampai awal tahun 1980 manajemen berbasis file tradisional berkembang menjadi manajemen basis data

12.12.1 Perkembangan Basisdata

Di dalam manajemen basis data dikenal berbagai model data yang dapat digunakan untuk mendeskripsikan sebuah data dalam merancang suatu basis data. Manajemen ini memungkinkan banyak user untuk mengakses data secara bersamaan sehingga fasilitas yang dimiliki oleh manajemen sudah semakin banyak yaitu fasilitas pemanipulasian data, kontrol konkurensi data, recovery data, keamanan data dan didukung dengan fasilitas komunikasi data karena manajemen ini sudah

terhubung dengan suatu jaringan .

Perkembangan dunia usaha semakin meningkat ditunjang dengan perkembangan komunikasi yang mempermudah organisasi atau perusahaan untuk mengakses data, sehingga mengubah manajemen basis data menjadi manajemen basis data tingkat lanjut didukung dengan fasilitas data warehousing dan fasilitas basis data berbasis web sebagai salah satu strategi organisasi dalam meningkatkan kinerja dan keuntungan organisasi.

Gambar 12-12-1 Evolution of Database Technologi12.12.2 ORDBMS (Object Relational Database Management System)teknologi RDBMS pada awalnya sangat dominan, tetapi dikarenakan fasilitasfasilitas yang ada pada RDBMS tidak lagi sesuai dengan aplikasi tingkat lanjut, maka RDBMS digantikan dengan OODBMS. Pada OODBMS terdapat banyak sekali bentuk-bentuk object oriented seperti metode encapsulation, inheritance, polymorphism, dll.Model data relasional lanjutan tidak hanya ada satu , tetapi terdapat berbagai macam model data, dimana karakteristik dan tingkat kebutuhan data yang telah dibuat. Bagaimanapun semua model data yang akan digunakan mengacu pada konsep objek dan mempunyai kemampuan untuk menyimpan data di dalam database.Berbagai macam terminologi yang digunakan untuk sistem model relasional tingkat lanjut yaitu ERDBMS. Tapi sekarang ini untuk sistem berbasis objek dapat digunakan OODBMS.

Inti dari kinerja RDBMS yaitu ada pada optimasi queri-nya dan juga pengetahuan mengenai bagaimana mengeksekusi fungsi dari user-define secara efisien, mengambil keuntungan dari pengindeksan pada struktur yang baru, memetakan queri dengan cara baru, dan menavigasi antara data menggunakan referensi data.

Penggunaan OODBMS untuk suatu organisasi yang sangat besar dan universal tidak lagi sesuai sehingga untuk mendukung kinerja dari organisasi tersebut dibutuhkan suatu ORDBMS (Objeck Relational Database Management System).

ORDBMS memiliki fasilitas untuk mendefinisikan data yang kompleks, menspesialisasikan struktur indeks dibutuhkan untuk mengefisienkan pengambilan data. ORDBMS digunakan untuk dua sampai tiga dimensional data.

Perbandingan antara OODBMS dan ORDBMSPEMODELAN

ModelOODBMSORDBMS

Identitas ObjekadaAda dengan tipe REF (Refferensi

PengkapsulanAda, tapi tidak dapat digunakan untuk queriAda dengan UDT (User Defined Types)

PenurunanAda Ada (dipisahkan antara UDT dan table)

PolymorphismAda, sebagai object oriented pada model bahasa pemrogramanAda

Objek kompleksAdaAda dengan UDT

RelasiAda Sangat mendukung untuk mendefinisikan batasan referensial integritas

12.12.3. Lingkup Penerapan BasisdataPembangunan Model Basisdata bertitik tolak dari system pengelolaan file. Jika Sistem operasi lebih melihat file secara utuh yang merupakan objek yang tidak bias dibagi lagi, maka DBMS melihat file sebagai objek yang berisi banyak data yang disusun secara sistematis yang masing-masing dapat dikenai berbagai oprasi secara individual. Sistem pengelolaan file yang lebih kaya semacam ini direlasikan dalam model jaringan, model hrarkis dan kemudian model relasional. Model-model basisdata tersebut memiliki sejumlah karakteristik seperti :

Keseragaman (uniformity), sekian banyak data dikelola dengan struktur dan ukuran (byte) yang sama.

Berorientasi Record (Record Orientation), satuan-satuan data utama terdiri atas record-record yang sama panjangnya

Satuan Data Kecil (Small Data Items), ukuran setiap record relative pendek (umumnya berukuran hingga beberapa ratus byte).

Field-Field Atomik (Atomic Fields), field-field dalam record relative pendek dan sama ukurannya. Field tidak mungkin terbentuk dari struktur yang lebih kecil lagi (jadi sifatnya atomic).

Dalam beberapa tahun terakhir, teknologi basisdata dengan karakteristik semacam itu sudah tidak memadai lagi untuk diterapkan pada sejumlah aplikasi terbaru. Aplikasi-aplikasi seperti itu diantaranya adalah :

Computer-Aided Design (CAD). Basisdata untuk CAD harus dapat menampung data yang berkaitan dengan desain perekayasaan (yang berbentuk grafis), seperti komponen-komponen dengan berbagai property dan relasi antar komponen serta versi-versi lama dari desain. Penyimpanan data yang berbentuk grafis, disamping berukuran besar juga sangat bervariasi ukurannya.

Computer-Aided Software Engineering (CASE). Basisdata untuk CASE harus dapat menampung data yang dibutuhkan untuk membantu para pembangun aplikasi. Data semacam ini meliputi kode sumber, ketergantungan antar modul-modul aplikasi, definisi dan pemakaian variable dan histori pembangunan aplikasi.

Basisdata Multimedia. Basisdata multimedia harus dapat mengelola gambar, data spasial (ruang), audio (suara dan music), video dan sejenisnya. Basisdata semacam ini dibutuhkan untuk menyimpan foto-foto, data geografis (pemetaan), system voice-mail, aplikasi-aplikasi grafis, system video-on-demands dan lain-lain.

Office Information System (OIS). Otomatisasi perkantoran mencakup pemakaian aplikasi yang berbasis work-station untuk pembuatan dan pengambilan dokumen, untuk surat-menyurat elektronik, untuk mengatur jadwal pertemuan dan sebagainya. Sebuah basisdata OIS harus dapat mengakomodasi kebutuhan untuk mencari jadwal yang berhubungan atau mencari dokumen baik berdasarkan judul maupun isi dokumen.

Basisdata Hypertext. Hypertext adalah teks yang diperkaya dengan link yang menunjuuk ke dokumen yang lain. Basisdata di dunia internet merupakan basisdata hypertext bahkan sekaligus termasuk basisdata dan multimedia (sehingga lebih tepat disebut hypermedia). Basisdata hypertext harus mampu melakukan pengambilan dokumen berdasarkan link dan melakukan query terhadap dokumen berdasarkan strukturnya.

12.12.4. Basisdata untuk MultimediaAkhir-akhir ini, basis data banyak diarahkan untuk juga dapat menampung data multimedia, seperti gambar, suara, music dan video. Karena itu perlu adanya DBMS yang dapat mengelola data multimedia di dalam basisdata. Didalam basisdata berarti bahwa data multimedia tersebut sama kedudukannya sebagaimana field-field data sederhana tetapi dengan perlakuan yang sedikit berbeda, karena ada sejumlah isu yang juga harus terpenuhi jika data multimedia tersimpan di dalam basisdata, yaitu :

Basisdata harus dapat mengakomodasi objek-objek yang besar, karena data multimedia seperti video dapat membutuhkan ruang

penyimpanan hingga beberapa gigabyte.

Adanya fasilitas untuk pengambilan data berdasarkan kemiripan (similarity-based retrieval) yang diperlukan oleh banyak aplikasi basisdata multimedia. Contohnya, pada basisdata yang menyimpan data sidik jari.

Pengambilan data-data dengan tipe tertentu, seperti music dan video, juga mensyaratkan adanya kecepatan pengambilan yang tetap dan tertentu (continous-media data). Pengambilan data yang lebih cepat atau lebih lambat dari yang seharusnya atau kecepatan yang berubah-ubah akan mengganggu kualitas hasil yang diterima oleh pemakai.

12.12.5. Basisdata untuk Internet (Web Technology)World Wide Web (WWW) merupakan system informasi terdistribusi yang berbasis hypertext. Dokumen-dokumen yang menjadi unsure utama di dalam web dapat dinyatakan dalam beberapa tipe. Tipe yang paling popular adalah dokumen hypertext yang disusun menurut bahasa khusus, seperti HTML (hypertext markup language). Dokumen HTML terdiri atas teks, spesifikasi jenis huruf (font) dan instruksi format lainya atau ke halaman lain pada dokumen yang sama. Gambar dan suara juga diakses dengan menggunakan link.

Para pemakai (user) system web akan melihat tampilan teks yang telah terformat bersama dengan gambar, bukanya teks awal (yang masih polos) bersama sejumlah instruksi pemberian format. Secara visual tentu saja teks terformat dan bergambar akan lebih menarik perhatian user. Lebih jauh lagi, dokumen yang terlihat user merupakan dokumen hypertext; yang dengan program browser tertentu. Program browser merupakan program khusus untuk menterjemahkan/mengerjakan instruksi-instruksi format , teks dan gambar yang hasilnya kemudian disajikan pada user. Program browser yang digunakan diantaranya Netscape Navigator, Mozilla Firework, Opera, Microsof Internet Ekplorer.

Universal Resource Locator (URL)

Sistem hypertext mengandung konsekuensi tentang adanya penyimpanan pointer (penunjuk lokasi) ke tempat dokumen-dokumen berada. Dalam web, fungsi pointer ini diberikan oleh Universal Resource Locator (URL). Berikut adalah contoh sebuah URL :

http://www.smkn1cmi.sch.id/jur/tkjBagian pertama dari URL menunjukkan bagaimana dokumen harus diakses. HTTP menunjukkan bahwa dokumen harus diakses dengan menggunakan Hypertext Transfer Protokol, yang berupa sebuah protocol untuk pentransferan

dokumen HTML. Bagian kedua (www.smkn1cmi.sch.id) menunjukkan nama unik dari sebuah mesin dalam internet. Lalu sisa pada URL merupakan nama path yang menunjukkan lokasi file pada mesin tersebut.

Dengan demikian URL memberikan nama unik secara global untuk setiap dokumen yang dapat diakses oleh system web. Karena URL mudah dibaca dan terbuka untuk diakses, maka setiap orang dapat menggunakannya secara langsung untuk mengakses dokumen tetentu dan berpindah-pindah dari satu dokumen ke dokumen lain bahkan dari satu mesin ke mesin yang lain.

Server untuk Web (Web Server)

HTTP menyediakan fasilitas yang bagus, dismaping transfer dokumen yang mudah, juga melakukan enkripsi pada dokumen demi alasan keamanan. Bagian nama dokumen dalam URL dapat mengidentifikasikan sebuah executable, yang ketika dijalankan akan menghasilkan dokumen HTML. Ketika sebuah server HTTP menerima permintaan untuk pengambilan dokumen tertentu, server mengeksekusi program tersebut dan mengirimkan dokumen HTML yang dihasilkan program tersebut. Lebih jauh lagi, client web dapat mengirimkan argument-argumen tambahan yang akan digunakan program pada saat eksekusi. Dengan begitu, pembentukan dokumen dapat menjadi bervariasi karena ditentukan oleh argument-argumen yang disertakan ke server tersebut. Sebagai hasil dari feature demikian, sebuah Web Server dapat dengan mudah melayani berbagai macam layanan informasi.

Bahasa Web (Web Display Language)

Ada sejumlah bahasa yang dapat digunakan untuk menayangkan isi dokumen pada para pemakai.Ada sejumlah bahasa yang dapat digunakan untuk menayangkan isi dokumen pada para pemakai. Berkat bahasa yang digunakan, teks adan dapat ditampilkan dengan format, warna dan ukuran tertentu. Bahasa untuk me-mark up teks (teks markup language), seperti Standard Generalized Markup Language (SGML), dibangun untuk mengisi kekosongan diantara teks polos dan deskripsi halaman dengan perintah pem-format-an teks.

HTML (Hypertext Markup Language) merupakan bahasa penayangan hypertext serba guna, yang merupakan pengembangan dari SGML. Disamping pemakaian perintah pem-format-an teks, dengan HTML kita juga dapat mendefinisikan perintah hypertext-link dan perintah penayangan gambar. HTML juga menyediakan fasilitas penerimaan data masukan (data input), yang memungkinkan pemakai meng-entri-kan data melalui dokumen yang sedang ditayangkan. Menun dan berbagai fasilitas masukan grafis lainnya juga disediakan, sehingga memungkinkan pemakai untuk berinteraksi denganberbagai cara terhadap sebuah dokumen yang sedang aktif. Jika kemudian semua masukan/interaksi pemakai tersebut dikirimkan kembali dari lokasi pemakai ke Server Web, maka semua masukan tersebut akan dinyatakan sebagai argument yang selanjutnya dalam mengeksekusi program di Server Web. Seperti yang telah disebutkan sebelumnya, program ini akan menghasilkan dokumen HTML yang kembali dikirimkan pada user.

Bahasa Java merupakan bahasa pemrograman web yang memungkinkan adanya animasi dengan menjalankan program di lokasi user. Dokumen yang dihasilkan juga dapat diupayakan untuk bersifat aktif. Bahasa java telah ditulis untuk semua platform dan praktis semua program dalam bahasa java dapat dieksekusi di semua platform. Sebagai hasil dari keseragaman tersebut, program-program java dapat disimpan di mesin server sebagaimana dokumen HTML, yang kemudian dapat di-download dan dieksekusi oleh semua jenis client. Dengan demikian, sebenarnya java menyediakan sarana penting untuk mendistribusikan program melalui internet.

Antar Muka Web dengan Basisdata

Adanya konektivitas (antar muka) antara Web dan Basisdata menjadi penting karena dua alas an.

Pertama, bersamaan dengan tumbuhnya perdagangan elektronis (electronic commerce / e-commerce) melalui web, basisdata untuk pengolahan transaksi harus dapat dihubungkan dengan web. Para pemakai berinteraksi dengan basisdata secara tidak langsung melalui serangkaian interaksi dengan dokumen HTML yang kemudian dikirim sebagai argument ke server dan selanjutnya digunakan sebagai parameter oleh program pada server untuk melakukan pengolahan transaksi tertentu pada basisdata. Pada gilirannya, hasil pengolahan itu dengan cara sebaliknya dapat dikembalikan dan ditayangkan kepada user.

Kedua, karena dokumen HTML yang relative tetap memiliki keterbatasan seperti :

Pemakaian dokumen web yang tetap tidak memungkinkan penayangan disesuaikan dengan keinginan user. Misalnya, sebuah perusahaan barangkali ingin menampilkan

materi promosi barang yang disesuaikan dengan keinginan user.

Ketika data dalam basisdata diubah, maka dokumen-dokumen web yang melibatkan data yang sama menjadi kadaluarsa jika tidak segera disesuaikan (update). Hal ini akan semakin merepotkan jika dokumen-dokumen tersebut tersebar di sejumlah lokasi.

Kita dapat mengatasi keterbatasan-keterbatasan tersebut dengan membuat dokumen-dokumen web secara dinamis, dengan lebih dahulu membentuk konektivitas web dan basisdata. Pada saat sebuah dokumen diminta pemakai, sebuah program di Server Web akan dieksekusi, yang kemudian menjalankan proses query ke basisdata, dan membuat dokumen berdasarkan hasil query tersebut. Dengan mekanisme ini maka sejain informasi dapat disesuaikan dengan keinginan user. Begitu juga, perubahan-perubahan yang terjadi di basisdata dapat tereflesikan dengan baik pada dokumen yang berisi hasil pengolahan di basisdata tersebut.Soal latihan

1. Sekumpulan data yang terdiri atas satu atau lebih table yang terintegrasi satu sama lain dan disimpan dengan beberapa cara pengorganisasian, dimana setiap pemakai (user) diberi wewenang (otorisasi) untuk dapat mengakses (mengubah, menghapus, menganalisis, menambah, serta memperbaiki) data dalam table-table tersebut disebut 2. Apa yang dimaksud dengan system basisdata ?

3. Menyimpan atau merekam serta memelihara data operasional lengkap sebuah organisasi/perusahaan, sehingga mampu menyediakan informasi yang optimal yang diperlukan pemakai untuk kepentingan proses pengambilan keputusan.

4. Prinsip dari penggunaan basisdata adalah 5. Tujuan dari penggunaan basisdata adalah 6. Apa yang dimaksud dengan DBMS(Database Management System) ?7. Sebutkan 2 (dua) contoh DBMS !8. Sebutkan sifat sifat penyimpanan data secara tradisional (system pemrosesan file)!

9. Sebutkan keuntungan penyimpanan data dengan system basisdata!

10. Fungsi dari DDL adalah .

11. Fungsi dari DML adalah

User/pengguna basisdata merupakan salah satu komponen yang terlibat dalam sebuah system basisdata, dimana user tersebut dibagi menjadi 3 kelompok yaitu system engineer, database administrator (dba), dan end user.

12. Apa yang anda ketahui tentang system engineer ?

13. Sebutkan tugas-tugas yang harus dilakukan oleh seorang database administrator !14. Ada beberapa jenis (tipe) pemakai/end user terhadap suatu sistem basisdata yang dapat dibedakan berdasarkan cara mereka berinteraksi terhadap system, sebutkan !

15. Ada 3 tingkat dalam arsitektur basis data yang bertujuan membedakan cara pandang pemakai terhadap basis data dan cara pembuatan basis data secara fisik. Sebutkan dan gambarkan tingkatan arsitektur basis data tersebut !

16. Apa yang anda ketahui tentang external level ?

EMBED Visio.Drawing.11

Program Aplikasi Nilai

EMBED Visio.Drawing.11

siswa

File siswa

Program Aplikasi Siswa

t4

waktu

D

CPU2

B

A

C

CPU1

B

A

t1

t2

t3

Phase 6: Implementation

DDL-statements

SQL-statements

Transaction Implementation

Phase 5: Physical Design

Internal Schema design (DBMS-dependent

Phase 4: Data Model

Mapping (logical design)

Conceptual & external Schema design (DBMS-dependent

Frequencies, performance constraint

Phase 3: Choice of DBMS

PERANCANGAN CONTENT SERVER

BAB 12

Pokok Bahasan

Dalam pembahasan ini meliputi :

Pengertian Basisdata

Tingkat Arsitektur Basisdata.

Menentukan Kebutuhan Sistem Basisdata.

Menentukan Prosedur Recovery

Penggunaaan Basisdata

Tujuan :

Pembahasan ini bertujuan :

Mengenalkan pengertian Basisdata

Memahami Arsitektur Basis data

Memahami Kebutuhan Sistem Basisdata

Memahami Prosedur Recovery

Memahami Penggunaan Basisdata

Phase 2: Conceptual

Design

Conceptual & external Schema design (DBMS-Independent

Transaction design

(DBMS-independent)

Phase 1: requirements

Collection and analysis

Data requirements

Processing requirements

Tujuan perancangan database :

untuk memenuhi informasi yang berisikan kebutuhan-kebutuhan user secara khusus dan aplikasi-aplikasinya.

memudahkan pengertian struktur informasi

mendukung kebutuhan-kebutuhan pemrosesan dan beberapa obyek penampilan (response time, processing time, dan storage space)

Operational

Maintenance

Testing

Data Loading

And Convertion

Prototyping

Implementation

Physical Design

Logical Design

Application Design

DBMS Selection

Conceptual

Database Design

Requirements

Collection And Analysis

Systems Definition

Database

Server

Menerima dan memproses basis data yang diminta dari client

Memeriksa autorisasi

Menjamin tidak terjadi pelanggaran terhadap integrity constraint

Melakukan query/pemrosesan update dan memindahkan response ke client

Memelihara data dictionary

Menyediakan akses basis data secara bersamaan

Menyediakan kontrol recovery

Client

Mengatur user interface

Menerima dan memeriksa sintaks inputdari pemakaiMemproses aplikasi

Generate permintaan basis data dan memindahkannya ke server

Memberikan response balik kepada pemakai

Basis Data

Server with DBMS

EMBED Visio.Drawing.11

Request for data

Selected data returned

LAN

Client 3 EMBED Visio.Drawing.11

Client 1

EMBED Visio.Drawing.11

Client 2

EMBED Visio.Drawing.11

File Server

EMBED Visio.Drawing.11

Basis Data

Request for data

File returned

LAN

Workstation3 EMBED Visio.Drawing.11

Workstation1 EMBED Visio.Drawing.11

Workstation2 EMBED Visio.Drawing.11

EMBED Visio.Drawing.11

EMBED Visio.Drawing.11

EMBED Visio.Drawing.11

EMBED Visio.Drawing.11

EMBED Visio.Drawing.11

EMBED Visio.Drawing.11

System Buffer

Database dan Data Dictionary

File Manager

Access Method

Recovery

Manager

Buffer Manager

Data Manager

Scheduler

Transaction Manager

Query Optimizer

Integrity Checker

Command Processor

Authorization Control

Database Manager

Database Manager

Programs Object Code

Dictionary

Manager

System

Buffer

Database dan Data Dictionary

File

Manager

Access

Method

Database Manager

Programs Object Code

Dictionary

Manager

Query Processor

DML Preprocessor

DDL

Compiler

DBMS (Database Management System)

Queries

Application Programs

Database

Schema

Logical data independence

External / conceptual mapping

Internal Schema

Conseptual Schema

Logical data independence

External / conceptual mapping

External Schema

External Schema

External Schema

Tingkati Internal :

FILE_PEGAWAILENGTH = 22

PREFIKTYPE = BYTE (6), OFFSET = 0

EMP#TYPE = BYTE (6), OFFSET = 6, INDEX = EMPX

DEPT#TYPE = BYTE (4), OFFSET = 12

PAYTYPE = FULLWORD, OFFSET = 16

Tingkat Konseptual :

PEGAWAI

NOMOR_PEGAWAICHARACTER6

NOMOR_DEPTCHARACTER4

GAJINUMERIC6

Tingkat Eksternal :

Cobol

01 PEG_REC.

02 PEG_NOPIC X(6).

02 DEPT_NOPIC X(4).

02 GAJIPIC 9(6).

Internal Level

Conseptual Level

VIEW 1

EMBED Visio.Drawing.11

VIEW 1

EMBED Visio.Drawing.11

EMBED Visio.Drawing.11

VIEW 1

External Level

user

Database

DBMS

Database Application

DBMS

nilai

Program Aplikasi Nilai

EMBED Visio.Drawing.11

siswa

Basisdata Sekolah

Program Aplikasi Siswa

EMBED Visio.Drawing.11

nilai

File Nilai

Read, Write

End Trancaction

Begin Transaction

Commit

Partially Committed

Commited

Active

Abort

Abort

Terminated

Failed

Ada 2 teknik utama dalam melakukan recovery kesalahan transaksi :

Deferred update

Immediate update

Page 5 (old)Page 1Page 4Page 2 (old)Page 3Page 6Page 2 (new)Page 5 (new)

123456

123456

shadow directory (not updated)

Database disk blocks (pages)

Current directory (after updating page 2, 5)

Data Collection and Database Creation

(1960s and earlier)

Database Management Systems (1970s early 1980s)

Hierarchical and Network Database Systems

Relational Database Systems

Data modeling tools : entity relationship model, etc

Indexing and data organization techniques : b+ tree, hashing, etc

Query language : SQL, etc

User interface, forms, and reports

Query processing and query optimizaztion

Web-Based Database Systems

(1990s present)

XML-based database systems

Web mining

Advance Database Systems (mid-1980s-present)

Advance data models : extended relational, object oriented, object relational, deductive

Application oriented : spatial, temporal, multimedia, active, scientific, knowledge bases

Data Warehouse and Data Mining (late 1980s present)

Data warehouse and OLAP technology

Data mining and knowledge discovery)

New Generation of Integrated Information Systems (2000 - )

Contoh kasus (Gambar 10-4 Basisdata Siswa SMK):

Pada basisdata suatu sekolah untuk mengelola informasi tentang biodata siswa, nilai dan referensi mata pelajaran. Gambar 10-4 merupakan susunan dan contoh data dari basisdata tersebut. Table biosiswa menyimpan data tiap siswa; Table nilai menyimpan nilai mata pelajaran yang telah ditempuh setiap siswa; Table mata pelajaran menyimpan data referensi mata pelajaran.

Entity (entitias), merupakan penyajian object, kejadian atau konsep dari dunia nyata yang keberadaannya secara eksplisit didefinisikan dan disim