Modul 3 Konsep Perancangan Basis Data A. Tujuan Pratikum a) Tujuan 1. Praktikan mampu merancang basis data yang baik. 2. Praktikan mampu membuat dan menjelaskan hubungan antar data dalam suatu basis data. B. Alat dan Bahan 1. Modul pratikum APSI TI 2. Software Ms. Visio C. Dasar Teori 1. Pendefinisian ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi. ERD berguna untuk memodelkan struktur data dan hubungan antar data, untuk menggambarkannya digunakan beberapa notasi dan simbol. Pada dasarnya ada tiga simbol yang digunakan, yaitu: a. Entity atau Entitas Entitas merupakan objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain. Simbol dari entitas ini biasanya digambarkan dengan persegi panjang. Ada dua jenis entitas yakni : Strong entity (entitas kuat): entitas yang mandiri, yang keberadaannya tidak bergantung pada keberadaan entitas yang lainnya. Entitas kuat selalu memiliki karakteristik yang unik disebut identifier (sebuah atribut tunggal atau gabungan atributatribut 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 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). Bagaimana jika terdapat set entitas yang sama muncul beberapa kali dalam satu set ERD, hal ini harus dihindari dikarenakan: Untuk menghindari redundancy Menghemat penyimpanan (storage) data Mengurangi efektifitas dan kecepatan akses Untuk menghindari terjadinya asinkronisasi data pada saat diupdate b. Atribut Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Isi dari atribut mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu dengan yang lain. Simbol dari atribut ini biasanya digambarkan dengan bentuk oval. Ada beberapa jenis atribut yakni: 1) Simple Attribute (Atribut biasa) merupakan atribut yang memiliki nilai pasti dan tidak ganda. Misalnya: bagi setiap mahasiswa yang di kuliah di satu kampus, mereka hanya memiliki satu atribut NIM, jenis kelamin, dan sebagainya yang tidak bernilai ganda. 2) Composite Attribute (Atribut gabungan) merupakan atribut yang memiliki nilai gabungan dari beberapa atribut lainnya. Misalnya: nama bisa terdiri dari nama depan, nama tengah dan nama belakang atau alamat yang bisa terdiri dari jalan, nomor, kecamatan, kota. 3) Multi-valued Attribute (Atribut bernilai ganda) merupakan atribut yang memiliki nilai bisa lebih dari satu. Misalnya: no handphone yang dimiliki entitas mahasiswa, bisa saja satu mahasiswa memiliki lebih dari satu no hanphone. 4) Derived Attribute merupakan atribut yang nilainya dapat diperoleh dari nilai atribut lain. Misalnya: umur bisa menjadi atribut untuk seorang manusia, tetapi umur tersebut hanya dapat diperoleh, jika terdapat atribut tanggal lahir. Maka, umur adalah derived attribute yang nilainya bisa didapatkan dari kalkulasi tanggal lahir. 5) Key Attribute merupakan atribut yang memiliki nilai unik. Di mana nilai tersebut tidak berubah-ubah, seperti NIM, ID pegawai, dan sejenisnya. Key attribute juga tidak bisa bernilai NULL. Untuk atribut jenis ini, masih ada kemungkinan untuk menjadi composite attribute. Kemudian, untuk setiap entitas bisa saja memiliki lebih dari satu Key attribute. Contohnya, taksi yang memiliki nomor taksi dan plat mobil yang unik. c. Hubungan / Relasi / Kardinalitas Hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Relasi yang terjadi diantara dua himpunan entitas (misalnya A dan B) dalam satu basis data yaitu : 1) Satu ke satu (One to one) Hubungan relasi satu ke satu yaitu setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan entitas B. Contoh : Rektor dengan (dan) Universitas dengan relasi memimpin, mahasiswa dengan NIM dengan relasi memiliki, dll 2) Satu ke banyak (One to many) Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi setiap entitas pada entitas B dapat berhubungan dengan satu entitas pada himpunan entitas A. Contoh : Pembeli dengam Mobil dengan relasi membeli, Dosen dengan Mata Kuliah dengan relasi mengajar, dll 3) Banyak ke banyak (Many to many) Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B. Contoh : Pegawai dengan Proyek dengan relasi Bekerja pada, Pegawai dengan Bagian dengan relasi Ditugaskan ke, dll. Berikut adalah contoh dari Entity Relationship Diagram dari transaksi penerbangan. KTP Nama ID_Transaksi Calon Penumpang 1 melakukan N Transaksi Penerbangan No_Telp Harga Gambar 1 Contoh ERD Jadwal 2. Contoh Kasus Pembuatan ERD Maskapai penerbangan PT. Prodase Airlines dalam ulang tahun ke 25 tahun ingin membuat sebuah gebrakan baru dalam system penerbangannya. Pak Syahputra sebagai CEO PT. Prodase Airlines berinovasi untuk membuat reservasi online dari system pemesanan maskapainya. Jadi system yang diinginkan Pak Syahputra adalah pelanggan wajib melakukan satu kali reservasi dari manapun dan kapanpun ketika pelanggan sudah mengakses website. Pelanggan dapat melakukan pemesanan tiket secara online melalui internet untuk penerbangan tertentu. Data-data yang perlu diberikan oleh pelanggan tersebut antara lain adalah nama, alamat dan nomor telepon yang dapat dihubungi, selain itu secara otomatis pelanggan mendapatkan nomor pelanggan dari sistem. Pelanggan hanya perlu membuka website prodaseairlines.com lalu memasukkaan kota keberangkatan dan kota tujuan, lalu system akan menampilkan data pesawat yang available. Setelah itu pelanggan memilih pesawat mana yang dipilih untuk reservasi setelah itu data reservasi pun tersimpan. Dari analisa yang telah dilakukan, kemudian tentukanlah entitas dan atribut, kemudian tentukanlah relationship yang terjadi dan kemudian gambarkanlah ERD-nya. Setelah itu tentukan kardinalitas yang terjadi dalam relationship tersebut, lalu tentukanlah primary key dari entitas yang ada. Untuk selanjutnya menyesuaikan gambar ERD yang telah dibuat berdasarkan primary key yang telah didefinisikan! (1) Entitas Pelanggan nama, alamat, nomor telepon yang dapat dihubungi, nomor pelanggan dari sistem atau ID_Pelanggan Reservasi Pesawat Kota Berangkat, Kota Tujuan, Tanggal Reservasi, ID_Transaksi, ID_Pelanggan, ID_Pesawat, dan Harga Pesawat ID_Pesawat, Tipe Pesawat, Jumlah Penumpang Pesawat (2) Untuk membuat ERD dalam Ms. Visio, create Chen’s Database Notation yang ada pada sub-kategori “Database” (3) Hingga muncul halaman muka Chen’s Database Notations seperti dibawah ini. Di bagian sebelah kiri terdapat notasi ERD. (4) Kemudian buatlah perancangan ERD dari soal yang sudah dianalisa seperti di bawah ini. ID_Transaksi Alamat Nama Kota_Asal Kota_Tujuan ID_Pelanggan Harga Calon Penumpang No_Telp 1 melakukan N Transaksi Penerbangan ID_Pelanggan Tanggal_Reservasi N ID_Peasawat terdiri_dari 1 ID_Peasawat Pesawat Tipe_Pesawat Jumlah_Penumpang