Semester Ganjil TA 2015-2016 Heru Nugroho, S.Si., M.T. No Tlp : 081394322043 Email : [email protected] • Pada basisdata relasional, satu tabel menyatakan satu relasi. • Setiap kolom pada tabel disebut atribut. • Setiap tabel pada basis data diimplementasikan secara fisik sebagai sebuah file. • Atribut khusus pada tabel yang mengidentifikasikan secara unik elemen relasi disebut kunci (key). • Satu baris data pada tabel menyatakan sebuah record, dan setiap atribut menyatakan sebuah field. • Secara fisik basis data adalah kumpulan file, sedangkan file adalah kumpulan record, setiap record terdiri atas sejumlah field. • Sebagai contoh basis data mahasiswa memuat field yang berisi nama mahasiswa, nim, program studi, dan IPK. • Untuk merancang suatu basis data dimulai dengan menerjemahkan suatu proses bisnis yang ada dalam sebuah organisasi kedalam bentuk diagram relasi antar entitas (ERD). • Jadi dengan bahasa sederhana adalah membuat relasi pada objek objek yang akan dibangun basis datanya. • Berdasarkan ERD itulah kemudian tabel-tabel yang berisi field disusun. • Seorang Dosen dapat mengajar beberapa mata kuliah dalam satu semester. • Atribut Dosen adalah Kd_Dosen, Nama, dan Prodi sedangkan atribut mata kuliah adalah Kode_Mk, Nama_Mk, dan sks. • Jika pernyataan tersebut digambarkan dalam bentuk ER diagram, maka akan dihasilkan bentuk relasi sebagai berikut. Kode_Dosen Nama Dosen Prodi 1 Kode_MK Mengambil m Nama_Mk Mata Kuliah SKS • Simbol persegi panjang menggambarkan entitas • Simbol belah ketupat menggambarkan relasi. • Simbol 1 dan m menyatakan kardinalitas atau derajat suatu relasi. • Bentuk elips menggambarkan atribut pada relasi yang nantinya akan menjadi kolom-kolom pada tabel. • Kardinalitas Relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas lain. • Dalam database digunakan untuk menentukan jumlah tabel yang dihasilkan • Macam Kardinalitas ada 4 (empat) yaitu – Satu ke Satu (One to One) – Satu ke Banyak (One to Many) – Banyak ke Satu (Many to One) – Banyak ke Banyak (Many to Many) Kd_pd tujuan Tgl_awal Nama_keg Lama_hari Kd_keg Tgl_awal Total_biaya_pd Perjalanan_dinas 1 1 memiliki kegiatan Tabel Perjalanan_dinas Kd_pd Tujuan Tgl_awal Lama_hari Tabel Kegiatan Kd_keg Nama_keg Tgl_awal Kd_pd Total_biaya_pd Kd_peminjaman Peminjaman Tanggal_pinjam n mencatat 1 Karyawan nip nama Tabel Karyawan alamat nip Nama Alamat Tgl_lahir Tabel Peminjaman Kd_peminjaman Tanggal_pinjam nip Tgl_lahir kd_buku Buku nama_buku Tabel Peminjaman Kd_peminjaman Tanggal_pinjam n memiliki Lama_pinjam Tabel Buku Kd_buku Nama_buku m Kd_peminjaman Peminjaman Tanggal_pinjam Tabel Detail Peminjaman Kd_peminjaman Kd_buku Lama_pinjam • Operasi yang dilakukan terhadap basisdata dilakukan dengan perintah pertanyaan yang disebut query. Contoh query: • “tampilkan semua mahasiswa yang mengambil mata kuliah Matematika Diskrit” • “tampilkan daftar nilai mahasiswa dengan NIM = 13598015” • Ada beberapa operasi yang dapat digunakan, diantaranya adalah seleksi, proyeksi, dan join. • Operasi seleksi memilih baris tertentu dari suatu tabel yang memenuhi persyaratan tertentu. • Operator: NIM 13598011 13598011 13598014 13598015 13598015 13598015 13598019 13598021 13598021 13598025 13598025 13598025 13598025 Nama Amir Amir Santi Irwan Irwan Irwan Ahmad Cecep Cecep Hamdan Hamdan Hamdan Hamdan MatKul Matematika Diskrit Arsitektur Komputer Algoritma Algoritma Struktur Data Arsitektur Komputer Algoritma Algoritma Arsitektur Komputer Matematika Diskrit Algoritma Struktur Data Arsitektur Komputer Nilai A B D C C B E B B B A C B • Misalkan untuk relasi MHS kita ingin menampilkan daftar mahasiswa yang mengambil mata kuliah Matematik Diskrit. Operasi seleksinya adalah Matkul=”Matematika Diskrit” (MHS) • Hasil: • (13598011, Amir, Matematika Diskrit, A) • (13598025, Hamdan, Matematika Diskrit, B) 1. 2. Jika kita ingin menampilkan daftar mahasiswa dari relasi MHS yang mendapatkan nilai A, tentukan operasi seleksi dan hasilnya! Jika kita ingin menampilkan mahasiswa dengan NIM = 13598025, tentukan operasi seleksi dan hasilnya! NIM 13598011 13598011 13598014 13598015 13598015 13598015 13598019 13598021 13598021 13598025 13598025 13598025 13598025 Nama Amir Amir Santi Irwan Irwan Irwan Ahmad Cecep Cecep Hamdan Hamdan Hamdan Hamdan MatKul Matematika Diskrit Arsitektur Komputer Algoritma Algoritma Struktur Data Arsitektur Komputer Algoritma Algoritma Arsitektur Komputer Matematika Diskrit Algoritma Struktur Data Arsitektur Komputer Nilai A B D C C B E B B B A C B • Operasi proyeksi memilih kolom tertentu dari suatu tabel. • Jika ada beberapa baris yang sama nilainya, maka hanya diambil satu kali. • Operator: • Misalkan untuk relasi MHS kita ingin menampilkan daftar nama mahasiswa, mata kuliah, dan Nilai. Operasi proyeksinya adalah Nama, MatKul, Nilai (MHS) • Operasi proyeksi: Nama, MatKul, Nilai (MHS) Nama Amir Amir Santi Irwan Irwan Irwan Ahmad Cecep Cecep Hamdan Hamdan Hamdan Hamdan MatKul Matematika Diskrit Arsitektur Komputer Algoritma Algoritma Struktur Data Arsitektur Komputer Algoritma Algoritma Arsitektur Komputer Matematika Diskrit Algoritma Struktur Data Arsitektur Komputer Nilai A B D C C B E B B B A C B 1. 2. Misalkan untuk relasi MHS kita ingin menampilkan daftar NIM dan Nama, tentukan Operasi proyeksinya dan Tabelnya! Misalkan untuk relasi MHS kita ingin menampilkan daftar NIM, dan Nilai, tentukan Operasi proyeksinya dan Tabelnya! NIM 13598011 13598011 13598014 13598015 13598015 13598015 13598019 13598021 13598021 13598025 13598025 13598025 13598025 Nama Amir Amir Santi Irwan Irwan Irwan Ahmad Cecep Cecep Hamdan Hamdan Hamdan Hamdan MatKul Matematika Diskrit Arsitektur Komputer Algoritma Algoritma Struktur Data Arsitektur Komputer Algoritma Algoritma Arsitektur Komputer Matematika Diskrit Algoritma Struktur Data Arsitektur Komputer Nilai A B D C C B E B B B A C B • Operasi join menggabungkan dua buah tabel menjadi satu bila kedua tabel mempunyai atribut yang sama. • Operator: • Misalkan relasi MHS1 dinyatakan dengan Tabel A dan relasi MHS2 dinyatakan dengan Tabel B Operasi join NIM, Nama(MHS1, MHS2) Tabel A Tabel B NIM Nama JK 13598001 Hananto L 13598002 Guntur L 13598004 Heidi W 13598006 Harman L 13598007 Karim L NIM Nama MatKul Nilai 13598001 Hananto Algoritma A 13598001 Hananto Basisdata B 13598004 Heidi Kalkulus I B 13598006 Harman Teori Bahasa C 13598006 Harman Agama A 13598009 Junaidi Statisitik B 13598010 Farizka Otomata C NIM, Nama(MHS1, MHS2) NIM Nama JK MatKul Nilai 13598001 Hananto L Algoritma A 13598001 Hananto L Basisdata B 13598004 Heidi W Kalkulus I B 13598006 Harman L Teori Bahasa C 13598006 Harman L Agama A NIM, Nama(MHS2, MHS1) NIM Nama MatKul Nilai JK 13598001 Hananto Algoritma A L 13598001 Hananto Basisdata B L 13598004 Heidi Kalkulus I B W 13598006 Harman Teori Bahasa C L 13598006 Harman Agama A L • Operasi join antara tabel “Mahasiswa” dengan tabel “Matakuliah” (MHS MTKL) • Hasil operasi join antara tabel “Mahasiswa” dengan tabel “Matakuliah” (Tabel baru namai dengan Tabel “KSM” • Berdasarkan hasil pada jawaban sebelumnya tentukan operasi proyeksi untuk menampilkan NIM,Matakuliah, dan Kelas