Anda di halaman 1dari 13

LAPORAN PRAKTIKUM

SISTEM BASIS DATA


PERTEMUAN KE-5

NAMA : M. LUTHFI WIDIATMOKO

NO MHS : 095410172

STMIK AKAKOM YOGYAKARTA

JL. RAYA JANTI 143 Yogyakarta


Pertemuan Ke-5

I. Maksud Dan Tujuan


Dalam praktikum pertemuan ke-5 ini mahasiswa diharapkan dapat memahami
pengertian dari query,view dan join; cara membuat query untuk mengambil data dari
beberapa data dari beberapa tabel; cara membuat view.

II. Hasil Praktikum


Terlampir.

III. Pembahasan

A. Pembahasan Dari Hasil Praktikum


Dalam praktikum pertemuan ke-5 ini menggunakan database yang telah
dibuat pada pertemuan sebelumnya. Di dalam database tersebut terdapat tabel
Departemen,Karyawan,Proyek,Manajer.

Praktikum:
mysql> select * from departemen;
 Perintah untuk menampilkan isi seluruh data yang ada di dalam tabel
departemen.

mysql> select all nama from departemen;


 Perintah untuk menampilkan nama saja dalam tabel departemen.

mysql> select * from karyawan;


 Perintah untuk menampilkan isi seluruh data yang ada di dalam tabel
karyawan.

mysql> select * from karyawan where gaji=”1000000”;


 Perintah untuk menampilkan data karyawan berdasarkan gaji yang sama
dengan 1000000 di dalam tabel karyawan.

mysql> select * from karyawan where gaji<>”1000000”;


 Perintah untuk menampilkan data karyawan berdasarkan gaji yang lebih
dari 1000000 dan kurang dari 1000000 di dalam tabel karyawan.

mysql> select * from karyawan where gaji<”1000000”;


 Perintah untuk menampilkan data karyawan berdasarkan gaji yang kurang
dari 1000000 di dalam karyawan.

mysql> select * from karyawan where gaji>”1000000”;


 Perintah untuk menampilkan data karyawan berdasarkan gaji yang lebih
dari 1000000 di dalam tabel karyawan.

mysql> select * from karyawan where gaji<=”1000000”;


 Perintah untuk menampilkan data karyawan berdasarkan gaji yang kurang
atau sama dengan 1000000 di dalam tabel karyawan.

mysql> select * from karyawan where gaji between


1500000 And 4000000;
 Perintah untuk menampilkan data karyawan berdasarkan gaji yang berada
diantara 1500000 dan 4000000 di dalam tabel karyawan.

mysql> select * from karyawan where gaji=”1500000”


or gaji=”4000000”;
 Perintah untuk menampilkan data karyawan berdasarkan gaji 1000000 dan
gaji 4000000 di dalam tabel karyawan.

mysql> select * from karyawan where no_karyawan=”1”


xor no_karyawan=”40”;
 Perintah untuk menampilkan data karyawan berdasarkan nomor karyawan
dengan nomor urut 1 atau nomor urut 40 di dalam tabel karyawan.

mysql> select distinct nama,no_karyawan from


karyawan group by no_karyawan;
 Perintah untuk menampilkan data karyawan yang hanya terdiri dari nama
dan nomor karyawan saja di dalam tabel karyawan.

mysql> select distinct nama,no_karyawan from


karyawan group by no_karyawan desc;
 Perintah untuk menampilkan data karyawan yang hanya terdiri dari nama
dan nomor karyawan saja berdasarkan nomor urut terakhir sampai nomor
urut paling awal di dalam tabel karyawan.
mysql> select distinct nama,no_karyawan from
karyawan group by nama;
 Perintah untuk menampilkan data karyawan yang hanya terdiri dari nama
dan nomor karyawan saja berdasarkan nama di dalam tabel karyawan.

mysql> select * from karyawan where nama like ‘t%’;


 Perintah untuk menampilkan data karyawan yang mempunyai nama depan
