LAPORAN PRAKTIKUM ANALISIS DESAIN TERSTRUKTUR PERTEMUAN 10 Disusun Oleh : Fadilah Susanto 135410077 LABORATORIUM TERPADU Sekolah Tinggi Manajemen Informatika dan Komputer AKAKOM Yogyakarta 2014 PERTEMUAN 10 DESAIN BASIS DATA A. PEMBAHASAN PRAKTIKUM Basis data Terdapat beberapa definisi basis data antara lain : Himpunan Kelompok Data (Arsip) yang saling berhubungan dan diorganisasikan sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (Redundasi) yang tidak perlu. Kumpulan File/Tabel/Arsip yang saling berhubungan yang disimpan dalam media penyimpan Elektronik. Sekumpulan informasi mengenai sesuatu tertentu yang memiliki keterkaitan logis, lengkap dan terstruktur. Suatu pengorganisasian sekumpulan data yang saling terkait sehingga memudahkan aktifitas untuk memperoleh informasi. Dari beberapa definisi diatas, maka dapat dikatakan Basis data adalah kumpulan data yang saling berkaitan dan terorganisasi dengan baik sehingga mudah untuk disimpan dan dimanipulasi. Tujuan dibangunnya Basis Data adalah : - Kecepatan dan kemudahan (Speed) - Efisiensi ruang penyimpanan (Space) - Keakuratan atau ketelitian (Accuracy) - Ketersediaan (Availability) - Kelengkapan (Completeness) - Keamanan (Security) - Kebersamaan pemakai (Shareability) Database Management Sistem (DBMS) Perangkat lunak (Software) yang berfungsi untuk mengelola basis data, mulai dari membuat database itu sendiri, sampai dengan proses-proses yang berlaku dalam database tersebut, baik berupa entry, edit, hapus, query terhadap data, membuat laporan dan lain sebagainya secara efektif dan efisien. Salah satu jenis DBMS yang sangat terkenal saat ini adalah Relational DBMS (RDBMS), yang merepresentasikan data dalam bentuk tabel-tabel yang saling berhubungan. Sebuah tabel disusun dalam bentuk baris (record) dan kolom (field) Contoh RDBMS : MySQL, Oracle, Sybase, dBase, MS. SQL, Microsoft Access (MS. Access) dan lain-lain. Model Data Relasional Diperkenalkan pertama kali oleh E.F.Codd (1970). Menggunakan sejumlah tabel untuk menggambarkan data serta hubungan antara data-data tersebut. Konsep basis data relasional Basis data relasional merupakan kumpulan dari relasi dengan nama-nama relasi yang berbeda, berbasis pada teori himpunan dan matematika (aljabar dan kalkulus relational). Relasi terbentuk dari 2 bagian : - Instan relasi - Tabel yang terdiri dari baris dan kolom - Skema - Menspesifikasikan nama dari suatu relasi ditambah nama dan type kolom Istilah dalam Model Relasional - Relasi Pada dasarnya berupa tabel dengan baris dan kolom yang bernama (tabel 2 dimensi) - Atribut / Field / Kolom Kolom yang bernama dalam suatu relasi, pada gambar-10.1 ditunjukkan jumlah atribut/field/kolom sebanyak 4 (Id_produk, Id_Jenis, Nm_Produk, dan Harga). - Degree jumlah atribut yang dimiliki relasi - Tupel / Record/ baris/ row Baris dari suatu relasi atau disebut juga elemen dari relasi. Berbeda dengan konsep record di file, tupel mempunyai jumlah kolom yang sama. Gambar10.1 menunjukkan jumlah baris/record/tuple sebanyak 5. - Kardinalitas Jumlah tupel dalam relasi, nilai kardinalitas adalah kondisi suatu saat dari suatu tabel jika tupel berubah maka kardinalitas ikut berubah - Domain Himpunan nilai yang diijinkan pada suatu atribut HASIL PRAKTIKUM 1. Tabel Buku PK : kd_buku Fungsi : menyimpan data buku No. Nama Field Type 1. kd_buku* character 2. judul varchar Panjang 8 25 Keterangan Kode Buku Judul Buku 3. pengarang varchar 25 Pengarang buku 4. penerbit varchar 25 Penerbit buku 5. thn_terbit integer 4 Tahun buku diterbitkan 6. stok integer 2 Stok buku Tabel buku ini Primary Key nya adalah kd_buku, tipe datanya character berkapasitas 8. 2. Table detail buku PK : id_buku FK : kd_buku Fungsi : menyimpan data tentang detail id buku dan status buku No. Nama Field Type Panjang Keterangan character 8 Id Buku 1. id_buku* character 8 Kode Buku 2. kd_buku** enum 1 “A”=ada, “D”=dipinjam 3. status Tabel detail buku ini Primary Key nya adalah id_buku, tipe datanya character berkapasitas 8. Dan Foreign Key nya adalah kd_buku yang berasal dari tabel Buku 3. Table Anggota PK : kd_anggota Fungsi : Menyimpan data anggota No. Nama Field Type Panjang Keterangan 1. kd_anggota* character 8 Kode anggota 2. nama_anggota varchar 25 Nama anggota 3. alamat varchar 30 Alamat anggota 4. no_telepon character 12 Nomor telepon anggota 5. jenis_kelamin enum 1 Jenis kelamin anggota ”P” atau ”L” Tabel Anggota ini Primary Key nya adalah kd_anggota, tipe datanya character berkapasitas 8. 4. Tabel pinjam PK : no_pinjam FK : kd_buku, kd_anggota Fungsi : Untuk menyimpan data peminjaman No. Nama Field Type Panjang Keterangan 1. no_pinjam* character 8 No peminjaman buku 2. kd_buku** character 8 Kode buku yang dipinjam 3. kd_anggota** character 8 Kode anggota yang meminjam buku 4. tgl_pinjam date Tanggal buku dipinjam 5. tgl_harus_kembali date Tanggal buku harus dikembalikan 6. petugas varchar 25 Nama petugas yang bertugas Tabel Pinjam ini Primary Key nya adalah no_pinjam, tipe datanya character berkapasitas 8. Foreign Key nya adalah kd_buku dari tabel Buku dan kd_anggota dari tabel Anggota 5. Tabel kembali PK : no_kembali FK : no_pinjam, kd_buku, kd_anggota Fungsi : Untuk menyimpan data pengembalian buku No. Nama Field Type Panjang 1. no_kembali* character 8 2. no_pinjam** character 8 3. kd_buku** character 8 4. kd_anggota** character 8 Keterangan No pengembalian buku No peminjaman buku Kode buku yang dipinjam Kode anggota yang meminjam buku 5. tgl_kembali date Tanggal buku dikembalikan 6. tgl_harus_kembali date Tanggal buku harus dikembalikan 7. petugas varchar 25 Nama petugas yang bertugas Tabel kembali ini Primary Key nya adalah no_kembali, tipe datanya character berkapasitas 8. Foreign Key nya adalah no_pinjam dari tabel Pinjam , kd_buku dari tabel Buku dan kd_anggota dari tabel Anggota 6. Tabel denda PK : no_denda FK : no_kembali, kd_anggota Fungsi : Untuk menyimpan data denda No. Nama Field Type 1. no_denda* character 2. kd_anggota** character 3. no_kembali ** character 4. keterlambatan integer 5. jml_buku integer Panjang 8 8 8 2 1 Keterangan No denda Kode anggota yang meminjam buku No pengembalian buku Jumlah keterlambatan dalam hari Jumlah buku yang terlambat dikembalikan 6. total integer 5 Total bayar denda Tabel denda ini Primary Key nya adalah no_denda, tipe datanya character berkapasitas 8. Foreign Key nya adalah no_kembali dari tabel Kembali dan kd_anggota dari tabel Anggota Tabel Relasi Relasi tabel seperti yang tergaambar diatas. B. TUGAS Lihat kasus yang ada pada modul sebelumnya, buatlah desain tabel dan relasi antar tabelnya dari sistem informasi akademik untuk transaksi KRS mahasiswa 1) Tabel Mahasiswa PK : nim Fungsi : Untuk menyimpan data mahasiwa No. Nama Field Type Panjang 1. nim * character 9 2. nama varchar 25 3. jenjang character 2 4. jurusan character 20 5. tgl_lahir date 6. jenis_kelamin enum 1 Keterangan NIM mahasiswa Nama mahasiswa Jenjang yang ditempuh Jurusan mahasiswa Tanggal lahir mahasiwa Jenis kelamin mahasiswa ”P” atau ”L” 7. alamat varchar 30 Alamat mahasiswa 8. no_telepon character 12 Nomor telepon mahasiswa Tabel mahsiwa ini Primary Key nya adalah no_kembali, tipe datanya character berkapasitas 9. 2) Tabel Dosen PK : nip Fungsi : Untuk menyimpan data dosen No. Nama Field Type Panjang Keterangan 1. nip* character 9 Nomor induk pegawai 2. nama varchar 25 Nama dosen 3. tgl_lahir date Tanggal lahir dosen 4. jenis_kelamin enum 1 Jenis kelamin anggota ”P” atau ”L” 5. alamat varchar 30 Alamat dosen 6. no_telepon character 12 Nomor telepon dosen Tabel dosen ini Primary Key nya adalah nip, tipe datanya character berkapasitas 9. C. LISTING Terlampir