Penulis
ii | M o d u l K u l i a h B a s i s D a t a
I. IDENTITAS
iii | M o d u l K u l i a h B a s i s D a t a
II. PENDAHULUAN
kuliah ini dibahas secara mendetail tentang bagaimana cara membuat sebuah
Kemuhammadiyahan.
Data
iv | M o d u l K u l i a h B a s i s D a t a
4. Mahasiswa memahami konsep Flowchart dan menggunakan Flowchart
dengan benar.
Islam Kemuhammadiyahan.
penelitian.
A. Kegiatan Pembelajaran 1
1) Pengantar Kuliah Basis Data
3) Materi Prmbelajaran
Keterangan :
DSS : Decission Support Systems
MIS : Management Information Systems
TPS : Transaction Processing Systems
DBMS : Database Management Systems
DBS : Database Systems
4) Evaluasi .
Jelaskan dengan bahasamu sendiri, apa perbedaan Data dan Informasi?
Dan apa kaitannya dengan basis data?
3) Materi Pembelajaran
Basis data adalah kumpulan file-file yang mempunyai kaitan antara satu
file dengan file lain sehingga membentuk suatu bangunan data untuk
menginformasikan suatu perusahaan atau instansi dalam batasan tertentu.
Basis Data terdiri dari 2 kata, yaitu Basis dan Data. Basis dapat diartikan
sebagai markas atau gudang dimana tempat bersarang/berkumpul.
Sedangkan Data adalah represntasi fakta dunia nyata yang mewakili suatu
objek seperti manusia (pegawai, siswa, pembeli, pelanggan), barang,
hewan, peristiwa, konsep, keadaan, dan sebagainya, yang direkam dalam
bentuk angka, huruf, simbol, teks, gambar, bunyi, atau kombinasisnya.
MAHASISWA
NPM Nama Mahasiswa Jurusan No Tlp
MATAKULIAH
NPM Kode Matakuliah Semester Tahun Nilai
01000 ST-003 Genap 2019 A
01001 ST-003 Genap 2019 A
01002 AT-80 Ganjil 2017 C
02003 BG-88 Ganjil 2019 B
01004 MW-88 Ganjil 2018 A
DOSEN
Kode Dosen Nama Dosen Np telp
FSH Lia 0822
MT Putri 7216
ASA Firman 5757
HTG Ali 0812
LTB Asnur 6327
10 | M o d u l K u l i a h B a s i s D a t a
Konvensi Penamaan
Nama tabel ditulis dengan huruf besar semua, misalnya MAHASISWA – Nama
kolom ditulis dengan huruf awal huruf besar, dan jika diperlukan lebih dari 1 kata
maka huruf awal kata berikutnya dimulai dengan huruf besar. Misalnya
KodeDosen, NamaDosen, Nilai.
MAHASISWA
NPM Nama Mahasiswa Jurusan No Tlp
01000 Adzkiya Sistem Informasi 0812
11 | M o d u l K u l i a h B a s i s D a t a
01001 Shezan Sistem Informasi 6327
01002 Athafa Mate-matika 5757
02003 Bunga Manajemen 9144
01004 Mawar Hukum 0822
12 | M o d u l K u l i a h B a s i s D a t a
Suatu determinant disebut unik jika dan hanya jika menentukan setiap
kolom lain dalam suatu relasi. Suatu determinan dapat disebut sebagai
composite determinant jika determinant dari suatu ketergantungan fungsional
terdiri dari lebih dari satu atribut.
Contoh: (NPM, KodeMatakuliah) (Nilai)
• Candidate key
Key adalah kombinasi dari satu atau lebih kolom yang digunakan untuk
mengidentifikasi baris-baris dalam suatu relasi. Candidate Key adalah key yang
menentukan semua kolom lain dalam suatu relasi.
Pada tabel MATAKULIAH, NamaMatkul adalah Candidate Key.
• Composite key adalah key yang terdiri dari dua atau lebih kolom.
• Primary keyAdalah candidat key yang dipilih sebagai primary key
sebagai sarana untuk mengidentifikasi baris-baris dalam sebuah relasi.
Dalam satu tabel hanya ada satu primary key.
Primary key dapat berupa composite key.
Primary key yang ideal biasanya pendek, berupa angka, dan
tidak pernah berubah.
• Surrogate key adalah kolom yang ditambahkan pada suatu tabel untuk
bertindak sebagai primary key. DBMS akan membuat nilai kolom tersebut
unik secara otomatis pada saat baris data pada tabel tersebut dibuat.
Contoh:
• Foreign key adalah kolom atau komposite kolom dimana kolom tersebut
merupakan primary key pada tabel lain (yang menjadi referensi). Contoh:
DOSEN(KodeDosen, NamaDosen, NoTelpon) MATAKULIAH(KodeMatKul,
NamaMatKul, KodeDosen)
• Referential integrity constraint Adalah penyataan yang membatasi nilai-
nilai foreign key ke nilai-nilai yang sudah ada sebagai primary key pada
relasi yang berhubungan.
Kode Matkul Nama Matkul Kode Dosen
ST-003 Bahasa Pemograman FSH
ST-003 ALgoritma MT
13 | M o d u l K u l i a h B a s i s D a t a
AT-80 Matriks ASA
BG-88 Prinsip Manajemen HTG
MW-88 Pengenalan Hukum Perdata LTB
Normal form Tabel-tabel pada basis data harus memenuhi aturan normalisasi,
yaitu bebas dari ketergantungan struktural atau anomali yang disebabkan oleh
modifikasi data. Anomali ini disebut modification anomalies.
Modification Anomalies terdiri dari:
o Deletion anomaly Misalkan kita menghapus data dengan RepairNumber
2100. Data yang terhapus bukan hanya data tentang repair, tetapi data
tentang mesin juga akan terhapus (informasi tentang mesin Lathe dengan
AcuisitionPrice 4750 akan hilang). Dari kasus di atas, ketika kita
menghapus satu baris pada tabel tersebut, kita akan kehilangan 2 fakta
sekaligus (machine dan repair) karena struktur tabel tersebut memaksa
demikian. Kondisi tersebut dinamakan deletion anomaly.
o Insertion anomaly Pada tabel EQUIPMENT_REPAIR, misalkan kita ingin
memasukan data repair. Untuk memasukan data tersebut selain
diperlukan:
Data Repair, yaitu: RepairNumber, RepairDate, dan RepairAmount.
data Machine, yaitu: ItemNumber, Type, dan AcquisitionCost.
Artinya ketika kita hanya perlu memasukan data tentang satu entity
(repair), kita diharuskan memasukan data tentang entity lain
(machine) karena kondisi struktur tabelnya mengharuskan
demikian. Kondisi ini dinamakan insertion anomaly
14 | M o d u l K u l i a h B a s i s D a t a
Update anomaly. Pada tabel EQUIPMENT_REPAIR, misalkan kita akan
mengubah data (update). Misalkan kita akan mengubah data baris terakhir
menjadi: Terlihat bahwa “Drill Press” memiliki dua nilai AcquisitionCost yang
berbeda. Sehingga terjadi data inconsistency. Kondisi demikian dinamakan
update anomaly Bentuk normal terdiri dari: 1NF, 2NF, 3NF, BCNF, dan DK/NF
(akan dipelajari lebih lanjut pada pertemuan berikutnya).
15 | M o d u l K u l i a h B a s i s D a t a
Firefox) Web server yang sering digunakan: IIS atau Apache
Dikembangkan dengan PHP, Java, Microsoft .Net – Reporting
Application
Perangkat lunak basis data yang banyak digunakan dalam pemrograman dan
merupakan perangkat basis data aras tinggi (high level):
Microsoft SQL Server
Oracle
Sybase
Interbase
XBase
16 | M o d u l K u l i a h B a s i s D a t a
Firebird
MySQL
PostgreSQL
Microsoft Access
dBase III
Paradox
FoxPro
Visual FoxPro
Arago
Force
Recital
dbFast
dbXL
Quicksilver
Clipper
FlagShip
Harbour
Visual dBase
Lotus Smart Suite Approach
db2
MongoDB
Selain perangkat lunak di atas, terdapat juga perangkat lunak pemrograman
basis data aras rendah (low level), diantaranya:
Btrieve
Tsunami Record Manager
17 | M o d u l K u l i a h B a s i s D a t a
System Engineer Tenaga ahli yang bertanggung jawab atas pemasangan Sistem
Basis Data, dan juga mengadakan peningkatan dan melaporkan kesalahan dari
sistem tersebut kepada pihak penjual
Database Administrator (DBA) Tenaga ahli yang mempunyai tugas untuk
mengontrol sistem basis data secara keseluruhan, meramalkan kebutuhan akan
sistem basis data, merencanakannya dan Ada beberapa jenis (tipe) pemakai
terhadap suatu sistem basis data yang dapat dibedakan berdasarkan cara
mereka berinteraksi terhadap sistem :
1. Programmer aplikasi Pemakai yang berinteraksi dengan basis data melalui
Data Manipulation Language (DML), yang disertakan (embedded) dalam
program yang ditulis pada bahasa pemrograman induk (seperti C, pascal,
cobol, dll)
2. Pemakai Mahir (Casual User) Pemakai yang berinteraksi dengan sistem
tanpa menulis modul program. Mereka menyatakan query (untuk akses
data) dengan bahasa query yang telah disediakan oleh suatu DBMS
3. Pemakai Umum (End User / Naïve User) Pemakai yang berinteraksi
dengan sistem basis data melalui pemanggilan satu program aplikasi
permanen (executable program) yang telah ditulis (disediakan)
sebelumnya.
4. Pemakai Khusus (Specialized/Sophisticated User) Pemakai yang menulis
aplikasi basis data non konvensional, tetapi untuk keperluankeperluan
khusus seperti aplikasi AI, Sistem Pakar, Pengolahan Citra, dll, yang bias
saja mengakses basis data dengan atau tanpa DBMS yang bersangkutan.
Contoh penggunaan Aplikasi basis data dalam dunia bisnis
4) Evaluasi .
Jelaskan dengan singkat, konsep dari basis data?
18 | M o d u l K u l i a h B a s i s D a t a
C. Kegiatan Pembelajaran 3
1) Lingkungan Basis Data
2) Tujuan Materi Pembelajaran
a. Agar mahasiswa mengerti dan memahami lingkup basis data
b. Mahasiswa mampu menjelaskan perbedaan 3 arsitektur level basis
data
c. Mahasiswa mampu mengidentifikasi komponen perangkat lunak
DBMS
d. Mahasiswa mengetahui kamus-kamus basis data dan model-model
data.
3) Materi Pembelajaran
19 | M o d u l K u l i a h B a s i s D a t a
3. Indexed Sequential
Merupakan salah satu cara yang efektif untuk mengorganisasi
kumpulan record-record yang membutuhkan akses record
secara sequential maupun secara individu berdasarkan nilai key.
Contoh : Mencari arti kata dalam kamus.
4. Multi – Key
Merupakan organisasi yang dapat mempunyai sebuah file yang
di akses dengan banyak cara. Contoh : Sistem perbankan yang
memiliki banyak pemakai.
1. Bit adalah suatu sistem angka biner yang terdiri atas dua macam nilai
saja, yaitu 0 dan 1. Sistem angka biner merupakan dasar dasar yang
dapat digunakan untuk komunikasi antara manusia dan mesin (komputer)
yang merupakan sekumpulan komponen elektronik dan hanya dapat
membedakan dua keadaan saja (on dan off). Jadi bit adalah unit terkecil
dari pembentuk data.
2. Byte adalah bagian terkecil yang dapat dialamatkan dalam
memori. Byte merupakan sekumpulan bit yang secara konvensional terdiri
atas kombinasi delapan bit. Satu byte digunakan untuk mengkodekan satu
buah karakter dalam memori. Contoh: Kode Ascii untuk J ialah 10101010.
Jadi 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 merupakan
sekumpulan byte yang mempunyai makna. Contoh: Joni yang merupakan
field nama. Jadi field ibarat kumpulan karakter yang membentuk suatu
kata.
4. Record atau baris adalah kumpulan item yang secara logic saling
berhubungan. Setiap record dapat dikenali oleh sesuatu yang
20 | M o d u l K u l i a h B a s i s D a t a
mengenalinya, yaitu field kunci. Gambar 1 merupakan contoh dari record.
Jadi record ibarat kumpulan kata yang membentuk satu kalimat yang
berarti, misal gambar 1 mewakili kalimat: Joni memenmpuh mata kuliah
MIS (kode IS101) dengan nilai A.
5. File atau tabel adalah kumpulan record yang sejenis dan secara logic
berhubungan. Pembuatan dan pemeliharaan file adalah faktor yang
sangat penting dalam sistem informasi manajemen yang memakai
komputer. Jadi tabel ibarat kumpulan baris/record yang membentuk satu
tabel yang berarti, misal gambar 2 mewakili tabel nilai mata kuliah MIS.
21 | M o d u l K u l i a h B a s i s D a t a
Gambar 3. Contoh Database Kepegawaian
22 | M o d u l K u l i a h B a s i s D a t a
3 Level Basis Data
Level pandang akan berbicara mengenai bagaimana basis data digunakan. Level
pandang yang baik mempunyai kualifikasi sebagai berikut:
Program yangdipakai harus bersifat user-friendly
Penggunaan data base harus mempunyai tutorial yang tertulis, sehingga
jelas bagaimana cara mengolah data base yang baik.
23 | M o d u l K u l i a h B a s i s D a t a
Panduan juga harus dapat bersifat online/terintregasi dengan program
pengolah basis datanya.
Gambar 6 Hierarkis
Jaringan
Tiap anak bisa memiliki lebih dari satu orang tua.
Gambar 7 Jaringan
24 | M o d u l K u l i a h B a s i s D a t a
Relasional
Menggunakan model berupa tabel berdimensi dua (yang disebut relasi atau
tabel), memakai kunci tamu (foreign key) sebagai penghubung dengan tabel lain.
25 | M o d u l K u l i a h B a s i s D a t a
Perangkat Lunak dari DBMS
Fungsi DBMS
Penyimpanan Data, Retrieval, dan Update.
Sebuah User-diakses Katalog.
Dukungan transaksi.
Layanan Kontrol konkurensi.
Recovery Services.
Layanan otorisasi.
Dukungan untuk Komunikasi Data.
Layanan integritas.
Layanan untuk Mempromosikan data Kemerdekaan.
Utilitas Jasa.
26 | M o d u l K u l i a h B a s i s D a t a
Bahasa DBMS
Semua DBMS paling tidak mempunyai dua macam perintah yang
digunakan untuk mengelola dan mengorganisasikan data, yaitu :
27 | M o d u l K u l i a h B a s i s D a t a
dan analis sistem mempunyai pengertian yang sama tentang input, output, dan
komponen data strore.
kamus data pertama berbasis kamus dokumen tersimpan dalam suatu bentuk hard
copy dengan mencatat semua penjelasan data dalam bentuk yang dicetak. Walau
sejumlah kamus berbasis dokumen masih ada, praktik yang umum saat ini ialah
mempergunakan kamus data yang berbasis komputer. Pada kamus data berbasis
komputer, penjelasan data dimasukkan ke dalam komputer dengan memakai Data
Description Language (DDL) dari sistem manajemen database, sistem kamus atau
peralatan CASE Kamus data tidak perlu dihubungkan dengan diagram arus data dan
formulir-formulir kamus data dirancang untuk mendukung diagram arus data.
Kamus data ini sangat membantu analis sistem dalam mendefinisikan data yang
mengalir di dalam sistem, sehingga pendefinisian data itu dapat dilakukan
28 | M o d u l K u l i a h B a s i s D a t a
dengan lengkap dan terstruktur. Pembentukan kamus data dilaksanakan dalam
tahap analisis dan perancangan suatu sistem.
Elemen-Elemen Data
Kamus data harus mencerminkan keterangan yang jelas tentang data yang akan
direkam. Untuk keperluan tujuan ini, kamus data harus memuat:
Nama Arus Data
Karena kamus data didasarkan pada aliran data di DFD, maka nama
dari arus data juga harus dicatat di KD.
Alias
Alias atau nama lain dari data dapat ditulis jika ada nama lain. Alias
perlu ditulis karena data yang sama memiliki nama yang berbeda untuk
orang atau departemen satu dengan yang lain. Misalnya, penjualan
faktur dan bagian pembuat berlangganan sebut sebagai bukti faktur,
sedangkan persediaan gudang menyebutnya salinan permintaan.
Kedua faktur dan meminta salinan persediaan ini memiliki struktur data
yang sama, namun memiliki struktur yang berbeda.
Bentuk Data
Bentuk data, telah diketahui bahwa aliran data dapat mengalir :
1. Dari luar kesatuan proses, aliran data biasanya disimpan dalam
dokumen atau bentuk.
2. Hasil dari proses persatuan ke luar, aliran data biasanya terdapat
dalam laporan media atau query tampilan layar atau cetakan
dokumen;
3. Hasil dari proses ke proses lain, aliran data biasanya dalam bentuk
variabel atau parameter yang diperlukan oleh penerima;
4. Hasil dari proses yang dicatat untuk penyimpanan data, aliran data
biasanya dalam bentuk variabel.
5. Dari menyimpan data dibaca oleh suatu proses, aliran data
biasanya dalam bentuk bidang (item data).
29 | M o d u l K u l i a h B a s i s D a t a
Dengan demikian bentuk arus data yang dapat berupa : dokumen dasar
atau formulir, dokumen, cetakan komputer, laporan tercetak, tampilan di
layar, variabel, parameter, bidang.
Data Flow
Aliran data menunjukkan dari mana arus data dan mana data akan
menuju. Informasi ini harus dicatat di KD sehingga Anda dapat dengan
mudah mencari arus data di DAD.
Penjelasan
Untuk lebih memperjelas lagi tentang makna dari arus data yang
dicatat di KD, maka penjelasan dapat diisi dengan deskripsi dari aliran
data. Sebagai contoh, nama aliran data Salinan Permintaan
Persediaan, dapat digambarkan sebagai salinan faktur penjualan untuk
meminta barang gudang.
Periode
periode ini menunjukkan ketika aliran data ini. Periode harus dicatat di
KD karena dapat digunakan untuk mengidentifikasi ketika input data
harus dimasukkan ke dalam sistem, ketika proses program harus
dilakukan dan kapan laporan-laporan harus dihasilkan.
Volume
Volume perlu dicatat di KD adalah tentang volume rata-rata dan
volume puncak aliran daa. Rata-rata volume menunjukkan jumlah rata-
rata aliran data dalam jangka waktu tertentu dan volume puncak
menunjukkan volume tertinggi. Volume ini digunakan untuk
mengidentifikasi besarnya penyimpanan eksternal yang akan
digunakan, kapasitas dan jumlah perangkat input, perangkat
pengolahan dan perangkat output.
Struktur Data
Struktur data menunjukkan aliran data yang tercatat di KD terdiri dari
data item-item.
30 | M o d u l K u l i a h B a s i s D a t a
Simbol-Simbol Kamus Data
No Simbol Uraian
2 + Dan
Menunjukkan salah satu dari dua situasi tertentu. Satu elemen bisa ada
6 ** Komentar
31 | M o d u l K u l i a h B a s i s D a t a
8 | Pemisah sejumlah alternatif pilihan antara simbol [ ]
32 | M o d u l K u l i a h B a s i s D a t a
MODEL DATA
Secara umum Model data yaitu suatu cara untuk menjelaskan bagaimana
pemakai dapat melihat data secara logik, maksudnya pemakai atau user
bisa mengetahui dan membaca data secara pasti, dengan model data
pemakai atau user bisa mengerti apa sebenarnya isi data tersebut.
Schemantic Diagram
Relasi antar objek dinyatakan dengan kata-kata
(semantic). Contoh :
33 | M o d u l K u l i a h B a s i s D a t a
Model Data Berbasis Record”
Model ini mendasarkan pada record untuk menjelaskan kepada user
tentang hubungan logik antar data dalam basis data
Model data berbasis record dibagi menjadi 3, yaitu:
1. Relational Model
Menjelaskan tentang hubungan logik antar data dalam basis data dengan
memvisualisasikan dalam bentu tabel-tabel yang terdiri dari sejumlah baris
dan kolom yang menunjukkan atribut tertentu.Contoh :
Keterangan :
- Jumlah Kolom disebut degree, ada 2
- Baris disebut atribut, ada 3
34 | M o d u l K u l i a h B a s i s D a t a
- Tiap baris disebut record / tuple, ada 3 record
- Banyaknya baris dalam satu tabel disebut cardinality
2. Hirarchycal Model (Tree structure)
Menjelaskan tentang hubungan logik antar data dalam basis data
dalam bentuk hubungan bertingkat (hirarki) Elemen penyusunnya
disebut node, yang berupa rinci data, agregat data, atau record.
Contoh :
35 | M o d u l K u l i a h B a s i s D a t a
Model data berbasis fisik
Merupakan model data yang digunakan untuk menjelaskan kepada
pemakai bagaimana data-data tersebut disimpan dan dimasukan dalam
media penyimpanan secara fisik, yang lebih berorientasi pada mesin
Ada 2 model, yaitu:
1. Unifying Model
2. Frame Memory
36 | M o d u l K u l i a h B a s i s D a t a
D. Kegiatan Pembelajaran 4
1) Model Rational Basis Data
2) Tujuan Materi Pembelajaran
a. Mahasiswa mampu menjelaskan struktur data relational
b. Mahasiswa memahami mengidentifikasikan komponenperangkat
lunak dari DBMS dan menjelaskan fungsinya
3) Materi Pembelajaran
Model Relasional
Model relasional merupakan model yang paling sederhana sehingga mudah
digunakan dan dipahami oleh pengguna, serta yang paling populer saat ini.
Model ini menggunakan sekumpulan tabel berdimensi dua (yang disebut
relasi atau tabel), dengan masing-masing relasi tersusun atas tupel atau baris
dan atribut. Relasi dirangcang dengan menggunakan kunci tamu untuk
berhubungan dengan relasi lain.
37 | M o d u l K u l i a h B a s i s D a t a
data yang sering kita gunakan. Itulah sebabnya, model ini lebih mudah kita
terapkan ketimbang model basis data yang lain.
Pada model relasional, jumlah tupel suatu relasi disebut kardinalitas dan
jumlah atribut suatu relasi disebut derajat (degree)atau terkadang
disebut arity. Relasi yang berderajat satu (hanya memiliki satu atribut)
disebut unary. Relasi yang berderajat dua disebut binary dan relasi yang
berderajat tiga disebut ternary. Relasi yang berderajat n disebut n-ary.
Ada beberapa sifat yang melekat pada suatu relasi:
1. Tak ada tupel (baris) data yang kembar
2. Urutan tuple tidaklah penting (tupel-tupel dapat dipandang dalam
sembarang urutan)
3. Setiap atribut memiliki nama yang unik
4. Letak atribut bebas ( urutan atribut tidak penting)
5. Setiap atribut memiliki nilai tunggal dan jenisnnya sama untuk semua
tupel
Sebagaimana dikatakan didepan, tupel-tupel yang terdapat pada suatu
relasi tidak ada yang kembar. Sesungguhnya bagian yang
menyebabkan tidak adannya tupel yang kembar adalah yang disebut
kunci primer. Kunci primer adalah kunci kandidat yang dipilih sebagai
kunci utama untuk mengidentifikasi baris dalam tabel. Sebagai contoh
pada relasi yang terlihat pada gambar 1.
38 | M o d u l K u l i a h B a s i s D a t a
Gambar 1relasi, recors ,attribut, kolom dan berbagai istilah lain
Penjelasan :
No Nama Keterangan
4 Domain Kumpulan nilai yang valid untuk satu atau lebih atribut
39 | M o d u l K u l i a h B a s i s D a t a
Karakteristik Tabel
1. Pengurutan record dalam suatu tabel
Tabel didefinisikan sebagai satu set Record
Record dalam suatu Tabel tdk mempunyai urutan tertentu
2. Pengurutan Nilai dalam suatu Record
Suatu n-record mrp ordered-list (suatu list terurut) dari n nilai;
sehingga urutan-urutan nilai dalam suatu record menjadi pentin
3. Nilai-nilai dalam Record
Setiap nilai dalam suatu Record merupakan satu nilai yang utuh (tidak dapat
dipecah menjadi komponen-komponen yang lebih kecil dalam kontek model
Tabel) Composite dan multivalued attribute tdk diperbolehkan dalam model
relasional.
attribute2 multivalued harus dipisahkan menjadi Tabel2 yang terpisah
attribute2 composite harus disajikan oleh simple attributes yang
membentuknya
4. Struktur table
Terdiri atas bagian heading dan body
Bagian heading sebagai himpunan attribute
Bagian body sebagai himpunan tuple (record), dengan tiap tuplenya
adalan himpunan
Pasangan attribut (field) dan nilainnya
Nilai setiap attribut diambil dari domain tertentu
Setiap tuple diidentifikasikan unik oleh primary key
40 | M o d u l K u l i a h B a s i s D a t a
2. CANDIDATE KEY : relasi mungkin mempunyai lebih dari satu key. Masing-
masing disebut CANDIDATE KEY.
3. PRIMARY KEY (PK) : CANDIDATE KEY yang digunakan untuk
mengidentifikasikan tuple yang unik pada suatu relasi. Berdasarkan contoh
sebelumnya, maka PRIMARY KEY-nya adalah nim.
4. FOREIGN KEY (FK) : suatu schema relasi dapat memiliki atribut
yang menunjuk ke PRIMARY KEY dari relasi lain. Atribut ini disebut
FOREIGN KEY.
41 | M o d u l K u l i a h B a s i s D a t a
2. Proses pencarian informasinya lebih lambat. Hal ini disebabkan beberapa
tabel tidak dihubungkan secara fisik (seperti pada model hirarkhi atau
jaringan).dalam manipulasi data menggunakan beberapa tabel akan
memerlukan waktu yang lama , karena tabel-tabel haus dihubungkan
terlebih dahulu.
StudiKasus
Untuk mengilustrasikan model data relasional secara lebih nyata , berikut kita
ambil sebuah contoh basis data sederhana yang berkaitan dengan
pendidikan(akademik). Basis data ini terdiri atas tiga (3) buah tabel yaitu.
Mahasiswa, Mata Kuliah, dan Nilai.
Berikut adalah contoh data yang akan kita gunakan pada penggunaan model
data atau database model relasional.
1. Model Perancangan Database relasional table
42 | M o d u l K u l i a h B a s i s D a t a
2. Desain fisik table
Mahasiswa
Nim Nama Alamat
Nim Int 8
Nama Char 30
Alamat Char 20
Tabel 2 bentuk fisik struktur tabel mahasiswa
43 | M o d u l K u l i a h B a s i s D a t a
Mata Kuliah
Kd_matakul Mata_kul Sks
Kd_matakul Char 5
Mata_kul Char 30
Sks Numeric 1
Tabel 4 bentuk fisik struktur tabel mahasiswa
44 | M o d u l K u l i a h B a s i s D a t a
Nilai
10296832 KK021 60 75 B
10296126 KD132 70 90 B
31296500 KK021 55 40 B
41296525 KU122 90 80 C
21196353 KU122 75 75 A
50095487 KD132 80 0 B
10296832 KD132 40 30 C
Tabel 5 bentuk fisik tabel nilai
Nim Int 8
Kd_matakul Char 5
45 | M o d u l K u l i a h B a s i s D a t a
Uas Numeric 1
Uts Numeric 1
Nil_akhir Numeric 1
Tabel 6 bentuk fisik struktur tabel nilai
b. Kalkulus Relasional
Bahas query non-prosedural, pemakai menspesifikasikan data
apa yang dibutuhkan tanpa menspesifikasikan bagaimana untuk
menapatkannya. Terbagi 2:
1. Kalkulus Relasional Tupel
2. Kalkulus Relasional Domain
2. Bahasa Komersial
Bahasa query yang dirancang sendiri oleh programmer menjadi suatu
program aplikasi agar pemakai lebih mudah menggunakannya (user
friendly). Contohnya:
QUEL Berbasis pada bahasa kalkulus relational
QBE Berbasis pada bahasa kalkulus relational
SQLBerbasis pada bahasa kalkulus relational dan aljabar
relational
46 | M o d u l K u l i a h B a s i s D a t a
4) Evaluasi
1. Tentukan Relation Key pada diagram dibawah ini
47 | M o d u l K u l i a h B a s i s D a t a
Jawaban
1. Relation Key :
Entitas Account
Candidat Key : Account_number, balance
Primary Key : account_number
Alternate Key : balance
Foreign Key : –
Entitas Branch
Candidat Key : branch-name, branch-city, assets
Primary Key : branch-name
Alternate Key : branch-city, assets
Entitas Customer
Candidat Key : customer-name, customer-street, customer-city
Primary Key : customer-name
Alternate Key : customer-street, customer-city
Entitas Loan
Candidat Key : loan-number, amount
Primary Key : loan-number
Alternate Key : amount
2.
48 | M o d u l K u l i a h B a s i s D a t a
49 | M o d u l K u l i a h B a s i s D a t a
50 | M o d u l K u l i a h B a s i s D a t a
51 | M o d u l K u l i a h B a s i s D a t a
E. Kegiatan Pembelajaran 5
1) Structured Query Language (SQL)
3) Materi Pembelajaran
52 | M o d u l K u l i a h B a s i s D a t a
dalam dunia IT SQL yang sering digunakan mereferensikan pada SQL92.
Meski begitu, sampai sekarang pun sebenarnya tidak ada sebuah server
berbasis data yang menggunakan maupun mendukung SQL99. Ini lebih
tergantung pada dialek masing-masing server yang digunakan.
53 | M o d u l K u l i a h B a s i s D a t a
Pada contoh perintah di atas memiliki arti bahwa akan di buat suatu table baru
bernama Buku_Perpus yang memiliki kolom entitas seperti id yang di beri
primary key atau tidak bisa sama dengan data lainya, di sana akan di buat
juga kolom Kode_buku dengan tipe data varchar yang memiliki kapasitas
tampung sebanyak 20 karakter dan dapat di kosongkan dengan mencatumkan
kode NULL, Selain itu ada juga Judul_buku yang bertipe data Varchar dengan
kapasitas tampung 225 karakter dan tidak boleh kosong dengan kode NOT
NULL. Terakhir ada tanggal_terbit dengan tipe data DATE dan boleh di
kosongkan dengan kode NULL.
54 | M o d u l K u l i a h B a s i s D a t a
o Perintah update: Ini dapat kamu gunakan ketika ingin
melakukan pembaruan data di sebuah tabel. Contohnya saja
jika ada kesalahan ketika memasukkan sebuah record. Kamu
tidak perlu menghapusnya dan bisa diperbaiki menggunakan
perintah ini.
o Perintah Delete: Perintah DML ini dapat digunakan ketika kamu
ingin menghapus sebuah record yang ada dalam sebuah tabel.
55 | M o d u l K u l i a h B a s i s D a t a
Terakhir ada baris kode yang berfungsi untuk menambahkan data, di sana
terdapat fungsi INSERT INOT Buku, yang artinya data akan di masukan ke
dalam table Buku yang di ikuti dengan nama-nama kolomnya secara urut.
Kemudia di ikuti Values dengan isi data sesuai urutan nama kolomnya,
terakhir di tutup dengan tanda petik dua pada setiap perintah SQL.
56 | M o d u l K u l i a h B a s i s D a t a
perintah, yaitu mengurangi uang nasabah A, dan menambah
uang nasabah B. Namun jika terjadi kesalahan sistem, kedua
transaksi ini harus dibatalkan. Tidak bisa hanya satu perintah
saja. Termasuk ke dalam TCL adalah perintah : COMMIT,
ROLLCABK, dan SET TRANSACTION.
Programmatic SQL berkaitan dengan sub program (stored
procedure) maupun penjelasan mengenai struktur database.
Contoh perintah seperti : DECLARE, EXPLAIN, PREPARE, dan
DESCRIBE.
Fungsi SQL
SQL juga bisa digunakan untuk menghapus sebuah data pada database. Fungsi
lainnya adalah untuk membuat sebuah prosedur baru dan ini akan tersimpan
dalam sebuah database. Selain itu juga bisa mengatur hak akses dalam tabel,
prosedur, maupun hal-hal penting lainnya.
57 | M o d u l K u l i a h B a s i s D a t a
F. Kegiatan Pembelajaran 6
Normalisasi
2) Materi Pembelajaran
Normalisasi ( normalize)
Normalisasi merupakan salah satu cara pendekatan atau teknik yang
digunakan dalam membangun desain logic database relation dengan
menerapakan sejumlah aturan dan kriteria standard.
Tujuan dari normalisasi adalah untuk menghasilakan struktur tabel
yang normal atau baik.
Teknik normalisasi adalah upaya agar desain logik tabel-tabel berada
dalam bentuk normal(normal form) yang dapat didefinisikan dengan
menggunakan ketergantungan fungsi (functional dependency).
Aturan-aturan normalisasi dinyatakan dalam istilah bentuk normal.
Bentuk normal adalah suatu aturan yang dikenakan pada relasi-
relasi atau tabel-tabel dalam database dan harus dipenuhi oleh
relasi atau tabel tersebut pada level-level normalisasi. Suatu
relasi dikatakan dalam bentuk normal tertentu jika memenuhi
kondisi tertentu juga.
Proses Normalisasi ‰ Data diuraikan dalam bentuk tabel,
selanjutnya dianalisis berdasarkan persyaratan tertentu ke
beberapa tingkat. ‰ Apabila tabel yang diuji belum memenuhi
persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi
beberapa tabel yang lebih sederhana sampai memenuhi bentuk
yang optimal
58 | M o d u l K u l i a h B a s i s D a t a
Beberapa bentuk normalisasi diantaranya adalah bentuk tidak normal
(unnormalize), bentuk normal pertama (1NF), bentuk normal kedua
(2NF), normal ketiga (3NF), dan seterusnya.
Contoh:
Normal pertama (1 NF), suatu relasi atau tabel memenuhi normal pertama jika
dan hanya jika setiap setiap atribut dari relasi tersebut hanya memiliki nilai
tunggal dalam satu baris (record).
Tiap field hanya satu pengertian, bukan merupakan kumpulan kata yang
mempunyai arti ganda dan tidak ada set atribut yang berulang-ulang atau atribut
bernilai ganda.
59 | M o d u l K u l i a h B a s i s D a t a
Pada data tabel sebelumnya data belum normal sehingga harus diubah kedalam
bentuk normal pertama dengan cara membuat baris berisi kolom jumlah yang
sama dan setiap kolom hanya mengandung satu nilai.
Berikut perubahannya:
Bentuk normalisasi pertama (1 NF) ini mempunyai ciri yaitu setiap data dibentuk
file datar atau rata (flat file), data dibentuk dalam satu record demi satu record
dan nilai-nilai dari field-field berupa nilai yang tidak dapat dibagi-bagi lagi.
Normalisasi kedua (2 NF), suatu relasi memenuhi relasi kedua jika dan hanya jika
relasi tersebut memenuhi normal pertama dan setiap atribut yang bukan kunci
(non key) bergantung secara fungsional terhadap kunci utama (Primary key).
60 | M o d u l K u l i a h B a s i s D a t a
Berikut perubahannya:
Bentuk normal kedua ini mempunyai syarat yaitu bentuk data yang telah
memenuhi kriteria bentuk normal pertama.
Atribut bukan kunci haruslah bergantung secara fungsional pada kunci utama
(primary key), sehingga untuk membentuk normal kedua haruslah sudah
ditentukan kunci-kunci field.
61 | M o d u l K u l i a h B a s i s D a t a
Berikut perubahannya:
Bentuk normal ketiga (3 NF) ini relasi haruslah dalam bentuk normal kedua dan semua
atribut bukan kunci utama tidak punya hubungan transitif. Artinya setiap atribut bukan
kunci harus bergantung hanya pada primary key secara keseluruhan, dan bentuk
normalisasi ketiga sudah didapat tabel yang optimal.
62 | M o d u l K u l i a h B a s i s D a t a
G. Kegiatan Pembelajaran 7
Model Data Entity Relationship Diagram
1) Tujuan Materi Pembelajaran
a. Mahasiswa memahami konsep dari ERD
b. Mahasiswa mampu membuat pemodelan data dengan diagram
ERD
2) Materi Pembelajaran
MODEL DATA
PENGERTIAN MODEL DATA
Sekumpulankonsep-konsep untuk menerangkan data, hubungan-hubungan
antara data dan batasanbatasan data yang terintegrasi di dalam suatu
organisasi.
JENIS-JENIS MODEL DATA
1. Model data berbasis objek
Model data berbasis objek menggunakan konsep entitas, atribut dan
hubungan antar entitas. Terdiri dari :
Entity Relationship model (E-R MODEL)
Model untuk menjelaskan hubungan antar data dalam basis
data berdasarkan suatu persepsi bahwa real word terdiri dari
objek-object dasar yang mempunyai hubungan atau relasi
antara objek-objek tersebut.
E-R MODEL berisi ketentuan /aturan khusus yang harus
dipenuhi oleh isi database. Aturan terpenting adalah
MAPPING CARDINALITIES, yang menentukan jumlah
entity yang dapat dikaitkan dengan entity lainnya melalui
relationship-set.
BINARY MODEL
Pemetaan data dengan menggunakan 0 dan 1, atau true dan
false dengan kondisi tertentu atau hanya dalam alternatif.
63 | M o d u l K u l i a h B a s i s D a t a
2. Model data Konseptual
Model yang dibuat berdasarkan anggapan bahwa dunia nyata terdiri
dari koleksi obyek-obyek dasar yang dinamakan entitas (entity) serta
hubungan (relationship) antara entitas-entitas itu. Biasanya
direpresentasikan dalam bentuk Entity Relationship Diagram.
Manfaat Penggunaan CDM dalam perancangan database :
Memberikan gambaran yang lengkap dari struktur basis data
yaitu arti, hubungan, dan batasan batasan .
Alat komunikasi antar pemakai basis data, designer, dan analis.
5. Model Hirarki
Dimana data serta hubungan antar data direpresentasikan dengan
record dan link (pointer), dimana record-record tersebut disusun
64 | M o d u l K u l i a h B a s i s D a t a
dalam bentuk tree (pohon), dan masing-masing node pada tree
tersebut merupakan record/grup data elemen dan memiliki hubungan
cardinalitas 1:1 dan 1:M.
BASIS DATA
65 | M o d u l K u l i a h B a s i s D a t a
Entity Relationship Diagram (ERD) untuk mendokumentasikan data
perusahaan dengan mengidentifikasi jenis entitas (entity) dan
hubungannya.
ERD merupakan suatu model jaringan yang menggunakan susunan
data yang disimpan pada sistem secara abstrak.
ERD juga menggambarkan hubungan antara satu entitas yang memiliki
sejumlah atribut dengan entitas yang lain dalam suatu sistem yang
terintegrasi.
ERD digunakan oleh perancang sistem untuk memodelkan data yang
nantinya akan dikembangkan menjadi database.
Model data ini juga akan membantu pada saat melakukan analisis dan
perancangan database, karena model data ini akan menunjukkan
bermacam-macam data yang dibutuhkan dan hubungan antar data.
ERD ini juga merupakan model konseptual yang dapat
mendeskripsikan hubungan antara file yang digunakan untuk
memodelkan struktur data serta hubungan antar data
66 | M o d u l K u l i a h B a s i s D a t a
Selain dari simbol diatas, sebenarnya ada simbol lain lagi yaitu entitas
asosiatif, atribut derivat, dan lainnya. Akan tetapi secara garis besar ERD
terdiri dari atas tiga komponen, yaitu entitas (entity), atribut (attribute), dan
relasi atau hubungan (relation). Entitas merupakan dasar yang terlibat
dalam sistem. Atribut atau field berperan sebagai penjelas dari entitas, dan
relasi atau hubungan yang terjadi antara dua entitas..
Komponen penyusun ERD:
1. Entitas
Kumpulan objek yang dapat diidentifikasikan secara unik atau saling
berbeda. Simbol dari entitas biasanya digambarkan dengan persegi panjang.
Selain itu, ada juga “Entitas Lemah” yang dilambangkan dengan gambar persegi
panjang kecil di dalam persegi panjang yang lebih besar. Disebut entitas lemah
karena harus berhubungan langsung dengan entitas lain sebab dia tidak dapat
teridentifikasi secara unik.
2. Atribut
Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi
untuk mendeskripsikan karakteristik dari entitas tersebut. Atribut kunci merupakan
67 | M o d u l K u l i a h B a s i s D a t a
hal pembeda atribut dengan entitas. Gambar atribut diwakili oleh simbol elips dan
terbagi menjadi beberapa jenis:
1. Atribut kunci (key): atribut yang digunakan untuk menentukan entitas
secara unik. Contoh: NPWP, NIM (Nomor Induk Mahasiswa).
2. Atribut simpel: atribut bernilai tunggal yang tidak dapat dipecah lagi
(atomic). Contoh: Alamat, tahun terbit buku, nama penerbit.
3. Atribut multinilai (multivalue): atribut yang memiliki sekelompok nilai
untuk setiap entitas instan. Contoh: nama beberapa pengarang dari
sebuah buku pelajaran.
4. Atribut gabungan (composite): atribut yang terdiri dari beberapa
atribut yang lebih kecil dengan arti tertentu. Contoh: nama lengkap
yang terbagi menjadi nama depan, tengah, dan belakang.
5. Atribut derivatif: atribut yang dihasilkan dari atribut lain dan tidak
wajib ditulis dalam diagram ER. Contoh: usia, kelas, selisih harga.
68 | M o d u l K u l i a h B a s i s D a t a
3. RELASI (relation)
Relasi atau hubungan adalah kejadian atau transaksi yang terjadi di antara dua
entitas yang keterangannya perlu disimpan dalam database.
Aturan penggambaran relasi antar entitas adalah:
Relasi dinyatakan dengan simbol belah ketupat.
Nama relasi dituliskan di dalam simbol belah ketupat.
Relasi menghubungkan dua entitas.
Nama relasi menggunakan kata kerja aktif (diawali awalan me) tunggal.
Nama relasi sebisa mungkin menggunakan nama yang mudah dipahami
dan dapat menyatakan maknanya dengan jelas.
VARIAN RELASI
#1 Relasi Binery
Relasi binary merupakan relasi yang terjadi antara 2 himpunan
entitas yang berbeda. Relasi ini merupakan relasi yang umum digunakan.
Relasi antara mahasiswa mengambil matakuliah yang menunjukkan binery
relation.
69 | M o d u l K u l i a h B a s i s D a t a
#2 Relasi Unary
Relasi Unary merupakan variasi relasi yang terjadi dari sebuah
himpunan entitas ke himpunan entitas yang sama, dan unary sering
disebut dengan relasi tunggal. Relasi antara dosen dan mendampingi
yang menunjukkan unary relation.
#3 Relasi N-ary
Relasi N-ary merupakan relasi dari 3 entitas atau lebih. Relasi ini
untuk menghubungkan dari tiga entitas yang dimasukan ke relasi multi
entitas. N-ary relation menunjukkan secara lebih jelas bahwa bahwa
beberapa entitas berpartisipasi dalam sebuah relasi tunggal.
Bentuk relasi semacam ini sebisa mungkin dihindari karena akan
mengaburkan derajat relasi yang ada dan akan menyebabkan
perencanaan database semakin kompleks.
70 | M o d u l K u l i a h B a s i s D a t a
4. Garis
Garis yang menghubungkan antar atribut untuk menunjukkan hubungan
entitas pada diagram ER.
71 | M o d u l K u l i a h B a s i s D a t a
beberapa di antaranya malah memiliki relasi yang banyak, tapi itu tidak
masalah, tetap lanjutkan ERD-mu.
Setelah diagrammu sudah penuh, pastikan kembali hal-hal yang tadinya kamu
ragukan, apakah entitas dan atribut yang belum mempunyai hubungan memang perlu
ditulis? Jika tidak, kamu bisa menghapus atau mengubah nama entitas tersebut. Berikut
ini ada beberapa tips agar ERD-mu efektif dan mudah dipahami:
72 | M o d u l K u l i a h B a s i s D a t a
73 | M o d u l K u l i a h B a s i s D a t a
A. Kegiatan Pembelajaran 8
Kamus Data
2) Materi Pembelajaran
74 | M o d u l K u l i a h B a s i s D a t a
tidak perlu dihubungkan dengan diagram arus data dan formulir-formulir kamus
data dirancang untuk mendukung diagram arus data.
Elemen-Elemen Data
Kamus data harus mencerminkan keterangan yang jelas tentang
data yang akan direkam. Untuk keperluan tujuan ini, kamus data
harus memuat:
Nama Arus Data
Karena kamus data didasarkan pada aliran data di DFD, maka
nama dari arus data juga harus dicatat di KD.
Alias
Alias atau nama lain dari data dapat ditulis jika ada nama lain.
Alias perlu ditulis karena data yang sama memiliki nama yang
berbeda untuk orang atau departemen satu dengan yang lain.
Misalnya, penjualan faktur dan bagian pembuat berlangganan
sebut sebagai bukti faktur, sedangkan persediaan gudang
menyebutnya salinan permintaan. Kedua faktur dan meminta
75 | M o d u l K u l i a h B a s i s D a t a
salinan persediaan ini memiliki struktur data yang sama, namun
memiliki struktur yang berbeda.
Bentuk Data
Bentuk data, telah diketahui bahwa aliran data dapat mengalir :
1. Dari luar kesatuan proses, aliran data biasanya
disimpan dalam dokumen atau bentuk.
2. Hasil dari proses persatuan ke luar, aliran data
biasanya terdapat dalam laporan media atau query
tampilan layar atau cetakan dokumen;
3. Hasil dari proses ke proses lain, aliran data biasanya
dalam bentuk variabel atau parameter yang diperlukan
oleh penerima;
4. Hasil dari proses yang dicatat untuk penyimpanan
data, aliran data biasanya dalam bentuk variabel.
5. Dari menyimpan data dibaca oleh suatu proses, aliran
data biasanya dalam bentuk bidang (item data).
Dengan demikian bentuk arus data yang dapat berupa :
dokumen dasar atau formulir, dokumen, cetakan komputer, laporan
tercetak, tampilan di layar, variabel, parameter, bidang.
Data Flow
Aliran data menunjukkan dari mana arus data dan mana data
akan menuju. Informasi ini harus dicatat di KD sehingga Anda
dapat dengan mudah mencari arus data di DAD.
Penjelasan
Untuk lebih memperjelas lagi tentang makna dari arus data yang
dicatat di KD, maka penjelasan dapat diisi dengan deskripsi dari
aliran data. Sebagai contoh, nama aliran data Salinan
Permintaan Persediaan, dapat digambarkan sebagai salinan
faktur penjualan untuk meminta barang gudang.
76 | M o d u l K u l i a h B a s i s D a t a
Periode
periode ini menunjukkan ketika aliran data ini. Periode harus
dicatat di KD karena dapat digunakan untuk mengidentifikasi
ketika input data harus dimasukkan ke dalam sistem, ketika
proses program harus dilakukan dan kapan laporan-laporan
harus dihasilkan.
Volume
Volume perlu dicatat di KD adalah tentang volume rata-rata dan
volume puncak aliran daa. Rata-rata volume menunjukkan
jumlah rata-rata aliran data dalam jangka waktu tertentu dan
volume puncak menunjukkan volume tertinggi. Volume ini
digunakan untuk mengidentifikasi besarnya penyimpanan
eksternal yang akan digunakan, kapasitas dan jumlah perangkat
input, perangkat pengolahan dan perangkat output.
Struktur Data
Struktur data menunjukkan aliran data yang tercatat di KD terdiri
dari data item-item.
77 | M o d u l K u l i a h B a s i s D a t a
Simbol-Simbol Kamus Data
No Simbol Uraian
2 + Dan
Menunjukkan salah satu dari dua situasi tertentu. Satu elemen bisa
ada
sedangkan elemen lainnya juga ada, tetapi tidak bisa kedua-duanya
5 []
ada seara bersamaan. Elemen-elemen yang ada di dalam tanda
kurung ini saling terpisah satu sama lain. (dengan kata lain, memilih
salah satu dari sejumlah alternatif, seleksi)
6 ** Komentar
78 | M o d u l K u l i a h B a s i s D a t a
Cara Pemakaian Simbol Kamus Data
Contoh-contoh dari pemakaian simbol-simbol di atas, adala
Contoh 1:
Tembusan Permintan Persediaan =
Kode Langganan +
Nama Langganan +
Tanggal Penjualan +
Nomor Faktur +
1{ Informasi Barang }5 +
Total Penjualan +
( Potongan Penjualan) +
Pajak Penjualan +
Total Dibayar +
Jenis Penjualan
Informasi Barang =
Kode Barang +
Nama Barang +
Unit Jual +
Harga Satuan +
Total Harga
Jenis Penjualan = [ Cash | Credit ]
Contoh 2:
Dua diagram alir data di bawah ini dan masukan-masukan kamus data yang
berhubungan untuk memproduksi pembayaran cek pegawai.
79 | M o d u l K u l i a h B a s i s D a t a
Struktur Data:
Record Pegawai =
Nomor Pegawai +
Informasi Pribadi +
Informasi Gaji +
Informasi Pembayaran Saat Ini +
Informasi Gaji Tahunan Sampai Hari Ini
Record File Waktu =
Nomor Pegawai +
Nama Pegawai +
Jam Kerja
Pembayaran Cek Gaji =
Nomor Pegawai +
Nama Pegawai +
Alamat +
Jumlah Pembayaran Saat Ini +
Jumlah Gaji Tahunan Sampai Saat Ini
80 | M o d u l K u l i a h B a s i s D a t a
Informasi Gaji =
Perhitungan Pembayaran +
Jumlah Tanggungan
Jumlah Pembayaran Saat Ini =
Gaji Kotor +
Potongan Pajak Pemerintah +
Potongan Pajak Negara Bagian +
Potongan Pajak Jaminan Sosial +
Gaji Bersih
Contoh 3:
Nama = gelar+nama_pertama+nama_tengah+nama_akhir
Gelar = [Tuan|Nyonya|Nona|Doktor|Profesor]
Nama_pertama = karakter_valid
Nama_tengah = karakter_valid
Nama_akhir = karakter_valid
Karakter_vald = [A-Z|a-z|0-9|’|-| ]
Paket ISDOS
Sebagai paket program kamus data
Contoh :
81 | M o d u l K u l i a h B a s i s D a t a
1. Analisis Sistem Informasi Halaman 9 dari 13
2. KAMUS DATA
3. ISFOD
83 | M o d u l K u l i a h B a s i s D a t a
H. Kegiatan Pembelajaran 9 dan 10
Entity Relationship Diagram
2) Materi Pembelajaran
Tipe Entity
Entity adalah obyek yang dapat dibedakan dengan yang lain dalam
dunia nyata. Entity dapat berupa obyek secara fisik seperti orang,
84 | M o d u l K u l i a h B a s i s D a t a
rumah, atau kendaraan. Entity dapat pula berupa obyek secara
konsep seperti pekerjaan , perusahaan, dan sebagainya.
Tipe entity merupakan sekumpulan obyek dalam dunia nyata yang
mempunyai properti yang sama atau berasal dari entity yang sejenis.
Terdapat dua tipe Entity, Entity Kuat dan Entity Lemah. Entity kuat
adalah entity yang keberadaanya tidak tergantung pada entity lain,
misalkan tipe entity pegawai atau cabang. Sedangkan Entity Lemah
keberadaanya tergantung pada entity lain, misalkan tipe entity
tanggungan, dimana keberadaannya tergantung dari pegawai . Entity
disajikan dalam bentuk persegi panjang, entity kuat disajikan dengan
perseg panjang dengan satu garis, sedangkan entity lemah disajikan
dengan persegi panjang dobel .
ATRIBUT
Atribut adalah karakteristik dari entity atau relationship, yang menyediakan
penjelasan detail tentang entity atau relationship tersebut. Nilai Atribut merupakan
suatu data aktual atau informasi yang disimpan pada suatu atribut di dalam suatu
entity atau relationship. Atribut digambarkan dalam bentuk oval.
Jenis-jenis atribut :
Key
Atribut yang digunakan untuk menentukan suatu entity secara unik.
Atribut Simple
Atribut yang bernilai tunggal.
Atribut Multivalue
Atribut yang memiliki sekelompok nilai untuk setiap instan entity.
85 | M o d u l K u l i a h B a s i s D a t a
Atribut Composite
Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang
mempunyai arti tertentu.
Atribut Derivatif
Suatu atribut yang dihasilkan dari atribut yang lain.
86 | M o d u l K u l i a h B a s i s D a t a
Relationship
Relationship adalah hubungan yang terjadi antara satu atau lebih entity.
Relationship set adalah kumpulan relationship yang sejenis.
87 | M o d u l K u l i a h B a s i s D a t a
Cardinality Ratio Constraint
Cardinality ratio contraint merupakan menjelaskan batasan jumlah
keterhubungan satu entity dengan entity lainnya. Terdapat tiga Jenis
cardinality ratio contraints, satu pada satu (1:1), satu pada banyak
(1:N/ N:1) dan banyak pada banyak (M:N).
88 | M o d u l K u l i a h B a s i s D a t a
89 | M o d u l K u l i a h B a s i s D a t a
Participation Constraint
Participation constraint merupakan batasan yang menjelaskan apakah
keberadaan suatu entity tergantung pada hubungannya dengan entity lain
Terdapat 2 macam participation constraint , total participation contraints
dan partial participation constraints
Total participant constraints
Keberadaan suatu entity tergantung pada hubungannya dengan entity
lain.
Partial Participation
Keberadaan suatu entity tidak tergantung pada hubungannya dengan
entity lain.
Weak entity
Weak Entity adalah suatu Entity dimana keberadaan dari entity
tersebut tergantung dari keberadaan entity lain. Entity yang merupakan
induknya disebut Identifying Owner dan relationshipnya disebut
Identifying Relationship. Weak Entity selalu mempunyai Total
Participation constraint dengan Identifying Owner.
90 | M o d u l K u l i a h B a s i s D a t a
91 | M o d u l K u l i a h B a s i s D a t a
Transformasi dari ERD ke Database Relasional
1. Setiap tipe Entity dibuat suatu relasi yang memuat semua atribut
simple, sedangkan untuk atribut composite hanya dimuat komponen-
komponennya saja.
92 | M o d u l K u l i a h B a s i s D a t a
4. Setiap Unary Relationship M:N, buatlah relasi baru dimana primary
keynya merupakan gabungan dari dua atribut dimana keduanya
menunjuk ke primary key relasi awal dengan penamaan yang
berbeda.
93 | M o d u l K u l i a h B a s i s D a t a
7. Setiap Binary Relationship 1:1, dimana kedua Participation
Constraintnya partial, maka selain kedua relasi perlu dibuat relasi
baru yang berisi Primary Key gabungan dari Primary Key kedua
tipe Entity yang berelasi.
94 | M o d u l K u l i a h B a s i s D a t a
9. Setiap Binary Relationship 1 : N, dimana tipe Entity yang
bersisi N mempunyai Participation Constraint partial, buatlah relasi
baru dimana Primary Keynya merupakan gabungan dari Primary
Key kedua tipe Entity yang berelasi.
10. Setiap Binary Relationship M:N, buatlah relasi baru dimana Primary
Keynya merupakan gabungan dari Primary Key kedua tipe Entity yang
berelasi.
95 | M o d u l K u l i a h B a s i s D a t a
11. Setiap Ternary Relationship, buatlah relasi baru dimana Primary
Keynya merupakan gabungan dari Primary Key ketiga tipe Entity
yang berelasi.
Setiap tipe Weak Entity, dibuat suatu relasi yang memuat semua
atributnya dimana Primary Keynya adalah gabungan dari Partial Key
dan Primary Key dari relasi induknya (identifying owner).
12. Setiap tipe Weak Entity, dibuat suatu relasi yang memuat semua
atributnya dimana Primary Keynya adalah gabungan dari Partial Key
dan Primary Key dari relasi induknya (identifying owner).
96 | M o d u l K u l i a h B a s i s D a t a
EVALUASI
1. Apa yang dimaksud dengan participation constraint dan jelaskan.
2. Jelaskan perbedaan strong entity (entity kuat) dan weak entity (entity lemah),
kemudian berikan contoh.
3. Jelaskan proses transformasi dari ERD ke Database Relational
4. Buatlah perancangan ERD untuk perkuliahan kemudian trasnformasikan ke
dalam database relasional
97 | M o d u l K u l i a h B a s i s D a t a
I. Kegiatan Pembelajaran 11 dan 12
Ketergantungan Fungsional dan Normalisasi
2) Materi Pembelajaran
Ketergantungan (dependency)
Ketergantungan merupakan konsep yang mendasari normalisasi.
Dependency menjalankan hubungan antara atribut atau secara lebih
khusus menjelaskan nilai suatu atribut yang menentukan nilai atribut
lainnya.
Dependency akan mencari acuan untuk pendekomposisian data ke
dalam bentuk paling efisien.
1. Functional Dependency
98 | M o d u l K u l i a h B a s i s D a t a
Contoh:
2. Dependency Transitive
Ketergantungan transitive (dependency transitive) adalah ketergantungan
secara fungsional suatu atribut kepada atribut lainnya melalui atribut yang
lain pula.
Misalnya R adalah relasi yang memiliki 3 atribut A, B, dan C yang memiliki
ketergantungan fungsional:
A => B
B => C
Artinya fungsional dependency => C disebut dependency transitive.
Contoh:
99 | M o d u l K u l i a h B a s i s D a t a
Pada relasi di atas terdapat ketergantungan transitif antara:
no_faktur => kode_pelanggan
kode_pelanggan => nama
Sehingga dapat dinotasikan:
no_faktur => kode_pelanggan => nama
3. Trivial Dependency
Ketergantungan trivial (trivial dependency) terjadi apabila suatu relasi
terdapat banyak set fungsional dependency, maka dapat dilakukan
penghapusan trivial dependency.
Misalnya relasi sebagai berikut:
Suatu trivial fungsional dependency jika dan hanya jika bagian sebelah
kiri, maka himpunan tersebut ditulis sebagai berikut:
{no_faktur, kode_barang} => no_faktur.
Sebaliknya,
non trivial fungsional dependency adalah fungsional dependency bukan
trivial, dan yang sebetulnya adalah bentuk integrity rules / constrains
(aturan-aturan integritas).
Ketergantungan Fungsional
100 | M o d u l K u l i a h B a s i s D a t a
Ketergantungan fungsional dari tabel Pemasok_barang adalah : No_pem
Na_pem (nama pemasuk tergantung secara fungsional dari Nomer pemasok)
Ketergantungan Transitif
Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X, jika atribut
Y tergantung pada atribut X pada relasi R dan atribut tergantung pada atribut
Y pada relasi R. Contoh perhatikan tabel dibawah ini:
101 | M o d u l K u l i a h B a s i s D a t a
Ketergantungan fungsional:
A. No_pem > Kode_kota
B. Kode_kota > Kota, maka
C. No_pem > Kota
A>B
Yang berarti A secara fungsional menentukan B atau B secara fungsional
tergantung pada A, jika dan hanya jika setiap kumpulan baris (row) yang ada di
tabel T, pasti ada 2 baris data (row) di tabel dengan nilai A yang sama, maka nilai
B pasti juga sama. Definisi yang paling formal untuk itu adalah:
Dengan melihat data di atas dan dengan pertimbangan intuisi kita, maka
ketergantungan fungsional yang dapat kita ajukan adalah:
1. Nim > nama_mhs yang berarti bahwa atribut nama_mhs hanya tergantung pada
atribut nim. Hal ini dibuktikan dari fakta : untuk setiap nilai nim yang sama maka
pasti nilai nama_mhsnya juga sama.
102 | M o d u l K u l i a h B a s i s D a t a
2. Nama_kul, nim > indeks_nilai yang berarti bahwa atribut indeks_nilai
tergantung pada atribut nama_kul dan nim secara bersama–sama, memang kita
tidak dapat menunjukkan fakta, bahwa untuk setiap nilai nama_kul dan nim yang
sama, maka nilai indeks_nilainya juga sama, karena nama_kul, nim merupakan
key (sehingga bersifat unik) untuk tabel tersebut. Tetapi, ketergantungan
fungsional tersebut sesuai dengan pengertian bahwa setiap indeks_nilai
diperuntukkan pada mahasiswa tertentu untuk mata kuliah tertentu yang
diambilnya.
1. Nama_kul (tanda panah di coret) nim yang artinya atribut nim tidak tergantung
pada atribut nama_kul. Buktinya terlihat pada row 1 dan row 2 : dengan nilai
nama_kul yang sama, tapi nilai nimnya berbeda.
2. Nim (tanda panah di coret) nideks_nilai yang artinya atribut indeks_nilai tidak
bergantung pada atribut nim. Buktinya terlihat pada row 1 dan row 3 : dengan
nilai nim yang sama, tapi nilai indeks_nilai berbeda.
Misalnya, jika A dan B adalah kumpulan atribut (bisa satu atau lebih atribut)
dalam suatu relasi R, maka B disebut bergantung secara fungsional (functionally
103 | M o d u l K u l i a h B a s i s D a t a
dependent) pada A (dituliskan dengan A --> B), apabila setiap nilai A
terasosiasi tepat dengan satu nilai dari B (ingat, A dan B adalah atribut-atribut di
dalam relasi R). Representasi dalam bentuk diagramnya adalah seperti berikut:
104 | M o d u l K u l i a h B a s i s D a t a
Contoh ketergantungan fungsional antar atribut dalam relasi StaffBranch
Jika kita mengacu pada sampel data pada relasi di atas, maka kita bisa
mengidentifikasi salah satu contoh functional dependency (kebergantungan
fungsional) seperti berikut:
staffNo --> sName
sName --> staffNo
Namun identifikasi functional dependency seperti di atas adalah mengacu pada
sampel data yang ada (data sementara saja) dalam relasi 'StaffBranch',
sebaliknya apabila kita mempertimbangkan kemungkinan terhadap nilai data
untuk semua nilai data pada masa-masa mendatang pada atribut 'staffNo' dan
'sName', maka identifikasi functional dependency yang benar seharusnya adalah
105 | M o d u l K u l i a h B a s i s D a t a
Functional dependency atau kebergantungan fungsional terdiri dari tiga
jenis:
1. Full functional dependency (kebergantungan fungsional
penuh)
2. Partial dependency (kebergantungan sebagian)
3. Transitive dependency (kebergantungan transitif)
Beberapa karakteristik dalam full functional
dependency (kebergantungan penuh) adalah sebagai berikut:
Jumlah atribut yang menjadi determinan yang digunakan untuk
menjaga ketergantungan atribut-atribut yang berada di sisi
sebelah kanan, seharusnya seminimal mungkin.
Bila A dan B adalah kumpulan atribut (bisa satu atau lebih
atribut) di dalam suatu relasi, B disebut bergantung secara
penuh (full functional dependency) pada A, apabila B
bergantung secara penuh pada A, dan bukan bergantung pada
subset/sebagian (salah satu atribut) A
Ada hubungan/relationship/asosiasi one-to-one antara atribut-
atribut pada sisi sebelah kiri (determinan) dan yang di sisi
sebelah kanan dari functional dependency
Harus benar/akurat sepanjang waktu (tidak hanya sementara
waktu saja) untuk seluruh nilai data mendatang
Mari kita lihat contoh berikut ini dan masih mengacu pada relasi StaffBranch di
atas:
staffNo, sName --> branchNo
106 | M o d u l K u l i a h B a s i s D a t a
Selain full functional dependency (kebergantungan penuh) dan partial
dependency (kebergantungan sebagian), satu lagi jenis kebergantungan yang
perlu untuk didentifikasi adalah transitive dependency atau kebergantungan
transitif.
Mari kita lihat contoh functional dependency yang mengacu pada relasi
‘StaffBranch’ di atas:
Proses Normalisasi
Setelah memahami konsep functional dependency atau ketergantungan
fungsional, barulah kita bisa melakukan proses normalisasi. Jadi secara
definisi, proses normaliasi adalah penerapan teknik formal yang digunakan
dalam menganalisa suatu relasi berdasarkan primary key (kunci primer)
dan functional dependency (ketergantungan fungsional) antara atribut-atribut
dalam relasi tersebut.
107 | M o d u l K u l i a h B a s i s D a t a
Secara teori, bentuk normal suatu relasi bisa sampai ke tingkat lima 5NF, yaitu
1NF – 2NF – 3NF/BCNF – 4NF – 5NF. Tetapi secara praktik dalam dunia nyata,
relasi dalam suatu database sudah dibilang baik kalau sudah mencapai 3NF
(bentuk normal ketiga).
Tingkatan normalisasi
Bila relasi dalam kondisi 1NF (atau bentuk normal pertama), maka kita perlu
mengidentifikasi keberadaan ‘partial dependency’. Bila ditemukan ‘partial
dependency’ maka kita harus menghilangkan ‘partial dependency’ ini. Cara
menghilangkan ‘partial dependency' adalah dengan memindahkan atribut yang
bergantung secara parsial tersebut menjadi relasi yang baru beserta copy dari
atribut atau determinant yang menjadi bagian dari primary key pada relasi
asalnya. Bila semua relasi sudah tidak mengandung ‘partial dependency’ maka
semua relasi sudah berada dalam kondisi 2NF (atau bentuk normal kedua).
Untuk menuju ke 3NF, kita perlu mengidentifikai keberadaan ‘transitive
dependency’ atau ketergantungan transitif. Apabila ditemukan adanya ‘transitive
dependency’ atau ketergantungan transitif dalam suatu relasi, maka kita harus
108 | M o d u l K u l i a h B a s i s D a t a
menghilangkan keberadaan ‘transitive dependency’ itu. Cara menghilangkan
‘transitive dependency’ adalah dengan memindahkan atribut-atribut yang
bergantung secara transitif tersebut beserta ‘copy’ dari ‘determinant’ dari relasi
orisinalnya ke suatu relasi yang baru. Bila semua relasi sudah tidak mengandung
baik ‘partial dependency’ maupun ‘transitive dependency’, maka semua relasi itu
sudah berada dalam 3NF.
109 | M o d u l K u l i a h B a s i s D a t a
contoh identifikasi ketergantungan fungsional dengan menggunakan sampel data dalam
sampel relasi
A --> C (fd1)
C --> A (fd2)
B--> D (fd3)
A, B --> E (fd4)
110 | M o d u l K u l i a h B a s i s D a t a
terhadap candidate keys, dimana salah satunya (kalau lebih dari satu) akan
dipilih menjadi primary key dari relasi tersebut.
Jadi, apabila ada atribut yang menjadi determinan dan atribut ini menjadi
determinan terhadap semua atribut yang lain dalam suatu relasi maka atribut ini
akan dipilih sebagai ‘candidate key’. Dan apa bila ada beberapa ‘candidate key’
kita akan pilih salah satunya untuk menjadi ‘primary key’.
Kembali pada contoh relasi ‘StaffBranch’, identifikasi terhadap relasi ini
menghasilkan lima ketergantungan fungsional (functional dependency). Daftar
determinan dari identifikasi tersebut adalah sebagai berikut:
A, B, C, dan (A,B)
111 | M o d u l K u l i a h B a s i s D a t a
Namun demikian, satu-satunya determinan yang menentukan semua
atribut dalam sampel relasi tersebut adalah atribut (A,B). Maka atribut (A,B) dipilih
sebagai primary key.
112 | M o d u l K u l i a h B a s i s D a t a
digunakan, tujuan keduanya adalah sama yaitu menghasilkan relasi-relasi yang
terdesain dengan baik yang memenuhi data requirements perusahaan.
Gambar di atas juga menunjukkan bahwa sumber data yang sama bisa
juga digunakan untuk kedua pendekatan tersebut, namun demikian, meskipun
hal itu secara prinsip betul, pada praktinya pendekatan yang diambil cenderung
ditentukan oleh ukuran, batas, kompleksitas basis data yang digamnarkan dalam
sumber data dan oleh preferensi dan keahlian dari si desainer basis data. Pilihan
untuk menggunakan normalisasi sebagai teknik bottom-up (pendekatan 1)
seringkali lebih terbatas yang disebabkan oleh tingkat detil yang ingin dikelola
oleh si desainer basis data, tetapi keterbatasan semacam itu tidak akan terjadi
ketika normalisasi digunakan sebagai teknik validasi (pendekatan 2) karena si
desainer basis data hanya berfokus pada bagian dari basis data, misalnya suatu
relasi tunggal, pada satu waktu. Jadi, tidak peduli berapa besar ukuran atau
kompleksitas basis data, normalisasi bisa diterapkan dan tetap berguna.
113 | M o d u l K u l i a h B a s i s D a t a
bagaimana melakukan normalisasi mulai dari UNF (atau Unnormalized
Form) – 1NF – 2NF – dan 3NF.
Contoh form tradisional yang akan dikonversi menjadi bentuk tabel berbentuk kolom dan
baris
Tabel hasil konversi dari form tradisional sebelumnya (tabel yang belum dinormalisasi)
114 | M o d u l K u l i a h B a s i s D a t a
Gambar tabel di atas tersebut adalah dalam bentuk unnormalized table,
atau tabel/relasi yang belum dilakukan normalisasi. Dalam contoh tersebut, nama
relasi/tabel adalah 'ClientRental'. Dan klien dengan clientNo CR76 yang bernama
John Kay, sudah pernah bertransaksi dua kali dari hasil observasi form tersebut.
Sehingga klien dengan clientNo CR76 yang bernama John Kay memiliki bagian
yang berulang (perhatikam atribut-atribut porpertyNo, pAddress, rentStart,
rentFinish, rent, ownerNo, oName) untuk klien yang sama. Sehingga data tentang
clientNo dan cName terlihat kosong atau tidak dituliskan pada transaksi yang
kedua, karena akan berisi data yang sama (berulang). Demikian juga untuk klien
dengan clientNo CR56 yang bernama Aline Stewart. Jadi tabel tersebut disebut
dalam kondisi UNF (atau unnormalized form) apabila tabel tersebut berisi satu
atau lebih bagian yang berulang. Tabel semacam itu biasanya dihasilkan dari
proses mengonversi form tradisional menjadi suatu tabel dalam bentuk kolom
dan baris.
Untuk mengonversi tabel dari UNF ke 1NF (normal bentuk pertama), yang perlu
kita lakukan adalah: 1) menunjuk satu atau beberapa atribut untuk dijadikan
sebagai ‘key’ dalam tabel UNF tersebut, 2) kemudian mengidentifikasi bagian
yang berulang dalam tabel UNF tersebut, 3) dan setelah mengidentifikasi bagian
yang berulang, kita perlu menghilangkan bagian yang berulang tersebut.
Untuk mengonversi tabel dari UNF menjadi 1NF, yang berarti juga
menghilangkan bagian yang berulang dalam tabel UNF, ada dua cara, yaitu:
1. Dengan mengisi data yang benar ke kolom/baris yang kosong yang
berisi data yang berulang. Cara ini disebut dengan “flattening”.
2. Memisahkan data yang berulang bersama dengan ‘copy’ atribut yang
kita tunjuk sebagai ‘key’ ke relasi/tabel yang lain.
115 | M o d u l K u l i a h B a s i s D a t a
Contoh dari cara yang pertama adalah seperti dalam gambar berikut:
Contoh dari cara yang kedua adalah seperti gambar dibawah ini:
UNF ke 1NF dengan cara yang kedua, memisahkan bagian yang berulang ke
tabel/relasi baru beserta 'copy' dari 'key' nya
Hasil relasi dari UNF ke 1NF dengan cara yang kedua. Yang digarisbawah adalah
atribut yang menjadi 'key'
Semua contoh tabel/relasi di atas adalah dalam keadaan 1NF. Jadi secara
definisi, 1NF adalah relasi dimana interseksi/perpotongan antara kolom-
dan-baris hanya berisi tepat satu nilai data saja.
Untuk mengonversi dari 1NF ke 2NF kita akan menggunakan contoh tabel/relasi
‘ClientRental’ pada gambar di atas (lihat gambar tabel 'ClientRental' di atas).
116 | M o d u l K u l i a h B a s i s D a t a
Kemudian yang kita lakukan adalah mengidentifikasi semua ketergatungan
fungsional (functional dependencies). Berikutnya, untuk mengonversi dari 1NF-
ke-2NF, fokus perhatian kita adalah pada ada atau tidaknya ketergantungan
parsial/sebagian (partial dependency). Apabila kita menemukan adanya
ketergantungan parsial/sebagian (partial dependency), maka kita harus
menghilangkan ketergantungan parsial/sebagian tersebut. Cara menghilangkan
‘partial dependency' adalah dengan memindahkan atribut yang bergantung
secara parsial tersebut menjadi relasi yang baru beserta copy dari atribut
atau determinant yang menjadi bagian dari primary key pada relasi asalnya. Bila
semua relasi sudah tidak mengandung ‘partial dependency’ maka semua relasi
sudah berada dalam kondisi 2NF (atau bentuk normal kedua).
Dari hasil proses identifikasi seperti di atas kita temukan ada dua ketergantungan
parsial/sebagian (partial dependency), yaitu pada fd2 dan fd3. Jadi untuk
117 | M o d u l K u l i a h B a s i s D a t a
mengonversi tabel/relasi ‘ClientRental’ ke dalam bentuk relasi-relasi dalam 2NF
(bentuk normal kedua), kita perlu memecah atau memindahkan atribut-atribut
yang diidentifikasi dalam fd2 dan fd3 menjadi relasi/tabel baru beserta ‘copy’ dari
atribut yang menjadi bagian dari ‘primary key’ dari tabel/relasi aslinya. Setelah
kita pecah atau pindahkan, hasil relasi-relasinya adalah seperti dalam gambar
berikut:
Gambar relasi-relasi hasil proses normalisasi 1NF ke 2NF (garisbawah adalah primary
key)
118 | M o d u l K u l i a h B a s i s D a t a
Dari 2NF ke 3NF
Untuk mengonversi dari 2NF dari ke 3NF (bentuk normal ketiga), caranya adalah
sama dengan langkah di atas (dari 1NF ke 2NF). Hanya saja yang harus kita
identifikasi adalah ada atau tidaknya ketergantungan transitif (transitive
dependency) antar atribut dalam suatu relasi. Kita akan analisa dan identifikasi
dari ketiga tabel/relasi yang sudah berada dalam 2NF di atas, yaitu tabel/relasi
‘Client’, ‘Rental’, dan ‘PropertyOwner’. Hasil proses identifikasi adalah seperti
gambar di bawah berikut:
Pada fd5 dan fd6 ada tanda ‘ (fd5’ dan fd6’) yang artinya bahwa ada
perubahan atribut dalam ketergantungan fungsional yang diidentifikasi oleh fd5
dan fd6. Perubahan ini disebabkan karena ada proses normalisasi pada level
sebelumnya, yaitu dari 1NF ke 2NF. Dampak dari proses tersebut adalah
perubahan atribut (karena atributnya dipindah ke tabel/relasi baru) yang
mengalami ketergantungan fungsional yang teridentifikasi pada proses
sebelumnya.
119 | M o d u l K u l i a h B a s i s D a t a
dipindahkan ke tabel/relasi yang baru beserta ‘copy’ dari atribut yang menjadi
‘determinant’ pada tabel/relasi aslinya.
Hasil dari pemecahan/pemindahan atribut yang menjadi ketergantungan transitif
tersebut adalah seperti berikut di bawah ini:
Hasil relasi proses normalisasi 2NF ke 3NF pada relasi 'PropertyOwner' menjadi
'PropertyForRent' dan 'Owner'
120 | M o d u l K u l i a h B a s i s D a t a
Hasil akhir tabel-tabel setelah proses normalisasi dari 1NF-2NF-dan-3NF
121 | M o d u l K u l i a h B a s i s D a t a
IV. PENUTUP
Modul Mata Kuliah ini disusun untuk memudahkan dosen program studi Sistem
isi, standar proses, dan standar evaluasi pembelajaran. Keempat stardar tersebut
berkualitas
122 | M o d u l K u l i a h B a s i s D a t a
DAFTAR PUSTAKA
3. Indrajani. (2011). Bedah Kilat 1 Jam – Pengantar dan Sistem Basis Data,
5. Connoly, Thomas M., Begg, Carolyn E., and Strachan, Anne D., Database