yang berawalan t di dalam tabel karyawan.

mysql> select * from karyawan where nama like ‘%o’;


 Perintah untuk menampilkan data karyawan yang mempunyai nama
belakang yang berakhiran o di dalam tabel karyawan.

mysql> select count(no_karyawan) from karyawan;


 Perintah untuk menghitung jumlah nomor karyawan di dalam tabel
karyawan.

mysql> select nama,tgl_lahir from karyawan;


 Perintah untuk menampilkan data karyawan yang hanya terdiri dari nama
dan tanggal lahir karyawan di dalam tabel karyawan.
Latihan:
mysql> create database Nasabah;
Query OK, 1 row affected (0.04 sec)

mysql> use nasabah


Database changed

mysql> create table Data_Cabang


-> (Kd_Cabang varchar(5),
-> Nama char(15),
-> Alamat char(30),
-> Jml_Nasabah int(1),
-> primary key(Kd_Cabang));
Query OK, 0 rows affected (0.05 sec)

mysql> describe Data_Cabang;


+-------------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+------------+------+-----+---------+-------+
| Kd_Cabang | varchar(5) | NO | PRI | | |
| Nama | char(15) | YES | | NULL | |
| Alamat | char(30) | YES | | NULL | |
| Jml_Nasabah | int(1) | YES | | NULL | |
+-------------+------------+------+-----+---------+-------+
4 rows in set (0.03 sec)

mysql> insert into Data_Cabang values


-> ('KC001', 'KC AKAKOM', 'JANTI', '8'),
-> ('KC002', 'KC GEJAYAN', 'GEJAYAN', '5'),
-> ('KC003', 'KC WIROBRAJAN', 'WIROBRAJAN', '8'),
-> ('KC004', 'KC GEDUNG KUNING', 'GEDUNG KUNING', '7'),
-> ('KC005', 'KC BABARSARI', 'BABARSARI', '3');
Query OK, 5 rows affected, 1 warning (0.01 sec)
Records: 5 Duplicates: 0 Warnings: 1

mysql> select * from Data_Cabang;


+-----------+-----------------+---------------+-------------+
| Kd_Cabang | Nama | Alamat | Jml_Nasabah |
+-----------+-----------------+---------------+-------------+
| KC001 | KC AKAKOM | JANTI | 8 |
| KC002 | KC GEJAYAN | GEJAYAN | 5 |
| KC003 | KC WIROBRAJAN | WIROBRAJAN | 8 |
| KC004 | KC GEDUNG KUNIN | GEDUNG KUNING | 7 |
| KC005 | KC BABARSARI | BABARSARI | 3 |
+-----------+-----------------+---------------+-------------+
5 rows in set (0.00 sec)
mysql> create table Data_Nasabah
-> (Kd_Nasabah varchar(5),
-> Nama char(15),
-> Alamat char(30),
-> Rekening int(8),
-> Kd_Cabang varchar(5),
-> Saldo int(20),
-> primary key(Kd_Nasabah,Kd_Cabang));
Query OK, 0 rows affected (0.06 sec)

mysql> describe Data_Nasabah;


+------------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+------------+------+-----+---------+-------+
| Kd_Nasabah | varchar(5) | NO | PRI | | |
| Nama | char(15) | YES | | NULL | |
| Alamat | char(30) | YES | | NULL | |
| Rekening | int(8) | YES | | NULL | |
| Kd_Cabang | varchar(5) | NO | PRI | | |
| Saldo | int(20) | YES | | NULL | |
+------------+------------+------+-----+---------+-------+
6 rows in set (0.02 sec)

mysql> insert into Data_Nasabah values


