Modul Praktikum Basis Data II
Modul Praktikum Basis Data II
BASIS DATA II
DAFTAR ISI
I.
II.
III.
IV.
V.
VI.
VII.
VIII.
IX.
X.
PENGENALAN MYSQL
DATABASE DAN DATA DEFINITION LANGUAGE (DDL)
DATA MANIPULATION LANGUAGE (DML)
FUNGSI AGREGAT
RETRIEVE, GROUP, FILTER DAN PATTER MATCHING
QUERY, VIEW DAN JOIN
DATA CONTROL LANGUAGE (DCL)
DASAR DASAR PL/SQL
PROSEDUR DAN FUNGSI
TRIGGER
PRAKATA
Dengan memanjatkan puji syukur kehadirat Allah SWT yang telah melimpahkan rahmat
dan karunia-Nya kepada penyusun, sehingga dapat menyelesaikan buku panduan praktik Basis
Data ini. Sholawat dan salam juga kita curahkan kepada baginda yang mulia Rosulullah SAW
beserta keluarga, sahabat dan pengikutnya hingga akhir zaman.
Buku ini merupakan salah satu bahan ajar pendukung untuk mata kuliah Basis Data. Dari
buku ini diharapkan mahasiswa dapat dengan mudah mempelajari, memahami, dan
mempraktikkan materi materi yang telah diajarkan pada kelas teori mata kuliah Basis Data.
Kemudian buku ini diharapkan dapat menjadi referensi untuk pemecahan permasalahan umum
di luar materi perkuliahan. Sebagian besar isi dari buku ini merupakan rangkuman dari sumbersumber yang telah dibuat penulis lain. Penyusun berharap agar buku ini dapat bermanfaat bagi
semua kalangan pembaca. Terima kasih untuk semuanya yang telah memberikan banyak kritik
dan saran serta dukungan dalam penyusunan buku ini.
Penyusun
MODUL I
Pengenalan MySQL
Tujuan :
Setelah menyelesaikan modul ini, anda diharapkan dapat :
1. Mengenal lingkungan kerja MySQL
2. Mengenal format perintah di MySQL
3. Mengenal perintah-perintah sederhana di MySQL
Dasar Teori
MySQL adalah suatu perangkat lunak database relasi (Relational Database Management
System atau RDBMS), seperti halnya ORACLE, Postgresql, MS SQL, dan sebagainya. MySQL
dikembangkan sekitar tahun 1994 oleh sebuah perusahaan pengembang software dan konsultan
database bernama MYSQL AB yang berada di Swedia. Waktu itu perusahaan tersebut masih
bernama TcX DataKonsult AB, dan tujuan awal dikembangkannya MySQL adalah untuk
mengembangkan aplikasi berbasis web pada client. MySQL menyebut produknya sebagai
database open source terpopuler di dunia. Berdasarkan riset dinyatakan bahwa bahwa di
platform Web, dan baik untuk kategori open source maupun umum, MySQL adalah database
yang paling banyak dipakai. Menurut perusahaan pengembangnya, MySQL telah terpasang di
sekitar 3 juta komputer. Puluhan hingga ratusan ribu situs mengandalkan MySQL bekerja siang
malam memompa data bagi para pengunjungnya.
Format Perintah
Berikut adalah ketentuan-ketentuan memberi perintah pada MySQL:
Setiap perintah harus diakhiri dengan tanda titik koma , kecuali untuk perintahtertentu,
misal : quit
Setiap perintah akan disimpan dalam buffer (memori sementara) untuk menyimpan
histori perintah-perintah yang pernah diberikan.
Perintah dapat berupa perintah SQL atau perintah khusus MySQL.
Perintah-perintah dalam lingkungan MySQL tidak menerapkan aturan case sensitive,
tetapi case insensitive yaitu perintah bisa dituliskan dalam huruf besar atau pun huruf
kecil.
Aturan case sensitive diterapkan pada penamaan objek-objek dalam database seperti
nama database atau nama table, namun aturan ini hanya ada dalam lingkungan Unix dan
Linux.
Sedangkan untuk stop atau keluar dari MySQL dapat menggunakan perintah : \q, exit dan quit.
MODUL II
Database Data Definition Language (DDL)
Tujuan :
Setelah menyelesaikan modul ini, anda diharapkan dapat :
1. Membuat database dan tabel dengan data definition language
2. Mampu memodifikasi tabel
Dasar Teori
DDL (Data Definition Language), DDL merupakan kelompok perintah yang berfungsi untuk
mendefinisikan atribut-atribut basis data, tabel, atribut(kolom), batasan-batasan terhadap suatu
atribut, serta hubungan antar tabel. Yang termasuk dalam kelompok DDL ini adalah CREATE,
ALTER, dan DROP.
a. Syntax Membuat Database : CREATE DATABASE namadatabase;
Namadatabase tidak boleh mengandung spasi dan tidak boleh memiliki nama
yang sama antar database. Berikut ini perintah untuk membuat database dengan nama
rental : CREATE DATABASE CV_SEJAHTERA;
Syntax tambahan untuk menampilkan daftar nama database yang ada pada
mysql menggunakan perintah : SHOW DATABASES;
e. Menampilkan Tabel
Untuk menampilkan daftar nama tabel yang ada pada database yang sedang
aktif/digunakan (dalam hal ini database rental) : SHOW TABLES;
adalah
nama
tabel
yang
akan
diubah
nama
kolomnya,
namalamakolom adalah kolom yang akan diganti namanya, namabarukolom adalah nama
baru kolom, tipedatanya adalah tipe data dari kolom tersebut. Berikut ini contoh perintah
untuk mengubah nama kolom keterangan menjadi ket :
ALTER TABLE JENISFILM CHANGE COLUMN KETERANGAN KET VARCHAR(20);
n. Menghapus Kolom Pada Tabel : ALTER TABLE namatabel DROP COLUMN namakolom;
o. Membuat dan Menghapus Index
Index berfungsi mempercepat proses pencarian data dalam suatu tabel. Adanya
index pada suatu field tabel menyebabkan proses pencarian otomatis akan dilakukan
terlebih dahulu ke dalam index, apabila ditemukan baru akan diambilkan data
sesungguhnya dari tabel, apabila tidak ditemukan dalam index, sudah dipastikan bahwa
data tesebut memang tidak ada dalam tabel. Index juga dapat dibuat untuk setiap kolom
yang akan dijadikan kriteria tertentu untuk pencarian data sehingga proses pencariannya
akan lebih cepat. Ada perintah untuk membuat dan menghapus index, tapi tidak ada
perintah untuk merubah index.
Perhatikan contoh berikut :
CREATE INDEX IDXNOMOR ON MAHASISWA(NIM);
Atau
ALTER TABLE MAHASISWA ADD INDEX IDXNIM(NIM);
Untuk menghapus index :
DROP INDEX IDXNIM ON MAHASISWA;
Atau
ALTER TABLE MAHASISWA DROP INDEX IDXNIM;
Praktik !
1. Buat sebuah database dengan nama coba !
2. Buat sebuah tabel dengan nama mahasiswa di dalam database coba !
3. Tambahkan sebuah kolom : keterangan (varchar 15), sebagai kolom terakhir !
4. Tambahkan kolom nim (int 11) di awal (sebagai kolom pertama) !
5. Sisipkan sebuah kolom dengan nama phone (varchar 15) setelah kolom alamat
varchar(15) !
6. Ubah kolom nim menjadi char(11) !
7. Ubah nama kolom phone menjadi telepon (varchar 20) !
8. Hapus kolom keterangan dari tabel !
9. Ganti nama tabel menjadi student!
10. Buat index untuk tabel tersebut !
11. Jadikan nim sebagai primary key !
4. Ketika kita melihat struktur tabel dengan perintah desc, ada kolom Null yang berisi Yes
dan No. Apa maksudnya ?
Kesimpulan
MODUL III
Data Manipulation Language (DML)
Tujuan :
Setelah menyelesaikan modul ini, Anda diharapkan dapat :
1. Mengenal data manipulation language dan mampu menggunakannya
2. Mampu mengelola record dan retrieve data
Dasar Teori
DML (Data Manipulation Language) DML adalah kelompok perintah yang berfungsi
untuk memanipulasi data dalam basis data, misalnya untuk pengambilan, penyisipan,
pengubahan dan penghapusan data. Perintah yang termasuk dalah kategori DML adalah :
INSERT, DELETE, UPDATE dan SELECT.
1. I N S E R T
Perintah INSERT digunakan untuk menambahkan baris pada suatu tabel. Terdapat dua cara
untuk menambah baris, yaitu:
Cara 1: Menambah baris dengan mengisi data pada setiap kolom :
INSERT INTO namatabel VALUES (nilai1,nilai2,nilai-n);
Cara 2 : Menambah baris dengan hanya mengisi data pada kolom tertentu :
INSERT INTO namatabel (kolom1,kolom2,kolom-n) VALUES (nilai1,nilai2,nilai-n);
Keterangan :
Jika data bertipe string, date atau time (contoh : action, horor, 2007-11-10) maka
pemberian nilainya diapit dengan tanda petik tunggal ('horor') atau petik ganda ("horor"). Jika
data bertipe numerik (2500, 400) maka pemberian nilainya tidak diapit tanda petik tunggal
maupun ganda.
2. DELETE
Perintah DELETE digunakan untuk menghapus satu baris, baris dengan kondisi tertentu atau
seluruh baris. Syntax : DELETE FROM namatabel [WHERE kondisi];
Perintah dalam tanda [] bersifat opsional untuk menghapus suatu baris dengan suatu
kondisi tertentu.
3. UPDATE
Perintah UPDATE digunakan untuk mengubah isi data pada satu atau beberapa kolom pada
suatu table. Syntax :
UPDATE namatabel SET kolom1 = nilai1, kolom2 = nilai2 [WHERE kondisi];
Perintah dalam tanda [] bersifat opsional untuk mengubah suatu baris dengan suatu kondisi
tertentu.
4. SELECT
Perintah SELECT digunakan untuk menampilkan isi dari suatu tabel yang dapat
dihubungkan dengan tabel yang lainnya.
a. Menampilkan data untuk semua kolom menggunakan asterisk (*) :
SELECT * FROM namatabel;
MODUL IV
FUNGSI AGREGAT
Tujuan :
Setelah menyelesaikan modul ini, Anda diharapkan dapat :
1. Mahir menggunakan perintah fungsi agregat
Dasar Teori
Aggregate Functions (COUNT, SUM, AVG, MIN, MAX)
a. C OU N T
Perintah yang digunakan untuk menghitung jumlah baris suatu kolom pada tabel.
Contoh : Perintah untuk menghitung jumlah baris kolom jenis pada tabeljenisfilm:
SELECT COUNT(namafield) FROM nama_tabel;
b . SUM
Perintah yang digunakan untuk menghitung jumlah nilai suatu kolom pada tabel. Contoh
: perintah untuk menghitung jumlah nilai kolom harga pada tabel jenisfilm :
SELECT SUM(namafield) FROM nama_tabel;
c . AVG
Perintah yang digunakan untuk menghitung rata- rata dari ni lai suatu kolom pada tabel.
Contoh : perintah untuk menghitung rata-rata dari kolom harga pada tabel jenisfilm:
SELECT AVG(namafield) FROM nama_tabel;
d . MIN
Perintah yang digunakan untuk menampilkan nilai terkeci l dari suatu kolom pada tabel.
Contoh : perintah untuk menampilkan nilai terkecil dari kolom harga pada tabel jenisfilm:
SELECT MIN(namafield) FROM nama_tabel;
e . MAX
Perintah yang digunakan untuk menampilkan nilai terbesar dari suatu kolom pada table.
Contoh : perintah untuk menampi lkan nilai terbesar dari kolom harga pada table jenisfilm :
SELECT MAX(namafield) FROM nama_tabel;
Praktik!!
1. Buat sebuah nama database dengan nama perdagangan.
2. Buat sebuah table dengan nama barang dimana ketentuannya seperti dibawah ini :
MODUL V
RETRIEVE, GROUP, FILTER DAN PATTER MATCHING
Tujuan :
Setelah melakukan percobaan ini, Anda diharapkan dapat :
1. Mampu meretrieve data dan mengelompokkannya
2. Mampu menampilkan data dengan pencocokan pola / karakter
Dasar Teori
RETRIEVE SQL dengan GROUP BY dan HAVING
Klausa HAVING digunakan untuk menentukan kondisi bagi klausa GROUP BY. Kelompok
yang memenuhi HAVING saja yang akan dihasilkan. Syntax :
SELECT field1 FROM namatabel GROUP BY field1 HAVING COUNT(field2);
PATTERN MATCHING (Pencocokan Pola / Karakter)
Fungsi string digunakan untuk menampilkan data yang di dasarkan pada pencarian
dengan karakter. Pada pencarian data digunakan syntax LIKE, pada dasarnya syntax LIKE hampir
sama dengan syntax = .
Bedanya kalau syntax = , maka pencarian karakter harus sesuai dengan kata yang kita
buat tetapi dengan menggunakan LIKE karakter yang akan kita tampilkan tidak harus lengkap
hanya dengan menuliskan salah satu huruf atau kata saja, maka semua data yang akan kita cari
akan ditampilkan.
SQL mempunyai dua symbol khusus yang dipakai untuk pencocokan pola :
1. % : digunakan untuk mencocokkan karakter sebelum atau sesudah tana %;
2. _ : diguanakan untuk mencari karakter sebanyak jumlah tanda _.
Contoh :
LIKE %GLASGOW% artinya digunakan untuk mencari data pada kolom tertentu yang megandung
karakter GLASGOW.
Bentuk umumnya :
SELECT * FROM nama_tabel WHERE nama_kolom LIKE char%;
SELECT * FROM nama_tabel WHERE nama_kolom LIKE %char;
SELECT * FROM nama_tabel WHERE nama_kolom LIKE %char%;
SELECT * FROM nama_tabel WHERE nama_kolom NOT LIKE %char%;
SELECT * FROM nama_tabel WHERE nama_kolom LIKE _;
Praktik 1!
Tampilkan record / data hanya kolom satuan barang dan digabungkan dengan jumlah stok
barang yang dikelompokkan berdasarkan kolom satuan barang pada table barang diatas!
TOTAL
50
nama_brg
Sabun
harga_modal harga_beli
2000
2500
stok
15
B02
Pasta Gigi
2500
3000
15
B03
Sikat Gigi
3000
4000
10
B04
Rokok
6000
7000
30
B05
Korek Api
500
600
10
nama_brg
Pasta Gigi
harga_modal harga_beli
2500
3000
stok
15
B03
Sikat Gigi
3000
4000
10
B05
Korek Api
500
600
10
nama_brg
Sabun
B03
Sikat Gigi
harga_modal harga_beli
2000
2500
3000
4000
stok
15
10
nama_brg
Sabun
harga_modal harga_beli
2000
2500
stok
15
B02
Pasta Gigi
2500
3000
15
B03
Sikat Gigi
3000
4000
10
B05
Korek Api
500
600
10
nama_brg
Rokok
harga_modal harga_beli
6000
7000
stok
30
nama_brg
Sabun
B04
Rokok
harga_modal harga_beli
2000
2500
6000
7000
Stok
15
30
MODUL VI
QUERY, VIEW DAN JOIN
Tujuan :
Setelah melakukan percobaan ini, Anda diharapkan dapat :
1. Mampu menampilkan data dengan view
2. Mampu menampilkan gabungan data dari tabel yang berbeda.
Dasar Teori
Query
Query adalah pernyataan yang meminta pengguna mengambil informasi. Bagian
DML yang terlibat dalam pengambilan informasi disebut bahasa query. Istilah bahasa query
sering disamakan dengan istilah bahasa manipulasi data. Sedangkan SQL adalah sebuah sintaks
untuk mengeksekusi query.
View
Merupakan salah satu objek database, yang secara logika merepresentasikan sub
himpunan dari data yang berasal dari satu atau lebih tabel. Kegunaan view adalah untuk
membatasi akses database, membuat query kompleks secara mudah, mengijinkan independensi
data dan untuk menampilkan view (pandangan) data yang berbeda dari data yang sama.
Tujuan dari view adalah:
a.
b.
Menyimpan suatu perintah SQL (terutama yang komplek) dimana perintah tersebut
sering digunakan dan diakses.
c.
d.
Misal user dapat mengakses nama dan nomor telepon tetapi tidak bisa mengakses
tanggal lahir dan gaji.
Contoh:
a) Membuat View:
b) Cara mengaksesnya:
SELECT * FROM pelanggan_simpati;
SELECT nama,alamat FROM pelanggan_simpati;
Join
Operasi Join, Join
merupakan
operasi
yang
digunakan
untuk
menggabungkan dua tabel atau lebih dengan hasil berupa gabungan dari kolom-kolom
yang berasal dari tabel-tabel tersebut.
tabel-tabel
digabungkan
dan didasarkan pada pencocokan antara kolom pada tabel yang berbeda.
Contoh sintak SQL nya sebagai berikut:
Perintah SQL-nya (basic join) :
SELECT pelanggan.nama,transaksi.tgl_transaksi
FROM pelanggan,transaksi,detail_transaksi,barang
W HERE pelanggan.id_pelanggan=transaksi.id_pelanggan AND
transaksi.kode_transaksi=detail_transaksi.kode_transaksi AND
detail_transaksi.id_barang=barang.id_barang AND barang.nama='Sapu'
ORDER BY pelanggan.nama;
Perintah SQL di atas dapat disederhanakan dengan menggunakan alias untuk nama tabel sebagai
berikut :
SELECT a.nama,b.tgl_transaksi
FROM pelanggan a,transaksi b,detail_transaksi c,barang d
WHERE a.id_pelanggan=b.id_pelanggan AND
b.kode_transaksi= c.kode_transaksi AND
c.id_barang=d.id_barang AND d.nama='Sapu' ORDER BY a.nama;
MODUL VII
DATA CONTROL LANGUAGE (DCL)
Untuk Administrator Database. Perintah-perintahnya antara lain :
- CREATE DATABASE
- CREATE USER
- DROP USER
- GRANT PRIVILEGE
- REVOKE PRIVILEGE
MODUL VIII
DASAR DASAR PL/SQL
MODUL IX
PROSEDUR DAN FUNGSI
MODUL X
TRIGGER