Handout Sistem Basis Data
Handout Sistem Basis Data
OLEH :
Asih Winantu, S. Kom
Tujuan Khusus:
Pada akhir kuliah sistem basis data ini peserta kuliah diharapkan mampu :
a. memahami konsep yang melatarbelakangi perancangan basis data dengan model ER dan relasional
b. melakukan perancangan dan implementasi basis data dengan model ER dan relasional
c. melakukan penanganan operasi terhadap basis data operasional
Lingkup Bahasan:
Overview Basis Data, mencakup sejarah dan motivasi sistem basis data, komponen sistem basis data, fungsi
sistem manajemen basis data, arsitektur basis data dan independensi data, serta penggunaan bahasa query
Pemodelan Data, mencakup kategorisasi model data, model data konseptual (model ER), model berorientasi
objek, dan model relasional
Model Entity-Relationship, mencakup studi kasus dan penjelasan komponen-komponen diagram ER
Basis data relasional, mencakup pemetaan skema konseptual ke skema relasional, integritas entitas dan
pengacuan, operasi aljabar relasional, operasi kalkulus relasional berbasis tupel, serta operasi kalkulus
relasional berbasis domain
Bahasa query, mencakup pengantar SQL, bahasa pendefinisian data, bahasa pemanipulasian data (modifikasi
dan seleksi), serta bahasa query lain
Perancangan basis data relasional, mencakup functional dependency (FD), normalisasi (1NF, 2NF, 3NF, BCNF)
2. Materi Kuliah
Terminologi Dan Konsep Basis Data
Hirarki data
Konsep DBMS
Pemanfaatan ilmu basisdata
Abstraksi data
Model basis data
Model ER
Normalisasi
Perancangan basisdata
Studi kasus
3. Resources
1. Konsep & Perancangan Database , Harianto Kristanto,Andi, 2004.
2. Basis Data , Fathansyah, Informatika, 2001.
3. Diktat Kuliah Basis Data, Iwan Syarif, ITS , 2002.
4. Konsep & Tuntunan Praktis Basis Data, Abdul Kadir, Andi, 2001.
5. Sistem Basis Data, Edhy Sutanta, Graha Ilmu, 2004.
6. Basis Data, Janner Simarmata, Andi, 2006.
7. www.globalkomputer.com/bahasan/database, 22 september 2007
4. Evaluasi
Komponen nilai akhir terdiri dari
UTS : 30 %
UAS : 25 %
Tugas : 20%
Quis : 15%
Kehadiran : 10%
Indeks akan ditentukan berdasarkan nilai akhir dengan kriteria sbb : A (≥ 85), B (75 – 84), C (65 – 74), D (55 – 64),
dan E (< 54). Dalam keadaan tertentu, dapat dilakukan penyesuaian terhadap kriteria penilaian. Pengajuan koreksi
ulang berkas UTS, UAS, tugas, maupun nilai akhir hanya dapat dilakukan paling lambat 1 (satu) minggu setelah nilai
terkait diumumkan.
MAP Disk
Basis data dan lemari arsip sesungguhnya memiliki prinsip kerja dan tujuan yang sama. Prinsip utamanya adalah
pengaturan data/arsip. Dan tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan kembali data/
arsip. Perbedaannya hanya terletak pada media penyimpanan yang digunakan . jika lemari arsip menggunakan lemari
sebagai media penyimpanannya, maka basisdata mnenggunakan media penyimpanan elektronis seperti disk (disket,
harddisk).
Yang perlu diingat adalah bahwa tidak semua bentuk penyimpanan data secara elektronis bisa disebut basis data. Yang
sangat ditonjolkan dalam basisdata adalah pengaturan/pemilaha/pengelompokkan/pengorganisasian data yang akan kita
simpan sesuai fungsi/jenisnya. Pemilahan/ pengelompokan ini dapat berbentuk sejumlah file/ tabel terpisah atau dalam
bentuk pendefinisian kolom-kolom/field-field data dalam setiap file/tabel.
B. Hirarki Data
Berdasarkan tingkat kompleksitas nilai data, tingkatan data dapat disusun kedalam sebuah hirarki, mulai dari yang paling
sederhana hingga yang paling komplek.
1. basis data, merupakan sekumpulan dari bermacam-macam tipe record yang memiliki Sistem Basis Data
hubungan antar record.
2. berkas/file, merupakan sekumpulan rekaman data yang berkaitan denngan suatu
objek. Basis Data
3. record , merupakan sekumpulan field/atribut/data item yang saling berhubungan
terhadap obyek tertentu File
- fixed length record, semua field dalam record memiliki ukuran yang tetap.
- Variabel length record, field-field dalam record dapat memiliki ukuran berbeda Record
(metode penandaan yang digunakan adalah : end of record marker, indikator
panjang, dan tabel posisi record) Field
4. field/atribut/data item, merupakan unit terkecil yang disebut data,yang tidak dapat
dipecah lagi menjadi unit lain yang bermakna.
byte
- fixed length field, memiliki ukuran yang tetap.
- variabel length field, field-field dalam record dapat memiliki ukuran berbeda.
5. byte, adalah bagian terkecil yang dialamatkan dalam memori. Bit
byte mrupakan sekumpulan bit yang secara konvensional terdiri atas kombinasi
delapan bit yang menyatakan sebuah karakter dalam memori (I byte= I karakter)
6. bit, adalah sistem binner yang terdiri atas dua macam nilai, yaitu 0 dan 1. sistem binner merupakan dasar yang
dapat digunakan untuk komunikasi antara manusia dan mesin, yang merupakan serangkaian komponen elektronik
dan hanya dapat membedakan 2 macam keadaan, yaitu ada tegangan dan tidak ada tegangan yang masuk ke
rangkaian tersebut.
E. Abstraksi Data
Salah satu tujuan dari DBMS adalah untuk menyediakan fasilitas/antarmuka (interface) kepada user.untuk itu system
tersebut akan menyembunyikan detail tentang bagaimana data disimpan dan dipelihara, sehingga data yang terlihatoleh
user sebenarnya berbeda dengan yang tersimpan secara fisik.
Abstraksi data merupakan tingkatan-tingkatan pengguna dalam memandang bagaimana sebenarnya data diolah dalam
sebuah sistem database sehingga menyerupai kondisi yang sebenarnya dihadapi oleh pengguna sehari-hari.. Sebuah
DBMS seringkali menyembunyikan detail tentang bagaimana sebuah data disimpan dan dipelihara (diolah) dalam
sebuah sistem database, dengan tujuan untuk memudahkan pengguna dalam menggunakan DBMS tersebut. Karena itu
seringkali data yang terlihat oleh pemakai sebelumnya berbeda dengan yang tersimpan secara fisik.
Sebagai gambaran , misalnya terdapat struktur data bertipe record seperti berikut :
Pegawai = RECORD
Nama : STRING;
Alamat : STRING;
Bagian : STRING;
Gaji : LongInt;
End:
Pada contoh ini record pegawai berisi 4 buah field (nama, alamat, bagian, gaji ). Setiap field memiliki nama, dan setiap
nama memiliki tipe data.
Pada level fisik, pegawai dapat dijabarkan sebagai blok data yang terletak pada lokasi berurutan (satuan byte). Pada
lapis konseptual masing-masing record dijabarkan dengan definisi tipe data . pada lapis view, user tertentu hana boleh
mengakses data tertentu, contohnya, seorang yang menangani penggajian berhak mengetahui gaji seseorang bahkan
mengubahnya, tetapi orang yang bekerja di bagian lain tentu tidak boleh melihatnya.
F. Model Basis Data
Model database adalah suatu konsep yang terintegrasi dalam menggambarkan hubungan (relationships) antar data dan
batasan-batasan (constraint) data dalam suatu sistem database. Model data yang paling umum, berdasarkan pada
bagaimana hubungan antar record dalam database (Record Based Data Models), terdapat tiga jenis,
yaitu :
Pengantar Pemrograma
Matematika
Basis n
I
Data C
Dosen Dosen
Siti Ashad
Nurbaya i
Penganta
Pemrograma
r Matematika
n
Basis I
C
Data
Model database hirarki dan jaringan merupakan model database yang tidak banyak lagi dipakai saat ini, karena
adanya berbagai kelemahan dan hanya cocok untuk struktur hirarki dan jaringan saja. Artinya tidak mengakomodir untuk
berbagai macam jenis persoalan dalam suatu sistem database.
Model database relasi merupakan model database yang paling banyak digunakan saat ini, karena paling
sederhana dan mudah digunakan serta yang paling penting adalah kemampuannya dalam
mengakomodasi berbagai kebutuhan pengelolaan database. Sebuah database dalam model ini disusun
dalam bentuk tabel dua dimensi yang terdiri dari baris (record) dan kolom (field), pertemuan antara
baris dengan kolom disebut item data (data value), table-tabel yang ada di hubungkan (relationship)
sedemikian rupa menggunakan field-field kunci (Key field) sehingga dapat meminimalkan duplikasi
data.
Contoh produk DBMS terkenal yang menggunakan model relasional antara lain adalah :
1. DB2 (IBM)
2. Rdb/VMS (Digital Equipment Corporation)
3. Oracle (Oracle Corporation)
4. Informix (Informix Corporation)
5. Ingres (ASK Group Inc)
6. Sybase (Sybase Inc)
Di lingkungan PC, produk-produk berbasis relasional yang cukup terkenal antara lain adalah :
1. Keluarga R:Base (Microrim Corp) antara lain berupa R:Base 5000
2. Keluarga dBase (Ashton-Tate, sekarang bagian dari Borland International), antara lain dbase III Plus, dBase IV, serta
Visual dBase
3. Microsoft SQL ( Microsoft Corporation)
4. Visual FoxPro (Microsoft Corporation)
- Prosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan dan bagaimana cara
mendapatkannya.
- Nonprosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan, tetapi tidak perlu
menyebutkan cara mendapatkannya.
Model ER adalah data konseptual tak tergantung DBMS dan platform perangkat keras tertentu. Model ER dikemukakan
oleh Chen [1976]. Sejak itu, telah memperoleh banyak perhatian dan perluasan.
Model ER adalah persepsi terhadap dunia nyata sebagai terdiri objek-objek dasar yang disebut entitas dan
keterhubungan (relationship) antar entitas-entitas itu.
Entitas merupakan individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang
lain. Sebuah kursi yang kita duduki, seseorang yang menjadi pegawai di sebuah perusahaan dan sebuah mobil yang
melintas di depan kita adalah entitas.
Sekelompok entitas yang sejenis dan berada dalam lingkup yang sama membentuk sebuah himpunan entitas (entity
sets). Sederhananya, entitas menunjuk pada individu suatu objek, sedang himpunan entitas menunjuk pada rumpun
(family) dari individu tersebut.
Seorang pasien, misalnya akan dimasukkan dalam himpunan entitas pasien. Sedang seorang dokter akan ditempatkan
dalam himpunan entitas dokter.
Dalam berbagai pembahasan/literature, penyebutan himpunan entitas (yang kurang praktis) ini seringkali digantikan
dengan sebutan entitas saja.
Karena itu sering ditemui, penggunaan istilah entitas (entity) di sebuah literature sebenarnya menunjuk pada himpunan
entitas.
Kunci Entitas
Sebagaimana model relasional, adalah penting dan berguna untuk memasukkan kunci yang diasosiasikan dengan
himpunan entitas. Kunci pada himpunan entitas S, adalah himpunan atribut A. Sehingga tidak ada dua entitas di S yang
mempunyai nilai sama untuk tiap atribut di A dan tidak ada subset di A yang dapat menjadi kunci di S, dengan demikian
kunci mempunyai property minimal.
Atribut (Atributes/Properties)
Setiap entitas pasti memiliki atribut yang mendeskripsikan karakteristik (property) dari entitas tersebut.
Penentuan / pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting lainnya dalam
pembentukan model ER. Contoh : nim, nama, alamat, kode.
Relasi menunjukkan adanya hubungan di antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.
kode_kul=’IF-110’ dan
nama_kul=’Struktur Data’.
Relasi diantara kedua entitas tadi mengandung arti bahwa mahasiswa tersebut sedang mengambil/mempelajari mata
kuliah tersebut di sebuah perguruan tinggi yang ditinjau.
Kumpulan semua relasi diantara entitas-entitas yang terdapat pada himpunan entitas-himpuan entitas tersebut
membentuk himpunan relasi (relationship sets).
Sebagaimana istilah himpunan entitas yang banyak sekali disingkat menjadi entitas, istilah himpunan relasi jarang sekali
digunakan dan lebih sering disingkat dengan istilah relasi saja.
Kardinalitas/derajat Relasi
Kardinalitas Relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas
yang lain. Kardinalitas relasi merujuk kepada hubungan maksimum yang terjadi dari himpunan entitas yang satu ke
himpunan entitas yang lain dan begitu juga sebaliknya.
Penggambaran Model ER secara sistematis dilakukan melalui diagram ER. Notasi-notasi simbolik di dalam Diagram ER
yang dapat digunakan adalah:
1. Persegi panjang, menyatakan Himpunan Entitas.
2. Lingkaran/Elips, menyatakan atribut (Atribut yang berfungsi sebagai key digaris bawahi).
3. Belah ketupat, menyatakan Himpunan Relasi.
4. Garis, sebagai penghubung antara Himpunan Relasi dengan Himpunan Entitas dan Himpunan Entitas dengan
atributnya.
5. Kardinalitas Relasi dapat dinyatakan dengan banyaknya garis cabang atau dengan pemakaian angka (1 dan 1
untuk relasi one to one, 1 dan N untuk relasi one to many atau N dan N untuk relasi many to many).
Contoh diagram ER :
Diagram ER selalu dibuat secara bertahap. Paling tidak ada dua kelompok penahapan yang biasa ditempuh di dalam
pembuatan diagram ER, yaitu :
- Mengidentifikasi dan menetapkan seluruh entity yang terlibat dalam sistem database tersebut.
- Menentukan attribute-attribute atau field dari masing-masing entity beserta kunci (key)-nya.
Menentukan attribute dari suatu entitas sangat menentukan baik atau tidaknya sistem database
yang dirancang, karena attribute ini sangat menentukan nantinya dalam proses relasi. Attribute
merupakan ciri khas yang melekat pada suatu entity, misalnya attribute pada mahasiswa dapat
berupa nobp, nama, tempat lahir, tanggal lahir, alamat, nama orang tua, pekerjaan orang tua
dan lain-lain. Dari sekian banyak kemungkinan attribute yang ada pada entity mahasiswa, kita
dapat menggunakan hanya yang perlu saja. Setelah menentukan attributenya selanjutnya adalah
menentukan field kunci. Field kunci adalah penanda attribute tersebut sehingga bisa digunakan
untuk relasi nantinya dan field kunci ini harus bersifat unik. Misalnya pada entity mahasiswa,
attribute nobp bisa dijadikan field kunci, karena bersifat unik dan tidak ada mahasiswa yang
mempunyai nobp sama.
Contoh candidate-key :
Candidate Key
• Primary Key
Salah satu atrribut dari candidat key dapat dipilih menjadi primary key dengan 3 kriteria sbb :
• Foreign Key
Jika sebuah primary key terhubungan ke table/entity lain, maka keberadaan primary key pada
entity tersebut di sebut sebagai foreign key. Misal : Primary Key KodeDosen dari entity Dosen
digunakan juga pada field entity KRS, maka keberadaan field KodeDosen pada entity KRS disebut
sebagai foreign key.
• Alternate Key
Setiap atribut dari candidate key yang tidak terpilih sebagai primary key akan dinamakan alternate
key. Pada contoh sebelumnya bila untuk primary key dipilih ID_Cus maka alternate key nya adalah
No.of Pay
.
KD-Dosen Nama_Dosen
D-100 Badu,S.T
D-101 Ir.Thomas
D-109 Harry,S.T,M.T
Primary Key
H. Normalisasi
Proses normalisasi adalah proses untuk memperoleh properti-properti skema relasi yang bagus menjadi bentuk normal
lebih tinggi sehingga syarat-syarat dibawah ini terpenuhi:
a. Mengoptimalisasi redudansi (pengulangan data yang tidak perlu). Redudansi tidak bisa dihilangkan sama sekali
karena berguna untuk integritas referensial, tetapi redudansi bisa dioptimalisasi. Untuk jumlah data yang tidak terlalu
banyak mungkin tidak terlalu berpengaruh dalam hal penggunaan harddisk. Tapi bayangkan jika ada ribuan, bahkan
jutaan redudansi, mungkin akan sangat berpengaruh pada penggunaan ruang.
b. Menghilangkan anomali. Anomali pada dasarnya adalah ketidak-konsistenan (inkonsistensi). Misalkan ada
pergantian nama dari Bank Perkasa menjadi Bank Perkasa Utama sebanyak 4 record. Jika pergantian nama hanya
dilakukan pada salah satu record saja, maka terjadi ketidak-konsistenan yaitu satu nomor bank berrelasi dengan 2
nama bank yang berbeda.
Dekomposisi tabel dapat mengurangi redudansi yang ada dan menghilangkan anomali.
Perancangan melalui proses normalisasi mempunyai keuntungan-keuntungan sebagai berikut :
a. Meminimalkan ukuran penyimpanan yang diperlukan untuk penyimpanan data.
b. Meminimalkan resiko inkonsistensi data pada basis data.
c. Meminimalkan kemungkinan anomaly pembaruan.
d. Memaksimalkan stabilitas struktur data.
Bentuk Normal
Tujuan proses normalisasi adalah mengkonversi relasi menjadi bentuk normal lebih tinggi. Terdapat beragam tingkat
bentuk normal, yaitu :
Codd mendefinisikan bentuk normal pertama, kedua dan ketiga di makalah (Codd, 1970). Bentuk normal ketiga
kemudian diperbaiki sehingga mempunyai bentuk normal yang lebih kuat yaitu BCNF (Codd, 1974). Fagin
memperkenalkan bentuk normal keempat (Fagin, 1977), kemudian Fagin juga memperkenalkan bentuk normal kelima
(Fagin, 1979).
Bentuk normal pertama untuk menghilangkan atribut bernilai jamak. Bentuk normal kedua untuk menghilangkan
kebergantungan parsial. Bentuk normal ketiga untuk menghilangkan kebergantungan transitif. Bentuk normal Boyce-
Codd untuk menghilangkan anomaly tersisa disebabkan kebergantungan fungsional. Bentuk normal keempat untuk
menghilangkan kebergantungan nilai jamak. Bentuk normal kelima untuk menghilangkan anomaly tersisa.
Tiga bentuk normal pertama berkaitan dengan kebergantungan fungsional. Sementara itu bentuk keempat dan kelima
berkaitan dengan redudansi yang disebabkan kebergantungan banyak nilai (multi-valued dependencies).
Bentuk normal pertama adalah ekivalen dengan definisi model relasional. Relasi adalah bentuk normal pertama (1NF)
jika semua nilai atributnya adalah sederhana (bukan komposit).
Syarat :
o Tidak ada set atribut yang berulang atau bernilai ganda.
o Telah ditentukannya primary key untuk tabel atau relasi.
o Tiap atribut hanya memiliki satu pengertian.
o Tiap atribut yang dapat memiiki banyak nilai sebenarnya menggambarkan entitas atau relasi yang terpisah.
Bentuk normal ketiga menghilangkan kebergantungan transitif, awalnya bentuk normal ketiga dipikir sebagai bentuk
normal puncak/paling akhir. Namun kemudian dapat ditemukan bentuk normal lebih kuat yaitu bentuk normal Boyce-
Codd.
BCNF memiliki ketentuan yaitu masing-masing atribut utama bergantung fungsional penuh pada masing-masing kunci
dimana kunci tersebut bukan bagiannya. Relasi adalah BCNF (optimal) jika setiap determinan atribut-atribut relasi adalah
kunci relasi. Relasi adalah BCNF (optimal) jika kapanpun fakta-fakta disimpan mengenai beberapa atribut, maka atribut-
atribut ini merupakan satu kunci relasi. BCNF dapat memiliki lebih dari satu kunci. Properti penting BCNF adalah relasi
tidak memiliki informasi yang redundan.
Relasi dalam bentuk normal keempat (4NF) jika relasi dalam BCNF dan tidak berisi kebergantungan banyak nilai. Untuk
menghilangkan kebergantungan banyak nilai dari satu relasi, kita membagi relasi menjadi dua relasi baru. Masing –
masing relasi berisi dua atribut yang mempunyai hubungan banyak nilai.