Anda di halaman 1dari 76

KONSEP DATABASE MANAGEMENT SYSTEM

Peran basis data sangatlah menonjol sekali. Pemrosesan data menjadi andalan yang
kehadirannya sangat diperlukan oleh berbagai institusi dan perusahaan. Basis data tidak
hanya akan mempercepat pencarian dan pelacakan data dan informasi saja, tetapi juga
dapat meningkatkan pelayanan kepada banyak orang dan publik. Hal inilah yang menjadi
alasan kenapa saat ini banyak perusahaan yang mulai beralih menggunakan komputer untuk
pemrosesan datanya.
Sejarah perkembangan basis data terbentuk setelah masa sistem pemrosesan manual
dan sistem pemrosesan berkas. Sistem pemrosesan kertas atau manual merupakan bentuk
pemrosesan yang menggunakan dasar berupa setumpuk rekaman yang disimpan dalam rak
berkas. Jika berkas diperlukan maka berkas tersebut akan dicari pada rak. Sistem seperti ini
masih banyak dijumpai dalam kehidupan sehari-hari. Bentuk nyata adalah sebuah katalog
buku telepon saku maupun buku telepon yellow pages dimana orang akan mudah mencari
nama

orang

dengan

menggunakan

indeks

alphabetik

walaupun

kadang

juga

membingungkan karena susah untuk mencari dengan index nama atau nomor telepon. Pada
saat awal penerapan sistem komputer, sekelompok rekaman disimpan pada sejumlah berkas
secara terpisah, dimana sistem ini akan sangat jauh berbeda dengan menggunakan sistem
manual terutama dari sisi akurasi dan kecepatan.
Basis Data (Database) dapat dibayangkan sebagai sebuah lemari arsip. Jika kita
memiliki sebuah lemari arsip dan berwenang untuk mengelolanya, maka kemungkinan
besar kita akan melakukan hal-hal seperti memberi sampul atau map pada kumpulan atau
bundel arsip yang akan disimpan, menentukan kelompok jenis arsip, memberi penomoran
dengan pola tertentu yang nilainya unik pada setiap sampul atau map, lalu menempatkan
arsip-arsip tersebut dengan cara urutan tertentu didalam lemari. Kalaupun hal-hal tersebut
tidak seluruhnya dilakukan, paling tidak semua lemari arsip menerapkan suatu aturan dan
cara tertentu tentang bagaimana keseluruhan arsip-arsip tadi ditempatkan dan disusun. Yang
paling sederhana adalah tentu menyusun dan menempatkan arsip-arsip tadi sesuai
kedatangan atau kronologisnya dan tanpa pengelompokan, hampir tidak akan pernah kita
jumpai adanya lemari arsip yang tidak memiliki aturan dan cara dalam penyusunan
penempatan arsip-arsip di dalamnya.
Bahkan untuk sebuah lemari buku atau baju pun, secara alamiah kita seringkali
menerapkan suatu cara atau aturan tertentu dalam menyusun dan menempatkan buku - buku
atau baju - baju itu didalam sebuah lemari. Upaya penyusunan dan penempatan ini memang
baru kita lakukan jika kita rasakan, bahwa buku atau baju tersebut sudah cukup banyak.
Mengapa hal-hal itu kita lakukan ? Jawabannya yaitu kita berharap agar pada suatu saat
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

nanti, sewaktu kita bermaksud untuk mencari dan mengambil kembali arsip, buku atau baju
dari lemari kita dapat melakukannya dengan mudah dan cepat.
DEFINISI
Istilah basis data banyak menimbulkan interpretasi yang berbeda. Pada saat maraknya paket
pemrograman dbase sebuah berkas dengan ekstensi *.DBF biasa disebut basis data.
Ungkapan ini sebenarnya benar tapi salah. Orang umum menyebutnya salah kaprah. Karena
sebenarnya *.DBF adalah objek data dan bukan basis data. Suatu Database Manajemen
System (DBMS) akan berisi satu koleksi data yang akan saling berelasi dan 1 set program
untuk mengakses data yang sudah diciptakan. Jadi sebenarnya DBMS terdiri dari database
dan set program pengelola untuk memproses data. Sebelum membahas basis data lebih
lanjut maka akan lebih baik jika istilah data dan informasi dibahas terlebih dahulu.
Basis Data terdiri atas 2 kata, yaitu Basis dan Data. Basis kurang lebih dapat
diartikan sebagai markas atau gudang, tempat bersarang dan berkumpul. Sedangkan Data
adalah fakta yang terungkap atau representasi fakta dunia nyata yang mewakili suatu objek
seperti manusia (pegawai, siswa, pembeli, pelanggan, barang, hewan, peristiwa, konsep,
keadaan dan sebagainya yang direkam dalam bentuk angka, huruf, simbol, teks, gambar,
bunyi atau kombinasinya. Basis Data sendiri dapat didefinisikan dalam sejumlah sudut
pandang, seperti :

Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi


sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah.

Kumpulan file, tabel, arsip yang saling berhubungan yang disimpan dalam media
penyimpanan elektronis.

Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian
rupa dan tanpa pengulangan (redundansi) yang tidak perlu untuk memenuhi berbagai
kebutuhan.

Dalam sebuah berkas data akan terdapat rekaman-rekaman yang sejenis, sama besar, sama
bentuk dan merupakan kumpulan entity yang seragam. Dalam sebuah rekaman (record)
akan terdiri dari field-field atau medan yang saling berhubungan untuk menunjukkan bahwa
medan tersebut berada dalam satu pengertian yang lengkap dan direkam dalam sebuah
rekaman.
Basis Data dan lemari arsip sesungguhnya memiliki prinsip kerja dan tujuan yang sama.
Prinsip utamanya adalah pengaturan data dan arsip. Tujuan utamanya adalah kemudahan
dan kecepatan dalam pengambilan kembali data atau arsip. Perbedaannya hanya terletak
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

pada media penyimpanan yang digunakan. Jika lemari arsip menggunakan lemari dari besi
atau kayu sebagai media penyimpanan, maka basis data menggunakan media penyimpanan
elektronis seperti disk (disket atau harddisk). Hal ini merupakan konsekuensi yang logis,
karena lemari arsip langsung dikelola dan ditangani oleh manusia, sementara basis data
dikelola dan ditangani melalui perantaraan alat mesin pintar elektronis yang kita kenal
sebagai komputer. Perbedaan media ini yang selanjutnya melahirkan perbedaan - perbedaan
lain yang menyangkut jumlah dan jenis metoda atau cara yang dapat digunakan dalam
upaya penyimpanan.
Satu hal yang juga harus diperhatikan bahwa basis data bukan hanya sekedar
penyimpanan data secara elektronis dengan bantuan komputer. Artinya tidak semua bentuk
penyimpanan data secara elektronis bisa disebut basis data. Kita dapat menyimpan
dokumen berisi data dalam file teks dengan program pengolah kata, file spread sheet dan
lain-lain, tetapi tidak bisa disebut sebagai basis data. Karena didalamnya tidak ada
pemilahan dan pengelompokkan data sesuai jenis dan fungsi data, sehingga akan
menyulitkan pencarian data kelak. Yang sangat ditonjolkan dalam basis data adalah
pengaturan, pemilahan, pengelompokkan, pengorganisasian data yang akan kita
simpan sesuai fungsi dan jenisnya. Pemilahan, pengelompokan, pengorganisasian ini dapat
berbentuk sejumlah file atau tabel terpisah atau dalam bentuk pendefinisian kolom-kolom
field-field data dalam setiap file dan tabel.
HERARKI DATA
Secara tradisional data diorganisasikan kedalam suatu herarki yang terdiri atas elemen data,
rekaman dan berkas.
Entity. Adalah orang tempat kejadian atau konsep yang informasinya direkam. Pada
bidang administrasi mahasiswa misalnya, entity adalah mahasiswa, buku pembayaran
dan nilai ujian. Pada bidang kesehatan entity adalah pasien, dokter, obat, kamar dan
diet.
Atribute / elemen data. Setiap entity mempunyai atribut atau sebutan untuk mewakili
suatu entity. Seorang mahasiswa dapat dilihat atributnya, misalnya nama, NIM, alamat,
nama orang tua, agama dan jenis kelamin. Atribut juga disebut sebagai data elemen,
data field, item data atau medan.
Data value atau isi. Adalah data aktual atau informasi yang disimpan pada tiap elemen
data atau atribut. Atribut nama karyawan akan menunjukkan tempat dimana informasi
nama karyawan disimpan, sedangkan data value adalah bejo, mitro yang merupakan isi
dari data nama karyawan tersebut.

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

Record / Tuple / Rekaman / baris. Adalah gabungan dan kumpulan sejumlah elemen elemen data yang saling berkaitan menginformasikan tentang entity secara lengkap.
Satu record akan mewakili satu data atau informasi yang mewakili tentang seseorang
atau objek lain misalnya NIM, Nama, Alamat, Nomor telepon, email dan sebagainya.
File / berkas. Adalah kumpulan rekaman data yang berkaitan dengan subjek data.
KEGUNAAN DATABASE / SYARAT DATABASE
Penyusunan suatu basis data digunakan untuk mengatasi berbagai masalah pada
penyusunan data, yaitu redundansi dan inkonsistensi data, kesulitan pengaksesan data,
isolasi data untuk standarisasi, multipel user atau banyak pemakai, masalah keamanan,
masalah kesatuan dan masalah kebebasan data.
1. Redundansi dan Inkonsistensi Data
Jika berkas-berkas dan program aplikasi diciptakan oleh seorang programmer yang berbeda
pada waktu yang berselang cukup panjang, maka ada beberapa bagian data akan mengalami
penggandaan pada berkas-berkas yang berbeda pula. Sebagai contoh adalah alamat dan
nomor telepon pelanggan kita tercatat pada berkas deposito juga pada berkas rekening
koran dan juga berkas nasabah. Penyimpanan dibeberapa lokasi untuk data yang sama ini
disebut sebagai redundansi dan mengakibatkan pemborosan ruang penyimpanan dan juga
biaya untuk mengakses menjadi lebih tinggi.
Penyimpanan data yang sama berulang - ulang dibeberapa berkas dapat
mengakibatkan juga inkonsistensi atau tidak konsisten. Hal ini terjadi jika suatu ketika
seorang pelanggan pindah alamat atau nomor telepon, maka seharusnya ketiga berkas yang
memuat data tersebut harus diubah juga. Jika salah satu saja dari berkas yang mengandung
data tersebut terlewat diupdate maka terjadilah tidak konsisten lagi.
2. Kesulitan dalam Pengaksesan Data
Pada suatu saat akan dibutuhkan untuk mencetak data siapa saja pelanggan yang berada
dikode pos 55122 Yogyakarta, padahal belum tersedia program yang telah ditulis untuk
menampilkan data tersebut. Maka kesulitan akan timbul dan penyelesaiannya untuk itu
adalah kearah DBMS yang mampu mengambil data secara langsung dengan bahasa yang
familier dan mudah digunakan.
3. Isolasi Data Untuk Standarisasi
Jika data tersebar dalam beberapa berkas dalam bentuk format yang berbeda, maka akan
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

menyulitkan dalam menulis program aplikasi untuk mengambil dan menyimpan data. Maka
data dalam satu database harus dibuat 1 format sehingga mudah dibuat program
aplikasinya. Dapat dibayangkan betapa sulitnya membuat program aplikasi jika data dibuat
dari format teks berkas Pascal, Basic. C++ dan juga format dari versi Lotus 123.
4. Multiple User atau Banyak Pemakai
Dalam rangka mempercepat semua daya guna sistem dan mendapat responsi waktu yang
cepat, beberapa sistem mengijinkan banyak pemakai untuk mengupdate data secara
simultan. Salah satu alasan mengapa database dibangun adalah karena nantinya data
tersebut akan digunakan oleh banyak orang dalam waktu yang berbeda, diakses oleh
program yang sama tapi berbeda orang dan waktu. Semua ini akan memungkinkan untuk
terjadi karena data yang diolah tidak tergantung dan menyatu dalam program tapi ia
terlepas dalam satu kelompok data.
5. Masalah Keamanan
Tidak setiap pemakai sistem database diperkenankan untuk mengakses semua data.
Misalkan data mengenai gaji pegawai hanya boleh diakses bagian keuangan dan personalia
dan tidak diperkenankan bagian gudang membaca dan mengubahnya. Keamanan ini dapat
diatur lewat program yang dibuat oleh pemrogram atau fasilitas keamanan sistem operasi.
6. Masalah Integritas atau Kesatuan
Database berisi berkas yang saling berkaitan, masalah utamanya adalah bagaimana kaitan
antara berkas yang ada. Meskipun diketahui bahwa berkas A berkaitan dengan berkas B,
tetapi secara teknis maka ada medan kunci yang akan mengaitkan kedua berkas tersebut.
7. Masalah Data Independence (Kebebasan Data)
Pada suatu aplikasi yang dibuat dengan bahasa pemrograman Basic misalnya, jika program
telah dibuat untuk menyelesaikan masalah pembacaan data untuk berkas pelanggan dengan
berkas No, Nama, Alamat, maka setelah program jadi dan terdapat perubahan struktur
berkas pelanggan maka program tersebut harus diubah. Hal ini disebut bahwa program
yang telah dibuat tidak bebas terhadap database.
Berlainan dengan paket bahasa yang diciptakan dari DBMS, apapun yang terjadi
pada struktur berkas, setiap kali hendak dilihat data maka cukup dengan utility LIST,
hendak menambah data cukup dengan APPEND. Ini berarti perintah dalam paket DBMS
bebas terhadap database. Apapun perubahan dalam database semua perintah akan
mengalami kestabilan tanpa perlu ada yang diubah. Akan tetapi juga perlu dipikirkan

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

bagaimana jika ada syarat terhadap database yang ada. Misalnya saja syarat pengambilan
uang tabungan bank adalah harus disisakan minimal Rp 25.000. Syarat ini tentu akan
dimasukkan kedalam aplikasi program yang dibangun. Tetapi bagaimana halnya jika suatu
ketika syarat itu telah bergeser dari syarat Rp 25.000 menjadi Rp Rp 50.000. Disini
program aplikasi yang telah dibangun harus diubah dan ini menunjukkan ketidakbebasan
program yang dibuat terhadap basis data.
OPERASI DASAR BASIS DATA
Di dalam sebuah disk, basis data dapat diciptakan dan dapat pula ditiadakan. Di dalam
sebuah disk kita dapat pula menempatkan beberapa atau lebih dari satu basis data.
Sementara dalam sebuah basis data, kita dapat menempatkan satu atau lebih file atau tabel.
Pada file atau tabel inilah sesungguhnya data disimpan dan ditempatkan. Setiap basis data
umumnya dibuat untuk mewakili sebuah semesta data yang spesifik. Misalnya, ada basis
data kepegawaian, basis data akademik, basis data inventori atau pergudangan dan
sebagainya. Sementara dalam basis data akademik, misalnya kita dapat menempatkan file
mahasiswa, file mata-kuliah, file dosen, file jadwal, file kehadiran, file nilai dan seterusnya.
Karena itu operasi-operasi dasar yang dapat kita lakukan berkenaan dengan basis data dapat
meliputi :

Pembuatan basis data baru (create database), yang identik dengan pembuatan lemari
arsip yang baru.

Penghapusan basis data (drop database), yang identik dengan perusakan lemari arsip
(sekaligus beserta isinya jika ada).

Penghapusan file tabel dari suatu basis data (drop table), yang identik dengan perusakan
map arsip lama yang ada di sebuah lemari arsip.

Pembuatan file tabel baru ke suatu basis data (create table), yang identik dengan
penambahan map arsip baru ke sebuah lemari arsip yang telah ada.

Penambahan atau pengisian data baru ke sebuah file atau tabel disebuah basis data
(insert), yang identik dengan penambahan lembaran arsip ke sebuah map arsip,

Pengambilan data dari sebuah file atau tabel (retrieve/search), yang identik dengan
pencarian lembaran arsip dari sebuah map arsip.

Pengubahan data dari sebuah file/tabel (update), yang identik dengan perbaikan isi
lembaran arsip yang ada di sebuah map arsip.

Penghapusan data dari sebuah file/tabel (delete), yang identik dengan penghapusan
sebuah lembaran arsip yang ada di sebuah map arsip.

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

Operasi yang berkenaan dengan pembuatan objek yaitu basis data dan tabel merupakan
operasi awal yang hanya dilakukan sekali dan berlaku seterusnya. Sedang operasi-operasi
yang berkaitan dengan isi tabel yaitu data merupakan operasi rutin yang akan berlangsung
berulang-ulang dan karena itu operasi inilah yang lebih tepat mewakili aktivitas
pengelolaan (management) dan pengolahan (processing) data dalam basis data.
OBJEKTIF BASIS DATA
Tujuan awal dan utama dalam pengelolaan data dalam sebuah basis data adalah agar dapat
memperoleh dan menemukan kembali data yang kita cari dengan mudah dan cepat.
Disamping itu pemanfaatan basis data untuk pengelolaan data juga memiliki tujuan-tujuan
lain. Secara lebih lengkap, pemanfaatan basis data dilakukan untuk memenuhi sejumlah
tujuan atau objektifitas seperti berikut :

Kecepatan dan Kemudahan (Speed). Pemanfaatan basisdata memungkinkan untuk


menyimpan data atau melakukan perubahan dan manipulasi data atau menampilkan
kembali data tersebut dengan lebih cepat dan mudah, daripada jika kita menyimpan data
secara manual (non elektronis) atau secara elektronis (tetapi tidak dalam bentuk
penerapan basis data, misalnya dalam bentuk spread sheet atau dokumen teks biasa).

Efisiensi Ruang Penyimpanan (Space). Karena keterkaitan yang erat antar kelompok
data dalam sebuah basis data, maka redundansi (pengulangan) data pasti akan selalu
ada. Banyaknya redundansi ini tentu akan memperbesar ruang penyimpanan baik
dimemori utama maupun sekunder yang harus disediakan. Dengan basis data, efisiensi
dan optimalisasi penggunaan ruang penyimpanan dapat dilakukan, karena dapat
melakukan penekanan jumlah redundansi data, baik dengan menerapkan sejumlah
pengkodean atau dengan relasi dalam file antar kelompok data yang saling
berhubungan.

Keakuratan (Accurity). Pemanfaatan pengkodean atau pembentukan relasi antar data


bersama dengan penerapan aturan dan batasan (constraint) tipe, domain data, keunikan
data dan sebagainya yang secara ketat diterapkan dalam sebuah basis data sangat
berguna untuk menekan ketidakakuratan pemasukan dan penyimpanan data.

Ketersediaan (Availability). Pertumbuhan data baik dari sisi jumlah maupun jenisnya
sejalan dengan waktu akan semakin membutuhkan ruang penyimpanan yang besar.
Padahal tidak semua data itu selalu digunakan dan butuhkan. Karena itu maka dapat
dipilah adanya data utama atau master atau referensi data transaksi, data histori hingga
data kadaluarsa. Data yang sudah jarang atau bahkan tidak pernah lagi digunakan dapat
diatur untuk dilepaskan dari sistem basis data yang sedang aktif (menjadi off-line) baik

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

dengan cara penghapusan atau dengan memindahkannya ke media penyimpanan offline (seperti removable disk atau tape). Di sisi lain, karena kepentingan pemakaian data,
sebuah basis data dapat memiliki data yang disebar di banyak lokasi geografis. Data
nasabah sebuah bank misalnya, dipisah-pisah dan disimpan dilokasi yang sesuai dengan
keberadaan nasabah. Dengan pemanfaatan teknologi jaringan komputer, data yang
berada di suatu lokasi atau cabang, dapat juga diakses menjadi tersedia dan available
bagi lokasi atau cabang lain.

Kelengkapan (Completeness). Lengkap tidaknya data yang kita kelola dalam sebuah
basis data bersifat relatif baik terhadap kebutuhan pemakai maupun terhadap waktu.
Bila seorang pemakai sudah menganggap bahwa data yang dipelihara sudah lengkap,
maka pemakai yang lain belum tentu berpendapat sama. Atau yang sekarang dianggap
sudah lengkap belum tentu dimasa yang akan datang juga demikian. Dalam sebuah
basis data, disamping data kita juga harus menyimpan struktur, baik yang
mendefinisikan objek-objek dalam basis data maupun definisi detail dari tiap objek,
seperti struktur file atau tabel dan indeks. Untuk mengakomodasi kebutuhan
kelengkapan data yang semakin berkembang, maka kita tidak hanya dapat menambah
record-record data, tetapi juga dapat melakukan perubahan struktur dalam basis data,
baik dalam bentuk penambahan objek baru (tabel) atau dengan penambahan field-field
baru pada suatu tabel.

Keamanan (Security). Memang ada sejumlah sistem aplikasi pengelola basisdata yang
tidak menerapkan aspek keamanan dalam penggunaan basisdata. Tetapi untuk sistem
yang besar dan serius, aspek keamanan dapat diterapkan dengan ketat. Dengan begitu
kita dapat menentukan pemakai yang boleh menggunakan basisdata beserta objek-objek
didalamnya dan menentukan jenis-jenis operasi apa saja yang boleh dilakukannya.

Kebersamaan Pemakaian (Sharability). Pemakai basis data seringkali tidak terbatas


pada satu pemakai saja atau disatu lokasi saja atau oleh satu sistem aplikasi saja.
Pegawai dalam basis data kepegawaian misalnya dapat digunakan oleh banyak
pemakai, dari sejumlah departemen dalam perusahaan atau oleh banyak sistem, yaitu
sistem penggajian, sistem akuntansi, sistem inventori dan sebagainya. Basis data yang
dikelola oleh sistem aplikasi yang mendukung lingkungan multiuser akan dapat
memenuhi kebutuhan ini, tetapi tetap dengan menjaga dan menghimpun terhadap
munculnya persoalan baru seperti inkonsistensi data karena data yang sama diubah oleh
banyak pemakai pada saat yang bersamaan atau kondisi deadlock karena ada banyak
pemakai yang saling menunggu untuk menggunakan data.

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

PENERAPAN BASIS DATA


Hampir disemua aspek pemanfaatan perangkat komputer dalam sebuah organisasi ataupun
perusahaan senantiasa berhubungan dengan data. Perangkat komputer dalam suatu
organisasi atau perusahaan biasa digunakan untuk menjalankan fungsi Pengelolaan Sistem
Inforrnasi yang sudah menjadi keharusan demi untuk meningkatkan efisiensi, daya saing,
keakuratan, kecepatan operasional organisasi perusahaan. Basis data merupakan salah satu
komponen utama dalam setiap sistem informasi. Tidak ada sistem informasi yang bisa
dibuat atau dijalankan tanpa adanya basis data.
Secara lebih teknis dan nyata, bidang-bidang fungsional yang telah umum memanfaatkan
basis data demi efisiensi, akurasi dan kecepatan operasi antara lain adalah:

Kepegawaian, untuk berbagai perusahaan yang memiliki banyak pegawai.

Pergudangan (inventory), untuk perusahaan manufaktur pabrik, grosir (reseller), apotik


dan lain-lain.

Akuntansi, untuk berbagai perusahaan.

Reservasi, untuk hotel, pesawat, kereta api dan lain-lain.

Layanan Pelanggan (customer care), untuk perusahaan yang berhubungan dengan


banyak pelanggan (bank, konsultan).
Sedang bentuk-bentuk organisasi perusahaan yang memanfaatkan basis data sebagai

komponen sistem informasi dalam organisasi dan perusahaan dapat berupa:

Perbankan, dalam melakukan pengelolaan data nasabah, data tabungan, data pinjaman,
pembuatan laporan-laporan akuntansi, pelayanan informasi pada nasabah / calon
nasabah dan lain-lain.

Asuransi, dalam melakukan pengelolaan data nasabah / data pembayaran premi,


pemrosesan pengajuan klaim asuransi.

Rumah Sakit, dalam melakukan pengelolaan histori penyakit / pengobatan pasien,


menangani pembayaran perawatan dan lain-lain.

Produsen Barang, dalam melakukan pengelolaan data keluar-masuk barang (inventory)


dan lain-lain,

Industri Manufaktur, dalam membantu pengelolaan pesanan barang, mengelola data


karyawan.

Pendidikan / Sekolah, dalam melakukan pengelolaan data siswa, penjadwalan kegiatan


perkuliahan dan lain-lain.

Telekomunikasi, dalam melakukan pengelolaan data administrasi kabel / data

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

pelanggan, menangani gangguan dan lain-lain.


SISTEM BASIS DATA
Sistem adalah sebuah tatanan atau keterpaduan yang terdiri atas sejumlah komponen
fungsional dengan satuan fungsi atau tugas khusus yang saling berhubungan dan secara
bersama-sama bertujuan untuk memenuhi suatu proses dan pekerjaan tertentu. Sebuah
kendaraan dapat mewakili sebuah sistem yang terdiri atas komponen pemantik atau starter
untuk memulai pengapian, komponen pengapian untuk pembakaran BBM yang membuat
torak bekerja, komponen penggerak atau torak untuk menggerakkan roda, komponen
pengereman untuk memperlambat atau menghentikan gerakan torak, komponen perlistrikan
untuk mengaktifkan spedometer, lampu dan lain-lain yang secara bersama-sama
melaksanakan fungsi kendaraan secara umum, yakni sebagai sarana transportasi.
Basis data hanyalah sebuah objek yang pasif atau mati. Ia ada karena ada
pembuatnya. Ia tidak akan pernah berguna jika tidak ada pengelola atau penggeraknya.
Yang menjadi pengelola atau penggeraknya secara langsung adalah program aplikasi
(software). Gabungan keduanya, yaitu basis data dan pengelolanya menghasilkan sebuah
sistem. Karena itu, secara umum sebuah sistem basis data merupakan sistem yang terdiri
atas kumpulan file atau tabel yang saling berhubungan dalam sebuah basis data disebuah
sistem komputer dan sekumpulan program DBMS yang memungkinkan beberapa pemakai
dan atau program lain untuk mengakses dan memanipulasi file-file atau tabel-tabel tersebut.
Lebih jauh lagi, dalam sebuah sistem basis data, secara lengkap akan terdapat komponenkomponen utama sebagai berikut:
1. Perangkat Keras (Hardware).
2. Sistem Operasi (Operating System).
3. Basis Data (Database).
4. Sistem (Aplikasi/Perangkat Lunak), Pengelola Basis Data (DBM)
5. Pemakai (User).
6. Aplikasi (perangkat lunak) lain (bersifat opsional).
KOMPONEN SISTEM BASIS DATA
1. Perangkat Keras (Hardware)
Perangkat Keras yang biasanya terdapat dalam sebuah sistem adalah:

Komputer, 1 untuk sistem yang stand-alone atau lebih dari satu untuk sistem jaringan.

Media perangkat komunikasi untuk sistem jaringan).Memori sekunder yang on-line


