BAB VI Basis Data
BAB VI Basis Data
BAB VI
BASIS DATA
H W Herwanto
A. Materi
Basis data adalah mekanisme yang digunakan untuk menyimpan informasi atau data.
(Stephens dan Plew dalam Widyaningtyas, 2013 ). Basis data dapat juga diartikan sebagai
kumpulan data yang saling terhubung (relasi) dimana data tersebut membentuk suatu
informasi. Relasi antar data ditunjukkan dengan penanda yang disebut dengan key.
Bit
Byte
Record
File
Basis Data
1
Gambar Hirarki Basis Data
Berdasarkan Gambar tersebut dapat dijelaskan hirarkhi basis data sebagai berikut
(Santoso, 2012) :
1. Bit adalah suatu sistem angka biner yang terdiri atas dua macam nilai, yaitu 0 dan 1. Bit
adalah unit terkecil dari pembentuk data.
2. Byte adalah bagian terkecil yang dapat dialamatkan dalam memori. Byte merupakan
sekumpulan bit yang terdiri atas kombinasi delapan bit. Satu byte digunakan untuk
mengkodekan satu karakter dalam memori. Contoh: Kode ASCII untuk A ialah
01000001. Sehingga dapat dikatakan bahwa byte adalah kumpulan bit yang membentuk
satu karakter (huruf, angka, atau tanda). Dengan kombinasi 8 bit, dapat diperoleh 256
karakter (= 2 pangkat 8).
3. Field atau kolom adalah unit terkecil yang disebut data. Field dapat diartikan
sekumpulan byte yang mempunyai makna.
Berdasarkan Gambar 2 Devi yang merupakan field nama. Field dapat disebut juga
sebagai kumpulan karakter yang membentuk suatu kata.
4. Record atau baris adalah kumpulan item yang secara logis saling berhubungan. Setiap
record dapat dikenali oleh tanda pengenal yaitu field kunci. Gambar diatas merupakan
contoh dari record. Record adalah kumpulan kata yang membentuk suatu informasi,
misal gambar diatas memberikan informasi bahwa siswa bernama Devi memiliki NIS
124562 dan bersekolah di SMKN 1 SUMBERPINTAR.
5. File atau tabel adalah kumpulan record yang sejenis dan secara logiS berhubungan.
Pembuatan dan pemeliharaan file adalah faktor yang sangat penting dalam sistem
informasi manajemen yang menggunakan komputer. Sehingga dapat disimpulkan
bahwa tabel adalah kumpulan baris/record yang membentuk satu tabel yang berarti.
2
Contoh file ditunjukkan pada gambar berikut mengenai informasi siswa di sekolah
SMKN 1 SUMBERPINTAR.
6. Database atau basis data merupakan kumpulan file-file yang berhubungan secara logis
dan digunakan secara berkelanjutan pada operasi-operasi sistem informasi manajemen.
Semua database umumnya berisi elemen-elemen data yang disusun ke dalam file-file
yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu, tersimpan di
hardware komputer. Manipulasi data untuk kegunaan tertentu dilakukan dengan
bantuan software. Jadi, database adalah suatu kumpulan tabel yang dipakai dalam
suatu lingkup perusahaan atau instansi untuk tujuan tertentu. Contoh database adalah
database sekolah yang meliputi file-file: siswa, guru, kurikulum, jadwal dan sebagainya.
Model basis data hierarki adalah model basis data yang menyerupai bentuk pohon
dari atas ke bawah. Lapisan paling atas adalah induk bagi lapisan yang berada di bawahnya
yang disebut anak. Struktur pohon mewakili model hierarki pada penyimpanan komputer.
Lapisan
anak/ bawah
3
hanya boleh memiliki satu lapisan induk yang ditunjukkan pada Gambar .
Model hierarki juga memiliki kekurangan dalam implementasinya. Kekurangan dari model
ini, adalah :
Implementasi sangat rumit
Pengelolaan yang sukar
Terjadi redudancy data
4
Model jaringan juga memiliki kelemahan mengenai beberapa hal. Kelemahan tersebut,
yaitu :
Modifikasi struktur basis data sulit dilakukan
Sistem lebih rumit
Perubahan struktur basis data yang telah terdefinisi akan berpengaruh
terhadap program yang mengakses basis data
Berikut merupakan gambaran dari model jaringan yang ditunjukkan pada Gambar berikut
5
Kelebihan model relasional , yaitu :
Data sangat cepat diakses
Mudah melakukan perubahan terhadap struktur basis data
Data dipresentasikan secara logis
Mudah dalam mengimplementasikan integritas data
Data lebih akurat
Sudah menggunakan structure query language (SQL)
Kekurangan dari model ini, yaitu :
Pada tabel yang berbeda harus dilakukan joined untuk retrieve data
Pengguna harus memahami struktur dan prinsip kerja SQL
Pengguna harus memahami relasi antar tabel
6
Gambar model basis data berorientasi objek (Darmawiguna, 2014)
7
b. Ikatan (Binding)
Binding adalah ukuran fleksibilitas untuk pencapaian perancangan basisdata yang
efisien dan optimal . Ukuran tersebut meliputi, struktur file, model basis data, skema,
relasi, pemanggilan informasi, serta perawatan data dan integritas basis data.
c. Dokumentasi
Dokumentasi dalam pengembangan basis data berupa model basis data. Model ini
menentukan proses yang dibutuhkan untuk pembentukan file, perawatan file dan
pemanggilan informasi.
d. Pemrograman
Tahap akhir setelah perancangan basis data adalah implementasi dalam bentuk
coding program
8
• Coding dan pengujian unit-unit program
• Konversi data
• Pembuatan dokumen prosedur
• Pelatihan pemakai
• Pengujian menyeluruh
4.ENTITAS
Entitas memiliki peranan penting dalam sistem basis data. Entitas adalah sesuatu yang
dapat digambarkan oleh data. Menurut Mulyanto(2008), Entitas adalah individu yang
mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain.
Dapat berupa suatu elemen dari suatu lingkungan, suatu sumber daya atau sebuah transaksi
yang memiliki arti penting bagi suatu model yang akan dibangun.
1.Jenis-Jenis Entitas
Terdapat himpunan entitas yang tidak memiliki atribut-atribut pembentuk kunci utama.
Himpunan entitas tersebut disebut himpunan entitas lemah (weak entity set). Selain itu juga
terdapat himpunan entitas yang mempunyai kunci utama. Himpunan ini disebut himpunan
kuat (strong entity set). Entitas dikategorikan ada 2 jenis :
1. Entitas kuat, yaitu entitas yang keberadaanya tdk tergantung entitas lain.
9
2. Entitas lemah, yaitu entitas yang bergantung oleh keberadaan entitas lain.
Agar himpunan entitas lemah berarti, himpunan entitas lemah harus diasosiasikan
dengan entitas yang kuat atau disebut sebagai himpunan entitas pemilik. Setiap himpunan
entitas lemah bergantung keberadaannya (existence dependent) pada himpunan entitas
yang mengidentifikasi.
Contoh:
• Entitas Transaksi bergantung adanya entitas Rekening.
• Entitas Pekerjaan (task) bergantung adanya Proyek.
Entitas yang berdiri sendiri dapat mempunyai satu identifier unik yang mengidentifikasi
entitas-entitas itu. Identifier dari entitas yang bergantung selalu berupa identifier majemuk
(composite identifier) dimana salah satu bagian identifier adalah identifier induknya.
Kunci utama himpunan entitas lemah dibentuk dari kunci utama himpunan entitas
pengidentifikasi ditambah diskriminator (discriminator) himpunan entitas lemah.
Diskriminator (discriminator) himpunan entitas lemah adalah himpunan yang memberikan
tanda pembedaan terhadap entitas-entitas di himpunan entitas lemah itu. diskriminator
(discriminator) himpunan entitas lemah juga disebut kunci parsial himpunan entitas.
10
Nilai dari suatu attribute yang memiliki lebih dari satu nilai (multivalue) dari atrribute
terkait.
Contoh : dari sebuah buku, yaitu terdapat beberapa pengarang.
• Atribut Composite
Atribut composite adalah atribut yang tersusun dari beberapa atribut yang lebih kecil
dan mempunyai arti tertentu. Atribut ini dapat dipecah lagi atau memiliki sub attribute.
Contoh : dari entitas nama yaitu nama depan, nama tengah, dan nama belakang
• Atribut Derivatif
Atribut yang tidak harus disimpan pada basis data atau atribut yang dihasilkan dari
atribut lain maupun dari suatu relasi, contohnya Total. Atribut ini dilambangkan dengan
bentuk oval yang bergaris putus-putus
• Atribut Harus Bernilai (mandatory attribute)
Atribut harus bernilai adalah atribut yang harus memiliki nilai, sehingga dapat dikatakan
tidak boleh bernilai kosong.
Contoh : no_identitas dan nama_customer harus ada nilainya dalam tabel customer.
• Atribut Nilai Null ( non-mandatory attribute )
Atribut nilai null adalah atribut yang nilainya boleh kosong (tidak memiliki nilai). Dapat
digunakan untuk menyatakan/mengisi atribut-atribut yang nilainya memang belum siap
atau nilainya tidak ada. Nilai null tidak sama dengan spasi.
• Atribut Turunan
Atribut turunan adalah atribut-atribut yang nilai-nilainya berasal dari pengolahan atau
diturunkan dari atribut tabel lain yang berhubungan. Atribut ini dapat ditiadakan dari
sebuah tabel, karena nilainya bergantung pada nilai yang ada di atribut lain.
11
primary key operasi query berlangsung lebih cepat. Satu tabel tidak boleh memiliki lebih
dari satu primary key. Hal ini dikarenakan primary key merupakan variabel data yang
menjadi identitas utama dari tabel tersebut. Contoh penerapan primary ditunjukkan pada
gambar berikut :
12
no induk
No ktp
Nama
Tempat lahir
Tanggal lahir
Alamat
Kota
No induk dan no ktp adalah Candidate Key dan untuk kunci utama (primary key)
adalah salah satu yang dipilih dari candidat key. Misalnya salah satu yang dipilih
menjadi primary key adalah No. Induk, maka primary key nya adalah no induk.
13
2. One To Many
One to Many adalah suatu entitas didalam himpunan entitas A
dihubungkan lebih dari satu entitas didalam himpunan entitas B,dan entitas
didalam himpunan entitas B hanya dapat dihubungkan dengan paling banyak
satu entitas dalam himpunan entitas A. Gambar berikut menunjukkan one to
many.
14
b.Bentuk Kardinalitas (Derajat Relasi)
Kardinalitas menjelaskan batasan jumlah keterhubungan satu Entitas dengan
Entitas lainnya. Kardinalitas juga menunjukkan jumlah maksimum entitas yang dapat
berelasi dengan entitas pada himpunan entitas yang lain. Kardinalitas merujuk
kepada hubungan maksimum yang terjadi dari himpunan entitas yang satu ke
himpunan entitas yang lain begitu juga sebaliknya. Contoh relasi satu - satu
ditunjukkan pada Gambar berikut.
Penjelasan dari gambar di atas adalah entitas suami hanya memiliki relasi 1
terhadap entitas istri. Jika digambarkan dalam bentuk tabel, maka tabelnya adalah
sebagai berikut:
Tabel suami, untuk merepsentasikan entitas suami ditunjukkan pada Gambar
berikut.
15
c.Menentukan Kardinalitas (Derajat Relasi) Pada Hubungan Antar Entitas
Terdapat beberapa analisa dalam menentukan kardinalitas antar entitas.
Berikut contoh dalam menentukan kardinalitas:
1. Misalkan menentukan kardinalitas pada sistem penilaian belajar yang di
dalamnya terdapat entitas siswa dan matapelajaran. Kita bisa menggunakan
pertanyaan:
• Bolehkah siswa mengambil pelajaran tertentu?
• Matapelajaran manakah yang boleh di ambil atau tidak diambil?
• Adakah kuota jumlah siswa pada mata pelajaran tertentu?
Tentu pertanyaan-pertanyaan tersebut mempunyai jawaban yang
berbeda-beda baik di masing-masing sekolah maupun dimasing-masing
universitas.
2. Jika aturan sekolah mempunyai aturan sebagai berikut :
• Suatu matapelajaran harus diajarkan minimal 1 pengajar dan maximal
banyak pengajar
• Seorang pengajar tidak boleh mengajar lebih dari satu pelajaran.
Maka hubungan kardinalitas entitasnya sebagai berikut:
One to many, karena 1 entitas matapelajaran bisa di ajarkan minimum 1
guru dan maximum n entitas guru, namun sebaliknya 1 entitas guru
minimum bisa mengajar 1 entitas matapelajaran dan maximum hanya 1
matapelajaran.
3. Entitas dengan derajat kardinalitas 1 adalah entitas lemah sehingga entitas
tersebut boleh digabung saja dengan entitas yang kuat (derajat kardinalitas
M).
Misalkan kalimat bolak-balik berikut ini :
“Satu mahasiswa memiliki satu kelas”
“Satu kelas memiliki lebih dari satu (banyak) mahasiswa”
16
Kata (entitas) “KELAS” selalu disebut dengan kata “satu”, sedangkan kata
(entitas) “MAHASISWA” pernah disebut dengan lebih dari satu (banyak).
Maka, di file MAHASISWA boleh berisi atribut KELAS, dan KELAS tidak perlu
menjadi file sendiri.
Gabungan/ kombinasi ketiga bentuk di atas, misalkan many to many to many.
Tapi, di sini tidak akan dibahas secara lebih lanjut. Contoh ditunjukkan pada
gambar berikut :
DNS
DOSEN
Penggambaran ER dari kasus di atas (lanjutan dari DFD) dilakukan dengan cara :
(1) Data Store (penyimpan data) yang ada di DFD akan menjadi Entitas di dalam ERD;
(2) Tentukan atribut-atribut (secara logika) yang harus ada di dalam setiap
entitasnya;
(2) Tentukan serajat kardinalitasnya sesuai dengan peraturan yang berlaku di rental
tersebut (dalam hal ini, setiap Penyewa boleh menyewa film lebih dari satu);
(3) Tentukan kunci atribut di setiap entitasnya. Contoh ditunjukkan pada Gambar
berikut.
17
Jalan No_Rmh
Tgl_Pinj
RT/RW
Nama Alamat Jml_Dend Kd_Film
Kota Kd_Pos Tgl_kemb
Jud_Film
M N
No_Ang PENYEWA PINJAM FILM
Kd_Film
Jml_film Stock
Kota No_Ang Jns_Film
Jml_byr Hrg_sewa
No_Kwit
1 M
PENYEWA PINJAM FILM
Kalimat kedua : “satu (judul) film boleh dipinjam oleh satu atau lebih
penyewa”
18
1 M
PENYEWA PINJAM FILM
M 1
6. ERD
19
Gambar Contoh ERD
20
Komponen – komponen lebih lengkap mengenai ERD ditunjukkan pada gambar
berikut sebagai berikut.
21
Gambar Contoh Penerapan ERD
Umumnya urutan metodologi ERD dapat dijelaskan secara singkat pada tabel berikut
:
1. Penentuan entitas Menentukan peran, kejadian, lokasi, dan
konsep bagaimana menggunakan
penyimpanan data
2. Penentuan relasi Menentukan hubungan antar-pasangan
entitas dengan matriks relasi
24
• Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel
tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai
memenuhi bentuk yang optimal.
Tahapan Normalisasi menurut Setiawan (2015) antara lain:
1. Bentuk Tidak Normal
Bentuk ini iyalah kumpulan data yang akan direkam, tidak ada
keharusan mengikukti format tertentu, bisa saja data tidak lengkap atau
terduplikasi (rangkap). Contoh pada Tabel berikut yaitu Pelanggan Biaya
sebagai berikut:
No_pela Nomor Alamat Nama_p
Nama Tgl_pinjam Tgl_selesai Biaya No_pemilik
nggan property property emilik
Jakarta
Jakarta
ddin Jakarta
Jakarta
Jakarta
25
(No_Property, Alamat_Property,Tgl_Pinjam, Tgl_Selesai, Biaya, No_Pemilik,
Nama_Pemilik).
Ciri-cirinya adalah Setiap data di bentuk dalam flat file dan Tidak ada set
atribut yang berulang –ulang. Membentuk sebuah tabel menjadi Un-Normalized,
dengan mencantumkan data yang ada pada semua field. Membentuk Normal
Pertama (1 Normal First) dengan flat table yang memisahkan data pada field-field
yang tepat bernilai atomik, dan yang melengkapi atribut/ field yg ada.
Syarat normal ke satu (1-NF) antara lain:
• Pada setiap data dibentuk dalam sebuah flat file, data dibentuk dalam satu
demi satu record, nilai dari field itu berupa “atomic value”.
• Tidak ada set atribute yang berulang(duplikat).
• Ditentukannya primary key untuk tabel / relasi.
• Tiap atribut hanya memiliki satu pengertian.
Langkah pertama yang dilakukan pada Tabel Pelanggan Biaya (pada Tabel
1) tersebut adalah menghilangkan elemen data yang berulang dengan data-data
Pelanggan yang sesuai pada setiap baris. Hasil dari tabel yang telah memenuhi
bentuk normal pertama dapat dilihat pada Tabel 2. kita dapat mengidentifikasi
primary key untuk relasi Pelanggan_Biaya yang masih memiliki composite key
(No_Pelanggan, No_Property).
Pada kasus ini kita akan memperoleh primary key yang bersifat composite
key. Relasi Pelanggan_Biaya dapat didefinisikan sebagai berikut. Pelanggan_Biaya
=(No_Pelanggan, No_Property, Nama, Alamat_Property, Tgl_Pinjam, Tgl_Selesai,
Biaya,No_Pemilik, Nama_Pemilik). Berikut ditunjukkan pada gambar berikut.
26
CR76 Badi PG4 Jl.Aai/07, 1-Jul-93 31-Aug-95 350 CO40 Ewin
Jakarta
CR56 Siraju PG36 Jl. Azhar /49, 10-Oct-93 1-Dec-94 375 CO93 Durki
ddin Jakarta
CR56 Siraju PG4 Jl. Huzai/12, 1sEP-95 10-Jun-93 350 CO40 Ewin
ddin Jakarta
Bentuk normal kedua ini iyalah didasarinya atas konsep full functional
dependency(ketergantungan fungsional sepenuhnya) yang dapat didefinisikan.
Syarat normal kedua (2-NF) sebagai berikut.
• Bentuk data ini telah dapat memenuhi kriteria bentuk normal yang
pertama.
• Atribute bukan Primary key (bukan kunci utama) haruslah memiliki
ketergantungan fully functional dependency (fungsional sepenuhnya) pada
primary key.
Adapun kita bisa melakukan Bentuk normal kedua (2NF) jika :
1. Harus telah berbentuk normal pertama (1NF).
2. Pada sebuah tabel semua atribut yang tidak termasuk dalam primary key
memiliki ketergantungan fungsional pada primary key secara utuh. Suatu
atribut dikatakan ketergantungan fungsional jika harga pada atribut
tersebut menentukan harga dari atribut yang lain.
No_pelanggan Nomor property Tgl_pinjam Tgl_selesai
27
CR76 PG16 1-Sep-95 1-Sep-96
Nomor Alamat
No_pelanggan Nama Biaya No_pemilik Nama_pemilik
property property
Jakarta
Huzai/12,
Jakarta
ddin Jakarta
ddin /49,
Jakarta
ddin Huzai/12,
Jakarta
28
Walaupun relasi 2-NF memiliki redudansi yang lebih sedikit dari relasi
1-NF, namun relasi tersebut masih mendapat kemungkinan mengalami kendala
bila terjadi anomaly peremajaan (update) terhadap relasi tersebut.
Syarat normal ketiga (Third Normal Form / 3 NF) sebagai berikut:
• Bentuk data ini telah dapat memenuhi kriteria bentuk normal yang kedua.
• Atribute bukan primary key harus tidak memiliki ketergantungan pada
transitif, artinya suatu atribut bukan primary key itu tidak boleh memiliki
ketergantungan fungsional (functional dependency) pada atribut yang
bukan Primary key lain, seluruh atribut bukan primary key pada suatu
relasi hanya memiliki ketergantungan fungsional terhadap primary key
yang di relasikan saja.
Berikut contoh penerapan 3NF :
No_pelangga Nomor Alamat Nama_pemili
Nama Biaya No_pemilik
n property property k
Jakarta
Jakarta
ddin Jakarta
ddin Jakarta
ddin Jakarta
No_pemilik Nama_pemilik
CO40 Ewin
CO93 Durki
29
Gambar contoh bentuk tabel N3
Database adalah sebuah media utama yang harus dibuat dalam membangun
sebuah basis data agar nantinya dapat kita letakkan beberapa tabel dengan
field-fieldnya. Perintah yang digunakan untuk menciptakan database pada MySQL
dengan Syntax berikut :
CREATE DATABASE nama_database;
30
Pada contoh tersebut dibuat database dengan nama us_states untuk melihat
database yang ada pada MySQL dapat menggunakan Syntaks berikut :
SHOW DATABASES;
Contoh:
Setelahnya kita ciptakan tabel. Tabel adalah obyek utama yang harus ada
pada sebuah basis data karenadi dalamnya semua data akan disimpan. Tabel
terletak padasebuah database, sehingga pembuatan tabel dilakukan setelah
31
sebuah data asetelah dibuat. Dalam tabel terdapat baris dan kolom. Baris
diistilahkan dengan recordset dan kolom dengan field.
Untuk membuat sebuah tabel atau lebih, database harus diaktifkan dulu
karena tabel akan dimasukkan ke dalam database yang akan diaktifkan. Syntaks
untuk mengaktifkan Database adalah:
USE nama_database;
Contoh :
MySQL> use pendaftaran;
Database changed
Setelah masuk ke dalam database anda dapat membuat sebuah tabel atau lebih.
Untuk membuat tabel dapat menggunakan syntaks di bawah ini:
CREATE TABLE nama_tabel ( field-1 type(length), field-2 type(length),
field-3 type(length), …… ….(….));
Contoh:
MySQL> create tabledata_diri (
-> no int(3),
-> nama varchar(35),
-> alamat varchar(60),
-> email varchar(40),
-> no_telepon varchar(15),
-> sex char(1));
32
Query OK,0 rows affected (0.08 sec)
B.Sumber :
Materi dalam sumber belajar ini disusun/ dirujuk/ diadaptasi/ disalin/ disarikan dari :
1. http://lib.mdp.ac.id/ebook/Karya%20Umum/Diktat_Sistem_Basis_Data.pdf
2. http://www.slideshare.net/edysmartnow/arsitektur-model-basis-data : Bahan
Ajar Arsitektur dan Model Basis Data. Universitas Pendidikan Ganesha. Oleh
Darmawiguna, I Gede Mahendra.
3. http://power.lecture.ub.ac.id/files/2015/03/Modul-Basis-Data-I-2-Model-Data.p
df. : Modul Database Model Data. Universitas Brawijaya.
4. http://eprints.dinus.ac.id/6320/1/c-2-SBD.pdf. : Sistem Basis Data. Oleh: Salam,
Abu.
5. http://pbsabn.lecture.ub.ac.id/2012/05/hierarki-data-data-hierarchy/: Hierarki
Data. Oleh Santoso, Purnomo Budi.
6. Widyaningtyas, Triyanna. 2013. Materi Pengantar Basis Data. Universitas Negeri
Malang
7. Mulyanto. 2008. Rekayasa Perangkat Lunak. Kemdikbud
8. Widyaningtyas, Triyanna. 2012. Bahan Ajar Basis Data Relasional. Universitas
Negeri Malang
33
9. http://www.infokah.com/cara-membuat-erd-tahapan-dan-studi-kasus/ : Cara
Membuat ERD Tahapan dan Studi Kasus.
10. http://ruherdi.blogspot.co.id/2013/06/kardinalitas-dalam-erd.html: Kardinalitas
Dalam ERD.
11. https://www.academia.edu/5734373/Dfd_erd_kardinalitas_normalisasi_.DOC?a
uto=download: Behavior Models, Specifying User’s Expectations, Oleh Kowal,
James
12. http://www.gurupendidikan.com/pengertian-basis-data-dan-normalisasi-lengka
p: Pengertian Basis Data dan Normalisasi Lengkap. Diakses pada 13 Juli 2016.
Oleh: Setiawan Parta.
34