Upload
others
View
44
Download
0
Embed Size (px)
Citation preview
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
1
MODUL Konsep Basis Data
Pengampu:
Firma Sahrul B. S.Kom. M.Eng
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
2
A. TUJUAN PEMBELAJARAN
Mahasiswa dapat menginstal XAMPP dan koneksi MySQL dengan CMD
B. MATERI:
MySQL merupakan salah satu DBMS yang bersifat freeware, sehingga menjadi popular di
kalangan pengguna database. Selain karena Free, MySQL juga merupakan DBMS yang relatif
ringan dan mudah digunakan. Ada beberapa software yang bisa digunakan untuk menjalankan
service MySQL, diantaranya WAMP, PhpTriad dan XAMPP. Namun XAMPP merupakan yang
paling popular saat ini karena masih terus dilakukan update pada software nya.
XAMPP merupakan program paket yang di dalamnya terdapat beberapa software yang
digabungkan menjadi satu. Dalam XAMPP sendiri didalamnya terdapat 5 software yang berbeda
(MySql, Apache, FileZilla, Mercury, Tomcat). Jadi ketika menginstall XAMPP kita tidak perlu
lagi menginstall Apache dan MySQL secara terpisah.
C. PRAKTIKUM
1. Langkah pertma yaitu siapkan master software XAMPP lalu lakukan instalasi di PC anda.
Setelah selesai instalasi lakukan setting seperti gambar di bawah ini.
Pada bagian Actions tekan start pada baris Apache dan MySQL sebelum memulai
menggunakan PHPMyAdmin.
2. Cek apakah web server dan MySQL sudah aktif apa belum dengan mengunjungi url
localhost/phpmyadmin pada browser anda.
Praktikum 1 : Instalasi XAMPP dan Koneksi CMD
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
3
3. Buka CMD lalu ketikkan perintah cd c:/xampp/mysql/bin, setelah masuk di folder bin
ketikkan perintah mysql –u root –p untuk membuka koneksi MySQL di CMD, sehingga anda
bisa menjalankan perintah atau melakukan perubahan database melalui perintah di CMD.
Silahkan lewati password dengan langsung menekan enter.
4. Anda bisa memulai latihan pembuatan database melalui perintah SQL di CMD.
5. CREATE DATABASE nama_database; => perintah untuk membuat database baru.
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
4
6. USE nama_database; => perintah untuk memilih database yang akan digunakan.
7. CREATE TABLE nama_tabel (nama_kolom tipe_data); => perintah untuk membuat tabel
baru.
D. LATIHAN
1. Screenshot langkah-langkah instalasi XAMPP anda secara detail beserta penjelasannya.
2. Buatlah sebuah database dan beberapa tabel dan screenshot hasil perintahnya.
3. Laporan praktikum diperiksa oleh asisten pada sesi ke 2 praktikum.
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
5
A. TUJUAN PEMBELAJARAN
Mahasiswa dapat memahami perintah dasar SQL insert, update dan delete.
B. MATERI:
Database dapat diperumpamakan sebagai jantung dari Sistem Informasi. Karena sebagai tempat
dimana data disimpan dari hasil inputan, diolah data tersebut oleh sistem menjadi sebuah
informasi, dan informasi tersebut disimpan lagi ke dalam database. Berikut perintah dasar dalam
MySQL.
INSERT digunakan untuk menyisipkan (menambahkan) record baru dalam sebuah tabel.
UPDATE digunakan untuk mengubah data yang telah ada.
DELETE menghapus record di dalam database.
C. PRAKTIKUM
1. Buka CMD anda lalu buka MySQL seperti langkah pada pertemuan pertama. Langkah pertama
gunakan perintah USE nama_database; untuk memilih database mana yang akan digunakan.
Praktikum 2 : Insert, Update dan Delete
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
6
2. Untuk menambahkan data baru, gunakan perintah INSERT berikut ini => INSERT INTO
mahasiswa (nim, nama_siswa, alamat) VALUES (‘M3119000’,’ Alex’,’Solo’);
3.Untuk mengubah data yang ada dalam database, gunakan perintah UPDATE berikut ini =>
UPDATE mahasiswa SET nama_siswa = ‘Arif’ WHERE nim = ‘m311900’;
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
7
3. Untuk menghapus data yang ada dalam database, gunakan perintah DELETE berikut ini =>
DELETE FROM WHERE nim = ‘m311900’;
D. LATIHAN
1. Buatlah contoh 5 tabel untuk sistem informasi travel.
2. Setiap tabel anda isi dengan record sebanyak 4 record.
3. Coba ubahlah data salah satu record.
4. Coba Delete salah satu record.
5. Setiap perintah dan hasilnya kalian capture dan dikasih keterangan untuk dibuat laporan
praktikum.
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
8
A. TUJUAN PEMBELAJARAN
Mahasiswa dapat memahami perintah dasar SQL select.
B. MATERI:
Perintah select di dalam database berfungsi untuk menampilkan data yang ada di dalam database
yang nantinya dapat digunakan untuk proses di dalam sistem informasi. Berikut perintah dasar
select dalam MySQL.
a) Menampilkan semua data
Berikut adalah cara untuk menampilkan semua data record didalam sebuah table
perintah: SELECT * FROM <nama table>
contoh: SELECT * FROM mahasiswa
b) Menampilkan data record di field tertentu
perintah : SELECT <nama field yang ingin ditampilkan> FROM <nama table>
contoh : SELECT nim,nama,alamat FROM mahasiswa
c) Menampilkan data record dengan perubahan nama field
perintah: SELECT <nama field> AS <pengganti nama field> FROM <nama table>
contoh: SELECT nim AS nomor_identitas, nama AS nama_identitas FROM mahasiswa
d) Menampilkan data record dengan kondisi
perintah: SELECT * FROM <nama table> WHERE <kondisi>
contoh: SELECT * FROM mahasiswa WHERE tanggal_lahir='1988-01-06'
SELECT * FROM mahasiswa WHERE tanggal_lahir ='1988-01-06' AND
tempat_lahir='Surakarta'
e) Menampilkan data dengan urutan (ORDER BY)
perintah: SELECT * FROM <nama_table> ORDER BY <nama_field yang ingin diurutkan>
<menuliskan DESC untuk pengurutan dari besar, ASC untuk pengurutan dari kecil>
contoh: SELECT * FROM mahasiswa ORDER BY nama ASC
f) Menampilkan data record dengan kemiripan data (LIKE)
perintah: SELECT * FROM <nama table> WHERE nama LIKE '<kemiripan>'
contoh: SELECT * FROM mahasiswa WHERE nama LIKE 'Ana%'
Praktikum 3 : Perintah Select Dasar
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
9
C. PRAKTIKUM
Menampilkan semua data di dalam tabel buku.
SELECT * FROM buku;
Menampilkan record dengan sebuah kondisi sebuah tabel
SELECT * FROM buku WHERE tahun_terbit = ‘2018’;
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
10
Menampilkan record dengan perubahan nama field
SELECT judul AS novel FROM buku WHERE tahun_terbit = ‘1991’;
Menampilkan data dengan urutan
SELECT * FROM buku ORDER BY judul DESC;
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
11
Menampilkan data record dengan kemiripan data
SELECT * FROM buku WHERE judul LIKE ‘Mil%’;
D. LATIHAN
a) Menampilkan semua data di semua tabel
b) Menampilkan data record di field tertentu di 2 tabel.
c) Menampilkan data record dengan perubahan nama field di 2 tabel.
d) Menampilkan data record dengan kondisi (WHERE) di 2 tabel
e) Menampilkan data dengan urutan (ORDER BY) di salah satu tabel ASC dan DESC
f) Menampilkan data record dengan kemiripan data di 2 tabel.
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
12
A. TUJUAN PEMBELAJARAN
Mahasiswa dapat memahami perintah dasar SQL Alter Table.
B. MATERI:
ALTER TABLE adalah salah satu perintah di database MySQL untuk merubah struktur tabel baik
itu merubah nama tabel, merubah nama kolom di dalam tabel, merubah tipe data dan juga
menghapus kolom di dalam suatu tabel.
C. PRAKTIKUM
Menambah kolom dalam tabel anda bisa menggunakan perintah berikut ini:
ALTER TABLE nama_table ADD nama_kolom;
Menghapus yang sudah ada dalam tabel, anda bisa menggunakan perintah ini
ALTER TABLE nama_table DROP nama_kolom;
Praktikum 4 : Perintah Alter Table
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
13
Untuk merubah tipe data suatu kolom di tabel, anda bisa menggunakan perintah dibawah ini:
ALTER TABLE nama_table MODIFY nama_kolom tipe_data_baru;
Untuk merubah nama suatu table, anda bisa menggunakan perintah dibawah ini
ALTER TABLE nama_table RENAME nama_tabel_baru;
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
14
D. LATIHAN
a) Tambahkan 1 kolom/field dari semua tabel di database anda.
b) Hapus 1 kolom/field dari semua tabel di database anda.
c) Ubahlah tipe data salah satu kolom/field dari semua tabel di database anda .
d) Ubahlah salah satu nama tabel di database anda.
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
15
A. TUJUAN PEMBELAJARAN
Mahasiswa dapat memahami dan membuat relasi tabel menggunakan primary dan foreign key.
B. MATERI:
Primary Key adalah salah satu atribut pada kolom yang digunakan untuk memberikan kunci primer
pada sebuah kolom. Ciri-ciri dari sebuah primary key adalah:
Primary Key mempunyai nilai unik (tidak boleh ada data yang duplikat).
Sebuah Primary Key tidak boleh Null (kosong)
Sebuah tabel hanya boleh memiliki satu primary key.
Foreign Key adalah Primary Key yang berasal dari tabel lain, digunakan untuk menandai suatu
tabel yang terhubung dengan tabel lain, dalam konteks tabel parent dan child. Sebuah tabel
dikatakan child bila memiliki suatu field yang merupakan reference terhadap key di tabel parent.
Hal ini digunakan untuk menjaga konsistensi dan keterkaitan antar tabel.
C. PRAKTIKUM
Menambah primary key pada sebuah tabel
ALTER TABLE nama_table ADD PRIMARY KEY (nama_kolom);
Praktikum 5 : Relasi Tabel Dengan Primary dan Foreign Key
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
16
Menghapus atau membatalkan penambahan primary key
ALTER TABLE nama_table DROP PRIMARY KEY;
Menambahkan Foreign Key yang memiliki relasi dengan tabel child
Pertama-tama tambahkan nama kolom yang ingin dijadikan foreign key (primary key dari tabel
lain yang direlasikan). Disini tabel dosen akan saya relasikan dengan tabel matkul, dimana primary
key dari tabel dosen akan masuk ke tabel matkul sebagai foreign key. Jadi saya akan
menambahkan kolom nip di dalam tabel matkul (jangan lupa tipe data dan ukurannya disamakan)
ALTER TABLE matkul ADD nip (4);
Lalu tambahkan tanda foreign key pada kolom nip yang baru dibuat dengan menggunakan
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
17
perintah: ALTER TABLE matkul ADD FOREIGN KEY (nip) REFERENCES dosen (nip);
Dapat anda lihat kolom nip pada bagian key ada tanda ‘MUL’ yang artinya berhasil menjadi
foreign key. Buka PHPMyAdmin anda, pilih database terlebih dahulu, lalu bagian pojok kanan
atas anda pilih More > Designer maka akan tampil relasi antar tabel yang telah berhasil dibuat.
D. LATIHAN
a) Tambahkan 1 Primary key pada semua tabel di database anda.
b) Cobalah hapus salah satu Primary key pada tabel anda.
c) Tambahkan semua foreign key pada tabel yang saling berhubungan atau tabel yang memiliki
relasi.
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
18
A. TUJUAN PEMBELAJARAN
Mahasiswa dapat memahami dan membuat sebuah normalisasi database
B. MATERI:
Normalisasi database merupakan suatu pendekatan sistematis untuk meminimalkan redundansi
data (perulangan terus-menerus) pada suatu database agar database tersebut dapat bekerja dengan
optimal. Normalisasi database memiliki tujuan menyederhanakan database yang memiliki tabel
yang bersifat universal (tidak spesifik) atau biasa dinamakan tabel belum ternormalisasi.
Berikut beberapa tahapan dalam normalisasi database:
1. Unnormalized form / UNF
2. Normal Tahap Pertama / 1NF
3. Normal Tahap Kedua / 2NF
4. Normal Tahap Ketiga / 3NF
5. Boyce–Codd normal form / BCNF
6. Normal Tahap Keempat / 4NF
7. Normal Tahap Kelima / 5NF
C. PRAKTIKUM
Menyederhanakan tabel yang belum ternormalisasi
Siapkan terlebih dahulu contoh tabel yang belum ternormalisasi
Praktikum 6 : Normalisasi Database
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
19
Aturan Normalisasi Tahap Pertama / 1NF
1. Kolom hanya boleh diisi satu data, tidak boleh multiatribut.
2. Nilai yang disimpan dalam kolom harus tipe data yang sama.
3. Semua kolom dalam tabel harus memiliki nama yang unik.
4. Dan urutan di mana data disimpan, tidak masalah.
Kegunaan Normalisasi
1. Insertion Anomaly : menghindari pengisian data sama yang berulang-ulang.
2. Updation Anomaly: menghindari update data yang terlewatkan jika ada salah satu data yang
diupdate.
3. Deletion Anomaly: menghindari data lain ikut terdelete jika kita mendelete salah satu data.
D. LATIHAN
1. Buatlah tabel seperti diatas menggunakan perintah SQL.
2. Normalisasikan tabel SQL diatas dalam bentuk 1NF menjadi beberapa tabel.
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
20
A. TUJUAN PEMBELAJARAN
Mahasiswa dapat memahami dan membuat sebuah normalisasi database 2NF
B. MATERI:
2NF atau bentuk normalisasi tahap 2 adalah tahap normalisasi yang dilakukan setelah kita
membuat normalisasi 1NF terlebih dahulu, syarat dari 2NF sebagai berikut.
1. Sudah dalam bentuk 1NF
2. Jika ada atribut yang tidak memiliki ketergantungan pada primary key maka atribut harus
dipindah atau dihilangkan.
Contoh tabel Bentuk 1NF
kd_matkul tidak bergantung pada NIM, sehingga kita normalisasikan menjadi atau kita jadikan ke
dalam bentuk 2NF menjadi seperti dibawah ini.
Tabel MHS Tabel Matkul
Praktikum 7 : Normalisasi Database 2
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
21
D. LATIHAN
1. Buatlah tabel seperti gambar dibawah ini menggunakan perintah SQL.
2. Normalisasikan tabel diatas dalam bentuk Tabel yang memenuhi 2NF.
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
22
A. TUJUAN PEMBELAJARAN
Mahasiswa dapat memahami dan membuat sebuah normalisasi database 3NF
B. MATERI:
3NF atau bentuk normalisasi tahap 3 adalah tahap normalisasi yang dilakukan setelah kita
membuat normalisasi 2NF terlebih dahulu, syarat dari 3NF sebagai berikut.
1. Sudah dalam bentuk 2NF
2. Tidak ada atribut non primary key yang memiliki ketergantungan non primary key yang
lainnya.
Contoh tabel Bentuk 2NF
no_imei tipe warna toko harga
5001 Samsung Galaxy S8 Putih Iwan cell 10.000.000
A001 IPhone X Putih Singosaren cell 12.000.000
Tabel diatas masih belum memenuhi syarat 3NF karena toko tidak bergantung pada warna, dan
hanya bergantung pada no_imei sehingga kita normalisasikan menjadi atau kita jadikan ke dalam
bentuk 3NF menjadi seperti dibawah ini.
no_imei tipe warna
5001 Samsung Galaxy S8 Putih
A001 IPhone X Putih
no_imei toko harga
5001 Iwan cell 1.000.000
A001 Singosaren 1.200.000
Praktikum 8 : Normalisasi Database 3
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
23
D. LATIHAN
1. Buatlah tabel seperti gambar dibawah ini menggunakan perintah SQL.
no_ujian nama_peserta alamat nilai keterangan ruang pengawas
UB01 Aris Handoko Surakarta 80 lulus A1 Hariadi
UB02 Amanda
Trisna
Karanganyar 85 lulus A1 Hariadi
UB03 Bagas
Dermawan
Boyolali 50 Tidak lulus B1 Puji
lestari
UB04 Cecep
Wahyudi
Sragen 90 lulus B1 Puji
lestari
UB05 Caca amalia Klaten 85 lulus C1 Krisna
UB06 Dedi Mulyadi Wonogiri 50 Tidak lulus D1 Siswanto
UB07 Dimas Prakoso Sukoharjo 80 Lulus D1 Siswanto
2. Normalisasikan tabel diatas dalam bentuk Tabel yang memenuhi 3NF. Jangan lupa dikasih
primary key dan relasi antar tabel.
no_ujian (PK) nama_peserta alamat
UB01 Aris Handoko Surakarta
UB02 Amanda Trisna Karanganyar
Kd_nilai (PK) nilai keterangan No_ujian (FK)
N1 80 lulus UB01
N2 85 lulus UB02
ruang (PK) pengawas No_ujian (FK)
A1 Hariadi UB01
B1 Puji UB02
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
24
A. TUJUAN PEMBELAJARAN
Mahasiswa dapat memahami dan menerapkan penggunaan Operator AND, OR and NOT.
B. MATERI:
Logika AND digunakan untuk menentukan syarat untuk dipenuhi. Jadi ketika kita menambahkan
logika AND ke dalam syarat yang kita tentukan, maka akan ditampilkan data yang memenuhi
semua syarat yang diberikan. Karena semua syarat yang diberikan tersebut saling terkait.
SELECT * FROM namatabel WHERE syarat1 AND syarat2;
Logika OR digunakan untuk memberikan pilihan syarat untuk dipenuhi. Jadi ketika kita
menambahkan logika OR maka data yang akan ditampilkan adalah data yang memenuhi semua
syarat atau salah satu syarat.
SELECT * FROM namatabel WHERE syarat1 OR syarat2;
Logika NOT digunakan untuk tidak menampilkan syarat yang kita pilih Jadi ketika kita
menambahkan logika NOT maka data yang akan ditampilkan adalah semua data kecuali data yang
kita syaratkan tadi.
SELECT * FROM namatabel WHERE NOT syarat;
C. PRAKTIKUM
Ada sebuah tabel sebagai berikut
1. Disini kita akan menampilkan semua data dimana data tersebut tahun terbitnya 2018 dan judul
bukunya yaitu modul KBD.
Maka kita bisa menggunakan perintah seperti ini :
Praktikum 9 : Operator AND, OR and NOT
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
25
Hasil dari perintah diatas akan menampilkan seperti dibawah ini
2. Sekarang kita akan menampilkan semua data yang tahun terbitnya 2018 atau kode bukunya
B002
Maka kita bisa menggunakan perintah seperti ini :
Hasil dari perintah diatas akan menampilkan seperti dibawah ini
3. Sekarang kita ingin menampilkan semua data yang tahun terbitnya BUKAN tahun 2018
Maka kita bisa menggunakan perintah seperti ini :
Hasil dari perintah diatas akan menampilkan seperti dibawah ini
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
26
D. LATIHAN
1. Buatlah tabel seperti gambar di bawah ini
nim nama kelas kota
M3110001 Andi TIA Surakarta
M3110002 Bagas TIA Surakarta
M3110003 Cinta TIA Klaten
M3110004 Dani TIA Karanganyar
M3110005 Erwin TIB Sragen
M3110006 Fajar TIB Wonogiri
M3110007 Fajar TIB Sukoharjo
M3110008 Gunawan TIB Sukoharjo
M3110009 Hari TIC Karanganyar
M3110010 Indah TIC wonogiri
M3110011 Jojon TIC Wonogiri
M3110012 Larasati TIC Sukoharjo
M3110013 Mahmud TID Sukoharjo
M3110014 Nur TID Karanganyar
M3110015 Opik TID Sukoharjo
2. Tampilkan semua data mahasiswa yang kelas TIA yang rumahnya Surakarta.
3. Tampilkan semua nama mahasiswa yang kelas TIB yang rumahnya Sukoharjo.
4. Tampilkan semua data mahasiswa yang namanya Fajar atau rumahnya Wonogiri.
5. Tampilkan semua nama mahasiswa yang kelas TID atau rumahnya Sukoharjo.
6. Tampilkan semua nama mahasiswa yang bukan dari Surakarta.
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
27
A. TUJUAN PEMBELAJARAN
Mahasiswa dapat menampilkan data dari 2 tabel yang berbeda
B. MATERI:
Pada saat menampilkan data di suatu sistem yang sedikit kompleks, maka terkadang pemanggilan
isi dari 2 tabel atau lebih biasa dilakukan. Untuk menampilkan data dari 2 tabel yang memiliki data
saling terkait dibutuhkan sebuah relasi antar tabel terlebih dahulu.
Perintah umum dalam bahasa SQL untuk menampilkan data 2 tabel adalah sebagai berikut:
SELECT nama_kolom1, nama_kolom2 FROM nama_tabel1, nama_tabel2 WHERE
nama_tabel1.kolom_penghubung=nama_tabel2.kolom_penghubung
C. PRAKTIKUM
Siapkan 2 tabel yang saling berelasi, berikut terdapat tabel buku dan tabel penulis.
Tabel Buku
Tabel penulis
Kedua tabel di atas dihubungkan oleh (id), dimana (id) pada tabel buku merupakan foreign key
dan (id) pada tabel penulis merupakan primary key.
Kita akan mencoba menampilkan data kode buku dengan nama penulis buku tersebut.
Jadi kolom yang akan kita tampilkan yaitu kolom kd_buku dan kolom nama_penulis
Praktikum 10 : Menampilkan Data dari 2 Tabel
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
28
Perintahnya adalah sebagai berikut:
Hasilnya dapat kita lihat seperti berikut
D. LATIHAN
1. Buatlah sebuah database dengan kolom seperti dibawah ini
Tabel barang
kd_barang Nama_barang jumlah
B001 buku 10
B002 pensil 10
B003 penghapus 15
B004 map 10
B005 stabilo 20
Tabel Kasir
NIK Nama alamat No_hp
1234 ariando surakarta 081300000000
4321 santika wonogiri 085600000000
Tabel Penjualan
Kd_jual kd_barang (FK) Nik (FK) tgl_jual keterangan
J001 B001 1234 11-05-2018 3 buah
J002 B002 4321 11-05-2018 4 buah
J003 B003 1234 11-06-2018 2 buah
J004 B004 4321 11-07-2018 2 buah
J005 B004 4321 11-07-2018 1 buah
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
29
2. Relasikan ketiga tabel diatas menjadi relasi tabel seperti di bawah ini
3. tampilkan nama kasir dan tanggal dia bertugas.
4. tampilkan nama barang dan tanggal jualnya.
5. tampilkan jumlah barang yang dijual dan tanggal jualnya
6. tampilkan nama kasir dan nama barang yang dijual.
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
30
A. TUJUAN PEMBELAJARAN
Mahasiswa dapat menampilkan data dari 3 tabel yang berbeda
B. MATERI:
Pada saat menampilkan data di suatu sistem yang sedikit kompleks, maka terkadang pemanggilan
isi dari 2 tabel atau lebih biasa dilakukan. Untuk menampilkan data dari 3 tabel yang memiliki data
saling terkait dibutuhkan sebuah relasi antar tabel dari 3 tabel yang saling berelasi.
Perintah umum dalam bahasa SQL untuk menampilkan data 2 tabel adalah sebagai berikut dari
tabel yang saling berkaitan:
SELECT nama_kolom1, nama_kolom2 FROM nama_tabel1, nama_tabel2, nama_tabel3
WHERE nama_tabel1.kolom_penghubung=nama_tabel2.kolom_penghubung AND
nama_tabel2.kolom_penghubung=nama_tabel3.kolom_penghubung
C. PRAKTIKUM
Siapkan 3 tabel yang saling berelasi, berikut terdapat tabel dosen dan matakuliah dan tabel nilai
Disini saya akan menampilkan nama dosen dan nilai angka dari matakuliah yang diampunya
SELECT nama_dosen, angka FROM dosen, mata_kuliah, nilai WHERE dosen.NIP =
mata_kuliah.NIP AND mata_kuliah.KD_MATKUL = nilai.KD_MATKUL
Hasil dari Query SQL diatas dapat dilihat pada gambar dibawah ini:
Praktikum 11 : Menampilkan Data dari 3 Tabel
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
31
D. LATIHAN
1. Buatlah sebuah database dengan kolom seperti dibawah ini
Tabel mahasiswa
Nim (PK) kd_nilai (FK) kelas Nama_mhs alamat
M3111001 NIL1 tia arista sukoharjo
M3111002 NIL2 tia amanda klaten
M3111003 NIL3 tib baskoro boyolali
M3111004 NIL4 tib baidowi sragen
M3111005 NIL5 tic candra karanganyar
M3111006 NIL6 tic chika wonogiri
Tabel dosen
Nip (PK) Nama_dosen No_hp alamat
1990199011 Bima 081300000000 surakarta
1980198022 Sari 085600000000 wonogiri
1970197033 Didik 083800000000 karanganyar
Tabel Matkul
Kd_matkul
(PK)
Nip (Fk) Nama_matkul sks
KBD1 1990199011 Kosnep Basis
Data
2
KBD2 1980198022 Praktikum
konsep basis
Data
2
AGR1 1970197033 Animasi
Grafis
1
Tabel nilai
Kd_nilai (PK) nim (FK) Kd_matkul
(FK)
angka huruf
NIL1 M3111001 KBD1 80 A
NIL2 M3111002 KBD1 75 B+
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
32
NIL3 M3111003 KBD2 80 A
NIL4 M3111004 KBD2 85 A
NIL5 M3111005 AGR1 70 B
NIL6 M3111006 AGR1 70 B
2. Tampilkan nama mahasiswa dan nama matakuliah yang diambil.
3. Tampilkan nip dosen dan nilai matkul yang diajarkan
4. Tampilkan nama kelas dan nama matakuliahnya
5. Tampilkan nama mahasiswa dan sks yang dia ambil
6. Tampilkan nama mahasiswa dan nilainya
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
33
A. TUJUAN PEMBELAJARAN
Mahasiswa dapat memahami dan menerapkan fungsi agregat
B. MATERI:
Aggregate Functions (COUNT, SUM, AVG, MIN, MAX)
a. COUNT
Perintah yang digunakan untuk menghitung jumlah baris suatu kolom pada tabel.
Perintahnya sebagai berikut:
SELECT COUNT(namafield) FROM nama_tabel;
b . SUM
Perintah yang digunakan untuk menghitung jumlah nilai suatu kolom pada tabel.
Perintahnya sebagai berikut:
SELECT SUM(namafield) FROM nama_tabel;
c . AVG
Perintah yang digunakan untuk menghitung rata- rata dari nilai suatu kolom pada tabel.
Perintahnya sebagai berikut:
SELECT AVG(namafield) FROM nama_tabel;
d . MIN
Perintah yang digunakan untuk menampilkan nilai terkecil dari suatu kolom pada tabel.
Perintahnya sebagai berikut:
SELECT MIN(namafield) FROM nama_tabel;
e . MAX
Perintah yang digunakan untuk menampilkan nilai terbesar dari suatu kolom pada tabel.
Perintahnya sebagai berikut:
SELECT MAX(namafield) FROM nama_tabel;
Praktikum 12 : Fungsi Agregat
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
34
C. PRAKTIKUM
Kita persiapkan dulu contoh tabel transaksi untuk mencoba perintah agregasi
Perintah Count untuk melihat jumlah baris pada kolom (no) sebagai jumlah
Hasilnya akan seperti gambar dibawah ini
Jadi total baris pada kolom no adalah 9
Perintah SUM untuk melihat total denda
Hasilnya akan seperti gambar dibawah ini
Perintah AVG untuk menghitung rata-rata lama sewa
Hasilnya akan seperti dibawah ini
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
35
Perintah MIN untuk menghitung nilai terkecil dari suatu kolom
Hasilnya akan seperti dibawah ini
Perintah MAX untuk menghitung nilai terbesar dari suatu kolom
Hasilnya akan seperti dibawah ini
D. LATIHAN
Buatlah sebuah database dengan kolom seperti dibawah ini
1. Tampilkan jumlah penyewa yang berasal dari jakarta timur
2. Tampilkan jumlah denda dari penyewa yang berasal dari jakarta timur
3. Tampilkan jumlah rata2 denda dari penyewa yang berasal dari jakarta barat
4. Tampilkan jumlah rata2 denda tipe PS C
5. Tampilkan jumlahbiaya maksimal dari penyewa jakarta barat.
6. Tampilkan lama sewa minimal
7. Tampilkan total biaya maksimal
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
36
A. TUJUAN PEMBELAJARAN
Mahasiswa dapat memahami dan menerapkan Trigger MySQL
B. MATERI:
Trigger merupakan suatu proses yang dijalankan secara automatis saat user melakukan modifikasi
data pada tabel. Modifikasi data yang dilakukan pada tabel yaitu berupa perintah INSERT,
UPDATE, dan DELETE
Macam-macam Trigger
BEFORE INSERT – dijalankan ketika data di masukan ke dalam tabel.
AFTER INSERT – dijalankan setelah data masuk ke dalam tabel.
BEFORE UPDATE – dijalankan sebelum proses update data.
AFTER UPDATE – dijalankan setelah proses proses update data.
BEFORE DELETE – dijalankan sebelum proses delete data.
AFTER DELETE – dijalankan setelah proses delete data.
Formula untuk membuat Trigger
CREATE
[DEFINER = { user | CURRENT_USER }] (opsional)
TRIGGER Trigger_name Trigger_time Trigger_event
ON tbl_name FOR EACH ROW
BEGIN
trigger_body
END$$
Keterangan:
trigger_name : nama trigger.
trigger_time : kapan kita mengeksekusi trigger, apakah sebelum atau sesudah perubahan
pada row data table. Jadi pilihannya adalah AFTER atau BEFORE.
trigger_event : merupakan event atau peristiwa yang menyebabkan trigger dilakukan.
Pilihan event tersebut adalah INSERT, UPDATE, DELETE.
tbl_name : nama table.
Praktikum 13 : Trigger MySQL
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
37
trigger_body : statement-statement perintah SQL yang akan dilakukan. Jika perintahnya
lebih dari satu maka gunakan dalam blok statement BEGIN ... END.
Jika DEFINER dispesifikasikan maka kita memutuskan trigger tersebut dijalankan hanya
oleh user tertentu (dalam format penulisan user@host). Jika tidak dispesifikasikan, maka
user yang melakukan perubahan (CURRENT_USER) adalah pilihan default.
Yang perlu anda ingat!
Karena trigger digunakan pada saat terjadi perubahan row data, maka kita perlu referensi
ke row sebelum dan sesudah perubahan. Untuk ini ada dua alias yang berfungsi untuk hal
tersebut yaitu OLD dan NEW.
Sesuai namanya, OLD digunakan untuk referensi sebelum perubahan dan NEW untuk
referensi sesudah perubahan.
C. LATIHAN
Persiapkan 2 tabel seperti dibawah ini, tabel produk dan tabel perubahan_harga, untuk tabel
perubahan_harga cukup dikosongin saja, nantinya digunakan untuk penyimpanan hasil proses dari
trigger
Tabel produk Tabel perubahan_harga
Baik disini kita bikin triggernya terlebih dahulu
Jangan lupa delimeternya diganti $$
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
38
Untuk mengecek apakah trigger sudah berhasil bisa kita lihat di bagian more >> trigger
Kalo sudah berhasil dibuat, kita akan mencoba update harga pulpen pada tabel produk menjadi
15.000
Jika kita buka tabel perubahan harga maka akan ada inputan baru hasil dari proses triggernya
D. LATIHAN
Buatlah 2 tabel yaitu tabel mahasiswa dan tabel remidi
Tabel mahasiswa
Tabel remidi
nim nama nilai lama nilai remidi
1. buatlah trigger perubahan nilai mahasiswa jika diupdate dan dimasukkan datanya ke tabel
remidi.
2. buatlah trigger delete jika data nim mahasiswa pada tabel mahasiswa didelete maka data yang
ada di tabel remidi jika ikut terdelete.
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
39
A. TUJUAN PEMBELAJARAN
Mahasiswa dapat memahami dan menerapkan Stored Procedure MySQL
B. MATERI:
• Stored Procedure adalah suatu objek routine yang tersimpan pada database MySQL dan
dapat digunakan untuk menggantikan kumpulan perintah SQL yang sering kita gunakan.
Formula untuk membuat Trigger
DELIMITER //
CREATE PROCEDURE nama_routine (proc_parameter tipe_data (12))
BEGIN
Perintah SQL
END;
DELIMITER ;
Keterangan:
• Nama_routine: Nama routine yang akan dibuat
• Proc_parameter: Parameter stored procedue, terdiri dari :
IN : parameter yang digunakan sebagai masukan.
OUT : parameter yang digunakan sebagai keluaran
INOUT : parameter yang digunakan sebagai masukan sekaligus keluaran.
• Perintah SQL: terdiri dari statemen prosedur SQL
C. LATIHAN
Persiapkan tabel seperti dibawah
Praktikum 14 : Stored Procedure MySQL
Praktikum Konsep basis Data © D3 Teknik Informatika 2018
40
Contoh 1 : kita akan mencoba membuat stored procedure tampil data
DELIMITER //
create procedure tampildata (OUT x varchar(30))
begin
select nama into x from mahasiswa where nim=’m3110001’;
end
//
Cek di routines apakah sudah terbentuk sore procedure nya
Kalo sudah terbentuk kita akan mencoba memanggil procedure nya supaya perintah SQL nya bisa
dieksekusi
Call tampildata (@nama); select @nama;
Hasilnya akan seperti gambar dibawah ini
D. LATIHAN
Siapkan tabel seperti dibawah ini
1. Bualah stored procedure untuk menambahkan 1 record ke dalam tabel diatas.
2. Buatlah store procedure untuk mengubah semua mahasiswa yang alamat boyolali menjadi
wonogiri.
3. Buatlah store procedure untuk menghapus semua mahasiswa yang berasal dari wonogiri.