-> ('N0001', 'Januar', 'Condong Catur', '12340001',
'KC002', '1500000'),
-> ('N0002', 'Febri', 'Gejayan', '12340002', 'KC004',
'2500000'),
-> ('N0003', 'Marina', 'Gamping', '12340003', 'KC005',
'1400000'),
-> ('N0004', 'Aprilia', 'Janti', '12340004', 'KC001',
'7000000'),
-> ('N0005', 'Memey', 'Kotabaru', '12340005', 'KC003',
'2000000'),
-> ('N0006', 'Junita', 'kalasan', '12340006', 'KC001',
'1200000'),
-> ('N0007', 'Juliana', 'Terban', '12340007', 'KC002',
'1300000'),
-> ('N0008', 'Agusto', 'Sleman', '12340008', 'KC005',
'2800000'),
-> ('N0009', 'Septiana', 'Terban', '12340009', 'KC004',
'9000000'),
-> ('N0010', 'Oktavia', 'Sagan', '12340010', 'KC003',
'4500000'),
-> ('N0011', 'Novia', 'Monjali', '12340011', 'KC001',
'750000'),
-> ('N0012', 'Desia', 'Timoho', '12340012', 'KC005',
'1200000');
Query OK, 12 rows affected (0.01 sec)
Records: 12 Duplicates: 0 Warnings: 0

mysql> select * from Data_Nasabah;


+------------+----------+---------------+----------+-----------
+---------+
| Kd_Nasabah | Nama | Alamat | Rekening | Kd_Cabang
| Saldo |
+------------+----------+---------------+----------+-----------
+---------+
| N0001 | Januar | Condong Catur | 12340001 | KC002
| 1500000 |
| N0002 | Febri | Gejayan | 12340002 | KC004
| 2500000 |
| N0003 | Marina | Gamping | 12340003 | KC005
| 1400000 |
| N0004 | Aprilia | Janti | 12340004 | KC001
| 7000000 |
| N0005 | Memey | Kotabaru | 12340005 | KC003
| 2000000 |
| N0006 | Junita | kalasan | 12340006 | KC001
| 1200000 |
| N0007 | Juliana | Terban | 12340007 | KC002
| 1300000 |
| N0008 | Agusto | Sleman | 12340008 | KC005
| 2800000 |
| N0009 | Septiana | Terban | 12340009 | KC004
| 9000000 |
| N0010 | Oktavia | Sagan | 12340010 | KC003
| 4500000 |
| N0011 | Novia | Monjali | 12340011 | KC001
| 750000 |
| N0012 | Desia | Timoho | 12340012 | KC005
| 1200000 |
+------------+----------+---------------+----------+-----------
+---------+
12 rows in set (0.00 sec)
Menampilkan semua nasabah,alamat dan saldonya:
mysql> select all Nama,Alamat,saldo from Data_Nasabah;
+----------+---------------+---------+
| Nama | Alamat | saldo |
+----------+---------------+---------+
| Januar | Condong Catur | 1500000 |
| Febri | Gejayan | 2500000 |
| Marina | Gamping | 1400000 |
| Aprilia | Janti | 7000000 |
| Memey | Kotabaru | 2000000 |
| Junita | kalasan | 1200000 |
| Juliana | Terban | 1300000 |
| Agusto | Sleman | 2800000 |
| Septiana | Terban | 9000000 |
| Oktavia | Sagan | 4500000 |
| Novia | Monjali | 750000 |
| Desia | Timoho | 1200000 |
+----------+---------------+---------+
12 rows in set (0.00 sec)

Menampilkan nama nasabah dengan saldo > 2000000:


mysql> select all Nama,Saldo from Data_Nasabah where
Saldo>"2000000";
+----------+---------+
| Nama | Saldo |
+----------+---------+
| Febri | 2500000 |
| Aprilia | 7000000 |
| Agusto | 2800000 |
| Septiana | 9000000 |
| Oktavia | 4500000 |
+----------+---------+
5 rows in set (0.01 sec)

Menampilkan nama nasabah dengan alamat gejayan:


