A. TUJUAN 1. Mahasiswa mampu mengenal dan memahami Bahasa Pemrograman MySQL 2. Mahasiswa mampu mengimplementasikan DDL dan DML. B. ALAT DAN BAHAN 1. Personal komputer. 2. Aplikasi MySQL. C. TEORI SINGKAT Perintah SELECT adalah perintah untuk menampilkan data yang ada di dalam suatu tabel, dan dalam pengembangannya perintah ini akan menjadi sebuah perintah yang sangat penting dan berpengaruh hingga saat pemrograman. Perintah SELECT akan disandingkan dengan sintaks atau query lainnya dalam DML, seperti ALIAS, menampilkan data lebih dari 2 tabel, ORDER BY, AND dan OR, GROUP BY, fungsi agregate, dan beberapa perintah yang lain. D. LANGKAH KERJA 1. ALIAS Perintah Select dapat dilakukan dengan memberikan nama ALIAS yaitu dapat digunakan untuk mengganti nama_kolom dan nama_tabel. a. Memberikan nama lain pada kolom Sintaks: SELECT nama_kolom_lama AS nama_kolom_baru FROM nama_tabel; Atau SELECT nama_kolom AS nama_alias_kolom FROM nama_tabel Contoh : Tabel Matakuliah kode_matakuliah nama_matakuliah sks TIK115 Dasar Algoritma 2 TIK117 Sistem Basis Data 3 TIK119 Struktur Data 2 UNP107 Bahasa Indonesia 2 Menampilkan kolom nama matakuliah dengan Alias: mysql> select kode_matakuliah, nama_matakuliah AS MK from matakuliah; 1
+-----------------+-------------------+ kode_matakuliah MK +-----------------+-------------------+ TIK115 Dasar Algoritma TIK117 Sistem Basis Data TIK119 Struktur Data UNP107 Bahasa Indonesia +-----------------+-------------------+ b. Menggunakan alias untuk nama tabel 2. GROUP BY Sintaks : SELECT nama_kolom FROM nama_tabel AS nama_alias_tabel adalah pernyataan yang dirangkai dengan pernyataan SELECT dalam hubungannya dengan fungsi agregat untuk mengelompokkan hasil query untuk satu atau beberapa field. Contoh : menampilkan banyaknya kota dari masing-masing data mahasiswa. mysql> select tempat_lahir, count(tempat_lahir) from mahasiswa group by tempat_lahir; +--------------+---------------------+ tempat_lahir count(tempat_lahir) +--------------+---------------------+ Balikpapan 1 Bukittinggi 2 Maninjau 2 Surabaya 1 +--------------+---------------------+ 4 rows in set (0.01 sec) Contoh : menampilkan banyaknya kota dari masing-masing data mahasiswa dengan menggunakan alias. mysql> select tempat_lahir, count(tempat_lahir) as jumlah_mhs from mahasiswa group by tempat_lahir; +--------------+------------+ tempat_lahir jumlah_mhs +--------------+------------+ Balikpapan 1 Bukittinggi 2 Maninjau 2 Surabaya 1 +--------------+------------+ 2
3. HAVING Klausa HAVING disediakan untuk mendukung klausa GROUP BY. Kegunaannya adalah untuk menentukan kondisi bagi GROUP BY. Kelompok yang memenuhi kondisi HAVING saja yang akan dihasilkan. Sintaks : SELECT nama_kolom, COUNT (nama_kolom) FROM nama_tabel GROUP BY nama_kolom HAVING COUNT (nama_kolom) kondisi nilai. Contoh : mysql> select nama_depan, tahun_lahir from mahasiswa group by nama_depan having (tahun_lahir)>1982; +------------+-------------+ nama_depan tahun_lahir +------------+-------------+ Ikbal 1984 Nora 1987 Nurul 1983 +------------+-------------+ 3 rows in set (0.00 sec) 4. Fungsi Agregat Fungsi agregat dalam MySQL adalah fungsi yang menerima koleksi nilai dan mengembalikan nilai tunggal sebagai hasilnya, seperti: COUNT, AVG, SUM, MIN, dan MAX. mysql> select *from matakuliah; kode_matakuliah nama_matakuliah sks TIK115 Dasar Algoritma 2 TIK117 Sistem Basis Data 3 TIK119 Struktur Data 2 UNP107 Bahasa Indonesia 2 a. COUNT Fungsi COUNT Digunakan untuk menghitung jumlah record. mysql> select COUNT(*) AS jumlah_kota from mahasiswa where tempat_lahir='bukittinggi'; +-------------+ jumlah_kota +-------------+ 2 +-------------+ 1 row in set (0.05 sec) 3
b. AVG Fungsi AVG Digunakan untuk menampikan nilai rata-rata dari suatu kolom. mysql> select AVG(sks) as RerataSKS from matakuliah; RerataSKS 2.2500 1 row in set (0.01 sec) c. SUM Fungsi SUM digunakan untuk menghitung total nilai dari kolom tertentu. d. MIN mysql> select SUM(sks) AS Total_sks from matakuliah; Total_sks 9 1 row in set (0.02 sec) Fungsi MIN Digunakan untuk menampikan nilai terendah dari suatu kolom. mysql> select MIN(sks) AS Jumlah_Minimum from matakuliah; +----------------+ Jumlah_Minimum +----------------+ 2 +----------------+ 1 row in set (0.00 sec) e. MAX Fungsi Max Digunakan untuk menampikan nilai tertinggi dari suatu kolom. mysql> select MAX(sks) AS Jumlah_Maksimum from matakuliah; +-----------------+ Jumlah_Maksimum +-----------------+ 3 +-----------------+ 1 row in set (0.00 sec) 5. Operator AND dan OR AND dan OR menggabungkan dua atau lebih kondisi pada klausa WHERE. Operator AND menampilkan data jika semua kondisi yang diminta bernilai benar. Operator OR menampilkan data jika ada kondisi yang benar. Sintaks : SELECT FROM nama _tabel WHERE kondisi_1 AND kondisi_2 4
Contoh : AND mysql> select *from mahasiswa where bulan_lahir='maret' and tempat_lahir='bukittinggi'; nim nama tempat_lahir tgl_lahir bulan_lahir tahun_lahir 13222 Nurul Fitri Arafah Bukittinggi 28 Maret 1983 13224 Fitri Kurnia Bukittinggi 18 Maret 1980 2 rows in set (0.00 sec) OR mysql> select *from mahasiswa where bulan_lahir='maret' or tempat_lahir='bukittinggi'; nim nama tempat_lahir tgl_lahir bulan_lahir tahun_lahir 13222 Nurul Fitri Arafah Bukittinggi 28 Maret 1983 13224 Fitri Kurnia Bukittinggi 18 Maret 1980 13227 Ikbal Nugraha Surabaya 1 Maret 1984 3 rows in set (0.00 sec) AND dan OR mysql> select *from mahasiswa where (bulan_lahir='maret' or tempat_lahir='bukittinggi') and (tahun_lahir='1983'); nim nama tempat_lahir tgl_lahir bulan_lahir tahun_lahir 13222 Nurul Fitri Arafah Bukittinggi 28 Maret 1983 1 row in set (0.00 sec) 5
mysql> select *from mahasiswa where (bulan_lahir='maret' or tempat_lahir='bukittinggi') and (tahun_lahir='1984'); +-------+---------------+---------------------------+-------------+ nim nama tempat_lahir tgl_lahir bulan_lahir tahun_lahir +-------+---------------+---------------------------+-------------+ 13227 Ikbal Nugraha Surabaya 1 Maret 1984 +-------+---------------+---------------------------+-------------+ 1 row in set (0.00 sec) 6. Query Banyak Tabel Digunakan untuk menghasilkan informasi pada sustu database, yang datanya diperoleh dari banyak tabel. Atau query dilakukan pada tabel yang lebih dari satu. Caranya: Menggunakan perintah SELECT Perhatikan hubungan atau relasi antara masing-masing tabel. Sertakan nama tabel melengkapi nama kolomnya. Penulisannya: tuliskan nama tabel dan nama kolom bersama-sama dengan pemisah tanda titik (.). Contoh : Mahasiswa.nama_mahasiswa kolom nama mahasiswa yang terdapat pada tabel mahasiswa. matakuliah.nama_matakuliah kolom nama matakuliah yang terdapat pada tabel matakuliah. jadwal.kode_matakuliah kolom kode matakuliah yang terdapat pada tabel jadwal. Jadwal.kode_dosen kolom kode dosen yang terdapat pada tabel jadwal. 6
Tabel Dosen +------------+------------+-------------+ kode_dosen nama_dosen prodi +------------+------------+-------------+ 5328 Dagadul Informatika 5334 Thamrin Elektronika 5335 Fairuz Elektronika 5336 Budiman Informatika +------------+------------+-------------+ Tabel Matakuliah kode_matakuliah nama_matakuliah sks TIK115 Dasar Algoritma 2 TIK117 Sistem Basis Data 3 TIK119 Struktur Data 2 UNP107 Bahasa Indonesia 2 Tabel Jadwal +-------------+-----------------+------------+--------+-------------+-------+ kode_jadwal kode_matakuliah kode_dosen hari jam ruang +-------------+-----------------+------------+--------+-------------+-------+ JTI01 TIK115 5335 Selasa 10:00-12:00 ETI02 JTI011 TIK115 5328 Rabu 08:00-10:00 ETI02 JTI012 TIK117 5328 Selasa 10:00-12:00 ETI01 JTI013 TIK119 5334 Selasa 08:00-10:00 ETI01 +-------------+-----------------+------------+--------+-------------+-------+ 7
mysql> select dosen.nama_dosen, matakuliah.nama_matakuliah from dosen, matakuliah, jadwal where dosen.kode_dosen=jadwal.kode_dosen and matakuliah.kode_matakuliah=jadwal.kode_matakuliah; +------------+-------------------+ nama_dosen nama_matakuliah +------------+-------------------+ Fairuz Dasar Algoritma Dagadul Dasar Algoritma Dagadul Sistem Basis Data Thamrin Struktur Data +------------+-------------------+ E. EVALUASI 1. Gantilah nama tabel JADWAL menjadi tabel KRS. 2. Tambahkan kolom nim pada tabel KRS, dan isikan record-nya. 3. Buatlah perintah SQL yang menggunakan klausa Order By, Group By, dan Having. 4. Buatlah perintah SQL yang menggunakan operator AND dan OR. 5. Buatlah perintah SQL yang menggunakan fungsi Agregate (masing-masing 1). 6. Buatlah perintah SQL untuk menampilkan data yang berasal dari dua tabel dan tiga tabel. 0ooo0 8