(Harddisk)

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

10

Memori sekunder yang off-line (Tape atau Removable Disk) untuk keperluan backup.

2. Sistem Operasi (Operating System)


Secara sederhana, Sistem Operasi merupakan program yang mengaktifkan atau
memfungsikan sistem komputer, mengendalikan seluruh sumber daya (resource) dalam
komputer dan melakukan operasi-operasi dasar dalam komputer untuk melakukan operasi
I/O, pengelolaan file dan lain-lain. Sejumlah Sistem Operasi yang banyak digunakan seperti
adalah MSDOS, MS-Windows 3.1, MS Windows95, MS Windows98 untuk komputer
stand-alone atau untuk komputer client dalam sistem jaringan atau Novel Netware,
MSWindows NT, Unix dan Sun Solaris untuk komputer server dalam sistem Jaringan.
Program pengelola basis data hanya dapat aktif (running) jika Sistem Operasi yang
dikehendakinya sesuai telah aktif.
3. Basis Data (Database)
Sebuah sebuah sistem basis data dapat memiliki beberapa basis data. Setiap basis data dapat
berisi atau memiliki sejumlah objek basis data seperti file atau tabel, indeks dan lain-lain.
Di samping berisi atau menyimpan data, setiap basis data juga mengandung atau
menyimpan definisi struktur baik untuk basis data maupun objeknya secara detail.
4. Sistem Pengelola Basis Data (Database Management System)
Pengelolaan basis data secara fisik tidak dilakukan oleh pemakai secara langsung, tetapi
ditangani oleh sebuah Perangkat Lunak Sistem yang khusus atau spesifik. Perangkat lunak
inilah yang disebut DBMS yang akan menentukan bagaimana data diorganisasi, disimpan,
diubah dan diambil kembali. Ia juga menerapkan mekanisme pengamanan data, pemakaian
data secara bersama, pemaksaan keakuratan atau konsistensi.
Perangkat lunak yang termasuk DBMS seperti dbase III+, dbase IV, FoxBase, Rbase,
MS Access dan Borland-Paradox untuk kelas sederhana atau Borland-Interbase, MSSQLServer, CA-Open Ingres, Oracle, Informix dan Sybase untuk kelas kompleks/berat.
5. Pemakai (User)
Ada beberapa jenis atau tipe pemakai terhadap suatu sistem basis data dibedakan
berdasarkan cara mereka berinteraksi terhadap sistem :
1. Database User
2. Pemrogram Aplikasi
3. Administrator Basis Data
a. Database User / End User :

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

11

Pengguna aplikasi. Adalah orang yang mengoperasikan program aplikasi yang


dibuat oleh pemrogram aplikasi.

Pengguna interaktif. Adalah orang yang dapat memberikan perintah beraras tinggi
pada antarmuka basis data yang tersedia.

Pengguna Umum (End User/Naive User). Pemakai yang berinteraksi dengan sistem
basis data melalui pemanggilan satu program aplikasi permanen (executable
program) yang telah ditulis atau disediakan sebelumnya.

Pemakai Mahir (Casual User). Pemakai berpengalaman yang berinteraksi dengan


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

Programmer Aplikasi, Pemakai profesional komputer yang berinteraksi dengan


basis data melalui Manipulation Language (DML) yang disertakan (embedded)
dalam program yang ditulis dalam bahasa pemrograman induk seperti Pascal, Cobol
dan lain-lain. Program yang dihasilkan disebut program aplikasi, misalnya untuk
perbankan dan aplikasi inventory.

b. Pemrogram Aplikasi
Adalah orang yang membuat program aplikasi yang menggunakan basis data. Program
aplikasi yang dibuat tentu saja disesuaikan dengan kiebutuhan pengguna akhir.
c. Administrator Basis Data / Database Administrator
Setiap pengguna akan diberikan hak akses data secara tersendiri. Tidak semua pengguna
dapat menggunakan data yang sifatnya sangat sensitif. Penentuan hak akses disesuaikan
dengan wewenang pengguna dalam organisasi. DBA adalah orang yang bertanggung jawab
terhadap pengelolaan basis data, tugasnya adalah :
a. Mendefinisikan pola struktur basis data. Merencanakan dan merancang basis data.
b. Menentukan keamanan basis data. Berhubungan dengan keamanan sistem secara
keseluruhan.
c. Mendefinisikan struktur penyimpanan dan metode akses
d. Memodifikasi pola dan organisasi fisik
e. Memberikan hak akses kepada user
f. Memantau kinerja sistem
Secara periodik DBA memantau kinerja DBMS. Termasuk pemantauan waktu
tanggapan selama beban puncak. Informasi yang diperoleh dapat digunakan untuk
menentukan pengembangan sistem, baik software, hardware mapupun struktur data.
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

12

e. Merencanakan Backup dan Recovery.


Membuat panduan, prosedur serta standard untuk melakukan pencadangan data /
backup pada basis data. Juga masalah pemulihan basis data / recovery jika terjadi
kerusakan data pada sistem
f. Mengikuti perkembamngan produk
Baik perkembangan versi DBMS terbaru, tools dan perangkat pendukungnya sehingga
dapat menentukan dan memberikan usulan kepada organisasi untuk melakukan hal-hal
yang dipandang perlu.
Termasuk didalam Database administrator adalah User Khusus (Specialized User).
Pemakai yang menulis aplikasi basis data non konvensional, tetapi untuk keperluankeperluan khusus, seperti untuk aplikasi AI, Sistem Pakar, Pengolahan Citra dan lain-lain,
yang bisa saja menangani basis data dengan tanpa DBMS yang bersangkutan.
Untuk sebuah sistem basis data yang stand-alone, maka pada saat hanya ada satu
pemakai yang dapat bekerja. Sedang untuk basis data dalam jaringan, maka pada suatu saat
ada banyak pemakai yang dapat berhubungan atau menggunakan basis data yang sama.
Pilihan untuk stand-alone atau jaringan (multiuser) tergantung pada kebutuhan pemakai,
perangkat keras yang tersedia, sistem operasi yang digunakan serta DBMS yang dipilih.
6. Aplikasi Perangkat Lunak Lain
Aplikasi Perangkat Lunak lain ini bersifat opsional. Artinya, ada tidaknya tergantung pada
kebutuhan pemakai. DBMS yang digunakan lebih berperan dalam pengorganisasian data
dalam basis data, sementara bagi pemakai basis data khususnya yang menjadi end-user dapat dibuatkan atau disediakan program khusus lain untuk melaksanakan pengisian,
pengubahan dan pengambilan data. Program ini sudah disediakan bersama dengan DBMS
nya, ada juga yang harus dibuat sendiri dengan menggunakan aplikasi lain yang khusus
(development tools).
ABSTRAKSI DATA
Salah satu tujuan dari DBMS adalah untuk menyediakan fasilitas atau interface dalam
melihat dan menikmati data yang lebih ramah / user oriented kepada pemakai atau user.
Untuk itu, sistem tersebut akan menyembunyikan detail tentang bagaimana data disimpan
dan dipelihara. Karena itu, seringkali data yang terlihat oleh pemakai sebenarnya berbeda
dengan yang tersimpan secara fisik. Untuk mendukung kepraktisan, DBMS menyediakan
pandangan terhadap data bagi pengguna. DBMS berusaha menyembunyikan detail tentang

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

13

bagaimana data disimpan dan dipelihara. Namun demikian tentu saja hal ini dilakukan
dengan sedapat mungkin mengusahakan data agar dapat diakses secara efisien. Fungsi
utama sistem basisdata adalah agar pemakai mampu menyusun suatu pandangan abstraksi
data. Bayangan mengenai data tidak memperhatikan kondisi sesungguhnya bagaimana
suatu data masuk ke database, disimpan dalam disk, disektor mana, tetapi menyangkut
secara menyeluruh bagaiman data yang ada tersebut diabstraksikan atau digambarkan
menyerupai kondisi yang dihadapi oleh pemakai setiap harinya. Sistem yang sesungguhnya
tentang teknis bagaimana data disimpan dan dipelihara seakan disembunyikan
kerumitannya dan kemudian diungkapkan dalam bahasa dan gambar yang mudah
dimengerti oleh orang awam. Abstraksi data merupakan tingkatan level dalam melihat data
dalam sebuah sistem basis data.
Ada 3 level abstraksi data:
1. Level Fisik (Physical Level). Merupakan level terendah dalam abstraksi data, yang
menunjukkan bagaimana sesungguhnya suatu data disimpan. Pada level ini, pemakai
melihat data sebagai gabungan dari struktur dan datanya sendiri. User juga berkompeten
mengetahui bagaimana representasi fisik dari penyimpanan atau pengorganisasian data.
Pada level ini kita berurusan dengan data sebagai teks, angka atau bahkan melihatnya
sebagai himpunan bit data.
2. Level Logika / Konseptual (Conceptual Level). Merupakan level berikutnya dalam
abstraksi data yang menggambarkan data apa yang sebenarnya secara fungsional
disimpan dalam basis data dan hubungannya dengan data yang lain. Pemakai pada level
ini misalnya, mengetahui bahwa data pegawai disimpan atau direpresentasikan dalam
beberapa file atau tabel, seperti file pribadi, file pendidikan, file pekerjaan, file keluarga
dan sebagainya.
3. Level Penampakan (View Level). Merupakan level tertinggi dari abstraksi data yang
hanya menunjukkan sebagian dari basis data. Banyak user dalam sistem basis data tidak
akan terlibat (concern) dengan semua data dan informasi yang ada dan disimpan. Para
user umumnya hanya membutuhkan sebagian data atau informasi dalam basis data yang
kemunculannya dimata pemakai diatur oleh aplikasi end-user. Aplikasi ini juga yang
mengkonversi data asli atau fisik menjadi data bermakna logika pada pemakai.
Misalnya, data hari yang disimpan dalam bentuk kode, msialnya 1 untuk Senin, 2 untuk
Selasa dan seterusnya yang kemudian ditampilkan bukan dalam bentuk kodenya 1,2,3
dan seterusnya tapi sudah dalam bentuk nama harinya, yaitu Senin, Selasa, Rabu dan
seterusnya. Data yang dinikmati pemakai juga bahkan sama sekali berbeda dengan
representasi fisiknya, misalnya untuk data yang dapat divisualkan sebagai gambar, data

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

14

yang dapat diperdengarkan sebagai suara dan sebagainya. Data yang diperlihatkan juga
bisa saja tidak berasal dari hanya sebuah tabel tapi mewakili relasi antar tabel, tapi bagi
pemakai yang menggunakannya terasa sebagai satu kesatuan data yang kompak.
BAHASA BASIS DATA (DATABASE LANGUAGE)
DBMS merupakan perantara bagi pemakai dengan basis data dalam cara berinteraksi
berkomunikasi antara pemakai dengan basis data tersebut diatur dalam suatu bahasa khusus
yang ditetapkan perusahaan pembuat DBMS. Bahasa itu dapat kita sebut sebagai Basis
Data yang terdiri atas sejumlah perintah (statement) diforrnulasikan dan dapat diberikan
user dan dikenali atau diproses oleh DBMS untuk melakukan suatu aksi pekerjaan tertentu.
Contoh-contoh bahasa basis data adalah SQL, dbase, QUEL dan sebagainya. Sebuah
Bahasa Basis Data biasanya dapat dipilah ke dalam 2 bentuk yaitu :

Data Definition Language (DDL)

Data Manipulation Language (DML).

Query

1. Data Definition Language (DDL)


Struktur skema basis data yang menggambarkan atau mewakili desain data secara
keseluruhan dispesifikasikan dengan bahasa khusus disebut Data Definition Language
(DDL). Dengan bahasa inilah dapat membuat tabel baru, membuat indeks, mengubah label,
menentukan struktur penyimpanan tabel dan sebagainya. Hasil dari kompilasi peri DDL
adalah kumpulan label yang disimpan dalam file khusus yang disebut Kamus Data (Data
Dictionary). Kamus Data merupakan suatu metadata (superdata) yaitu data yang
mendeskripsikan data sesungguhnya. Kamus Data ini akan selalu ada dalam suatu operasi
basis data sebelum suatu file data yang sesungguhnya diakses.
2. Data Manipulation Language (DML)
Merupakan bentuk Bahasa Basis Data yang berguna untuk melaku manipulasi dan
pengambilan data pada suatu basis data. Manipulasi data dapat berupa penyisipan atau
penambahan data baru ke suatu basis data. Penghapusan data dari suatu basis data.
Pengubahan data di suatu basis data. Pada level fisik, kita harus mendefinisikan algorithma
yang memungkinkan pengaksesan yang efisien terhadap data. Pada level yang lebih tinggi
yang dipentingkan bukan hanya efisiensi akses, tetapi juga efisiensi interaksi manusia
(pemakai) dengan sistem kemudahan permintaan akses. Data Manipulation Language
(DML) merupakan bahasa yang bertujuan memudahkan pemakai untuk mengakses data
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

15

sebagaimana direpresentasikan oleh model data. Ada 2 jenis DML, yaitu:


a. Prosedural, yang mensyaratkan agar pemakai menentukan, data apa yang
diinginkan serta bagaimana cara mendapatkannya.
b. Non prosedural, yang membuat pemakai dapat menentukan data apa yang
diinginkan tanpa menyebutkan bagaimana cara mendapatkannya.
3.Query
Adalah pernyataan yang diajukan untuk mengambil informasi. Merupakan bagian dari
DML yang untuk pengambilan informasi disebut Query Language.
STRUKTUR SISTEM KESELURUHAN
Sebuah sistem pengelola basis data DBMS terbagi atas modul-modul yang masing-masing
memiliki tanggung jawab dalam membentuk struktur sistem keseluruhan. Beberapa fungsi
dalam sistem pengelola basis data mungkin telah disediakan oleh sistem operasi. Tetapi
dalam banyak hal, sistem operasi hanya menyediakan servis-servis dasar. Kelengkapan
fungsi atau modul antara DBMS yang satu dengan yang lain bisa berbeda, baik dari sisi
kualitas maupun kuantitasnya. DBMS sederhana seperti dbase III+ atau MS-Access
misalnya, tidak / kurang mengakomodasi pemakaian basis data oleh banyak pemakai.
Tetapi dengan DBMS semacam Oracle atau MS-SQL Server hal itu telah terakomodasi
dengan baik. Sebuah sistem pengelola basis data (DBMS) umumnya memiliki sejumlah
komponen fungsional (modul) seperti :

File Manager, yang mengelola alokasi ruang dalam disk dan struktur data yang dipakai
untuk merepresentasikan informasi yang tersimpan dalam disk. Sebenarnya Sistem
Operasi tempat di mana DBMS diaktifkan juga memiliki modul File Manager. Tetapi
File Manager di DBMS lebih difokuskan pada efisiensi dan efektivitas penyimpanan.

Database Manager, yang menyediakan interface antara data low-level yang ada di
basis data dengan program aplikasi dan query yang diberikan ke sistem.

Query Processor, yang menerjemahkan perintah-perintah da query language ke


perintah low-level yang dapat dimengerti database manager. Di samping itu, Query
Processor mentransformasikan permintaan user ke bentuk yang lebih efisien sehingga
query menjadi lebih efektif.

DML Precompiler, yang mengkonversi perintah DML yang ditambahkan dalam sebuah
program aplikasi ke pemanggilan proses normal dalam bahasa induk. Precompiler ini
akan berinteraksi dengan query processor

DDL Compiler, yang mengkonversi perintah DDL ke dalam sekumpulan tabel yang

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

16

mengandung metadata. Tabel-tabe kemudian disimpan dalam kamus data.