mysql> select all Nama,Alamat from Data_Nasabah where Alamat
like 'Gejayan%';
+-------+---------+
| Nama | Alamat |
+-------+---------+
| Febri | Gejayan |
+-------+---------+
1 row in set (0.00 sec)
Menampilkan nama nasabah dengan kode cabang KC003:
mysql> select all Nama,Kd_Cabang from Data_Nasabah where
Kd_Cabang like '%3';
+---------+-----------+
| Nama | Kd_Cabang |
+---------+-----------+
| Memey | KC003 |
| Oktavia | KC003 |
+---------+-----------+
2 rows in set (0.00 sec)

Menampilkan semua data kantor cabang (nama dan alamat):


mysql> select all Nama,Alamat from Data_Cabang;
+-----------------+---------------+
| Nama | Alamat |
+-----------------+---------------+
| KC AKAKOM | JANTI |
| KC GEJAYAN | GEJAYAN |
| KC WIROBRAJAN | WIROBRAJAN |
| KC GEDUNG KUNIN | GEDUNG KUNING |
| KC BABARSARI | BABARSARI |
+-----------------+---------------+
5 rows in set (0.00 sec)

Menampilkan nama kantor cabang dengan alamat janti:


mysql> select all Nama,Alamat from Data_Cabang where Alamat
like 'J%';
+-----------+--------+
| Nama | Alamat |
+-----------+--------+
| KC AKAKOM | JANTI |
+-----------+--------+
1 row in set (0.01 sec)

Menampilkan nama kantor cabang dengan jumlah nasabah > 5 orang:


mysql> select all Nama,Jml_Nasabah from Data_Cabang where
Jml_Nasabah>"5";
+-----------------+-------------+
| Nama | Jml_Nasabah |
+-----------------+-------------+
| KC AKAKOM | 8 |
| KC WIROBRAJAN | 8 |
| KC GEDUNG KUNIN | 7 |
+-----------------+-------------+
3 rows in set (0.00 sec)
B. Kendala
Di dalam praktikum pertemuan ke-5, kendala yang di dapatkan adalah
kesalahan dalam penulisan di dalam MySQL.

C. Penyelesain
Untuk dapat mengatasi kesalahan dalam penulisan di dalam MySQL adalah
ketelitian dan kesabaran dalam penulisan. Apabila teliti dan sabar maka akan
mudah untuk melakukan penulisan di dalam program MySQL.

IV. Tugas
Mengupdate data kantor cabang dengan kode KC002 menjadi:
mysql> update Data_Cabang
-> set Nama = 'KC Ambarukmo',
-> Alamat = 'Ambarukmo',
-> Jml_Nasabah = '15'
-> where Kd_Cabang = 'KC002';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select * from Data_Cabang;


+-----------+-----------------+---------------+-------------+
| Kd_Cabang | Nama | Alamat | Jml_Nasabah |
+-----------+-----------------+---------------+-------------+
| KC001 | KC AKAKOM | JANTI | 8 |
| KC002 | KC Ambarukmo | Ambarukmo | 15 |
| KC003 | KC WIROBRAJAN | WIROBRAJAN | 8 |
| KC004 | KC GEDUNG KUNIN | GEDUNG KUNING | 7 |
| KC005 | KC BABARSARI | BABARSARI | 3 |
+-----------+-----------------+---------------+-------------+
5 rows in set (0.00 sec)

Menghapus data semua kantor cabang dengan jumlah nasabah kurang dari 5:
mysql> delete from Data_Cabang where Jml_Nasabah<"5";
Query OK, 1 row affected (0.03 sec)

mysql> select * from Data_Cabang;


