S1 Teknik Geodesi
FT UNILA
2020
DAFTAR ISI
BAB 1 PENDAHULUAN
BAB - 1
PENDAHULUAN
Kompetensi yang diharapkan:
Setelah mengikuti materi ini mahasiswa mampu menjelaskan perkembangan konsep basis data, aplikasi basis data,
perbedaan data dan informasi, hubungan sistem informasi dan basis data, pengelola sistem informasi,
pentingnya memahami konsep basis data. definisi basis data dan sistem basis data, serta hierarki data
Materi:
1. Perkembangan konsep basis data
2. Aplikasi basis data
3. Data dan informasi
4. Sistem informasi manajemen dan basis data
5. Pengelola sistem informasi
6. Pentingmya memahami konsep basis data
7. Definisi basis data
8. Definisi sistem basis data
9. Hierarki data
Pengetahuan konsep basis data muncul dan mulai berkembang seiring dengan adanya
kebutuhan pengolahan dan penyimpanan data untuk memenuhi kebutuhan informasi.
Perkembangan konsep basis data dapat dibedakan dalam lima tahapan, yaitu:
1980-an telah mempengaruhi pandangan dan pengetahuan dalam konsep basis data. Hal
ini mengakibatkan munculnya perubahan perubahan pandangan dan pengetahuan baru
tentang konsep basis data. Konsep konsep basis data pada masa tersebut dikenal
sebagai konsep basis data Tahap-IV.
Ciri utama konsep basis data pada Tahap-IV adalah sistem berbasis hypertext yang
memungkinkan penampilan informasi berdasarkan suatu kata kunci pencarian yang dapat
dilakukan secara acak.
Saat ini aplikasi basis data telah mencakup seluruh kehidupan manusia. Beberapa contoh
aplikasi basis data dalam kehidupan sehari hari antara lain:
1 Industri manufaktur: produksi, persediaan, pemesanan
2 Manajemen rumah sakit: registrasi, rekam medis, perawatan
3 Manajemen perpustakaan: seluruh transaksi
4 Perhotelan: seluruh transaksi
5 Perbankan: melayani seluruh transaksi
6 Perguruan tinggi: mahasiswa, keuangan, perpustakaan, akuntansi, lulusan
7 Penerbangan: reservasi, jadwal penerbangan
8 Penjualan: pelanggan, produk, penjualan, pemasaran
9 Personalin: rekaman karyawan, gaji, pajak
10 Dan lain lain
Data dapat didefinisikan sebagai bahan keterangan tentang kejadian kejadian nyata atau fakta
fakta yang dirumuskan dalam sekelompok lambang tertentu yang tidak acak, yang menunjukkan
jumlah, tindakan. Data dapat berupa catatan catatan dalam kertas, buku, atau tersimpan sebagai
file dalam basis data. Data menjadi bahan dalam suatu proses pengolahan data. Oleh karena itu,
suatu data belum dapat berbicara banyak sebelum diolah lebih lanjut. Contoh data adalah
catatan identitas pegawai, catatan transaksi pembelian, catatan transaksi penjualan, dan lain lain.
Informasi merupakan hasil pengolahan data sehingga menjadi bentuk yang penting bagi
penerimanya dan mempunyai kegunaan sebagai dasar dalam pengambilan keputusan yang
dapat dirasakan akibatnya secara langsung saat itu juga atau secara tidak langsung pada saat
mendatang. Untuk memperoleh informasi, diperlukan data yang akan diolah dan unit
pengolah. Contoh informasi adalah daftar pegawai berdasarkan departemen, daftar pegawai
berdasarkan golongan, rekapitulasi transaksi pembelian pada akhir bulan, rekapitulasi
transaksi penjualan pada akhir bulan, dan lain lain (Sutanta, 2003).
Informasi yang diperoleh dari pengolahan data dapat dinilai berdasarkan sifatnya. Sifat
informasi yang menentukan nilai informasi adalah (Sutanta, 2003):
1. Kemudahan dalam perolehannya
2. Sifat luas dan kelengkapannya
3. Ketelitian (accuracy)
4. Kecocokan dengan pengguna (relevancy)
5. Ketepatan waktu
6. Kejelasan (clarity)
7. Fleksibilitas / keluwesannya
8. Dapat dibuktikan
9. Tidak ada prasangka
10. Dapat diukur
Informasi diperlukan oleh para pemakai (manajemen) pada seluruh level manajemen dalam
seluruh fungsi organisaloris. Informasi tersebut dapat mempunyai beberapa fungsi, antara lain
(Sutanta, 2003):
1. Menambah pengetahuan
2. Mengurangi ketidakpastian
3. Mengurangi risiko kegagalan
4. Mengurangi keanekaragaman/variasi yang tidak diperlukan
5. Memberi standar, aturan, ukuran, dan keputusan yang menentukan pencapaian sasaran
dan tujuan.
Dalam arti yang luas sistem informasi dapat dipahami sebagai sekumpulan subsistem yang
saling berhubungan, berkumpul bersama sama dan membentuk satu kesatuan, saling
berinteraksi dan bekerja sama antara bagian satu dengan yang lainnya dengan cara cara
tertentu untuk melakukan fungsi pengolahan data, menerima masukan (input) berupa data data,
kemudian mengolahnya (procesing), dan menghasilkan keluaran (output) berupa informasi
sebagai dasar bagi pengambilan keputusan yang berguna dan mempunyai nilai nyata yang dapat
dirasakan akibatnya baik pada saat itu juga maupun di masa mendatang, mendukung kegiatan
operasional, manajerial, dan strategis organisasi, dengan memanfaatkan berbagai sumber daya
yang ada dan tersedia bagi fungsi tersebut guna mencapai tujuan (Sutanta, 2003).
Berdasarkan komponen fisik penyusunnya, sistem informasi terdiri atas komponen berikut
(Sutanta, 2003):
1. Perangkat keras (hardware)
Perangkat keras dalam sistem informasi meliputi perangkat perangkat yang digunakan oleh
sistem komputer untuk masukan dan keluaran (input/output device), memory, modem,
pengolah (processor), dan periferal lainnya.
4. Prosedur (procedure)
Prosedur meliputi prosedur pengoperasian untuk sistem informasi, manual, dan dokumen
dokumen yang memuat aturan aturan yang berhubungan dengan sistem informasi dan
lainnya.
5. Manusia (brainware)
Manusia yang terlibat dalam suatu sistem informasi meliputi operator, programmer, system
analyst, manajer sistem informasi, manajer pada tingkat operasional, manajer pada tingkat
manajerial, manajer pada tingkat strategis, teknisi, administrator basis data (Database
Administrator/DBA), serta individu lain yang terlibat di dalamnya.
Basis data merupakan bagian penting dalam sebuah sistem informasi. Basis data dalam sistem
informasi dapat mempunyai peranan sebagai berikut (Sutanta, 2004):
data data yang disimpan sebagai file file basis data hanya memuat data yang benar
sehingga memberikan jaminan akurasi data, serta keandalan sistem secara keseluruhan.
Dengan demikian, basis data dan DBMS yang ada di dalam sistem informasi akan mem-
berikan dukungan yang besar terhadap efektifitas sistem informasi.
Sistem informasi merupakan sebuah unit yang terdiri dari para spesialis informasi yang berada
dalam suatu organisasi. Spesialis informasi (information specialist) menggambarkan pegawai
perusahaan yang bertanggung jawab penuh untuk mengembangkan dan memelihara sistem
informasi berbasis komputer (Computer Based Iinformation Systems/CBIS) yang digolongkan
menjadi lima macam, yaitu:
1. Analis sistem
Analis sistem adalah seseorang pakar yang mampu mendefinisikan masalah dan
menyiapkan dokumentasi tertulis mengenai cara komputer membantu pemecahan
masalah. Analis sistem bekerja sama dengan pemakai mengembangkan sistem baru dan
memperbaiki sistem yang ada sekarang.
2. Pengelola basis data (Database Administrator/DBA)
DBA bekerja sama dengan pemakai dan analis sistem menciptakan basis data yang berisi
data yang diperlukan untuk menghasilkan informasi bagi pemakai. Selanjutnya,
pengelola basis data mengelola basis data sebagai sumber daya penting bagi perusahaan.
3. Spesialis jaringan (network specialist)
Spesialis jaringan adalah orang yang ahli dalam bidang komputer dan telekomunikasi.
Spesialis jaringan bekerja sama dengan analis sistem dan pemakai membentuk jaringan
komunikasi data yang menyatukan berbagai sumber daya komputer yang tersebar.
4. Pemrogram (programmer)
Pemrogram bekerja dengan menggunakan dokumentasi yang disiapkan oleh analis
sistem untuk membuat kode program dalam bahasa tertentu untuk memproses data
masukan yang tersedia menjadi keluaran berupa informasi bagi para pemakai.
5. Operator
Operator mengoperasikan peralatan komputer berskala besar (misalnya mainframe,
mini), memantau layar komputer, mengganti ukuran kertas di printer, mengelola
pustaka disk storage, dan lain lain.
Keberhasilan sebuah sistem informasi sangat bergantung pada basis data yang digunakan. Basis
data yang lengkap, akurat, mudah digunakan, serta efisien akan meningkatkan kualitas sistem
informasi. Penyusunan basis data yang baik dan benar adalah penting agar mampu memenuhi
semua/sebagian besar kebutuhan informasi bagi para pemakai dan pengambil keputusan.
Kita akan memperoleh bekal yang berharga jika dapat terjun dan berkecimpung langsung dalam
dunia pengolahan data, sistem informasi, dan basis data, dengan syarat sebelumnya harus
memahami aspek teori dan konsep basis data. Mempelajari teori dan konsep akan memberikan
dasar, memberikan arah berpikir, bersikap, dan bertindak secara objektif dalam menghadapi
perkembangan dan kemajuan ilmu pengetahuan dan teknologi. Pemahaman yang baik tentang
konsep basis data akan menghindari kerancuan dan kebingungan dalam menerima teknologi
baru yang berkembang pesat dan semakin cepat. Mempelajari teori dan konsep basis data akan
memberikan kerangka kerja dan berpikir sehingga mampu menyederhanakan suatu persoalan
kompleks menuju penyelesaian yang efektif dan efisien. Hal ini jauh lebih bermanfaat karena
membantu dalam menyusun pengalaman lampau dan meringkasnya untuk kepentingan yang
akan muncul dan harus dihadapi pada saat ini dan mendatang.
1.7 Definisi Basis Data
Dalam beberapa literatur, basis data telah didefinisikan dengan cara yang berbeda beda. berikut
definisi database menurut beberapa pakar:
James Martin (1975) mendefinisikan database sebagai: 'A database may be defined as a
collection of interrelated data stored together without harmful or unnecessary redundancy
to serve one or more applications in an optimal fashion, the data are stored so that they are
independent of programs with use the data; a common and controlled approach its used in
adding new data and in modifying and retrieving existing data within the database ".
C.J. Date (1995) mendefinisikan database sebagai beberapa kumpulan data yang akan
tetap tersimpan, digunakan oleh sistem sistem aplikasi yang diberikan oleh organisasi.
J. L. Whitten & L. D. Bentley (1998) mendefinisikan database sebagai sekumpulan data
dalam file yang saling terhubung (interrelated file), record dalam file harus mengizinkan
adanya kerelasian (dapat dibayangkan sebagai pointer) ke record record lain dalam file
yang lain.
Raghu Ramakrishnan (1998) mendefinisikan database sebagai sekumpulan data yang
saling berhubungan yang menjelaskan aktivitasaktivitas pada sebuah organisasi.
Abraham Silberschatz, Henry F. Korth, dan S. Sudarshan (2001) mendefinisikan database
sebagai sekumpulan data yang saling berhubungan dan menjadi bagian dari DBMS.
Sedangkan Raymond McLeod dan George Schell (2001) mendefinisikan database sebagai
keseluruhan data yang disimpan dalam sistem komputer yang menjadi sumber daya
organisasi.
Dengan memahami definisi diatas maka istilah basis data dapat dipahami sebagai suatu
kumpulan data terhubung (interrelated data) yang disimpan secara bersama sama pada suatu
media, tanpa mengatap satu sama lain atau tidak perlu suatu kerangkapan data (kalaupun ada
maka kerangkapan data tersebut harus seminimal mungkin dan terkontrol [controlled
redundancy]), data disimpan dengan cara cara tertentu sehingga mudah digunakan/atau
ditampilkan kembali; data dapat digunakan oleh satu atau lebih program program aplikasi
secara optimal; data disimpan tanpa mengalami ketergantungan dengan program yang akan
menggunakannya; data disimpan sedemikian rupa sehingga proses penambahan, pengambilan,
dan modifikasi data dapat dilakukan dengan mudah dan terkontrol.
Berdasarkan hal tersebut diatas maka suatu basis data mempunyai beberapa kriteria penting
yang harus dipenuhi, yaitu (Martin, 1975):
1 Berorientasi pada data (data oriented) dan bukan berorientasi pada program (program
oriented) yang akan menggunakannya
Untuk memenuhi kriteria ini maka basis data harus disimpan secara terpisah dengan
program aplikasinya. Umumnya paket paket aplikasi pengelolaan basis data (Database
Management Systems/ DBMS) yang tersedia telah dirancang sedemikian rupa sehingga
basis data disimpan sebagai sekumpulan file yang terpisah dengan program yang
mengaksesnya. Data dapat digunakan oleh pemakai yang berbeda beda atau beberapa
program aplikasi tanpa perlu mengubah basis data. Pemakai basis data juga dapat berupa
program program aplikasi yang berbeda. Program program aplikasi tersebut menjadi
bagian atau subsistem subsistem yang ada dalam lingkup sistem yang lebih besar.
2 Data dalam basis data dapat berkembang dengan mudah, baik volume maupun strukturnya.
Data data di dalam basis data mengalami perkembangan dari waktu ke waktu. Struktur
basis data juga dapat mengalami perubahan seiring dengan kebutuhan subsistem subsistem
pengolahan data yang baru
3 Data yang ada dapat memenuhi kebutuhan sistem sistem baru secara mudah
Ketika terjadi penambahan/perubahan kebutuhan sistem yang baru maka data data dalam
basis data harus dapat memenuhinya. Data data yang telah tersimpan sebagai basis data
harus tetap dapat digunakan tanpa perlu mengubahnya. Hal ini dapat terjadi hanya jika
basis data dirancang sedemikian rupa sehingga ketika muncul kebutuhan kebutuhan baru,
data yang telah tersimpan tetap dapat digunakan tanpa harus diubah. Data data baru dapat
ditambahkan dengan tetap saling berhubungan.
Keenam kriteria tersebut telah membedakan secara nyata antara pengorganisasian data secara
basis data (database processing) dan pengelolaan data dalam file tradisional (file processing).
Dimana kriteria penting dalam file tradisional (file processing) adalah (Martin, 1975):
1 Hanya dapat digunakan oleh satu program aplikasi
2 Berhubungan dengan suatu persoalan tertentu untuk sistem yang direncanakan
3 Perkembangan data hanya mungkin teradi pada volume data saja
4 Hanya dapat digunakan dengan satu cara tertentu saja
5 Kerangkapan data terlalu sering muncul
Sistem basis data mempunyai lingkup yang lebih luas dibandingkan dengan basis data. Sistem
basis data dapat diartikan sebagai sekumpulan basis data dalam suatu sistem yang mungkin
tidak ada hubungan satu sama lain, tetapi secara keseluruhan mempunyai hubungan sebagai
sebuah sistem dengan didukung oleh komponen lainnya.
Istilah sistem basis data juga dapat didefinisikan sebagai sekumpulan subsistem yang terdiri
atas basis data dengan para pemakai yang menggunakan basis data secara bersama sama,
personal personal yang merancang dan mengelola basis data, teknik teknik untuk merancang
dan mengelola basis data, serta sistem komputer untuk mendukungnya (Martin, 1975).
Dari definisi tersebut dapat disimpulkan bahwa sistem basis data mempunyai beberapa elemen
penting, yaitu (Sutanta, 2004):
1. Basis data sebagai inti dari sistem basis data
2. Perangkat lunak (software) untuk perancangan dan pengelolaan basis data
3. Perangkat keras (hardware) sebagai pendukung operasi pengolahan data
4. Manusia (brainware) yang mempunyai peran penting dalam sistem tersebut, yaitu
sebagai pemakai atau para spesialis informasi yang mempunyai fungsi sebagai
perancang atau pengelola
Perangkat lunak untuk pengelolaan basis data merupakan perangkat lunak yang umumnya
mempunyai dua fungsi utama, yaitu untuk mendefinisikan data dalam basis data dan untuk
mengakses/pengelolaan data dalam basis data tersebut. Perangkat lunak yang termasuk dalam
kriteria ini adalah paket paket aplikasi basis data baik yang bekerja di bawah sistem operasi DOS
maupun yang berbasis visual di lingkungan sistem operasi windows. Contoh perangkat lunak
DMBS adalah dBase III++, Foxbase, Foxpro, Visual Dbase, Visual Foxpro, Delphi, Ms Access,
MySQL, Postgre SQL, Oracle, dan masih banyak lagi.
Secara lebih luas perangkat lunak dapat dikategorikan dalam tiga bagian, yaitu (Sutanta, 2005):
1. Perangkat lunak sistem operasi (Operating System/OS), yaitu program yang ditulis
untuk mengendalikan dan mengoordinasi kegiatan dari perangkat keras sistem
komputer. Contoh: MS DOS, PC DOS, Windows, Unix, Linux.
2. Perangkat lunak bahasa (language software), yaitu program yang digunakan untuk
menerjemahkan instruksi instruksi yang ditulis dalam bahasa pemrograman ke dalam
bahasa mesin supaya dapat dimengerti oleh komputer. Contoh perangkat lunak bahasa
adalah Pascal, C++, Foxpro, Foxbase, Visual Foxpro, Delphi, dan lainnya.
3. Perangkat lunak aplikasi (application software), yaitu program yang ditulis dan
ditejemahkan oleh language software untuk menyelesaikan suatu aplikasi tertentu.
Perangkat keras pendukung operasi pengolahan data yang utama adalah sistem komputer yang
mempunyai komponen (lihat Gambar 1.2) sebagai berikut.
1. Perangkat keras unit masukan Terdiri atas alat input langsung dan alat input tidak
langsung.
2. Perangkat keras unit keluaran. Terdiri atas: hardcopy device, softcopy device, drive device.
Berdasarkan tingkat kompleksitas nilai data, tingkatan data dapat disusun dalam sebuah
hierarki, mulai dari yang paling sederhana hingga paling kompleks. Susunan/hierarki data
hingga tersusun suatu sistem basis data dapat ditunjukkan sebagaimana Gambar 1.3.
1. Sistem basis data: sekumpulan subsistem yang terdiri atas basis data dengan para
pemakai yang menggunakan basis data secara bersama sama, personal personal yang
merancang dan mengelola basis data, teknik teknik untuk merancang dan mengelola
basis data, serta sistem komputer untuk mendukungnya. (lihat sub bab 1.8)
2. Basis data: sekumpulan dari bermacam macam tipe record yang memiliki hubungan
antar record dan rincian data terhadap obyek tertentu. (lihat sub bab 1.7)
3. File, merupakan sekumpulan record sejenis secara relasi yang tersimpan dalam media
penyimpan sekunder.
4. Record: sekumpulan field/atribut/data item yang saling berhubungan terhadap obyek
tertentu.
5. Data item/field/atribut, merupakan unit terkecil yang disebut data, yaitu sekumpulan
byte yang mempunyai makna.
6. Data agregate, merupakan sekumpulan data item/field/atribut dengan ciri tertentu dan
diberi nama.
7. Byte, adalah bagian terkecil yang dialamatkan dalam memori. Byte merupakan
sekumpulan bit yang secara konvensional terdiri atas kombinasi 8 hit biner yang
menyatakan sebuah karakter dalam memori (1 byte = 1 karakter).
8. Bit, adalah sistem biner yang terdiri atas dua macam nilai, yaitu 0 dan 1. Sistem biner
merupakan dasar yang dapat digunakan untuk komunikasi antara manusia dan mesin
(komputer). Dua kondisi tersebut dinyatakan dengan on dan off (hidup dan mati), atau
true dan false (benar dan salah), yes dan no (ya dan tidak), atau 1 dan 0 (satu dan nol),
yang selanjutnya dikenal sebagai sistem biner.
LATIHAN
Kerjakan soal soal berikut ini secara lengkap, dan jelas.
2. Jelaskan perbedaan antara data dan informasi, serta berikan minimal tiga contoh data
dan informasi.
3. Jelaskan hubungan antara basis data dan sistem informasi, manakah yang lebih luas
lingkupnya, dan apa sajakah peran basis data dalam sebuah sistem informasi.
4. Sebutkan dan jelaskan posisi para spesialis informasi dalam sebuah sistem informasi.
5. Jelaskan alasan penting mengapa Anda perlu memahami konsep basis data.
7. Sebutkan dan jelaskan kriteria penyimpanan data yang sesuai konsep basis data.
8. Gambarkan dan jelaskan bagaimana keterkaitan antara basis data dan sistem basis data.
9. Jelaskan dalam bentuk tabel yang memuat aspek tinjauan dan perbedaan antara
database processing dan file processing.
BAB - 2
PENGEMBANGAN, KEUNTUNGAN, DAN ATURAN
DALAM BASIS DATA
Materi:
1. Tujuan pengembangan basis data
2. Keuntungan penggunaan basis data
3. Kerangkapan data (data redundancy)
4. Inkonsistensi data (data inconsistency)
5. Data terisolasi (data isolation)
6. Keamanan data (data security)
7. Integritas data (data integrity)
Pelaksanaan perancangan dan penyusunan basis data tentu mempunyai tujuan. Pada dasarnya
tujuannya hampir sama. Perbedaan terlihat pada tingkat kedalaman perincian. James Martin
(1975) membedakan tujuan pengembangan basis data menjadi dua kelompok, yaitu tujuan
primer dan tujuan sekunder. Tujuan primer dimaksudkan sebagai tujuan utama yang ingin
dicapai dalam setiap usaha perancangan dan pengembangan basis data. Sedangkan tujuan
sekunder merupakan tujuan tambahan yang dimaksudkan untuk mencapai tujuan primer.
Tujuan primer atau tujuan utama basis data dirinci sebagai berikut.
1. Data-data dalam basis data dapat digunakan oleh banyak pemakai; Yaitu data-data yang
disimpan dalam basis data harus mempunyai kemampuan yang cukup luas dalam
perwujudan kerelasian di antara item-item data dari banyak file data sehingga pemakai
yang berbeda-beda atau program-program aplikasi yang berbeda dapat menggunakan
basis data yang sama dengan cara yang berbeda-beda.
2. Menjaga investasi intelektual; Program-program aplikasi dan struktur data logik yang
telah ada pada saat ini tidak perlu dibuat / dikerjakan kembali ketika terjadi perubahan
perubahan pada basis data. Berbagai kebutuhan baru dapat dipenuhi dari data yang
telah tersedia saat ini. Kalaupun diperlukan maka data-data baru dapat ditambahkan dan
diintegrasikan dengan mudah dengan data yang tersedia sehingga investasi intelektual
yang dicurahkan sebelumnya tetap terjaga.
3. Penekanan biaya; berkaitan dengan tiga hal, yaitu biaya penyimpanan, biaya penggunaan
data, dan tingginya biaya ketika membuat perubahan-perubahan basis data.
tepat, mudah, dan akurat dengan bersumber pada data-data dalam basis data sehingga
akan berdampak terjadinya peningkatan kinerja sistem secara keseluruhan.
6. Kejelasan (clarity); Kejelasan basis data khususnya bagi para pemakai sangat penting.
Setiap pemakai harus dapat mengetahui dengan jelas data apa saja yang tersedia dan
dapat diakses olehnya.
7. Kemudahan pemakaian; Para pemakai dapat mengakses data data dalam basis data
dengan cara-cara yang mudah menggunakan program aplikasi maupun sistem
pengelolaan basis data (Database Management Systems/DBMS).
8. Fleksibilitas penggunaan (Flexibility); Fleksibilitas cara mengakses data dari dalam basis
data diperlukan dalam rangka meningkatkan efisiensi dan efektifitas kinerja basis data.
9. Kebutuhan data yang tidak terantisipasi dapat dipenuhi dengan cepat; Selain untuk
memenuhi tujuan fleksibilitas penggunaan, bahasa query dapat digunakan untuk
mengatasi permasalahan kebutuhan informasi mendadak yang harus dipenuhi secara
cepat walaupun belum tersedia program aplikasinya.
10. Perubahan yang mudah; Basis data dapat berubah tanpa mempengaruhi cara cara untuk
menggunakan data. Perubahan basis data dapat terjadi karena perubahan aturan dalam
sistem, perubahan realita lapangan yang mempengaruhi basis data, perubahan diluar
kebiasaan, atau mungkin perubahan-perubahan lain yang tidak dapat diantisipasi.
Tujuan sekunder atau tujuan tambahan basis data adalah sebagai berikut:
2. Kebebasan data secara logika (logical data independency); Perubahan kebutuhan data
dan informasi dari para pemakai dapat terjadi dengan mudah tanpa harus mengubah
program aplikasi dan schema basis data.
4. Kecepatan akses; Metode penyimpanan dan akses bergantung pada media penyimpan
yang digunakan. Kesesuaian kebutuhan akses data dan media yang digunakan
merupakan faktor penentu kecepatan akses.
5. Kecepatan pencarian; Pemilihan metode akses oleh para perancang basis data yang
tepat sangat penting untuk diperhatikan karena dapat menunjang kecepatan akses pada
kecepatan proses pencarian data.
6. Standarisasi data; Data data dalam basis data harus dibuat dalam format yang standar.
Standarisasi data juga harus dilakukan hingga penulisan nilai-nilai rinci data yang
disimpan. Setiap susbsistem pengolahan data dalam organisasi harus bersepakat untuk
menggunakan definisi dan format data yang seragam.
9. Bahasa end-user; Basis data harus mengizinkan para pemakai untuk menggunakan
bahasa end user (query dan report generator) sebagai sarana yang cepat dan
memudahkan para pemakai dalam mengembangkan program aplikasinya sesuai
kebutuhannya sendiri.
10. Pengendalian integritas (integrity); Diperlukan adanya suatu batasan integritas yang
menjamin bahwa hubungan diantara dua file (file-file yang saling berhubungan) dapat
dipastikan kebenarannya.
11. Kecepatan pemulihan kembali dari kerusakan (fast recovery from failuries); Kerusakan
media fisik penyimpan basis data merupakan suatu kondisi yang perlu diantisipasi
seperti pada pembuatan basis data cadangan (back up)
12. Kemampuan perubahan untuk penyesuaian (Tuning); Perubahan dalam basis data
dapat dilakukan dengan mudah untuk menyesuaikan dengan keadaan yang baru.
Rancangan basis data yang benar memungkinkan penyesuaian dapat dilakukan secara
cepat dan mudah.
13. Perancangan dan pengawasan alat-alat; Basis data harus mengizinkan perancang dan
pengelola basis data (Database Adntinisnetor/DBA) merencanakan dan mengoptimalkan
kinerja berbagai alat bantu yang digunakan pada saat perancangan dan implementasi
basis data.
14. Pengorganisasian kembali atau migrasi data dapat dilakukan secara otomatis; Proses
migrasi data harus dapat dilakukan secara otomatis menggunakan layanan yang
disediakan oleh DBMS dan sistem operasi komputer tanpa harus mengakibatkan
kehilangan atau kerusakan data selama proses tersebut dilaksanakan.
Basis data yang dikembangkan dengan benar, sesuai dengan batasan/kriteria pengolahan data
secara basis data akan memberikan beberapa keuntungan, yaitu (Martin, 1975):
Dalam perancangan dan penyusunan basis data dikenal adanya beberapa batasan aturan yang
harus ditaati/dipatuhi. Batasan aturan tersebut diperlukan agar file-file basis data yang disusun
dapat memenuhi batasan/kriteria. Menurut James Martin (1975), batasan aturan tersebut
berhubungan dengan lima aspek penting dalam basis data, yaitu:
Database yang benar akan mampu mengatasi semua permasalahan yang terkait dengan lima
batasan aturan tersebut.
Kerangkapan data (data redundancy) adalah munculnya data-data yang sama secara melimpah
(berulang kali) pada file basis data yang semestinya tidak diperlukan. Kerangkapan data terjadi
akibat penyusunan basis data tidak memperhatikan kriteria basis data dan juga dapat terjadi
akibat penyusunan basis data dilakukan oleh perancang yang berbeda dalam selang waktu yang
cukup lama. Sebagian besar kejadian kerangkapan data juga dapat diakibatkan oleh orientasi
pengembangan sistem yang lebih berorientasi pada program aplikasi (program oriented) dan
bukan berorientasi pada basis data (data oriented). Akibatnya. setiap upaya pengembangan
aplikasi diikuti dengan pengembangan rancangan tabel-label basis data baru yang tidak bisa
digunakan oleh aplikasi yang lain dan sulit diintegrasikan.
Kerangkapan data dalam basis data perlu dihindari (paling tidak harus diminimalkan) karena
dapat berakibat:
a. Pemborosan media penyimpanan basis data
b. Biaya penyimpanan yang semakin besar
c. Kesulitan/in-efisiensi dalam pengolahan data
d. Pemborosan waktu dal am pengolahan data
e. Risiko yang semakin besar kemungkinan munculnya inkonsistensi data
Kerangkapan data dalam satu file terjadi jika muncul kerangkapan nilai-nilai rinci data dalam
satu file tersebut. Dalam Tabel 2.1. Kerangkapan data terjadi pada kolom Gaji_Pokok. yaitu untuk
setiap karyawan yang mempunyai Gol Gaji tertentu yang sama dan harus dicatat kembali
tentang Gaji Pokok dengan nilai yang sama sehingga data Gaji Pokok disimpan secara berulang.
Menghindari kerangkapan data dapat dilakukan dengan cara mengubah struktur file, yaitu
dengan cara memecah/menstrukturkan/mendekomposisi file Kaiyawan menjadi dua buah file
baru, yaitu Karyawan _1 dan Golongan. File Karyawan_I digunakan untuk mencatat nilai-nilai
data yang berhubungan dengan identitas setiap karyawan, sedangkan the Golongan digunakan
untuk mencatat besarnya Gaji_Pokok untuk setiap Gol Gaji yang mungkin dimiliki oleh
karyawan.
Hasil pemecahan file Karyawan harus tetap memenuhi definisi basis data, yaitu data-data harus
tetap berhubungan. Dengan demikian, agar kedua file baru yang terbentuk, yaitu Karyawan_1
dan Golongan, dapat tetap sating berhubungan maka diperlukan kolom yang dapat
menghubungkan keduanya (kolom ini disebut sebagai kunci penghubung), yaitu Gol Gaji dalam
file Karyawan. (Lihat Tabel 2.2 dan Tabel 2.3)
Perhartikan Contoh Lainnya: kerangkapan data dalam satu file terjadi pada kolom
Nama_Mahasiswa dan Nama_Mata_Kuliah. Setiap kali mahasiswa dengan NIM tertentu
mengikuti mata kuliah yang berbeda maka namanya harus disimpan kembali dalam kolom
Nama Mahasiswa.
Kerangkapan yang lain terjadi pada kolom Nama_Mata_Kuliah. Setiap kali ada mahasiswa yang
mengikuti mata kuliah dgn kode tertentu maka data nama mata kuliah harus disimpan kembali.
Kerangkapan data dalam file Mahasiswa juga dapat diatasi dengan cara memecah file tersebut.
File baru yang terbentuk adalah Mahasiswa_1, Mata Kuliah, dan KRS. File Mahasiswa_1
digunakan untuk mencatat identitas setiap mahasiswa, file Mata_Kuliah digunakan untuk
mencatat identitas setiap mata kuliah, dan file KRS digunakan untuk mencatat data mahasiswa
dan mata kuliah yang diikutinya. Agar tidak terjadi kerangkapan data kembali dalam file KRS
maka file KRS hanya mencatat NIM mahasiswa yang mengikuti mata kuliah dan Kode
Mata_Kuliah yang diikutinya.
Untuk tetap menjaga hubungan antar data dalam ketiga file baru yang terbentuk tersebut maka
digunakan penghubung, yaitu kolom NIM dan kolom Kode Mata_Kuliah dalam file KRS.
Berdasarkan dua contoh kerangkapan data dalam 1 File tersebut maka dpt disimpulkan bahwa:
1. Kerangkapan data dalam 1 file dapat diatasi dengan cara memecah file tersebut menjadi file-
file baru yang mempunyai struktur lebih sederhana.
2. Banyaknya file baru yang terbentuk tergantung pada banyaknya kerangkapan data. Dalam
file Karyawan terjadi 1 kerangkapan data, yaitu pada kolom Gaji Pokok sehingga file
Karyawan dipecah menjadi 2 file baru, yaitu Karyawan_1 dan Golongan. Sedangkan dalam file
Mahasiswa, terjadi kerangkapan sebanyak 2 kali, yaitu pada kolom Nama Mahasiswa, kolom
Nama Mata Kuliah, sehingga file Mahasiswa dipecah menjadi 3 file baru, yaitu Mahasiswa_1,
Mata_Kuliah, dan KRS.
Kerangkapan data dalam beberapa file terjadi jika muncul nama-nama kolom yang sama dalam
beberapa file. Hal ini dibuat pengecualian untuk kolom yang digunakan sebagai kunci
penghubung antar data dalam file untuk memenuhi definisi basis data. Sebagal contoh, file
Mahasiswa yang ditunjukkan oleh Tabel 2.8 dan file Minat Mahasiswa yang ditunjukkan oleh
Tabel 2.9 menunjukkan terjadinya kerangkapan data dalam 2 file. Kerangkapan data terjadi
pada kolom Nama_Mahasiswa (dalam file Minat_Mahasiswa) karena sebenarnya data
Nama_Mahasiswa telah disimpan dalam file Mahasiswa.
Kerangkapan data dalam beberapa file dapat diatasi dengan cara menghapus kolom yang
rangkap. Hasil penghapusan tersebut menjadi file baru sebagaimana ditunjukkan tabel 2.10,
yaitu diberi nama file Minat_Mahasiswa_1.
menghapus kolom yang rangkap. Penghapusan tsb dilakukan sesuai dgn kelompok datanya.
Catatan:
Kolom Nama_Mahasiswa merupakan kelompok data Mahasiswa yang perlu disimpan dalam
file Mahasiswa, bukan termasuk kelompok data Minat_Mahasiswa, sehingga tidak perlu
disimpan kembali dalam file Minat_Mahasiswa_1.
Inkonsistensi data (data inconsistency) atau data tidak konsisten adalah munculnya data yang
tidak konsisten pada kolom yang sama dalam satu atau beberapa file data yang
dihubungkan/direlasikan. Inkonsistensi data dapat terjadi diakibatkan oleh:
1. Proses pemasukan data (data entiy) yang tidak benar
2. Proses pembaruan data (update) yang tidak benar
3. Pengendalian sistem yang tidak baik/terkontrol
Sekalipun demikian, penyebab utama munculnya data tidak konsisten adalah akibat munculnya
kerangkapan data dalam file. Oleh karena itu, contoh inkonsistensi data dapat diberikan dalam
file yang mengalami kerangkapan data. Basis data harus terbebas dari inkonsistensi data karena
akan mengakibatkan kesalahan fatal pada informasi yang dihasilkan dari pengolahan data dalam
basis data karena tidak sesuai dengan fakta yang ada. Sebagaimana dalam kerangkapan data,
kejadian inkonsistensi data juga dapat terjadi pada dua kemungkinan, yaitu:
1. Inkonsistensi data dalam satu file
2. Inkonsistensi data dalam beberapa file
Inkonsistensi data dalam satu file terjadi jika kemunculan data tidak konsisten terjadi pada satu
file (yang mengalami kerangkapan data). File Karyawan dalam tabel 2.11 mengandung
inkonsistensi data pada nilai Gaji Pokok. Kejadian ini menunjukkan adanya Inkonsistensi data
dalam file Karyawan. Inkonsistensi data tersebut dapat terjadi akibat kesalahan data entry,
kesalahan proses update, atau pengendalian sistem yang tidak baik.
Inkonsistensi data dapat berakibat sangat fatal, yakni mengakibatkan kesalahan informasi pada
hasil pengolahan data.
Inkonsistensi data dalam satu file dapat dihindari dengan cara yang sama sebagaimana
permasalahan kerangkapan data dalam satu file, yaitu dengan memecah file menjadi file-file
baru yang lebih sederhana dan tetap saling berhubungan.
Dalam contoh ini, file-file baru hasil pemecahan yang diperoleh adalah sama dengan contoh
kerangkapan dalam 1 file di atas, yaitu file Karyawan_1 dan Golongan sebagaimana ditunjukkan
oleh Tabel 2.2. dan 2.3.
Contoh inkonsistensi data dalam satu file yang lain ditunjukkan oleh Tabel 2.12 dimana
inkonsistensi terjadi pada nama_mata_kuliah dengan kode_mata_kuliah. Selain itu, inkonsistensi
data juga terjadi pada baris data ke-7.
Inkonsistensi data dalam beberapa file juga diakibatkan oleh rancangan struktur file yang
mengalami kerangkapan data dalam beberapa file. Perhatikan contoh di bawah.
Inkonsistensi ini terjadi karena kesalahan tidak konsistenya Nama_Mahasiswa terhadap NIM ini
dimungknkan karena dua tabel memiliki dua kolom yang sama (Nama_Mahasiswa) yang dapat
menyebebkan salah meng-input data, akibatnya terjadi kesalahan informasi hasil pengolahan
data dari file Minat_Mahasiswa dalam Tabel 2.14, misal kesalahan pada saat mencetak daftar
minat_mahasiswa, yaitu Rina memiliki dua minat (Jaringan dan Web), sedangkan nama Rim
justru tidak pernah tanipil sama sekali.
Inkonsistensi data dalam beberapa file diatas dapat diatasi sebagaimana mengatasi kerangkapan
data dalam beberapa file, yaitu dengan cara menghapus kolom data yang rangkap sesuai dengan
kelompok datanya. Hasil yang diperoleh adalah file Minat Mahasiswa_1 sebagaimana
ditunjukkan pada Tabel 2.10.
Berdasarkan contoh-contoh inkonsistensi tersebut maka kejadian inkonsistensi data dalam file
basis data umumnya sangat sulit diketahui. Oleh karena itu, inkonsistensi data harus diantisipasi
sejak dini, dimulai sejak perancangan struktur file dalam basis data, yaitu dengan cara
merancang struktur file yang terbebas dari kerangkapan data.
Data terisolasi disebabkan oleh pemakaian beberapa file basis data di mana program aplikasi
tidak dapat mengakses data-data dari file tertentu, kecuali bila program aplikasi
diubah/ditambah sehingga seolah-olah ada file yang teipisah/terisolasi terhadap file yang lain
dalam basis data. Data terisolasi harus dihindari karena akan mengakibatkan tidak lengkapnya
informasi yang dihasilkan dari pengolahan data dalam basis data. Sedangkan kita tahu bahwa
nilai informasi sangat ditentukan oleh sifat luas dan kelengkapannya. Dengan demikian, data
terisolasi mengakibatkan informasi hasil pengolahan data dalam basis data menjadi tidak
bernilai karena tidak lengkap.
Perhatikan contoh Tabel 2.5, 2.16, 2.17. Terlihat Tabel 2.17 terisolasi dari tabel 2.15 dan 2.16
karena tidak adanya hubungan antara file Pembimbing Minat dengan file Mahasiswa dan file
Minat Mahasiswa_1.
Untuk mengatasi hal tersebut maka dirancang sebuah file baru yang berfungsi untuk
menghubungkan antara data minat dengan data pembimbing. Contoh berikut menggunakan file
Membimbing sebagaimana ditunjukkan oleh Tabel 2.18.
Cara pertama seperti ini baik dilakukan apabila ada kemungkinan bahwa seorang pembimbing
dapat membimbing lebih dari 1 minat sehingga penambahan file Membimbing terhindar dari
kerangkapan data Nama_Pembimbing.
Cara lain juga dapat dilakukan untuk mengatasi hal ini, yaitu dengan meniodifikasi file
Pembimbing_Minat dalam Tabel 2.17 menjadi file Pembimbing Minat_1 sebagaimana
ditunjukkan pada Tabel 2.19. Modifikasi yang dilakukan adalah menambahkan kolom Minat
yang berfungsi untuk menghubungkan antara data-data dalam file Pembimbing_Minat dengan
data-data dalam file Minat_Mahasiswa_1.
Cara kedua ini baik dilakukan apabila tidak ada kemungkinan bahwa seorang pembimbing dapat
membimbing lebih dari satu minat sehingga penambahan kolom Minat dalam file
Pembimbing_Minat lebih efisien dalam hal penggunaan media penyimpan.
Cara ketiga juga dapat dilakukan untuk mengatasi permasalahan data terisolasi. Jika macam
minat yang ada dalam mahasiswa dapat bermacam-macam, satu mahasiswa dapat memiliki
lebih dari satu minat, minat-minat baru bisa muncul, macam minat dapat berubah-ubah, maka
cara pertama dan cara kedua masih dapat menimbulkan permasalahan. Ketika ukuran nilai rinci
data minat bisa sangat panjang maka data minat lebih efisien jika dikodekan. Jika cara ini
dilakukan maka dengan tetap menggunakan file Mahasiswa dalam Tabel 2.15 yang dituliskan
kembali sebagai Tabel 2.20, penyelesaian dengan cara ketiga ini menghasilkan tambahan file
baru, yaitu seperti ditunjukkan oleh Tabel 2.21, Tabel 2.22, Tabel 2.23, dan Tabel 2.24.
Dalam hal data terisolasi muncul akibat format data yang tidak standar maka permasalahan ini
hanya dapat diselesaikan dengan cara mengubah/menyesuaikan format data dalam file basis
data sehingga data data di dalamnya dapat saling dihubungkan. Sebagai contoh, jika kolom NIM
dalam file Mahasiswa didefinisikan sebagai numerik dan kolom NIM dalam file Minat Mahasiswa
didetinisikan sebagai karakter, berarti NIM dalam dua file tersebut mempunyai format yang
berbeda. Perbedaan format data ini mengakibatkan data-data dalam file Mahasiswa dan data-
data dalam file Minat Mahasiswa tidak dapat dihubungkan. Perbedaan format hanya bisa diatasi
dengan cara mengubah format dalam definisi struktur file sehingga data terisolasi dapat
terhindari.
Berdasarkan contoh-contoh di atas maka data terisolasi dapat diatasi dengan cara:
1. Menambahkan file baru bertipe transaksi yang berfungsi sebagai penghubung antar data
dalam file-file lain yang telah ada
2. Menambahkan kolom yg berfungsi sebagai penghubung dgn file-file lain yg telah ada
3. Menyesuaikan domain kolom yang berfungsi sebagai penghubung
Keamanan data (data security) merupakan aspek kritis dalam basis data. Prinsip dasar dari
keamanan data dalam basis data adalah bahwa data-data dalam basis data merupakan sumber
informasi yang bersifat sangat penting dan rahasia. Oleh karena itu, data-data tersebut harus
dijaga dari berbagai hal yang kemungkinan dapat merusak data. Aspek keamanan basis data
meliputi:
1. Recovery, adalah suatu proses menggunakan kembali basis data dari media
penyimpanan cadangan untuk mengembalikan data pada kondisi yang benar karena
terjadi kerusakan/kehilangan data akibat kerusakan media penyimpan, program
aplikasi, OS, basis data, hardware, dan lain-lain.
2. Integrity, berkaitan dengan unjuk kerja sistem untuk dapat menjaga data-data dalam
basis data agar selalu berada dalam kondisi yang benar (tipe dan ukuran datanya), up to
date (sesuai dengan kondisi aktual), konsisten, dan selalu tersedia (current).
3. Corrcurency, berkaitan dengan mekanisme pengendalian basis data saat digunakan oleh
beberapa pemakai secara bersamaan agar terhindar dari kesalahan akibat beberapa
transaksi berbeda dilakukan secara bersamaan.
4. Privacy, yaitu dimaksudkan sebagai pembatasan kewenangan akses data dalam basis
data untuk mencegah dan melindungi basis data dari penggunaan oleh pengguna yang
tidak berwenang dan pengubahan yang tidak dikehendaki.
5. Security, adalah suatu mekanisme sistem untuk mencegah dan melindungi basis data
kehilangan akibat kerusakan pada fisik media penyimpan, kebakaran, banjir, badai, dll.
Integritas data (data Integrity) berhubungan dengan kinerja sistem agar dapat melakukan
kendali/kontrol pada semua bagian sistem. Integritas dimaksudkan sebagai suatu sarana untuk
meyakinkan bahwa data-data yang tersimpan dalam basis data selalu berada dalam kondisi yang
benar (tipe dan ukuran datanya), up to date (sesuai dengan kondisi aktual), konsisten, dan selalu
tersedia (current). Hal ini merupakan aspek kritis dalam manajemen basis data.
Salah satu cara terbaik untuk menjaga Integritas data adalah meyakinkan bahwa nilai-nilai data
adalah benar sejak kali pertama masuk. Hal ini dapat ditempuh dengan beberapa metode,
misalnya dengan mengeset secara seksama prosedur penangkapan data (data capture) atau
dengan membuat modal dalam program aplikasi untuk mengecek validitas/keabsahan nilai data
pada saat dimasukkan kedalam mesin (data ertry).
LATIHAN
Kerjakan soal soal berikut ini secara lengkap, dan jelas.
1. Berikan penjelasan mengapa kerangkapan data harus diminimalkan dalam basis data.
4. Cobalah Anda mencari contoh formulir isian pendaftaran member baru yang
dipublikasikan secara online di situs internet. Berikan penjelasan, bagaimana pemilik
situs dapat melakukan validasi data Anda untuk menjaga accuracy dan consistency isian
data dengan menggunakan formulir isian tersebut.
5. Berikut kasus sistem pengolahan data di sebuah perguruan tinggi. Contoh pengguna
basis data dalam sistem tersebut adalah bagian akademik, bagian keuangan, dan bagian
perpustakaan. Jelaskan secara terperinci, data item apa saja yang diperlukan oleh masing
masing pengguna tersebut. Bagaimana seharusnya data mahasiswa disimpan dalam
basis data agar dapat digunakan oleh ketiga pengguna tersebut, namun tetap tidak
mengalami kerangkapan penyimpanan pada data mahasiswa?
6. Berikan contoh dua buah relasi yang mengalami kerangkapan data. Untuk contoh yang
diberikan tersebut, jelaskan bagaimana solusi atas kerangkapan data yang terjadi.
7. Berikan contoh sebuah relasi yang mengalami kerangkapan data dan memuat
inkonsistensi data. Untuk contoh yang dberikan tersebut, jelaskan bagaimana solusi alas
inkonsistensi data yang terjadi.
8. Berikan contoh dua buah relasi yang terkait, namun tidak didefinisikan kolom
penghubungnya. Untuk contoh yang dierikan tersebut, jelaskan bagaimana solusi atas
data terisolir yang ter jadi.
9. Terkait dengan 5 aspek keamanan data, berikan penjelasan yang cukup untuk masing-
masing aspek tersebut dengan menggunakan contoh kasus pengamanan basis data pada
sebuah instansi/lembaga.
BAB - 3
ARSITEKTUR BASIS DATA
Kompetensi yang diharapkan:
Setelah mengikuti materi ini mahasiswa mampu menjelaskan macam, level, dan antarmuka antarlevel pandangan
terhadap basis data, serta independensi data.
Materi:
1. Macam pandangan terhadap basis data
2. Level pandangan terhadap basis bata
3. Antarmuka antarpandangan terhadap basis data
4. Independensi data (data independency)
Sebuah basis data dapat dipandang dari dua sisi, yaitu sisi pengguna dan sisi perancang.
Pengguna basis data adalah orang atau program aplikasi yang mengakses basis data, baik sendiri
maupun secara bersamaan. Sedangkan perancang adalah personal yang berperan sebagai
perancang dan pengelola basis data. Seorang perancang dapat memiliki dua pandangan yang
berbeda, yaitu secara konseptual dan secara fisis. Pandangan pandangan tersebut menunjukkan
level abstraksi basis data yang sering disebut sebagai arsitektur basis data atau abstraksi basis
data. Dalam hal ini terdapat beberapa penyebutan yang berbeda untuk setiap level abstraksi
basis data seperti
James Martin (1975) menjelaskan bahwa abstraksi basis data terdiri atas tiga level, yaitu
application programmer logical file atau user view, global logical data atau level
konseptual (conceptual view), dan physical view atau level internal.
Jeffrey D. Ullman (1988) menyebutkan bahwa tiga level abstraksi basis data adalah
meliputi level pandangan (view level), level basis data konseptual (conceptual database
level), dan level basis data fisik (physical database level).
Dan lain sebagainya
Namun secara umum dapat kita gambarkan arsitektur basis data seperti ditunjukkan pada
Gambar 3.1.
Antarmuka (interface) menyediakan layanan yang lengkap untuk lapisan yang lebih tinggi
sehingga setiap lapisan bergantung pada lapisan dibawahnya. Antarmuka mengisolasi
setiap perubahan yang terjadi pada lapisan lainnya. Operating System/OS yang digunakan oleh
sistem komputer yang mendukung basis data menjamin perubahan tersebut. Antarmuka antara
pengguna dan basis data dapat digambarkan sebagaimana ditunjukkan oleh Gambar 3.2
Antarmuka 1: Kebutuhan data dari para pengguna memerlukan sistem pengelolaan basis data
(Database Management Systems DBMS) untuk mendeskripsikan kebutuhan
tersebut, serta kondisi kewenangan dan keamanan data. Data dalam fisik media
penyimpan diketahui berdasarkan model eksternalnya. Berdasarkan deskripsi
fisik tersebut diketahui model internal dari metode akses yang digunakan.
Antarmuka 2: DBMS menentukan model internal, yaitu metode akses yang akan
diimplementasikan secara berbeda-beda.
Antarmuka 3: Metode akses dalam model internal bersama-sania OS mengakses record
dari lisik media penyimpan sekunder.
Untuk menjamin agar pemisahan setiap lapisan tetap terjaga maka OS perlu menyembunyikan
kompleksitas struktur rinci lapisan lebih rendah dari lapisan diatasnya. Hal ini dapat dilakukan
jika fungsi-fungsi pada lapisan dibawahnya cukup handal dan efisien. Ketidakbergantungan dari
deskripsi dan organisasi antar lapisan sering disebut ketidakbergantungan data atau kebebasan
data atau independensi data (data independence).
Independensi data secara logik dimaksudkan bahwa kebutuhan-kebutuhan data para pengguna
dapat mengalami perubahan tanpa harus mengubah pandangan logik pengguna terhadap basis
data atau deskripsi logik basis data (Global logical data/conseptual view) yang digunakan dalam
schema basis data. Berdasarkan keterangan diatas maka independensi data memberikan
jaminan berupa fleksibilitas basis data, yaitu:
1. Media dan metode akses data dari fisik media penyimpan basis data dapat mengalami
perubahan tanpa harus mengubah pandangan konseptual
2. Kebutuhan data-data oleh para pengguna basis data dapat mengalami perubahan tanpa
harus mengubah pandangan konseptual
3. Pengguna tidak perlu tahu kerumitan/kompleksitas yang terjadi berkaitan dengan
perancangan dan teknis penyimpanan basis data dalam media penyimpan data yang
digunakan
LATIHAN
Kerjakan soal soal berikut ini secara lengkap, dan jelas.
3. Terkait dengan soal nomor 2, dimana dan bagaimana peran DBMS dalam proses
penyimpanan dan akses data yang tersimpan di dalam media penyimpan sekunder.
5. Berikan contoh perubahan kebutuhan data dari pengguna, kemudian jelaskan cara
mengantisipasi perubahan tersebut dalam rancangan basis data.
6. Berikan contoh perubahan organisasi basis data yang diakibatkan oleh perubahan fisik
penggunaan media penyimpan sekunder. Jelaskan langkah-langkah yang Saudara
lakukan untuk melaksanakan proses perubahan tersebut. Sulit atau mudahkah proses
perubahan tersebut'?
BAB - 4
PEMODELAN DATA
Materi:
1. Definisi dan macam-macam model data
2. Komponen, menggambarkan, Contoh-contoh, serta kelebihan dan kekurangan pada model data : ER Diagram,
Sematic, Hierarchycal, Network, dan Relasional.
Telah dijelaskan sebelumnya bahwa dalam pandangan terhadap basis data terdapat tiga
level abstraksi data, yaitu pandangan para pengguna, pandangan konseptual, dan
pandangan fisikal oleh seorang perancang basis data. Para pengguna basis data umumnya
adalah orang-orang yang awam terhadap konsep dan teknologi yang digunakan dalam basis
data. Permasalahannya adalah pada saat merancang, seorang perancang/analis sistem perlu
mengetahui kebutuhan data dan informasi yang diinginkan oleh para pengguna. Dalam hal ini
perancang/analis sistem harus selalu berkomunikasi dengan para pengguna basis data untuk
mencari tahu tentang kebutuhan setiap pengguna yang berbeda-beda. Untuk
mengkomunikasikan rancangan basis data dan sistem yang akan dikembang tersebut diperlukan
suatu cara yang mudah dipahami secara logika oleh para pengguna basis data.
penggguna tidak perlu tahu kompleksitas dan kerumitan dalam teknis penyimpanan data dalam
media penyimpan. Pengguna juga tidak akan memperhatikan bagaimana data disimpan
dalam media penyimpan secara fisik. Untuk kepentingan ini diperlukan apa yang disebut
sebagai model data. Model data merupakan suatu cara untuk menjelaskan tentang data-data
yang tersimpan dalam basis data dan bagaimana hubungan antar data tersebut untuk para
pengguna (user) secara logika (Silberschatz, dkk, 2001).
Secara garis besar model data dapat dikelompokkan dalam tiga macam, yaitu (Martin, 1975):
1. Object based data model, model ini terdiri atas:
a. Entity relationship model
b. Semantic model
c. Binary model
Object based data model merupakan himpunan data dan prosedur/relasi yang menjelaskan
hubungan logik antar data dalam suatu basis data berdasarkan pada obyek datanya. Entity
relationship model merupakan suatu model untuk menjelaskan hubungan antar data dalam
basis data berdasarkan suatu persepsi bahwa real world terdiri dari obyek-obyek dasar
yang mempunyai hubungan/kerelasian antar obyek-obyek dasar tersebut yang
dilukiskan dengan menggunakan simbol-simbol grafis tertentu.
Semantic model hampir sama dengan entity relationship model. Perbedaannya adalah kerelasian
antar obyek dasar tidak dinyatakan dengan simbol, tetapi secara semantik, yaitu
menggunakan kata-kata.
Model ini didasarkan kepada record/rekaman untuk menjelaskan kepada para pengguna
tentang hubungan logik antar data dalam basis data. Hierarchycal model sering pula
disebut sebagi tree structure, menjelaskan kepada para pengguna tentang hubungan logik
antar data dalam basis data dalam bentuk hubungan bertingkat. Elemen-elemen penyusunnya
disebut sebagai node yang pada kenyataannya dapat berupa rinci data, agregat data, atau
record. Level paling tinggi dalam suatu hierarki harus hanya terdapat sate node dan disebut
sebagai root. Suatu node pada level yang lebih rendah hanya diizinkan mempunyai satu
relasi dengan node pada tingkat yang lebih tinggi, yang disebut sebagai parent. Sedangkan
kebalikannya, parent dapat mempunyai lebih dari satu child, yaitu node-node yang
mempunyai level lebih rendah dan dihubungkan dengan parent. Suatu node yang tidak
mempunyai child disebut sebagai leaves. Jadi pada hierarchycal model tidak ada child yang
mempunyai lebih dari satu parent.
Network model sering pula disebut sebagai plex structure. Seperti halnya dengan hierarchycal
model, network model dapat dideskripsikan kedalam struktur hubungan bertingkat yang
tersusun atas node-node. Dalam network model sebuah child dapat mempunyai lebih dari
satu parent. Hal ini yang membedakan antara hierarchycal model dan network model. Teknik
leveling pada network model dilakukan dengan cara yang sama dengan hierarchycal model.
Relational model menjelaskan kepada pengguna tentang hubungan logik antara data dalam
basis data dengan merepresentasikannya kedalam bentuk tabel-tabel yang terdiri atas
sejumlah basis yang menunjukkan record dan kolom yang menunjukkan atribut tertentu.
Relational model merupakan salah satu model yang banyak digunakan dalam pemodelan dan
perancangan basis data. Hal ini karena konsep dan terminologi yang digunakan dalam
model ini hampir sama dengan kondisi sesungguhnya yang dihadapi oleh para pengguna
sehingga memudahkan para pengguna dalam memahaminya. Perangkat lunak pengelolaan
basis data yang tersedia dipasaran pun banyak yg dikembangkan berdasarkan model ini.
Model ini mendasarkan pada teknis penyimpanan record/rekaman dalam basis data. Model
ini jarang digunakan untuk memodelkan data kepada para pengguna karena relatif rumit dan
kompleks sehingga seringkali justru menyulitkan para pengguna.
Pada sub bab selanjutnya akan kita bahas lebih rinci sebagian dari beberapa model diatas yang
umum digunakan saat ini, yaitu model data: Entity Relationship dan Relasional.
LATIHAN
Kerjakan soal soal berikut ini secara lengkap, dan jelas.
1. Jelaskan keterkaitan antara pengguna basis data, analis, dan model data. Apa fungsi
model data dalam keterkaitan antara 3 komponen tersebut?
3. Carilah minimal tiga perangkat lunak DBMS yang beredar di pasaran saat ini.
Untuk contoh yang Saudara berikan tersebut, sebutkan termasuk model yang manakah
masing-masing DBMS tersebut, jelaskan alasan Saudara, kemudian berikan resume
singkat yang menggambarkan perbedaan pada masing-masing DBMS tersebut.
4. Terkait dengan jawaban untuk soal nomor 4 dan 5, berikan penjelasan, perbedaan,
dan perkembangan yang Saudara temukan.
5. Untuk masa-masa saat ini, sebutkan model perangkat lunak DBMS yang paling banyak
beredar di pasaran. Jelaskan alasan Saudara mengapa terjadi demikian.
BAB - 5
MODEL DATA ENTITY RELATIONSHIP
Materi:
1. Komponen ER_Diagram
2. Menggambar ER_ Diagram
3. Contoh ER_ Diagram
4. Kelebihan dan kelemahan ER_Diagram
Entity Relationship Model/ER_M merupakan suatu model data yang dikembangkan berdasarkan
obyek. ER_M digunakan untuk menjelaskan hubungan antar data dalam basis data kepada
pengguna secara logik. ER_M didasarkan pada suatu persepsi bahwa real world terdiri atas
obyek-obyek dasar yang mempunyai hubungan/kerelasian antar obyek-obyek dasar tersebut
(Martin, 1975). ER_M digambarkan dalam bentuk diagram yang disebut diagram ER
(ER_Diagram/ER_D). Untuk menggambarkan ER_D digunakan simbol-simbol grafis tertentu.
Penggunaan ER_M relatif mudah dipahami, bahkan oleh para pengguna yang awam. Bagi
perancang/analis sistem, ER_D berguna untuk memodelkan sistem yang nantinya basis datanya
akan dikembangkan. Model ini juga membantu perancang/analis sistem pada saat melakukan
analisis dan perancangan basis data karena model ini dapat menunjukkan macam data yang
dibutuhkan dan kerelasian antardata di dalamnya. Bagi pengguna, model ini sangat membantu
dalam hal pemahaman model sistem dan rancangan basis data yang akan dikembangkan oleh
perancang/analis sistem (Sutanta, 2004).
Sebuah diagram ER/ER_D tersusun atas tiga komponen, yaitu entitas, atribut, dan kerelasian
antar entitas. Secara garis besar, entitas merupakan obyek dasar yang terlibat dalam sistem.
Atribut berperan sebagai penjelas entitas, sedangkan kerelasian menunjukkan hubungan yang
terjadi di antara dua entitas (Silberschatz, dkk, 2001).
Entitas menunjukkan obyek-obyek dasar yang terkait di dalam sistem. Obyek dasar dapat
berupa orang, benda, atau hal yang keterangannya perlu disimpan di dalam basis data. Untuk
menggambarkan sebuah entitas digunakan aturan sebagai berikut (Sutanta, 2004):
a. Entitas dinyatakan dengan simbol persegi panjang
b. Nama entitas dituliskan di dalam simbol persegi panjang
c. Nama entitas berupa kata benda, tunggal
d. Nama entitas sedapat mungkin menggunakan nama yang mudah dipahami dan dapat
menyatakan maknanya dengan jelas
Sering kali nama entitas dapat tersusun atas lebih dari satu kata. Untuk memenuhi aturan
penggambaran tersebut di atas maka sering digunakan tanda _ (garis bawah/hypen/underscore)
yang dimaksudkan untuk menyatakan bahwa beberapa kata tersebut dianggap sebagai kata
tunggal. Misal:
KULIAH SISTEM BASIS DATA – S1 TEKNIK GEODESI / GEOMATIKA – FT – UNILA
BAB V – Model Data Entity Relationship Halaman - 2 / 5
Untuk menyatakan nama entitas mata kuliah dapat menggunakan Mata_Kuliah bukan Mata
atau Kuliah karena lebih mudah dipahami. Selain itu, bisa nama Mata atau Kuliah
menimbulkan perbedaan interpretasi bagi pengguna.
entitas Karyawan_Tidak_Tetap lebih mudah dipahami daripada menggunakan nama
Karyawan saja karena tidak dapat membedakan dengan karyawan tetap. Demikian juga
nama entitas Tidak atau Tetap atau Tidak_Tetap saja menjadi kurang bermakna.
Dalam kasus yang lain sering kali nama entitas yang panjang justru menyulitkan. Pengguna lebih
memahami nama yang lebih singkat.
Sekalipun tidak dianjurkan, singkatan juga dapat digunakan sebagai nama entitas. Misal:
Untuk menyatakan nama entitas orangtua/wali mahasiswa dapat menggunakan nama
Ortu_Mahasiswa, di mana Ortu dimaksudkan sebagai orangtua. Singkatan ini telah lazim
digunakan sehingga cukup mudah untuk tetap dapat dipahami.
Catatan:
Penentuan entitas dalam suatu sistem perlu dilakukan dengan cermat dan hati-hati. Tidak
semua orang, benda, atau hal dapat disebut entitas. Hanya orang, benda, dan hal yang terkait
dengan sistem dan keterangannya perlu disimpan dalam basis data yang dapat disebut entitas.
Selain itu, ketelitian sangat diperlukan untuk menentukan apakah sesuatu hal (khususnya) akan
menjadi sebuah entitas atau tidak. Sebagai contoh, keterangan mengenai kabupaten, sekalipun
hanya menerangkan bagian alamat seseorang, tetapi sebenarnya kabupaten merupakan sebuah
obyek dasar dalam sistem akademik. Demikian juga untuk provinsi, agama, pekerjaan orangtua
mahasiswa, dan lainnya. Hal ini karena nilai-nilai data pada kabupaten, provinsi, agama,
pekerjaan orangtua mahasiswa akan digunakan bersama-sama di beberapa entitas dalam sistem
akademik, nilainya tidak sama, dan memiliki kemungkinan untuk mengalami perubahan. Tetapi
keterangan mengenai jenis kelamin seseorang bukan merupakan sebuah entitas karena nilainya
telah pasti dan tidak pernah berubah. Golongan darah seseorang, sekalipun merupakan suatu
hal, tetapi sebagaimana jenis kelamin, nilai-nilai data dalam golongan darah sudah pasti, yaitu A,
B, AB, dan 0, sehingga bukan merupakan suatu entitas.
Sebagai contoh, dalam suatu subsistem pengolahan data akademik yang sederhana, entitas yang
terlibat dalam subsistem tersebut dapat meliputi orang-orang sebagaimana ditunjukkan pada
Gambar 5.1, entitas berupa benda seperti ditunjukkan pada Gambar 5.2, dan entitas berupa hal-
hal seperti ditunjukkan pada Gambar 5.3.
Mahasiswa Mahasiswa
Dosen Dosen
Ruang Ruang
Angkatan Angkatan
Golongan Golongan
Mata kuliah Mata_kuliah
Nilai Nilai
Ruang Ruang
Waktu Waktu
Kabupaten/Kodya Kabupaten
Provinsi Provinsi
Agama Agama
Entitas-entitas yang terlibat dalam suatu subsistem/sistem bisa jadi berbedabeda untuk setiap
organisasi. Contoh entitas dalam subsistem akademik pada Gambar 5.1, Gambar 5.2, dan Gambar
5.3 bisa jadi berbeda untuk perguruan tinggi lainnya. Sebagai contoh, jika perguruan tinggi
hanya menyelenggarakan pendidikan dalam sebuah fakultas saja (Sekolah Tinggi misalnya)
maka tidak ada entitas fakultas. Atau jika perguruan tinggi hanya menyelenggarakan sebuah
Program Studi saja maka tidak perlu entitas Program Studi. Atau jika perguruan tinggi hanya
mempunyai sebuah Jurusan maka tidak perlu entitas Jurusan.
Terkait dengan keberadaan entitas, terdapat beberapa istilah khusus yang digunakan, yaitu:
1. Isian entitas
Isian entitas menyatakan sebuah kemungkinan pada sebuah entitas (Sutanta, 2004). Contoh:
a. Mahasiswa dengan NIM 02050001
b. Mahasiswa bernama Rita
c. Mata kuliah dengan kode mata kuliah MK001
d. Mata kuliah dengan nama Pemrograman I
e. Alamat mahasiswa Jl. Pangeran Diponegoro 100
f. Dosen bernama Agus
g. Golongan gaji IIIA
2. Himpunan entitas
Himpunan entitas menyatakan sekumpulan entitas dengan struktur/sifat yang sama
(Sutanta, 2004). Contoh:
a. Sejumlah mahasiswa jenjang sadana
b. Sejumlah mahasiswa jenjang diploma
c. Semua mahasiswa
d. Sejumlah mata kuliah wajib
e. Sejumlah mata kuliah konsentrasi
f. Sejumlah mata kuliah pilihan
g. Sejumlah karyawan tetap
h. Sejumlah karyawan tidak tetap
i. Semua karyawan
3. Entitas reguler
Entitas reguler disebut juga entitas dominan. Keberadaan entitas ini tidak tergantung pada
entitas yang lain (Sutanta, 2004). Contoh:
a. Mahasiswa
b. MataKuliah
c. Karyawan
d. Kabupaten
e. Provinsi
f. Pekerjaan
g. Agama
4. Entitas dependen
Entitas dependen disebut juga entitas tak bebas/independen atau entitas lemah (weak entity)
atau entitas subordinat. Keberadaan entitas ini tergantung pada entitas yang lain. Artinya
entitas dependen dapat muncul jika ada entitas lain sebagai acuannya (entitas reguler)
(Sutanta, 2004). Contoh:
a. Mahasiswa_Jenjang_Sarjana, bergantung pada entitas Mahasiswa
b. Mahasiswa_Jenjang_Diploma, bergantung pada entitas Mahasiswa
c. Mata_Kuliah_Wajib, bergantung pada entitas Mata_Kuliah
d. Mata_Kuliah_Konsentrasi, bergantung pada entitas Mata_Kuliah
e. Mata_Kuliah_Pilihan, bergantung pada entitas Mata_Kuliah
f. Karyawan_Tetap, bergantung pada entitas Karyawan
g. Karyawan_Tidak_Tetap, bergantung pada entitas Karyawan
h. Wali_Mahasiswa, bergantung pada entitas Mahasiswa
Untuk menggambarkan entitas dependen digunakan persegi panjang dengan garis double
(Sutanta, 2004). Dalam contoh di atas, nama setiap entitas tersebut dituliskan dalam dua
persegi panjang (lihat contoh entitas Wali Mahasiswa dalam Gambar 5.1.).
Sebuah entitas bisa jadi mempunyai hubungan antar entitas dengan sifat bahwa salah satu
entitas merupakan bagian dari entitas yang lain. Entitas super type merupakan entitas yang
mempunyai tingkatan lebih tinggi, yaitu membawahi atau mempunyai entitas bagian yang
lebih rendah. Sedangkan entitas sub type merupakan entitas yang lebih rendah, yaitu entitas
yang menjadi entitas bagian dari entitas lain (Sutanta, 2004).
Sebagai contoh, entitas Karyawan_Tetap dan Karyawan_Tidak_Tetap merupakan bagian dari
entitas Karyawan. Entitas Karyawan disebut sebagai entitas super type (super type entity),
sedangkan entitas Karyawan_Tetap dan Karyawan_Tidak_Tetap disebut sebagai entitas sub
type (sub type entity) terhadap entitas Karyawan. Contoh entitas super type dan sub type
ditunjukkan pada Gambar 5.4.
Karyawan
Karyawan_Tetap Karyawan_Tidak_Tetap
Atribut sering pula disebut sebagai properti (property), merupakan keterangan-keterangan yang
terkait pada sebuah entitas yang perlu disimpan dalam basis data. Atribut berfungsi sebagai
penjelas pada sebuah entitas (Sutanta, 2004). Untuk menggambarkan atribut digunakan aturan
sebagai berikut (Sutanta, 2004):
1. Atribut dinyatakan dengan simbol elips
2. Nama atribut dituliskan di dalam simbol elips
3. Nama atribut berupa kata benda, tunggal
4. Nama atribut sedapat mungkin menggunakan nama yang mudah dipahami dan dapat
menyatakan maknanya dengan jelas
5. Atribut dihubungkan dengan entitas yang bersesuaian dengan menggunakan sebuah
garis (sewajarnya menggunakan garis lurus, namun dalam kondisi yang tidak
memungkinkan dapat juga tidak menggunakan garis lurus)
Sebagaimana dapat terjadi dalam entitas, penamaan atribut diusahakan agar mudah dipahami
(khususnya oleh para pengguna). Nama-nama yang digunakan sebagai atribut juga harus jelas,
menunjukkan maknanya. Jika perlu, penggunaan tanda _ (garis bawah/underscorer/hypen) atau
penggunaan singkatan juga bisa digunakan, sepanjang lebih mudah dipahami.
Contoh-contoh atribut untuk entitas dalam contoh subsistem pengolahan data akademik dalam
Gambar 5.1, Gambar 5.2, dan Gambar 5.3 ditampilkan pada Tabel 5.1.
Sebagai contoh, penggambaran atribut pada entitas Mahasiswa ditunjukkan pada Gambar 5.5.
Kode_Angkatan Nama_Mahasiswa
Kode_Program_Studi Tanggal_Lahir
Kode_Jurusan Kode_Agama
Nomor Status
Atribut pada sebuah entitas dapat diklasifikasikan dalam dua kelompok, yaitu:
1. Atribut sederhana (simple attribute), yaitu jika atribut berisi sebuah komponen
nilai/elementer (Sutanta, 2004). Contoh atribut sederhana dan nilai atribut dalam entitas
Mahasiswa adalah:
a. Kode_Angkatan : 2012 (angkatan 2012)
b. Kode_Program_Studi : 01(program studi Teknik Survei dan Pemataan)
c. Kode_Jenjang_Studi : 08 (jenjang studi sarjana)
d. Kode Jurusan : 01 (jurusan Teknik Sipil)
e. Nornor : 1000 (nomor 2012)
f. Kode_Agama : I (agama Islam)
g. Status : B (status biasa)
2. Atribut komposit (composite attribute), yaitu jika atribut berisi lebih dari sebuah komponen
nilai (Sutanta, 2004). Contoh atribut komposit & nilai atribut dlm entitas Mahasiswa adalah:
a. Nama_Mahasiswa : Mawar Menur Melati
Terdiri alas komponen nilai:
Nama depan = Mawar || Nama tengah = Menur || Nama akhir = Melati
b. Tanggal_Lahir : 01-01-1980
Terdiri atas komponen:
Tanggal = 01 || Bulan = 01 || Tahun = 1980
c. Alamat_Lokal : Jl. Mawar 100, Yogyakarta, 5000
Terdiri atas komponen nilai:
Nama jalan= Mawar || Nomor rumah= 100 || Kota = Yogyakarta || Kode Post = 35111
Catatan:
Atribut nama dapat dianggap atribut sederhana atau atribut komposit, tergantung nilai datanya. Jika hanya
memuat satu kata maka termasuk atribut sederhana. Tetapi jika memuat lebih dari satu kata maka dapat
termasuk atribut komposit. Nama-nama orang di Indonesia tidak selalu mempunyai 3 komponen nama
(depan, tengah, dan akhir) sehingga cenderung dianggap sebagai atribut sederhana.
Kerelasian antar entitas mendefinisikan hubungan antara dua buah entitas. Kerelasian adalah
kejadian atau transaksi yang terjadi di antara dua buah entitas yang keterangannya perlu
disimpan dalam basis data (Martin, 1975). Kejadian atau transaksi yang tidak perlu disimpan
dalam basis data (sekalipun benar-benar terjadi) bukan termasuk kerelasian.
Aturan penggambaran kerelasian antar entitas adalah sebagai berikut (Sutanta, 2004).
1. Kerelasian dinyatakan dengan simbol belah ketupat
2. Nama kerelasian dituliskan di dalam simbol belah ketupat
3. Kerelasian menghubungkan dua entitas
4. Nama kerelasian berupa kata kerja aktif (diawali dengan awalan me-), tunggal
5. Nama kerelasian sedapat mungkin menggunakan nama yang mudah dipahami dan dapat
menyatakan maknanya dengan jelas
Kerelasian antar entitas dikelompokkan dalam tiga jenis, yaitu (Silberschatz, 2001):
2. Kerelasian jenis n-ke-1/banyak ke satu (many to one) atau 1-ke-n/satu ke banyak (one to
many)
Kerelasian jenis ini terjadi jika kejadian atau transaksi di antara dua entitas yang
berhubungan hanya memungkinkan terjadi satu kali dalam entitas pertama dan dapat
terjadi lebih dari satu kali kejadian atau transaksi pada entitas kedua. Secara lebih teknis,
jika nilai yang digunakan sebagai penghubung pada entitas pertama dimungkinkan
muncul lebih dari satu kali pada entitas kedua yang berhubungan.
Sebagai contoh, lebih dari satu mahasiswa (atribut-atributnya tersimpan dalam entitas
Mahasiswa) dapat memilih hanya satu buah program studi (atribut-atributnya tersimpan
dalam entitas Program_Studi). Kondisi seperti ini disebut jenis kerelasian n-ke-1.
Tetapi sebaliknya, satu buah program studi (atribut-atributnya tersimpan dalam entitas
Program_Studi) dapat dipilih oleh lebih dari satu mahasiswa (atribut-atributnya
tersimpan dalam entitas Mahasiswa). Dengan demikian, atribut Kode Jenjang_Studi dalam
entitas Mahasiswa hanya dimungkinkan muncul sekali saja di dalam entitas
Program_Studi, tetapi sebuah Kode_Program_studi di dalam entitas Program_studi dapat
muncul lebih dari satu kali dalam entitas mahasiswa. Setiap mahasiswa hanya
dimungkinkan memilih sebuah program studi, sebaliknya sebuah program studi dapat
dipilih oleh lebih dari satu orang mahasiswa. Kondisi spt ini disbt jenis kerelasian 1-ke-n.
Suatu kerelasian antara dua buah entitas akan merepresentasikan suatu kunci penghubung atau
file transaksi. Jenis kerelasian 1-ke-1 dan n-ke-n, umumnya memerlukan file transaksi,
sedangkan jenis kerelasian 1-ke-n atau n-ke-1 umumnya memerlukan atribut sebagai kunci
penghubung. Beberapa hal penting terkait dengan penentuan jenis kerelasian antar entitas perlu
diperhatikan agar tidak terjadi kesalahan penentuan jenis kerelasian, yaitu (Sutanta, 2004):
1. Jenis kerelasian sangat bergantung pada aturan bisnis (business rule) yang digunakan
pada sistem/organisasi. Dua entitas yang sama, pada subsistem yang sama, tetapi pada
organisasi yang berbeda, bisa memiliki jenis kerelasian yang berbeda. Sebagai contoh,
kerelasian antara entitas Dokter dan Pasien dalam sebuah pusat layanan kesehatan. Jenis
kerelasiannya bisa jadi termasuk jenis 1-ke-n, yaitu jika pusat layanan kesehatan tersebut
berada di lokasi daerah terpencil yang mana hanya tersedia seorang dokter saja,
sedangkan pasiennya bisa lebih dari satu orang.
Tetapi jenis kerelasian tersebut bisa berubah menjadi n-ke-n, yaitu jika pusat layanan
kesehatan tersebut berada di lokasi perkotaan dan dalam pusat layanan kesehatan
tersedia lebih dari seorang dokter yang dapat memeriksa seorang pasien secara
bersamaan atau gabungan (misal, proses operasi penyakit yang diderita pasien
melibatkan banyak dokter sekaligus). Dan, seorang dokter dapat melayani banyak pasien.
2. Jenis kerelasian tidak dibatasi oleh lokasi geografis. Tempat kejadian/ transaksi tidak
berpengaruh terhadap jenis kerelasian. Kejadian/ transaksi di antara dua entitas dapat
terjadi pada tempat yang saling berjauhan, asalkan masih berada dalam lingkup sebuah
sistem. Transaksi penarikan uang di mesin ATM, misalnya. Seorang nasabah (entitas
Nasabah) yang memiliki rekening tabungan (entitas Tabungan) di Jakarta dapat menarik
uangnya dari Yogyakarta.
3. Jenis kerelasian juga tidak dibatasi oleh waktu. Waktu kejadian/ transaksi tidak
berpengaruh terhadap jenis kerelasian. Kejadian/ transaksi di antara dua entitas dapat
terjadi pada selang rentang waktu yang sangat lama, asalkan masih berada dalam lingkup
sebuah sistem. Berkaitan dengan kejadian/transaksi pemeriksaan oleh Dokter (entitas
Dokter) di pusat layanan kesehatan misalnya, seorang pasien (entitas Pasien) selama
hidupnya mungkin hanya memeriksakan dirinya sebanyak satu kali ke Dokter, sementara
pasien yang lain dapat berulangkali.
4. Jenis kerelasian tidak dibatasi kasus per kasus. Sebuah kemungkinan kejadian/transaksi
tidak berpengaruh terhadap jenis kerelasian secara umum. Kejadian/transaksi di antara
dua entitas ditentukan oleh kemungkinan umum yang dapat terjadi, asalkan masih berada
dalam lingkup sebuah sistem. Berkaitan dengan kejadian/transaksi pemeriksaan oleh
Dokter (entitas Dokter) di pusat layanan kesehatan misalnya, seorang pasien (entitas
Pasien) mungkin hanya memeriksakan dirinya sebanyak satu kali ke Dokter, tetapi pasien
lain bisa lebih dari satu kali. Jadi secara umum, pasien dapat memeriksakan lebih dari satu
kali. Dengan demikian, jenis kerelasiannya dapat termasuk jenis 1-ke-n atau n-ke-n, bukan
1-ke1 (tergantung ukuran pusat layanan kesehatan).
Untuk memberikan contoh kerelasian antar entitas, untuk subsistem pengolahan data akademik
di atas, maka kerelasian-kerelasian yang mungkin terjadi adalah sebagai berikut.
1. Mahasiswa mengikuti Mata_Kuliah dicatat dalam KRS dengan keterangan yang perlu
disimpan dalam basis data/atribut meliputi:
a. Kode_Angkatan
b. Kode_Jenjang_Studi
c. Kode_Program_Studi
d. Nomor
e. KodeMataKuliah
f. Tahun_Semester_Mahasiswa mengikuti Mata_Kuliah memperoleh Nilai dicatat
dalam KHS dgn keterangan yang perlu disimpan dalam basis data/atribut meliputi:
g. Kode_Angkatan
h. Kode_Jenjang_Studi
i. Kode_Program_Studi
j. Nomor
k. Kode_Mata_Kuliah
l. Tahun_Semester
m. Nilai
13. Dosen menganut Agama memerlukan atribut penghubung Kode_Agama dlm entitas Dosen
Catatan:
Jenis kerelasian seperti contoh di atas dapat berubah tergantung pada aturan bisnis yang diterapkan pada
perguruan tinggi yang bersangkutan.
Hal penting lain yang perlu diperhatikan di dalam ER_M adalah adanya kejadian-kejadian/
transaksi-transaksi yang sekalipun benar-benar terjadi tetapi keterangannya tidak perlu
disimpan dalam basis data. Kejadian/ transaksi seperti ini tidak termasuk sebagai kerelasian
antar entitas. Contoh kejadian/transaksi di antara dua entitas yang tidak termasuk sebagai
kerelasian antar entitas adalah sebagai berikut:
1. Mahasiswa memilih mata kuliah yang akan diikutinya sebelum akhirnya ia menentukan
mata kuliah pilihannya dan kemudian mengisikannya ke dalam blangko KRS. Kejadian
memilih tersebut tidak termasuk sebagai kerelasian antar entitas, tetapi hasil akhir mata
kuliah yang benar-benar akan diikutinya dan dicantumkan dalam KRS itulah yang
termasuk kerelasian antar entitas.
2. Mahasiswa menanyakan daftar mata kuliah yang ditawarkan pada Program Studi untuk
semester tertentu. Kejadian menanyakan tersebut bukan termasuk kerelasian antar
entitas.
3. Mahasiswa menuliskan daftar mata kuliah dalam blangko KRS. Kejadian menuliskan
tersebut bukan termasuk kerelasian antar entitas.
4. Mahasiswa meminta tanda tangan Dosen wali dalam blangko KRS. Kejadian meminta tersebut
bukan termasuk kerelasian antar entitas.
5. Dosen menanyakan daftar mata kuliah yang diikuti oleh mahasiswa. Kejadian
menanyakan tersebut bukan termasuk kerelasian antar entitas.
6. Dosen menyarankan mata kuliah yang akan diikuti oleh mahasiswa. Kejadian
menyarankan tersebut bukan termasuk kerelasian antar entitas.
7. Dosen memasuki ruang kelas untuk mengajar mata kuliah. Kejadian memasuki
ruang kelas tersebut bukan termasuk kerelasian antar entitas.
8. Dosen menjelaskan materi suatu mata kuliah di kelas. Kejadian menjelaskan tersebut
bukan termasuk kerelasian antar entitas.
Tentu saja masih banyak kejadian/transaksi lain yang dapat terjadi di antara entitas.
Permasalahannya, kejadian/transaksi tersebut merupakan kejadian/ transaksi yang tidak perlu
disimpan dalam basis data sehingga tidak termasuk kerelasian antar entitas.
Pilihan I
Jenis kerelasian
Simbol yang digunakan
:
1-ke-1
1-ke-n :
n-ke-1 :
n-ke-n :
Pilihan II
Jenis kerelasian
Simbol yang digunakan
1-ke-1 :
1-ke-n :
n-ke-1 :
n-ke-n :
Pilihan III
Jenis kerelasian
Simbol yang digunakan
1-ke-1 :
1-ke-n :
n-ke-1 :
n-ke-n :
Saat menggambarkan ER_D, kita dapat menggunakan salah satu dari pilihan diatas sesuai
keinginan kita, yang penting penggunaan simbol tersebut dilakukan secara konsisten.
Artinya, kalau kita menggunakan simbol kelompok pilihan 1 maka untuk seluruh bagian
dalam ER_D harus menggunakan simbol dalam Pilihan 1 tersebut. Jika menggunakan simbol
dalam pilihan 2 maka semua bagian ER_D harus menggunakan simbol dalam pilihan 2. Demikian
Juga jika yang digunakan adalah pilihan 3 maka seluruh bagian ER_D harus menggunakan simbol
dalam pilihan 3 (Sutanta, 2004).
Sebagai contoh, untuk menunjukkan hubungan antar entitas Mahasiswa dan entitas Mata_Kuliah
dengan nama kerelasian mengikuti, dengan penis n-ke-n, maka hubungan tersebut dapat
digambarkan sebagaimana ditunjukkan pada Gambar 5.9 (dalam pilihan 1), Gambar 5.10
(dalam pilihan 2), dan Gambar 5.11 (dalam pilihan 3).
Gambar 5.9 Contoh kerelasian antara entitas Mahasiswa dan Mata_Kuliah (Piihan 1 )
Gambar 5.10 Contoh kerelasian antara entitas Mahasiswa dan Mata_Kuliah (Piihan 2 )
Gambar 5.11 Contoh kerelasian antara entitas Mahasiswa dan Mata_Kuliah (Piihan 3 )
Dalam kerelasian antara dua buah entitas, dimungkinkan terjadi dua kerelasian sekaligus di
antara dua entitas tersebut. Kondisi kerelasian semacam in' disebut sebagai instankerelasian
berganda (Sutanta, 2004). Contoh instan kerelasian berganda adalah kerelasian antara entitas
Anggota perpustakaan dan Buku. Anggota dapat meminjam Buku dan perpustakaan, dan
Anggota juga bisa mengembalikan Buku ke perpustakaan, dengan jenis kerelasian n-ke-n. Instan
kerelasian berganda antara entitas Anggota dan Buku tersebut dapat digambarkan sebagaimana
ditunjukkan oleh Gambar 5.12. Dalam sebuah sistem umumnya terdapat sejumlah kerelasian
antara sejumlah entitas.
Kerelasian rekursif terjadi jika sebuah entitas mempunyai kerelasian dengan entitas dirinya
sendiri (Sutanta, 2004). Sebagai contoh, dalam entitas Mata_Kuliah bisa jadi sebuah mata kuliah
dapat diikuti oleh mahasiswa apabila mahasiswa tersebut telah mengikuti mata kuliah lain yang
menjadi prasyarat bagi mata kuliah tersebut. Atau sebuah mata kuliah mempunyai prasyarat
mata kuliah lain, misal mata kuliah Pemrograman II dapat diikuti oleh Mahasiswa jika sudah
mengikuti mata kuliah Pemrograman I.
Kondisi semacam ini disebut sebagai kerelasian rekursif, dengan jenis kerelasian 1-ke-n.
Kerelasian rekursif entitas Mata_kuliah tersebut dapat digambarkan sebagaimana ditunjukkan
pada Gambar 5.13.
Kerelasian asosiatif terjadi jika kerelasian di antara dua buah entitas mengandung beberapa
informasi (Sutanta, 2004). Sebagai contoh, hubungan antara entitas Pelanggan dan Barang dapat
menunjukkan kerelasian asosiatif jika ada kebijakan dari penjual, bahwa bagi para Pelanggan
yang Barang pada masa diskon akan diberikan harga khusus. Jika Pelanggan tersebut membeli
barang pada tanggal tertentu dalam masa diskon maka pelanggan tersebut akan memperoleh
diskon. Dengan demikian, kerelasian membeli di antara entitas Pelanggan dan entitas Barang
mengandung informasi lain, yaitu Tanggal_Beli dan Diskon, yang kemudian diberi nama Pembeli.
Kondisi semacam ini disebut sebagai kerelasian asosiatif, dengan jenis kerelasian 1-ke-n.
Kerelasian asosiatif antara entitas Pelanggan dan Barang tersebut dapat digambarkan
sebagaimana ditunjukkan pada Gambar 5.14.
Untuk menggambarkan ER_D secara lengkap dapat dilakukan dengan mengikuti serangkaian
langkah berikut (Sutanta, 2004):
1. Identifikasikan setiap entitas yang terlibat
2. Identifikasikan setiap atribut pada setiap entitas
3. Identifikasikan setiap kerelasian berikut jenisnya yang terjadi di antara entitas
Gambarkan simbol-simbol entitas, atribut, dan kerelasian antar entitas sedemikian rupa
sehingga simbol kerelasian dpt digambarkan dengan jelas dan tidak saling bertabrakan
4. Cek ER_D yang terbentuk, dalam hal:
a. Kelengkapan entitas
b. Kelengkapan atribut
c. Kelengkapan kerelasian antar entitas
d. Jenis kerelasian antar entitas
Untuk subsistem yang sederhana, seluruh rangkaian langkah tersebut akan menghasilkan
sebuah diagram yang sangat lengkap, yang memuat komponen entitas, atribut, dan kerelasian
antar entitas. Permasalahan menggambar ER_D mungkin akan dijumpai ketika sistem
mempunyai sejumlah entitas, atribut, dan kerelasian yang sangat banyak dan kerelasian-
kerelasian antar entitas sangat kompleks sehingga sangat sulit jika digambarkan secara
keseluruhan. Diagram yang terbentuk mungkin menjadi sangat kompleks dan ruwet sehingga
menjadi sulit untuk dipahami. Jika demikian maka ada tiga pilihan yang dapat digunakan, yaitu
(Sutanta, 2004):
1. Cara 1:
Gambarkan ER_D yang hanya memuat komponen entitas dan kerelasian antar entitas saja.
Selanjutnya rincian atribut pada setiap entitas dapat ditampilkan secara terpisah, yang
disusun dalam bentuk naratif atau Label. Cara ini paling banyak digunakan karena
mengurangi kompleksitas ER_D.
2. Cara 2:
Gambarkan ER_D secara teipisah-pisah, bagian demi bagian atau sepotong demi sepotong,
di mana masing-masing bagian/potongan memuat komponen entitas, atribut, dan
kerelasian antar entitas untuk suatu bagian yang lebih kecil. Misal, dalam subsistem
pengolahan data akademik dapat terdiri atas bagian/potongan ER_D untuk kelompok
Mahasiswa, Dosen, dan Mata_Kuliah. Setiap bagian tersebut memuat entitas, atribut, dan
kerelasian yang terkait saja. Cara ini relatif jarang digunakan, tetapi dalam beberapa
kesempatan justru lebih memudahkan pemahaman.
3. Cara 3:
Gabungkan cara 1 dan cara 2 sekaligus, sesuai dengan kondisi ER_D yang akan
digambarkan. Jika cara ini yang dipilih maka kelompokkan setiap entitas ke dalam bagian-
bagian/potongan-potongan paling baik. Gambarkan ER_D setiap bagian/potongan tersebut
yang hanya memuat komponen entitas dan kerelasian antar entitas saja. Selanjutnya setiap
bagian/potongan dilengkapi dengan keterangan atau tabel yang memuat perincian atribut
yang sesuai. Cara ini sering digunakan karena umumnya model sistem yang akan
dikembangkan basis datanya merupakan sistem yang sangat kompleks.
Karena keterbatasan media maka contoh ER_D yang diberikan di sini dimaksudkan sebagai
sarana untuk memperjelas langkah/prosedur penggambaran ER_D saja, bukan menunjukkan
contoh yang baku dan lengkap. Contoh ER_D ini hanya merupakan bagian/potongan yang sangat
kecil dari sebuah ER_D yang besar/lengkap dan tentu saja sangat kompleks.
Contoh yang diberikan dalam Gambar 5.15 merupakan contoh untuk subsistem pengolahan data
akademik yang telah banyak disinggung dalam pembahasan sebelumnya. ER_D dalam contoh ini
akan digambarkan menggunakan pilihan cara 3 (gabungan), yaitu ER_D hanya memuat
komponen entitas dan kerelasian antar entitas pada bagian Mahasiswa. Atribut-atribut akan
dituliskan secara terpisah. Harapannya, contoh ER_D ini dapat dilengkapi dan dikembangkan
sendiri oleh Pembaca hingga menjadi sebuah ER_D yang lengkap.
KULIAH SISTEM BASIS DATA – S1 TEKNIK GEODESI / GEOMATIKA – FT – UNILA
BAB V – Model Data Entity Relationship Halaman - 15 / 5
No Nama Entitas
1. Mahasiswa
2. Dosen
3. Mata Kuliah
4. Angkatan
5. Jenjang Studi
6. Program Studi
7. Jurusan
8. Fakultas
9. Golongan
10. Nilai
11. Ruang
12. Waktu
13. Wali_Mahasiswa
14. Kabupaten
15. Provinsi
16. Agama
17. Pekerjaan
Penghubung:
Fakultas Jurusan membawahl 1-ke-n
Kode_Fakultas dalam entitas Jurusan
Penghubung
Dosen Golongan mempunyai n-ke-1
Kode_Golongan dalam entitas Dosen
Penghubung
Dosen Agama menganut n-ke-1
Kode_Agama dalam entitas Dosen
Penghubung
Wali Pekerjaan mempunyai n-ke-1
Kode_Pekerjaan dalam entitas Wali_Mahasiswa
Penghubung Kode_Kabupaten dalam entitas
Wali Kabupaten menempati n-ke-1
Wali_Mahasiswa
Penghubung
Kabupaten Provinsi menempati n-ke-1
Kode_ Provinsi dalam entitas Kabupaten
1. Gambarkan ER D
Hasil ER _D untuk contoh subsistem pengolahan data akademik, tanpa melibatkan komponen atribut untuk
setiap entitas, ditunjukkan pada Gambar 5.15.
Waktu Menggunakan
Ruang Menempati
Program_Studi Mempunyai
Mengajar Nilai
Menganut
Jenjang_Studi Mempunyai
Menganut Dosen
Membawahi Mempunyai
Agama Mempunyai
Provinsi
LATIHAN
2. Carilah sebuah contoh sistem informasi yang paling Anda pahami. Dengan menggunakan
contoh yang Anda berikan tersebut, temukan kerelasian antara 2 entitas yang bisa
memiliki jenis 1-ke-1, 1-ke-n, dan n-ke-n.
4. Carilah masing-masing minimal tiga buah contoh orang, benda, dan hal yang ada dalam
sebuah sistem informasi, namun orang, benda tersebut tidak termasuk sebagai entitas
dalam sistem. Berikan penjelasan dan alasan Anda.
5. Carilah sebuah contoh sistem informasi yang paling Anda pahami. Dengan menggunakan
contoh yang Anda berikan tersebut:
a. Identifikasikan semua entitas yang terlibat
b. Identifikasikan semua atribut pada masing-masing entitas
c. Identifikasikan semua entitas kerelasian antar entitas yang terjadi
d. Gambarkan ER D-nya
6. Carilah minimal lima orang mahasiswa yang Anda kenal. Lima orang tersebut harus
dipilih dari angkatan terbaru di program studi Anda dan belum pernah mengikuti rnata
kuliah tentang basis data. Selanjutnya, dengan menggunakan jawaban soal nomor 5,
presentasikan dan jelaskan tentang ER_D yang Anda miliki kepada mereka. Selanjutnya,
tanyakan kepada mereka, apakah mereka bisa memahami basis data yang Anda
tampilkan dalam model ER_D tersebut. Apakah mereka dapat memahaminya dengan
mudah atau kesulitan. Buatlah resume yang menggambarkan tingkat pemahaman
mereka berdasarkan tanggapan dan komentar yang diberikan.
BAB - 6
MODELAN DATA RELASIONAL
Materi:
1. Terminologi RDBM 6. Ketergantungan data
2. Karakteristik basis data model RDBM 7. Kerelasian antar relasi
3. Komponen relasi 8. Penyimpangan-penyimpangan (anomalies)
4. Kunci relasi dalam pengolahan data
5. Aturan-aturan (rules) pada kunci relasi 9. Teknik normalisasi
Model data relasional (relational database model/RDBM) sering juga disebut sebagai model
relasional atau basis data relasional atau sering ditulis RDBM saja. Model basis data ini
diperkenalkan kali pertama oleh E.F. Codd pada 1970. Model basis data menunjukkan suatu
cara/mekanisme yang digunakan untuk mengelola/mengorganisasi data secara fisik dalam
memori sekunder yang akan berdampak Pula pada bagaimana kita mengelompokkan dan
membentuk keseluruhan data yang terkait dalam sistem yang sedang ditinjau. Sampai saat ini
model basis data RDBM merupakan salah satu model yang paling banyak digunakan. Hal ini
karena konsep dan terminologi yang digunakan dalam model basis data RDBM mirip dengan
kondisi sesungguhnya yang dihadapi oleh para pengguna sehingga memudahkan para pengguna
dalam memahaminya. Perangkat lunak pengelolaan basis data (DBMS) yang tersedia di pasaran
pun banyak yang dikembangkan berdasarkan model ini.
Sebagai salah satu model data, RDBM menjelaskan kepada pengguna tentang hubungan logik
antar data dalam basis data dengan merepresentasikannya ke dalam bentuk relasi-relasi berupa
tabel mendatar (flat file) yang terdiri atas sejumlah baris yang menunjukkan record dan kolom
yang menunjukkan atribut tertentu (Martin, 1975). Relasi dirancang sedemikian rupa sehingga
dapat menghilangkan kerangkapan data yang tidak berguna. Dalam sebuah basis data,
kerelasian antar relasi satu dengan yang lainnya ditunjukkan menggunakan foreign key/FK atau
relasi bertipe transaksi.
Penggunaan model data RDBM dalam perancangan basis data memerlukan pemahaman konsep
lanjutan, yaitu yang dikenal sebagai konsep normalisasi. Untuk dapat menerapkan konsep
normalisasi tsb diperlukan pemahaman yg baik tentang konsep-konsep berikut (Sutanta, 2004):
1. definisi basis data, 6. ketergantungan antar nilai rinci data,
2. batasan aturan dalam basis data, 7. karakteristik relasi,
3. terminologi RDBM, 8. penyimpangan dalam pengolahan data, dan
4. kunci relasi, 9. bentuk-bentuk normal.
5. kerelasian antar relasi,
Sebagai sebuah model data, RDBM memiliki terminologi tersendiri/khusus yang berbeda
dengan model lainnya, yaitu berkaitan dengan penggunaan istilah-istilah yang bersifat khusus
dalam model RDBM. Istilah-istilah dalam terminologi RDBM ini perlu dipahami secara benar
sebelum seseorang menggunakan paket-paket DBMS. Hal ini diperlukan untuk menghindari
terjadinya kerancuan saat menggunakan paket DBMS karena masing-masing DBMS bisa jadi
memiliki terminologi tersendiri, sekalipun tetap didasarkan pada konsep dasar yang sama.
Sebagai contoh, dalam MS-Access ketika kita merancang sebuah struktur relasi, hasilnya disebut
sebagai basis data (berekstensi .MDB). Padahal secara konsep, yang disebut basis data adalah
sekumpulan data terhubung yang berarti memuat banyak relasi yang saling berkerelasian,
bukan hanya sebuah relasi. Kumpulan data terhubung tersebut berada dalam lingkup sebuah
sistem/organisasi secara keseluruhan, bukan hanya kumpulan data dalam sebuah subsistem
saja. Dalam MS-Access juga dikenal adanya secondary key, padahal secara konsep istilah
tersebut tidak dikenal. Masih dalam MS-Access, terdapat pilihan apakah kita mau
mendefinisikan primary key/PK atau tidak atau ingin dibuat otomatis (generate) oleh MS-Access
dengan nama atribut ID. Padahal secara konsep, PK harus ada dalam setiap relasi untuk
menjamin bahwa setiap record dalam relasi dapat diakses berdasar kunci yang unik, yaitu nilai
dalam atribut yang digunakan sebagai PK.
Beberapa istilah disepakati dlm RDBM antara lain ditunjukkan pd Tabel 6.1 (Wiederhold, 1988).
Untuk memberikan pemahaman yang lebih jelas tentang beberapa istilah dalam terminologi
RDBM, berikut diberikan sebuah contoh relasi dgn nama Mata_Kuliah sebagaimana ditunjukkan
pd Tabel 6.2.
KULIAH SISTEM BASIS DATA – S1 TEKNIK GEODESI / GEOMATIKA – FT – UNILA
BAB VI – Model Data Relasional Halaman - 3 / 27
Catatan:
Char[8] dimaksudkan bahwa nilai-nilai elemen data dalam atribut Kode_Mata Kuliah berupa data
bertipe character dengan ukuran panjang maksimal 8 character
Char[50] dimaksudkan bahwa nilai-nilai elemen data dalam atribut Nama_Mata Kuliah berupa
data bertipe character dengan ukuran panjang maksimal 50 character. Angka 50 merupakan nilai
perkiraan yang diperoleh dengan asumsi merupakan ukuran maksimal, tidak ada nama mata
kuliah yang panjangnya melebihi 50 character
Num[1] dimaksudkan bahwa nilai-nilai elemen data dalam atribut SKS dan Smt berupa data
bertipe numeric dengan ukuran panjang 1 digit
Char[1] dimaksudkan bahwa nilai-nilai elemen data dalam atribut Status berupa data bertipe
character dengan ukuran 1 character, di mana W digunakan sebagai kode untuk menyatakan
status mata kuliah Wajib dan P untuk menyatakan status mata kuliah Pilihan
Dalam paket-paket DBMS yang tersedia di pasaran, tipe dan ukuran data yang disediakan
mungkin sekali berbeda dengan contoh di atas sehingga kita perlu menyesuaikan.
Karakteristik dalam relasi sangat penting karena menjadi dasar bagi penyusunan struktur relasi
yang akan digunakan sebelum penyimpanan data dapat dilakukan. Dalam karakteristik relasi
yang pertama, istilah single value dimaksudkan bahwa nilai-nilai aktual elemen data dalam
sebuah relasi harus merupakan nilai yang bersifat tunggal, bukan merupakan grup perulangan.
Untuk memudahkan dalam membedakan di antara keduanya, berikut diberikan sebuah contoh
relasi yang memuat grup perulangan (non single value), yaitu relasi Mahasiswa yang ditunjukkan
pada Tabel 6.3.
Dalam Tabel 6.3, grup elemen data Kode_MK_2 dan SKS_2 merupakan grup perulangan dari grup
elemen data Kode_MK_1 dan SKS_1. Nilai-nilai elemen data pada atribut Kode_MK_2 dan SKS_2
mempunyai tipe dan ukuran yang sama dengan nilai-nilai elemen data pada atribut Kode_MK_1
dan SKS_1, misal Char[8] untuk Kode_Mk dan Num[1] untuk SKS.
Grup perulangan seperti pada Tabel 6.3 tidak diizinkan terjadi dalam rancangan sebuah relasi.
Alasan utamanya adalah mengakibatkan kesulitan dalam pengolahan data selanjutnya. Alasan
lain adalah ada kemungkinan grup elemen data tersebut harus diulang-ulang hingga jumlah
yang sangat besar, sedangkan kemungkinan besar tidak semuanya akan terisi. Mahasiswa
sebuah universitas dapat terdiri atas mahasiswa yang mengikuti pendidikan jenjang sarjana dan
jenjang Diploma III. Mahasiswa jenjang Sarjana, misalnya, harus menyelesaikan minimal 60
mata kuliah untuk dapat dinyatakan lulus sehingga grup perulangan tersebut harus diulang
sebanyak 60 kali. Padahal, mahasiswa Diploma III mungkin hanya membutuhkan sekitar 30
mata kuliah saja, berarti ada 30 grup perulangan (=60 kolom) yang sia-sia.
Permasalahannya adalah bagaimana mengatasi hal tersebut agar memenuhi karakteristik basis
data model RDBM. Untuk contoh kasus dalam Tabel 6.3, relasi tersebut perlu diubah menjadi
relasi baru dengan struktur seperti ditampilkan pada Tabel 6.4, yang diberi nama Mahasiswa_ 1.
Dalam relasi Mahasiswa_ 1, grup perulangan sudah tidak terjadi lagi.
Namun, relasi dalam Tabel 6.4 ternyata masih memiliki permasalahan, yaitu terjadi
kerangkapan data dalam relasi Mahasiswa_ 1. Setiap kali mata kuliah yang diikuti oleh
mahasiswa ingin dicatat, nama mahasiswa harus selalu dituliskan kembah. Dalam contoh ini,
nama Rita, Rina, dan Rini masing-masing harus dicatat dua kali. Begitu juga pada SKS, setiap kali
nama mata kuliah dicatat, SKS-nya pun harus selalu dicatat. Cara mengatasi kerangkapan data
ini telah dibahas secara lebih terperinci dalam Bab III.
Dalam catatan manual, kartu rencana studi mahasiswa/KRS, kejadian tersebut sering terjadi. Hal
ini mengindikasikan bahwa struktur tabel dalam catatan manual tersebut tidak bisa langsung
digunakan sebagai desain struktur relasi yang akan disimpan sebagai basis data. Perancang
harus mencermati karakteristik yang harus dipenuhi dalam sebuah relasi.
Istilah atomic value dalam karakteristik pertama dimaksudkan bahwa nilai nilai elemen
data/entri harus berupa nilai yang tidak dapat dibagi lagi. Sebagai contoh, untuk memperjelas
istilah atomic value, diberikan contoh relasi berikut yang diberi nama relasi Pegawai
sebagaimana ditunjukkan pada Tabel 6.5.
Dalam catatan buku secara manual, Buku Induk Pegawai misalnya, kejadian tersebut sering
terjadi. Hal ini juga mengindikasikan bahwa struktur tabel dalam catatan manual tersebut
tidak bisa langsung digunakan sebagai struktur relasi yang disimpan sebagai basis data.
Karakteristik relasi yang harus dipenuhi dalam sebuah relasi harus dicermati.
Selanjutnya, dalam karakteristik kedua dinyatakan bahwa semua elemen data/entri pada
suatu atribut tertentu dalam sebuah relasi harus mempunyai tipe dan ukuran yang sama.
Karakteristik ini secara implisit telah terpenuhi pada saat perancang mendefinisikan struktur
relasi dalam kamus data (data dictionary/DD) yang akan digunakan sebagai format
penyimpanan data dalam berkas. Sebagai contoh, seluruh elemen data/entri dalam atribut NIK
pada relasi Pegawai (Tabel 6.6) mempunyai tipe dan ukuran yang sama, misal didefinisikan
sebagai character dengan panjang 4. Atribut selanjutnya, Nama_Pegawai dapat didefinisikan
sebagai character dgn panjang 25, dan Alamat dpt didefinisikan sbgi character dgn panjang 50.
Karakteristik ketiga berkaitan dengan penamaan atribut dalam relasi. Masing-masing atribut
dalam sebuah relasi harus mempunyai nama yang unik (berbeda). Hal ini untuk menjamin
bahwa setiap elemen data/entri dalam relasi dapat diakses. Sekalipun tidak akan menimbulkan
permasalahan, sebaiknya definisi nama-nama atribut dalam sebuah relasi dibedakan dengan
nama-nama atribut dalam relasi lain. Misal, untuk memudahkan membedakan nama mahasiswa
dalam relasi Mahasiswa dan nama mata kuliah dalam relasi Mata_Kuliah maka lebih baik jika
nama mahasiswa dinyatakan sebagai Nama_Mahasiswa, sedangkan nama mata kuliah
menggunakan Nama_Mata_Kuliah. Jika sama-sama menggunakan atribut Nama (dalam relasi
Mahasiswa dan Mata_Kuliah) maka kerancuan bisa terjadi.
Dalam karakteristik keempat, pada sebuah relasi tidak ada dua record data yang identik (sama
persis). Ketidak-identikan ini dapat terpenuhi dengan adanya kunci primer yang membedakan
setiap record. Karakteristik ini diperlukan untuk memberikan jaminan bahwa setiap record
dalam relasi dapat diakses berdasarkan nilai kunci primer yang unik. Sebagai contoh, pada relasi
Pegawai pada Tabel 6.6, setiap record tidak ada yang identik karena dibedakan oleh NIK. Nilai
rinci data pada NIK tidak akan pernah sama untuk setiap Pegawai.
Setiap relasi RDBM selalu tersusun atas dua komponen, yaitu (Sutanta, 2004):
1. Intensi (intension)
Intensi (intension) menunjukkan definisi struktur penamaan (naming structure) pada
relasi dan batasan integritas (integrity contraint) yang meliputi batasan integritas
kesatuan (entity integrity) pada kunci primer (primary key/PK) dan batasan integritas
referensial (referential integrity) pada kunci penghubung (foreign key/FK). Intensi dapat
ditunjukkan menggunakan schema atau subschema basis data. Komponen intensi
cenderung bersifat stabil/tetap, artinya struktur penamaan sebuah relasi jarang sekali
berubah.
2. Ekstensi (extension)
Ekstensi (extension) menunjukkan nilai-nilai aktual elemen data/entri yang tersimpan
dalam berkas pd suatu saat tertentu. Komponen ekstensi cenderung tdk stabil/berubah
krn nilai-nilai elemen data/entri selalu ditambah, diperbaharui, atau dihapus.
Kunci relasi diperlukan dalam rangka pengaksesan data dan dalam relasi atau untuk menyusun
kerelasian antar relasi. Kunci relasi merupakan satu atau gabungan atribut yang bersifat unik
yang dapat digunakan untuk mengidentifikasi/membedakan setiap record dalam relasi. Dengan
demikian, kunci relasi harus bersifat unik, artinya nilai-nilai elemen data/entri dalam atribut
yang digunakan sebagai kunci relasi tidak boleh ada yang sama utk seluruh record dalam relasi.
Berdasarkan jumlah atribut penyusunnya, kunci relasi diklasifikasikan menjadi dua jenis, yaitu
(Martin, 1975):
1. Kunci sederhana (simple key)
Kunci sederhana (simple key) merupakan kunci relasi yang tersusun atas sebuah atribut.
Kunci sederhana terjadi apabila sifat unik telah dapat terpenuhi dengan menggunakan
sebuah atribut saja. Sebagai contoh, dalam relasi Pegawai_1 (Tabel 6.6) NIP merupakan
kunci sederhana, dalam relasi Mahasiswa_1 (tabel 6.4) NIM merupakan kunci sederhana.
NIP dan NIM tersebut memenuhi sifat unik shg dapat digunakan sebagai kunci relasi.
Jika A, B, C, E, F, dan G menyatakan nama-nama atribut dalam sebuah relasi, A,B,C, dan D bersifat
unik, maka jika A, B, C, dan D adalah CK, Jika A dipilih sebagai PK, maka B, C, dan D disebut AK,
dan E, F, dan G adalah atribut pelengkap/non CK. Untuk memperjelas pemahaman setiap kunci
relasi tersebut, contoh-contoh relasi diberikan, yaitu Mahasiswa, Mata_Kuliah, Nilai, KRS, dan
KHS yang secara berturut-turut ditampilkan pada Tabel 6.7, Tabel 6.8, Tabel 6.9, Tabel 6.10, dan
Tabel 6.11.
Berdasarkan contoh-contoh relasi dalam Tabel 6.7 hingga Tabel 6.11, kunci-kunci relasi dapat
ditentukan sebagai berikut:
1. Relasi Mahasiswa
CK : NIM (kunci sederhana/simple key)
PK : NIM (kunci sederhana/simple key)
AK : tidak ada
FK : tidak ada
Catatan:
Dalam relasi Mahasiswa satu-satunya atribut yg bersifat unik adalah NIM sehingga
menjadi CK
Karena hanya ada satu CK maka CK tersebut digunakan sbg PK dan tidak ada AK
Dalam relasi Mahasiswa tidak ada sebuah atribut atau gabungan atribut yang digunakan
sebagai PK dalam relasi lainnya sehingga tidak ada FK
2. MataKuliah
CK : Kode_Mata_Kuliah, Nama_Mata_Kuliah
PK : Kode_Mata_Kuliah (kunci sederhana/simple key)
AK : Nama_Mata_Kuliah (kunci sederhana/simple key)
FK : tidak ada
Catatan:
Dalam relasi Mata_Kuliah atribut yang bersifat unik adalah Kode_Mata_Kuliah dan
Nama_mata_Kuliah sehingga menjadi CK
Karena ada dua CK maka salah satu dipilih sebagai PK, yaitu Kode_Mata_Kuliah
Bagian dari CK yang tidak digunakan sebagai PK adalah Nama_Mata_Kuliah sehingga
menjadi AK
Dalam relasi Mahasiswa tidak ada sebuah atribut atau gabungan atribut yang digunakan
sebagai PK dalam relasi lainnya sehingga tidak ada FK
3. Nilai
CK : Nilai_Huruf, Mutu, Predikat (kunci sederhana/simple key)
PK : Nilai_Huruf (kunci sederhana/simple key)
AK : Mutu, Predikat (kunci sederhana/simple key)
FK : tidak ada
Catatan:
Dalam relasi Nilai terdapat tiga atribut yang bersifat unik, yaitu Nilai_Huruf, Mutu, dan
Predikat, sehingga ketiganya menjadi CK
Karena ada tiga CK maka salah satu dipilih sebagai PK, yaitu NilaiHuruf
Bagian dari CK yang tidak digunakan sebagai PK adalah Mutu dan Predikat sehingga
keduanya menjadi AK
Dalam relasi Nilai tidak ada sebuah atribut atau gabungan atribut yang digunakan sebagai
PK dalam relasi lainnya sehingga tidak ada FK
4. KRS
CK : NIM+Kode_Mata_Kuliah+Tahun_Semester (kunci komposit/ composite key)
PK : NIM+Kode_Mata_Kuliah+Tahun_Semester (kunci komposit/ composite key)
AK : tidak ada
FK : NIM mereferensi kerelasi Mahasiswa dan Kode_Mata_Kuliah mereferensi ke
Mata_Kuliah
Catatan:
Dalam relasi KRS tidak ada satu pun atribut yang bersifat unik, kecuali berupa gabungan
atribut NIM + Kode_Mata_Kuliah + Tahun_Semester, shg menjadi CK
Karena hanya ada satu CK maka CK tsb digunakan sebagai PK dan tidak ada AK
Relasi KRS memuat atribut NIM, padahal NIM digunakan sebagai PK dlm relasi Mahasiswa,
shg menjadi FK. Nilai-nilai elemen data pd atribut NIM dlm relasi KRS mengacu pada NIM
dlm relasi Mahasiswa. Dgn demikian relasi Mahasiswa menjadi induk terhadap relasi KRS /
KRS menjadi relasi anak terhadap relasi Mahasiswa
Relasi KRS memuat atribut Kode_Mata_Kuliah, padahal Kode_Mata_Kuliah digunakan
sebagai PK dalam relasi Mata_Kuliah sehingga menjadi FK. Nilai-nilai elemen data pada
atribut Kode_Mata_Kuliah dalam relasi KRS mengacu pada Kode_Mata_Kuliah dalam relasi
Mata_Kuliah. Dengan demikian relasi Mata_Kuliah menjadi induk terhadap relasi KRS atau
KRS menjadi relasi anak terhadap relasi Mata_Kuliah
5. KHS
CK : NIM+Kode_Mata_Kuliah+Tahun_Semester (kunci kompositi / composite key)
PK : NIM+Kode_Mata_Kuliah+Tahun_Semester (kunci kompositi / coniposite key)
AK : tidak ada
FK : NIM+KodeMata_Kuliah+Tahun_Semester mereferensi ke KRS dan Nilai Huruf
mereferensi ke relasi Nilai
Catatan:
Dalam relasi KRS tidak ada satu pun atribut yang bersifat unik, kecuali berupa gabungan
atribut NIM + Kode_Mata_Kuliah + Tahun_Semester, shg menjadi CK
Karena hanya ada satu CK maka CK tersebut digunakan sbg PK dan tidak ada AK
Relasi KHS memuat atribut NIM + Kode_Mata_Kuliah + Tahun_Semester yang digunakan
sebagai PK dalam relasi KRS sehingga menjadi FK. Nilai-nilai elemen data pada atribut NIM
+ Kode_Mata_Kuliah + Tahun_Semester dalam relasi KHS mengacu pada NIM +
Kode_Mata_Kuliah + Tahun_Semester dalam relasi KRS. Dengan demikian relasi KRS
menjadi induk terhadap relasi KHS atau KHS menjadi relasi anak terhadap relasi KRS
Relasi KHS memuat atribut Nilai_huruf yang digunakan sebagai PK dalam relasi Nilai
sehingga menjadi FK. Nilai-nilai elemen data pada atribut Nilai_Huruf dalam relasi KHS
mengacu pada Nilai_Huruf dalam relasi Nilai. Dengan demikian relasi Nilai menjadi induk
terhadap relasi KHS atau KHS menjadi relasi anak terhadap relasi Nilai
Keberadaan relasi KHS bergantung pada relasi KRS, artinya data-data perolehan nilai
mahasiswa hanya akan mungkin terjadi apabila mahasiswa tersebut telah tercatat
mengikuti mata kuliah dalam relasi KRS. Dengan demikian, relasi KHS mereferensi ke KRS
(bukan mereferensi kerelasi Mahasiwa & Mata Kuliah) & Nilai
Aturan-aturan (rules) pada kunci relasi utamanya berkaitan dengan dua macam batasan
integritas, yaitu integritas kesatuan/integritas entitas (entity integrity) dan integritas referensial
(referential integrity) (Parsaye, dkk, 1989).
Aturan ini memberikan batasan bahwa secara kesatuan nilai-nilai elemen data/entri pada
atribut yang dipilih/digunakan sebagai PK tidak boleh null. Untuk data bertipe character
maka untuk setiap record yang ada dalam relasi tidak boleh ada elemen data/entri dengan
panjang character nol atau kosong (=spasi). Untuk data bertipe numerik maka untuk setiap
record yang ada dalam relasi tidak boleh ada elemen data/entri dengan nilai 0 (=nol). Aturan
ini memberikan jaminan bahwa setiap record dalam relasi dapat diakses berdasarkan nilai
PK yang unik dan tidak pernah kosong.
Sebagai contoh, nilai-nilai elemen data/entri pada atribut NIM dalam relasi Mahasiswa (Tabel
6.7), Kode_Mata_Kuliah dalam relasi Mata_Kuliah (Tabel 6.8), Nilai_Huruf dalam relasi Nilai
(Tabel 6.9), gabungan atribut NIM+Kode_Mata_Kuliah+Tahun_Semester dalam relasi KRS
(Tabel 6.10), serta gabungan atribut NIM+Kode_Mata_Kuliah+Tahun_Semester dalam relasi
KHS (Tabel 6.11) secara kesatuan tidak boleh ada yang benilai null.
Aturan ini memberikan batasan bahwa di dalam kerelasian antar dua atau lebih relasi dalam
basis data yang dihubungkan dengan suatu kunci
penghubung (foreign key/FK), hubungan antar relasi tersebut harus menjamin bahwa setiap
nilai elemen data/entri pada FK dalam relasi anak harus ada record dengan nilai elemen
data/entri yang sama pada relasi yang dihubungkan.
Sebagai contoh, relasi KRS memuat FK, yaitu atribut NIM dan atribut Kode_Mata_Kuliah.
Sesuai dengan aturan integritas referential, maka setiap nilai elemen data/entri NIM dalam
relasi KRS harus muncul nilai elemen data/entri dengan nilai yang sama dalam relasi
Mahasiswa. Begitu juga halnya dengan setiap nilai elemen data/entri Kode_Mata_Kuliah
dalam relasi KRS harus muncul nilai elemen data/entri dengan nilai yang sama dalam relasi
Mata Kuliah.
Dalam relasi KHS terdapat dua FK, yaitu NIM+Kode_Mata_Kuliah +Tahun_Semester dan
Nilai_Huruf. Dgn demikian, setiap nilai elemen data/entri gabungan NIM + Kode_Mata_Kuliah
+ Tahun_Semester dalam relasi KHS harus muncul nilai elemen data/entri dengan nilai yang
sama dalam relasi KRS. Begitu juga halnya dengan setiap nilai elemen data/entri Nilai_Huruf
dalam relasi KHS harus muncul nilai elemen data/entri yang sama dalam relasi Nilai.
Secara lebih umum, nilai-nilai elemen data/entri yang diacu oleh FK harus eksis dalam relasi
induknya. NIM mahasiswa yang ada dalam relasi KRS harus eksis dalam relasi Mahasiswa dan
Kode_Mata_Kuliah yang ada dalam relasi KRS harus eksis dalam relasi Mata_Kuliah. Artinya
Mahasiswa yang mengambil mata kuliah benar-benar ada dalam relasi Mahasiswa dan mata
kuliah yang diikuti mahasiswa benar-benar ada dalam relasi Mata_Kuliah. Jika tidak, berarti
integritas referensial tidak terpenuhi.
Dalam model RDBM, istilah kerelasian (relationship) dibedakan dengan istilah relasi (relation).
Relasi menyatakan sebuah tabel dalam basis data, sedangkan kerelasian menyatakan hubungan
antar relasi dalam basis data. Kerelasian antar relasi dapat ditunjukkan oleh FK atau relasi-relasi
bertipe transaksi yang digunakan dalam basis data. Kerelasian antar relasi dapat ditunjukkan
menggunakan sebuah diagram yang disebut Diagram Kerelasian Antar Relasi. Cara lain juga
dapat dilakukan, yaitu dengan menggunakan schema atau subschema basis data.
Secara konsep, jenis-jenis kerelasian antar relasi dalam RDBM sama dengan jenis-jenis
kerelasian antar entitas dalam ER_M. Kerelasian tersebut menunjukkan hubungan antar data
dlm basis data. Jenis-jenis kerelasian antar relasi dlm RDBM adalah (Date, 1995) sebagai berikut.
Suatu kerelasian antara dua buah tabel relasi akan merepresentasikan suatu kunci penghubung
atau file transaksi. Jenis kerelasian 1-ke-1 dan n-ke-n, umumnya memerlukan file transaksi,
sedangkan jenis kerelasian 1-ke-n umumnya memerlukan atribut sebagai kunci penghubung.
Jenis kerelasian antar relasi tidak dibatasi oleh waktu dan tempat. Jenis kerelasian tersebut
ditentukan oleh kemungkinan-kemungkinan yang terjadi pada nilai-nilai aktual elemen
data/entri dalam relasi. Aturan bisnis yang digunakan pada suatu sistem menentukan
kemungkinan tersebut. Untuk lebih jelasnya dan beberapa hal penting terkait dengan penentuan
jenis kerelasian antar tabel relasi yang perlu diperhatikan agar tidak terjadi kesalahan
penentuan jenis kerelasian (hal ini telah dubahas juga sebelumnya pada bab V), yaitu (Sutanta,
2004):
1. Jenis kerelasian sangat bergantung pada aturan bisnis (business rule) yang digunakan
pada sistem/organisasi. Dua entitas yang sama, pada subsistem yang sama, tetapi pada
organisasi yang berbeda, bisa memiliki jenis kerelasian yang berbeda.
2. Jenis kerelasian tidak dibatasi oleh lokasi geografis. Tempat kejadian/ transaksi tidak
berpengaruh terhadap jenis kerelasian. Kejadian/ transaksi di antara dua tabel relasi
dapat terjadi pada tempat yang saling berjauhan, asalkan masih berada dalam lingkup
sebuah sistem.
3. Jenis kerelasian juga tidak dibatasi oleh waktu. Waktu kejadian/ transaksi tidak
berpengaruh terhadap jenis kerelasian. Kejadian/ transaksi di antara dua tabel relasi
dapat terjadi pada selang rentang waktu yang sangat lama, asalkan masih berada dalam
lingkup sebuah sistem.
4. Jenis kerelasian tidak dibatasi kasus per kasus. Sebuah kemungkinan kejadian/transaksi
tidak berpengaruh terhadap jenis kerelasian secara umum. Kejadian/transaksi di antara
dua entitas ditentukan oleh kemungkinan umum yang dapat terjadi, asalkan masih
berada dalam lingkup sebuah sistem.
Untuk menggambarkan diagram kerelasian antar relasi dapat dilakukan melalui 4 (empat)
tahapan, dengan cara sebagai berikut (Sutanta, 2004):
A. Tuliskan setiap relasi dan atribut pada setiap relasi dalam bentuk tabel satu kolom, di
mana kepala tabel memuat nama relasi dan isi tabel memuat nama-nama atribumya;
B. Tentukan PK dan FK (jika ada) dalam setiap relasi. Berikan tanda bintang (*) pada
atribut yang berfungsi sebagai PK dan dua bintang (**) pada atribut yang berfungsi
sebagai FK. Bilamana atribut FK sekaligus berfungsi sebagai PK maka cukup ditandai
dengan satu tanda bintang (*);
D. Gambarkan jenis kerelasian antar relasi dengan menggunakan tanda panah ganda untuk
jenis "banyak" dan sebuah mata panah untuk jenis "satu".
Untuk lebih jelasnya, berikut diberikan contoh menggambar diagram kerelasian antar relasi
untuk relasi-relasi dalam Tabel 6.7, Tabel 6.8, Tabel 6.9, Tabel 6.10, dan Tabel 6.11. Langkah-
langkahnya secara berurutan ditampilkan pada Gambar 6.1, Gambar 6.2, Gambar 6.3, dan
Gambar 6.4.
A. Langkah – 1:
{Tuliskan setiap relasi dan atribut pada setiap relasi dalam bentuk tabel satu kolom, di
mana kepala tabel memuat nama relasi dan isi tabel memuat nama-nama atribumya};
B. Langkah - 2:
{Tentukan PK dan FK (jika ada) dalam setiap relasi. Berikan tanda bintang (*) pada
atribut yang berfungsi sebagai PK dan dua bintang (**) pada atribut yang berfungsi
sebagai FK. Bilamana atribut FK sekaligus berfungsi sebagai PK maka cukup ditandai
dengan satu tanda bintang (*)};
Catatan:
dalam relasi KRS, NIM dan Kode_Mata_Kuliah berfungsi sebagai PK dan sekaligus sebagai
FK sehingga yang digunakan adalah satu tanda bintang;
dalam relasi KHS, NIM+KodeMata_Kuliah+TahunSemester berfungsi sebagai PK dan
sekaligus sebagai FK sehingga yang digunakan adalah satu tanda bintang;
dalam relasi KHS, Nilai_Huruf berfungsi sebagai FK sehingga yang digunakan adalah dua
tanda bintang.
Mahasiswa KRS
NIM * NIM *
Nama_Mahasiswa Kode_Mata_Kuliah *
Alamat Tahun_Semester *
Mata_Kuliah KHS
Kode_Mata_Kuliah * NIM *
Nama_Mata_Kuliah Kode_Mata_Kuliah *
SKS Tahun_Semester *
Smt Nilai_Huruf **
Status
NILAI
Nilai_Huruf *
Mutu
Predikat
D. Langkah - 4:
{Gambarkan jenis kerelasian antar relasi dengan menggunakan tanda panah ganda
untuk jenis "banyak" dan sebuah mata panah untuk jenis "satu".}
Mahasiswa KRS
NIM * NIM *
Nama_Mahasiswa Kode_Mata_Kuliah *
Alamat Tahun_Semester *
Mata_Kuliah KHS
Kode_Mata_Kuliah * NIM *
Nama_Mata_Kuliah Kode_Mata_Kuliah *
SKS Tahun_Semester *
Smt Nilai_Huruf **
Status
NILAI
Nilai_Huruf *
Mutu
Predikat
Berdasarkan urutan langkah tersebut maka diagram kerelasian antar relasi antara relasi
Mahasiswa, Mata_Kuliah, Nilai, KRS, dan KHS ditunjukkan pada hasil langkah terakhir pada
gambar 6.4
Reberapa definisi yang berkaitan dengan penyebutan relasi adalah sebagai berikut (Sutanta.
2004).
1. Relasi tak gayut : IstiIah relasi tak gayut/independen digunakan untuk penyebutan sebuah
relasi yang herasal dari entitas reguler/dominan. Ciri relasi tak gayut/independen adalah
tidak memiliki FK di dalamnya. Sehagai contohnya adalah relasi Mahasiswa (Tabel 6.7),
Mata_Kuliah (Tabel 6.8). dan Nilai (Tabel 6.9).
2. Relasi asosiatif : Istilah relasi asosiatif digunakan untuk menyatakan sebuah relasi yang
mempunyai jenis kerelasian n-ke-n. relasi asosiatif adalah memiliki lebih dari 1 FK. Sebagai
contohnya adalah relasi KRS (Tabel 6.10).
3. Relasi karakteristik : Istilah relasi karakteristik digunakan untuk menyatakan sebuah relasi
yang berasal dari entitas dependen / tak gayut / tak bebas. relasi karakteristik umumnya
mempunyai Denis kerelasian n-ke-1 terhadap relasi yang menjadi induknya. Sebagai
contohnya adalah relasi KRS (tabel 6.4) terhadap Nilai (Tabel 6.9)
4. Subrelasi : lstilah subrelasi digunakan untuk menyatakan sebuah relasi yang berasal dari
sub type entity. Saat akhir perancangan basis data, subrelasi biasanya digabungkan dengan
super relasi. Sebagai contoh, relasi Mahasiswa (tabel 6.7) dapat memuat record mahasiswa,
baik jenjang Sarjana maupun Diploma III. Dalam ER_M mahasiswa jenjang Sarjana dan
mahasiswa jenjang Diploma III merupakan subtype entitty terhadap supertype entitty
mahasiswa.
Penyimpangan penghapusan (delete anomally) adalah suatu proses penghapusan suatu nilai
rinci data yang mengakibatkan hilangnya, informasi rinci data lain yang tidak mempunyai
kerelasian secara logik. Sebagai contoh, diketahui sebuah relasi bernama Siswa, yang digunakan
untuk mencatat data siswa peserta kursus bahasa pada sebuah lembaga pelatihan bahasa.
sebagaimana ditunjukkan pada label 6.12.
Penyimpangan:
Karena Dani telah selesai mengikuti kursus Bahasa Mandarin 5 tahun yang lalu dan data
tersebut tidak digunakan lagi maka recordnya akan dihapus. Secara kebetulan peserta kursus
bahasa Mandarin periode 1998 hanya seorang raja. Akibatnya. seluruh rinci data dalam record
tersebut akan hilang dari basis data. termasuk informasi tentang instruktur bernama Nani dan
periode kursus Juli 1998. Padahal, semula yang diinginkan hanya menghapus nilai rinci data
Dani. Kejadian ini harus dihindarkan dalam basis data.
Penyinipangan penyisipan (insert anomally) adalah suatu proses menyisipkan suatu nilai runci
data yang mengakibatkan perlunya penyisipan pada nilai runci data lain yang tidak mempunyai
kerelasian secara logik.
Penyimpangan:
Dengan tetap menggunakan contoh relasi dalam Tahel 6.12, jika ada seorang instruktur baru yang masuk ke
lembaga pelatihan tersebut, tetapi belum pernah mengajar sama sekali, maka penambahan data instruktur
tersebut tidak dapat dilakukan selama belum pernah mengajar. Kejadian juga merupakan penyimpangan
yang harus dihindari dari dalam basis data.
Penyimpangan pembaruan (update anomally) adalah suatu proses mengubah suatu nilai rinci
data yang mengakibatkan perlunya pengubahan pada nilai rinci data lain yang tidak
mempunyai kerelasian secara logik.
Penyimpangan:
Contoh penyimpangan pembaruan dapat diperhatikan pada relasi baru bernama Karyawan seperti
dalam label 6.13.
Penyimpangan:
Dalam relasi Karyawan, apabila ternyata terjadi perubahan Gaji _Pokok karyawan, misal kenaikan untuk
Golongan_Gaji IIIA menjadi 625.000, maka nllal rind data Gaji_ Pokok harus di-update. Dalam contoh diatas
perubahan harus dilakukan sebanyak dua kali. Jika jumlah karyawan yang, memiliki Golongan IIIA cukup
hanyak maka update harus dilakukan secara berulang kali sebanyak karyawan yang memiliki (golongan
_Gaji IIIA). Jika perubahan tidak dilakukan secara menyeluruh atau ada yang terlewatkan maka akan timbul
inkonsistensi data. Kejadian seperti harus dihindari dari dalam basis data.
Selain akibat kerangkapan data, penyimpangan yang terjadi dalam modifikasi juga terjadi
karena pada kenyataannya suatu nilai rinci data dalam relasi dapat memiliki
ketergantungan terhadap nilai rinci data yang lain, selama rinci data- rinci data dalam
struktur tidak tergantung secara logik. Ketergantungan antar rinci data menjabarkan
huhungan antara atribut-atribut dalam hal bagaimana suatu nilai menentukan nilai yang
lain.
FD muncul dalam suatu relasi jika nilai rinci data pada suatu atribut menentukan /
mengimplikasikan nilai rinci data pada atribut lain.
Dalam kalimat yang lain, sebuah atribut (=Y) dikatakan berketergantungan secara
fungsional terhadap atribut lain (=X) jika:
setiap nilai X berkaitan dengan sebuah nilai pada Y;
untuk setiap record yang memiliki sembarang nilai X selalu berhubungan dengan
nilai Y yang sama.
FD dapat dinyatakan dengan notasi:
FD: R.X R.Y
Keterangan:
FD : Functionally Dependence
R : nama relasi
X : atribut penentu (determines), yaitu CK
Y : atribut yang bergantung (dependent)
Suatu petunjuk praktis untuk menentukan FD dalam sebuah relasi adalah dengan cara mencari
CK, kemudian dikaitkan dengan atribut-atribut lain dalam relasi yang sama. Untuk membantu
mempermudah pemahaman tentang FD, diberikan contoh relasi bernama Tour sebagaimana
ditampilkan pada label 6.14.
Dalam contoh tersebut, Nama_Anggota dan Alamat_Lokal peserta tur bergantung pada
No_Anggota. Sedangkan biaya bergantung pada Tujuan dan Tanggal.
Suatu atribut dikatakan FFD pada suatu kombinasi atribut jika FD pada suatu atribut dan tidak
FD pada bagian lain dan kombinasi atribut. Yang dimaksud dengan bagian lain dan suatu
kombinasi atribut di sini adalah kombinasi atribut selain set FD dan set kosong.
Dalam kalimat yang lain, suatu atribut Y mempunyai ketergantungan fungsional penuh terhadap
atribut X jika:
Dengan tetap menggunakan contoh relasi Tour pada Tabel 6.14 dalam relasi tersebut dapat
dituliskan sehagai herikut.
Dalam contoh tersebut, biaya tur menuju tujuan tertentu hanya bergantung sepenuhnya pada
tujuan dan tanggal tur, dan tidak bergantung pada siapa yang melakukan tur. Sedangkan
Nama_Anggota dan Alamati.Lokal hanya bergantung sepenuhnya pada No _Anggota.
TDF muncul dalam relasi jika suatu nilai pada atribut pertama menentukan nilai pada atribut
kedua yang bukan CK dan nilai pada atribut kedua menentukan nilai pada atribut ketiga. Jadi
TDF terjadi jika nilai pada suatu atribut bergantung pada dua atribut sekaligus.
Dalam kalimat yang lain, suatu atribut Z dikatakan mengalami ketergantungan transitif
(transitive dependency/TDF) terhadap X jika:
Keterangan:
TD : Total Dependency
R : nama relasi
X : atribut penentu (determines),sekaligus bergantun g pada Y
Y : atribut yang bergantung (dependent) sekaligus penentu pada X
Untuk memberi kan contoh TD, relasi Karyawan dalam Tabel 6.15 tetap digunakan. Dalam relasi
Karyawan, TD dapat dituliskan sebagai berikut.
Selain ditampilkan menggunakan notasi seperti di atas, FD, FFD, TDF, dan TD dapat ditampilkan
dengan bentuk yang lain. yaitu menggunakan diagram ketergantungan data. Dalam bentuk ini
terdapat dua cara yang dapat dipilih, cara pertama (cara 1) digambarkan secara horizontal,
sedangkan cara kedua (cara 2) digambarkan secara vertikal. Keduanya sama saja dan kita bisa
menggunakan salah satu tanpa menimbulkan permasalahan. Langkah menggambar diagram
ketergantungan data dengan cara 1 adalah sebagai berikut:
1. Tempatkan setiap atribut yang menjadi penentu pada sebuah garis horizontal yang
berupa titik-t itik sebagai penghubung;
KULIAH SISTEM BASIS DATA – S1 TEKNIK GEODESI / GEOMATIKA – FT – UNILA
BAB VI – Model Data Relasional Halaman - 20 / 27
Diagram ketergantungan data untuk relasi Tour (Tabel 6.14) ditampilkan pada Gambar 6.5 atau
Gambar 6.6. Diagram ketergantungan data untuk relasi Karyawan (Tabel 6. 15) di tampilkan
pada Gambar 6.7 atau Gambar 6.8.
Dalam Gambar 6.5, atribut-atribut No_Anggota dan Tanggal + Tujuan ditempatkan pada posisi
segaris dibagian atas. Hal ini dimaksudkan bahwa atribut-atribut tersebut merupakan atribut
penentu dalam relasi. Sedangkan atribut Nama_Anggota dan Alamat_Lokal ditempatkan
dibawahnya karena merupakan atribut-atribut yang bergantung. Untuk menyatakan bahwa
Nama_Anggota dan Alamat_Lokal bergantung pada No_Anggota maka dihubungkan
rnenggunakan garis panah. Sedangkan atribut Biaya bergantung pada atribut Tanggal + Tujuan
schingga dihubungkan mcnggunakan dua garis panah. Dengan analogi yang sama, Gambar 6.6
menunjukkan diagram ketergantungan data dengan cara lain, yaitu secara vertikal.
No_Anggota Nama_Anggota
Tangal Alamat_Lokal
Tujuan Biaya
Nama_Karyawan Gaji_Pokok
Gambar 6.7 Diagram ketergantungan data dalam relasi Karyawan (cara 1 )
NIK NIK
NIK NIK
Perancangan basis data menghasilkan sekumpulan relasi yang saling berkerelasian dalam
lingkup sebuah sistem. Untuk memenuhi batasan dalam definisi basis data maka setiap
rancangan relasi perlu diuji untuk menentukan apakah relast tersebut telah optimal. Pengujian
dilakukan berdasarkan kriteria tertentu. Jika relasi belum optimal maka perlu dilakukan proses
normalisasi. Perwujudan normalisasi adalah dekomposisi relasi menjadi relasi-relasi baru yang
Jebih sederhana.
Normalisasi diartikan sebagai suatu teknik yang menstruk:turkan/ mendekomposisi data dalam
cara-cara tertentu untuk mencegah timbulnya permasalahan pengol ahan data dalam basis data.
Permasalahan yang dimaksud adalah berkaitan dengan penyimpangan-penyimpangan
(anomallies) yang terjadi akibat adanya kerangkapan data dalam relasi dan inefisiensi
pengolahan (Martin,1975).
Dalam sumber referensi yang lain, Abraham Silberschatz, Henry F. Korth, dan S. Sudarshan
(2001) menyatakan bahwa normalisasi bertujuan untuk memperoleh relasi-relasi dalam bentuk
yang "baik". Jika sebuah relasi R memiliki bentuk yang "tidak baik" maka relasi tersebut perlu
dipecah menjadi sejumlah relasi baru, yaitu {Rl, R2. .... Rn} , di mana setiap relasi baru memiliki
bentuk yang "baik" dan pemecahan dilakukan tanpa terjadi kehilangan informasi saat
digabungkan kembali (loss less join ).
Bentuk-bentuk normal first norm form/1 NF, second norm form12NF, dan third normal
form/3NF dikemukakan oleh E.F. Codd, sedangkan bentuk normal Boyce-Codd norm form/BCNF
dikemukakan oleh R.F. Boyce dan E.F. Codd (Date, 1995). Bentuk normal BCNF ,forth
normform/4NF, dan fifih norm form/5NF dapat terjadi pada relasi-relasi yang memilik:i
ketergantungan pada banyak nilai. Bentuk Domain Key Norm Form/ DKNF dan Restriction
Union Norm Form/ RUNF dapat terjadi pada relasi-relasi yang bersifat sangat spesifik sehingga
tidak semua relasi memungkinkan untuk mencapai level ini. Umurnnya rancangan relasi dalam
basis data telah optimal jika memenuhi kriteria bentuk 3NF. Level normalisasi ditentukan
berdasarkan kriteria bentuk normal, bukan banyaknya langkah menstruktur- kan/dekomposisi
sebuah relasi (Sutanta, 2004).
Berbeda dengan kebiasaan, yaitu teori biasanya ditemukan terlebih dahulu baru kemudian
diterapkan dalam praktik, teori normalisasi dibangun menurut konsep level normalisasi. Level
normalisasi atau sering disebut sebagai bentuk normal suatu relasi dijelaskan berdasarkan
kriteria tertentu pada bentuk normal. Bentuk normal yang dikenal hingga saat ini meliputi
bentuk 1NF, 2NF, 3NF, BCNF, 4NF, 5NF, DKNF, dan RUNF. Secara berturut-turut masing-masing
level normal tersebut dibahas berikut ini, dimulai dari bentuk tidak normal.
Kriteria tersebut mengindikasikan bahwa di antara atribut dalam 2NF masih mungkin men
ga lami TDF. Sel ain itu, relasi 2NF menuntut telah didefinisikan atribut PK dalam relasi.
Mengubah relasi 1NF menjadi bentuk 2NF dapat dil akukan dengan mengubah struktur relasi
dengan cara:
a. Identilikasikan FD relasi 1NF (jika perlu gambarkan diagram ketergantungan datanya);
b. Berdasarkan informasi tersebut, dekomposisi relasi 1NF menjadi relasi-relasi baru
sesuai FD-nya. Jika menggunakan diagram maka simpul-simpul yang berada pada
puncak diagram ketergantungan data bertindak sebagai PK pada relasi baru.
Untuk membantu pemahaman tentang bentuk dan proses normalisasi , berikut diberikan tiga
contoh relasi dalam bentuk tidak normal, kemudian secara·bertahap diubah hingga menjadi
optimal dalam bentuk 3NF. Contoh-contoh relasi yang digunakan sengaja dibuat sederhana
untuk memfokuskan pembahasan pada bentuk dan proses normalisasi, bukan pada aspek
kelengkapan data sesuai kondisi nyata di lapangan.
Contoh pertama menggunakan relasi sumber Supplier, yang digunakan untuk mencatat data
supplier dan pengiriman barang dari suppplier. Contoh kedua menggunakan relasi sumber KRS,
yang digunakan untuk mencatat data mahasiswa dan mata kuliah yang diikutinya. Secara
beturut-turut relasi sumber hingga hasil akhir yang diperoleh untuk dua contoh tersebut
ditampilkan dalam Tabel 6.16 hingga Tabel 6.28.
Contoh 1:
Tabel 6.16 Relasi Supplier dalam bentuk UNF
Catatan:
Relasi Supplier pada Tabel 6.16 termasuk UNF karena dicatat sesuat kedatangan data dan tidak
memenuhi ktiteria.f/at file.
Catatan:
Relasi Supplier_1 pada Tabel 6.17 merupakan hasil modifikasi relasi Supplier pada Tabel 6.16 dengan
cara melengkapi nilai-nilai rinci data dalam relasi guna memenuhi kriteria bentuk 1NF. Sebagai
pelengkap, Gambar 6.9 menunjukkan diagram ketergantungan data dalam relasi Supplier_1.
Kode_Supplier Status
Kota
Kode_Barang Jumlah_Barang
Permasalahan dalam relasi Supplier_1 dalam bentuk 1NF adalah sebagai berikut.
a. tidak dapat menyisipkan informasi parsial, misal ada supplier baru namun belum pernah
menyuplai barang sama sekali, maka supplier baru tersebut tidak dapat dientrykan
dalam relasi (mengakibatkan non flat file ).
c. pembaruan atribut nonkunci men gakibatkan sejumlah record harus diperbaharui, misal
alamat supplier dengan kode SO1 pindah ke Bandung, maka seluruh record dengan
Kode_SupplierSO1 harus diubah. Jika terlewat atau tidak di lakukan pada semua record
maka mengakibatkan munculnya data yang tidak konsisten.
Tabel 6 .18 Relasi Supplier_2 dalam bentuk 2NF
Kode_Supplier Status Kota
S1 10 Jakarta
S2 20 Surabaya
S3 30 Yoqyakarta
Catatan:
Relasi Supplier_1 dalam bentuk 1NF pada Tabel 6.1 7 dipecah menjadi dua relasi baru menjadi
bentuk 2NF yang diberi nama Supplier_2 pada Tabel 6.18 dan relasi Barang pada Tabel 6.19.
Atribut Kode_Supplier dalam relasi Barang di perlukan sebagai FK yang mereferensi kerelasi
Supplier_2 agar relasi-relasi baru yang terbentuk tetap saling berhubungan.
Pemecahan relasi tersebut dilakukan berdasarkan ketergantungan data yang terjadi dalam relasi
Supplier_ 1, seperti ditampilkan pada Gambar 6 .9. Relasi Supplier_2 telah memenuhi kriteria relasi
bentuk 2NF, tetapi atribut-atribut di dalamnya masih mengalami TDF.
Tabel 6.20 Relasi Supplier_3 dalam bemuk 3 NF Tabel 6.21 Relasi Kota
Catatan:
Relasi Supplier_3 pada Tabel 6 .20 dan relasi Kota pada Tabel 6.21 merupakan hasil
pemecahan relasi Supplier_2 yang menga lami ketergantungan transitif pada atribut-
atribut Kode_Supplier, Status, dan Kota. Hasil akhir dari proses normali sasi dalam
contoh-1 ini adalah tiga buah relasi baru, yaitu Supplier_3, Kota, dan Barang. Diagram
kerelasian antar ketiga relasi tsb ditampi lkan pada Gambar 6 .10.
Mata_Kuliah1 Kota
Kode_Supplier ** Status *
Kode_Barang * Kota
Jumlah_Barang
Barang
Kode_Supplier
Status **
Gambar 6.10 Diagram kerelasian antara hasil 0 normalisasi (contoh 1 )
Contoh 2:
Tabel 6.22 Relasi KRS dalam bentuk UNF
NIM Nama_Mahasiswa Kode_ MK_1 SKS_1 Tahun _smt_1 Kode_ MK_ 2 SKS_2 Tahun_Smt_2
001 Koko MK01 2 20021 MK02 2 20022
002 Kiki MK01 2 20021 MK02 2 20022
003 Kiko MK01 2 20031 MK03 2 20032
004 Koki MK01 2 20031 MK04 2 20032
Catatan :
Relasi KRS berada dal am bentuk UNF karena memuat set atribut beru lang, yaitu Kode
mata kuli ah, tahun semester, dan SKS. Selanjutnya, hasi l proses normalisasi bentuk 1NF
d i beri nama rel asi KRS_ 1 dan dita m pil kan pada Tabel 6 .23. Proses yang dilakukan ada
lah mengubah struktur relasi, di mana set atribut berulang d i ubah susuna nn ya dari
horizontal menjadi vertikal.
NIM Nama_Mahasiswa
Tahun_Smt
Kode_MK SKS
Relasi KRS_ 1 (Tabel 6.23) selanjutnya dipecah menghasil kan dua relasi baru, yaitu KRS_2 dan
Mahasiswa yang ditampilkan pada Tabel 6.24 dan Tabel 6 .25.
Tabel 6.24 Relasi KRS_2 dalam bentuk 2NF Tabel 6.25: Relasi Mahasiswa
NIM Kode MK SKS Tahun_ Smt NIM Nama_Mahasiswa
001 MK01 2 20021 001 Koko
001 MK02 2 20022 002 Kiki
002 MK01 2 20021 003 Kiko
002 MK02 2 20022 004 Koki
003 MK01 2 20031
003 MK03 2 20032
004 MK01 2 20031
004 MK04 2 20032
Catatan:
Relasi KRS_) pada Tabel 6.24 masih mengalami ketergantungan transitif, ya itu Nim, Kode_MK, dan
SKS, sehingga perlu dipecah kembali. Hasiln)a adalah dua relasi baru, yaitu relasi KRS_3 yang
ditampilkan pada Tabel 6.26 dan relasi Mata_Kuliah yang ditampilkan pada Tabel 6 .27
Tabel 6.26 Relasi KRS_3 dalam bentuk 3NF Tabel 11.27 Relasi Mata_Kuliah
NIM Kode_MK Tahun _Smt Kode_MK SKS
001 MK01 20021 MK01 2
001 MK02 20022 MK02 2
002 MK01 20021 MK03 2
002 MK02 20022 MK04 2
003 MK01 20031
OOJ MK03 20032
004 MK01 20031
004 MK04 20032
Hasi l akhir dari proses normalisasi dalam contoh 2 ini adalah tiga buah relasi baru, yaitu KRS_3,
Mahasiswa, dan Mata_Kuliah. Diagram kerelasian antar ketiga relasi tersebut ditampilkan pada
Gambar 6 .12.
Mahasiswa Mata_Kuliah
NIM * Kode_MK *
Nama_Mahasiswa KRS_3 SKS
NIM *
Kode_MK *
Tahun_Smt *
Sebagaimana terjadi pada hampir semua usaha pemecahan permasalahan, (tidak hanya terbatas
pada basis data) efek samping yang negatif muncul. Pada kenyataannya, penerapan normalisasi
juga mengakibatkan efeksamping yang tidak diharapkan, yaitu:
1. Proses dekomposisi relasi mengakibatkan munculnya duplikasi rinci data pada atribut
kunci penghubung (foreign key)
2. Dekomposisi relasi membuka kemungkinan tidak terpenuhi nya integritas referensial
(referential integrity) dalam basis data
3. Dekomposisi relasi menghasilkan semakin banyak jumlah relasi baru sehingga
mengakibatkan inefisiensi proses menampilkan kembali data-data dari dalam basis data
4. Adanya batasan penerapan pada beberapa DBMS untuk ukuran komputer pribadi/PC,
terutama berkaitan dengan batas maksimal relasi yang dapat dibuka secara bersamaan
Efek duplikasi rinci data pada atribut kunci penghubung salah satunya dapat diatasi dengan
pemanfaatan field bertipe memo (Sutanta, 2002).
LATIHAN
Kerjakan soal soal berikut ini secara lengkap, dan jelas.
1. Berikan masing-masing sebuah contoh untuk unary relation, binary relation, dan ternary
relation.
2. Berikan minimal tiga contoh relasi dalam bentuk tidak normal. Untuk contoh yang Anda
berikan tersebut, jelaskan dan gambarkan diagram ketergantungan datanya.
3. Terkait dengan jawaban soal nomor 1, tunjukkan bagaimana bentuk relasi 1NF, 2NF, dan
3NF untuk setiap contoh relasi yang Anda berikan.
4. Terkait dengan jawaban soa l nomor 2, tunjukkan diagram kerelasian antar relasi untuk
setiap relasi bentuk 3NF yang Anda peroleh.
5. Terkait dengan efek normalisasi suatu relasi, proses dekomposisi relasi mengakibatkan
munculnya duplikasi rinci data pada atribut kunci penghubung (foreign key), berikan
penjelasan apa maksudnya dan berikan contohnya.
6. Terkait dengan efek normalisasi suatu relasi, dekomposisi relasi menghasilkan semakin
banyak jumlah relasi baru sehingga mengakibatkan inefisiensi proses menampilkan
kembali data-data dari dlm basisdata, jelasan apa maksudnya & berikan contohnya.
BAB - 7
SCHEMA DAN SUBSCHEMA BASIS DATA
Materi:
1. Terminologi RDBM 4. Notasi relasi, schema, dan subschema
2. Definisi schema dan subschema 5. Instance schema
3. Schema, subschema, model data, dan diagram
kerelasian antar relasi
Jika fungsi basis data hanya untuk menyimpan data saja maka itu adalah hal yang sederhana.
Kenyataannya, kerelasian antar data yang disimpan dalam basis data sangatlah kompleks. Suatu
schema dan subschema diperlukan untuk mendeskripsikan hubungan logik antar data dalam
basis data.
Schema memberikan deskripsi hubungan logik antar data dalam basis data secara lengkap,
termasuk didalamnya nama dan deskripsi dari semua atribut, record , dan batasan nilai untuk
semua aplikasi yang menggunakan basis data tersebut. Sedangkan subschema merupakan
deskripsi terpisah dari atribut, record , dan batasan nilai yang digunakan oleh sebuah program
aplikasi. Dengan demikian, sebuah schema dapat diturunkan kedalam beberapa subschema.
Suatu schema menunjukkan pandangan konseptual seorang perancang, sedangkan subschema
menunjukkan pandangan seorang pemrogram aplikasi (application programmer) terhadap data
yang digunakannya (Martin, 1975).
Raymond McLeod dan George Schell (2001 ) menyatakan bahwa schema memuat deskripsi yang
meliputi:
1. Nama field data;
2. Alias (nama lain yang digunakan untuk field data yang sama);
3. Tipe data (numerik atau alfabet);
4. Jumlah digit pada posisi angka;
5. Jumlah digit pada posisi desimal;
6. Sejumlah aturan integritas.
Sebuah relasi RDBM direpresentasikan sebagai sebuah tabel datar (flat file) yang memuat
beberapa keterangan, yaitu:
1. Nama relasi;
2. Kunci-kunci relasi (tidak selalu dituliskan);
3. Kunci-kunci indeks (tidak selalu dituliskan);
4. Sejumlah record (elemen data/entri dalam bentuk baris-baris data);
5. Nama-nama atribut.
7.1 Schema, Subschema, Model Data, dan Diagram Kerelasian Antar Relasi
Schema, subschema , data model, dan diagram kerelasian antar relasi samasama digunakan
untuk menunjukkan hubungan logik antar data dalam basis data. Sekalipun demikian, terdapat
perbedaan diantara keempatnya. Schema dan subschema lebih banyak digunakan untuk para
perancang basis data pada level konseptual. Schema dan subschema dijadikan acuan pada saat
perancangan struktur-struktur relasi yang akan dikembangkan. Suatu schema digunakan pada
lingkup sistem/organisasi secara keseluruhan (basis data). Sedangkan subschema digunakan
pada lingkup aplikasi tertentu. Jadi sebuah schema merupakan hasil gabungan beberapa
subschema.
Model data digunakan sebagai sarana untuk mengomunikasikan rancangan basis data yang lebih
ditujukan kepada para pengguna basis data. Model data dapat terdiri atas beberapa model (lihat
pembahasan BAB sebelumnya). Sedangkan diagram kerelasian antar relasi merupakan diagram
yang menunjukkan hubungan antar data dalam basis data, yang secara khusus digunakan pada
model relasionai/RDBM. Diagram kerelasian antar relasi tersusun atas relasi, atribut dalam
setiap relasi, dan kerelasian yang terjadi diantara relasi-relasi. Diagram tersebut memuat
seluruh relasi yang digunakan, bisa dalam lingkup sistem secara keseluruhan atau hanya dalam
lingkup aplikasi tertentu saja.
1. Notasi relasi
Sebuah relasi scema model relasional (RDBM) direpresentasikan sebagai sebuah tabel. Sebuah
relasi yang ditampilkan dalam bentuk tabel memuat beberapa keterangan, yaitu:
1. nama relasi ;
2. kunci-kunci relasi (tidak selalu dituliskan);
3. kunci-kunci indeks (tidak selalu dituliskan);
4. sejumlah record (elemen data/entry yang disusun dalam bentuk baris-baris data);
5. nama-nama atribut.
Representasi relasi dalam bentuk tabel tersebut relatif mudah dipahami, khususnya oleh para
pengguna.
Namun, seringkali bentuk tersebut menjadi terlalu banyak memerlukan tempat untuk
menampilkannya sehingga diperlukan cara yang lebih ringkas untuk menampilkan relasi
tersebut. Dan seringkali batasan nilai pada setiap atribut justru lebih diperlukan daripada nilai-
nilai elemen data/entry yang sesungguhnya, baik oleh pengguna maupun perancang (khususnya
untuk kebutuhan perancangan struktur relasi pada tahap selanjutnya). Dengan alasan-alasan itu
maka relasi-relasi dalam basis data dapat dituliskan dalam bentuk yang lain, yaitu menggunakan
notasi relasi. Pada umumnya untuk menyatakan atribut PK dalam relasi ditandai dengan tanda #
(lngat: dalam diagram kerelasian antar relasi PK ditandai dengan tanda *). Notasi relasi dapat
dituliskan sebagai berikut.
Notasi relasi tersebut perlu dilengkapi dengan batasan untuk domain pada setiap atribut, yaitu
dinyatakan dengan format sebagai berikut.
Sebuah relasi dalam bentuk tabel dpt dinyatakan dlm bentuk notasi relasi & batasan domainnya.
Berikut diberikan contoh sebuah relasi Mata_Kuliah yang ditampilkan dalam bentuk tabel,
kemudian dituliskan notasi relasinya. Relasi Mata_Kuliah memuat lima buah atribut, yaitu:
1. Kode_Mata_Kuliah dengan tipe data character (sekalipun berisi angka-angka) dengan
ukuran 8 character
2. Nama_Mata_Kuliah dengan tipe data character dengan ukuran 50 Character
3. SKS dengan tipe numeric (berisi angka) dengan ukuran 1 digit
4. Semester dengan tipe numeric (berisi angka) dengan ukuran 1 digit
5. Status dengan tipe character (berisi character) dengan ukuran 1 character
Relasi Mata_Kuliah menggunakan Kode_Mata_Kuliah sebagai PK. Selanjutnya relasi
Mahasiswa dalam contoh tersebut ditampilkan pada Tabel 7.1
Relasi Mata_Kuliah dalam Tabel 7.1, selanjutnya dapat dituliskan dalam notasi relasi sebagai
berikut.
R_Mata_Kuliah : (Kode_Mata_Kuliah#, Nama_Mata_Kuliah, SKS, Semester, Status)
Domain_Mata_Kuliah : (Char[8], char[50], num[1],num[1],char[1])
Penyebutan schema dan subschema hanya berbeda pada lingkupnya saja. Jika data dan
kerelasian yang digambarkan berada pada lingkup sistem/organisasi secara keseluruhan maka
disebut schema. Tetapi jika data dan kerelasian yang digambarkan berada pada lingkup sebuah
aplikasi saja/subsistem maka disebut subschema. Penulisan notasi untuk schema dan
subschema dilakukan dengan cara/format yang sama.
Notasi schema atau subschema dapat dituliskan dengan format sebagai berikut;
Untuk menjaga integritas data (baik intergritas kesatuan maupun referensial) maka batasan-
batasan nilai elemen data pada atribut, FK, maupun PK dapat diberikan/dituliskan dalam notasi
schema/subschema. Batasan tersebut dapat berupa nilai dasar (default value), batasan nilai
(range), atau batasan tidak boleh null (not null).
Secara konsep nilai-nilai elemen data/entry pada PK dan pada PK yang diacu oleh FK tidak boleh
null. Dengan demikian dapat diberikan batasan not null. Namun, integritas kesatuan telah diset
secara langsung oleh DBMS sehingga batasan not null pada atribut PK tidak perlu dituliskan lagi.
Untuk memberikan jaminan relasi flat file maka nilai-nilai elemen data/entry pada atribut-
atribut dalam relasi sebenanya juga tidak boleh null. Hal ini ternyata lebih mudah dilakukan
melalui program aplikasi yang digunakan. Dengan demikian, batasan not null untuk setiap
atribut juga tidak harus selalu dituliskan.
Untuk memberikan contoh penulisan schema (atau subschema), contoh relasi Mata_Kuliah pada
Tabel 7.1 digunakan kembali dan ditambahkan tiga relasi baru, yaitu Mahasiswa pada Tabel 7.2
dan relasi KRS pada Tabel 7.3, dan relasi KHS pada Tabel 7.4. Schema (bisa juga disebut
subschema) untuk ketiga relasi tersebut dapat dituliskan sebagai berikut.
Instance schema menunjukkan isian nilai-nilai aktual elemen data/entry dalam setiap relasi.
Instance schema diperlukan untuk menunjukkan nilai data sesungguhnya yang ada didalam
schema (atau subschema). Pasanganpasangan keterangan yang sering digunakan untuk
menjelaskan basis data dapat dipilih salah satu dari pasangan berikut (Sutanta, 2004).
Dalam hal basis data dijelaskan menggunakan pasangan keterangan dalam pilihan ketiga seperti
diatas maka instance schema menjadi diperlukan. Instance schema sebenarnya sama dengan
relasi yang direpresentasikan scema bentuk tabel. Dengan demikian, tampilan instance schema
Mata_Kuliah, Mahasiswa, KRS, dan KHS yang dituliskan dalam schema pada contoh diatas persis
sama dengan apa yang ditampilkan dalam Tabel 7.1, Tabel 7.2, Tabel 7.3, & Tabel 7.4
LATIHAN
Kerjakan soal soal berikut ini secara lengkap, dan jelas.
1. Dengan menggunakan contoh ER_D pada Gambar 5.15 (Bab V), tuliskan secara lengkap
struktur relasi untuk seluruh relasi yang diperlukan.
2. Terkait dengan jawaban soal nomor 1, definisikan secara lengkap schema untuk seluruh
relasi yang Saudar tuliskan.
3. Terkait dengan jawaban soal nomor 2, tuliskan contoh instance schemanya minimal lima
record untuk masing-masing relasi yang Saudara definisikan.
BAB - 8
ASPEK PENGEMBANGAN BASIS DATA
Materi:
1. Tujuan pengembangan BD 4. Perhitungan manfaat aplikasi BD secara kuantitatif
2. Langkah pengembangan BD 5. Analisis biaya manfaat dari altematif desain BD
3. Analisis kelayakan pengembangan BD 6. Kelemahan pendekatan BD
Tujuan pengembangan basis data berhubungan dengan masalah-masalah yang timbul dalam file
basis data. Tujuan basis data meliputi (Parsaye, 1989):
Proyek pengembangan basis data bukan sekadar menyusun file-file yang diperlukan untuk
disimpan sebagai basis data, tetapi termasuk didalamnya mengatur bagaimana agar basis data
tersebut dapat dimanfaatkan secara optimal oleh pemakai untuk memenuhi kebutuhan datanya.
Jadi, proyek pengembangan basis data meliputi pengembangan file basis data, perangkat lunak
(software), perangkat keras (hardware), dan menyiapkan personal-personal yang akan terlibat
dalam penggunaan basis data agar dapat memanfaatkannya dengan baik dan benar. Adapun
tahapan-tahapan utama dalam proyek pengembangan basis data dapat terdiri atas tiga atau lima
tahap.
Pengembangan basis data yang terdiri dari tiga tahapan adalah sebagai berikut (Sutanta, 2004).
1. Analisis
2. Desain/perancangan
3. Implementasi
Pengembangan basis data yang terdiri dari lima tahapan adalah sebagai berikut (Sutanta, 2004).
1. Perencanaan
2. Analisis
3. Desain/perancangan
4. Implementasi
5. Penggunaan/review/evaluasi
Perencanaan merupakan tahap paling awal yang memberikan pedoman dalam melakukan
langkah selanjutnya. Tahap perencanaan meliputi kegiatan sebagai berikut.
1. Mengenali masalah
2. Menentukan masalah
3. Menentukan tujuan
4. Mengenali kendala
5. Studi kelayakan
6. Laporan kemanajemen
Analisis sistem (systems analysis) merupakan tahap setelah perencanaan sebelum perancangan.
Analisis sistem sangat menentukan keberhasilan pengembangan basis data karena kesalahan
dalam tahap ini mempengaruhi langkah pengembangan selanjutnya. Bagan alir sistem
digambarkan dalam tahap ini sebagai alat komunikasi antara analis sistem dan pemakai, serta
personil yang terlibat didalam tim. Tahap analisis sistem meliputi kegiatan sebagai berikut.
1. Menentukan kebutuhan informasi
2. Menentukan kriteria kinerja sistem
3. Laporan kemanajemen
Tahap setelah analisis sistem adalah perancangan sistem (systems design), yaitu bagaimana
membentuk sistem baru yang diinginkan. Tahap perancangan berupaya menentukan dan
menggambarkan bagaimana suatu sistem akan dapat menyelesaikan suatu permasalahan. Tahap
perancangan sistem merupakan tahap pemasukan ide atau gagasan guna memenuhi tujuan
pengembangan basis data sebagai persiapan untuk rancang bangun implementasi.
Perancangan sistem dapat diartikan sebagai:
1. Tahap setelah analisis sistem;
2. Pendefinisian kebutuhan fungsional;
3. Persiapan untuk rancang bangun implementasi;
4. Menggambarkan bagaimana suatu sistem akan dibentuk;
5. Penggambaran, perencanaan, dan pembuatan sketsa atau pengaturan dari beberapa
elemen yang terpisah kedalam satu kesatuan yang utuh dan berfungsi;
6. Tahap yg menyangkut konfigrasi komponen perangkat lunak & perangkat keras sistem
Implementasi sistem merupakan tahap untuk merealisasikan hasil desain/ perancangan sistem
yang telah dilakukan sebelumnya kedalam bentuk yang sebenarnya. Implementasi sistem
meliputi kegiatan sebagai berikut.
1. Menyiapkan perangkat keras
2. Menyiapkan perangkat lunak
3. Menyiapkan basis data
4. Menyiapkan fasilitas fisik
5. Melatih pemakai
6. Laporan kemanajemen
1. Operasional sistem
2. Evaluasi sistem
3. Memelihara sistem
4. Mempertahankan kinerja sistem
5. Meningkatkan kinerja sistem
6. Laporan kemanajemen
Pendekatan umum yang dapat dilakukan pada analisis kelayakan pengembangan basis data
(perangkat keras/lunak baru atau pengganti) adalah (Sutanta, 2003) sebagai berikut.
Nilai basis data dapat bersifat ekonomis dan non ekonomis. Manfaat ekonomis adalah manfaat
yang menyebabkan perbaikan dalam penghasilan atau memperkecil biaya. Sedangkan manfaat
non ekonomis berhubungan dengan mutu hidup manusia. Manfaat non ekonomis cenderung
lebih sulit diukur karena sangat sulit untuk memperkirakan seberapa besar angka manfaat yang
berhasil diperoleh dari penerapan basis data. Dua pendekatan metode dapat membantu dalam
penghitungan ini, yaitu melalui (Sutanta, 2003):
Dalam kenyataannya, metode biaya kurang dari atau lebih dari angka tertentu yang ditetapkan
mampu memberikan hasil yang lebih baik daripada metode pertama. Hal ini dikarenakan
perkiraan angkanya cenderung lebih akurat. Sedangkan dalam metode pertama cenderung
sembarangan karena setiap individu yang menilai tidak mempunyai dasar yang sama, yaitu
tergantung dari pengalaman masing-masing pada masa lampau.
Analisis biaya/manfaat dari alternatif desain suatu basis data pada umumnya dilakukan atas
dasar suatu kompromi. Kompromi yang dimaksud meliputi pilihan desain yang harus dilakukan
dan ukuran dalam analisis biaya manfaat yang harus disampaikan kepada pimpinan/manajemen
untuk pembuatan keputusan. Beberapa masalah yang berhubungan dengan pemilihan desain
1. Waktu tanggapan
Waktu tanggapan adalah waktu yang diperlukan bagi basis data untuk menanggapi
kebutuhan-kebutuhan informasi bagi para pemakai. Kebutuhan-kebutuhan yang
dimaksud meliputi kebutuhan pengolahan transaksi, peremajaan basis data, dan
pencarian dan penampilan kembali data yang diperlukan.
2. Perincian tampilan
Kompromi dalam perincian tampilan meliputi penyajian berupa:
o Laporan tercetak di kertas atau di layar terminal
o Laporan terperinci atau ringkasan
o Laporan yang memuat analisis mendalam untuk memperoleh perincian atau
laporan teragregasi
3. Mutu data
Pada umumnya pemakai lebih mementingkan mutu data yang disajikan daripada
kuantitasnya. Hal ini sebenarnya cenderung merupakan kompromi saja.
Sebagaimana teknologi lain, teknologi basis data memerlukan biaya mahal dan mempunyai
kelemahan. Organisasi pemakai mungkin mengalami kesulitan jika penyelesaian permasalahan
menggunakan pendekatan basis data. Sekalipun terjadi kecenderungan bahwa harga perangkat
keras teknologi basis data (menggunakan komputer) semakin murah, namun perangkat keras
tambahan masih diperlukan, terutama untuk meningkatkan kinerja sistem. Berbagai biaya
tambahan juga diperlukan karena pemrograman basis data lebih kompleks. Para pemrogram
harus dilatih untuk menggunakan aplikasi dengan baik. Analis sistem harus dilatih agar
menguasai teknik-teknik desain basis data dengan benar. Rancangan sistem yang lengkap harus
disiapkan, basis data dan program-program aplikasi harus dipesan, didesain, atau dikonversi.
Semuanya ini memerlukan biaya yang cukup besar. Namun, tentu saja memberikan manfaat.
Ketika aplikasi dikonversikan ke basis data, biaya mulai menurun karena sebagian besar atau
seluruh data yang diperlukan telah siap dan tersedia dalam basis data. Aplikasi sederhana dapat
diatasi dengan menggunakan bahasa query atau report generator, yang memerlukan waktu jauh
lebih singkat.
LATIHAN
Kerjakan soal soal berikut ini secara lengkap, dan jelas.
1. Carilah sebuah contoh kasus kebutuhan pengolahan data. Buatlah resume yang
menggambarkan adanya permasalahan-permasalahan dan kebutuhan pengembangan
basis data pada contoh kasus yang Saudara berikan.
3. Terkait dengan jawaban soal nomor 1 dan 2, jelaskan kemudahan kemudahan yang akan
diperoleh dengan adanya proyek pengembangan basis data yang Saudara usulkan.