MODEL BASIS DATA
Model basis data menyatakan hubungan antar rekaman yang tersimpan didalam basis data.
Beberapa referensi menggunakan istilah struktur data logis untuk menyatakan keadaan ini.
Model dasar yang paling umum ada 3 macam, yaitu :
1. Herarki, jaringan dan relasional.
Model yang lebih baru dikembangkan disebut pascarelational. Beberapa pengembangan
diantaranya adalah merupakan pengembangan dari pendekatan relasional, sedangkan yang
lain menggunakan pendekatan yang sama sekali berbeda. Diantaranya adalah DBMS
deduktif, pakar, semantik, beorientasi objek dan DBMS relasional universal.
a. Model Herarki
Biasa disebut dengan model pohon, karena menyerupai pohon yang dibalik. Model
ini menggunakan pola hubungan orangtua-anak. Setiap simpul yang dapat
dinaytakan dengan lingkaran atau box akan menyatakan sekumpulan medan. Simpul
yang terhubung ke simpul pada level dibawahnya disebut orang tua. Setiap orangtua
bisa memiliki satu hubungan 1:1, atau beberapa anak (1:M) atau beberapa anak,
tetapi setiap anak hanya memiliki satu orang tua. Simpul yang dibawahi oleh simpul
orangtua disebut anak. Simpul orangtua yang tidak memiliki orangtua disebut akar.
Simpul yang tidak memiliki anak disebut daun. Hubungan antara anak dan orangtua
diosebut cabang.
b. Model Jaringan
Model jaringan distandarisasikan pada tahun 1971 oleh Data Base Task Group.
Maka disebut model DBTG. Model ini disebut model CODASYL (Conference on
Data System Language), karena DBTG adalah bagian dari CODASYL. Model ini
mempunyai model herarkis, dengan perbedaan suatu simpul anak (anggota) bisa
memiliki lebih dari satu orang tua (pemilik). Oleh karena sifatnya yang demikian,
maka model ini bisa menyatakan hubungan 1:1 (satu orang tua satu anak) dan 1:M
(satu orang tua banyak anak. Maupun N:M (beberapa anak bisa mempunyai
beberapa orangtua.
c. Model Relasional
Model relasional merupakan model yang paling sederhana sehingga mudah
digunakan dan dipahami oleh pengguna serta merupakan yang paling populer saat
ini. Model ini menggunakan sekumpulan tabel berdimensi 2 yang disebut relasi atau
tabel dengan masing-masing relasi tersusun atas tupel atau baris dan atribut. Relasi
dirancang sedemikian hingga dapat menghilangkan kemubadziran data dan

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

17

menggunakan kunci tamu untuk berhubungan denganrelasi lain.


NIM
1
2
3
NIM
1
1
2
2
3
3

Nama
Sandra
Dewa
Rama
KodeMK
AG
PDE
AG
PDE
AG
PDE

KodeMK
BD
PDE
AG

Nama
Basis Data
Pengolahan Data Elektronik
Pendidikan Agama

Nilai
A
B
A
B
A
B

Sifat pada suatu relasi adalah :


1. Tidak ada baris yang kembar
2. Urutan baris tidak penting
3. Setiap atribut mempunyai nama yang unik
4. Letak atribut mempunyai nilai tunggal dan jenisnya sama untuk semua baris.
Pada model relasional, jumlah baris suatu relasi disebut kardinalitas dan jumlah atribut
suatu relasi disebut derajad (degree) atau terkadang disebut arity. Relasi yang berderajad
satu atau hanya memiliki satu atribut disebut unary. Relasi yang berderajad dua disebut
binary dan relasi yang berderajad tiga disebut ternary. Relasi yang berderajad n disebut nary. Istilah lain yang terdapat pada model relasional adalah domain. Domain adalah
himpunan nilai yang berlaku bagi suatu atribut.
RELATIONAL DATA
Jika telah diketahui apa itu basis data dan segala sesuatu yang terkait dengannya, maka
tahapan berikutnya adalah melakukan perancangan basis data yang kemudian diikuti
dengan tahap penerapan atau implementasi basis data sesuai rancangan yang telah dibuat.
Di sisi lain, kita juga baru akan merasakan betapa pentingnya upaya perancangan yang
baik, jika kita sudah mengetahui dan bekerja dengan basis data. Pembahasan di bab ini
mencakup definisi tentang Basis Data Relasional sebagai model basis data yang paling
mudah untuk diterapkan, contoh-contoh penerapannya dan contoh-contoh operasi yang
dapat dilakukan terhadap basis data tersebut.

Basis Data Relasional


Model Basis Data Relasional sering pula disebut sebagai M Relasional atau Basis Data
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

18

Relasional. Model basis data ini diperkenalkan pertama kali oleh E.F Codd. Model Basis
Data menunjukkan suatu cara atau mekanisme yang digunakan untuk mengelola atau
mengorganisasi data secara fisik dalam memori sekunder yang akan berdampak pula
bagaimana kita mengelompokkan dan membentuk keseluruhan data terkait dalam sistem
yang sedang kita tinjau. Hingga saat ini, model basis data yang paling banyak digunakan
adalah Model Basis Data Relasional. Tentu saja ada model basis data yang lain, seperti
Model Basis Data Hirarki dan Basis Data Jaringan (Network). Kemudahan dalam
penerapan dan kemampuannya dalam mengakomodasi berbagai kebutuhan pengelolaan
basis data yang ada didunia (real world) merupakan alasan mengapa model ini lebih
populer diterapkan. Kemudahan merupakan sesuatu yang penting, karena disamping aspek
pemodelan yang digunakan, dalam lingkup pengelolaan basisdata yang juga menuntut
perhatian serius dari siapa saja yang berkecimpung dalam kegiatan itu.
Definisi Basis Data Relasional
Pada Model Relasional, basis data akan 'disebar' atau dipilah-pilah kedalam berbagai tabel
2 dimensi. Setiap tabel selalu terdiri atas lajur yang disebut dengan Baris Data
(Row/Record) dan lajur vertikal biasa disebut dengan Kolom (Column/Field). Di setiap
pertemuan Data dan Kolom itulah, item-item data satuan data terkecil ditempatkan. Dalam
kehidupan kita sehari-hari, Tabel merupakan bentuk n (alamiah) dalam menyatakan fakta /
data yang sering kita gunakan. Itulah sebabnya, model ini lebih mudah kita terapkan
ketimbang model data yang lain. Sebagaimana yang telah disebutkan, menerapkan sebuah
basis data yang terdiri atas sejumlah tabel saling berhubungan maka kita membutuhkan
sebuah perangkat lunak (software) yang memang dikhususkan untuk itu. Perangkat lunak
umum disebut Sistem Pengelola Basis Data (Database Manage SystenzIDBMS).
Keseluruhan contoh DBMS yang disebutkan tersebut, seperti dbase III+, MS-Access,
Borland Paradox hingga Oracle merupakan DBMS yang diperuntukkan untuk mengakses
basis data. Prinsip perangkat lunak tersebut hampir sama. Perbedaannya terletak pada
teknis pemakaian dan kelengkapan fungsi (feature) yang dimiliki masing-masing perangkat
lunak. Agar dapat memberi pemahaman yang lebih baik dan nyata.
Basis Data MDK
Untuk mengilustrasikan Model Data Relasional secara lebih nyata, kita ambil sebuah
contoh basis data sederhana yang berkaitan dengan pendidikan akademik perguruan tinggi.
Basis Data ini terdiri atas tiga buah Tabel yaitu Mahasiswa, Dosen dan Kuliah kita singkat
saja dengan MDK. Yang kita ketahui, data itu sudah tersedia dalam bentuk cetakan /

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

19

hardcopy dan siap diimplementasikan. Sebelum penerapan basis data dapat dilakukan
dengan menggunakan salah satu perangkat lunak DBMS yang ada, maka lebih dahulu harus
diketahui contoh data yang akan digunakan. Contoh data ini harus dianalisis untuk
mengetahui karakteristik setiap tabel data. Pengetahuan tentang karakteristik ini penting,
karena hal itu akan dijadikan dasar untuk penetapan struktur setiap tabel. Di dalam
penerapan basis data, penetapan struktur tersebut harus dilakukan sebelum penyimpanan
datanya dapat dilakukan. Berikut adalah contoh data yang akan kita gunakan tentu saja data
yang ada dalam contoh ini tidak menggambarkan kenyataan yang sesungguhnya, tetapi itu
dirasa cukup sebagai bahan untuk pembahasan berikutnya:
Data Mahasiswa dengan isi sebagai berikut:
NIM
J.990001
J.990002
J.990003

Nama
DEDY ARYANTO
RIRIN KURNIAWATI
SIGIT HERMANTO

Kota
Solo
Yogyakarta
Semarang

Telepon
25189
25117
519858

EMail
dedy@unsa.ac.id
ririn@unsa.ac.id
sigit@unsa.ac.id

Dengan data ini dapat kita ketahui hal-hal karakteristik sebagal berikut:

Data Mahasiswa tersebut memiliki 5 buah kolom data.

Kolom pertama berisi data angka tetapi tidak menunjukkan suatu jumlah disebut alfa numerik dengan
lebar (banyaknya karakter) tetap, yaitu 8 karakter/digit.

Kolom kedua berisi data karakter/string dengan lebar maksimum 30 karakter. Angka 30 ini merupakan
perkiraan bahwa untuk nama mahasiswa yang sudah ada dan nama mahasiswa lain menyusul untuk
ditambahkan, tidak ada yang melebihi karakter. Akan tetapi jika temyata ada mahasiswa yang nama
melebihi 30 karakter, maka nama tersebut harus kita singkat dapat tertampung.

Kolom ketiga berisi data karakter/string dengan lebar maksi 15 karakter.

Kolom keempat berisi data nomor telepon

Kolom kelima berisi data alamat email mahasiswa

Data Dosen dengan isi sebagai berikut:


Kode

JIBA001
JICC002
JLD003

Nama

Bambang,S.Kom
Cicilia Puji Rahayu, S.Si
Didik Nugroho, S.Kom

Kota

Solo
Yogyakarta
Semarang

Telepon

25189
25117
519858

EMail

bambang@unsa.ac.id
cicilia@unsa.ac.id
didik@unsa.ac.id

Dengan data ini dapat kita ketahui hal-hal (karakteristik) berikut:

Data Dosen memiliki 5 buah kolom data.

Kolom pertama berisi data kode dosen dengan lebar (banyaknya karakter) tetap, yaitu 8
karakter/digit.

Kolom kedua berisi data karakter/string dengan lebar maksimum 30 karakter. Angka 30
ini merupakan perkiraan bahwa untuk nama dosen yang sudah ada dan nama mahasiswa

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

20

lain menyusul untuk ditambahkan, tidak ada yang melebi karakter. Akan tetapi jika
ternyata ada dosen yang namanya melebihi 30 karakter, maka nama tersebut harus kita
singkat dapat tertampung.

Kolom ketiga berisi data karakter/string dengan lebar maksi 15 karakter.

Kolom keempat berisi data nomor telepon

Kolom kelima berisi data alamat email dosen

Data Mata Kuliah dengan isi sebagai berikut:


KodeMK
J2101NU
J2102NU
J3305ND

NmMK
Pendidikan Pancasila
Pendidikan Agama
Sistem Berkas

Dengan data ini dapat kita ketahui hal-hal (karakteristik) seberikut:

Data Kuliah di atas memiliki 2 buah kolom data.

Kolom pertama berisi data karakter/string dengan lebar yaitu 7 karakter

Kolom kedua berisi data karakter/string dengan lebar maksi 30 karakter.

Berangkat dari karakteristik masing-masing kelompok data diatas, maka kita dapat menetapkan
struktur masing-masinu tabel. Secara minimal, yang harus ditentukan dalam struktur tabel adalah
Nama kolom (field), Tipe data, Lebar (banyaknya karakter/digit maksimum yang dapat

ditampung).
Untuk nama kolom (field) biasanya disesuaikan dengan nama kolom dari contoh data,
tetapi penamaan itu harus diubah karena panjang nama kolom dalam DBMS biasanya
dibatasi, pembatasan ini berbeda antar masing-masing DBMS dan harus dinyatakan dalam
1 kata tidak boleh menggunakan spasi atau tanda minus, tetapi masih boleh menggunakan
tanda underscore. Berangkat dari karakteristik yang dapat kita simpulkan dari fakta yang
ada pada masing-masing data, struktur dari ketiga Tabel dalam basis data MDK yang dapat
kita tentukan adalah sebagai berikut:
Tabel Mahasiswa dengan struktur sebagai berikut :
Nama Berkas : Maha.DBF
Fungsi : Menampung data mahasiswa
Medan Kunci : NIM
Jumlah Medan: 5
Panjang Rekaman
:
No
1
2

Nama Medan
NIM
Nama

Tipe
K
K

Lebar Keterangan
8
NIM
20
Nama

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

21

3
4
5

Kota
Telepon
EMail

K
K
K

15
11
15

Kota Asal
Nomor Telepon
Alamat EMail

Tabel Dosen dengan struktur sebagai berikut :


Nama Berkas : Dosen.DBF
Fungsi : Menampung data Dosen
Medan Kunci : KdDosen
Jumlah Medan: 5
Panjang Rekaman
:
No
1
2
3
4
5

Nama Medan
KdDosen
Nama
Kota
Telepon
Email

Tipe
K
K
K
K
K

Lebar
8
20
15
11
15

Keterangan
Kode Dosen
Nama Dosen
Kota Asal
Nomor Telepon
Alamat EMail

Tabel Mata Kuliah dengan struktur sebagai berikut :


Nama Berkas : MK.DBF
Fungsi : Menampung data matakuliah
Medan Kunci : KdMK
Jumlah Medan: 2
Panjang Rekaman
:
No
1
2

Nama Medan
KodeMK
NmMK

Tipe
K
K

Lebar
7
20

Keterangan
Kode Mata Kuliah
Nama Mata Kuliah

Berikut adalah contoh penerapan struktur tersebut (khusus untuk tabel mahasiswa dan
kuliah saja) derngan menggunakan beberapa perangkat lunak :

Struktur Tabel dengan DBU CA Clipper

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

22

Struktur Tabel MS Acces


Dari beberapa tabel diatas dapat kita lihat adanya sedikit perbedaan baik disisi tampilan,
cara pemakaian maupun kelengkapan karakteristik (properti) yang ada pada masing-masing
DBMS. Pada DBU CA Clipper misalnya, tidak ada properti yang mendefinisikan apakah
suatu field boleh kosong atau tidak. Sedang pada MS-Access properti itu disediakan. pada
MS-Access dinyatakan dengan mengisi 'Yes' pada properti itu 'Required'. Langkah
berikutnya adalah melakukan pengisian data ke masing-masing tabel yang strukturnya telah
disiapkan atau dibuat. Berikut adalah upaya dan hasil pengisian data yang telali dilakukan
untuk masing-masing tabel dan DBMS:

Pengisian Data Pada CA Clipper

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

23

Pengisian Data pada MS Acces


Operasi dan Bahasa Basis Data
Di samping melakukan operasi penulisan penambahan data ke masing-masing tabel yang
strukturnya telah disiapkan, operasi-operasi lain yang dapat kita lakukan adalah:

Menampilkan data(query).

Pengubahan data (update / edit).

Penghapusan data (delete).

Cara atau Teknis penerapan operasi-operasi basis data tersebut sangat tergantung dari
DBMS yang digunakan. Tetapi secara umum ada dua macam cara untuk menjalankan
operasi-operasi basis data, yaitu:
1. Menjalankan program khusus untuk melakukan operasi basis data secara
interaktif
Program semacam ini umumnya disediakan oleh setiap DBMS untuk mempermudah
pemakai (user) dalam melakukan operasi-operasi basis data. Kemudahan tersebut
berbentuk penyediaan menu untuk DBMS yang berbasis teks dan bahkan ditambah dengan
pemanfaatan perangkat mouse untuk DBMS yang berbasis grafis. DBMS semacam MSAccess dapat menunjukkan hal itu.
,vdw dua
2. Menggunakan bahasa basis data (Data Manipulation Language)
Dengan bahasa basis data, pemakai harus menuliskan perintah-perintah khusus untuk
melakukan operasi-operasi basis data. Bahasa dalam basis data tersebut ada yang memang
berlaku khusus untuk DBMS seperti bahasa dbase untuk dbase III+ dan Foxbase, Quel
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

24

untuk CA-Open Ingres, tetapi ada pula bahasa basis data yang sudah menjadi standar
seperti SQL untuk berbagai MS-SQL Server, Oracle, CA-Open Ingres, dll. Pada bab ini
juga ditunjukkan sedikit contoh penggunaan bahasa basis data. Khusus untuk bahasa SQL
yang telah menjadi bahasa basis data standar pada sejumlah DBMS.
RELASI ANTAR TABEL
Salah satu definisi basis data menyebutkan bahwa basis data terdiri atas tabel-tabel yang
saling berhubungan. Secara intuitif data dosen, mahasiswa dan kuliah (DMK) memang
terasa berhubungan, tetapi dari struktur dan data yang terdapat pada ketiga tabel yang telah
digambarkan diatas, keterhubungan (relasi) tersebut tidak terlihat secara fisik/nyata. Karena
itu, representasi struktur dan data dari ketiga tabel tersebut belumlah mencukupi untuk
dinyatakan sebagai sebuah basis data.
Dengan demikian, untuk membentuk sebuah basis data, kita harus melengkapi
ketiga tabel DMK itu dengan tabel lain yang merepresentasikan keterhubungan (relasi)
antar ketiganya. Berikut adalah data tambahan yang, kita butuhkan untuk menunjukkan
adanya keterhubunuan (relasi) antar tabel-tabel DMK tersebut:
Data Nilai dengan data sebagai berikut:
(Dr. Umar Hakim merigajar
NIM
J.990001
J.990002
J.990003
J.990001
J.990002
J.991001

Nama
DEDY ARYANTO
RIRIN KURNIAWATI
SIGIT HERMANTO
DEDY ARYANTO
RIRIN KURNIAWATI
SUSILOWATI

Matakuliah
Struktur Data
Struktur Data
Pancasila
Basis Data
Basis Data

Nilai
3.7
4
4
3.5
4

Yang dapat disimpulkan dari data Nilai tersebut adalah:

Data Nilai merepresentasikan adanya relasi antara data, Mahasiswa dengan data
Kuliah untuk menunjukkan mata kuliah yang diambil / diikuti mahasiswa dan
indeks nilai yang diperoleh mahasiswa untuk mata kuliah yang diikutinya.

Seorang mahasiswa dapat mengambil atau mengikuti beberapa mata kuliah atau
tidak mengikuti kuliah apapun misalnya mahasiswa, bernama Dedy Aryanto
mengambil atau mengikuti 2 mata kuliah dan mahasiswa bernama Susilowati yang
tidak terlihat menunjukkan ia tidak mengikuti kuliah apapun.

Satu mata kuliah dapat diikuti oleh beberapa mahasiswa misalnya mata kuliah
Struktur Data diikuti 2 mahasiswa, Basis Data diikuti 3 mahasiswa dan seterusnya,

5 mata kuliah sudah mempunyai data indeks nilai dan ada mata kuliah Basis Data.

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

25

Tabel Jadwal dengan data sebagai berikut :


Matakuliah
Struktur Data
PDE
Pancasila
Basis Data

Waktu
Senin, 08.00
Selasa, 08.00
Rabu, 08.00
Kamis,08.00

Ruang
A
B
A
B

Dosen
Bambang, S.Kom
Emi, Amd
Drs. Bekti
Titi, S.Kom

Kesimpulannya:

Data jadwal diatas merepresentasikan adanya relasi antara data kuliah denagnd ata
dosen untuk menunjukkan nama dosen yang mengajar setiap mata kuliah ditambah
dengan data waktu dan tempat pelaksanaan perkuliahanynya.

Setiap mata kuliah hanya dapat diajarkan oleh seorang dosen, tetapi seorang dosen
boleh mengajar lebih dari satu matakuliah, tentunya waktu dan ruangnya berbeda.

Tanpa memperhitungkan masalah efisiensi data tambahan diatas

dapat segera

diimplekmentrasikan. Struktur dari kjedua tabel tambahan tersebut adalah :


Nama Berkas : Maha.DBF
Fungsi : Menampung data mahasiswa
Medan Kunci : MK
Jumlah Medan: 4
Panjang Rekaman
:
Medan
MK
NIM
Nama
Nilai

Tipe
C
C
C
N

Lebar
30
8
30
3

Keterangan
Menampung data matakuliah
Menyimpan data NIM
Nama Mahasiswa
Nilai

Tabel Jadwal
Nama Berkas : Maha.DBF
Fungsi : Menampung data jadwal
Medan Kunci : NIM
Jumlah Medan: 4
Panjang Rekaman
:
Medan
MK
Waktu
Ruang
Dosen

Tipe
C
C
C
C

Lebar
30
8
30
3

Keterangan
Menampung data matakuliah
Menyimpan data NIM
Nama Mahasiswa
Nilai

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

26

Dengan adanya kedua tabel tambahan yang menunjukkan relasi antar tabel DMK
sebelumnya, maka syarat minimal sebuah basis data telah terpenuhi. Tetapi sekali lagi perlu
diperhatikan, persoalan utama dalam penerapan basis data bukanlah agar data yang kita
miliki dapat segera kita simpan. Yang paling penting untuk dipikirkan justru bagaimana
agar operasi-operasi selanjutnya (pencarian data, perubahan data hingga penghapusan data)
dapat kita lakukan dengan cepat dan mudah.
Basis Data Yang Baik
Kelima buah tabel DMK ditambah tabel Nilai dan tabel Jadwal kendati telah membentuk
sebuah basis data, perlu dianalisis lebih jauh dari berbagai aspek seperti efisiensi tempat
penyimpanan data, integritas data (redundansi data yang minimal), kecepatan pemrosesan,
kemudahan operasi basis data dll. Jika aspek-aspek tersebut telah dipertimbangkan dengan
baik, maka kita tidak hanya sekedar membentuk basis data, tapi lebih jauh lagi akan dapat
melahirkan sebuah basis data yang baik. Berikut adalah sejumlah uraian yang menunjukkan
inefisiensi basis data perkuliahan yang berisi kelima tabel tersebut:

Bisa saja terjadi ada lebih dari 1 dosen dengan nama termasuk gelarnya yang sama.
Misalnya kita tambahkan data baru di tabel Dosen dengan nama dosen Ir. Taufik
Ismail yang beralamat di Jl Rukun No. 15, Depok 40115'. Dengan tambahan data
tersebut, maka dari tabel Dosen kita dapat mengetahui bahwa ada 2 orang dosen,
dengan nama yang sama tapi berbeda tempat tinggal. Lalu coba kita beranjak ke
tabel Jadwal, maka kita akan mendapatkan adanya ambiguitas (ketidakpastian).
Ambigutitas terjadi pada jadual mata kuliah 'Matematika I' yang

diajarkan oleh

dosen bernama 'It. Taufi Ismail'. Nah, 'Ir. Taufik Ismail' yang manakah yang di
Bogor atau yang di 'Depok' yang sebenarnya mengajar mata kuliah tersebut.

Pada tabel Mahasiswa kita dapat mengetahui nama mahasiswa melalui data NIM
nya. Karena itu, penyertaan data nama mahasiswa pada tabel Nilai menjadi tidak
praktis/efisien. Redundansi data yang tidak perlu (boros) terjadi pada data nama
mahasiswa ini. Jika kolom data nama mahasiswa ini tidak disertakan, kita masih
tetap dapat mengetahui nama mahasiswa yang mengambil/mengikuti mata kuliah
tertentu dengan mengacu ke tabel Mahasiswa.

Jika kita melakukan pengubahan terhadap nama mata kuliah (baik karena alasan
perbaikan kesalahan atau memang adanya perubahan data, maka perubahan ini
harus diikuti juga dengan perubahan tabel lain. Misalnya mata kuliah 'Basis Data'
berubah menjadi 'Basis Data Dasar', maka kita juga harus melakukan hal yang sama
ke tabel Nilai dan tabel Jadual. Jika penjalaran perubahan tidak dilakukan maka

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

27

konsistensi data antar tabel menjadi terganggu. Tapi jika dilakukan apalagi jika
sering dilakukan, maka perubahan semacam ini tentu menjadi tidak praktis.

Pada tabel Jadual, bagaimanakah kita menyatakan struktur untuk kolom Waktu
perkuliahan? Apakah dengan sebuah kolom bertipe karakter/string dengan lebar
kolom 30 karakter? Jika dinyatakan dalam sebuah kolom, apa yang terjadi jika
sebuah mata kuliah yang waktu perkuliahannya 2 kali dalam seminggu ternyata
dilaksanakan pada tempat yang berbeda?

Alternatif 1 (lebar kolom waktu dan tempat diperlebar) :


Matakuliah
Struktur Data

PDE
Pancasila
Basis Data

Waktu
Senin, 08.00

Ruang
A

Dosen
Bambang, S.Kom

Kamis 08.00
Selasa, 08.00

B
B

Emi, Amd

Jumat 08.00

A
A

Drs. Bekti

B
B

Titi, S.Kom

Rabu, 08.00
Kamis,08.00

Kelemahan pada alternatif ini adalah lebar kolom untuk waktu dan tempat akan mubadzir
bagi matakuliah yang dilaksanakan 1 kali / minggu dan dapat mempersulit operasi
pengubahan data jika mujalnya saja ingin mengubah waktu kuliah yang kedua sedang
waktu pertama tetap.
Alternatif 2 (Matakuliah yang 2 kali seminggu dinyatakan 2 baris):
Matakuliah
Struktur Data
Struktur Data
PDE
PDE
Pancasila
Basis Data

Waktu
Senin, 08.00
Kamis 08.00
Selasa, 08.00
Jumat 08.00
Rabu, 08.00
Kamis,08.00

Ruang
A
B
B
A
A
B

Dosen
Bambang, S.Kom
Bambang, S.Kom
Emi, Amd
Emi, Amd
Drs. Bekti
Titi, S.Kom

Kelemahan pada alternatif ini adalah nama dosen akan disimpan berulang untuk matakuliah
yang dilaksanakan 2 kali seminggu.
Alternatif 3 (Matakuliah yang 2 kali seminggu diakomodasikan dalam kolom
terpisah):
Matakuliah
Struktur Data
PDE
Pancasila
Basis Data

Waktu1
Senin, 08.00
Selasa, 08.00
Rabu, 08.00
Kamis,08.00

Waktu2
Kamis 08.00
Jumat 08.00
Rabu, 08.00
Kamis,08.00

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

Ruang
A
B
A
B

Ruang2
A
B
A
B

Dosen
Bambang, S.Kom
Emi, Amd
Drs. Bekti
Titi, S.Kom

28

Kelemahan alternatif ini adalah kolom waktu2 dan tempat2 akan menjadi mubazir untuk
matakuliah yang dilaksanakan hanya 1 kali seminggu. Yang manakah dari ketiga
alternatif ini yang paling efisien ? atau adakah alternatif lain yang lebih baik ? Dengan
uraian diatas maka pembentukan basis data yang baik tentu saja menjadi sangat
penting. Basis data perkuliahan dengan struktur dan data yang disajikan baru sederhana
saja, maka kebutuhan data yang baik belumterlalu mendesak.
Pembentukan basis data yang baik dan efisien sendiri sebagai sebuah hasil
perancangan yang matang akan memberikan sejumlah karakteristik dan keuntungan seperti:

Struktur basis data, yaitu tabel dan relasi antar tabel yang lebih kompak

Struktur masing-masing tabel yang lebih efisien dan sistematis

Kebutuhan ruang penyimpanann data yang lebih efisien

Semakin kecil ukuran trabel maka akan makin cepat operasi basis data yang
dilakukan

Efisiensi diutandai dengan redundansi data yang optimal

Tidak ada ambiguitas data disemua tabel dalam basis data

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

29

PERANCANGAN BASIS DATA


Diawali dengan perancangan basis data secara konseptual yang merupakan upaya membuat
model yang masih bersifat konsep. Perancangan basis data secara logis. Meruapakn tahapan
untuk memetakan model konseptual kemodel basis data yang akan dipakai (model
relasional, herarki atau jaringan). Namun sebagaimana halnya perancangan basis data
secara konseptual, perancangan ini tidak tergantung pada DBMS yang dipkai. Itulah
makanya perancangan basis data secara logis terkadang disebut pemetaan model data.
Perancangan data secara fisik merupakan tahapan menuangkan perancangan basis data
bersifat logis menjadi basis data fisik yang tersimpa pada media penyimpanan eksternal
yang spesifik terhadap DBMS yang dipakai. Untuk memahami kedua tahapan perancangan
basis data tersebut, perlu kiranya mengenal daur hidup pengembangan sistem yang biasa
disebut SDLC / System Development Life Cycle secara utuh. Hal ini disebabkan
perancangan basis data hanya merupakan bagian dari tahapan perancangan sistem dan
tahapan perancangan sistem sendiri merupakan salah satu dari sejumlah tahapan pada daur
hidup pengembangan sistem.
PENGEMBANGAN SISTEM
Pengembanmgan sistem terdiri atas sederetan kegiatan yang dapat dikelompokkan menjadi
beberapa tahapan. Ada berbagai pembagian tahapan dalam pengembangan sistem, yaitu :

Metode waterfall atau air terjun yang membagi daur hidup pengembangan sistem
menjadi 6 tahapan, yaitu konsepsi, pendahukuan, analisis, perancangan,
implementasi dan pengujian.

McLeod mengemukakan 4 tahapan, yaitu perencanaan, analisis, perancangan dan


implementasi

Fabbri dan Schab membaginya menjadi 5 tahapan, yaitu studi kelayakan, rencana
pendahuluan, analisis sistem, perancangan sistem dan implementasi sistem

1. Tahapan Studi Kelayakan


Pada tahapan ini identifikasi terhadap kebutuhan sistem baru mulai dilakukan. Identifikasi
tidak hanya didasarkan oleh kebutuhan baru yang dikehendaki oleh manajemen yang
selama ini belum terpenuhi. Tetapi juga harus memperhatikan kebutuhan pada sistem yang
sudah ada, baik sistem manual maupun sistem otomatisasi.

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

30

Hasil tahapan ini berupa daftar kebutuhan, perkiraan biaya untuk membuat sistem baru dan
juga solusi yang dikehendaki. Perkiraan biaya antara lain didasarkan oleh DBMS yang
digunakan dan juga komputer yang dipakai.
2. Tahapan Rencana Pendahukuan
Tahapan pendahuluan menentukan lingkup proyek atau sistem yang akan ditangani. Hal ini
digunakan untuk menentukan jadwal proyek. Adapun lingkup sistem yang ditangani
dijabarkan dalam bentuk DFD konteks atau diagram konteks. DFD (Data Flow Diagram)
diistilahkan kedalam bahasa Indonesia menjadi Diagram Aliran Data merupakan alat yang
biasa dipakai untuk mendokumentasikan proses didalam sistem. DAD menekankan pada
fungsi-fungsi didalam sistem, cara mengguankan informasi yang tersimpan dan
pemindahan informasi antarfungsi didalam sistem. DAD konteks adalah DAD yang
memperhatikan sistem sebagai sebuah proses. Tujuannya adalah memberikan pandangan
umum sistem. DAD konteks memperlihatkan sebuah proses yang berinteraksi dengan
lingkungannya. Ada fihak luar atau lingkungannya yang memberi masukan dan ada fihak
yang menerima keluaran sistem. Dalam hal ini fihak luar (sering disebut terminator) dapat
berupa sistem lain, suatu perangkat keras, orang atau organisasi.
TAHAPAN ANALISIS SISTEM
Pada tahapan ini analisis sistem, yaitu orang yang bertanggung jawab terhadap
pengembangan sistem secara menyeluruh sering berdialog dengan pengguna untuk
memperoleh informasi detail kebutuhan pengguna. Pengumpulan kebutuhan pengguna
biasa dilakukan melalui interview, observasi dan kuisoner. Hasil yang didapatkan dipakai
sebagai bahan untuk menyusun DAD untuk sistem baru. Untuk memperinci DAD, itemitem yang terdapat pada aliran data yang biasa digambarkan dengan tanda panah dan garis
dan juga terdapat pada penyimpanan data dijabarkan dalam bentuk kamus data. Kamus data
adalah deskripsi formal mengenai seluruh elemen yang tercakup dalam DAD. Pada tahapan
perancangan, elemen pada kamus data yang menjadi bahan untuk menyusun basis data.
TAHAPAN PERANCANGAN SISTEM
Tediri dari perancagan basis data dan perancangan proses. Perancangan basis data
merupakan langkah untuk menentukan basis data yang diharapkan dapat mewakili seluruh
kebutuhan pengguna. Penyusunan pengguna data ini berlandaskan kamus aliran data yang
telah dibuat pada tahapan sebelumnya. Perancangan basis data secara konseptual, logis dan

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

31

perancangan basis data secara fisik. Perancangan basis data secara konseptual terdiri atas
langkah berikut :
1. Penentuan entitas pada basis data
2. Pendefinisian hubungan antar entitas
3. Penerjemahan hubungan kedalam entitas
MERANCANG MODEL BASIS DATA KONSEPTUAL
Tugas seorang database administrator adalah merancang model basis data konseptual.
Model konseptual bukanlah pendekatan proses informasi seorang programmer aplikasi,
tetapi merupakan kombinasi beberapa cara untuk memproses data untuk beberapa aplikasi.
Model konseptual tidak tergantung pada aplikasi individual, DBMS yang digunakan
perangkat keras atau pada phisikal model. Pada perancangan model konseptual penekanan
tinjauan dilakukan pada struktur data dan relasi antar file. Tidaklah perlu dipikirkan tentang
terapan dan operasi yang akan dilakukan pada basis data. Pendekatan yang dilakuakan pada
perancangan model konseptual adalah menggunakan model data relasional. Ada dua teknik,
yaitu menggunakan teknik normalisasi dan entity relationship.
NORMALISASI DATA
Perancangan basis data seringkali diasosiasikan dengan pembuatan Entity-Relationship
(model E-R), dimana kelompok-kelompok data relasi antar kelompok data tersebut
diwujudkan dalam bentuk diagram, Hal itu tidak salah, karena model memang merupakan
representasi nyata dari sebuah perancangan. Normalisasi sendiri merupakan cara
pendekatan lain dalam membangun desain logik basis data relasional yang tidak secara
langsung berkaitan dengan model data, tetapi dengan menerapkan sejumlah aturan dan
kriteria standar untuk menghasilkan struktur yang normal. Namun demikian, dalam
pelaksanaannya desain lojik basis data relasionsip yang didasari oleh transformasi secara
hati-hati dari model E-R ke bentuk fisik akan menghasilkan basis data yang mirip.
Dalam pendekatan Normalisasi, perancang/desainer basis data bertitik tolak dari
situasi yang nyata. Ia telah memiliki item-item data yang siap ditempatkan dalam baris dan
kolom pada tabel-tabel relasional. Demikian juga dengan sejumlah aturan tentang
keterhubungan antara item-item data tersebut. Sementara pendekatan kedua, dengan
langsung membuat model data lebih tepat dilakukan jika yang telah diketahui baru prinsipprinsip sistem secara keseluruhan. Cukup sering terjadi, kedua pendekatan ini dilakukan
bersama-sama, berganti-ganti. Dari fakta yang telah kita miliki, kita takukan Normalisasi.
Untuk kepentingan evaluasi dan dokumentasi, hasil Normalisasi kita wujudkan dalam
sebuah model data. Model data yang sudah jadi tersebut bisa saja dimodifikasi dengan
pertimbangan tertentu. Hasil modifikasinya kemudian kita implementasikan dalam bentuk
sejumlah struktur tabel dalam sebuah basis data. Struktur ini dapat kita uji kembali dengan
menerapkan aturan-aturan Normalisasi, hingga akhirnya kita peroleh sebuah struktur basis
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

32

data yang benar-benar efektif dan efisien. Begitulah, kedua pendekatan ini dapat saling
memperkuat satu sama lain.
Diasumsikan bahwa kita telah memiliki item-item data dan pengetahuan yang
memadai untuk dijadikan dasar bagi perancangan basis data yang baik. Maka fokus utama
pembahasan kita adalah penerapan Normalisasi basis data terhadap fakta yang telah
tersedia tersebut. Dalam uraian tentang Normalisasi basis data, kita akan banyak
menggunakan istilah-istilah baru seperti Atribut, Key, Domain dan Ketergantungan
Fungsional. Karena itu, sebelum masuk lebih jauh ke pembahasan tersebut, istilah-istilah
tersebut akan dijelaskan lebih dahulu.
ANOMALI
Anomali adalah proses pada basis data yang memberikan efek samping yang tidak
diharapkan misalnya ketidakkonsistenan data atau membuat sesuatu data menjadi hilang
ketika data lain dihapus. Yang terdiri dari peremajaan, penghapusan dan penyisipan.
Anomali Peremajaan
Anomali ini terjadi jika terjadi pengubahan pada sejumlah data yang mubadzir tetapi tidak
seluruhnya diubah. Misalnya saja terdapat relasi Pesanan_Beli yang mengandung data
pemasok dan kota yang menyatakan lokasi pemasok, barang dan jumlah yang menyatakan
nama barang dan jumlah barang yang dipesan.
Anomali Penyisipan
Terjadi pada saat penambahan hendak dilakukan ternyata ada elemen data yang masih
kosong dan elemen data tersebut justru menjadi kunci.
Anomali Penghapusan
Terjadi jika suatu baris yang tak terpakai dihapus dan sebagai akibatnya terdapat data lain
yang hilang. Dengan mengambil contoh relasi kursus, apa yang terjadi seandainya data
bahwa siswa dengan identitas 20 yang mengambil kursus bahasa Jepang dihapus. Data
yang menyatakan bahwa biaya kursus Jepang sebesar Rp 65.000 juga akan ikut terhapus.
Dependensi (Ketergantungan)
Dependensi merupakan konsep yang mendasari normalisasi. Dependensi menjelaskan
hubungan antar atribut atau secara lebih khusus menjelaskan nilai suatu atribut yang
menentukan

nilai

atribut

lainnya.

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

Dependensi

ini

kelak

menjadi

acuan

33

bagi

pendekomposisian data kedalam bentuk yang paling efisien. Macam dependensi adalah :
dependensi fungsional, dependensi fungsional sepenuhnya, dependensi total dan
dependensi transitif.
Dependensi Fungsional
Adalah macam dependensi yang banyak diulas pada literatur basis data. Didefinisikan
sbagai berikut : Suatu atribut Y mempunyai dependensi fungsional terhadap atribut X jika
dan hanya jika setiap nilai X berhubungan dengan sebuah nilai Y. Dituangkan dalam bentuk
notasi sebagai berikut :
X Y
Dibaca X secara fungsional menentukan Y atau terkadang cukup dibaca X panah Y
Sebagai contoh terdapat relasi Pesanan_Jual yang dinotasikan dengan
Pesanan_Jual (Pembeli, Kota, Barang, Jumlah)
yang artinya bahwa relasi Pesanan_Jual mengandung atribut Pembeli, Kota, Barang dan
Jumlah. Sampel data pada relasi ini diperlihatkan sebagai berikut
Pembeli
P1
P1
P2
P2

Kota
Yogya
Yogya
Solo
Solo

Barang
B1
B2
B1
B2

Jumlah
10
8
4
8

Pada contoh ini Pembeli secara fungsional menentukan Kota, sebab terlihat bahwa untuk
Pembeli yang sama, kotanya juga sama. Dengan demikian
Pembeli Kota
{Pembeli, Barnag} Jumlah
{Pembeli, Barang} Kota
{Pembeli, Barang} {Jumlah, Kota}

Bagian yang terletak disebelah kiri panah biasa disebut penentu atau determinan dan
bagian yang terletak disebelah kanan panah disebut yang tergantung atau dependen.

Tanda { } biasa digunakan kalau ada lebih dari satu atribut, baik pada penentu
maupun yang tergantung.

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

34

Dependensi Fungsioanl Sepenuhnya


Suatu atribut Y memmpunyai dependensi fungsional penuh terhadap atribut X jika

Y mempunyai dependensi fungsional terhadap X

Y tidak memiliki dependensi terhadap bagian dari X

Sebagai contoh terdapat relasi pelanggan


1. {KodePelanggan, Kota} Nomor_Fax
2. Kode_Pelanggan Nomor_Fax
Mengingat Nomor_Fax bergantung pada {Kode_Pelanggan, Kota} (Kondisi 1) dan juga
bergantung pada Kode_Pelanggan (Kondisi_2) yang tidak lain adalah bagian dari
{Kode_Pelanggan, Kota}, maka Nomor_Fax tidak mempunyai dedendensi fungsional
sepenuhnya terhadap {Kode_Pelanggan, Kota}. Dengan demikian Nomor_Fax hanya
mempunyai dependensi fungsional sepenuhnya terhadap Kode_Pelanggan. Maka ada istilah
irreducible dependent atau dependensi yang tidak dapat dibagi lagi. Istilah ini identik
dengan dependensi fungsional sepenuhnya (full functional dependent) atau terkadang hanya
disebut dependensi sepenuhnya (full dependet).
Dependensi Total
Didefinisikan sebagai berikut :

Y Memiliki dependensi fungsional terhadap X

X mempunyai dependent fungsional terhadap Y

Dinayakan sebagai
KdPemasok
K1
C1
C2

XY
NmPemasok
Titik
Rara
Dewi

Kota
Jakarta
Bandung
Jakarta

KodePemasok Nama_Pemasok
Dengan asumsi bahwa tidak ada nama pemasok yang sama
Dependensi Transitif
Atribut Z mempunyai dependensi transitif terhadap X jika

Y memiliki dependensi fungsional terhadap X

Z memiliki dependensi fungsional terhadap Y

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

35

Kuliah
Jaringan Komputer
Kalkulus I
Sistem Pakar
Fisika I

Ruang
Merapi
Rama
Sinta
Merapi

Tempat
G Utara
G Selatan
G Selatan
G Utara

Waktu
Senin, 08.00
Selasa, 07.00
Rabu, 10.00
Selasa 08.00

Kuliah {Ruang, Waktu}


Ruang Tempat
Terlihat bahwa
Kuliah Ruang Tempat
Dengan demikian Tempat memmpunyai dependensi transitif terhadap Kuliah
Diagram Dependensi Fungsional
Diagram Dependensi Fungsional (diagram DFD) adalah diagram yang digunakan untuk
menggambarkan dependensi fungsional. Diagram ini menunjukkan hubungan antara atribut
yang menjadi penentu atribut lainnya dengan hubungan yang dinyatakan dengan tanda
panah.
Dekomposisi Tak Hilang
Pada proses normalisasi seringkali terjadi pemecahan sebuah relasi menjadi dua relasi atau
lebih. Proses pemecahan seperti ini biasa disebut dengan istilah dekomposisi tak hilang
yang artinya bahwa tak ada informasi hilang ketika relasi dipecah menjadi relasi-relasi lain.
Relasi awal
NIM
99001
99002
99003

Nama
Sentot
Bejo
Sentot

Fakultas
Ekonomi
Ekonomi
Hukum

Contoh dekomposisi tak hilang


Relasi NIM danm NAMA
NIM
99001
99002
99003

Nama
Sentot
Bejo
Sentot

Relasi NIM dan Jurusan


NIM

Jurusan

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

36

99001
99002
99003

Ekonomi
Ekonomi
Hukum

Contoh dekomposisi hilang


Relasi NIM dan Nama
NIM
99001
99002
99003

Nama
Sentot
Bejo
Sentot

Relasi Nama dan Jurusan


Nama
Sentot
Bejo
Sentot

Fakultas
Ekonomi
Ekonomi
Hukum

Pada kasus A, dekomposisi bersifat tak hilang. Berdasarkan kedua relasi hasil dekomposisi
terkadang disebut proyeksi, relasi semula bisa diperoleh kembali. Sebagai contoh
berdsasarkan kledua relasi hasil dekomposisi, informasi bahwa nomor 99001 bernama
Sentot denmgan jurusan Ekonomi dapat diperoleh kembali . Begitu juga untuk nomor
99002 dan 99003.
Pada kasus b terdapat suatu kerancuan. Nama yang bernomro 99001 memang betul adalah
Sentot (Relasi NIM dan Nama), tetapi si Sentot yang bernomor 99001 ini mengambil
program studi Ekonomi atau Fisika (Relasi Nama dan Jurusan), karena ada dua nama
Sentot. Dekomposisi yang menghasilkan relasi NIM-Nama dan Nama-Juruisan merupakan
contoh dekomposisi hilanmg.
Atribut Tabel (Table Attribut)
Normalisasi, seperti yang telah dikemukakan sebelumnya, lebih difokuskan pada tinjauan
komprehensif terhadap setiap kelompok data (tabel) secara individual. Lebih jauh lagi,
tinjauan tersebut dititik beratkan pada data di masing-masing kolom pembentuk tabel. Kita
menggunakan istilah baru yaitu Atribut yang sebenarnya identik dengan pemakaian istilah
kolom data. Istilah Atribut ini lebih umum digunakan dalarn perancangan basis data, karena
istilah itu lebih impresif dalam menunjukkan fungsinya sebagai pembentuk karakteristik
(sifat-sifat) melekat pada sebuah tabel. Apalagi, penerapan aturan-aturan normal terhadap
atribut-atribut pada sebuah tabel bisa berdampak penghilangan kolom tertentu, penambahan
kolom baru atau bahan penambahan tabel baru.
Dapat kita katakan:
tabel Mahasiswa memiliki 4 buah atribut, yaitu nim, namaalamat - mhs dan tgllahir
tabel Dosen memiliki 2 buah atfibut, yaitunama-dosdan alama
tabel Kuliah memiliki 4 buah atribut, yaitukode_kul, nama-kul, dan semester
tabel Nilai memiliki 4 buah atribut, yaitunama-kul, nim, nama dan indeks nilai
tabel Jadual memiliki 4 buah atribut, yaitu nama-kul, tempat, w dan nama-dos
Di samping penamaan yang unik berdasarkan fungsinya disetiap atribut-atribut itu dapat
dibedakan berdasarkan sejumlah pengelompokkan. Ada atribut yang dijadikan sebagai key
dan yang lainnya disebut atribut deskfiptif. Ada pula atribut yang tergolong atribut
sederhana ataupun atribut komposit dan sebagainya.
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

37

Key dan Atribut Deskriptif


Pada dasarnya, key adalah satu atau gabungan dari beberapa atribut yang dapat
membedakan semua baris data (row) dalam tabel secara umum. Artinya jika suatu atribut
dijadikan sebagai key, maka tidak boleh dua atau lebih baris data dengan nilai yang sama
untuk atribut tersebut. Ada 3 macam key yang dapat diterapkan pada suatu tabel, yaitu :
Superkey.
Candidate-Key
Key Primer (Primary-Key).
Alternate Key
Foreign Key (Kunci Tamu)
Superkey merupakan satu atau lebih atribut (kumpulan atribut) yang dapat membedakan
setiap baris data dalam sebuah tabel secara unik. Bisa terjadi ada lebih dari 1 kumpulan
atribut yang bersifat seperti pada sebuah tabel. Di tabel Mahasiswa, misalnya yang dapat
menj superkey adalah:
(nim, nama_mhs, alamat-Mhs, tgIahir).
(nim, nama-mhs, alamat-mhs).
(nim, nama_mhs).
(nama-mhs), jika kita bisa menjamin tidak ada nilai yang samna untuk atribut ini.
(nim)
Candidate-Key, merupakan kumpulan atribut minimal yang dapat membedakan setiap
baris data dalam sebuah tabel secara unik. Sebuah Candidate-Key, tidak boleh berisi atribut
atau kumpulan atribut yang telah menjadi Super-key yang lain. Jadi sebuah Candidate-Key,
pastilah superkey, tapi belum tentu sebaliknya. Pada tabet Mahasiswa, yang dapat menjadi
Candidate-Key-nya adalah:
(nim).
Nama mhs, jika kita bisa menjamin tidak ada nilai yang sama untuk kolom ini.
Definisi formal tentang, Candidate-Key adalah:
Satu atribut atau satu set minimal atribut yang mengidentifikasikan secara unik suatu
kejadian spesifik entity. Satu minimal set dari atribut menyatakan secara tak langsung
dimana kita tidak dapat membuang beberapa atribut dalam tanpa merusak kepemilikan
yang unik. Jika satu kunci kandidat berisi lebih dari satu atribut, maka biasanya disebut
sebagai composite key (kunci campuran/gabungan). Pada sebuah tabel dimungkinkan
adanya lebih dari satu Catididate-Key. Salah satu dari Catididate-Key jika memang ada
lebih dari satu dapat dijadikan sebagai Kunci Primer (Primary Key), Pemilihan Key Primer
dari sejumlah Catididate-Key tersebut umumnya didasari oleh:
Key tersebut lebih sering (lebih natural) untuk dijadikan sebagai acuan.
Key tersebut lebih ringkas.
Jaminan keunikan Key tersebut lebih baik.
Berkas Pegawai
Medan
Ninduk
NKTP
Nama
TmpLahir
TgLahir
Alamat
Kota

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

38

Kunci Kandidat
Ninduk, karena unik tidak mungkin ganda
NKTP , karena unik tidak mungkin ganda
Nama, sering dipakai sebagai kunci pencarian, tetapi tidak dapat dikatakan kunci karena
bisa saja ada dua atau lebih nama yang sama
Nama + TgLahir, mungkin dapat digunakan sebagai kunci karena kumungkinannya akan
sangat kecil seseorang mempunyai nama dan tanggal lahir yang sama.
Kunci Primer / Primary Key
Primary key adalah satu atribut atau satu set minimal atribut yang tidak hanya
mengidentifikasi secara unik suatu kejadian spesifik, tetapi juga dapat mewakili setiap
kejadian dari suatu entity. Setiap kunci kandidat mempunyai peluang untuk menjadi
primary key, tetapi sebaiknya dipilih satu saja yang dapat mewakili secara menyeluruh
terhadap entity yang ada.

Ninduk karena unik tidak mungkin ganda dan mewakili secara menyeluruh terhadap
entity Pegawai dan setiap pegawai selalu punya Nomor induk
NKTP hanya dipakai jika sampai dengan pembayaran gaji pegawai ternyata nomor induk
belum keluar.
4. Alternate Key (Kunci Alternatif)
Alternate key adalah kunci kandidat yang tidak dipakai sebagai primary key. Seringkali
kunci alternatif dipakai sebagai kunci pengurutan dalam laporan.
5. Foreign Key (Kunci Tamu)
Adalah suatu atribut atau satu set atribut yang melengkapi satu relationship atau hubungan
yang menunjukkan keinduknya. Kunci tamu ditempatkan pada entity anak dan sama
dengan kunci primer induk direlasikan. Hubungan antara entity induk dengan anak adalah
hubungan satu lawan banyak (one to many relationship).
Contoh :
Medan
Ninduk
Nbukti
Tanggal
GajiKotor
Potongan
GajiBersih
Pajak
Kunci tamu

Ninduk, karena gaji berhubungan denga berkas pegawai

Kunci Primer untuk transaksi gaji


Nbukti, karena unik dan mewakili entity
Kunci kandidat atau kunci alternatif
Ninduk + Nbukti, unik dan menunjukkan hubungan dengan berkas induk pegawai.

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

39

Dalam hal hubungan dua buah berkas yang punya relationship banyak lawan banyak maka terdapat dua buah
kunci tamu pada berkas konektornya.

Berkas proyek berisi


Medan
Nproyek
TgMulai
TgSelesai
Anggaran
Berkas Pegawai
Medan
Ninduk
Nama
Hubungan antara berkas tersebut adalah banyak lawan banyak, yaitu satu pegawai
mengerjakan lebih dari satu proyek dan satu proyek dikerjakan oleh beberapa pegawai,
maka untuk menunjukkan hubungan tersebut dipakai berkas konektor yang berisi kunci
tamu dari kedua berkas.
Berkas Proyek Pegawai Berisi
Medan
Nproyek
Ninduk
JamKerja
Maka pada berkas Proyek Pegawai terdapat kunci tamu, yaitu Nomor Proyek dan Nomor
Induk. Kedua atribut tersebut juga merupakan kunci primer.
Atribut Sederhana (Simple Attribute) dan Atribu Komposit (CompositeAttribute)
Atribut Sederhana adalah atribut atomik yang tidak dapat dipilah lag Sementara, Atribut
Komposit merupakan atribut yang, masih dapi diuraikan lagi menjadi sub-sub atribut yang,
masing-masing memiliki makna. Pada contoh tabel mahasiswa atribut namamahasiswa
merupakan Atribut Sederhana. Sedangkan atribut alamat-mhs dapat dikategorikan sebagai
atribut Komposit, karena dapat diuraikan menjadi beberapa sub atribut seperti alamat,
nama-kota dan kode pos, yang masing-masing memiliki makna.
Jika dalam penerapannya kelak, tidak ada aktivitas pengolahan data yang hanya
melibatkan sub-sub atribut tersebut secara khusus, maka pemakaian atribut Komposit ini
dapat terus dipertahankan dengan kesederhanaan struktur tabel. Namun, jika kelak ada
rencana / kebutuhan untuk melakukan pengolahan data terhadap sub-sub atribut secara
khusus, maka atribut Komposit dapat kita dekomposisi menjadi Atribut Sederhana secara
tegas. Katakanlah ada kebutuhan untuk mengelompokkan data mahasiswa di atas
berdasarkan nama-kota tempat mereka tinggal, maka kita membentuk atribut baru, yaitu
nama-kota yang dipisahkan secara tegas dari atribut alamat mhs.
Atribut Bernilai Tunggal (Single Valaed Attrlbut dan Atribut Bernilai Banyak
(Multi,Valued Attribut)
Atribut Bernilai Tunggal ditujukan pada atribut-atribut yang memiliki paling banyak satu
nilai untuk setiap basis data. Pada data Mahasiswa semua atribut (nik, namamhs,
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

40

alamatmhs dan tglahir) merupakan Atribut Bernilai Tunggal, karena atribut-atribut tersebut
hanya ada berisi 1 (satu) nilai. Jika ada seorang mahasiswa yang memiliki 2 dua tempat
tinggal, maka hanya salah satu saja yang boleh diisikan kedalam atribut alamat-mhs.
Sedangkan, Atribut Bernilai Banyak ditujukan pada atribut-atribut yang dapat kita
isi dengan lebih dari 1 nilai, tetapi isinya sama, kita dapat menambahkan atribut hobbi pada
data Mahasiswa tersebut. Seorang mahasiswa ada yang mempunyai 1 hobbi saja, ada juga
yang mempunyai banyak hobbi dan bahkan ada mahasiswa yang tidak memiliki hoby
Atribut semacam ini tergolong Atribut Bernilai Banyak (Multivalue Attribute). Atribut
waktu pada tabel Jadual juga dapat digolongkan sebagai Atribut Bernilai Banyak, karena
ada mata kuliah yang banyak memiliki sebuah nilai waktu dan ada pula yang lebih dari
satu nilai waktu.
Atribut Harus Bernilai (mandatori Atribute) Dan Nilai Null
Ada sejumlah atribut pada sebuah tabel yang kita tetapkan harus beri data. Jadi
nilainya tidak boleh kosong. Atribut semacam ini disebut Mandatory Attribute. Pada tabel
Mahasiswa, misalnya, atribut nim nama-mhs dapat kita golongkan sebagai Mandatory
Attribute, karena setiap mahasiswa yang datanya ingin disimpan ke tabel tersebut, paling
tidak harus diketahui dengan pasti NIM dan Nama-nya. Sebaliknya, pula atribut-atribut lain
pada suatu tabel yang nilainya boleh dikosongkan (Non Mandatory Attribute). Nilai
(konstanta) Null digunakan untuk menyatakan / mengisi atribut-atribut demikian yang
nilainya memang belum siap atau tidak ada. Nilai Null tidak sama dengan spasi, walaupun
pada waktu nilainya ditampilkan, sama-sama tidak memperlihatkan apa-apa. Perbedaan
tersebut dapat ditinjau dari segi makna maupun dari segi representasi fisik. Dari segi
makna, pengisian spasi ke suatu atribut berarti atribut tersebut memiliki nilai yaitu spasi,
sedangkan pengisian nilai Null berarti, atribut tersebut belum/tidak memiliki nilai. Dari segi
representasi fisik, nilai spasi ekuivalen dengan karakter ke-32 dalam tabel ASCII,
sedangkan nilai Null ekuivalen dengan karakter ke-0.
Atribut Turunan (Dedved Attribute)
Adalah atribut yang nilai-nilainya diperoleh dari pengolahan atau dapat diturunkan dari
atribut atau tabel lain yang berhubungan. Atribut demikian sebenarnya dapat ditiadakan dari
sebuah tabel karena nilai-nilainya bergantung dari nilai yang ada diatribut lainnya.
Penambahan atribut angkatan dan ip (indeks prestasi) pada tabel mahasiswa. Secara fisik,
tanpa melihat layak/tidaknya data tersebut bila dilihat dari kenyataan pemakaiannya.
Sementara Domain nilai lebih ditekankan pada batas-batas nilai yang diperbolehkan dari
suatu atribut, dilihat dari kenyataan yang ada. Pada tabel Kuliah misalnya, kita memang,
menetapkan bahwa tipe data untuk atribut sks adalah integer. Dengan begitu secara fisik
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

41

kita dapat saja menyimpan nilai -1, 0 atau 100 untuk atribut sks tersebut. Tetapi kita
mengetahui dengan pasti, bahwa nitai-nilai itu sebetulnya tidak pantas (invcilid) untuk
menjadi data pada atribut sks.Lalu nilai-nilai seperti apa yanc, boleh. Dari kenyataan yang
ada, kita ketahui bahwa nilai yang layak (valid) untuk atribut sks adalah 1, 2, 3 atau 4.
Maka dapat dikatakan, Domain nilai untuk atribut sks adalah 1, 2, 3 dan 4.
Pada saat pekerjaan perancangan basis data telah dilakukan, yang perlu dilihat dari
pertimbangkan hanyalah Domain nilai dari setiap atribut. Penetapan tipe data bagi suatu
atribut baru akan relevan dan penting untuk diperhitungkan pada saat implementasi data.
Ketergantungan Fungsional (Function Dependency)
Diberikan sebuah tabel T berisi paling sedikit 2 buah atribut, yaitu A dan B. Kita dapat
inenyatakan notasi berikut ini:
AB
yang berarti A secara fungsional menentukan B atau B secara fungsional tergantung pada A,
jika dan hanya jika untuk setiap kumpulan baris dan data (row) yang ada di tabel T, pasti
ada 2 baris data (row) di tabel T dengan nilai untuk A yang sama, maka nilai untuk B pasti
juga sama. Definisi yang lebih formal untuk itu adalah:
diberikan 2 row r1 dan r2 dalam tabel T di mana A B,
jika r1 (A) - r2(A), maka r1 (B) = r2(B).
c.

dan seterusnya.

Coba kita perhatikan tabel Nilai sepei-ti yang diperlihatkan, tabel ini memperlihatkan 4
buah atribut, yaitu nama ketidaktergantungan tersebut untuk mendapatkan seluruh KF.
Seringkali untuk mendapatkan seluruh KF dari sebuah tabel (karena bisa terrdapat lebih
dari satu KF di sebuah tabel), kita lebih dulu membahas yang lebih rinci tentang
Ketergantunoan Fungsional yang ada.
NORMALISASI
Bentuk Tidak Normal. Merupakan bentuk kumpulan data yang akan direkam, tidak ada
keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi,
data dikumpulkan apa adanya sesuai dengan kedatangannya.
Normalisasi dengan Ketergantungan Fungsional
Setelah cukup jelas dalam memahami pengertian Atribut, Key, Domain dan Ketergantungan
Fungsional, maka kita siap untuk melakukan pembahasan tentang Normalisasi. Dalam
perspektif Normalisasi, sebuah basis data dapat dikatakan baik, jika setiap tabel yang
menjadi unsur pembentuk basis data tersebut juga telah berada dalam keadaan baik, atau
normal. Selanjutnya sebuah tabel dapat dikategorikan baik (efisien, atau normal, jika telah
memenuhi 3 (tiga) kriteria berikut:
Jika ada dekomposisi (penguraian) tabel, maka dekomposisilam dijamin aman (LosslessJoin Decomposition).
Terpeliharanya ketergantungan fungsional pada saat perubahan data Dependency
Preservation).
Tidak melanggarBoyce-Code Normal Form (BCNF).

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

42

Jika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak, tabel tersebut tidak
melangcar Bentuk Normal tahap Ketiga (3st Normal Form 3NF). Kriteria ini merupakan
kriteria minimal untuk mendapatkan predika efisien/normal bagi sebuah tabel. Akan tetapi,
kita juga dapat menerapkan kriteria-kriteria lain yang juga tercakup dalam kerangka
Normalisasi walaupun bukan merupakan kriteria utama. Kriteria-kriteria lain tersebu yang
juga akan dibahas dalam bab ini untuk memperkaya khasanal pengetahuan kita tentang
Normalisasi adalah:
'v.,

BentukNormaltahapPertama (1st Normal Form).

BentukNormaltahapKedua (2nd Normal Form).

BentukNormaltahapKeempat(4nd Normal Form).

BentukNormaltahapKelima(5nd Normal Form).

Kriteria-kriteria Nortnalisasi di atas memang dapat kita terapkan (ujikan pada setiap tabel
yang ada di Bab 3. Akan tetapi, untukjuga menunjukkan adanya proses dekomposisi tabel,
akan lebih baikjika keseluruhan tabel itu kita rekonstruksi menjadi sebuah tabel saja (yang
tentu saja sangat tidak efisien). Dari tabel tunggal ini, lalu kita terapkan kriteria-kriteria
Normalisasi di atas hingga kita dapatkan sejumlah tabel yang sudah normal (efisien)
melalui proses Dekomposisi. Dekomposisi sendiei merupakan langkah yang paling sering
ditempuh dalam proses normalisasi, jika sebuah tabel tidak memenuhi Bentuk Normal
tertentu. Sebuah tabel yang merangkum semua kelompok data yana saling berhubungan
biasa disebut sebagai tabel Universal (Universal/Star tabel).
Jika kita memusatkan diri pada tabel universal tersebut, paling tidak ada 3 kelemahan
mendasar yang dapat dilihat, yaitu :
Pengulangan informasi, yang terjadi pada atribut nama mhs, alamat mhs dan tgl lahirya
yang dinyatakan berulang-ulang sesuai dengan data untuk atribut nilainya. Begitu juga
dengan atribut nama_kul, tempat, waktu, dan seterusnya.
Potensi inkonsistensi data pada operasi pengubahan, yang terjadi jika ada perubahan pada
data nama mhs, dimana perubahan ini harus dijalarkan ke seluruh baris data pada tabel
tersebut. Jika perubahan ini tidak dilakukan maka KF yang telah ditetapkan akan terganggu.
Tersembunyinya informasi tertentu. Tabel universal dibangun atas dasar keterkaitan
antaritem-item dan karena itu, tabel semacam ini tidak akan mampu menampilkan
informasi tentang item-item data yang kebetulan belum memiliki keterkaitan dengan item
data yana lain. Di tabel diketahui terdapat data dari 4 orang mahasiswa. Tetapi tabel
tersebut hanya ada 3 mahasiswa yang terlihat, karena mahasiswa dengan NIM = '980003'
sedang tidak ada, sehingga ia tidak disertakan dalam tabel tersebut. Tabel tersebut juga
tidak dapat merepresentasikan adanya mata kuliah yang belum diselenggarakan (belum ada
mahasiswa yang mengambilnya atau adanya dosen yang sedang tidak mengajar.

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

43

Lossless-Join Decomposition
Dekomposisi memang merupakan upaya untuk mendapatkan tabel yang baik. Tetapi
jika tidak hati-hati, upaya ini justru dapat menghasilkan kesalahan. Dekomposisi yang
benar terjadi jika tabel-tabel dekomposisi kita gabungkan kembali dan menghasilkan tabel
sebelum didekomposisi. Dekomposisi yang benar semacam ini di Lossless-Join
Decomposition atau Lossless Dec-oniposition dapat diIndonesiakan dengan istilah
Dekomposisi Aman).
Berikut kita ambil sebuah contoh abstrak yang menghasilkan dekomposisi yang
tidak aman (Lossv-Joiii Deco ipositio ). Kita asumsikan ada ABC yang didefinisikan
den(,an dua buah KF yaitu: A @ B dan B Kedua KF tersebut kita peroleli dari pen(,ai-natan
terhadap data kurang itiemadai atau karena asumsi yang kurang tepat.
Dependency Preservation
Dependency Preservation (dapat diIndonesiakan sebagai Pemeliharaan Ketergantungan)
merupakan kriteria kedua yang harus dicapai untuk mendapatkan tabel dan basis data yang
baik. Ketika kita melaksanakan perubahan data, maka harus bisa dijamin agar perubahan
tersebut menghasilkan inkonsistensi data yang mengakibatkan KF yang sudah benar
menjadi tidak terpenuhi. Akan tetapi, dalam upaya untuk memelihara KF yang ada untuk
tetap terpenuhi tersebut, prosesnya harus dapat dilakukan dengan efisien.
Tabel universal yang telah digambarkan sebelumnya sudah jelas sangat rapuh
didalam memenuhi kriteria Dependency Preservation ini. Kalaupun ingin dipaksakan agar
KF yang ada tetap bisa terjaga pada saat ada perubahan yang terjadi, maka upaya
perubahan juga akan terjadi, maka upaya pemeliharaan KF itu berlangsung tidak efisien.
Katakanlah, ada perubahan data Alamat untuk mahasiswa dengan NIM = 98001 maka
perubahan ini harus dilakukan pada atribut alamat_mhs di semua row yang nilai atribut
Nimnya berharga 98001.
1. Bentuk Normal Kesatu (1st Normal Form)
Bentuk normal kesatu mempunyai ciri setiap data dibentuk dalam flat berkas (berkas
rata/datar), data dibentuk dalam satu rekaman demi rekaman dan nilai dari medan berupa
atomic value. Tidak ada set atribut yang berulang-ulang atau atribut bernilai ganda
(multivalue). Tiap medan hanya ada satu pengertian, bukan merupakan kumpulan kata yang
mempunyai arti medua, hanya satu arti saja dan juga bukanlah pecahan kata-kata sehingga
artinya lain. Atom sendiri adalah zat terkecil yang masih mempunyai sifat induknya, jika
dipecah lagi maka dia tidak akan memiliki sifat seperti induknya, karena hanya akan terdiri
dari inti atom dan elektron. Contohnya adalah :

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

44

Kelas(KdKelas, NmKelas, Instruktur) Merupakan bentuk 1NF karena tidak ada yang
berganda dan tiap atribut satu pengertian yang tunggal. Sedangkan contoh datanya adalah :
KdKelas
U32
S31
B33

NmKelas
Bio Medik
Basis Data
Pengolahan Data Elektronik

Instruktur
Dr. Eka
Dwi Bekti,S.Kom
Bambang,S.Kom

Siswa(NIM, Nama, Wali, Kelas1, Kelas2, Kelas3)


Siswa yang punya NIM, Nama dan wali mengikuti 3 mata kuliah / kelas. Disini ada
perulangan kelas 3 kali, dan ini bukan bentuk 1 NF.
NIM Nama
A1
Sinta
A2
Santi

Wali
Denok
Parto

Kelas1
U32
U32

Kelas1
S31
B33

Kelas1
S31

Bentuk Normal Kesatu Tabel diatas adalah :


NIM
A1
A1
A2
A2
A2

Nama
Sinta
Sinta
Santi
Santi
Santi

Wali
Denok
Denok
Parto
Parto
Parto

KdKelas
U32
S31
U32
S31
B33

Bentuk Normal Kedua (2NF/Second Normal Form)


Bentuk normal kedua mempunyai syarat yaitu bentuk data telah memenuhi kriteria bentuk
normal kesatu. Atribut bukan kunci haruslah bergantung secara fungsi pada kunci utama.
Sehingga untuk membentuk normal kedua haruslah sudah ditentukan kunci medan.
Penentuan medan kunci harus unik dan dapat mewakili atribut lain yang menjadi
anggotanya. Dari contoh relasi siswa pada bentuk normal kesatu, terlihat bahwa kunci
utama atau primary key adalah NIM, tetapi kode kelas bukanlah fungsi dari siswa, maka
berkas siswa dipecah menjadi dua relasi, yaitu :
Relasi Siswa
NIM Nama
A1
Sinta
A2
Santi

Wali
Denok
Parto

Dan Relasi AmbilKelas


NIM KdKelas
A1
U32
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

45

A1
A2
A2
A2

S31
U32
S31
B33

Bentuk Normal Tahap Ketiga (3NF / Third Normal Form)


Untuk menjadi bentuk normal ketiga maka relasi haruslah dalam bentuk normal kedua dan
semua atribut bukan primer tidak punya hubungan yang transitif. Dengan kata lain, setiap
atribut bukan harus bergantung hanya pada kunci primer dan pada kunci primer secara
menyeluruh. Contoh pada bentuk normal kedua diatas termasuk juga bentuk normal ketiga,
karena seluruh atribut yang ada disitu bergantung penuh pada kunci primernya.
Boyce-Codd Normal Form (BCNF)
Kriteria berikutnya untuk mendapatkan tabel yang baik adalah dengan menerapkan Boyce
Codd Normal Form (BCNF). Boyce-Codd Normal Form (BCNF) mempunyai paksaan
yang lebih kuat dari bentuk normal ketiga. Untuk menjadi BCNF, relasi harus dalam bentuk
normal kesatu dan setiap atribut harus bergantung fungsi pada bentuk normal kesatu dan
setiap atribut harus bergantung fungsi pada atribut superkey. Pada contoh dibawah ini
terdapat relasi Seminar, Kunci primernya adalah NIM+Seminar. Siswa boleh mengambil
satu atau dua seminar. Setiap seminar akan membutuhkan 2 intstruktur, dan setpa siswa
dibimbing oleh salah satu diantara 2 instruktur seminar tersebut. Setiap instruktur boleh
saja hanya mengambil satu seminar saja. Pada contoh ini NIM dan Seminar menunjukkan
seorang struktur.
Relasi Seminar
NIM
A1
A2
A3
A1
A9

Seminar
2281
2281
2291
2291
2291

Instruktur
Denok
Parto
Parno
Ranti
Ranti

Bentuk relasi seminar adalah bentuk normal ketiga, tetapi BCNF karena nomor seminar
masih bergantung fungsi pada instruktur, jika setiap instruktur dapat mengajar hanya pada
satu seminar. Seminar hanya bergantung secara fungsi pada satu atribut, bukan superkey
seperti yang disyaratkan oleh BCNF. Maka relasi Seminar harus dipecah menjadi 2, yaitu :
Relasi Pengajar
Instruktur
Denok

Seminar
2281

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

46

Parto
Parno
Ranti
Ranti

2281
2291
2291
2291

NIM Instruktur
A1
Denok
A2
Parto
A3
Parno
A1
Ranti
A9
Ranti
(Relasi Seminar-Instruktur)

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

47

PENERAPAN BENTUK NORMALISASI


Proses perancangan data dapat dimulai dari dokumen dasar yang dipakai dalam sistem.
APIKES Bhakti Mulia

FAKTUR PEMBELIAN

Sukoharjo
Kode Suplier : G01

Tanggal

: 1 Maret 2001

Nama Suplier : Intan Pertiwi

Nomor

: 1000

Kode
A01
A02

Nama Barang
AC Split PK
AC Split 1 PK

Qty Harga
10
1.350.000
10
2.000.000
Total Faktur

Jumlah
13.500.000
20.000.000
33.500.000

Jatuh Tempo Faktur : 10 Maret 2001

1. Step I Bentuk Tidak Normal


NFak

KdSup

NmSuplier

KdBrg

NmBarang

Tanggal

JtTempo

Qty

Harga

Jumlah

Total

779
998

S02
G01

Andini
Intan

R02
R01
A02

AC Split PK
AC Split 1 PK
Rice Cooker

1/4/2001
1/4/2001

10/4/2001
10/4/2001

10
10
10

150000
135000000
2000000

1500000
1350000000
20000000

1500000
1350000000

Menuliskan semua data yang akan direkam, bagian yang ganda tidak perlu dituliskan,
terlihat ada rekaman yang tidak lengkap, sehingga akan mengalami kesulitan bagaimana
bentuk rekaman yang harus dibentuk untuk merekam data tersebut.
2. Step II Bentuk Normal Kesatu
Akan dijadikan menjadi bentuk normal kesatu dengan memisahkan data pada medan yang
tepat dan bernilai atomic, juga seluruh rekaman harus lengkap adanya. Bentuk berkas
adalah berkas flat. Dengan bentuk normal kesatu ini maka sudah dapat dibuat 1 berkas
dengan 11 medan, yaitu nomor faktur, kode suplier, nama suplier, kode barang, nama
barang, tanggal, jatuh tempo, quantitas, harga, jumlah dan total satu faktur.
NFak

KdSup

NmSuplier

KdBrg

NmBarang

Tanggal

JtTempo

Qty

Harga

Jumlah

Total

779
998
998

S02
G01
G01

Andini
Intan
Intan

R02
R01
A02

AC Split PK
AC Split 1 PK
Rice Cooker

1/4/2001
1/4/2001
1/4/2001

10/4/2001
10/4/2001
10/4/2001

10
10
10

150000
135000000
2000000

1500000
1350000000
20000000

1500000
1350000000
3300000000

Akan tetapi bentuk normal kesatu ini mempunyai banyak kelemahan, yaitu :
a. Inserting / Penyisipan. Kita tidak dapat memasukkan kode dan nama suplier saja, tanpa
ada transaksi pembelian, sehingga suplier baru akan dapat masuk jika ada transaksi
pembelian.

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

48

b. Deleting / Penghapusan. Jika satu rekaman diatas dihapus misalnya nomor faktur
(Andini), padahal data suplier masih diperlukan.
c. Updateing / pengubahan. Kode dan nama suplier terlihat ditulis berkali-kali, jika suatu
ketika terjadi perubahan nama suplier misalnya maka harus mengganti disemua
rekaman yang membuatn data menjadi tidak konsisten.
d. Redundancy. Field jumlah diatas merupakan redundancy, karena setiap kali harga
dikalikan dengan quantitas akan menghasilkan jumlah. Maka field tersebut dapat
dibuang, jika tidak dibuang maka mengakibatkan tidak konsisten. Ini disebabkan karena
jika ada perubahan harga, hanya data harga yang diubah, data jumlah tidak maka nilai
jumlah tidak sama dengan qty x harga
Step III Bentuk Normal Kedua
Pembentukan bentuk normal kedua dengan mencari kunci field yang dapat dipakai sebagai
patokan dalam pencarian dan sifatnya unik. Berdasarkan kasus diatas, maka dapat diambil
kunci kandidat yaitu :

No Faktur

Kode Suplier

Kode Barang

MODEL DATA
Sebagaimana telah disebutkan sebelumnya, upaya perancangan basis data dapat juga
ditempuh dengan secara langsung membuat sebuah model dari awal sama sekali
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

49

(scratching). Langkah ini biasa ditempuh dari kelangkaan data/fakta yang kita miliki. Disisi
lain sebagai model yang dinyatakan dalam bentuk diagram awal (prelimina design) akan
lebih mudah untuk dievaluasi/dianalisis untuk kemudian dilakukan perbaikan-perbaikan
untuk mendapatkan sebuah model data yang permanen dan lebih mendekati kenyataan yang
sesungguhnya.
Model Data sendiri dapat didefinisikan sebagai kumpulan peran konseptual untuk
menggambarkan data, hubungan data, sema (makna) data dan batasan data. Oleh karena
yang ingin ditunjukkan adalah makna dari data dan keterhubungannya dengan data lain,
maka M Data ini lebih tepat jika disebut Model Data Lojik. Penyingkatan menjadi Model
Data

dilakukan

demi

penyederhanaan

penulisan.

Ada

sejumlah

cara

dalam

merepresentasikan Model Data dalam perancangan basis data yang secara umum dapat
dibagi dalam 2 kelompok, yaitu:
1. Model Lojik Data Berdasarkan Objek (Object-Based Logical Models) terdiri dari:
Model Keterhubungan Entitas (Entity-Relationship Model).
Model Berorientasi Objek (Object-Oriented Model).
Model Data Semantik (Semantic Data Model).
Model Data Fungsional (Functional Data Model).
2. Model Lojik Data Berdasarkan Record (Record-Based Logica Models) terdiri dari:
Model Relasional (Relational Model).
Model Hirarlcis (HierarchicalModel).
Model Jaringan (Network Model).
Mode Keterhubungan Entitas (Entity-Relationship Models) merupakan Model Data
yang paling populer digunakan dalam perancangan basi data. Sementara Model
Berorientasi Objek yang sejalan dengan perkembangan teknologi pembangunan aplikasi
mutakhir (Pemrograma C, Berorientasi Objek).
Fakta Dunia Nyata (Real World)
Istilah 'dunia nyata' disini bukan berarti dunia dan segala isinya, tapi lebih bermakna
sempit yang merujuk pada semesta yang belum terstruktur yang secara nyata ada / terkait
lingkup topik yang sedang ditinjau. Karena itu, 'dunia nyata perbankan berbeda dengan
'dunia nyata' bagi sistem misalnya. Dalam 'dunia nyata' data berasal / bermula dari apa
yang diketahui. Data ini kemudian bisa disimpan untuk proses pada saat yang lain atau
diolah lebih lanjut untuk menjadi data baru (informasi) yang diinginkan. Apa yang dimiliki
atau diketahui sebagai data itu kemudian dipilah-pilah sesuai jenis / fungsinya. Pemilahan /
pengelompokan data yang kemudian dikombinasikan dan disempurnakan dengan proyeksi
kebutuhan dalam pengolahan menjadi informasi ini kemudian melahirkan model dunia
nyata. Ada dua pertanyaan penting yang menyangkut pemodelan data berasal dari 'dunia
nyata', yaitu :
Penerapan data dari 'dunia nyata' ke dalam sebuah basis data, mensyaratkan adanya
struktur (keteraturan) data yang ingin disimpan. Lalu, dengan struktur data yang
bagaimana, data itu akan diimplementasikan dalam sebuah basis data secara fisik.
Apa saja karakteristik (property) dari suatu data yang akan disimpan dan bagaimana
sebaiknya data tersebut direpresentasikan kedalam struktur fisik.
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

50

Untuk memperjelas uraian diatas, kita tinjau sebuah dunia nyata dalam
sistem perkuliahan. Karena kita berbicara tentang 'dunia nyata', maka dibutuhkan tempat
yang pasti dimana sistem perkuliahan berada / diterapkan. Itu berarti, sistem yang sama
dapat menghasilkan cara / strategi penerapan yang berbeda antara satu tempat dengan
tempat yang lain. Hal ini teriadi karena apa yang dimiliki / diketahui (input) apa yang
diharapkan (output) serta bagaimana cara menghasilkann (proseslprosedur) antara tempat
yang satu dapat berbeda dengan tempat yang lain.
Di sebuah perguruan tinggi X, diketahui adanya mahasiswa, dosen,
kurikulum, ruang kuliah, penilaian, ujian hingga praktikum. Apa yang diketahui untuk
kemudian diimplementasikan dalam basis data dapat lebih dibatasi ataupun diperluas,
tergantung pada apa yang ingin diharapkan dari hal-hal itu. Kita misalnya, dapat
menambahkan data tersebut dengan penjadwalan dan kehadiran, jika memang ada
kebutuhan untuk itu misalnya penilaian akhir seorang mahasiswa juga tergantung pada
kehadirannya. Selanjutnya, harus dipilah / mengelompokkan data tersebut dalam satuansatuan data yang juga baru merepresentasikan adanya keterhubungan antar satuan-satuan
data. Satuan data yang satu akan memiliki karakteristik yang berbeda dengan satuan data
yang lain yang dideskripsikan lagi dengan adanya sejumlah atribut. Misalnya seperti yang
sudah ditunjukkan di pembahasan sebelumnya satuan data Mahasiswa dideskripsikan
dengan atribut-atribut nilai, nama mhs, alamat-Mhs dan tgllahir. Atribut-atribut tersebut
dapat dibatasi hingga di situ atau diperluas lagi dengan atribut-atribut lagi seperti tempatlahir, jurusan, nama-orang_tua, agama, dan seterusnya. Namun demikian efisiensi,
pembatasan atribut yang akan disertakan pada suatu satuan data perlu dilakukan dengan
tetap mempertimbangkan aspek kebutuhan.
Sementara itu, terhadap atribut-atribut yang telah ditetapkan / dipilih untuk
mendeskripsikan sebuah satuan data, kita memiliki banyak pilihan tentang cara
merepresentasikannya. Karena itu yang juga harus dipikirkan adalah menetapkan cara
representasi tiap atribut tersebut. Misalnya, atribut Jurusan dapat dinyatakan secara jelas
dan panjang seperti 'Teknik Informatika', 'Ekonomi', 'Sastra Jepang', dan lain-lain. Tetapi
kita juga dapat menyatakannya dalam bentuk kode ('IF', 'EK', 'SJ') dan lain-lain yang tentu
saja lebih ringkas dan efisien. Karena ketidakteraturannya dan karena banyaknya hal yang
baru dipertimbangkan maka akan cukup sulit dan sangat riskan jika kita mencoba
melakukan pengimplementasian secara langsung apa yang akan diimplementasikan di
'dunia nyata' ke dalam sebuah basis data fisik. Untuk mempermudahnya dimembutuhkan
model antara (model data lojik) dan Model Entity Relationship merupakan salah satu model
antara yang dapat digunakan.
Model Entity-Relationship (Model Keterhubungan Entitas)
Pemakaian istilah 'Model Keterhubungan-Entitas' dalam bahasa Indonesia dapat
digunakan sebagai padanan istilah asing Entity Relationship Model (E-R Model). Tetapi
istilah Model Entity Relationship telah umum digunakan diberbagai pembahasan tentang
analisis perancangan Basis Data. Pada Model Entity-Relationship, semesta data yang ada di
'Dunia Nyata diterjemahkan dan ditransformasikan dengan memanfaatkan sejumlah
perangkat konseptual menjadi sebuah diagram data, yang umum diset sebagai Diagram
Entity-Relationship (Diagram E-R). Yang harus lebih dulu diketahui adalah komponem
pembentuk Model Entity-Relationship. Sesuai namanya, ada 2 komponen utama
pembentuk Model Entity-Relationship yaitu Entitas (Entity) dan Relasi (Relation). Kedua
komponen dideskripsikan lebih jauh melalui sejumlah Atribut Properti.
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

51

Entitas (Entity dan Himpunan Entitas /Entitas Set)


Entitas merupakan individu yang mewakili sesuatu eksistensinya dan dapat
dibedakan dari sesuatu yang lain seperti kursi yang diduduki, seseorang yang menjadi
pegawai perusahaan dan sebuah mobil yang melintas di depan kita ada Sekelompok Entitas
yang sejenis dan berada dalam lingkup membentuk sebuah Himpunan Entitas (Entity Set).
Sederhananya, menunjuk pada individu suatu objek, sedang Himpunan Entitas pada
rumpun (famili) dari individu tersebut. Seseorang yang memang menjadi sebuah entitas,
tapi dapat berada pada Himpunan Entitas berbeda dengan seseorang yang lain. Seorang
pasien, misalnya, akan dimasukkan dalam Himpunan Entitas Pasien, sedang seorang dokter
akan ditempatkan dalam Himpunan Entitas Dokter. Dalam berbagai pembahasan / literatur,
penyebutan Himpunan Entitas yang kurang praktis ini seringkali digantikan dengan sebutan
Entitas saja. Karena sering ditemui, penggunaan istilah Entitas (Entity) sebenarnya
menunjuk pada Himpunan Entitas. Contoh-contoh Himpunan Entitas:
Semua Pelanggan, atau Pelanggan saja dengan entitas Budiman, Suherman, Aminah dan
seterusnya.
Semua Mobil, atau Mobil saja dengan entitas mobil Suzuki, mobil Toyota, mobil Honda
dan lain.
Semua Mahasiswa, atau Mahasiswa saja dengan entitas Ali, Budi, Iman.
Atribut (Attributes/Properties)
Setiap Entitas pasti memiliki Atribut yang mendeskripsikan karakter (properti) dari Entitas
tersebut. Sebagaimana telah disebut sebelumnya, penentuan atau pemilihan atribut-atribut
yang relevan sebuah Entitas merupakan hal penting lainnya dalam pembentukan M data.
Penetapan atribut bagi sebuah entitas umumnya didasarkan pada fakta yang ada. Tetapi
tidak selalu seperti itu. Akan kita lihat, karena proses normalisasi atau pertimbanganpertimbangan kompromistis, ada sejumlah atribut yang kita ciptakan sendiri dan tidak
dikenal di 'dunia nyata' yang sesungguhnya.
Yang relevan untuk lebih diperhatikan dalam pembuatan Model E-R adalah
kedudukan atribut dalam entitas. Harus dapat dibedakan dan diketahui, mana atribut yang
berfungsi sebagai Key Primar (Primary Key) dan mana yang bukan (atribut deskriptif).
Contoh:
Atribut ijin merupakan key untuk Himpunan Entitas Mahasiswa karena ijin merupakan
pengidentifikasi entitas yang paling untuk semua entitas dalam himpunan entitas tersebut.
Atribut-atribut lainnya (Alamat-mhs dan tgl-lahir) merupakan atribut deskriptif.
Kumpulan atribut kode, jenis-barang dan no-barang merupa key untuk Himpunan Entitas
Barang.
Relasi (Relationship) dan Himpunan Relasi (Relationship Sets)
Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari
himpunan entitas yang berbeda. Misalnya, entitas seorang mahasiswa dengan nim=
'980001' dan nama mhs = 'AliAkbar' (yang ada dihimpunan entitas Mahasiswa) mempunyai
relasi dengan entitas sebuah mata kuliah dengan kodekul = 'StDt ' dan nama-kul='Struktur
Data'. Relasi di antara kedua entitas tadi mengandung arti bahwa mahasiswa tersebut
sedang mengambil mata kuliah tersebut disebuah perguruan tinggi yang ditinjau.

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

52

Kumpulan semua relasi diantara entitas yang terdapat pada himpunan entitas
himpunan entitas tersebut membentuk Himpunan Relasi (Relationship Sets). Sebagaimana
istilah Himpunan Entitas yang banyak sekali disingkat menjadi Entitas (walaupun
sebenamya memiliki perbedaan makna), istilah Himpunan Relasi jarang digunakan dan
lebih sering disingkat dengan istilah Relasi saja. Di samping himpunan entitas Mahasiswa
yang telah ditunjukkan diatas kita juga memiliki himpunan entitas Kuliah dengan struktur
dan contoh data yang kita cuplik dari pembahasan sebelumnya.
Himpunan Entitas
Untuk memudahkan, sebut saja masing-masing entitas nilai dari atribut Namanya Oadi
pada himpunan entitas mahasiswa 'Ali Akbar', entitas 'Budi Haryanto', entitas 'Iman entitas
'Indah Susanti' dan pada himpunan entitas Kuliah, ada entitas 'Struktur Data', entitas 'Basis
Data', entitas 'Bahasa Indonesia' dat entitas 'Matematika I'. Dari ilustrasi ini terlihat adanya
relasi antara entitas 'Ali dengan entitas 'Struktur Data', entitas 'Basis Data' dan entitas
'Bahasa Indonesia'. Relasi ini mengandung arti, bahwa mahasiswa bernama Akbar'
mengambil 3 matakuliah, yaitu 'StrukturData', 'Basis Data' dan 'Bahasa Indonesia'. Lalu
entitas 'Budi Haryanto' memiliki relasi, yaitu dengan entitas 'Basis Data' dan entitas
'Matematika I berarti, mahasiswa bernama 'Budi Haryanto' tersebut mengambil
mempelajari 2 mata kuliah saja. Berikutnya, kita lihat entitas 'Iman tidak memiliki satupun
relasi dengan entitas-entitas dihimpunan entitas Kuliah. Hal ini berangkat dari Fakta, bahwa
mahasiswa bernama 'Faisal' memang tidak mengambil satupun mata kuliah (mungkin
karena sedang cuti kuliah). Terakhir entitas 'Indah Susanti' dengan entitas 'Struktur Data'
dan 'Basis Data' yang berarti mahasiswa tersebut mengambil dua mata kuliah tersebut.
Memang benar, bahwa hubungan atau relasi antar entitas tersebut berlaku pada
suatu masa pada semester dan tahun ajaran tertentu. Dengan kata lain, pada masa yang lain
pada semester dan tahun ajaran sebelumnya atau berikutnya, relasi-relasi yang terjadi
berbeda dengan yang digambarkan di atas. Kelak akan ditunjukkan, adanya faktor lain
dalam relasi antar entitas ini dapat diakomodasi / terapkan. Keserelasian yang ada di antara
kedua himpunan entitas tersebut memberikan sebuah Himpunan Relasi. Untuk menjelaskan
hubungan apa yang terjadi diantara kedua himpunan entitas tersebut, kita dapat memberi
nama Himpunan Relasi 'Mempelajari', atau Himpunan Relasi 'Belajar'.

Kardinalitas/Derajat Relasi
Kardinalitas Relasi menunjukkan jumlah maksimum entitas yang berelasi dengan entitas,
pada himpunan entitas yang lain. Pada contoh sebelumnya, dapat dilihat bahwa entitasentitas pada himpunan entitas Mahasiswa dapat berelasi dengan satu entitas, banyak entitas
bahkan tidak satupun entitas dari himpunan entitas Kuliah. Begitu juga sebaliknya, entitasentitas pada himpunan entitas Kuliah ada yang berelasi dengan beberapa entitas pada
himpunan entitas Mahasiswa dan ada Pula yang berelasi dengan satu entitas pada himpunan
Mahasiswa. Dari sejumlah kemungkinan banyaknya hubungan antar entitas tersebut
Kardinalitas Relasi merujuk kepada hubungan maksimum yang terelasi dari himpunan
entitas yang satu ke himpunan entitas yang lain dan benar juga sebaliknya. Pada contoh
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

53

diatas, maka hubungan maksimum himpunan entitas Mahasiswa kehimpunan entitas Kuliah
adalah lebih dari satu dan demikian Pula hubungan maksimum dari himpunan entitas
Kuliah ke himpunan entitas Mahasiswa adalah Banyak (lebih satu). Dengan demikian
Kardinalitas Relasi antara kedua himpunan entitas adalah Banyak ke Banyak. Kardinalitas
Relasi yang terjadi di antara dua himpunan entitas misalnya A dan B dapat berupa:
a. Satu ke Satu (One to One), yang berarti setiap entitas pada himpunan entitas A. dengan
paling banyak dengan satu entitas pada himpunan B, dan begitu juga sebaliknya setiap
entitas pada himpunan Kardinalitas Relasi B berhubungan dengan paling banyak satu
dengan paling Banyak ke Satu himpunan entitas A.

A
B
C
D

A
B
C
D

b. Banyak ke Banyak (Many to Many),


Dimana setiap entitas pada himpunan entitas A berhubungan dengan banyak entitas pada
himpunan entitas B,

A
B
C
D

A
B
C
D

c. Satu ke Banyak (One to Many), di mana setiap entitas pada himpunan entitas A dapat
berhubungan dengan banyak entitas pada himpunan entitas B, tetapi tidak sebaliknya, di
mana setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan
satu entitas pada himpunan A.

A
B
C
D

A
B
C
D

Banyak ke Satu (Many to One), ke himpunan entitas A).


A
A
B
B
C
C
D
D
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

54

Jadi penggambaran pada contoh yang berarti setiap entitas pada himpunan entitas A
berhubungan Kardinalitas Relasi Banyak ke Satu, di mana himpunan entitas A dengan
paling banyak dengan satu entitas pada himpunan B yang ditempatkan di sebelah kanan dan
himpunan entitas B kita tempatkan sebelah kiri (dan hal ini boleh-boleh saia dilakukan),
maka kardinalitas Relasinya menjadi Satu ke Banyak B, tetapi tidak sebaliknya, di mana
setiap entitas pada himpunan entitas A berhubungan dengan paling banyak satu entitas
himpunan entitas B.
Diagram Entity-Relationship (Diagram E-R)
sebagai keN, pada hiiiipunin i-elasi tcrsebLIt. Ktrcn@i kedua tti-i
Model Entity-Relationship yang berisi komponen-komponen Himpuna ke-N tersebut
sebetulnya berasal dari atribut ke-N, dari Entitas dan Himpunan Relasi yang masing-masing
dilengkapi dengan himpunan entitas yang dihubungkannya, maka keduanya digolongkan
sebagai Key Asing (Foreign-Key).
2.

Relasi satu-ke-banyak (o e-to-i iaiii@)

Relasi Satu ke Satu


Setiap mahasiswa dapat mempelajari lebih dari 1 mata kuliah. Juga sebaliknya, setiap mata
kuliah dapat dipelajari oleh lebih dari satu mahasiswa. Dosen dan himpunan entitas Jurusan
masing-masing memiliki 2 buah atribut saja. Sementara itu, pada himpunan relasi juga
terdapat 2 buah atribut yany secara bersama-sama berfungsi juga.
Derajat Relasi
Keberadaan himpunan relasi memiliki dua fungsi, yaitu untuk menunjukkan matakuliah
mana saja yang diambil oleh seorang mahasiswa atau mahasiswa mana saja yang
mengambil mata kuliah tertentu dan indeks nilai yang diperoleh seorang mahasiswa untuk
mata kuliah tertentu yang tentu saja setelah data indeks nilai tersebut disimpan. Kendati
pada suatu Diagram E-R, notasi yang menunjukkan derajat kebutuhan bahwa relasi antara
satu himpunan entitas dengan himpunan ini tidak sedominan notasi-notasi lain sehingga
kurang diperhatikan entitas yang lain harus dapat diketahui dengan lebih detail. Derajat
relasi ini akan sangat menentukan tabel-tabel. Himpunan entitas Mahasiswa dan himpunan
entitas Kuliah terdapat suatu relasi. Demikian juga antara himpunan entitas Dosen dan
himpunan entitas. Sebagaimana himpunan entitas yang berisi sejumlah entitas. Yang perlu
diperhatikan pengertian relasi dalam pemodelan data himpunan relasi juga beranggotakan
sejumlah relasi individual.
Tahapan Pembuatan Diagiram E-R
1.
Mengidentifikasi dan menetapkan seluruh himpunan entitas akan terlibat
Sebagaimana telah disebutkan, himpunan entitas mewakili sebuah kumpulan entitas /
individu yang jelas eksistensinya dan dapat berdiri sendiri. Tetapi himpunan entitas mana
saja yang akan ditinjau, juga ditentukan seberapa jauh ruang lingkup yang ingin
diakomodasi dalam rancangan basis data kita. Dalam lingkup sistem perkuliahan

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

55

sesungguhnya ada banyak himpunan entitas yang bisa dilibatkan seperti Mahasiswa, Kuliah
Praktikum, Dosen, Asisten, Ruang, Jurusan, Literatur dan lain-lain.
2. Menentukan atribut-atribut key dari masing-masing himpun entitas.
Atribut-atribut ke N, yang disertakan dari himpunan masing-masing entitas merupakan
atribut terpenting yang dapat diidentifikasikan (membedakan) setiap entitas yang ada
didalamnya. Keberadaan atribut ini juga akan memberi keyakinan tentang keberadaan
eksistensinya dari setiap himpunan entitas. Salah satu ciri dari himpunan entitas adalah
kemandiriannya. Kemandirian itu terlihat dari kejelasan atribut yang menjadi k-N, dan
perbedaannya dengan yang ada himpunan entitas yang lain. Dengan mudah dapat
disepakati bahwa pengidentifikasian setiap entitas secara unik di himpunan entitas
Mahasiswa adalah atribut lalu di himpunan entitas Kuliah adalah atribut kode kuliah dan di
himpunan entitas Dosen adalah atribut kode-kul dan dosen merupakan atribut-atribut yang
tidak saling tergantung karena itulah dapat diyakini bahwa Mahasiswa, Kuliah dan Dosen
memang merupakan himpunan entitas yang tepat.
3. Mengidentifikasi dan menetapkan seluruh himpunan relasi antara himpunan
entitas-himpunan entitas yang ada beserta foreign key-nya.
Langkah ini merupakan langkah terpenting dalam Pembentukan Diagram E-R. Ketepatan
dalam menentukan relasi yang terjadi diantara himpunan entitas akan sama menentukan
kualitas rancangan basis data yang dibangun. Relasi yang ditetapkan harus dapat
mengakomodasi semua fakta yang ada dan menjamin semua kebutuhan penyajian data.
1. Menentukan derajat/kardinalitas relasi untuk setiap himpun.
2. Melengkapi himpunan entitas dan himpunan relasi dengan atribi

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

56

MODEL DATA LANJUTAN


Varian Entitas
Idealnya himpunan entitas yang dilibatkan dalam sebuah Diagram E-R adalah himpunan
entitas kuat bebas (Strong Entity Sets). Himpunan entitas demikian tidak memiliki
ketergantungan dengan himpunan entitas lainnya. Bentuk normal tahap Kedua dianggap
belum memadai, karena baru meninjau sifat ketergantungan atribut terhadap key
primernya. Mahasiswa dengan pemilahan atribut alamat-mhs menjadi 3 atribut yang tidak
memenuhi BCNF dan 3NF, tidak tercakup dalam definisi/aturan ini. Hal ini karena untuk
alamat_jalan, nama-kota pada KF yang kedua bukan merupakan key primer ataupun
bagian dari key primer.
Bentuk Normal Tahap Keempat (4st Normal Form dan Bentuk Normal Tahap Kelima
(5st Normal Form)
Penerapan aturan Normalisasi sampai dengan tahap ketiga sesungguhnya sudah sangat
memadai untuk menghasilkan tabel-tabel yang berkualitas baik. Namun demikian, dari
sejumlah literatur dapat pula dijumpai adanya pembahasan tentang Bentuk Normal tahap
Keempat (4 NF) dan Bentuk Normal tahap Kelima (5 NF). Bentuk Normal tahap Keempat
berkaitan dengan sifat Ketergantungan Banyak-Nilai (Multivalued Dependency) pada suatu
tabel yang merupakan pengembangan dari Ketergantungan Fungsional. Sedangkan Bentuk
Normal tahap Kelima merupakan nama lain dari Project-Join Non Form) berkenaan dengan
Ketergantungaan Relasi antar Tabel. Pembahasan kedua bentuk normal yang terakhir ini
cukup kompleks, tetapi manfaatnya sendiri tidak begitu besar.

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

57

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

58

BASIS DATA HARI INI


Sebagaimana perkembangan teknologi komputer pada umumnya, perkembangan dunia
basis data juga sejalan dengan perkembangan tersebut. Perkembangan dunia basis data
banyak terjadi pada penambahan berbagai kelengkapan (feature) DBMS sebagai perangkat
lunak pengelola basis data, lingkup penerapannya dan meningkatnya kompleksitas
perancangan seiring dengan kompleksitas sistem yang ingin dimodelkan dan
diimplementasikan. Namun demikian, sesungguhnya jika ditinjau dari sisi perancangan
(designing), perkembangan tersebut tidak terlalu signifikan. Artinya, bentuk perancangan
basis data 'zaman dulu' dengan 'zaman sekarang' secara umum hampir sama saja. Memang
ada perubahan dalam cara memandang komponen-komponen basis data pada saat bekerja
dengan menggunakan basis data berorientasi objek, misalnya yang merupakan teknologi /
model basis data terbaru. Tetapi komponen-komponen yang digunakan dalam perancangan
dengan model basis data konvensional tetap dapat disetarakan atau diasosiasikan dengan
komponen-komponen perancangan dengan model basis data terbaru. Dengan kata lain,
sekali sebuah perancangan basis data pernah dibuat dengan cukup baik, maka perancangan
tersebut dapat diimplementasikan dengan sama baiknya baik disaat diimplementasikan
dengan DBMS konvensional maupun di saat diimplementasikan dengan DBMS mutakhir.
Perubahan yang paling terasa pengaruhnya terjadi pada cara mengelola basis data tersebut.
Berbeda dengan perancangan basis data, perancangan aplikasi untuk basis data sangat
dipengaruhi oleh lingkungan teknologi yang digunakan. Aplikasi yang dibuat dengan
teknologi perangkat lunak terdahulu jauh berbeda dengan yang dapat dibuat sekarang ini,
baik dalam lingkungan pemrograman berorientasi objek maupun yang lebih baru, yaitu
lingkungan pemrograman berbasis web.
1. Perkembangan DBMS dan Kelengkapannya
Perangkat lunak DBMS Yang sangat luas digunakan pada pertengahan 1980-an hingga
awal 1990-an khusus untuk komputer micro dengan arsitektur stand-alone dan sistem
operasi DOS adalah dbase III+ dan Foxbase. Sedang untuk komputer mini dan mainframe
(multi-user dengan sistem operasi IBM-VMS atau Unix) orang justru tidak menggunakan
DBMS khusus, tapi membangun aplikasi dengan menggunakan bahasa Cobol yang
memang dilengkapi dengan operasi file yang cukup lengkap dan sangat berorientasi ke
basis data (database-minded). Pada saat itu, sebenarnya pembuatan sejumlah perangkat
lunak DBMS besar yang lebih diperuntukkan bagi komputer mini dan mainframe telah
dimulai. Namun demikian, karena DBMS tersebut masih dalam tahapan penelitan dan baru
dikenal di dunia akademik, pemakaiannya di dunia komersial belum banyak diterapkan.
Sejak awal 1990-an, saat komputer mikro sedang berjaya dengan adanya
perkembangan teknologi jaringan komputer lokal (LAN) yang diperkenalkan oleh Novell,
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

59

pemanfaatan dbase III+ semakin luas dan diperkaya dengan perangkat lunak pembangun
aplikasi (development tools) untuk basis data semacam Clipper dan FoxPro. Sementara
untuk kelas komputer yang lebih tinggi (mini dan mainframe) sudah mulai lahir produkproduk DBMS, seperti IBM-DB2, SDK-Ingres dan Oracle, yang pemakaiannya tetap
dipadukan dengan bahasa pemrograman yang populer saat itu, yaitu COBOL. DBMSDBMS itu yang selanjutnya menjadi cikal-bakal DBMS yang sekarang banyak digunakan.
Sejalan dengan perkembangan teknologi perangkat keras yang membuat C, komputer
semakin cepat dan kapasitas memori (baik memori utama maupun memori sekunder) yang
semakin besar, penerapan DBMS dengan kemampuan yang lebih kaya menjadi layak
(feasible) untuk diterapkan. Hal itu terjadi baik untuk komputer mikro maupun untuk
komputer mini dan mainframe. Bahkan dengan antusiasme dari Microsoft selaku pionir
perangkat lunak dalam komputer mikro, teknologi basis data dan DBMS di antara kelaskelas komputer (mikro, mini dan mainframe) sudah tidak jelas lagi batasnya. DBMS yang
digunakan untuk jaringan komputer mikro sudah sama bagusnya dengan DBMS Yang
digunakan untuk jaringan komputer mini/mainframe. Dengan semakin kaburnya batas
teknologi antara berbagai kelas komputer tersebut, hampir semua DBMS telah disediakan
dalam berbagai platform dan kelas komputer. Kita misalnya, akan dengan mudah
menemukan DBMS Oracle untuk versi HP-Unix dalam komputer mini atau DBMS Oracle
untuk versi MSWindows NT dalam komputer mikro. Dengan demikian, saat ini sudah tidak
beralasan lagi jika kita melakukan pemilahan kelompok DBMS berdasarkan kelas
komputer. Yang masih bisa diterima barangkali pengelompokkan DBMS berdasarkan
orientasi pemakaiannya dan berdasarkan teknologinya.
Berdasarkan orientasi pemakaiannya, kita dapat mengelompokkan DBMS dalam 2
katagori, yaitu :
1. DBMS yang berorientasi untuk satu atau sedikit pemakai
MS-Access, dBase/Clipper, FoxBase, Borland-Paradox merupakan contoh-contoh DBMS
yano, lebih diorientasikan untuk satu pemakai dan karena itu dapat dengan mudah dipasang
di komputer pribadi (personal contputerIPC).
Jika awalnya, struktur tabel hanya mencakup pendefinisian nama-field, tipe dan
ukurannya, DBMS yang lebih baru juga memasukkan feature boleh tidaknya field
dikosongkan, nilai awal (default), deskripsi field dan bentuk validasi (pendefinisian domain
nilai) sebagai bagian dari struktur tabel. Tipe data Yang dapat ditangani oleh DBMS terbaru
sudah semakin banyak, seperti untuk mengakomodasi kebutuhan penyimpanan data teks
Yang panjang, teks berformat gambar, data OLE, uang dan data autoincrement (Yang
nilainya bertambah otomatis).
Bersama dengan komponen utamanya, DBMS kelompok ini juga seringkali
dilengkapi dengan berbagai utilitas tambahan untuk mempermudah pemakai dalam
menggunakan DBMS, seperti untuk pembuatan query, pembuatan laporan, pembuatan
screen untuk berinteraksi dengan data, bahkan hingga pembuatan (men-getierate)
perintah/makro basis data secara otoinatis melalui pendefinisian menu dan tampilan layar.
DBMS kelompok ini, karena memang lebih diorientasikan untuk pemakai tunggal, juga
sering dimanfaatkan sebagai media pembangun aplikasi basis data, schingga DBMS dan
aplikasi basis data jadi menyatu bahkan aplikasi basis data sendiri cenderung dianggap

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

60

sebagai objek basis data sebagaimana tabel-tabel data Yang kita gunakan untuk menyimpan
data.
Karena orientasi pemakai seperti itu, maka DBMS-DBMS kelompok ini, lemah
dalam sejumlah aspek Yang justru harus sangat diperhatikan pada kelompok DBMS Yang
kedua, seperti yang berkaitan dengan masalah pengamanan basis data, pemeliharaan basis
data, mengendalikan persaingan pemakaian basis data dan lain-lain. Objek-objek basis data
basis pengelolaan DBMS kelompok pertama ini akan sangat transparan bagi para pemakai
dan sisten, operasi Yang kita gunakan. Melalui sistem operasi kita dapat dengan mudah
menemukan file-file basis data sebagaimana file-file biasa, walaupun tidak sedang bekerja
dengan DBMS Yang bersangkutan. Karena sifatnya Yang transparan ini, maka file-file
tersebut menjadi terbuka untuk diakses dan dikelola oleh perangkat lunak Yang lain asalkan
perangkat lunak tersebut dapat mengenali format penyimpanan datanya.
2.
DBMS Yang berorientasi untuk banyak pemakai
Oracle, Borland-Interbase, MS-SQL Server, CA-OpenIngres, Sybase, Informix, IBM-DB2
merupakan contoh-contoh DBMS Yang lebih diorientasikan untuk banyak pemakai dan
karena itu lebih ditujukan untuk pemakaian pada sistem jaringan komputer (LAN ataupun
WAN). Tidak sebagaimana kelompok pertama, DBMS pada kelompok ini sangat tegas
memisahkan fungsi pengelolaan basis data dan fungsi pembangunan aplikasi. Jika pada
kelompok pertama, objek-objek basis data bersifat transparan, maka objek-objek Yang
dihasilkan oleh DBMS kelompok kedua bersifat sebaliknya. Transparansi hanya berlaku
bagi DBMS Yang bersangkutan, sehingga pemanfaatan objek-objek basis datanya hanya
mungkin dilakukan dengan lebih dulu mengaktifkan DBMS tersebut. Fungsi-fungsi
pendukung (utilitas) Yang umumnya disatukan pada DBMS kelompok pertama, disediakan
terpisah pada DBMS kelompok kedua ini, bukan saja karena fungsi-fungsi pendukung
tersebut tidak relevan untuk selalu diaktifkan, tetapi juga karena fungsi pengelolaan Yang
ditangani DBMS kelompok ini memang sudah sedemikian banyak dan jauh lebih penting.
Pada versi-versi terbaru dari DBMS kelornpok kedua ini, seperti juga di kelompok pertama,
perluasan definisi struktur data dan pengkayaan tipe-tipe data baru juga diakomodasi.
Perbedaan Yang sangat mencolok di antara kedua kelompok DBMS terletak pada lingkup
fungsi pengelolaan basis data. Selain memiliki fungsi-fungsi standar (Yang juga dimiliki
DBMS kelompok pertama) seperti pembentukan objek-objek basis data (tabel dan indeks),
manipulasi data (penambahan, pengubahan dan penghapusan data) dan pencarian data
(query), f'ungsi pengelolaan DBMS kelompok kedua ini juga mcnangani aspek-aspek :
Pengamanan objek basis data terhadap akses pemakai Yang berhak (aspek securitas dan
bentuk-bentuk operasi Yang diperbolehkan (aspek integrity).
Penanganan pemulihan data akibat kegagalan operasi basis data (aspek recovery), baik
yang disebabkan oleh operasi-operasi basis data Yang salah atau menimbulkan konflik,
maupun disebabkan oleh faktor-faktor eksternal seperti mesin Yang (crash), disk Yang
rusak atau terputusnya koneksi jaringan .
Pembuatan data cadangan (aspek backup) yang dapat dilakukan secara insidental maupun
periodik, Yang dapat dilakukan statis (dengan menonaktifkan pemakaian basis data) atau
secara dinamis (tanpa menghalangi pemakaian basis data para pemakai). Pengendalian
persaingan pemakaian objek-objek basis data banyak pemakai pada saat Yang sama (aspek
concur control) demi terjaminnya konsistensi data dan optimal pemakaian setiap sumber
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

61

daya mesin. Optimalisasi pengerjaan query (aspek query processing) diberikan oleh
aplikasi pada server DBMS demi peningkatan performansi / kecepatan pengerjaannya.
Optimalisasi pemanfaatan sumber daya (aspek processing/database) dengan
memperhatikan optimal pemakaian sumber daya mesin seperti prosesor, disk dan
mengutamakan jika tersedia lebih dari satu dalam sebuah mesin.
Di samping fungsi pengelolaan basis data Yang demikian ban produsen pembuat DBMS
juga menyiapkan modul-modul khusus (program utilitas) Yang erat hubungannya dengan
pengelolaan basis data. Program-program tersebut ada Yang dapat diaktifkan ditempat
DBMS berada atau dipasang dan dijalankan di pemakaian (di sisi client atau work-station).
Program-program utility tersebut dapat berupa:
Program penentuan awal untuk pengalokasian sumber di server/basis data (program setup)
Yang dapat menetapkan prosesor mana saja ada lebih dari satu) Yang digunakan dalam
pengelolaan basis data, berapa besar ruang memori utama Yang digunakan untuk mengeloia
data, berapa banyak batas pemakai kotikuren Yang boleh terjadi, berapa banyak ruang
penyimpanan (disk) maksimal yang digunakan untuk penyimpanan data, user mana saja
yang boleh mengakses basis data dan lain-lain.
Program untuk memonitor pelaksanaan pengetolaan basis data yang dapat digunakan untuk
melihat tingkat pemakaian kesibukan DBMS bahkan ada pula yang dilengkapi dengan
fungsi intervensi (misalnya untuk mematikan proses berat yang sangat menghambat
pelaksanaan proses-proses lain).
Program untuk pengaturan dan pengoptimalan penggunaan berbagai sumber daya server
dan basis data (program tuning) selama proses pengelolaan basis data berlangsung.
Berdasarkan perkembangan teknologinya, kita dapat memilah DBMS dalam beberapa
katagori yang jumlahnya bisa bertambah seiring dengan perkembangan teknologi di masa
yang akan datang. Beberapa kategori DBMS itu adalah:
1.
DBMS Konvensional (Legacy DBMS)
Sebagian besar DBMS yang ada saat ini masih dapat dikatagorikaa sebagai DBMS
Konvensional yang sudah menjadi standar pemakai di berbagai tempat. DBMS
Konvensional ini meliputi juga DBMS untuk pemakai tunggal maupun banyak pemakai
tetapi dengan menerapkan model basis data lama, yaitu model jaringan, model hirarkis,
ataupun model yang lebih populer, model relasional.
DBMS Berorientasi Objek (Object-OrientedDBMSIOODBMS)
DBMS Berorientasi Objek merupakan respon terhadap perkembangan yang terjadi dalam
dunia pemrograman (pemrograman berorientasi objek).
DBMS Objek Relasional (Object-RelationalDBMSIORDBMS)
DBMS Objek Relasional merupakan DBMS yang merupakan kompromi antara DBMS
Relasional dengan yang berorientasi objek yang memang masih dalam tarap
pengembangan, Secara objektif, DBMS ini sebenarnya masih menerapkan model relasional
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

62

sebagai basis pengelolaan datanya. Aspek Objek dalam DBMS ini merupakan tambahan
feature yang bisa digunakan ataupun tidak digunakan sama sekali. Jika DBMS sudah
menjadi standar dan mulai banyak diterapkan, hampir bisa dipastikan DBMS kompromi ini
tidak memadai lagi untuk digunakan.
4.
DBMS untuk Web/Internet (Internet DBMS)
DBMS untuk Web/Internet merupakan DBMS yang dibuat untuk keperluan khusus yaitu
menangani dokumen-dokumen (halaman-halaman) Web yang banyak digunakan di dunia
Internet.
5. Lingkup Penerapan Basis Data
Awalnya, pembangunan Model Basis Data bertitik tolak dari sistem pengelolaan file. Jika
sistem operasi lebih melihat file secara utuh yang merupakan objek yang tidak bisa dibagi
lagi, maka DBMS melihat file sebagai objek yang berisi banyak data yang disusun secara
sistematis yang masing,-masing dapat dikenai berbagai operasi secara individual. Sistem
pengelolaan file yang lebih kaya semacam ini direalisasikan dalam model jaringan, model
hirarkis dan kemudian model relasional. Model-model basis data tersebut memiliki
sejumlah karakteristik seperti Keseragaman (uniformity). Sekian banyak data dikelola
dengan struktur dan ukuran (byte) yang sama.
Berorientasi Record (Record Otientation)
Satuan-satuan data utama terdiri atas record-record yang sama panjangnya, Satuan Data
Kecil (Small Data Items). Ukuran setiap record relatif pendek (umumnya berukuran hinoga
beberapa ratus byte).
Field-Field Atomik (Atomic Fields).
Field-.field dalam record relatif pendek dan sama ukurannya. Field tidak mungkin
terbentuk dari struktur yang lebih kecil lagi jadi sifatnya atomik). Dalam beberapa tahun
terakhir, teknologi basis data dengan karakteristik semacam itu sudah tidak memadai lagi
untuk diterapkan pada sejumiah aplikasi terbaru. Aplikasi-aplikasi seperti itu diantaranya
adalah :
* Computer-Aided Design(CAD)
Basis data untuk CAD harus dapat menampung data yang berkaitan dengan desain
perekayasaan yang berbentuk grafis seperti komponen-komponen dengan berbagai properti
dan relasi antar komponen serta versi-versi lama dari desain. Penyimpanan data yang
berbentuk grafis di samping berukuran besar juga sangat bervariasi ukurannya.
* Computer-Aided Software Engineering (CASE)
Basis data 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 variabel dan histori pembangunan aplikasi.
* Basis Data Multimedia
Basis data multimedia harus dapat mengelola gambar, data spasial (ruang), audio (suara dan
musik), video dan sejenisnya. Basis data semacam ini dibutuhkan untuk menyimpan fotofoto, data geografis (pemetaan), sistem voice-ditail dan aplikasi-aplikasi grafis.

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

63

Office Information System (OIS)


Otomatisasi perkantoran mencakup pemakaian aplikasi yang berbasis work-station untuk
pembuatan dan pengambilan dokumen, untuk surat menyurat clektronik, untuk mengatur
jadual pertemuan dan sebagainya. Sebuah basis data OIS harus dapat mengakomodasi
kebutuhan untuk mencari jadual yang berhubungan atau mencati dokumen tertentu baik
berdasarkan judul maupun isi dokumen.
* Basis Data Hypertext
Hypertext adalah teks yang diperkaya dengan link (penghubung) manusia dan yang
menunjuk ke dokumen-dokumen yang lain. Basis data di dunia internet atau yang lebih
dikenal denganWorld-Wide-Web merupakan basis data hypertext bahkan sekaligus juga
termasuk basis data multimedia sehingga lebih tepat disebut hypermedia). Basis data
hypertext harus mampu melakukan pengambilan dokumen berdasarkan link dan melakukan
query terhadap dokumen berdasarkan strukturnya.
Di sisi lain, aplikasi-aplikasi yang berangkat dari bisnis-bisnis konvesional juga
turut berkembang menjadi semakin kompleks sehingga tidak lagi mampu diakomodasi
secara komprehensif oleh model-model konvensional tersebut.
Basis Data Berorientasi Objek (Object Oriented Database)
Gagasan tentang basis data berorientasi objek tidak bisa tidak terinspirasi oleh gagasan
yang sama dalam dunia pemrograman. Awalnya, dunia perangkat lunak sesuai dengan
teknologi perangkat keras saat itu dibangun di atas konsep-konsep pemrograman linier.
Setelah era pemrograman linier yang penuh dengan keterbatasan berlalu, orang mulai
beralih ke konsep baru yang lebih baik yang pada dasarnya merupakan pengembangan dari
konsep pemrograman terdahulu, yaitu pemrograrnan terstruktur atau pemrograman modular
atau sering pula disebut pemrograman prosedural. Berikutnya, konsep ini kendati telah
banyak berjasa dalam memberikan solusi berbagai persoalan, juga tidak lepas dari sejumlah
keterbatasan.

Gagasan

tentang

pemrograman

berorientasi

objek

(object-oriented

programming/OOP) segera saja menarik perhatian orang karena berbagai kelebihan yang
dimilikinya. Dalam dunia OOP, diperkenalkan adanya objek dalam pemrograman. Objek
meniadi komponen utama pemrograman OOP. Kita dapat mengambil objek dalam OOP

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

64

sebagaimana objek dalam kenyataan sehari-hari. Seorang manusia sebagai sebuah objek,
misalnya, memiliki sifat-sifat dan kepemilikan yang khusus seperti nama, alamat, usia,
tinggi badan, jenis kelamin dan sebagainya yang juga dimiliki manusia lain tapi dengan
nilai-nilai yang berbeda. Seorang manusia sebagai sebuah objek dapat melakuk pekerjaanpekerjaan khusus seperti makan, bergerak, tidur dan seterusnya yang tentu dapat pula
dikerjakan oleh manusia lain tapi belum tentu dapat dikerjakan oleh objek yang jenisnya
berbeda, misalnya sepeda (sepeda bisa bergerak tapi tidak dapat makan dan tidur).
Konsep objek tersebut kemudian diterapkan dalam lingkup pemrograman. Dalam
sebuah program, menu adalah sebuah objek, tampilan layar adalah sebuah objek, tulisan
(teks) yang tertera di layar adalah sebu objek, isian tempat user memasukkan data adalah
sebuah objek dan seterusnya. Namun sedikit berbeda dengan objek manusia dan sepeda
diatas, penggunakan istilah sifat / kepemilikan digantikan dengan atribut (atau properti)
dan istilah kerja digantikan dengan metoda. Penerapan konsep objek tersebut membawa
konsekuensi-konsekuensi baru yang sangat menarik, seperti adanya kepemilikan objek
(ownership) hubungan ayah-anak di antara objek (parent-child relationship pewarisan
(inheritance) atribut dan metoda dari kelas objek yang lebih tinggi ke kelas objek di
bawahnya, pembungkusan (encapsulation) atribut dan metoda suatu objek oleh objek
lainnya dan pemaksaan perubah perilaku (polymorphism) suatu objek menjadi objek lain.
Penerapan konsep objek ini membuat penulisan pemrograman menjadi lebih sederhana,
lebih kompak, lebih fleksibel tetapi dengan kemampuan yang jauh lebih baik (powerful).
Keunggulan yang ditunjukkan oleh pemrograman berorientasi objek kemudian
menerbitkan gagasan untuk juga menerapkan konsep yang sama dalam lingkungan
pengelolaan basis data. Riset dan pembuat prototipe DBMS yang secara khusus mengelola
basis data yang berorientasi objek ini sudah lama dilakukan. Malah saat ini sudah ada
DBMS berorientasi objek (Object-Oriented DBMS/OODBMS) yang dipasarkan, seperti
CA-Jasmine. Kendati belum semapan apa yang telah dicapai oleh OOP, di masa datang
pemakaian OOP DBMS cukup menjanjikan. Belum populerya pemakaian OOP DBMS
selain disebabkan oleh beberapa keraguan akan kehandalannya, juga karena upaya
konvergen sistem dari DBMS konvensional ke OOP DBMS meniadi sangat berarti kita
ingin benar-benar menerapkan aspek object-oriented ini dalam sistem yang baru. Karena,
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

65

jika melakukan konversi sistem yang ini (konversi langsung), maka kita tidak akan
memperoleh keuntungan yang berarti. Dalam basis data berorientasi objek, secara
sederhana, kita dapat membayangkan objek sebagaimana entitas dalam model E-R.
Orientasi objek pada basis data ini didasarkan pada terjadinya pembungkusan (menyatunya)
data dan aksi yang berhubungan dengan suatu objek menjadi sebuah unit tunggal. Secara
konseptual, semua interaksi di antara sebuah objek dan sistem yang menjadi lingkungannya
dijalankan melalui pesan (message), atau tepatnya sekumpulan pesan. Secara umum,
sebuah objek dalam basis data berasosiasi dengan :
Sekumpulan variabel/atribut yang berisi data untuk objek tersebut; kita dapat
menyetarakannya dengan atribut dalam model E-R.
Sekumpulan pesan (message) yang dapat menimbulkan reaksi objek tersebut, setiap pesan
dapat memiliki satu, dua atau lebih parameter atau malah tanpa parameter.
Sekumpulan metoda (method), yang masing-masing merupakan bagian utama aksi (code)
yang mengerjakan sebuah pesan (message), sebuah metoda akan memberikan sebuah nilai
sebagai respon ke message yang memintanya.
Kita dapat mengilustasikan hal-hal tersebut dengan mengambil contoh tentang entitas
mahasiswa dalam basis data perkuliahan. Setiap entitas mahasiswa memiliki variabelvariabel seperti nim, nama-mhs, alamat-mhs dan tgLahir yang berturut-turut menyimpan
data nim, nama, alamat dan tanggal lahir mahasiswa. Di samping itu, terhadap setiap enfitas
tersebut ditetapkan pula sejumlah message seperti total-Sks, hitung-ip, panjangdata yang
masing-masing memiliki fungsi yang khusus/berbeda. Sebagaimana variabel, jumlah dan
macam message yang kita gunakan/sediakan bisa bertambah dan berkurang tergantung
kebutuhan dan relevansinya dengan pemanfaatan basis data di dalam sistem. Message
hitung-ip, misalnya, digunakan untuk menghitung dan sekaligus memberikan hasil tentang
nilai Indeks Prestasi dari entitas mahasiswa tertentu. Aplikasi yang kita buat dan
memanfaatkan basis data semacam ini hanya perlu memberi/menggunakan message yang
telah disediakan tanpa perlu tahu bagaimana cara mendapatkannya. Oleh basis data,
message yang diterima terhadap suatu objek (entitas) akan diproscs oleh sekumpulan kode
(sebuah metoda) yang juga telah melekat (terenkapsulasi) pada objek tersebut. Dengan
begitu, penggunaan perintah-perintah yang berhubungan dengan pengaksesan basis data
akan menjadi lebih mudah dan sederhana dan akan lebih bertahan lama. Jika kelak di
kemudian hari, formula yang digunakan untuk menghitung nilai Indeks Prestasi mahasiswa
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

66

berubah, kita tidak perlu melakukan perubahan di aplikasi. Perubahan hanya dilakukan
pada pengkodean metoda yarig berhubungan dengan message untuk menghitung Indeks
Prestasi tersebut. Di sinilah salah satu keunggulan dari basis data berorientasi objek.
BA / DA
Metoda dari sebuah objek dapat dikelompokkan dalam metoda read only dan metoda
update. Metoda read-only tidak akan mempengaruhi nilai-nilai variabel dari suatu objek,
sementara metoda update date mengubah nilai-nilai variabel. Demikian juga dengan
message yang didasarkan pada metoda yang melaksanakan message tersebut.
Atribut Turunan (Derived Attribute) sebuah entitas dalam model E-R dapat
diekspresikan dalam model berorientasi objek sebagai message read-only. Pada contoh di
atas hitung-ip merupakan message read-only. Message hitung-ip ini dapat kita setarakan
dengan atribut turunan ip yang dapat kita tambahkan tabel Mahasiswa. Sedangkan ubahdata yang berfungsi untuk melakukan perubahan nilai-nilai variabel suatu objek (entitas)
mahasiswa merupakan message update.
Biasanya, akan banyak objek yang memiliki kesamaan dalam basis data Memiliki
kesamaan artinya dapat memberi respon terhadap niessageya sama, menggunakan metoda
yang sama dan memiliki variabel-variabel dengan nama dan tipe yang sama. Objek-objek
dengan kesamaan tersebut dapat dikelompokkan dalam sebuah kelas (class). Setiap objek
yang meniadi anggota sebuah class biasa disebut instance. Semua objek dalam sebuah
class memiliki definisi yang sama, walaupun berbeda pada nilai nilai variabelnya. Sebuah
class dapat diasosiasikan dengan sebuah himpunan entitas dalam model E-R. Contoh class
dalam basis data perkuliahan adalah Mahasiswa, Dosen dan Kuliah.
Struktur basis data berorientasi objek dibangun atas banyak clas Sejumlah class seringkali
memiliki kesamaan. Sebagai contoh kita memiliki class Mahasiswa dan class Dosen.
Kedua class ini memiliki kesamaan karena keduanya memiliki variabel yang berisi nama
dan alamat setiap objek. Kedua class ini dapat 'disatukan' dalam class baru yaitu class
Civitas-Akademika. Jika lebih lanjut lagi kita membuat spesialisasi atas class Dosen
dengan memilahnya menjadi Dosen Tetap dan Dosen Tidak Tetap.

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

67

Adanya hirarki class-class tersebut memberi konsekuensi bahwa message dan


metoda yang dimiliki class yang ada diatas (super-class) juga berlaku untuk class di
bawahnya (sub-class). Jadi variabel nama dan alamat pada class civitas akademika juga
menjadi variabel bawah class mahasiswa, class dosen maupun class dosen-tetap dan class
dosen tidak tetap. Begitu juga variabel kode-dos dan metode ubah data yang ada di class
dosen menjadi variabel dan metoda class dosen-tetap dan dosen - tidak - tetap. Fenomena
ini disebut seba pewarisan (inheritance). Konsep hirarki class dalam model berorientasi
objek ini setara dengan spesialisasi (relasi 'ISA') pada model E-R.
Ada 3 Cara yang dapat dipilih untuk mengimplementasikan basis data berorientasi
objek. Pertama, dengan menambahkan konsep model berorientasi objek pada DBMS yang
sudah ada yang dapat dilakukan baik oleh pembuat DBMS-nya sendiri ataupun oleh para
pemakai yang sudah ahli. Cara pertama ini menghasilkan sebuah model basis data baru
yang disebut basis data objek-relasional. DBMS yang mengakomodasi feature ini disebut
Object-Relational DBMS, karena aspek-aspeknya merup kombinasi antara RDBMS dan
OODBMS. Cara kedua adalah dengan memanfaatkan bahasa pemrograman berorientasi
objek yang dalam mengkonversi format data relasional menjadi format data yang
berorientasi objek. Cara ini merupakan Cara pendekatan yang paling umum digunakan saat
ini, misalnya dengan menggunakan DBMS MS-SQL Server (yang merupakan DBMS
relasional) dan development tools MS-Visual Basic (yang memiliki bahasa pemrograman
berorientasi objek). Dan cara ketiga adalah dengan memanfaatkan DBMS yang sudah
berorientasi objek. Kendati DBMS semacam ini belum populer dan masih dalam tahap
standarisasi dan sosialisasi, tetapi sudah mulai ban digunakan. Contoh DBMS yang
demikian, seperti yang telah disebut sebelumnya, adalah CA-Jasmine.
Basis Data untuk Multimedia
Akhir-akhir ini, basis data banyak diarahkan untuk juga dapat menampung data
multimedia, seperti gambar, suara, musik dan video (cerita bergambar). Saat ini, data
multimedia kebanyakan disimpan di luar basis data, yaitu sebagai sistem file biasa yang
terpisah dari basis data, Karena terpisah, pada basis data disimpan field-field tambahan
yang bersifat deskriptif yang menyatakan berbagai sifat (property) dari tiap data multimedia
dan lokasi fisik di mana data multimedia tersebut berada. Akan tetapi cara ini tentu saja
tidak memungkinkan terpenuhinya sejumlah kebutuhan seperti melakukan pengindeks-an
berdasarkan data multimedianya yang selanjutnya dipakai untuk keperluan query. Karena
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

68

itu, perlu ada DBMS yang dapat mengelola data multimedia di dalam basis data. Di dalam
basis data berarti bahwa data multimedia tersebut sama kedudukannya sebagaimana fieldfield data sederhana, tetapi dengan perlakuan yang sedikit berbeda, karena ada sejumlah isu
yang juga harus terpenuhi jika data multimedia tersimpan di dalam basis data, yaitu:
basis data harus dapat mengakomodasi objek-objek yang besar, karena data multimedia
seperti video dapat membutuhkan ruang penyimpanan hingga beberapa GB (gigabyte).
adanya fasilitas untuk pengambilan data berdasarkan kemiripan (similari), based retrieval
yang diperlukan oleh banyak aplikasi basis data multimedia. Contohnya, pada basis data
yang menyimpan data sidik jari, ada kebutuhan untuk mencari data sidik jari (yang
berbentuk gambar) yang sama atau memiliki kemiripan dengan batas toleransi tertentu.
pencambilan sejumlah data dengan tipe tertentu, seperti musik (audio) dan video, juga
mensyaratkan adanya kecepatan pengambilan yang tetap dan tertentu (continuous-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.
Similarity-Based Retrieval
Pada sejumlah aplikasi multimedia, data direpresentasikan hanya sebagai pendekatan pada
fakta yang sesungguhnya. Contoh yang sudah disebutkan adalah data sidik jari. Contoh
lainnya :
Data foto (pictorial data)
Dua foto atau gambar yang sedikit berbeda dan disimpan dalam basis data dapat dianggap
sama oleh seorang pemakai. Logo perusahaan atau merk dagang, misalnya, bisa kita nilai
memiliki kemiripan dengan logo perusahaan atau merk dagang lain yang lebih dulu ada.
Data audio
Sudah ada aplikasi yang menyediakan antar muka (interface) yang berbasis suara (audio),
sehingga pemakai dapat memberi perintah pada aplikasi dengan menggunakan suaranya.
Suara juga dapat menjadi semacam password untuk mengidentifikasi seseorang.
Pengenalan suara tersebut dilakukan dengan pembanding kemiripan suara yang diberikan
dengan basis data suara yang telah ada lebih dulu.
* Data tanda tangan
Data tanda tangan dapat dijadikan sebagai pengidentifikasi seseorang. Karena seseorang
tidak mungkin membuat tanda tangan yang benar-benar sama, maka pencari data yang
berbasis kemiripan data diperlukan. Kemiripan memang seringkali bersifat subjektif dan
sangat tergantung pada persepsi user. Kendati demikian, sudah ada sejumlah algoritma
yang dapat dipakai untuk memenuhi kebutuhan pembandingan atau pencari data yang
berbasis kemiripan tersebut dengan kualitas yang sangat memadai.
Continuous-Media Data
Tipe data yang paling penting yang berkenaan denoan conttinuous-media data adalah data
audio dan video. Sistem cotitinuous-media ditangani dengan volume data yang besar dan
kebutuhan transfer data yan- real time (tepat waktu) :
t,
Data harus dapat terkirim secara konstan tanpa adanya kesenjangan pada tampilan audio
ataupun video yang dihasilkan.
Data harus dapat terkirim dengan kecepatan yang dapat ditampung oleh sistem buffer yang
ada.
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

69

Sinkronisasi diantara aliran data yang berbeda harus dapat terpelhara. Sebagai contoh, suara
orang yang berbicara (audio) harus sesuai dengan gerakan bibir yang terlihat sebagai
gambar video.
Kebutuhan di atas dapat terpenuhi dengan kerjasama yang baik antara format/pola
penyimpanan data tersebut dalam basis data dan strate algoritma yang digunakan dalam
aplikasi yang memanfaatkan data tersebut.
Format Data Multimedia
Karena besarnya ukuran yang dibutuhkan untuk merepresentasikan data multimedia, maka
menjadi penting sekali jika data tersebut dapat disimpan dan ditransfer dalam bentuk yang
terkompresi. Karena ukuran data terkompresi jauh lebih kecil, maka ruang penyimpanan
yang dibutuhkan akan lebih sedikit dan demikian juga dengan waktu yang dibutuhkan
untuk transfer data. Memang benar, merepresentasikan data dalam bentuk yang terkompresi
juga membutuhkan waktu tambahan (time-overhead) khususnya untuk melakukan proses
pengkodean (encoding) pada saat penyimpanan dan penguraian kode (decoding) pada saat
penayangan data pada pemakai. Tetapi mengingat besarnya data, waktu untuk encoding
decoding yang tergantung pada kecepatan prosesor dan pengaksesan memori utama akan
relatif lebih kecil bila dibandingkan dengan waktu yang dibutuhkan untuk baca-tulistransfer data yang tergantung pada kecepatan kerja memori sekunder/disk jika tidak
terkompresi. Data berupa gambar (image), misalnya, sering disimpan dalam format
kompresi. Yang banyak digunakan adalah format JPEG, yang diambil dari nama
penciptanya, yaitu Joint Picture Experts Group. Kita juga dapat memanfaatkan format ini
untuk menyimpan data video, walaupun ada format lain yang lebih umum digunakan.
MPEG (Motion Picture Experts Group) juga telah membuat standar untuk mengkompresi
data video dan audio dengan menggunakan teknik kesamaan (commonalities) di antara
sekuen/potongan frame-frame video dan audio untuk mendapatkan derajat kompresi yang
lebih besar. Standar MPEG-I mampu menyimpan 1 menit data video dan audio (dengan
kecepatan 30 frame per detik) hanya dalam 12.5 MB (bandingkan dengan penyimpanan
dalam format JPEG untuk video yang membutuhkan 75 MB atau bahkan jika tidak
dikompresi dan disimpan dalam format BMP yang membutuhkan hingga 800 MB). Akan
tetapi, format MPEG-1 juga menghasilkan penurunan pada kualitas hasil (khususnya
video). Standar format kompresi yang lebih baik adalah MPEG-2 yang dapat menghasilkan
kualitas gambar yang lebih baik, tapi dengan kebutuhan ruang penyimpanan yang sedikit
lebih besar. MPEG2 dapat menyimpan 1 menit data video dan audio dalam 17 MB.
Basis Data untuk Internet (Web Technologj)
World Wide Web (www atau Web saja) merupakan sistem informasi terdistribusi yang
berbasis hypertext. Dokumen-dokumen yang menjadi unsur utama di dalam Web dapat
dinyatakan dalam beberapa tipe. TIP yang paling populer adalah dokumen hypertext yang
disusun memakai bahasa khusus, seperti HTML (Hypertext Markup Language). Dokumen
HTML terdiri atas teks, spesifikasi jenis huruf (font) dan instruksi format lainnya. Di
dalamnya juga terdapat link ke dokumen lainnya atau kehalaman lain pada dokumen yang
sama. Gambar dan suara juga diakses dengan menggunakan link (ke file gambar atau suara
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

70

tersebut). Para pemakai (user) sistem Web akan melihat tampilan teks yang terformat
bersama dengan gambar, bukannya teks awal (yang masih bersama sejumlah instruksi
pemberian format. Secara visual tentu teks terformat dan bergambar akan lebih menarik
perhatian para pemakai. Lebih jauh lagi, dokumen yang terlihat oleh pemakai merupakan
dokumen hypertext yang dengan program browser tertentu, pemakai dapat mengklik
(menekan tombol mouse) pada lokasi/daerah teks tertentu dan dokumen untuk kemudian
terhubung (berpindah) ke lokasi/dokumen. Program browser merupakan program khusus
untuk menterjemahkan dan mengerjakan instruksi-instruksi format terhadap teks dan
gambar yang hasilnya kemudian disajikan pada para pemakai. Program-program browser
yang banyak digunakan saat ini seperti Netscape-Navigator Microsoft-Internet Explorer.
Dalam perkembangan selanjutnya, program browser terbaru juga mampu menjalankan
bahasa pemrograman khusus seperti java (yang dibuat oleh Sun-Microsystem), yang
memugkinkan dokumen-dokumen berisi program yang dapat dieksekusi di komputer (site)
milik pemakai. Dengan begitu, dokumen menjadi aktif tidak sebagaimana sebelumnya yang
lebih bersifat pasif.
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 ( Berikut ini adalah sebuah contoh URL:
http://www.fath.com/buku/basis-data
Bagian pertama dari URL menunjukkan bagaimana dokumen dapat diakses. Potongan 'http'
menunjukkan bahwa dokumen harus diakses dengan menggunakan hypertext Transfer
Protocol, yang berupa sebuah protokol untuk pentransferan dokumen HTML. Bagian kedua
padat URL ('www.fath.com') menunjukkan nama unik dari sebuah mesin Internet, Lalu
bagian sisa pada URL merupakan nama path yang menunjukkan lokasi file pada mesin
tersebut. Dengan demikian, URL mernberikan nama unik secara global untuk setiap
dokumen yang dapat diakses oleh sistem Web. Karena URL mudah dibaca dan terbuka
untuk diakses, maka setiap orang dapat menggunakan secara langsung untuk mengakses
dokumen tertentu dan berpindah-pindah dari satu dokumen ke dokumen lain bahkan dari
satu mesin ke mesin lain.
Servey untuk Web (Web serves)
HTTP menyediakan fasilitas yang bagus, di samping transfer dokumen yang mudah, juga
melakukan enkripsi pada dokumen demi alasan keamanan. Bagian nama dokumen dalam
URL dapat mengidentifikasi sebuah program executable, yang ketika dijalankan, akan
menghasilkan dokumen HTML. Sebuah server menerima perrnintaan untuk pengambilan
dokumen tertentu, server mengeksekusi program tersebut dan mengirimkan dokumen
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

71

HTML yang dihasilkan program tersebut. Lebih jauh lagi, client Web dapat mengirimkan
argumen-argumen tambahan yang akan digunakan program pada saat dieksekusi. Dengan
begitu, pembentukan dokumen dapat menjadi bervariasi karena ditentukan oleh argumenargumen yang disertakan ke server tersebut. Sebagaian dari feature demikian, sebuah
Server Web dapat dengan mudah melayani berbagai macam layanan informasi.

Bahasa Penayangan Web (Web Display Language)


Ada sejumlah bahasa yang dapat digunakan untuk menayangkan dokumen pada para
pemakai. Berkat bahasa yang digunakan, teks yang menjadi komponen utama dokumen
akan dapat ditampilkan dengan format, warna dan ukuran tertentu. Bahasa untuk memark
up teks (text markup language), seperti Standard Generalized Markup Language (SGML),
dibangun untuk mengisi kekosongan (bagian kosong) di antara teks polos (teks tanpa
format) dan deskripsi halaman dengan perintah-perintah pemformat-an teks. Perintahperintah Pem-format-an teks yang disediakan adalah pemisah paragraf, penomoran sebuah
daftar, juga penentuan jenis-jenis dan ukuran huruf.
HTML (HyperText Markup Language) merupakan bahasa penayangan hypertext
serba guna yang merupakan Pengembangan lebih lanjut dari SGML. Di samping
pemakaian perintah pem-format-an teks (sebagaimana di SGML), dengan HTML kita juga
dapat mendefinisikan perintah hiper text-link dan perintah penayangan gambar (image).
HTML juga menyediakan fasilitas penerimaan data masukan (data input), yang
memungkinkan pemakai meng-entri-kan data melalui dokumen yang sedang ditayangkan.
Menu dan berbagai fasilitas masukan gratis lain juga disediakan, sehingga memungkinkan
pemakai untuk berinteraksi dengan berbagai cara terhadap sebuah dokumen yang sedang
aktif. kemudian semua masukan/interaksi pemakai tersebut dikirimkan kembali dari lokasi
pemakai ke Server Web, maka semua masukan/interaksi tersebut akan dinyatakan sebagai
argumen yang selanjutnya di-gunakan dalam mengeksekusi program di Server Web.
Seperti yang telah disebutkan sebelumnya, program ini akan menghasilkan dokumen yang
kembali dikirimkan pada pemakai.
Bahasa Java yang dibangun lebih belakangan dibanding hyperteks merupakan
bahasa penayangan Web yang lebih kaya, karena memungkinkan adanya animasi dengan
menjalankan program di lokasi pemakai. Dokumen yang dihasilkan juga dapat diupayakan
untuk bersikap aktif. Bahasa Java telah ditulis untuk semua platform (kombinasi perangkat
keras dan sistem operasi) dan praktis semua program dalam bahasa Java dapat dieksekusi di
semua platform. Sebagai hasil dari keseragaman tersebut, program-program Java dapat
disimpan di mesin serbaguna sebagaimana dokumen HTML, yang kemudian dapat didownload (ditransfer) dan dieksekusi oleh semua jenis client. Dengan demikian sebenarnya
Java menyediakan sarana penting untuk mendistribusikan program melalui Internet.
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

72

Antar Muka Web dengan Basis Data


Adanya konektivitas (antar muka) antara Web dan Basis Data (konvensional) menjadi
penting karena dua alasan. Pertama, bersama dengan tumbuhnya perdagangan elektronis
(electronic commerce atau sering disingkat sebagai e -commerce) melalui Web, basis data
untuk pengolahan transaksi harus dapat dihubungkan dengan Web. Para pemakai
berinteraksi dengan basis data secara tidak langsung melalui serangkaian interaksi dengan
dokumen HTML yang kemudian diakhiri sebagai argumen ke server dan selanjutnya
digunakan sebagai parameter oleh program pada server untuk melakukan pengolahan
transaksi terten pada basis data. Pada giliran berikutnya, hasil pengolahan itu dengan cara
sebaliknya dapat dikembalikan dan ditayangkan kepada pemakai
Alasan kedua untuk membentuk konektivitas antara basis data dan adalah karena
dokumen HTML yang relatif tetap memiliki keterbatas seperti :
Pemakaian dokumen Web yang tetap tidak memungkinkan penayangannya disesuaikan
dengan keinginan pemakai. Misalnya sebuah perusahaan barangkali ingin menampilkan
materi promo barang yang disesuaikan dengan keinginan pemakai (calon pembeli)
Ketika data dalam basis data diubah, maka dokumen-dokumen Web yang melibatkan data
yang sama menjadi kadaluarsa jika tidak segera disesuaikan (tidak turut diubah). Hal ini
akan semakin merepotkan jika dokumen-dokumen tersebut juga tersebar di sejumlah
Jokasi.
Kita dapat mengatasi keterbatasan-keterbatasan tersebut dengan membuat dokumendokumen Web secara dinamis, dengan lebih dulu membentuk konektivitas antara Web dan
basis data. Pada saat sebuah dokumen diminta pemakai, sebuah program di Server Web
akan dieksekusi, yang kemudian menjalankan proses query ke basis data, dan membuat
dokumen berdasarkan basil query tersebut. Dengan mekanisme ini maka sajian informasi
dapat disesuaikan dengan keinginan pemakai. Begitu juga, perubahan-perubahan yang
terjadi di basis data dapat terefleksikan dengan baik pada dokumen yang berisi basil
pengolahan di basis data tersebut.
Perkembangan dan Kompleksitas 'Dunia Nyata'
Perkembangan teknologi komputer (perangkat keras dan perangkat lunak) yang demikian
cepat dewasa ini sebenarnya tidak banyak kontribusinya dalam mempermudah pekerjaan

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

73

perancangan basis data. Berat/ringannya pekerjaan perancangan basis data lebih banyak
disebabkan oleh perkembangan dan kompleksitas 'dunia nyata' yang ingin diakomodasi
dalam sebuah sistem basis data. Perancangan basis data menjadi lebih berat lagi jika faktor
fleksibilitas juga harus diakomodasi untuk mengantisipasi perkembangan sistem di masa
datang yang saat ini belum terjadi atau untuk mengantisipasi adanya kondisi-kondisi
anomali. Kompleksitas dunia akademik saat ini semakin meningkat jika dibandingkan
dengan kompleksitasnya di 10 tahun yang lalu. Perancangan basis data akademik /
perkuliahan akan menjadi semakin rumit jika kemudian perancangan itu bukan hanya
diperuntukkan bagi sebuah perguruan tinggi tertentu, tapi juga dibuat untuk tujuan
penerapan yang lebih luas, di berbagai perguruan tinggi dengan fakta dan aturan yang
berbeda-beda.
Tidak ada sebuah carapun yang dapat digunakan untuk menyederhanakan sebuah
sistem yang memang telah bekerja dan menjadi kenyataan. Menyederhanakan sistem,
menyederhanakan persoalan dan menyederhanakan 'dunia nyata' bukanlah tugas dari
perancangan sistem basis data ataupun pembangunan sistem informasi. Sumbangan yang
lebih diharapkan dari penerapan teknologi informasi pada sebuah sistem adalah akurasi
hasil serta kemudahan dan kecepatan pengoperasian sistem. Memang akan menjadi cukup
sulit atau paling tidak membutuhkan waktu yang tidak sebentar untuk bisa mengajukan
solusi yang optimal terhadap sebuah sistem atau 'dunia nyata' dengan tingkat kompleksitas
yang tinggi. Terhadap persoalan atau kenyataan yang demikian kompleks, yang paling
penting adalah bagaimana cara pendekatan yang diambil untuk menghasilkan solusi
sementara yang kemudian disempurnakan hingga akhirnya didapat sebuah solusi akhir. Di
sini kita harus sadar betul bahwa pembangunan sebuah solusi adalah siklus dan karena itu
bisa berulang, tapi juga liarus berakhir.
Katakanlah kita ditugaskan untuk membangun sebuah sistem major untuk
mendukung/membantu pengoperasian sebuah sistem di sebuah perusahaan. Hasil analisa
yang telah dilakukan menunjukkan adanya A hingga Z himpunan entitas yang terlibat dan a
hingga z aturan status yang berlaku dalam pengoperasian sistem tersebut. Terhadap sistem
yang demikian kompleks, mada beberapa alternatif cara pendekatan yang dapat kita
lakukan, yaitu :
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

74

Memulai perancangan basis data dari hal-hal pokok.


Pendekatan ini dilakukan dengan lebih dulu memilih sejumlah himpunan entitas dan
sejumlah aturan yang pokok dan pengoperasian sistem. Berikutnya, berdasarkan hal-hal
yang pokok ini, kita lakukan kegiatan perancangan basis data, implementasi himpunan
pembuatan prototipe aplikasi. Lalu laksanakan kembali isi tersebut dengan lebih dulu
melengkapi rancangan basis data yang telah dibuat dengan hal-hal yang bukan pokok, tapi
telah terakomodasi. Akhirnya, pada siklus terakhir, perancangan basis disempurnakan
dengan melibatkan pula himpunan entitas aturan-aturan yang masih tersisa. Segera setelah
siklus teratasi barulah penyempurnaan prototipe aplikasi dilakukan untuk mendapatkan
hasil/solusi akhir yang diharapkan.
Memulai perancangan basis data dengan sejumlah asumsi.
Asumsi-asumsi diciptakan untuk menyederhanakan sistem secara sementara dan bisa tidak
sesuai dengan basil analisis yang telah dilakukan. Asumsi-asumsi terutama sekali diajukan
terhadap analisis yang belum pasti atau belum jelas. Bila cara pendek pertama ditempuh
dengan lebih dulu menoabaikan hal-hal yang bersifat sekunder, maka cara pendekatan
kedua justru ditempuh dengan menerapkan sejumlah aturan-aturan baru yang mungkin
tidak sesuai dengan aturan-aturan yang sesungguhnya. Berpijak aturan-aturan baru tersebut,
siklus perancangan basis data pembuatan prototipe aplikasi dijalankan. Kita kembali
melaksan siklus tersebut bisa dengan menghilangkan sejumlah asumsi keseluruhan asumsi
sekaligus, hingga seluruh aturan-aturan sesungguhnya telah terakomodasi. Sebagaimana
pendek pertama, segera setelah siklus terakhir, barulah penyempurnaan prototipe aplikasi
dilakukan untuk mendapatkan hasil/solusi yang diharapkan. Cara pendekatan ini lebih
cocok diterapkan sebuah sistem dengan fakta-fakta (hasil analisis) yang masih meragukan
dan sebaiknya tidak diterapkan untuk sebuah sistem yang sebaliknya (yang telah memiliki
kepastian basil analisis)
Memulai perancangan basis data dengan menerapkan strategi penyelesaian terhadap
sistem lain yang sama atau relevan dengan sistem yang sedang kita tinjau.
Pengalaman menunjukkan bahwa strategi penyelesaian terhadap sebuah sistem seringkali
dapat diadopsi untuk maksud yang sama pada sistem yang sedang ditinjau, khususnya
diantara dua sistem yang memang memiliki banyak kesamaan. Jika kita pernah dengan baik
membangun sistem basis data untuk menangani reservasi hotel, maka kita juga akan lebih
mudah untuk membangun sistem basis data untuk menangani reservasi pesawat terbang.
Dengan pendekatan ini, kita seolah mengambil jalan pintas untuk langsung berusaha
memperoleh solusi akhir. Dengan menyadari bahwa pembangunan sebuah solusi adalah
siklus, maka kita tidak terpaku pada kompleksitas persoalan tetapi pada keinginan untuk
merealisasikan harapan-harapan akibat hadirnya sebuah solusi akurasi, kemudahan dan
kecepatan.
Perangkat Lunak Bantu untuk Perancangan Basis Data
Kendati strategi perancangan basis data dari suatu persoalan/sistem yang sedang kita tinjau
tetap banyak bergantung pada upaya perenungan dan pemikiran yang akurat dan lengkap
Sistem Basis Data & Perancangan Sistem
AMIK JTC Semarang

75

atas hasil analisis terhadap persoalan/sistem tersebut, pada saat ini telah banyak perangkat
lunak yang dapat digunakan untuk membantu kegiatan perancangan basis data. Pada
perangkat lunak bantu tersebut telah tersedia komponen-komponen (notasi-notasi)
perancangan basis data. Dengan melakukan serangkaian klik, drag dan drop terhadap
komponen-komponen built-in tersebut, sebuah rancangan basis data dalam bentuk grafis
dapat kita hasilkan dengan mudah. Perangkat lunak demikian juga menyediakan sarana
penyuntingan yang lengkap, sehingga kita dengan mudah dapat melakukan penambahan,
perubahan dan penohapusan atau hanya sekedar mengubah format tampilan pada rancangan
basis data yang sedang kita buat. Juga tersedia segenap operasi file, sehingga rancangan
tersebut juga dapat disimpan, dibuka kembali atau disimpan ke format gambar. Salah satu
perangkat lunak bantu untuk keperluan semacam itu adalah S-Designer yang dibuat oleh
Sybase, Inc.
Manfaat yang lebih besar dan lebih penting dari pemakaian perangkat lunak bantu
ditunjukkan oleh adanya fasilitas untuk membangun (generate) basis data fisik dari
perancangan basis data yang sudah kita buat. Artinya, aktivitas implementasi rancangan
basis data yang berbentuk pemetaan notasi-notasi perancangan ke pembantu strukturstruktur tabel dalam basis data fisik, dapat dijalankan secara otomatis oleh perangkat lunak
bantu tersebut.

Sistem Basis Data & Perancangan Sistem


AMIK JTC Semarang

76

Anda mungkin juga menyukai