+-----------+-----------------+---------------+-------------+
| Kd_Cabang | Nama | Alamat | Jml_Nasabah |
+-----------+-----------------+---------------+-------------+
| KC001 | KC AKAKOM | JANTI | 8 |
| KC002 | KC Ambarukmo | Ambarukmo | 15 |
| KC003 | KC WIROBRAJAN | WIROBRAJAN | 8 |
| KC004 | KC GEDUNG KUNIN | GEDUNG KUNING | 7 |
+-----------+-----------------+---------------+-------------+
4 rows in set (0.00 sec)
Mengupdate data nasabah dengan kode N0010 menjadi:
mysql> update Data_Nasabah
-> set Alamat = 'Monjali',
-> Saldo = '9000000'
-> where Kd_Nasabah = 'N0010';
Query OK, 1 row affected (0.05 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select * from Data_Nasabah;


+------------+----------+---------------+----------+-----------
+---------+
| Kd_Nasabah | Nama | Alamat | Rekening | Kd_Cabang |
Saldo |
+------------+----------+---------------+----------+-----------
+---------+
| N0001 | Januar | Condong Catur | 12340001 | KC002 |
1500000 |
| N0002 | Febri | Gejayan | 12340002 | KC004 |
2500000 |
| N0003 | Marina | Gamping | 12340003 | KC005 |
1400000 |
| N0004 | Aprilia | Janti | 12340004 | KC001 |
7000000 |
| N0005 | Memey | Kotabaru | 12340005 | KC003 |
2000000 |
| N0006 | Junita | kalasan | 12340006 | KC001 |
1200000 |
| N0007 | Juliana | Terban | 12340007 | KC002 |
1300000 |
| N0008 | Agusto | Sleman | 12340008 | KC005 |
2800000 |
| N0009 | Septiana | Terban | 12340009 | KC004 |
9000000 |
| N0010 | Oktavia | Monjali | 12340010 | KC003 |
9000000 |
| N0011 | Novia | Monjali | 12340011 | KC001 |
750000 |
| N0012 | Desia | Timoho | 12340012 | KC005 |
1200000 |
+------------+----------+---------------+----------+-----------
+---------+
12 rows in set (0.00 sec)
Menghapus semua nasabah dengan alamat Terban:
mysql> delete from Data_Nasabah where Alamat="Terban";
Query OK, 2 rows affected (0.00 sec)

mysql> select * from Data_Nasabah;


+------------+---------+---------------+----------+-----------
+---------+
| Kd_Nasabah | Nama | Alamat | Rekening | Kd_Cabang | Saldo
|
+------------+---------+---------------+----------+-----------
+---------+
| N0001 | Januar | Condong Catur | 12340001 | KC002 |
1500000 |
| N0002 | Febri | Gejayan | 12340002 | KC004 |
2500000 |
| N0003 | Marina | Gamping | 12340003 | KC005 |
1400000 |
| N0004 | Aprilia | Janti | 12340004 | KC001 |
7000000 |
| N0005 | Memey | Kotabaru | 12340005 | KC003 |
2000000 |
| N0006 | Junita | kalasan | 12340006 | KC001 |
1200000 |
| N0008 | Agusto | Sleman | 12340008 | KC005 |
2800000 |
| N0010 | Oktavia | Monjali | 12340010 | KC003 |
9000000 |
| N0011 | Novia | Monjali | 12340011 | KC001 |
750000 |
| N0012 | Desia | Timoho | 12340012 | KC005 |
1200000 |
+------------+---------+---------------+----------+-----------
+---------+
10 rows in set (0.00 sec)

Menampilkan saldo maksimal:


mysql> select sum(Saldo) from Data_Nasabah;
+------------+
| sum(Saldo) |
+------------+
| 29350000 |
+------------+
1 row in set (0.04 sec)
Menampilkan rata-rata maksimal:
mysql> select avg(Saldo) from Data_Nasabah;
+--------------+
| avg(Saldo) |
+--------------+
| 2935000.0000 |
+--------------+
1 row in set (0.03 sec)

Menampilkan jumlah nasabah:


mysql> select sum(Jml_Nasabah) from Data_Cabang;
+------------------+
| sum(Jml_Nasabah) |
+------------------+
| 38 |
+------------------+
1 row in set (0.00 sec)

V. Kesimpulan
Di dalam praktikum pertemuan ke-5 ini dapat disimpulkan bahwa di dalam MySQL
terdapat operator relasional yang terdiri dari =,<>,<,>,<=. Dan terdapat pula operator
logika yang terdiri dari AND,OR,XOR.