Professional Documents
Culture Documents
Dosen :
LUKMAN HAKIM, ST, M.Kom.
Disusun oleh :
Andjar Prabowo (08567002)
PERTEMUAN KE I
Atau bila jendela di atas diminimize, maka pada taskbar akan terlihat “lampu lalu
lintas” menyala seperti terlihat di bawah ini :
2. Cara mengaktifkan prompt MySQL
Klik-lah file mysql.exe pada folder bin yang terdapat di drive C atau jika melalui
DOS prompt dapat dilakukan langkah berikut:
C:\>cd mysql (tekan Enter), maka akan muncul :
C:\ mysql > cd bin (tekan Enter), maka akan muncul :
C:\ mysql\bin\mysql.exe (tekan Enter), maka akan muncul :
mysql>
Prompt mysql inilah yang berfungsi untuk memasukkan perintah-perintah permintaan
kepada database, yang berwujud program dam bahasa SQL.
3. Mengenal versi MySQL
mysql>SELECT VERSION();
memberikan hasil sebagai berikut :
+------------+
| VERSION() |
+------------+
| 3.23.47-nt |
+------------+
1 row in set (0.38 sec)
a. mysql>SELECT 30 / 3;
perintah di atas memberikan hasil sebagai berikut :
+--------+
| 30 / 3 |
+--------+
| 10.00 |
+--------+
1 row in set (0.32 sec)
b. mysql>SELECT 20 * 5;
perintah di atas memberikan hasil sebagai berikut :
+------+
| 20*5 |
+------+
| 100 |
+------+
1 row in set (0.00 sec)
c. mysql>SELECT 20 + 50;
perintah di atas memberikan hasil sebagai berikut :
+-------+
| 20+50 |
+-------+
| 70 |
+-------+
1 row in set (0.00 sec)
d. mysql>SELECT 30 – 5;
perintah di atas memberikan hasil sebagai berikut :
+------+
| 30-5 |
+------+
| 25 |
+------+
1 row in set (0.00 sec)
e. mysql>SELECT SIN(30);
perintah di atas memberikan hasil sebagai berikut :
+-----------+
| SIN(30) |
+-----------+
| -0.988032 |
+-----------+
1 row in set (0.00 sec)
f. mysql>SELECT COS(90);
perintah di atas memberikan hasil sebagai berikut :
+------------+
| COS(90) |
+------------+
| -0.448074 |
+------------+
1 row in set (0.05 sec)
g. mysql>SELECT TAN(45);
perintah di atas memberikan hasil sebagai berikut :
+----------+
| TAN(45) |
+----------+
| 1.619775 |
+----------+
1 row in set (0.00 sec)
h. mysql>SELECT ATAN(45);
perintah di atas memberikan hasil sebagai berikut :
+----------+
| ATAN(45) |
+----------+
| 1.548578 |
+----------+
1 row in set (0.00 sec)
i. mysql>SELECT COT(45);
perintah di atas memberikan hasil sebagai berikut :
+------------+
| COT(45) |
+------------+
| 0.61736962 |
+------------+
1 row in set (0.00 sec)
j. mysql>SELECT LEAST(4,3,6,8,3,4,2);
perintah di atas memberikan hasil sebagai berikut :
+----------------------+
| LEAST(4,3,6,8,3,4,2) |
+----------------------+
| 2|
+----------------------+
1 row in set (0.00 sec)
k. mysql>SELECT GREATEST(6,3,4,7,8,5,9,8);
perintah di atas memberikan hasil sebagai berikut :
+---------------------------+
| GREATEST(6,3,4,7,8,5,9,8) |
+---------------------------+
| 9|
+---------------------------+
1 row in set (0.00 sec)
l. mysql>SELECT RADIANS(45);
perintah di atas memberikan hasil sebagai berikut :
+------------------+
| RADIANS(45) |
+------------------+
| 0.78539816339745 |
+------------------+
1 row in set (0.00 sec)
m. mysql>SELECT MOD(12,3);
perintah di atas memberikan hasil sebagai berikut :
+-----------+
| MOD(12,3) |
+-----------+
| 0|
+-----------+
1 row in set (0.00 sec)
n. mysql>SELECT EXP(4);
perintah di atas memberikan hasil sebagai berikut :
+-----------+
| EXP(4) |
+-----------+
| 54.598150 |
+-----------+
1 row in set (0.00 sec)
o. mysql>SELECT POW(4,2);
perintah di atas memberikan hasil sebagai berikut :
+-----------+
| POW(4,2) |
+-----------+
| 16.000000 |
+-----------+
1 row in set (0.33 sec)
b. 5%3+4*5-2
mysql> SELECT 5%3+4*5-2;
+-----------+
| 5%3+4*5-2 |
+-----------+
| 20 |
+-----------+
1 row in set (0.00 sec)
9. Jika x = 10, carilah hasil persamaan berikut :
a. x5 + x4 + x3 + x2 + x + 5
mysql> SELECT pow(10,5)+pow(10,4)+pow(10,3)+pow(10,2)+10+5;
+----------------------------------------------+
| pow(10,5)+pow(10,4)+pow(10,3)+pow(10,2)+10+5 |
+----------------------------------------------+
| 111115.000000 |
+----------------------------------------------+
1 row in set (0.00 sec)
b. x4 + 5 * 5 + cos(30)
mysql> SELECT pow(10,4) + 5 * 5 + cos(30);
+-----------------------------+
| pow(10,4) + 5 * 5 + cos(30) |
+-----------------------------+
| 10025.154251 |
+-----------------------------+
1 row in set (0.00 sec)
c. x3 + x2 + 5 % 2 * cos(0)
mysql> SELECT pow(10,3) + pow(10,2) + 5 % 2 * cos(0);
+----------------------------------------+
| pow(10,3) + pow(10,2) + 5 % 2 * cos(0) |
+----------------------------------------+
| 1101.000000 |
+----------------------------------------+
1 row in set (0.00 sec)
e. x2 + 4x + 3
mysql> SELECT pow(10,2) + 4 * 10 + 3;
+------------------------+
| pow(10,2) + 4 * 10 + 3 |
+------------------------+
| 143.000000 |
+------------------------+
1 row in set (0.00 sec)
Latihan :
1. 4 x10 + 2 sin(30) +15 cos(45) + 5x * 2
Jika x = 4
mysql> SELECT 4*pow(4,10)+2*sin(30)+15*cos(45)+pow(5,4)*2;
+---------------------------------------------+
| 4*pow(4,10)+2*sin(30)+15*cos(45)+pow(5,4)*2 |
+---------------------------------------------+
| 4195559.903767 |
+---------------------------------------------+
1 row in set (0.00 sec)
3. 2 + cos(45) * z + 10 z5 + 10 + 2 z
Jika z = 10
mysql> SELECT 2+cos(45)*10+10*pow(10,5)+10+2*10;
+-----------------------------------+
| 2+cos(45)*10+10*pow(10,5)+10+2*10 |
+-----------------------------------+
| 1000037.253220 |
+-----------------------------------+
1 row in set (0.00 sec)
LAPORAN PRAKTIKUM
PERTEMUAN KE II
2. Melihat database-database, dan mengamati apakah database yang telah dibuat sudah
ada.
mysql>SHOW DATABASES;
+----------+
| Database |
+----------+
| Akademik |
| mysql |
| test |
+----------+
3 rows in set (0.00 sec)
Database changed
4. Membuat tabel Mhs
mysql>CREATE TABLE Mhs(
- >NIM INT(10) NOT NULL,
- >Nama VARCHAR(20),
- >Jenis_Kelamin ENUM(‘L’,’P’),
- >Alamat VARCHAR(35),
- >Telepon VARCHAR(15),
- >PRIMARY KEY(NIM));
Query OK, 0 rows affected (0.31 sec)
PERTEMUAN KE III
Berikut adalah penjelasan lebih rinci dari memasukkan data ke dalam tabel :
Jika tampil informasi ini maka database akademik telah dihapus, hal ini dapat kita
ketahui dengan melihat database yang ada seperti berikut ini :
mysql>SHOW DATABASES;
Empty set (0.00 sec)
Informasi ini menyatakan tidak ada database dalam komputer / sistem.
3. Buatlah tabel Mhs dengan nama field-fieldnya adalah NIM, Nama, Jenis_Kelamin,
Alamat, E-mail,Telp, dan IPK. Kemudian isilah tabel-tabel tersebut sebanyak 8 record
dengan cara pengisian per-record.
Untuk membuat tabel perintahnya :
mysql> CREATE TABLE Mhs(
- > NIM INT(10) NOT NULL,
- > Nama VARCHAR(20),
- > JKel ENUM('PRIA','WANITA'),
- > Alamat VARCHAR(25),
- > E_mail VARCHAR(15),
- > Telp CHAR(10),
- > IPK CHAR(4),
- > PRIMARY KEY(NIM));
Query OK, 0 rows affected (0.34 sec)
Sedang untuk memasukkan data per-record perintahnya seperti berikut :
mysql> INSERT INTO Mhs VALUES (1001,'Budi Darmawan’,
-> 'pria','rawamangun','budi@gmail.com','02112345','3,25');
Query OK, 1 row affected (0.00 sec)
5. Buatlah tabel Data_Diri dengan nama field-fieldnya adalah NIM, Nama, JKel,
Alamat. Kemudian isilah tabel tersebut sebanyak 4 record, dengan cara pengisian
beberapa record sekaligus.
mysql> create table Data_Diri(
-> NIM INT(10),
-> Nama VARCHAR(20),
-> JKel ENUM('PRIA','WANITA'),
-> Alamat VARCHAR(25));
Query OK, 0 rows affected (0.00 sec)
Latihan :
1. Tampilkan dari tabel Mhs field Nama dengan inisial huruf depan “A”
mysql> SELECT * FROM Mhs
-> WHERE Nama LIKE "A%";
+------+--------------+--------+--------+--------+------+------+
| NIM | Nama | JKel | Alamat | E_mail | Telp | IPK |
+------+--------------+--------+--------+--------+------+------+
| 1011 | Ana Ivanovic | WANITA | Grogol | NULL | NULL | NULL |
+------+--------------+--------+--------+--------+------+------+
1 row in set (0.00 sec)
2. Tampilkan dari tabel Mhs field Nama dengan inisial huruf tengah “M”
mysql> SELECT * FROM Mhs
-> WHERE Nama LIKE "%M%";
+------+-----------------+------+-------------+----------------+----------+------+
| NIM | Nama | JKel | Alamat | E_mail | Telp | IPK |
+------+-----------------+------+-------------+----------------+----------+------+
| 1001 | Budi Darmawan | PRIA | jatinegara | budi@gmail.com | 02112345 | 3,25 |
| 1002 | Bambang Thok | PRIA | rawamangun | bams@yahoo.com | 02212345 | 2,75 |
| 1004 | Mat Juki | PRIA | Pasar Senen | juki@gmail.com | 02412345 | 1,85 |
| 1005 | Paimin McDonald | PRIA | Sentiong | pai@gmail.com | 02512345 | 2,80 |
| 1010 | Luki Rahmat | PRIA | Poncol | NULL | NULL | NULL |
+------+-----------------+------+-------------+----------------+----------+------+
5 rows in set (0.00 sec)
3. Tampilkan dari tabel Mhs field Nama dengan inisial huruf akhir “A”
mysql> SELECT * FROM Mhs
-> WHERE Nama LIKE "%A";
+------+----------+--------+-------------+-----------------+----------+------+
| NIM | Nama | JKel | Alamat | E_mail | Telp | IPK |
+------+----------+--------+-------------+-----------------+----------+------+
| 1006 | Diandra | WANITA | Pulomas | diandra@gmail.c | 02612345 | 3,25 |
| 1007 | Jay Jaya | PRIA | Kramat Pulo | jaya@plasa.com | 02712345 | 2,25 |
| 1008 | Sabrina | WANITA | Melawai | sabrina@plasa.c | 02812345 | 2,75 |
+------+----------+--------+-------------+-----------------+----------+------+
3 rows in set (0.00 sec)
LAPORAN PRAKTIKUM
PERTEMUAN KE IV
Program-Program MySQL
1. Hapus semua database yang ada
Sebelumnya untuk mengetahui database yang telah ada kita gunakan perintah :
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| Akademik |
+----------+
1 row in set (0.00 sec)
Jika tampil informasi ini maka database akademik telah dihapus, hal ini dapat kita
ketahui dengan melihat database yang ada seperti berikut ini :
mysql>SHOW DATABASES;
Empty set (0.00 sec)
Informasi ini menyatakan tidak ada database dalam komputer / sistem.
Untuk membuat tabel keberangkatan dan tabel tujuan instruksinya sebagai berikut:
Sedangkan untuk melihat struktur tabel keberangkatan dan tabel tujuan digunakan
instruksi seperti berikut :
mysql> desc keberangkatan;
+-------------------+--------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+--------+------+-----+---------+-------+
| NoLoko | int(6) | | PRI | 0 | |
| Jam_Kedatangan | time | YES | | NULL | |
| Jam_Keberangkatan | time | YES | | NULL | |
+-------------------+--------+------+-----+---------+-------+
3 rows in set (0.00 sec)
Sedangkan berikut ini instruksi untuk melihat data pada tabel tujuan yang baru
dimasukkan :
mysql> select * from tujuan;
+--------+------------+
| NoLoko | Tujuan |
+--------+------------+
| 552811 | Yogyakarta |
| 890020 | Solo |
| 105201 | Surabaya |
| 756101 | Semarang |
| 551561 | Yogyakarta |
| 156182 | Bandung |
+--------+------------+
6 rows in set (0.00 sec)
Untuk memasukkan data ke tabel kereta instruksinya adalah :
Sedangkan berikut ini instruksi untuk melihat data pada tabel kereta yang baru
dimasukkan :
Sedangkan berikut ini instruksi untuk melihat data pada tabel keberangkatan yang
baru dimasukkan :
PERTEMUAN KE V
Setelah melakukan instruksi help pada prompt mysql, maka akan ditampilkan
perintah-perintah yang berhubungan dengan peerjaan anda selanjutnya, termasuk saat
membuat program SQL dengan editor NOTEPAD, dimana program tersebut disimpan di luar
server MySQL, misal di drive D: , atau folder yang lainnya dalam drive C: . Pengaksesan
program SQL yang berekstensi .sql yang disimpan di luar folder mysql, dapat diakses dengan
instruksi \. (Karakter ini dapat dilihat fungsinya dengan bantuan fasilitas help).
Pembuatan instruksi-instruksi SQL, tidak harus diketik pada prompt mysql>, tetapi
dapat dilakukan dengan media NOTEPAD.
Namun yang perlu anda perhatikan adalah saat proses penyimpanan file pada media
NOTEPAD ini. Cara penyimpanan file adalah dengan menekan menu FILE, kemudian pilih
sub menu SAVE, maka akan muncul window Save As. Pada window ini perhatikan pada
Filename, dimana nama file harus diakhiri dengan ekstensi .sql. Pada window ini yang harus
diperhatikan juga adalah Save As Type, dimana harus dipilih All Files (*.*). Jangan lupa
untuk menyimpan file pada drive atau folder yang telah anda tentukan.
File di atas disimpan dengan nama latihan.sql di drive C:\, kemudian di prompt mysql
tulis instruksi berikut ini :
mysql> \. c:\latihan.sql atau
mysql>source c:\latihan.sql
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| No_Induk | smallint(5) | | PRI | 0 | |
| NoTelp | varchar(13) | YES | MUL | NULL | |
| Judul | longtext | YES | | NULL | |
| Pengarang | varchar(25) | YES | | NULL | |
| Penerbit | varchar(25) | YES | | NULL | |
+-----------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)
+---------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+----------------+
| No | smallint(4) | | PRI | NULL | auto_increment |
| Pengarang | varchar(25) | YES | | NULL | |
| Judul | longtext | YES | | NULL | |
| Telp | varchar(13) | YES | MUL | NULL | |
| Jumlah | int(10) | YES | | NULL | |
| LisenesiHonor | int(8) | YES | | 1000000 | |
+---------------+-------------+------+-----+---------+----------------+
6 rows in set (0.00 sec)
+----+------------+---------------------------------------------------+--------------+
| No | Tanggal | Isi_Berita | Jenis_Berita |
+----+------------+---------------------------------------------------+--------------+
| 1 | 2008-10-25 | MU vs Celtic 3-0 | Sport |
| 2 | 2008-10-26 | Harga minyak dunia turun | Ekonomi |
| 3 | 2008-10-28 | Artis Wulan Guritno batal jadi caleg | Hiburan |
| 4 | 2008-11-01 | Indonesia juara umum ABG I | Sport |
| 5 | 2008-11-05 | PKS mensyaratkan capres berasal dari kader partai | Politik |
+----+------------+---------------------------------------------------+--------------+
5 rows in set (0.00 sec)
+----------+--------------+-------------------+---------------+--------------------+
| No_Induk | NoTelp | Judul | Pengarang | Penerbit |
+----------+--------------+-------------------+---------------+--------------------+
| 10001 | 081712345789 | Perdamaian di NAD | Joko Bodo | Bodo Press |
| 10002 | 081812345789 | Borland delphi | Icuk Sugiarto | Bad Publishers |
| 10003 | 081212345789 | Rahasia Cinta | Dewi Amor | Plagiat Multimedia |
| 10004 | 081312345789 | Belum ada Judul | Wan Abud | Sangrilla |
| 10005 | 081512345789 | Mumet | Mbah Dukun | java publishers |
+----------+--------------+-------------------+---------------+--------------------+
5 rows in set (0.00 sec)
+----+---------------+-------------------+--------------+--------+---------------+
| No | Pengarang | Judul | Telp | Jumlah | LisenesiHonor |
+----+---------------+-------------------+--------------+--------+---------------+
| 1 | Joko Bodo | Perdamaian di NAD | 081712345789 | 4| 2000000 |
| 2 | Icuk Sugiarto | Borland delphi | 081812345789 | 2| 1500000 |
| 3 | Dewi Amor | Rahasia Cinta | 081212345789 | 3| 3000000 |
| 4 | Wan Abud | Belum ada Judul | 081312345789 | 1| 1000000 |
+----+---------------+-------------------+--------------+--------+---------------+
4 rows in set (0.00 sec)
+----+---------------+-------------------+--------------+--------+---------------+
| No | Pengarang | Judul | Telp | Jumlah | LisenesiHonor |
+----+---------------+-------------------+--------------+--------+---------------+
| 1 | Joko Bodo | Perdamaian di NAD | 081712345789 | 4| 2000000 |
| 2 | Icuk Sugiarto | Borland delphi | 081812345789 | 2| 1500000 |
| 3 | Dewi Amor | Rahasia Cinta | 081212345789 | 3| 3000000 |
| 4 | Wan Abud | Belum ada Judul | 081312345789 | 1| 1000000 |
| 5 | Mbah Dukun | Mumet | 081512345789 | 5| 1000000 |
+----+---------------+-------------------+--------------+--------+---------------+
5 rows in set (0.00 sec)
LAPORAN PRAKTIKUM
PERTEMUAN KE VI
4. Tambahkan satu buah field dengan nama Keterangan pada akhir kolom
5. Tambahkan satu buah field dengan nama NIM pada awal kolom
6. Tambahkan satu buah field dengan nama Nilai setelah field Nama
7. Lihatlah isi tabel tersebut, apakah penyisipan / penambahan field benar-benar sudah
terjadi sesuai keinginan.
mysql> desc Mhs;
+--------------+---------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+---------------------------+------+-----+---------+-------+
| NIM | int(7) | YES | | NULL | |
| Nama | varchar(20) | YES | | NULL | |
| Nilai | enum('A','B','C','D','E') | YES | | NULL | |
| Alamat | varchar(35) | YES | | NULL | |
| JenisKelamin | enum('Pria','Wanita') | YES | | NULL | |
| Telp | varchar(13) | YES | MUL | NULL | |
| Keterangan | longtext | YES | | NULL | |
+--------------+---------------------------+------+-----+---------+-------+
7 rows in set (0.00 sec)
PERTEMUAN KE VII
Contoh :
Jika suatu tabel bernama DATA, dan pada kolom SEX diset dengan kata ‘Pria’
sebagai defaultnya maka perintahnya adalah :
Mysql>ALTER TABLE DATA
>ALTER SEX SET DEFAULT ‘Pria’;
2. Buatlah 2 buah tabel, masing-masing tabel berisi 5 kolom. Satu tabel satu kolomnya
harus anda tentukan sebagai primary key serta merupakan kolom yang isinya dapat
bertambah secara otomatis, sedangkan tabel yang lainnya 2 kolomnya anda tentukan
sebagai kolom unik.
5. Tambahkan satu buah kolom pada kedua tabel di atas, dan anda tentukan sebagai
kolom yang berisi default. Kemudian isilah kolom tersebut.
mysql> alter table karyawan add JKel enum('Pria','Wanita') default 'Pria';
Query OK, 5 rows affected (0.01 sec)
Records: 5 Duplicates: 0 Warnings: 0
PERTEMUAN KE VIII
5. Buatlah rumus untuk mencari jumlah nilai pada kelas “B” pada kolom Algo
mysql>select sum(Algo) from nilai
->where Kelas = 'B';
+-----------+
| sum(Algo) |
+-----------+
| 190 |
+-----------+
1 row in set (0.00 sec)
7. Buatlah rumus untuk mencari rata-rata nilai pada kolom Algo di kelas “B”.
mysql>select avg(Algo) from nilai
->where Kelas = 'B';
+-----------+
| avg(Algo) |
+-----------+
| 63.3333 |
+-----------+
1 row in set (0.00 sec)
+-------------+------------+-----------+-------------+-------------+-------------+----------+
| max(Fisika) | max(Mysql) | max(Algo) | max(Jarkom) | max(Kapita) | max(SistOp) | max(RPL) |
+-------------+------------+-----------+-------------+-------------+-------------+----------+
| 80 | 90 | 80 | 90 | 80 | 90 | 79 |
+-------------+------------+-----------+-------------+-------------+-------------+----------+
1 row in set (0.00 sec)
9. Buatlah rumus untuk mencari nilai maksimum pada kolom Algo di kelas “B”.
+-----------+
| max(Algo) |
+-----------+
| 80 |
+-----------+
1 row in set (0.00 sec)
10. Buatlah rumus untuk mencari nilai minimum pada masing-masing kolom.
+-------------+------------+-----------+-------------+-------------+-------------+----------+
| min(Fisika) | min(Mysql) | min(Algo) | min(Jarkom) | min(Kapita) | min(SistOp) | min(RPL) |
+-------------+------------+-----------+-------------+-------------+-------------+----------+
| 30 | 20 | 10 | 15 | 40 | 30 | 40 |
+-------------+------------+-----------+-------------+-------------+-------------+----------+
1 row in set (0.00 sec)
11. Buatlah rumus untuk mencari nilai minimum pada kolom Algo di kelas “B”.
+-----------+
| min(Algo) |
+-----------+
| 50 |
+-----------+
1 row in set (0.00 sec)
LAPORAN PRAKTIKUM
PERTEMUAN KE IX
Pada praktikum kali ini juga akan dibahas mengenai penggunaan operator pembanding dan
operator logika di dalam klausa WHERE.
3. Buatlah rumus untuk mencari Nama yang bergolongan darah sama dengan A.
+----+-------------------+-----------+------+--------+-------+
| No | Nama | Gol_Darah | Sex | Tinggi | Berat |
+----+-------------------+-----------+------+--------+-------+
| 1 | Ariani Widiastuti | A |W | 160 | 45 |
| 2 | Warsiti |A |W | 158 | 50 |
+----+-------------------+-----------+------+--------+-------+
2 rows in set (0.00 sec)
4. Buatlah rumus untuk mencari Nama yang tidak sama dengan bergolongan
darah O.
+----+-------------------+-----------+------+--------+-------+
| No | Nama | Gol_Darah | Sex | Tinggi | Berat |
+----+-------------------+-----------+------+--------+-------+
| 1 | Ariani Widiastuti | A |W | 160 | 45 |
| 2 | Warsiti |A |W | 158 | 50 |
| 3 | Darti Widayati | AB |W | 165 | 55 |
| 4 | Bambang Yuwono |B |P | 180 | 80 |
| 6 | Wargono |B |P | 155 | 60 |
+----+-------------------+-----------+------+--------+-------+
5 rows in set (0.00 sec)
5. Buatlah rumus untuk mencari Nama yang tingginya lebih dari 160.
+----+----------------+-----------+------+--------+-------+
| No | Nama | Gol_Darah | Sex | Tinggi | Berat |
+----+----------------+-----------+------+--------+-------+
| 3 | Darti Widayati | AB |W | 165 | 55 |
| 4 | Bambang Yuwono | B |P | 180 | 80 |
| 5 | Haris Wibowo | O |P | 170 | 67 |
+----+----------------+-----------+------+--------+-------+
3 rows in set (0.00 sec)
6. Buatlah rumus untuk mencari Nama yang tingginya kurang atau sama dengan 160.
+----+-------------------+-----------+------+--------+-------+
| No | Nama | Gol_Darah | Sex | Tinggi | Berat |
+----+-------------------+-----------+------+--------+-------+
| 1 | Ariani Widiastuti | A |W | 160 | 45 |
| 2 | Warsiti |A |W | 158 | 50 |
| 6 | Wargono |B |P | 155 | 60 |
+----+-------------------+-----------+------+--------+-------+
3 rows in set (0.00 sec)
7. Buatlah rumus untuk mencari Nama yang tingginya lebih atau sama dengan 170.
+----+----------------+-----------+------+--------+-------+
| No | Nama | Gol_Darah | Sex | Tinggi | Berat |
+----+----------------+-----------+------+--------+-------+
| 4 | Bambang Yuwono | B |P | 180 | 80 |
| 5 | Haris Wibowo | O |P | 170 | 67 |
+----+----------------+-----------+------+--------+-------+
2 rows in set (0.00 sec)
+----+-------------------+-----------+------+--------+-------+
| No | Nama | Gol_Darah | Sex | Tinggi | Berat |
+----+-------------------+-----------+------+--------+-------+
| 1 | Ariani Widiastuti | A |W | 160 | 45 |
| 2 | Warsiti |A |W | 158 | 50 |
| 3 | Darti Widayati | AB |W | 165 | 55 |
+----+-------------------+-----------+------+--------+-------+
3 rows in set (0.00 sec)
9. Buatlah rumus untuk mencari Nama yang bergolongan darah B dan bersex pria.
mysql>select * from Data_Diri
->where Gol_Darah = 'B' and sex = 'P';
+----+----------------+-----------+------+--------+-------+
| No | Nama | Gol_Darah | Sex | Tinggi | Berat |
+----+----------------+-----------+------+--------+-------+
| 4 | Bambang Yuwono | B |P | 180 | 80 |
| 6 | Wargono |B |P | 155 | 60 |
+----+----------------+-----------+------+--------+-------+
2 rows in set (0.00 sec)
10. Buatlah rumus untuk mencari Nama yang bergolongan darah A dan tingginya
lebih dari 170.
mysql>select * from Data_Diri
->where Gol_Darah = 'A' and Tinggi > 170;
11. Buatlah rumus untuk mencari Nama yang bersex wanita dan beratnya lebih kecil
dari 50.
+----+-------------------+-----------+------+--------+-------+
| No | Nama | Gol_Darah | Sex | Tinggi | Berat |
+----+-------------------+-----------+------+--------+-------+
| 1 | Ariani Widiastuti | A |W | 160 | 45 |
+----+-------------------+-----------+------+--------+-------+
1 row in set (0.00 sec)
12. Buatlah rumus untuk mencari Nama yang tingginya 160 atau beratnya lebih kecil
dari 70.
mysql>select * from Data_Diri
->where Tinggi = 160 or Berat < 70;
+----+-------------------+-----------+------+--------+-------+
| No | Nama | Gol_Darah | Sex | Tinggi | Berat |
+----+-------------------+-----------+------+--------+-------+
| 1 | Ariani Widiastuti | A |W | 160 | 45 |
| 2 | Warsiti |A |W | 158 | 50 |
| 3 | Darti Widayati | AB |W | 165 | 55 |
| 5 | Haris Wibowo |O |P | 170 | 67 |
| 6 | Wargono |B |P | 155 | 60 |
+----+-------------------+-----------+------+--------+-------+
5 rows in set (0.00 sec)
LAPORAN PRAKTIKUM
PERTEMUAN KE X
IF
mysql>SELECT IF (kondisi,Pernyataan_1, Pernyataan_2),
Arti :
Jika kondisi bernilai benar, maka pernyataan_1 yang dikerjakan, tetapi
Jika kondisi bernilai salah, maka pernyataan_2 yang dikerjakan.
CASE
mysql>SELECT nama_kolom CASE kondisi WHEN pernyataan_1
->THEN pernyataan_2
->ELSE pernyataan_lain
->END from nama_tabel;
catatan : pernyataan ELSE bisa ditiadakan
mysql>SELECT IFNULL(1,0);
mysql>SELECT IFNULL(null,5);
mysql>SELECT IFNULL(2/0,5);
mysql>SELECT IFNULL(2/0,'BENAR');
mysql>SELECT IF(3<5,3,4);
mysql>SELECT IF(3<5,'Benar','Salah');
mysql>SELECT IF(4>10,'Benar','Salah');
3. Buatlah database dengan nama bebas dan satu buah tabel dengan nama tabel
“Data_Mhs” sebagai berikut :
Nama Gol_dara sex tinggi berat
No. h
1 Ariani Widiastuti A W 160 45
2 Warsiti A W 158 50
3 Darti Widayati AB W 165 55
4 Bambang Yuwono B P 180 80
5 Haris Wibowo O P 170 67
6 Wargono B P 155 60
6. Tampilkan nama wanita yang memiliki berat badan ideal dengan menggunakan klausa
if yaitu tinggi badan – 110 dengan keterangan ideal atau tidak ideal:
mysql> select nama, if(berat = (Tinggi-110),'Ideal','Tidak Ideal')
-> as 'Berat Badan' from data_mhs
-> where sex='W';
+-------------------+-------------+
| nama | Berat Badan |
+-------------------+-------------+
| Ariani Widiastuti | Tidak Ideal |
| Warsiti | Tidak Ideal |
| Darti Widayati | Ideal |
+-------------------+-------------+
3 rows in set (0.00 sec)
7. Tampilkan mahasiswa yang dapat mendonorkan darahnya ke semua golongan :
mysql> select * from data_mhs
-> where gol_darah = 'O';
+----+--------------+-----------+------+--------+-------+
| No | Nama | Gol_Darah | Sex | Tinggi | Berat |
+----+--------------+-----------+------+--------+-------+
| 5 | Haris Wibowo | O |P | 170 | 67 |
+----+--------------+-----------+------+--------+-------+
1 row in set (0.00 sec)
PERTEMUAN KE XI
Namun anda juga dapat membalik kondisi dari suatu kondisi dengan syntax berikut :
Klausa LIMIT digunakan untuk memilih data yang akan keluar pada layar. Dengan
fungsi ini, dapat ditentukan jumlah dan macam data yang akan ditampilkan pada layar.
Biasanya fungsi LIMIT berguna membatasi keluaran data yang memiliki kapasitas yang
sangat besar sehingga layar tidak mungkin mampu mengeluarkan seluruhnya ke layar.
Berikut adalah syntax dengan klausa LIMIT:
keterangan : batasan adalah nomor recordset awal yang akan diseleksi dan jumlah merupakan
banyak data yang akan ditampilkan mulai dari nomor batasnya.
11.3. Langkah-Langkah Praktikum
1. Mahasiswa mengamati apakah daemon MySQL telah aktif atau belum. Jika belum
aktif, maka mahasiswa mengaktifkan terlebih dahulu.
2. Mahasiswa menampilkan prompt MySQL, yang berguna untuk menuliskan program
dalam bahasa SQL.
3. Mahasiswa mengikuti semua instruksi pada bagian 11.4. dalam praktikum XI ini.
3. Carilah rumus untuk mencari nama, gol_darah, hobi dari tabel di atas di mana
hobinya adalah renang.
mysql>select nama,gol_darah, hobi
->from hobi
->where hobi like '%Renang%';
+-------------------+-----------+-----------------------------+
| nama | gol_darah | hobi |
+-------------------+-----------+-----------------------------+
| Ariani Widiastuti | A | Bulu Tangkis, Renang |
| Warsiti |A | Renang, Pencak Silat, Volly |
| Haris Wibowo |O | Tinju, Renang, Volly |
+-------------------+-----------+-----------------------------+
3 rows in set (0.61 sec)
4. Carilah rumus untuk mencari nama, gol_darah, hobi dari tabel di atas di mana
namanya dimulai dari ‘Wa’.
mysql>select nama,gol_darah, hobi
->from hobi
->where nama like 'Wa%';
+---------+-----------+-----------------------------+
| nama | gol_darah | hobi |
+---------+-----------+-----------------------------+
| Warsiti | A | Renang, Pencak Silat, Volly |
| Wargono | B | Musik |
+---------+-----------+-----------------------------+
5. Carilah rumus untuk mencari nama, gol_darah, hobi dari tabel di atas di mana
namanya diakhiri dengan ‘o’.
mysql>select nama,gol_darah, hobi
->from hobi
->where nama like '%o';
+----------------+-----------+--------------------------+
| nama | gol_darah | hobi |
+----------------+-----------+--------------------------+
| Bambang Yuwono | B | Tenis, Karate, Sepakbola |
| Haris Wibowo | O | Tinju, Renang, Volly |
| Wargono |B | Musik |
+----------------+-----------+--------------------------+
3 rows in set (0.00 sec)
7. Tampilkan data dari tabel di atas mulai dari baris ke 4 sampai baris ke 5 saja.
+----+----------------+-----------+------+--------------------------+
| No | Nama | Gol_Darah | Sex | hobi |
+----+----------------+-----------+------+--------------------------+
| 4 | Bambang Yuwono | B |P | Tenis, Karate, Sepakbola |
| 5 | Haris Wibowo | O |P | Tinju, Renang, Volly |
+----+----------------+-----------+------+--------------------------+
2 rows in set (0.00 sec)
mysql>desc hobi;
+-----------+------------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+------------------------+------+-----+---------+----------------+
| No | int(11) | NO | PRI | NULL | auto_increment |
| Nama | varchar(25) | YES | | NULL | |
| Gol_Darah | enum('A','B','AB','O') | YES | | NULL | |
| Sex | enum('W','P') | YES | | NULL | |
| hobi | varchar(50) | YES | | NULL | |
| tgl_lahir | date | YES | | NULL | |
+-----------+------------------------+------+-----+---------+----------------+
6 rows in set (0.02 sec)
mysql>update hobi
->set tgl_lahir='1975-04-02'
->where no=2;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql>update hobi
->set tgl_lahir='1985-12-23'
->where no=3;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql>update hobi
->set tgl_lahir='1982-06-13'
->where no=4;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql>update hobi
->set tgl_lahir='1986-06-22'
->where no=5;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql>update hobi
->set tgl_lahir='1989-02-16'
->where no=6;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql>select * from hobi;
+----+-------------------+-----------+------+-----------------------------+------------+
| No | Nama | Gol_Darah | Sex | hobi | tgl_lahir |
+----+-------------------+-----------+------+-----------------------------+------------+
| 1 | Ariani Widiastuti | A |W | Bulu Tangkis, Renang | 1970-02-12 |
| 2 | Warsiti |A |W | Renang, Pencak Silat, Volly | 1975-04-02 |
| 3 | Darti Widayati | AB |W | Menari, Volly, Tenis | 1985-12-23 |
| 4 | Bambang Yuwono |B |P | Tenis, Karate, Sepakbola | 1982-06-13 |
| 5 | Haris Wibowo |O |P | Tinju, Renang, Volly | 1986-06-22 |
| 6 | Wargono |B |P | Musik | 1989-02-16 |
+----+-------------------+-----------+------+-----------------------------+------------+
6 rows in set (0.00 sec)
12. Tampilkan record yang menyukai volly sebanyak 2 baris dengan klausa like dan
limit
.
13. Gantilah field sex dengan jenis_kelamin.
14. Tampilkan record dari tabel hobi yang dapat mendonorkan darah ke Warsiti.
+----+-------------------+-----------+---------------+----------------------+------------+
| No | Nama | Gol_Darah | jenis_kelamin | hobi | tgl_lahir |
+----+-------------------+-----------+---------------+----------------------+------------+
| 1 | Ariani Widiastuti | A |W | Bulu Tangkis, Renang | 1970-02-12 |
| 3 | Darti Widayati | AB |W | Menari, Volly, Tenis | 1985-12-23 |
| 5 | Haris Wibowo |O |P | Tinju, Renang, Volly | 1986-06-22 |
+----+-------------------+-----------+---------------+----------------------+------------+
3 rows in set (0.00 sec)
LAPORAN PRAKTIKUM
PERTEMUAN KE XII
Klausa GROUP BY dapat digunakan bersama klausa yang lain yaitu klausa WHERE,
LIKE dan LIMIT. Berikut ini adalah syntax selengkapnya :
mysql>SELECT nama_kolom FROM nama_tabel
->WHERE nama_kolom LIKE kondisi
->ORDER BY kolom_urut type LIMIT batasan,jumlah;
Contoh:
mysql>SELECT * FROM Data_Mhs
->WHERE hoby LIKE (%Renang%)
->ORDER BY no ASC LIMIT 2,2;
mysql>desc data_mhs;
+-----------+------------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+------------------------+------+-----+---------+----------------+
| No | int(11) | NO | PRI | NULL | auto_increment |
| Nama | varchar(25) | YES | | NULL | |
| Gol_Darah | enum('A','B','AB','O') | YES | | NULL | |
| Sex | enum('W','P') | YES | | NULL | |
| hobi | varchar(50) | YES | | NULL | |
+-----------+------------------------+------+-----+---------+----------------+
5 rows in set (0.01 sec)
+----+-------------------+-----------+------+-----------------------------+
| No | Nama | Gol_Darah | Sex | hobi |
+----+-------------------+-----------+------+-----------------------------+
| 1 | Ariani Widiastuti | A |W | Bulu Tangkis, Renang |
| 4 | Bambang Yuwono |B |P | Tenis, Karate, Sepakbola |
| 3 | Darti Widayati | AB |W | Menari, Volly, Tenis |
| 5 | Haris Wibowo |O |P | Tinju, Renang, Volly |
| 6 | Wargono |B |P | Musik |
| 2 | Warsiti |A |W | Renang, Pencak Silat, Volly |
+----+-------------------+-----------+------+-----------------------------+
6 rows in set (0.00 sec)
4. Tampilkan no, nama, hobi dari tabel data_mhs terurut secara descending dengan
hobi renang dengan batasan 2 baris.
+----+--------------+-----------------------------+
| no | nama | hobi |
+----+--------------+-----------------------------+
| 2 | Warsiti | Renang, Pencak Silat, Volly |
| 5 | Haris Wibowo | Tinju, Renang, Volly |
+----+--------------+-----------------------------+
2 rows in set (0.00 sec)
5. Buatlah tabel lagi seperti berikut pada database yang sama, dengan nama tabelnya
adalah keuangan.
6. Buatlah rumus untuk mencari berapa kali seseorang dari tabel keuangan di atas
melakukan transaksi, dan kolom yang ditampilkan adalah kolom nama yang
terurut ascending dan kolom jumlah transaksi.
7. Buatlah rumus untuk mencari total pemasukan dari masing-masing orang pada
kolom nama dari tabel keuangan. Kolom yang ditampilkan adalah kolom no,
kolom nama yang terurut descending, kolom total pemasukan.
8. Buatlah rumus untuk mencari total keluaran dari masing-masing orang pada
kolom nama dari tabel keuangan. Kolom yang ditampilkan adalah kolom no,
kolom nama yang terurut descending, kolom total keluaran.
mysql> select no, nama, sum(pengeluaran) as 'Total Keluaran'
-> from Keuangan
-> group by nama
-> order by nama desc;
+----+---------+----------------+
| no | nama | Total Keluaran |
+----+---------+----------------+
| 2 | Warsiti | 300000 |
| 6 | Wargono | 376000 |
| 10 | Sugeng | 1500000 |
| 5 | Haris | 2500000 |
| 3 | Darti | 1176000 |
| 4 | Bambang | 800000 |
| 1 | Ariani | 396000 |
+----+---------+----------------+
7 rows in set (0.01 sec)
9. Buatlah rumus untuk mencari saldo dari masing-masing orang pada kolom nama
dari tabel keuangan. Kolom yang ditampilkan adalah kolom nama yang terurut
ascending, kolom total pemasukan, kolom total keluaran dan kolom Saldo.
mysql> select nama,sum(pemasukan) as 'Total Pemasukan',
-> sum(pengeluaran) as 'Total Keluaran',
-> (sum(pemasukan)-sum(pengeluaran)) as Saldo
-> from keuangan
-> group by nama;
+---------+-----------------+----------------+---------+
| nama | Total Pemasukan | Total Keluaran | Saldo |
+---------+-----------------+----------------+---------+
| Ariani | 500000 | 396000 | 104000 |
| Bambang | 1000000 | 800000 | 200000 |
| Darti | 2600000 | 1176000 | 1424000 |
| Haris | 3000000 | 2500000 | 500000 |
| Sugeng | 2000000 | 1500000 | 500000 |
| Wargono | 500000 | 376000 | 124000 |
| Warsiti | 1200000 | 300000 | 900000 |
+---------+-----------------+----------------+---------+
7 rows in set (0.60 sec)
10. Tambahkan field tanggungan dari tabel keuangan dengan record yaitu ariani, darti,
bambang = 2 anak; warsiti, sugeng = 1 anak; wargono, haris 3 anak.
mysql> alter table Keuangan add Tanggungan smallint(2);
Query OK, 12 rows affected (0.68 sec)
Records: 12 Duplicates: 0 Warnings: 0
11. Tampilkan besar insentif dari tanggungan masing-masing orang dengan ketetapan
150.000/anak.