PENYUSUN :
1441177004214
KONVERSI
2018
DAFTAR ISI
I
BAB 1
PENDAHULUAN
1.1 Penjelasan Basis Data
Basis data adalah kumpulan terorganisasi dari data – data yang saling berhubungan
sedemikian rupa sehingga dapat mudah disimpan, dimanipulasi, serta dipanggil oleh penggunanya.
Definisi Basis data juga dapat diartikan sebagai kumpulan data yang terdiri dari satu atau lebih
tabel yang terintegrasi satu sama lain, dimana setiap user diberi wewenang untuk dapat mengakses
( seperti mengubah,menghapus dll.) data dalam tabel-tabel tersebut.
1.Tujuan Basis Data
1.2.1. Kecepatan serta kemudahan dalam menyimpan, memanipulasi atau juga menampilkan
kembali data tersebut.
1.2.2. Efisiensinya ruang penyimpanan, karena dengan basis data, redudansi data akan bisa
dihindari.
1.2.3. Keakuratan (Accuracy) data.
1.2.4. Ketersediaan (Availability) data.
1.2.5. Kelengkapan (Completeness) data, Bisa melakukan perubahan struktur dalam basis data,
baik dalam penambahan objek baru (tabel) atau dengan penambahan field-field baru pada table.
1.2.6. Keamanan (Security) data, dapat menentukan pemakai yang boleh menggunakan basis data
beserta objek-objek yang ada didalamnya serta menentukan jenis -jenis operasi apa saja yang boleh
dilakukannya.
1.2.7. Kebersamaan Pemakai (Sharability), Pemakai basis data bisa lebih dari satu orang, tetapi
tetap menjaga atau menghindari masalah baru seperti: inkonsistensi data (karana data yang sama
diubah oleh banyak pemakai pada saat yang bersamaan) dan juga kondisi deadlock (karena ada
banyak pemakai yang saling menunggu untuk menggunakan data tersebut.
1
BAB 2
ISI
2.1 Pertemuan 1
2
Menggunakan fungsi select Length (fungsi ini digunakan menghitung panjang suatu teks tersebut)
3
4
4. Potong karakter bagian kanan sebanyak 155.
Jawab :
Menggunakan fungsi select Right (fungsi ini di gunakan untuk memotong bagian kanan
sebanyak panjang karakter)
5
Menggunakan fungsi select replace (fungsi ini digunakan untuk mengganti suatu
string/karakter dengan karakter lainnya)
6
6. Buatlah user sebagai berikut:
dosen@localhost
mahasiswa@localhost
pustakawan@localhost
admin@localhost
security@localhost
Jawab :
Menggunakan sintax create user
Jawab :
Menggunakan sintax select*from mysql.user;
7
8. Hapus user security@localhost
Jawab :
Menggunakan sintax Drop user
2.2 Pertemuan 2
Jawab :
mysql> create database KULIAH;
mysql> show databases;
mysql> use KULIAH;
8
1.2 Tabel dosen
(a) kd_dosen char (10) primary key
(b) nama_dosen varchar(30) not null
(c) tgl_lahir date not null
(d) jenis_kelamin varchar(2) not null
(e) alamat varchar (100) not null
(f) no_telp varchar(15) not null
Jawab :
Jawab :
9
10
2. Tampilkan struktur tabel :
(a) Mahasiswa
Jawab :
(b) Matkul
Jawab :
(c) Dosen
11
Jawab :
12
3. Hapus Tabel Dosen
Jawab :
2.3 Pertemuan 3
2.4 Pertemuan 4
1. MYSQL
MySQL adalah Sebuah program database server yang mampu menerima dan mengirimkan datanya
sangat cepat, merupakan program multi-user serta menggunakan perintah dasar SQL (Structured Query
Language). MySQL merupakan dua bentuk lisensi, yaitu FreeSoftware dan Shareware. MySQL yang biasa
kita gunakan adalah MySQL FreeSoftware yang berada dibawah Lisensi GNU/GPL (General Public
License). MySQL pertama kali dirintis oleh seorang programmer database bernama Michael Widenius. Selain
database server, MySQL juga merupakan program yang dapat mengakses suatu database MySQL yang
berposisi sebagai Server, yang berarti program kita berposisi sebagai Client. Jadi MySQL adalah sebuah
database yang dapat digunakan sebagai Client mupun server. Database MySQL merupakan suatu
perangkat lunak database yang berbentuk database relasional atau disebut RDBMS (Relational Database
Management System) yang menggunakan suatu bahasa permintaan yang bernama SQL (Structured Query
Language).
Mengaktifkan MySQL
Untuk dapat menggunakan MySQL terlebih dahulu aktifkan Server MySQL dengan mengaktifkan
daemond MySQL.
Untuk masuk kedalam server MySQL, bukalah MS-DOS Prompt anda melalui Run kemudian
ketik Command atau cmd. Maka anda dapat masuk ke dalam direktori MySQL melalui MS-DOS Promtp
seperti dibawah ini:
13
Kemudian untuk membuat suatu database disini harus create database terlebih dahulu contohnya
disini create database kuliah setelah itu tampilkan database dengan perintah show databases
14
UAS
Nilai Kumulatif
Grade
Dibawah ini akan dijelaskan bagaimana membuat 3 tabel tersebut yang saling berrelasi(Primary key
dan Foreign key) dan setiap table terdiri dari terdapat perintah DML (Insert(10), Select(1),
Update(5),Delete(2)
Show tables
1. Table Mahasiswa
15
16
Menampilkan Strukutu Tabel ( Desc Mahasiswa )
17
Menampilkan data dalam table (Select*from Mahasiswa)
18
1. Hapus record dengan NPM=1710631170006
2. Hapus record dengan NPM=1710631170119
2. Table Matakuliah
19
Menyisipkan atau menambahkan data dalam table tersebut (Insert into matakuliah)
21
Menampilkan table tersebut (Desc Nilai Basis Data)
Menampilkan table (Desc Nilai Basis data Setelah ditambahkan foreign key atau Berrelasi yaitu table
mahasiswa dan table matakuliah untuk foreign keynya yaitu NPM dan Kode_Matakuliah)
Menyisipkan atau Menambahkan data dalam table tersebut (Insert into Nilai Basis data)
22
Menampilkan data dari table tersebut (Select*From Nilai Basis data)
Memperbaharui data dalam table tersebut (Update Table Nilai Basis Data)
1. Update Nilai_Kumulatif menjdi 80 dengan NPM=1710631170119
2. Update Grade menjadi B denagn NPM=1710631170119
3. Update Tugas menjadi 90 dengan NPM=1710631170186
4. Update Nilai_Kumulatif menjadi 75 dengn NPM=1710631170186
5. Update Grade menjadi B- dengan NPM=1710631170186
23
Menghapus data dalam table tersebut (Delete Table Nilai Basis Data)
1. Hapus record dengan NPM=1710631170164
2. Hapus record dengan NPM=1710631170165
2.5 Pertemuan 5
GRANT
24
Admin
1. Hak akses level update tabel database (seluruh tabel)
Dokter
2. Hak akses update level tabel periksa_pasien
3. Hak akses select level tabel pasien
4. Hak akses update level tabel resep
Pasien
5. Hak akses select level kolom tabel obat (nama obat dan harga)
6. Hak akses update level kolom tabel dokter (kode dokter dan nama dokter)
REVOKE
Pasien
7. Batalkan hak akses level tabel dokter
Jawaban :
GRANT ( untuk memberikan hak akses pengguna ke database)
Sebelum memberikan hak ases harus membuat user terlebih dahulu
create user admin@localhost;
create user dokter@localhost;
create user pasien@localhost
1. Pemberian hak akses level update table databases seluruh table oleh user admin
grant update on rumahsakit.* to admin@localhost
25
Untuk menguji apakah berhasil pengaksesan tersebut maka dilakukan langkah berikut ini
ketika show tables dengan masuk menggunakan –u admin maka semua tables yang ada di databases
rumahsakit akan muncul karena pemeberian hak aksesnya seluruh table level update
untuk mengujinya kita coba dengan query select*from table dokter
26
dengan query select*from table dokter error atau tidak muncul karena hak akses yang diberikan
kepada admin yaitu hak akses update jadi admin hanya bisa mengupdate seluruh table yang ada di
databases rumahsakit .
2. Pemberian hak akses level update table periksa_pasien database oleh user Dokter
grant update on rumahsakit.periksa_pasien to dokter@localhost
Untuk menguji apakah berhasil pengaksesan tersebut maka dilakukan langkah berikut ini
ketika show tables dengan masuk menggunakan –u dokter maka tables yang ada di databases
rumahsakit yang muncul hanya table periksa_pasien karena pemeberian hak aksesnya hanya pada
table periksa_pasien level update dengan user dokter
27
dengan query select*from table periksa_pasien error atau tidak muncul karena hak akses yang
diberikan kepada dokter yaitu hak akses update pada table periksa_pasien jadi dokter hanya bisa
mengupdate table periksa_pasien yang ada di databases rumahsakit .
3. Pemberian hak akses level select pada databases table pasien dengan user dokter
grant select on rumahsakit.pasien to dokter@localhost;
Untuk menguji apakah berhasil pengaksesan tersebut maka dilakukan langkah berikut ini
28
ketika show tables dengan masuk menggunakan –u dokter maka tables yang ada di databases
rumahsakit yang muncul table periksa_pasien dan pasien karena pemeberian hak akses sebelumya
pada table periksa_pasien kemudian diberikan hak akses lagi pada table pasien level select dengan
user dokter
dengan query update nama=’mawar’ where kd_pasien=’10001’ table pasien error atau tidak muncul
karena hak ases yang diberikan kepada dokter yaitu hak akses select pada table pasien jadi dokter
hanya bisa melihat table pasien yang ada di databases rumahsakit.
4. Pemberian hak akses level update pada databases table resep oleh user dokter
grant update on rumahsakit.resep to dokter@localhost
29
Untuk menguji apakah berhasil pengaksesan tersebut maka dilakukan langkah berikut ini
ketika show tables dengan masuk menggunakan –u dokter maka tables yang ada di databases
rumahsakit yang muncul table periksa_pasien pasien dan resep karena pemeberian hak akses
sebelumya pada table periksa_pasien dan pasien kemudian diberikan hak akses lagi pada table pasien
level update dengan user dokter
30
dengan query select*from table resep error atau tidak muncul karena hak akses yang diberikan
kepada dokter yaitu hak akses update pada table resep jadi dokter hanya bisa mengupdate table
resep yang ada di databases rumahsakit .
5. Pemberian hak akses select level kolom tabel obat (nama obat dan harga) oleh user pasien
grant select(nama_obat, harga) on rumahsakit to pasien@localhost
Untuk menguji apakah berhasil pengaksesan tersebut maka dilakukan langkah berikut ini
ketika show tables dengan masuk menggunakan –u psien maka tables yang ada di databases
rumahsakit yang muncul table obat karena pemeberian hak aksesnya hanya pada table obat level
select(nama_obat, harga) dengan user pasien
31
untuk mengujinya kita coba select*from obat
Pada saat user pasien mencoba menampilkan seluruh kolom dengan query select* from obat,
MySQL akan mengeluarkan error karena user pasien hanya memiliki hak akses untuk
nama_obat,harga dimana pada saat menggunakan perintah select nama_obat , harga from obat,
MySQL menampilkannya dengan baik.
6. Pemberian hak akses update level kolom tabel dokter (kd_dokter dan nama_dokter) oleh user pasien
grant select(kd_dokter, nama_dokter) on rumahsakit to pasien@localhost
Untuk menguji apakah berhasil pengaksesan tersebut maka dilakukan langkah berikut ini
32
ketika show tables dengan masuk menggunakan –u psien maka tables yang ada di databases
rumahsakit yang muncul table obat dan dokter karena pemeberian hak akses sebelumya pada table
obat kemduian pemebrian hak akses lagi pada table dokter dengan level update (kd_dokter,
nama_dokter) dengan user pasien.
untuk menguji kita coba select*from dokter
Pada saat user pasien mencoba menampilkan seluruh kolom dengan query select* from dokter atau
select kd_dokter nama_dokter from dokter, MySQL akan mengeluarkan error karena user pasien
hanya memiliki hak akses untuk mengupdate .
7. Revoke Batalkan hak akses level tabel dokter
33
2.6 Pertemuan 6
34
4. Menampilkan kolom id_pegawai, nama_belakang dan gaji pada tabel pegawai:
5. Menampilkan kolom id_pegawai, nama_belakang, gaji, tunjangan dan kolom baru tunjangan+gaji
pada tabel pegawai:
6. Tampilkan kolom idpegawai, namabelakang, gaji, tunjangan dan sebuah kolom baru (gunakan alias)
yaitu total_pendapatan yang berisi jumlah tunjangan dan gaji:
tabel pegawai :
35
8. Mengubah id_manajer menjadi ‘AL’ untuk pegawai yang memiliki id pegawai ‘E004’ dan ‘E005’ pada
tabel pegawai:
Update tabel:
36
11. Menampilkan kolom id_manajer pada tabel pegawai tanpa ada yang berduplikat:
12. Menampilkan pegawai yang gajinya diantara 1750000 – 1250000 pada tabel pegawai:
13. Menampilkan tabel pegawai yang terurut berdasarkan nama belakang dari a ke z:
14. Menampilkan tabel pegawai yang terurut berdasarkan nama depan dari z ke a:
2.7 Pertemuan 7
37
2. Menampilkan Tabel Mahasiswa
38
7. Mengisi Data pada Tabel Dosen
Tugas
Tabel Dosen
1. Tampilkan isi tabel Dosen melalui tabel Mahasiswa
2. Tampilkan isi tabel Dosen dan Mahasiswa yang memiliki Id_Doden yang sama
39
40
3. Tampilkan isi tabel Dosen dan Mahasiswa yang memiliki Id_Dosen yang sama =
‘12344’
41
2.8 Pertemuan 8
b. Tabel Matakuliah
c. Tabel Khs
d. Tabel Dosen
42
e. Tabel Jurusan
f. Tabel Kelas
b. mysql>select nim,nama from mahasiswa where nim = any (select distinct nim from khs);
43
c. mysql>select nim,nama from mahasiswa where nim in (select distinct nim from khs);
d. mysql>select nim,nama from mahasiswa where not exists (select * from khs where
nim=mahasiswa.nim);
3. Gunakan tabel mahasiswa, kelas, jurusan dan dosen untuk menampilkan data berikut:
a. menampilkan data dosen (nip, nama) yang menjabat sebagai ketua jurusan sekaligus
menjadi dosen wali.
b. Menampilkan data dosen (nip,nama) yang tidak menjabat sebagai ketua jurusan.
c. Menampilkan data dosen (nip, nama) yang tidak menjadi dosen wali.
44
f. Menampilkan daftar mahasiswa suatu jenjang program studi.
Tidak akan muncul atau akan terjadi eror, karena tabel mahasiswa dengan tabel jurusan dan
kelas tidak saling berelasi.
2.9 Pertemuan 9
Buatlah table :
Tabel Mahasiswa :
45
Tabel Mata kuliah :
Tabel Nilai :
46
Tampilkan semua data pada tabel MHS :
47
Ubahlah sks matakuliah basis data menjadi 3 sks :
Dapatkan nama mahasiswa yang tinggal di bogor dan menggambil mata kuliah Bahasa
rakitan :
2.10 Soal B
48
2. Buatlah beberapa tabel yakni, mahasiswa, dosen, matakuliah, dan nilai.
Setiap tabel memiliki atribut sebagai berikut: (Bobot 20%)
1) Tabel mahasiswa memiliki atribut nim (primary key), nama_mhs, jk,
tgl_lahir, alamat dan no_telp
49
3) Tabel matakuliah memiliki atribut kd_matkul (primary key),
nama_matkul, sks, semester, biaya, dan kd_dosen (foreign key)
50
Melihat field yang telah dibuat pada table matakuliah
3. Isilah masing-masing tabel dengan record data dan query untuk menampilkan
data dari masing-masing tabel (mahasiswa, dosen, matakuliah dan nilai). (Bobot
20%)
1) Table mahasiswa
2) Table dosen
51
3) Table matakuliah
4) Table nilai
52
a. Tampilkan nama_matkul dengan menggunakan query distinct
53
b. Tampilkan kd_dosen, nama_dosen, jk, kd_matkul, nama_matkul, sks,
semester menggunakan right join.
54
e. Tampilkan jumlah record dari nilai algoritma yang lebih besar sama dengan 80.
55
BAB 3
KESIMPULAN
3.1 Kesimpulan
Dari pembelajaran praktikum yang telah dilakukan selama satu semester ini
saya dapat mengetahui tatacara menggunakan basis data yang baik dan benar, serta
saya dapat memahami berbagai syntax yang diperlukan dalam pengolahan basis data
itu sendiri. Proses utama basis data itu sendiri yaitu DDL, DML dan DCL. Ketiga
fungsi tersebut berurutan sesuai dalam kegunaannya.
3.2 Saran
Saran dari saya pribadi setelah mengikuti praktikum basis data satu semester ini
yaitu ditingkatkan dalam hal pembaharuan pembelajaran yang lebih meluas tetapi
sesuai standar yang telah diajarkan sebelumnya. Dalam pembelajarannya sudah
bagus dan setiap mahasiswa dapat memahami dengan mudah dalam pratik syntax-
syntax yang ada dalam pengolahan basis data. Akan tetapi akan lebih bagus jika cara
praktiknya lebih meluas dan mencari hal yang baru dalam penerapan syntax-syntax
yang diajarkan.
56
DAFTAR PUSTAKA
57