Anda di halaman 1dari 39

LAPORAN

PRAKTIKUM DATA BASE

OLEH
Bagus Setiawan
TEKNIK INFORMATIKA 8A
(5.15.04.11.0.026)

Dosen Pengampau
Sugianto S.Kom, M.Kom

JURUSAN TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS ISLAM MAJAPAHIT
MOJOKERTO
2019
MODUL 1
Pengenalan My Sql
1. Berikut cara memulai MySQL dengan menggunakan bantuan XAMPP.
Aktifkan Xampp Control Panel Application, klik start apache dan mysql.

2. Aktifkan command prompt, lalu ketik seperti gambar berikut:


3. Sedangkan untuk stop atau keluar dari MySQL dapat menggunakan perintah :
\q, exit dan quit.
MODUL II
Data Definition Language (DDL)
1. Buat database dengan nama coba!

2. Buat sebuah table dengan nama mahasiswa didalam database coba!

3. Tambahkan sebuah kolom : Keterangan (varchar 15) sebagai kolom


terakhir,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 Colom Nim Menjadi Varchar!
Sebelum dirubah

Sesudah di rubah

7. Ubah nama kolom phone menjadi telepon (varchar 20) !


Sebelum dirubah
Sesudah di rubah

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 !
Untuk membuat database baru scrip dibawah ini
mysql> create database coba;
Query OK, 1 row affected (0.00 sec)

Membuat table baru

mysql> use coba;


Database changed
mysql> create table mahasiswa(
-> nim int (11),
-> nama varchar (15),
-> alamat varchar (15),
-> phone varchar (15),
-> keterangan varchar (15));
Query OK, 0 rows affected (0.19 sec)

mysql> desc mahasiswa;


+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| nim | int(11) | YES | | NULL | |
| nama | varchar(15) | YES | | NULL | |
| alamat | varchar(15) | YES | | NULL | |
| phone | varchar(15) | YES | | NULL | |
| keterangan | varchar(15) | YES | | NULL | |
+------------+-------------+------+-----+---------+-------+
5 rows in set (0.02 sec)
Ubah Colom Nim Menjadi Varchar!

mysql> ALTER TABLE mahasiswa change column nim varchar(15);


