Modul Basis Data Lanjutan
Modul Basis Data Lanjutan
Pertemuan 1-3
1.PENGENALAN MYSQL
2.Subquery Bersarang
Abstract Kompetensi
Mahasiswa mengetahui cara
Modul ini berisi materi tentang merancang
Dan membangun database pada
Pengenalan MsQL pemrograman
Dan perancangan database pada MySQL
Software Xampp
1
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 perintah
tertentu, misalnya : 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
2
atau pun huruf kecil.
3
Sedangkan untuk stop atau keluar dari MySQL dapat menggunakan perintah : \q, exit dan
quit.
Daftar pustaka
Krisharnomo, Anindiarto. 2011. Sistem Informasi Kompetisi Sepak Bola Liga Indonesia Berbasis
Web Menggunakan PHP dan Mysql. Semarang. Fakultas Teknik Universitas Diponegoro.
4
MODUL PERKULIAHAN
Pertemuan 4-7
1.Data Definition Language (DDL)
2.Penggunaan View
3.Ordering, Grouping, dan Having
4.DML dan Retrieve Data Bagian I
Abstract Kompetensi
Mahasiswa mengetahui cara
Modul ini berisi materi tentang merancang
Dan membangun database pada
Pengenalan MsQL pemrograman
Dan perancangan database pada MySQL
Software Xampp
5
MODUL II
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;
6
c. Syntax Menghapus Database : DROP DATABASE namadatabase;
Database yang akan dihapus sesuai dengan namadatabase. Berikut ini perintah
untuk menghapus database dengan nama rental : DROP DATABASE RENTAL;
d. Membuat Tabel : CREATE TABLE namatabel2 ( Field1 TipeData1,Field2 TipeData2);
Nama tabel tidak boleh mengandung spasi (space). Field1 dan TipeData1
merupakan nama kolom pertama dan tipe data untuk kolom pertama. Jika ingin
membuat tabel dengan kolom lebih dari satu, maka setelah pendefinisian tipe data
sebelumnya diberikan tanda koma (,).
Berikut ini perintah untuk membuat tabel dengan nama barang :
e. Menampilkan Tabel
Untuk menampilkan daftar nama tabel yang ada pada database yang sedang
aktif/digunakan (dalam hal ini database rental) : SHOW TABLES;
7
h. Mendefinisikan Null/Not Null : CREATE TABLE namatabel ( Field1
TipeData1 NOT NULL, Field2 TipeData2);
8
Field adalah kolom yang akan diubah tipe data atau lebarnya. Tipe adalah tipe data
baru atau tipe data lama dengan lebar kolom yang berbeda. Berikut ini contoh
perintah untuk mengubah tipe data untuk kolom keterangan dengan char(20) :
ALTER TABLE JENISFILM MODIFY COLUMN KETERANGAN VARCHAR(20);
m. Mengubah Nama Kolom : ALTER TABLE namatabel CHANGE COLUMN
namalamakolom namabarukolom tipedatabaru;
Namatabel 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;
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. Jadikan nim sebagai primary key !
Evaluasi dan Pertanyaan
1. Tulis semua perintah-perintah SQL percobaan di atas beserta outputnya !
2. Apa kegunaan dari index di tabel ?
3. Apa maksud dari int (11) ?
4. Ketika kita melihat struktur tabel dengan perintah desc, ada kolom Null
9
yang berisi Yes dan No. Apa maksudnya ?
Daftar pustaka
Husein, Alwy. 2011. Sistem Informasi Geografis Penunjang Olahraga di Surabaya. Surabaya.
Politeknik Elektronika Negeri Surabaya. Kadir, A. (2002). Dasar Pemrograman WEB Dinamis
Menggunakan PHP. Yogyakarta: Andi Yogyakarta.
10
MODUL PERKULIAHAN
Pertemuan 9-10
1.DML dan Retrieve Data (Bagian I)
2.Penggunaan Triger
Abstract Kompetensi
Mahasiswa mengetahui cara
Modul ini berisi materi tentang merancang
Dan membangun database pada
Pengenalan MsQL pemrograman
Dan perancangan database pada MySQL
Software Xampp
11
MODUL III
DML dan Retrieve Data (Bagian I)
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. IN SERT
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
12
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;
13
Beberapa operator perbandingan yang dapat digunakan pada klausa WHERE adalah
"="(sama dengan) , > (lebih dari), < (kurang dari), < > (tidak sama dengan), >= (lebih dari atau
sama dengan), <= (kurang dari atau sama dengan). Adapun operator lain, yaitu : AND, OR,
NOT, BETWEEN-AND, IN dan LIKE.
Praktik!
1. Buatlah sebuah database dengan nama coba2!
2. Buatlah sebuah tabel dengan nama pet pada database coba2!
14
1998-1-1 !
9. Tampilkan semua hewan dengan spesies kucing dan kucing tersebut
berjenis kelamin betina!
10. Dengan satu perintah select, tampilkan semua hewan dengan spesies
ular atau spesies burung (dalam satu tabel ada hewan spesies ular dan
burung saja)!
11. Dengan satu perintah select, tampilkan semua hewan yang berspesies
kucing dengan kelamin laki-laki atau hewan yang berspesies anjing
dengan kelamin betina (tampilkan dalam satu tabel)!
Daftar pustaka
HM, Jogiyanto. 2009. Analisis & Desain Sistem Informasi : Pendekatan Tersruktur Teori dan Praktik
Aplikasi Bisnis. Yogyakarta : ANDI.
15
MODUL PERKULIAHAN
Pertemuan 11-12
1.DML dan Retrieve Data (Bagian 2)
2.Penggunaan Recursive Queris
Abstract Kompetensi
Mahasiswa mengetahui cara
Modul ini berisi materi tentang merancang
Dan membangun database pada
Pengenalan MsQL pemrograman
Dan perancangan database pada MySQL
Software Xampp
16
MODUL IV
DML dan Retrieve Data (Bagian 2)
Tujuan :
Setelah menyelesaikan modul ini, Anda diharapkan dapat :
1. Mencari dan menampilkan data dengan perintah select
2. Mengkombinasikan perintah select dengan perintah lainnya
Dasar Teori
a. Memberikan nama lain pada kolom : SELECT namakolomlama AS namakolombaru
FROM namatabel;
Berikut ini perintah untuk memberikan nama lain pada kolom jenis menjadi jenis_film
pada tabel jenisfilm:
17
HARGA > 2000);
Pada contoh di atas:
SELECT JENIS FROM FILM disebut subquery, sedangkan :
SELECT * F ROM JENISFILM berkedudukan sebagai query. Perhatikan, terdapat data
jenis dan harga pada tabel jenisfilm yang tidak ditampilkan. Hal ini disebabkan data
pada kolom jenis tidak terdapat pada kolom jenis di tabel film.
Contoh 2: perintah untuk menampilkan data pada tabel jenisfilm yang mana data pada
kolom jenis-nya tidak tercantum pada tabel film menggunakan NOT IN:
SELECT * FROM JENISFILM WHERE JENIS NOT IN (SELECT JENIS FROM FILM);
atau menggunakan NOT EXISTS
SELECT * FROM JENISFILM WHERE NOT EXISTS (SELECT * FROM FILM WHERE HARGA >
2000);
Contoh: perintah untuk menampilkan semua data jenisfilm yang harganya bukan
yang terkecil:
SELECT * FROM JENISFILM WHERE HARGA > ANY (SELECT HARGA FROM JENISFILM);
Operator ALL digunakan untuk melakukan perbandingan dengan subquery. Kondisi
dengan ALL menghasilkan nilai TRUE (benar) jika subquery tidak menghasilkan apapun
atau jika perbandingan menghasilkan TRUE untuk setiap nilai query terhadap hasil
subquery.
18
Contoh : perintah untuk menampilkan data jenisfilm yang harganya paling tinggi:
SELECT * FROM JENISFILM WHERE HARGA >= ALL (SELECT HARGA FROM JENISFILM);
f. Sintak ORDER BY
Klausa ORDER BY digunakan untuk mengurutkan data berdasarkan kolom tertentu
sesuai dengan tipe data yang dimiliki. Contoh : perintah untuk mengurutkan data film
berdasarkan kolom judul:
g. Sintak DISTINCT
Distinct adalah kata kunci ini untuk menghilangan duplikasi. Sebagai Contoh, buat
sebuah tabel pelanggan yang berisi nama dan kota asal dengan beberapa record isi dan
beberapa kota asal yang sama. Kemudian ketikkan perintah berikut:
SELECT DISTINCT KOTA FROM PELANGGAN;
Dengan perintah di atas maka nama kota yang sama hanya akan ditampilkan satu saja.
SELECT JENIS, JUDUL FROM FILM WHERE JENIS = 'ACTION' UNION SELECT JENIS, JUDUL
FROM FILM WHERE JENIS = 'HOROR';
19
SELECT JENIS, JUDUL FROM FILM WHERE JENIS = 'ACTION' OR JENIS = 'HOROR';
Namun tidak semua penggabungan dapat dilakukan dengan OR, yaitu jika bekerja pada
dua tabel atau lebih.
INTERSECT merupakan operator yang digunakan untuk memperoleh data dari dua
buah query dimana data yang ditampilkan adalah yang memenuhi kedua query
tersebut dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel
yang akan ditampilkan datanya harus sama.
EXCEPT / Set Difference merupakan operator yang digunakan untuk memperoleh data
dari dua buah query dimana data yang ditampilkan adalah data yang ada pada hasil
query 1 dan tidak terdapat pada data dari hasil query 2 dengan ketentuan jumlah,
nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus
sama.
Pada MySQL tidak terdapat operator EXCEPT namun sebagai gantinya dapat
menggunakan operator NOT IN seperti contoh 2 pada bagian Nested Queries. Praktik!
1. Buat tabel pegawai sebagai berikut:
20
2. Isi data tabel (data dapat dilihat pada halaman terakhir)!
3. Tampilkan semua kolom di tabel!
4. Tampilkan kolom idpegawai, namabelakang dan gaji saja!
5. Tampilkan kolom idpegawai, namabelakang, gaji, tunjangan dan sebuah kolom baru
yaitu tunjangan+gaji yang berisi jumlah tunjangan dan gaji !
6. Ubah tunjangan menjadi NULL untuk pegawai dengan idpegawai = E003. Kemudian
lakukan kembali percobaan 5.
7. Seperti percobaan 5, tampilkan kolom idpegawai, namabelakang, gaji, tunjangan
dan sebuah kolom baru (gunakan alias) yaitu total_pendapatan yang berisi jumlah
tunjangan dan gaji!
8. Tambahkan record baru dengan value: E006,lincoln, burrows, [email protected],
085275384544, 2008-09-01, L0006, 1750000, NULL, ex, coml.
9. Untuk pegawai yang ber-id E004 dan E005 ubah idmanajernya menjadi al!
10. Sekarang tampilkan kolom idmanajer saja!
11. Dari percobaan 10, terdapat 3 idmanajer yang sama dengan total record 6,
sekarang tampilkan
12. idmanajer tanpa duplikasi idmanajer sehingga akan tampil 4 record dengan
idmanajer yang berbeda!
13. Tampilkan pegawai yang gajinya antara 1750000 - 1250000!
14. Tampilkan tabel pegawai yang terurut berdasarkan namabelakang (dari a ke z)!
15. Tampilkan tabel pegawai yang diurutkan berdasarkan nama depan dengan urutan
terbalik (dari z ke a)!
Evaluasi dan pertanyaan
1. Tulis semua perintah-perintah SQL percobaan di atas beserta outputnya!
2. Beri kesimpulan Anda!
Daftar pustaka
Fatmawati, Siti. 2011. Aplikasi Sistem Informasi Manajemen Logistik Berbasis Web pada PT
Arindo Pratama Cabang Solo. Tugas Akhir. Universitas Muhammadiyah Surakarta. Surakarta.
21
MODUL PERKULIAHAN
Pertemuan 13-14
FUNGSI AGREGAT
Abstract Kompetensi
Mahasiswa mengetahui cara
Modul ini berisi materi tentang merancang
Dan membangun database pada
Pengenalan MsQL pemrograman
Dan perancangan database pada MySQL
Software Xampp
22
MODUL V
FUNGSI AGREGAT
Tujuan :
Dasar Teori
23
Praktik!!
1. Buat sebuah nama database dengan nama perdagangan.
2. Buat sebuah table dengan nama barang dimana ketentuannya seperti dibawah ini :
Daftar pustaka
Aritonang ,B. (1997). “Peranan Sistem Basisdata dalam Sistem Informasi”. Dalam Jurnal Penelitian
Teknologi Vol. 1 Nomor 09 Juli 1997 . Hal 23-31. Yogyakarta : Lembaga Ilmiah STMIK Dian
Nusantara.
24
MODUL PERKULIAHAN
Pertemuan 15
RETRIEVE, GROUP, FILTER DAN PATTERN MATCHING
Abstract Kompetensi
Mahasiswa mengetahui cara
Modul ini berisi materi tentang merancang
Dan membangun database pada
Pengenalan MsQL pemrograman
Dan perancangan database pada MySQL
Software Xampp
25
MODUL VI
RETRIEVE, GROUP, FILTER DAN PATTERN 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
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);
26
SQL mempunyai dua symbol khusus yang dipakai untuk pencocokan pola :
1. % : digunakan untuk mencocokkan karakter sebelum atau sesudah tanda %;
2. _ : digunakan 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!
Praktik 2!
1. Buat table dengan nama penjualan dengan ketentuan sebagai berikut :
27
2. Isi data table penjualan seperti dibawah ini :
28
8. Buat SQL sehingga tampilannya sebagaia berikut :
kode_brg nama_brg harga_modal harga_beli stok
B01 Sabun 2000 2500 15
B02 Pasta Gigi 2500 3000 15
B03 Sikat Gigi 3000 4000 10
B05 Korek Api 500 600 10
Daftar pustaka
Anonim. 2011. Xampp. (http://id.wikipedia.org/wiki/XAMPP, diakses tanggal 17 Maret 2011, jam
00:30)
29