BAB 2 SISTEM BASIS DATA
2.6 Struktur Sistem Basis Data
Naïve user Programmer Casual User DBA Aplikasi
Program
aplikasi System
calls Query Skema
basis data
precompiler DML Query processor
Database Manager
Disk File
Manager
Data files Data
dictionary Kode objek
program aplikasi
compiler DDL
Gambar 2.3 Struktur Sistem Basis Data Keseluruhan
3 MODEL DATA
3.1 Definisi
Model data adalah kumpulan perangkat konseptual untuk menggambarkan data, hubungan data, makna data dan batasan data. Model data ini lebih tepat jika disebut Model Data Lojik. Ada sejumlah cara dalam merepresentasikan model data dalam perancangan basis data, yaitu secara umum dapat dibagi dalam 2 (dua) kelompok :
1. Model Lojik Data Berbasis Objek
(Object Based Logical Models), terdiri dari :
• Model Keterhubungan Entitas (Entity Relationship Model)
• Model Berorientasi Objek (Object Oriented Model)
• Model Data Semantik (Semantic Data model)
• Model Data Fungsional (Functional Data Model) 2. Model Lojik Data Berbasis Record
(Record Base Logical Models), terdiri dari :
• Model Relasional (Relational Model)
• Model Hirarkis (Hierarchical Model)
• Model Jaringan (Network Model)
3.2 Model Keterhubungan Entitas (Entity Relationship Model)
ER-Model dapat didefinisikan suatu model untuk menjelaskan hubungan antara data dalam basis data, didasarkan pada persepsi bahwa “real world” terdiri dari objek-objek dasar yang memiliki relasi / hubungan antar objek. Pada ER-Model, semesta data yang ada di dunia nyata diterjemahkan/ ditransformasikan dengan memanfaatkan sejumlah perangkat konseptual menjadi sebuah diagram data, yang umum disebut “Entity Relationship Diagram (ER-D)”.
Komponen-komponen pembentuk ER-Model :
a. Entitas : individu yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain.
b. Atribut : yang mendeskripsikan karakteristik (properti) dari entitas.
c. Relasi : menunjukan adanya hubungan diantara sejumlah entitas.
d. Kardinalitas : menunjukan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain, dapat berupa :
- Satu ke Satu (One to One)
- Satu ke Banyak (One to Many) / Banyak ke Satu (Many to One)
- Banyak ke Banyak (Many to Many)
Satu ke satu (One to One) : entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B, dan sebaliknya.
A B
Satu ke Banyak (One to Many)/ Banyak ke Satu (Many to One) : entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi tidak sebaliknya untuk setiap entitas pada himpunan entitas B berhubungan paling banyak dengan satu entitas pada himpunan entitas B.
A B
Untuk derajat relasi Banyak ke Satu (Many to One) sebaliknya dari pernyataan diatas atau kondisi gambar diatas.
Banyak ke Banyak (Many to Many) : entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, juga sebaliknya.
A B
Entitas 1
Entitas 2
Entitas 3 Entitas 2 Entitas 1
Entitas 3
Entitas 1 Entitas 1 Entitas 2
Entitas 4 Entitas 3 Entitas 2
Entitas 1 Entitas 2
Entitas 3
Entitas 1 Entitas 2
Entitas 3
Entitas 4 Entitas 4
3.3 Entity Relationship Diagram (ER-D)
Model Entity-Relationship berisi komponen-komponen himpunan entitas dan himpunan relasi yang masing-masing dilengkapi dengan atribut-atribut yang merepresentasikan seluruh fakta dari ‘dunia nyata’, dapat digambarkan dengan lebih sistematis dengan menggunakan Entity Relationship Diagram (ER-D). Notasi simbolik yang digunakan di dalam ER Diagram adalah :
Persegi Panjang Menyatakan himpunan entitas
Lingkaran atau Elip E
Menyatakan atribut, atribut yang berfungsi sebagai key diberi garis bawah
Belah Ketupat Menyatakan himpunan relasi
Garis Sebagai penghubung antara himpunan relasi dengan himpunan entitas dan himpunan entitas dengan atributnya
a
R
Kardinalitas Relasi 1 dan 1 (satu ke satu) 1 dan N (satu ke banyak) N dan N (banyak ke banyak)
Menyatakan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain.
Berikut contoh penggambaran relasi antar himpunan entitas lengkap dengan kardinalitas relasi dan atribut-atributnya :
• Relasi satu ke satu (One-to-One)
Dosen 1 Mengepalai
Jurusan 1
nama dosen alamat_dosen nama dosen kode jurusan kode jurusan nama_jurusan
Pada relasi ini, setiap dosen paling banyak mengepalai satu jurusan dan setiap jurusan pasti dikepalai oleh paling banyak satu orang dosen. Pada himpunan entitas Dosen dan himpunan entitas Jurusan memiliki dua atribut, yang salah satunya (memakai garis bawah) berfungsi sebagai kunci (key). Sementara pada
himpunan Relasi juga terdapat dua atribut, yang keduanya sebetulnya berasal dari atribut key masing-masing himpunan entitas, maka kedua atribut tersebut digolongkan sebagai kunci tamu (foreign key), yang berfungsi sebagai penghubung antar himpunan entitas.
• Relasi satu ke banyak (One to Many)
Dosen 1 Mengajar
Kuliah N
nama dosen alamat_dosen nama dosen kode kuliah kode kuliah nama_kuliah
waktu tempat sks semester
Pada relasi ini, setiap dosen dapat dapat mengajar lebih dari satu mata kuliah, sedangkan setiap matakuliah dipegang hanya paling banyak oleh satu orang dosen.
Pada himpunan relasi terdapat dua foreign key yang berasal dari himpunan entitas, tetapi ada pula dua atribut tambahan yang tidak berasal dari himpunan entitas. Hal ini memang dimungkinkuan dan bahkan umum terjadi.
• Relasi banyak ke banyak (Many to Many)
Mahasiswa N Mempelajari
Kuliah N
nim nama_mhs nim kode kuliah kode kuliah nama_kuliah
indeks_nilai sks semester
alamat_mhs tgl_lahir
Pada relasi ini setiap mahasiswa dapat mempelajari lebih dari satu mata kuliah, demikian juga sebaliknya setiap mata kuliah dapat dipelajari oleh lebih dari satu orang mahasiswa.
Pembuatan Diagram E-R
Diagram E-R selalu dibuat secara bertahap, langkah-langkah teknis yang dapat dilakukan untuk menghasilkan Diagram E-R, adalah sebagai berikut :
• Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat.
• Menentukan atribut-atribut key dari masing-masing himpunan entitas.
• Mengidentifikasi dan menetapkan seluruh himpunan relasi diantara himpunan entitas-himpunan entitas yang ada beserta foreign key nya.
• Menentukan derajat atau kardinalitas relasi untuk setiap himpunan relasi.
• Melengkapi himpunan entitas dan himpunan relasi dengan atribut deskripsi (nonkey).
Diagram E-R dengan Kamus Data
Pendeklarasian atribut-atribut pada Diagram E-R dapat dipisahkan dan dinyatakan dalam sebuah kamus data. Ini diperbolehkan jika sebuah sistem yang ruang lingkupnya lebar dan kompleks. Kamus data berisi atribut yang diapit kurung kurawal dan atribut yang berfungsi sebagai key juga dibedakan dengan atribut yang bukan key, dengan menggaris bawahi atribut tersebut. Berikut contoh Diagram E-R dengan Kamus Data :
Mahasiswa N Mempelajari N Kuliah N Mengajar 1 Dosen
Kamus Data :
• Mahasiswa = { nim, nama_mhs, alamat_mhs, tgl_lahir }
• Kuliah = { kode kuliah, nama_kuliah, sks, semester }
• Dosen = { nama dosen, alamat_dosen }
• Mempelajari = { nim, kode kuliah, indeks_nilai }
• Mengajar = { kode kuliah, nama dosen, waktu, tempat }
3.4 Model Jaringan (Network Model)
Model jaringan akan terdiri atas sekumpulan record yang dihubungkan satu sama lain melalui link (yang berupa pointer), sebuah record setara dengan dengan sebuah entitas dalam ER Model. Sebuah record adalah sekumpulan field yang masing-masing hanya berisi sebuah nilai data. Sebagai contoh ada dua tipe record yaitu dosen dan mata kuliah yang dapat dideklarasikan sebagai berikut :
type dosen = record
kode_dos : integer ; nama_dos : string ; alamat_dos : string;
end
type kuliah = record
kode_kul : string ; nama_kul : string ; sks : integer;
semester : integer;
end
Dengan struktur record seperti itu, berikut diagram struktur data :
nama dos alamat dos kode kul nama_kul sks semester
Dosen Mengajar Kuliah
Diagram struktur data merupakan skema yang menyatakan desain basis data jaringan, diagram tersebut terdiri dari dua komponen yaitu kotak yang menunjukan tipe record dan garis yang menunjukan link.
Berikut data dan link yang terjadi antara record dosen dan record kuliah :
Yogaswara, MT Jl. Kaliurang IF-249 Perancangan Sistem 2 5 IF-976 Organisasi Komputer 3 3
Respati, MSc Jl. Edelwis MI-707 Basis Data 3 3
Rusi, Ir Jl. Mawar MI-774 Analisis Sistem 3 4
Cara diatas hanya layak diterapkan pada basis data dengan link yang berderajat satu ke satu atau satu ke banyak, dan cara diatas akan sulit jika diterapkan untuk link yang berderajat banyak ke banyak. Model jaringan ini secara umum sukar untuk diimplementasikan dan sangat komplek. Kelebihna dari model jaringan ini adalah efisiensi ruang penyimpanan akibat ketiadaan redudansi data dan akses data yang cepat karena langsung memanfaatkan pointer ke alamat fisik data. Saat ini dapat dikatakan model jaringan sudah tidak dimanfaatkan lagi, kecuali untuk aktivitas-aktivitas penelitian.
3.5 Model Hirarkis (Hierarchical Model)
Model hirarkis akan terdiri atas sekumpulan record yang dihubungkan satu sama lain melalui link (yang berupa pointer) yang membentuk suatu struktur hirarkis, pengertian record dan link sama seperti pada model jaringan. Berikut contoh diagram struktur pohon yang mengilustrasikan hubungan record dosen dan mata kuliah :
nama dos alamat dos
kode kul nama_kul sks semester Dosen
Kuliah
Diagram struktur pohon merupakan skema yang digunakan untuk basis data hirarkis.
Diagram tersebut terdiri dari dua komponen yaitu kotak yang menunjukan tipe record dan garis yang menunjukan link. Berikut himpunan record-record dosen dan kuliah diorganisasikan dalam sebuah struktur pohon:
Yogaswara, MT Jalan
Kliurng Respati, MSc Jalan
Edelwis Rusi, Ir Jalan Mawar
IF-249 P S I 2 5 IF-976 ORKOM 3 3
MI-707 DBMS 3 3 MI-774 ANSI 3 4 Kuliah
Dari sruktur pohon tersebut dapat disimpulkan bahwa tipe record kuliah berada dibawah tipe record dosen secara hirarkis. Maka disebutkan tipe record kuliah merupakan child dan tipe record dosen merupakan parent dalam struktur pohon tersebut. Penggunaan struktur pohon sejauh ini tidak ada yang aneh, hanya jika digunakan untuk relasi dengan derajat banyak ke banyak akan menghasilkan banyak sekali redudansi data, kesulitan juga terjadi pada operasi query dan manipulasi data tertentu. Keunggulan dari model ini terletak pada keteraturan struktur yang ditunjukan dan sangat cocok diterapkan pada sebuah system/ persoalan yang keterkaitan antara objek-objek di dalamnya mengikuti struktur hirarkis tertentu. Karena keterbatasan pemakainya dan kelemahan yang cukup mendasar, seiring dengan semakin sempurnanya “model relasional”, model hirarkis ini juga jarang untuk dimanfaatkan.
4 PERANCANGAN BASIS DATA
4.1 Definisi
Perancangan basis data merupkan suatu hal yang sangat penting, kesulitan utama dalam merancang basis adalah bagaimana merancang basis data sehingga dapat memuaskan/
memenuhi keperluan saat ini dan masa mendatang. Dalam merancang basis data dapat dilakukan dengan dua buah teknik/ pendekatan yaitu :
1. Menerapkan Normalisasi terhadap struktur table yang telah diketahui, atau dengan 2. Langsung membuat model Entity-Relationship.
Perancangan basis data seringkali diasosiasikan dengan pembuatan model Entity-Relationship (ER-Model), dimana kelompok-kelompok data dan relasinya diwujudkan dalam bentuk diagram, hal itu tidak salah karena model memang merupakan representasi nyata dari sebuah perancangan.
Normalisasi merupakan cara pendekatan lain dalam membangun desain lojik basis data relasional yang tidak secara langsung berkaitan dengan model data, tetapi dengan menerapkan sejumlah aturan dan kriteria standar untuk menghasilkan struktur table yang yang normal. Namun dalam pelaksanaannya desain lojik basis data relasional yang didasari baik oleh prinsip normalisasi maupun model ER akan menghasilkan hasil yang mirip.
Dalam pendekatan Normalisasi :
• Perancang basis data bertitik tolak dari situasi yang nyata.
• Perancang basis data telah memiliki item-item yang siap ditempatkan dalam baris dan kolom pada table.
• Demikian juga dengan sejumlah aturan tentang keterhubungan antara item data.
Dalam pendekatan model Entity Relationship :
• Langsung membuat model data lebih tepat dilakukan jika yang telah diketahui baru prinsip-prinsip sistem secara keseluruhan.
Kedua pendekatan ini cukup sering terjadi dilakukan bersama-sama, berganti-ganti.
Dari fakta yang telah dimiliki dilakukan normalisasi, untuk kepentingan evaluasi dan dokumentasi hasil normalisasi tersebut diwujudkan dalm bentuk sebuah model data.
Model data yang sudah jadi tersebut bisa saja dimodifikasi dengan pertimbangan tertentu. Hasil modifikasi itu kemudian diimplementasikan dalam bentuk sejumlah struktur table dalam sebuah basis data. Struktur ini bisa diuji kembali dengan menerapkan aturan-aturan normalisasi, sehingga akhirnya dapat diperoleh sebuah struktur basis data yang benar-benar efektif dan efisien. Begitulah kedua pendekatan ini dapat saling memperkuat satu sama lain.
4.2 Normalisasi
Normalisasi merupakan proses pengelompokan data elemen menjadi tabel-tabel yang menunjukan entity dan relasinya atau lebih difokuskan pada tinjauan komprehensif terhadap setiap kelompok dan (tabel) secara individual.
Sebelum mengenal lebih jauh mengenai normalisasi ada beberapa konsep yang harus diketahui terlebih dahulu :
• Field/ Atribut kunci (Key)
• Ketergantungan Fungsional (Functional Depedency)
Field/ Atribut kunci (Key)
Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data (row) dalam tabel secara unik. Terdapat beberapa macam key yang dapat diterapkan pada suatu tabel, yaitu:
1. Super Key
Satu atau lebih atribut (kunmpulan atribut) yang dapat membedakan setiap baris data dalam sebuah table secara unik. Bisa terjadi ada lebih dari satu kumpulan atribut yang bersifat seperti itu dalam sebuah tabel, misalnya:
Pada tabel nasabah terdapat atribut-atribut sebagai berikut : no_rek, nama, no_ktp, tempat_lahir, tgl_lahir, alamat Super Key : no_rek : karena unik tidak mungkin ganda
no_ktp : karena unik tidak mungkin ganda
nama : jika bisa menjamin tidak ada nilai yang sama utk atribut ini.
2. Candidate Key
Merupakan kumpulan atribut minimal yang dapat membedakan setiap baris data dalam sebuah tabel secara unik. Jika satu kunci kandidat berisi lebih dari satu atribut, maka biasanya disebut sebagai composite key (kunci campuran/
gabungan). Pada tabel nasabah misalnya : Candidate Key :
no_rek : karena unik tidak mungkin ganda
nama : jika bisa menjamin tidak ada nilai yang sama utk atribut ini.
nama + tgl_lahir : mungkin dapat dipakai sebagai kunci karena kemungkinan sangat kecil seseorang punya nama sama yang lahir pada hari yang sama. (composite key)
3. Primary Key
Pada sebuah tabel dimungkinkan adanya lebih dari satu candidate key, salah satu dari candidate key (jika memang ada lebih dari satu) dapat dijadikan sebagai primary key. Pemilihan primary key dari sejumlah candidate key tersebut didasari oleh :
• Dapat mengidentifikasi secara unik suatu kejadian dan dapat mewakili setiap kejadian dari suatu entity (bersifat unik).
• Lebih sering (lebih natural) untuk dijadikan sebagai acuan.
• Lebih ringkas dan jaminan keunikan key tersebut lebih baik.
• Tidak boleh “null” (tidak ada datanya)
• Harus bisa menjamin setiap nilai primary key pada sebuah table, harus dimiliki pula oleh table lainnya.
Dengan pertimbangan-pertimbangan tersebut, maka yang paling cocok digunakan sebagai primary key pada tabel nasabah adalah “no_rek”.
4. Alternate Key
Adalah candidate key yang tidak menjadi/ tidak dipakai sebagai primary key.
Terkadang alternate key ini dipakai sebagai kunci pengurutan dalam laporan misalnya.
5. Foreign Key
Foreign key (kunci tamu) adalah satu atribut yang melengkapi satu relationship yang menunjukan ke induknya. Kunci tamu ditempatkan pada entity anak dan sama dengan kunci utama (primary key) induk relasinya. Contoh :
Tabel Dosen :
sandi_dosen nama no_ktp alamat gender 24001 Yogaswara, MT 117624 Jl. Kaliurang no.24 Laki-laki
24005 Respati, ST 110282 Jl. Pasanggrahan no.6 Laki-laki 24077 Rusi, Ir 110707 Jl. Edelwis no.7 Perempuan
sandi_dosen = primary key Tabel Mata kuliah
kode_mtkul mata_kuliah semester sks sandi_dosen
IF-2424 Basis Data 4 3 24001
IF-0707 Analisis Sistem Informasi 5 2 24077 IF-0583 Organisasi Komputer 3 2 24005 IF-7683 Arsitektur Komputer 4 3 24001
kode_mtkul = primary key sandi_dosen = foreign key
Field sandi_dosen pada tabel dosen sebagai primary keysedangkan field sandi_dosen pada tabel mata kuliah sebagai foreign key, karena tabel mata kuliah ini berhubungan dengan tabel dosen sebgai induknya.
Ketergantungan Fungsional (Functional Depedency) Definisi dari functional depedence adalah :
“ Diberikan sebuah relasi R, atribut Y dari R adalah bergantung fungsi pada atribut X dari R jika dab hanya jika setiap nilai X dalam R punya hubungan dengan tetap satu nilai Y dalam R (dalam setiap satu waktu)”.
Pada tabel dosen berisi atribut :
sandi_dosen nama no_ktp alamat gender 24001 Yogaswara, MT 117624 Jl. Kaliurang no.24 Laki-laki
24005 Respati, ST 110282 Jl. Pasanggrahan no.6 Laki-laki 24077 Rusi, Ir 110707 Jl. Edelwis no.7 Perempuan
Isi dari atribut nama bergantung pada sandi_dosen. Jadi dapat dikatakan bahwa atribut nama bergantung secara fungsi pada sandi_dosen dan sandi_dosen menunjukan secara fungsi nama. Jika ingin mengetahui sandi_dosen seorang dosen, maka dapat menentukan nama dosen tersebut. Notasi untuk ketergantungan fungsi ini adalah :
sandi_dosen nama atau
nama = f (sandi_dosen)
4.3 Bentuk Bentuk Normalisai
Pada proses normalisasi terdapat tahapan-tahapan (bentuk) normalisasi, yaitu :
• Bentuk Tidak Normal (Un normalized Form)
Merupakan bentuk kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi.
Data dikumpulkan apa adanya sesuai kedatangannya.
• Bentuk Normal Pertama (1NF/ First Normal Form)
Jika semua atribut mempunyai nilai data yang atomic (tidak dapat dipecah lagi), tetapi masih terdapat beberapa atribut yang muncul secara berulang.
• Bentuk Normal Kedua (2NF/ Second Normal Form)
Relasi telah berada/ memenuhi bentuk normal pertama dan semua atribut yang bukan kunci hanya bergantung secara fungsi pada kunci utama/ primary key.
Pada bentuk normal kedua haruslah sudah ditentukan kunci kunci field.
• Bentuk Normal Ketiga (3NF/Third Normal Form)
Relasi telah berada/ memenuhi bentuk normal kedua dan semua atribut yang bukan kunci adalah non transitive dependency (ketergantungan transitif = bila menjadi atribut biasa pada suatu relasi, tetapi menjadi kunci pada relasi lainnya)
• Boyce-Codd Normal Form (BCNF)
Relasi harus sudah dalam bentuk ketiga dan setiap atribut harus bergantung fungsi pada atribut super key/ semua determinannya merupakan candidate key.
Contoh Kasus :
Sebuah Relasi “ Rawat Pasien “
• Bentuk Tidak Normal (Un normalized Form)
no_pasien nama jenis_perawatan jenis_kamar Biaya_kamar P0001 Bati Gawat Darurat KM001 Rp.100.000 P0002 Totti Rawat Inap KM002 Rp.75.000 P0003 Nesta Rawat Inap Sehari KM003 Rp.50.000 P0004 Maldini Rawat Jalan KM004 Rp.25.000 P0005 Cana Rawat Inap
P0006 Ihlam Rawat Inap Sehari P0007 Nuno Gawat Darurat P0008 Gomes Rawat Jalan
• Bentuk Normal Pertama (1NF/ First Normal Form)
no_pasien nama jenis_perawatan jenis_kamar biaya_kamar P0001 Bati Gawat Darurat KM001 Rp.100.000 P0002 Totti Rawat Inap KM002 Rp.75.000 P0003 Nesta Rawat Inap Sehari KM003 Rp.50.000 P0004 Maldini Rawat Jalan KM004 Rp.25.000 P0005 Cana Rawat Inap KM002 Rp.75.000 P0006 Ihlam Rawat Inap Sehari KM003 Rp.50.000 P0007 Nuno Gawat Darurat KM001 Rp.100.000 P0008 Gomes Rawat Jalan KM004 Rp.25.000
• Bentuk Normal Kedua (2NF/ Second Normal Form) Menjadi : Relasi “Pasien” dan “Biaya_Rawat”
Relasi “Pasien”
no_pasien nama jenis_perawatan P0001 Bati Gawat Darurat P0002 Totti Rawat Inap P0003 Nesta Rawat Inap Sehari P0004 Maldini Rawat Jalan P0005 Cana Rawat Inap P0006 Ihlam Rawat Inap Sehari P0007 Nuno Gawat Darurat P0008 Gomes Rawat Jalan
Relasi “Biaya_Rawat”
jenis_perawatan jenis_kamar biaya_kamar Gawat Darurat KM001 Rp.100.000
Rawat Inap KM002 Rp.75.000 Rawat Inap Sehari KM003 Rp.50.000 Rawat Jalan KM004 Rp.25.000
• Bentuk Normal Ketiga (3NF/Third Normal Form)
Menjadi : Relasi “Pasien”, “Kamar_Rawat” dan “Biaya_Rawat”
Relasi “Pasien”
no_pasien nama jenis_perawatan P0001 Bati Gawat Darurat P0002 Totti Rawat Inap P0003 Nesta Rawat Inap Sehari P0004 Maldini Rawat Jalan P0005 Cana Rawat Inap P0006 Ihlam Rawat Inap Sehari P0007 Nuno Gawat Darurat P0008 Gomes Rawat Jalan
Relasi “Kamar_Rawat”
jenis_perawatan jenis_kamar Gawat Darurat KM001
Rawat Inap KM002 Rawat Inap Sehari KM003 Rawat Jalan KM004
Relasi “Biaya_Rawat”
• Boyce-Codd Normal Form (BCNF) Misalnya : Relasi “Seminar”
no_peserta seminar Instruktur 240100 7783 Rusi, Ir 240101 7783 Respati, ST 240102 7776 Pita, Ir
240101 7776 Yogaswara, MT 240109 7776 Yogaswara, MT
Menjadi : Relasi “Pengajar” dan “Peserta-Instruktur”
Relasi “Pengajar”
Seminar Instruktur 7783 Rusi, Ir
7783 Respati, ST 7776 Pita, Ir
7776 Yogaswara, MT
Relasi “Peserta-Instruktur”
no_peserta Instruktur 240100 Rusi, Ir
240101 Respati, ST 240102 Pita, Ir
240101 Yogaswara, MT 240109 Yogaswara, MT
4.4 Soal-Soal Latihan :
Latihan I :Misalnya diketahui relasi “Karyawan” sebagai berikut :
Nip Nama tgl_lahir alamat tgl_sk no_sk gol gaji tunj status 1230 Rusi 1/2/70 Jl.Edelwis 1/3/84 3/sk/84 2A 50 25 Aktif 1230 Rusi 1/2/70 Jl.Edelwis 5/6/87 6/sk/87 2B 65 40 Aktif 1231 Resa 8/1/68 Jl.Elang 15/7/75 7/sk/75 3A 80 35 Aktif 1231 Resa 8/1/68 Jl.Elang 7/2/78 2/sk/78 3B 100 65 Aktif 1231 Resa 8/1/68 Jl.Elang 21/12/81 12/sk/81 3C 120 75 Aktif 1231 Resa 8/1/68 Jl.Elang 1/2/82 1/sk/82 3C 120 75 Keluar 1232 Pita 4/3/72 Jl.Dahlia 5/4/89 4/sk/89 2A 50 35 Aktif
Kapan tabel/ relasi tersebut dikatakan dalam bentuk 1NF, 2NF dan 3NF ?
Latihan II :
Misalnya diketahui relasi “Pemesanan Tiket Kereta” sebagai berikut :
no nama almt Kd_krta Nm_krta tujuan tarif tgl_psn jam jml Jml_byr 1 Resa Jl.Edelwis A Parahiyangan Bdg 50 1/9/03 08:00 2 100 1 Resa Jl.Edelwis B Sawunggalih Pwkt 100 2/9/03 10:00 2 200 2 Yoga Jl.Xurg C SenjaExpres Yogya 150 3/9/03 12:00 2 300 2 Yoga Jl.Xurg D ArgoBromo Sby 200 4/9/03 14:00 2 400
Kapan tabel/ relasi tersebut dikatakan dalam bentuk 1NF, 2NF dan 3NF ?
Latihan III :
Misalnya diketahui relasi “Pembelian Barang” sebagai berikut :
No
Fac kode
supp nama
supp kode
brg nama
barang tgl jatuh
tempo qty harga jml total 799 S02 Swa R02 Plooter 2/2/04 9/3/04 10 150 1500 1500 998 G01 Ara A01 Hd Segeat 7/2/04 9/3/04 10 1350 13500 33500 998 G01 Ara A02 Hd Quntm 7/2/04 9/3/04 10 2000 20000 33500
Kapan tabel/ relasi tersebut dikatakan dalam bentuk 1NF, 2NF dan 3NF ?
5 IMPLEMENTASI BASIS DATA
5.1 Definisi
Implementasi basis data merupkan upaya untuk membangun basis data fisik yang ditempatkan dalam memori sekunder (disk) dengan bantuan DBMS, tahap implementasi basis data diawali dengan melakukan transformasi dari model data yang telah selesai dibuat skema/ struktur basis data sesuai dengan DBMS yang dipilih.
Secara umum sebuah Diagram ER akan direpresentasikan menjadi sebuah basis data fisik, sedangkan komponennya berupa himpunan entitas dan himpunan relasi akan ditransformasikan menjadi table-tabel (file-file data) dan atribut akan dinyatakan sebagai field-field dari tabel-tabel yang sesuai.
Faktor-faktor yang mempengaruhi performansi sistem basis data :
• Kualitas dan bentuk perancangan basis data yaitu struktur basis data dan cara akses (algoritma aplikasi)
• Kualitas mesin
• Sistem Operasi
• DBMS (Data Base Management System)
5.2 Transformasi Model Data ke Basis Data Fisik
Aturan umum dalam pemetaan model data yang digambarkan dengan Diagram ER menjadi Basis Data Fisik adalah sebagai berikut :
1. Setiap himpunan entitas akan diimplementasikan sebagai sebuah tabel (file data).
1. Setiap himpunan entitas akan diimplementasikan sebagai sebuah tabel (file data).