Mata Praktikum
Kelas
: 3IA26
Praktikum ke-
: 6
Tanggal
: 12 Januari 2017
Materi
: Mysql
NPM
: 5D414318
Nama
Ketua Asisten
: Dienda
Nama Asisten
Paraf Asisten
Jumlah Lembar
: 8 Lembar
LABORATORIUM INFORMATIKA
UNIVERSITAS GUNADARMA
2016
Pada praktikum kali ini kita akan membuat database rumah sakit menggunakan
mysql. Pertama kita buka dulu aplikasi xampp, lalu klik start pada bagian apache
dan mysql.
Kemudian buka cmd dan arahkan ke folder xampp yang sudah diinstall, disini folder
xampp saya terletak di d. Perinyah mysql u root maksudnya kita masuk ke lembar
kerja mysql menggunakan default user.
Selanjutnya kita ketik perintah create database rumah_sakit; yang berarti kita telah
membuat suatu database dengan nama rumah_sakit. Kemudian ketik perintah show
databases; yaitu untuk mengetahui apakah database yang sudah kita buat ada di
mysql, dan ketik use rumah_sakit menandakan bahwa kita telah masuk pada
database yang kita buat yaitu database rumah_sakit.
Jika ingin menambah atribut tanggal lahir pada table pasien gunakan perintah alter
table pasien add column tangga_lahir varchar(20); lalu ketik desc pasien; maka
secara otomatis akan bertambah.
Jika ingin menghapus atribut tanggal lahir pada table pasien gunakan perintah alter
table pasien drop tangga_lahir; lalu ketik desc pasien; maka secara otomatis
akan dihapus.
Lalu kita ketik perintah insert into pasien values('A001', 'Andi', 'Laki-Laki', '13',
'Jalan Mawar', 'A003'), ('A002', 'Icha', 'Perempuan', '20', 'Jalan Melati', 'B011'),
('A003', 'Citra', 'Perempuan', '7', 'Jalan Dahlia', 'A009'), ('A004', 'Susan',
'Perempuan', '40', 'Jalan Anggrek', 'C004'), ('A005', 'Dodi', 'Laki-Laki', '24', 'Jalan
Bougenviller', 'B001'); yang berarti kita telah memasukkan data ke dalam table
pasien,
pengisian
datanya
harus
sesuai
urutan
atribut
yang
dimasukkan
sebelumnya, jika tidak sesuai maka akan error atau tidak bisa memasukkan data
tersebut. Kemudian ketik perintah select * from pasien; untuk melihat semua data
dari table pasien.
Jika kita ingin melihat data kode pasien, nama pasien, jenis kelamin, umur, dan
alamat yang kode dokternya A009 kita ketik perintah seperti dibawah ini.
Jika kita ingin melihat data nama pasien, dan umur yang alamatnya ada huruf m kita
ketik perintah seperti dibawah ini.
Jika kita ingin merubah data karena terdapat suatu kesalahan pada saat
memasukkan datanya kita bisa merubah hanya pada data yang salah tidak perlu
memasukkan data dari awal dengan perintah update. Pada perintah di bawah ini
kita ingin merubah alamat yang sebelumnya kita ketik Jalan Bougenviller menjadi
Jalan Bougenville dengan parameternya kd_pasien.
create table
Lalu kita ketik perintah insert into dokter values('A003', 'dr. Bambang', 'Umum',
'Senin, Rabu, Jumat'), ('A009', 'dr. Michael', 'Anak', 'Senin, Selasa, Kamis'),
('B001', 'drg. Mira', 'Gigi', 'Senin, Kamis'), ('B011', 'dr. Andre', 'Mata', 'Rabu,
Jumat'), ('C004', 'dr. Vivi', 'Penyakit Dalam', 'Selasa, Kamis'), ('C001', 'dr. Jane',
'Syaraf', 'Rabu, Jumat'); yang berarti kita telah memasukkan data ke dalam table
dokter, pengisian datanya harus sesuai urutan atribut yang dimasukkan sebelumnya,
jika tidak sesuai maka akan error atau tidak bisa memasukkan data tersebut.
Kemudian ketik perintah select * from dokter; untuk melihat semua data dari table
dokter.
Jika kita ingin menggabungkan table dokter dan table pasien kita gunakan perintah
join, ada beberapa tipe join diantaranya :
Inner Join
Inner
Join
berguna
untuk
menggabungkan
tabel
dan
harus
membutuhkan satu kolom unik yang ada pada primary key maupun foreign
key. Apabila ada foreign key maupun primary key yang kosong, penggunaan
fungsi ini hanya akan memunculkan data yang foreign key-nya memiliki
record yang ada isinya saja.
Contohnya disini kita akan menggabungkan semua data pada table
dokter dan table pasien yang mempunyai foreign key kd_dokter. Inner join
hanya menampilkan gabungan record table dosen dan pasien yang ada
isinya saja, pada table dokter jumlah record ada 6 sedangkan table pasien
jumlah recordnya 5, maka record dengan kd_dokter C001 tidak ditampilkan
karena pada table pasien tidak ada kd_dokter C001.
Right outer join memiliki fungsi yang bertolak belakang dengan left
outer join, dimana right outer join akan menampilkan data secara keseluruhan
pada tabel kedua (kanan), namun NULL pada tabel pertama (kiri).
Contohnya disini kita akan menggabungkan semua data pada table
dokter dan table pasien yang mempunyai foreign key kd_dokter. Right outer
join akan menampilkan seluruh record pada tabel pasien (tabel kedua/kanan)
dan record table dokter (tabel pertama/kiri), tetapi karena pada table dokter
tidak terdapat record yang kosong maka tidak ditampilkan isi NULL.
Kemudian kita buat siapa saja yang bisa mengakses atau memanipulasi database
rumah_sakit tersebut dengan perintah grant. Create user ranny@localhost; yang
berarti kita membuat user dengan nama ranny, @localhost disini berfungsi untuk
penghubung
dengan
server.
Kemudian
ketik
perintah
grant
select
on
Lalu kita pindah ke user ranny dengan mengetik perintah mysql u ranny dan kita
ketik show databases; untuk melihat apakah ada database rumah_sakit di user
ranny. Kemudian ketik use rumah_sakit menandakan bahwa kita telah masuk pada
database yang kita buat yaitu database rumah_sakit. Jika kita mengetik perintah
select * from dokter; maka akan ditampilkan semua data pada table dokter. Tetapi
misalkan kita mengetik select * from pasien; dan insert into dokter values('A001',
'dr. Adi', 'Umum', 'Senin, Kamis'); maka kita tidak bisa melihat data pada table
pasien dan tidak bisa memasukkan data tersebut pada table dokter karena kita
hanya diberi akses untuk melihat data pada table dokter saja.
Jika kita ingin mencabut hak akses dalam database gunakan perintah revoke dan
kita harus pindahkan ke default user mysql terlebih dahulu, disini kita akan mencabut
hak akses melihat data pada table dokter yang berada di dalam database
rumah_sakit dari user dengan nama ranny. Lalu ketik exit untuk keluar dari default
user mysql.
Lalu kita pindah ke user ranny dengan mengetik perintah mysql u ranny dan kita
ketik show databases; untuk melihat apakah ada database rumah_sakit di user
ranny. Setelah diketik perintah tersebut database rumah_sakit tidak ada pada user
ranny yang berarti hak untuk mengakses database rumah sakit sudah dicabut dari
user ranny.