ERROR 1064 (42000): You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to use near
'varchar(15)' at line 1
mysql> alter table mahasiswa modify nim varchar (15);
Query OK, 0 rows affected (0.36 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> desc mahasiswa;


+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| nim | varchar(15) | YES | | NULL | |
| nama | varchar(15) | YES | | NULL | |
| alamat | varchar(15) | YES | | NULL | |
| phone | varchar(15) | YES | | NULL | |
| keterangan | varchar(15) | YES | | NULL | |
+------------+-------------+------+-----+---------+-------+
5 rows in set (0.03 sec)

Ubah nama kolom phone menjadi telepon (varchar 20) !

mysql> alter table mahasiswa change phone telepon varchar (20);


Query OK, 0 rows affected (0.38 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> desc mahasiswa;


+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| nim | varchar(15) | YES | | NULL | |
| nama | varchar(15) | YES | | NULL | |
| alamat | varchar(15) | YES | | NULL | |
| telepon | varchar(20) | YES | | NULL | |
| keterangan | varchar(15) | YES | | NULL | |
+------------+-------------+------+-----+---------+-------+
5 rows in set (0.01 sec)

Hapus kolom keterangan dari tabel !

mysql> alter table mahasiswa drop keterangan;


Query OK, 0 rows affected (0.33 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc mahaiswa;
ERROR 1146 (42S02): Table 'coba.mahaiswa' doesn't exist
mysql> desc mahasiswa;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| nim | varchar(15) | YES | | NULL | |
| nama | varchar(15) | YES | | NULL | |
| alamat | varchar(15) | YES | | NULL | |
| telepon | varchar(20) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
4 rows in set (0.14 sec)

Ganti nama tabel menjadi student!

mysql> alter table mahasiswa rename to student;


Query OK, 0 rows affected (0.05 sec)

mysql> desc student;


+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| nim | varchar(15) | YES | | NULL | |
| nama | varchar(15) | YES | | NULL | |
| alamat | varchar(15) | YES | | NULL | |
| telepon | varchar(20) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
4 rows in set (0.03 sec)

Jadikan nim sebagai primary key !

mysql> alter table student add primary key(nim);


Query OK, 0 rows affected (0.22 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> desc student;


+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| nim | varchar(15) | NO | PRI | | |
| nama | varchar(15) | YES | | NULL | |
| alamat | varchar(15) | YES | | NULL | |
| telepon | varchar(20) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
4 rows in set (0.03 sec)
2. Apa kegunaan dari index di tabel ?

Kegunaan Index adalah untuk 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.

3. Apa maksud dari int (11) ?

adalah tipe data dari suatu field yang berbentuk angka ,dengan maksimum karakter
yg telah ditentukan sebanyak 11 karakter.

4. Ketika kita melihat struktur tabel dengan perintah desc, ada kolom Null yang berisi
Yes dan No. Apa maksudnya ?

Null di Mysql adalah istilah atau tipe data khusus dalam pemograman yang
menyatakan ‘tidak ada nilai’, NULL tidak sama dengan 0, atau ‘’(string kosong).

No = Not Null, Fungsinya untuk memastikan bahwa nilai pada kolom tersebut
tidak boleh kosong. Jika kita menginput data, namun tidak memberikan nilai
untuk kolom tersebut, akan menghasilkan error pada MySQL.

Yes = Null , Atribut NULL berkebalikan dengan NOT NULL, dimana jika sebuah
kolom didefinisikan dengan NULL, maka kolom tersebut tidak harus berisi nilai
BAB III
DML dan Retrieve Data (Bagian I)
1. Buatlah sebuah database dengan nama coba2!

2. Buatlah sebuah tabel dengan nama pet pada database coba2!

3. Isi data pada tabel pet, sbb!

4. Tampilkan semua isi/record tabel pet!


5. Ubah data tanggal lahir hewan yang bernama Bowser menjadi: 1979-08-31 !

6. Tampilkan satu baris / record data yang telah diubah tadi yaitu record dengan
nama Bowser saja!

7. Hapus hewan yang bernama slim!


8. Tampilkan record atau data yang tanggal kelahirannya lebih dari atau sama
dengan 2017-07-08 !

9. Tampilkan semua hewan dengan spesis anjing dan anjing tersebut berjenis
kelamin betina!

10. Dengan satu perintah select, tampilkan semua hewan!

Evaluasi dan Pertanyaan


1. Tulis semua perintah-perintah SQL percobaan di atas beserta outputnya !
mysql> create database coba2;
Query OK, 1 row affected (0.02 sec)

mysql> use coba2;


mysql> CREATE TABLE pet(
-> name varchar(20),
-> owner varchar(20),
-> species varchar(20));
Query OK, 0 rows affected (0.23 sec)
mysql> desc pet;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| owner | varchar(20) | YES | | NULL | |
| species | varchar(20) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
3 rows in set (0.14 sec)

mysql> alter table pet add birth DATE;


Query OK, 0 rows affected (0.38 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> ALTER TABLE pet add death DATE;


Query OK, 0 rows affected (0.33 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> DESC PET;


+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| owner | varchar(20) | YES | | NULL | |
| species | varchar(20) | YES | | NULL | |
| birth | date | YES | | NULL | |
| death | date | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
5 rows in set (0.16 sec)

mysql> DESC PET;


+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| owner | varchar(20) | YES | | NULL | |
| species | varchar(20) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)

mysql> ALTER TABLE pet add box char(1);


Query OK, 0 rows affected (0.34 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> alter table pet add birth date;


Query OK, 0 rows affected (0.25 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> alter table pet add death date;


Query OK, 0 rows affected (0.31 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> desc pet;


+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| owner | varchar(20) | YES | | NULL | |
| species | varchar(20) | YES | | NULL | |
| box | char(1) | YES | | NULL | |
| birth | date | YES | | NULL | |
| death | date | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.16 sec)
mysql> select*from pet;
+--------+---------+---------+------+------------+------------+
| name | owner | species | box | dirth | death |
+--------+---------+---------+------+------------+------------+
| andre | diame | hamster | f | 2016-08-17 | 0000-00-00 |
| claws | gwem | cat | m | 2016-07-18 | 0000-00-00 |
| flufy | harorld | cat | f | 2017-07-08 | 0000-00-00 |
| buffy | horld | dog | f | 2017-06-09 | 0000-00-00 |
| bowser | diame | dog | m | 1987-08-31 | 1979-08-31 |
+--------+---------+---------+------+------------+------------+
5 rows in set (0.00 sec)

mysql> select*from pet where name='flufy';


+-------+---------+---------+------+------------+------------+
| name | owner | species | box | dirth | death |
+-------+---------+---------+------+------------+------------+
| flufy | harorld | cat | f | 2017-07-08 | 0000-00-00 |
+-------+---------+---------+------+------------+------------+
1 row in set (0.00 sec)

mysql> select*from pet name='buffy';


ERROR 1064 (42000): You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version for the right
syntax to use near '='buffy'' at line 1
mysql> select*from pet where name='buffy';
+-------+-------+---------+------+------------+------------+
| name | owner | species | box | dirth | death |
+-------+-------+---------+------+------------+------------+
| buffy | horld | dog | f | 2017-06-09 | 0000-00-00 |
+-------+-------+---------+------+------------+------------+
1 row in set (0.02 sec)

mysql>

2. Tulislah kesimpulan Anda!


Pada praktikum ini belajar tentang upate data hapus data dan filter data
MODUL V
FUNGSI AGREGAT
1. Buat sebuah nama database dengan nama perdagangan!

2. Buat sebuah table dengan nama barang dimana ketentuannya seperti dibawah ini :

3. Isi data ke dalam table barang seperti berikut ini :

4. Tampilkan semua isi record pada table barang.

5. Ubah nama barang DVD Player menjadi TAPE dan stok barang menjadi 25.
6. Tampilkan satu baris / record data yang telah diubah tadi yaitu record dengan nama
Tape!

7. Hapus barang yang bernama dvd player.

8. Tampilkan record / data yang mempunyai satuan barang bernilai UNIT.


9. Tampilkan jumlah baris dan kolom dari field kode barang dan nama barang pada table
barang.

10. Tampilkan jumlah stok barang dan jumlah harga barang pada table barang.

11. Tampilkan jumlah rata – rata harga barang pada table barang!

12. Tampilkan jumlah stok barang terkecil pada table barang

13. Tampilkan jumlah stok barang terbesar pada table barang


MODUL IV
DML dan Retrieve Data (Bagian 2)

1. Buat tabel pegawai sebagai berikut:

2. Isi data tabel (data dapat dilihat pada halaman terakhir)!

3. Tampilkan semua kolom di table

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, linc@yahoo.com,


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 6, terdapat 3 idmanajer yang sama dengan total record 6, sekarang
tampilkan

12. idmanajer tanpa duplikasi idmanajer sehingga akan tampil 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!
mysql> use coba2;
Database changed
mysql> desc pegawai;
+---------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+-------+
| id_pegawai | char(6) | NO | | NULL | |
| nama_depan | varchar(20) | NO | | NULL | |
| nama_belakang | varchar(25) | NO | | NULL | |
| email | varchar(25) | NO | | NULL | |
| telp | varchar(20) | NO | | NULL | |
| tglkontrak | date | NO | | NULL | |
| idjob | varchar(10) | NO | | NULL | |
| gaji | int(8) | NO | | NULL | |
| tunjangan | int(8) | NO | | NULL | |
| idmanager | char(6) | NO | | NULL | |
| iddepartemen | char(4) | NO | | NULL | |
+---------------+-------------+------+-----+---------+-------+
11 rows in set (0.01 sec)
mysql> insert into pegawai
values('e001','ferry','yustiawan','ferry@yahoo.com','09828282827','2009-09-
09','l001','2000000','500000','al','coml');
Query OK, 1 row affected (0.14 sec)

mysql> desc pegawai;


+---------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+-------+
| id_pegawai | char(6) | NO | | NULL | |
| nama_depan | varchar(20) | NO | | NULL | |
| nama_belakang | varchar(25) | NO | | NULL | |
| email | varchar(25) | NO | | NULL | |
| telp | varchar(20) | NO | | NULL | |
| tglkontrak | date | NO | | NULL | |
| idjob | varchar(10) | NO | | NULL | |
| gaji | int(8) | NO | | NULL | |
| tunjangan | int(8) | NO | | NULL | |
| idmanager | char(6) | NO | | NULL | |
| iddepartemen | char(4) | NO | | NULL | |
+---------------+-------------+------+-----+---------+-------+
11 rows in set (0.01 sec)

mysql> select*from pegawai;


+------------+------------+---------------+-----------------+-------------+------------+--
-----+---------+-----------+-----------+--------------+
| id_pegawai | nama_depan | nama_belakang | email | telp |
tglkontrak | idjob | gaji | tunjangan | idmanager | iddepartemen |
+------------+------------+---------------+-----------------+-------------+------------+--
-----+---------+-----------+-----------+--------------+
| e001 | ferry | yustiawan | ferry@yahoo.com | 09828282827 | 2009-
09-09 | l001 | 2000000 | 500000 | al | coml |
+------------+------------+---------------+-----------------+-------------+------------+--
-----+---------+-----------+-----------+--------------+
1 row in set (0.00 sec)

mysql> insert into pegawai


values('e002','aris','jainardi','aris@yahoo.com','098878776787','2006-09-
01','l002','2000000','200000','le','coml');
Query OK, 1 row affected (0.13 sec)

mysql> insert into pegawai


values('e003','fais','ahmad','fais@yahoo.com','098817271677','2006-10-
01','l003','0','bx',coml');
'> ;
'> insert into pegawai
values(e003','fais','ahmad','fais@yahoo.com','09812787278','2006-10-
01','l003','0','bx','coml');
ERROR 1064 (42000): You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version for the right syntax to
use near '');
;
insert into pegawai values(e003','fais','ahmad','fais@yahoo.com','09812787' at
line 1
mysql> insert into pegawai
values('e003','fais','ahmad','fais@yahoo.com','09898787888','2006-10-
01','l003','0','bx','coml');
ERROR 1136 (21S01): Column count doesn't match value count at row 1
mysql> insert into pegawai
valus('e003','fais','ahmad','fais@yahoo.com','0898932378','2006-10-
01','l003','0','bx','coml');
ERROR 1064 (42000): You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version for the right syntax to
use near 'valus('e003','fais','ahmad','fais@yahoo.com','0898932378','2006-10-
01','l003','0' at line 1
mysql> select*from pegawai;
+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
| id_pegawai | nama_depan | nama_belakang | email | telp |
tglkontrak | idjob | gaji | tunjangan | idmanager | iddepartemen |
+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
| e001 | ferry | yustiawan | ferry@yahoo.com | 09828282827 | 2009-
09-09 | l001 | 2000000 | 500000 | al | coml |
| e002 | aris | jainardi | aris@yahoo.com | 098878776787 | 2006-09-
01 | l002 | 2000000 | 200000 | le | coml |
+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
2 rows in set (0.00 sec)

mysql> insert into pegawai


values('e003','fais','ahmad','fais@yahoo.com','09826562827','2006-10-
01','l003','1500000','0','al','coml');
Query OK, 1 row affected (0.48 sec)

mysql> insert into pegawai


values('e004','emma','bunton','emma@yahoo.com','09434282827','2006-10-
01','l004','1500000','0','cx','coml');
Query OK, 1 row affected (0.13 sec)
mysql> insert into pegawai
values('e005','nike','solf','nike@yahoo.com','09829892827','2007-09-
01','l005','125000','0','dx','coml');
Query OK, 1 row affected (0.13 sec)

mysql> select*from pegawai;


+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
| id_pegawai | nama_depan | nama_belakang | email | telp |
tglkontrak | idjob | gaji | tunjangan | idmanager | iddepartemen |
+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
| e001 | ferry | yustiawan | ferry@yahoo.com | 09828282827 | 2009-
09-09 | l001 | 2000000 | 500000 | al | coml |
| e002 | aris | jainardi | aris@yahoo.com | 098878776787 | 2006-09-
01 | l002 | 2000000 | 200000 | le | coml |
| e003 | fais | ahmad | fais@yahoo.com | 09826562827 | 2006-10-
01 | l003 | 1500000 | 0 | al | coml |
| e004 | emma | bunton | emma@yahoo.com | 09434282827 |
2006-10-01 | l004 | 1500000 | 0 | cx | coml |
| e005 | nike | solf | nike@yahoo.com | 09829892827 | 2007-09-
01 | l005 | 125000 | 0 | dx | coml |
+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
5 rows in set (0.00 sec)

mysql> select id_pegawai,nama_belakang,gaji from pegawai;


+------------+---------------+---------+
| id_pegawai | nama_belakang | gaji |
+------------+---------------+---------+
| e001 | yustiawan | 2000000 |
| e002 | jainardi | 2000000 |
| e003 | ahmad | 1500000 |
| e004 | bunton | 1500000 |
| e005 | solf | 125000 |
+------------+---------------+---------+
5 rows in set (0.00 sec)

mysql> Select id_pegawai,nama_belakang,gaji,tunjangan,sum(gapok) As


Total_gaji from pegawai;
ERROR 1054 (42S22): Unknown column 'gapok' in 'field list'
mysql> select idpegawai,namabelakang,gaji,tunjangan,gaji+tunjangan from
pegawai;
ERROR 1054 (42S22): Unknown column 'idpegawai' in 'field list'
mysql> select id_pegawai,nama_belakang,gaji,tunjangan,gaji+tunjangan from
pegawai;
+------------+---------------+---------+-----------+----------------+
| id_pegawai | nama_belakang | gaji | tunjangan | gaji+tunjangan |
+------------+---------------+---------+-----------+----------------+
| e001 | yustiawan | 2000000 | 500000 | 2500000 |
| e002 | jainardi | 2000000 | 200000 | 2200000 |
| e003 | ahmad | 1500000 | 0| 1500000 |
| e004 | bunton | 1500000 | 0| 1500000 |
| e005 | solf | 125000 | 0| 125000 |
+------------+---------------+---------+-----------+----------------+
5 rows in set (0.00 sec)

mysql> update pegawai set tunjangan=null where id_pegawai='e003';


Query OK, 0 rows affected, 1 warning (0.16 sec)
Rows matched: 1 Changed: 0 Warnings: 1

mysql> select*from pegawai;


+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
| id_pegawai | nama_depan | nama_belakang | email | telp |
tglkontrak | idjob | gaji | tunjangan | idmanager | iddepartemen |
+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
| e001 | ferry | yustiawan | ferry@yahoo.com | 09828282827 | 2009-
09-09 | l001 | 2000000 | 500000 | al | coml |
| e002 | aris | jainardi | aris@yahoo.com | 098878776787 | 2006-09-
01 | l002 | 2000000 | 200000 | le | coml |
| e003 | fais | ahmad | fais@yahoo.com | 09826562827 | 2006-10-
01 | l003 | 1500000 | 0 | al | coml |
| e004 | emma | bunton | emma@yahoo.com | 09434282827 |
2006-10-01 | l004 | 1500000 | 0 | cx | coml |
| e005 | nike | solf | nike@yahoo.com | 09829892827 | 2007-09-
01 | l005 | 125000 | 0 | dx | coml |
+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
5 rows in set (0.01 sec)

mysql> select id_pegawai,nama_belakang,gaji,tunjangan,gaji+tunjangan as


Total_Pendapatan from pegawai;
+------------+---------------+---------+-----------+------------------+
| id_pegawai | nama_belakang | gaji | tunjangan | Total_Pendapatan |
+------------+---------------+---------+-----------+------------------+
| e001 | yustiawan | 2000000 | 500000 | 2500000 |
| e002 | jainardi | 2000000 | 200000 | 2200000 |
| e003 | ahmad | 1500000 | 0| 1500000 |
| e004 | bunton | 1500000 | 0| 1500000 |
| e005 | solf | 125000 | 0| 125000 |
+------------+---------------+---------+-----------+------------------+
5 rows in set (0.00 sec)

mysql> insert into pegawai values


-> ('E006', 'Lincoln', 'Burrows', 'linc@yahoo.com', '085275384544', '2008-
09-01', 'L0006', '1750000', 'NULL', 'ex', 'coml');
Query OK, 1 row affected, 1 warning (0.16 sec)

mysql> select*from pegawai;


+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
| id_pegawai | nama_depan | nama_belakang | email | telp |
tglkontrak | idjob | gaji | tunjangan | idmanager | iddepartemen |
+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
| e001 | ferry | yustiawan | ferry@yahoo.com | 09828282827 | 2009-
09-09 | l001 | 2000000 | 500000 | al | coml |
| e002 | aris | jainardi | aris@yahoo.com | 098878776787 | 2006-09-
01 | l002 | 2000000 | 200000 | le | coml |
| e003 | fais | ahmad | fais@yahoo.com | 09826562827 | 2006-10-
01 | l003 | 1500000 | 0 | al | coml |
| e004 | emma | bunton | emma@yahoo.com | 09434282827 |
2006-10-01 | l004 | 1500000 | 0 | cx | coml |
| e005 | nike | solf | nike@yahoo.com | 09829892827 | 2007-09-
01 | l005 | 125000 | 0 | dx | coml |
| E006 | Lincoln | Burrows | linc@yahoo.com | 085275384544 |
2008-09-01 | L0006 | 1750000 | 0 | ex | coml |
+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
6 rows in set (0.00 sec)

mysql> update pegawai set idmanager='al'where idpegawai in('e004','e005');


ERROR 1054 (42S22): Unknown column 'idpegawai' in 'where clause'
mysql> update pegawai set idmanager='al'where id_pegawai in('e004','e005');
Query OK, 2 rows affected (0.08 sec)
Rows matched: 2 Changed: 2 Warnings: 0

mysql> select*from pegawai;


+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
| id_pegawai | nama_depan | nama_belakang | email | telp |
tglkontrak | idjob | gaji | tunjangan | idmanager | iddepartemen |
+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
| e001 | ferry | yustiawan | ferry@yahoo.com | 09828282827 | 2009-
09-09 | l001 | 2000000 | 500000 | al | coml |
| e002 | aris | jainardi | aris@yahoo.com | 098878776787 | 2006-09-
01 | l002 | 2000000 | 200000 | le | coml |
| e003 | fais | ahmad | fais@yahoo.com | 09826562827 | 2006-10-
01 | l003 | 1500000 | 0 | al | coml |
| e004 | emma | bunton | emma@yahoo.com | 09434282827 |
2006-10-01 | l004 | 1500000 | 0 | al | coml |
| e005 | nike | solf | nike@yahoo.com | 09829892827 | 2007-09-
01 | l005 | 125000 | 0 | al | coml |
| E006 | Lincoln | Burrows | linc@yahoo.com | 085275384544 |
2008-09-01 | L0006 | 1750000 | 0 | ex | coml |
+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
6 rows in set (0.00 sec)

mysql> select idmanager from pegawai;


+-----------+
| idmanager |
+-----------+
| al |
| le |
| al |
| al |
| al |
| ex |
+-----------+
6 rows in set (0.00 sec)

mysql> select distinct idmanager from pegawai;


+-----------+
| idmanager |
+-----------+
| al |
| le |
| ex |
+-----------+
3 rows in set (0.00 sec)

mysql> select idmanager;


ERROR 1054 (42S22): Unknown column 'idmanager' in 'field list'
mysql> select idmanager from pegawai;
+-----------+
| idmanager |
+-----------+
| al |
| le |
| al |
| al |
| al |
| ex |
+-----------+
6 rows in set (0.01 sec)

mysql> select*from pegawai where gaji<=175000&&gaji>=1250000;


Empty set (0.00 sec)

mysql> select*from pegawai;


+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
| id_pegawai | nama_depan | nama_belakang | email | telp |
tglkontrak | idjob | gaji | tunjangan | idmanager | iddepartemen |
+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
| e001 | ferry | yustiawan | ferry@yahoo.com | 09828282827 | 2009-
09-09 | l001 | 2000000 | 500000 | al | coml |
| e002 | aris | jainardi | aris@yahoo.com | 098878776787 | 2006-09-
01 | l002 | 2000000 | 200000 | le | coml |
| e003 | fais | ahmad | fais@yahoo.com | 09826562827 | 2006-10-
01 | l003 | 1500000 | 0 | al | coml |
| e004 | emma | bunton | emma@yahoo.com | 09434282827 |
2006-10-01 | l004 | 1500000 | 0 | al | coml |
| e005 | nike | solf | nike@yahoo.com | 09829892827 | 2007-09-
01 | l005 | 125000 | 0 | al | coml |
| E006 | Lincoln | Burrows | linc@yahoo.com | 085275384544 |
2008-09-01 | L0006 | 1750000 | 0 | ex | coml |
+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
6 rows in set (0.00 sec)

mysql> select*from pegawai order by nama_belakang asc;


+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
| id_pegawai | nama_depan | nama_belakang | email | telp |
tglkontrak | idjob | gaji | tunjangan | idmanager | iddepartemen |
+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
| e003 | fais | ahmad | fais@yahoo.com | 09826562827 | 2006-10-
01 | l003 | 1500000 | 0 | al | coml |
| e004 | emma | bunton | emma@yahoo.com | 09434282827 |
2006-10-01 | l004 | 1500000 | 0 | al | coml |
| E006 | Lincoln | Burrows | linc@yahoo.com | 085275384544 |
2008-09-01 | L0006 | 1750000 | 0 | ex | coml |
| e002 | aris | jainardi | aris@yahoo.com | 098878776787 | 2006-09-
01 | l002 | 2000000 | 200000 | le | coml |
| e005 | nike | solf | nike@yahoo.com | 09829892827 | 2007-09-
01 | l005 | 125000 | 0 | al | coml |
| e001 | ferry | yustiawan | ferry@yahoo.com | 09828282827 | 2009-
09-09 | l001 | 2000000 | 500000 | al | coml |
+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
6 rows in set (0.00 sec)

mysql> select*from pegawai order by nama_depan desc;


+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
| id_pegawai | nama_depan | nama_belakang | email | telp |
tglkontrak | idjob | gaji | tunjangan | idmanager | iddepartemen |
+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
| e005 | nike | solf | nike@yahoo.com | 09829892827 | 2007-09-
01 | l005 | 125000 | 0 | al | coml |
| E006 | Lincoln | Burrows | linc@yahoo.com | 085275384544 |
2008-09-01 | L0006 | 1750000 | 0 | ex | coml |
| e001 | ferry | yustiawan | ferry@yahoo.com | 09828282827 | 2009-
09-09 | l001 | 2000000 | 500000 | al | coml |
| e003 | fais | ahmad | fais@yahoo.com | 09826562827 | 2006-10-
01 | l003 | 1500000 | 0 | al | coml |
| e004 | emma | bunton | emma@yahoo.com | 09434282827 |
2006-10-01 | l004 | 1500000 | 0 | al | coml |
| e002 | aris | jainardi | aris@yahoo.com | 098878776787 | 2006-09-
01 | l002 | 2000000 | 200000 | le | coml |
+------------+------------+---------------+-----------------+--------------+------------+-
------+---------+-----------+-----------+--------------+
6 rows in set (0.00 sec)

mysql>

2. Beri kesimpulan Anda!


Pada materi ini kita dapat belajar tentang menampilkan data dengan perintah
select dan Mengkombinasikan antara perintah select dengan perintah lainnya.
MODUL VI
RETRIEVE, GROUP, FILTER DAN PATTER MATCHING

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!

Evaluasi dan Pertanyaan !


1. Jika syntax ini : SELECT kode_barang, satuan_barang, SUM(stok_barang)
from barang GROUP BY satuan_barang. Apa yang akan terjadi ?. Jelaskan!

Akan muncul table pada Kd_baang satuan barang dan sum Stock barang.

2. Jika syntax ini diketikkan pada cmd : SELECT nama_barang,


satuan_barang, SUM(stok_barang) GROUP BY satuan_barang. Apa yang
akan terjadi ?. Jelaskan!

Akan terjadi eror karena tidak ditunjukkan nama tabelnya pada comenprom
tersebut.

Praktik 2!
1. Buat table dengan nama penjualan dengan ketentuan sebagai berikut :
2. Isi data table penjualan seperti dibawah ini1

3. Buat SQL sehingga tampilannya seperti berikut

4. Buat SQL sehingga tampilannya sebagai berikut :

5. Buat table barang dan isi datanya seperti dibawah ini :


6. Buat SQL sehingga tampilannya sebagai berikut :

7. Buat SQL sehingga tampilannya sebagai berikut :

8. Buat SQL sehingga tampilannya sebagaia berikut.

9. Buat SQL sehingga tampilannya sebagai berikut :

10. Buat SQL sehingga tampilannya sebagai berikut :


MODUL VII
VIEW
Praktik 1 !
1. Buatlah sebuah database dengan nama: dbperusahaan!

2. Buatlah tabel karyawan dengan struktur seperti berikut:

3. Buatlah tabel jabatan dengan struktur seperti berikut:

4. Buatlah tabel gaji dengan struktur seperti berikut:

5. Isilah record tabel karyawan sehingga tampilan seperti ini!


6. Isilah record tabel jabatan sehingga tampilannya seperti ini!

7. Isilah record tabel gaji sehingga tampilannya seperti ini!

8. Buatlah view yang menampilkan maksimum gaji karyawan seperti ini!

9. Buatlah view yang menampilkan minimal gaji karyawan!

10. Buatlah view yang menampilkan jumlah gaji karyawan


11. Buatlah view yang menampilkan rata-rata gaji karyawan!
MODUL VIII
JOIN
Praktik Join!
Buatlah SQL untuk menampilkan NIP,NAMA,JABATAN,GAJI dari tabel-tabel
tersebut! Tampilkan hasilnya!

2.Buatlah SQL dan view untuk menampilkan kolom-kolom di bawah ini!

a. NIP, NAMA, JABATAN


b. NIP, NAMA, JABATAN, GAJI_KARYAWAN

c. Tambahkan perintah kegunaan join, outer join, right join, dan left join
Join dalam SQL digunakan untuk menampilkan data pada table yang saling
berhubungan atau berelasi

Outer join merupakan perintah join untuk menampilkan semua data sebelah kiri dari
table yang di joinkan dan menampilkan data sebelah kanan yang cocok dengan kondisi
join

right join Right Join akan menghubungkan tabel dan menampilkan semua data (kanan)
pada tabel yang tidak berhubungan, dan data yang kosong akan bernilai NULL

left join akan menampilkan semua isi tabel sisi kiri , walaupun data di pasangan joinnya
yang disisi kanan nilainya tidak sama ataupun berisi null.

SELESAI

Anda mungkin juga menyukai