LAPORAN RESMI PRAKTIKUM BASIS DATA MODUL I
“MEMBUAT DESAIN BASIS DATA”
Disusun oleh: TGL PRAKTIKUM NAMA NIM KELOMPOK DOSEN PENGAMPU ASISTEN
: : : : : :
22 SEPTEMBER 2015 HAMIDAH 14.06.311.00093 C1 NURU AINI, M.Kom. CITRA PRATIWI PARAMITHA
Disetujui : ....-....-..../Bangkalan
(CITRA PRATIWI PARAMITHA) 13.06.311.00083 LABORATORIUM MICROTEACHING DAN KOMPUTER
JURUSAN PENDIDIKAN INFORMATIKA FAKULTAS KEGURUAN DAN ILMU PENDIDIKAN
UNIVERSITAS TRUNOJOYO MADURA 2015
BAB I PENDAHULUAN
1.1
Latar Belakang Praktikum Basis Data merupakan kelanjutan dari mata kuliah basis data. Pada praktikum ini pastinya apa yang pernah didapatkan di mata kuliah basis data
akan di implementasikan dalam praktikum kali ini.
Perancangan data base merupakan langkah paling awal yang harus dilakukan sebelum kita membuat sebuah aplikasi yang menggunakan sistem data base. Kita akan menemui istilah entity, attribute, dan relasi pada praktium modul 1 ini. 1.2
Tujuan Dalam praktikum kali ini diharapkan praktikan: 1. Praktikan dapat memahami model basis data 2. Praktikan dapat memahami dan membuat ER-Diagram
BAB II DASAR TEORI 2.1
TEORI SINGKAT Basis Data Basis data adalah kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundancy) yang tidak perlu, untuk memenuhi berbagai kebutuhan. Basis data bisa dibayangkan sebagai lemari arsip dengan berbagai cara pengaturannya. Basis data dan lemari arsip memiliki prinsip kerja dan tujuan yang sama; prinsipnya yakni pengaturan data/arsip. Tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan kembali data/arsip.
Model Data Model data adalah sekumpulan cara / peralatan / tool untuk mendeskripsikan data-data, hubungannya satu sama lain, semantiknya, serta batasan konsistensi. Model-Model Data ada 5 yaitu: Model Hirarkis (Hierarchical Model) Model Jaringan (Network Model) Model Relasional (Relational Model) Model Relasi Entitas (Entity-Relationship Model) Model Berbasis Objek (Object Oriented Model)
Model Relasi Entitas (Entity-Relationship Model) Merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data yang berdasarkan suatu persepsi bahwa di dunia nyata terdiri dari object-object dasar yang memiliki hubungan atau relasi dari object-object tersebut. Model Relasi-Entitas atau (Entity Relationship Model) pada hakekatnya perwujudan dari model relasional dalam bentuk diagram, yaitu E-R Diagram. Domain data disebut juga sebagai himpunan entitas, diwakili oleh diagram kotak. Field-data atau atribut diwakili oleh diagram lingkaran
atau ellips. Hubungan atau relasi antar domain diwakili oleh jajarangenjang.
Entity dalam E-R diagram dibedakan menjadi 2 yaitu : Strong entity (entitas kuat): entitas yang mandiri, yang keberadaannya tidak bergantung pada keberadaan entitas yang lainnya. Instansiasi entitas kuat selalu memiliki karakteristik yang unik disebut identifier (sebuah atribut tunggal atau gabungan atribut-atribut yang secara unik dapat digunakan untuk membedakannya dari entitas kuat yang lain). Weak entity (entitas lemah): entitas yang keberadaannya sangat bergantung pada keberadaan entitas yang lainnya. Entitas lemah tidak memiliki arti apa-apa dan tidak dikehendaki kehadirannya dalam diagram ER tanpa kehadiran entitas di mana mereka bergantung. Entitas di mana entitas lemah bergantung dinamakan
identifying
owner.Entitas lemah tidak memiliki identifier sendiri. Secara umum, dalam diagram ER entitas lemah memiliki atribut yang berperan sebagai partial identifier (identifier yang berfungsi secara sebagian).
Mengapa jika terdapat set entitas yang sama muncul beberapa kali dalam satu set ER-Diagram ini harus dihindari? Untuk menghindari redundancy Menghemat penyimpanan (storage) data Mengurangi efektifitas dan kecepatan akses Untuk menghindari terjadinya asinkronisasi data pada saat diupdate Participation Constraint (Batasan Partisipasi) ini menentukan apakah keberadaan sebuah entitas tergantung pada hubungannya ke entitas lain melalui jenis relasinya.
Participation Constraint ada 2 yaitu : Total constraint adalah constraint yang mana data dalam entitas yang memiliki constraint tersebut terhubung secara penuh ke dalam entitas dari relasinya.
Constraint partial adalah constraint yang mana data dalam entitas yang memiliki constraint tersebut terhubung ke dalam entitas dari relasinya.
Derajat Kardinalitas Relasi Kardinalitas relasi menunjukkan jumlah maksimum data entitas yang dapat berelasi dengan entitas lain. Relasi satu :
Entity 1 to entity 2 : kardinalitas : one to many dengan detail minimal 0 dan maksimalnya banyak. Dependensi : entitas 1 dan entitas 2 tidak saling ketergantungan. Entity 2 to entity 1 : kardinalitas : many to one dengan detail minimal 1 dan maksimalnya 1. Dependensi : entitas 1 dan entitas 2 tidak saling ketergantungan. Relasi dua :
Entity 3 to entity 4 : kardinalitas : one to many dengan detail minimal 0 maksimalnya banyak. Dependensi : entitas 3 dan entitas 4 tidak saling ketergantungan. Entity 4 ke entity 3 : kardinalitas : many to one dengan detail minimal 1 maksimal 1. Dependensi : entitas 4 dan entitas 3 tidak saling ketergantungan.
Relasi tiga:
Entity 5 to entity 6 dan Entity 6 to entity 5 : kardinalitas : one to one dengan detail minimal 0 maksimalnya 1. Dependensi : entitas 5 dan entitas 6 tidak saling ketergantungan. Relasi empat:
Entity 7 to entity 8 : kardinalitas : one to one dengan detail minimal 0 maksimalnya 1. Dependensi : entitas 7 dan entitas 8 tidak saling ketergantungan. Entity 8 ke entity 7 : kardinalitas : one to one dengan detail minimal 1 maksimal 1. Dependensi : entitas 8 dan entitas 7 tidak saling ketergantungan. Relasi lima:
Entity 9 to entity 10 : kardinalitas : many to many dengan detail minimal 0 maksimalnya banyak. Dependensi : entitas 9 dan entitas 10 tidak saling ketergantungan. Entity 10 ke entity 9 : kardinalitas : many to many dengan detail minimal 1 maksimal banyak. Dependensi : entitas 10 dan entitas 9 tidak saling ketergantungan. Relasi enam:
Entity 13 to entity 14 : kardinalitas : one to many dengan detail minimal 0 maksimalnya banyak. Dependensi : entitas 13 menjadi parent dari entitas 14. Entity14 ke entity 13 : kardinalitas : many to one dengan detail minimal 1 maksimal 1. Dependensi : entitas 14 tergantung kepada entitas 13.
BAB III IMPLEMENTASI
3.1
PELAKSANAAN PRAKTIKUM Soal Latihan 1 : contoh kasus Pada saat mendaftar menjadi anggota perpustakaan, dicatatlah nama, nomor mahasiswa dan alamat mahasiswa. Setelah itu mereka baru bisa meminjam buku di perpustakaan. Buku-buku yang dimiliki perpustakaan banyak sekali jumlahnya. Tiap buku memiliki data nomor buku, judul, pengarang, penerbit, tahun terbit. Satu buku bisa ditulis oleh beberapa pengarang Tahapan pembuatan ERD 1. Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat. 2. Menentukan atribut-atribut key dari masing-masing himpunan entitas. 3. Mengidentifikasi dan menetapkan seluruh himpunan relasi diantara himpunan entitas- himpunan entitas yang ada beserta foreign key-nya. 4. Menentukan derajat/kardinalitas relasi untuk setiap himpunan relasi. 5. Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif (non key). Contoh 1. Entitas = Anggota, Buku 2. Atribut Key = Nomor Mahasiswa, Nomor Buku 3. Relasi Anggota Dengan Buku = Meminjam 4. 1 : N 5. Anggota = Nama Mahasiswa, Alamat Mahasiswa Buku = Judul, Pengarang, Penerbit, Tahun Terbit Penyelesaian Langkah 1
Langkah 2
Langkah 3
Langkah 4
Langkah 5
Jawaban
3.2
TUGAS Latihan 2 : menemukan entitas Dalam membuat desain database yang dilakukan pertama kali dengan menemukan entitasnya. Langkah-langkah menemukan entitas yaitu : 1. Buat ilustrasi/gambaran cerita tentang sistem yang akan dicari entitasnya. Contoh : Sistem Kepegawaian di perusahaan A Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin pengawas/mandor dari pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai yang lain. sehingga satu pengawas dapat memimpin beberapa pegawai. Setiap pegawai bekerja untuk suatu departemen dan dalam suatu departemen dapat terdiri dari beberapa pegawai. Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai tanggal tertentu. Sebuah departemen dapat berada di beberapa lokasi. Selain bekerja di suatu departemen pegawai dapat bekerja pada beberapa proyek. departemen,
Setiap proyek dikendalikan/diatur
namun
suatu
departemen
oleh suatu
tidak
harus
mengendalikan/mengatur proyek. Satu departemen dapat mengendalikan
beberapa proyek dan satu proyek hanya dikendalikan oleh satu departemen Satu proyek dapat terdiri dari beberapa pegawai. Untuk keperluan penggajian perusahaan memerlukan data tanggungan pegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang pegawai pindah maka datanya akan dipindahkan/dihapus berikut data tanggungan/keluarganya. 2. Tandai setiap objek yang diwakili oleh kata benda yang ada di dalam ilustrasi tersebut. Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin pengawas/mandor dari pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai yang lain. sehingga satu pengawas dapat memimpin beberapa
pegawai. Setiap
pegawai bekerja untuk suatu
departemen dan dalam suatu departemen dapat terdiri dari beberapa pegawai. Setiap departemen dikepalai oleh seorang pegawai
yang
bekerja mulai tanggal tertentu. Sebuah departemen dapat berada di beberapa lokasi. Selain bekerja di suatu departemen, pegawai dapat bekerja pada beberapa proyek. Setiap proyek dikendalikan/diatur oleh suatu
departemen,
mengendalikan/mengatur
namun
suatu
proyek.
departemen Satu
tidak
harus
departemen
dapat
mengendalikan beberapa proyek dan satu proyek hanya dikendalikan oleh satu departemen.Satu proyek dapat terdiri dari beberapa pegawai. Untuk keperluan penggajian perusahaan memerlukan data tanggungan pegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang pegawai pindah maka datanya akan dipindahkan/dihapus berikut data tanggungan/keluarganya. 3. Untuk setiap
objek tersebut
yakinkan
bahwa ia
karakteristik yang nanti disebut sebagai atribut. Perusahaan: NoPerusahaan, nama, alamat Pegawai: NoKTP, Nama, Alamat, Jenis kelamin,gaji Pengawas: NoKTP, Nama, Alamat, Jenis kelamin,gaji Departemen: Nomor, Nama, lokasi, jumlah pegawai Lokasi : lokasi
memiliki
Proyek: Nomor, nama, lokasi Tanggungan: nama, jenis kelamin, tanggal lahir, hubungan dengan pegawai. 4. Tentukan objek yang merupakan entitas (Jika memang ia memiliki karakteristik jadikan ia sebagai entitas). Perusahaan: NoPerusahaan, nama, alamat (hanya berisi satu baris data) bukan entitas Pegawai: NoKTP, Nama, Alamat, Jenis kelamin,gaji
entitas kuat
Pengawas:NoKTP, Nama, Alamat, Jenis kelamin,gaji
sama dengan
entitas Pegawai Departemen: Nomor, Nama, lokasi, jumlah pegawai
entitas kuat
Lokasi : lokasi (karakteristiknya departemen, tidak memiliki karakteristik lain (unik)) bukan entitas Proyek: Nomor, nama, lokasi
entitas kuat
Tanggungan: nama, jenis kelamin, tanggal lahir, hubungan dengan pegawai
entitas lemah (tergantung pada pegawai).
Soal 1. Dari entitas dan atribut yang ditemukan, buat desain database kepegawaian
menggunakan
ER-Diagram
dengan
relasi
yang
menghubungkan antar entity tersebut! 2. Lakukan mapping ER-Diagram ke tabel! 3. Buat desain CDM (Conceptual Data Model) dan PDM (Physical Data Model) utk database tersebut! (dengan menggunakan Power Designer).
Jawaban 1. Database kepegawaian menggunakan ER-Diagram
2. Mapping ER-Diagram ke tabel Pengawas/mandor No._KTP Nama Alamat Jenis_Kelamin Gaji
Pegawai No._KTP Nama Alamat Jenis_Kelamin Gaji
Proyek Nomor Nama Lokasi
Tanggungan Nama Jenis_Kelamin Tgl._Lahir Hubungan
Departement Nomor Nama Lokasi Jml_pegawai
3. Desain CDM dan PDM a) CDM
b) PDM
BAB IV PENUTUP
4.1
Kesimpulan Sebelum kita menuliskan kode untuk sebuah database, terlebih dahulu dibuat sebuah perancangan database yang nantinya berguna untuk mempermudah dalam membuat suatu database. Karena dari perancangan tersebut, kita tidak perlu memikirkan lagi kebutuhan-kebutuhan ketika memasukkan kode.
4.2
Saran Praktikan diberikan latihan untuk membuat ERD dari yang sederhana hingga kompleks dari sebuah studi kasus. Materi tentang CDM dan PDM belum dijelaskan dan belum ada pada modul, namun praktikan sudah diberi tugas tentang materi tersebut sehingga praktikan mengalami kebingungan dalam pengerjaan tugas modul 1.