Anda di halaman 1dari 405

LAPORAN PRAKTIKUM

BASIS DATA I
HALAMAN JUDUL

Disusun Oleh :
NAMA : ANGGARA PUTRA M
NIM : 32602100029

JURUSAN TEKNIK INFORMATIKA


FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS ISLAM SULTAN AGUNG
SEMARANG
2022
KATA PENGANTAR

Puji syukur penulis panjatkan kepada Allah SWT, yang telah memberikan
rahmat, taufik serta hidayah-Nya, sehingga laporan Basis Data 1 dapat
terselesaikan.

Tanpa lupa penulis mengucapkan terima kasih kepada :


1. Rektor UNISSULA Bapak Prof Dr Gunarto, S.H., M.Hum yang
mengizinkan penulis menimba ilmu di kampus ini.

2. Dekan Fakultas Teknologi Industri Ibu Dr, Novi Marlyana, ST., MT.

3. Dosen pengampu penulis Moch. Taufik, ST., MIT yang telah memberi ilmu
tentang mengenai praktikum Basis Data I.

4. Orang tua penulis yang telah mengizinkan untuk menyelesaikan laporan


ini.

5. Dan kepada semua pihak yang tidak dapat saya sebutkan satu persatu.

Penulis menyadari bahwa dalam penyusunan laporan ini masih terdapat


banyak kekurangan, untuk itu penulis mengharap kritik dan saran dari pembaca
untuk sempurnanya laporan ini. Semoga dengan ditulisnya laporan ini dapat
menjadi sumber ilmu bagi setiap pembaca.

Semarang, 28 Juli 2022

Anggara Putra M

ii
HALAMAN PENGESAHAN
Laporan Praktikum
Basis Data I
Disusun Oleh :
Anggara Putra M (32602100029)

Telah disetujui sebagai syarat untuk memenuhi mata kuliah Basis Data I Jurusan
Teknik Informatika Fakultas Teknologi Industri Universitas Islam Sultan Agung
Semarang.
Hari :
Tanggal :
Asisten Praktikum
1. Annisa Amalia Putri (32601900006) 1. …….....................................

2. Salwa Ahla Amania (32601900029) 2. ...........................................

Mengetahui,

Laboran Dosen Praktikum

WerdhaWilubertha H, S.Kom Moch. Taufik, ST., MIT

iii
DAFTAR ISI

HALAMAN JUDUL................................................................................................i

KATA PENGANTAR.............................................................................................ii

HALAMAN PENGESAHAN................................................................................iii

DAFTAR ISI...........................................................................................................iv

DAFTAR GAMBAR..............................................................................................ix

DAFTAR TABEL...............................................................................................xxix

BAB I.......................................................................................................................1

PENGENALAN BASIS DATA..............................................................................1

1.1. Tujuan..............................................................................................1
1.2. Dasar Teori......................................................................................1
1.2.1. Definisi............................................................................................1
1.2.2. Fungsi Basis Data............................................................................1
1.2.3. Struktur Basis Data..........................................................................1
1.2.4. Database Management System (DBMS).........................................3
1.2.5. Tipe Data dalam SQL......................................................................4
1.3. Latihan.............................................................................................7
1.3.1. Instalasi XAMPP.............................................................................7
1.1.1 1.3.2. Import file SQL Ke MariaDB.............................................12
1.1.2 1.3.3. Export Database MariaDB ke CSV....................................16
1.1.3 1.3.4. Export Database MariaDB ke SQL....................................19
1.4. Tugas.............................................................................................22
1.5. Kesimpulan....................................................................................34
BAB II ENTITY RELATIONSHIP DIAGRAM...................................................37

2.1 Tujuan............................................................................................37
2.2 Dasar Teori....................................................................................37
2.2.1 Definisi..........................................................................................37
2.2.2 Komponen Pembuat ERD.............................................................37

iv
2.2.3 UML..............................................................................................45
2.3 Latihan...........................................................................................45
2.3.1 Instalasi StartUML........................................................................45
2.3.2 Membuat ERD...............................................................................47
2.3.3 Mengkonversi ERD Menjadi Tabel Fisik......................................57
2.4 Tugas.............................................................................................59
2.5 Kesimpulan....................................................................................65
BAB III NORMALISASI DATABASE................................................................67

3.1. Tujuan............................................................................................67
3.2. Dasar Teori....................................................................................67
3.2.1. Definisi..........................................................................................67
3.2.2. Kriteria Normalisasi......................................................................71
3.2.3. Teknik Normalisasi........................................................................71
3.2.4. Tahapan / Bentuk Normalisasi......................................................75
3.3. Latihan...........................................................................................83
3.4. Tugas.............................................................................................93
3.5. Kesimpulan..................................................................................112
BAB IV................................................................................................................115

DATA DEFINITION LANGUAGE....................................................................115

4.1. Tujuan..........................................................................................115
4.2. Dasar Teori..................................................................................115
4.2.1. Definisi........................................................................................115
4.2.2. Perintah DDL...............................................................................115
4.2.3. Primary Key.................................................................................117
4.2.4. Auto Increment............................................................................118
4.2.5. Foreign Key.................................................................................119
4.2.6. Unique key...................................................................................120
4.3. Latihan.........................................................................................121
4.3.1 Membuka MariaDB Melalui XAMPP Control Panel..................121
4.3.2 CREATE......................................................................................122
4.3.3. ALTER........................................................................................125
4.3.4. DROP...........................................................................................134

v
4.4. Tugas...........................................................................................134
4.1. Kesimpulan..................................................................................160
BAB V..................................................................................................................162

DATA MANIPULATION LANGUAGE.........................................................162

5.1 Tujuan..........................................................................................162
5.2 Dasar Teori..................................................................................162
5.2.1 Definisi........................................................................................162
5.2.2 Insert............................................................................................162
5.2.3 Select...........................................................................................163
5.2.4 Update..........................................................................................163
5.2.5 Delete...........................................................................................164
5.3 Latihan.........................................................................................165
5.3.1 Insert............................................................................................165
5.3.2 Select...........................................................................................173
5.3.3 Update..........................................................................................177
5.3.4 Delete...........................................................................................186
5.4 Tugas...........................................................................................193
1. Database Rumah Sakit.................................................................193
3) Hapus data sebagai berikut..........................................................210
2. Database Perpustakaan................................................................216
3. Lakukan perubahan data sebagai berikut.....................................226
5.5 Kesimpulan..................................................................................239
BAB VI DATA CONTROL LANGUAGE......................................................240

6.1 Tujuan..........................................................................................240
6.2 Dasar Teori..................................................................................240
6.2.1 Definisi........................................................................................240
6.2.2 Superuser.....................................................................................240
6.2.3 Hak Akses/Priveleges..................................................................241
6.2.4 Membuat User Baru.....................................................................242
6.2.5 Menampilkan User dan Hapus User............................................243
6.2.6 Membuat Hak Akses User MariaDB (Grant)..............................243
6.2.7 Jenis Hak Akses...........................................................................244

vi
6.2.8 Menampilkan Hak Akses Dari Luar............................................246
6.2.9 Mengalihkan Hak Akses User.....................................................247
6.2.10 Mengubah dan Menghapus Password User MariaDB.................248
6.2.11 Menghapus Hak User (Revoke)..................................................249
6.3 Latihan.........................................................................................250
6.3.1 Membuat User Baru.....................................................................250
6.3.2 Membuat Hak Akses untuk User.................................................255
6.3.3 Menampilkan Hak Akses User....................................................267
6.3.4 Mengalihkan Hak Akses User.....................................................269
6.3.5 Mengubah atau Menghapus Password dari User.........................274
6.3.6 Menghapus Hak Akses................................................................277
6.4 Tugas...........................................................................................279
6.5 Kesimpulan..................................................................................293
BAB VII..............................................................................................................294

FILTERING, AGREGATION, SORTING & MATH FUNCTION.............294

7.1. Tujuan..........................................................................................294
1. Untuk memahami query lanjutan................................................294
2. Untuk memahami filtering, aggregation, dan sorting data..........294
7.2. Dasar Teori..................................................................................294
7.1.1. Filtering.......................................................................................294
7.1.2. Agregation Data...........................................................................300
7.1.3. Sorting Data.................................................................................301
7.1.4. Math Function..............................................................................301
7.3. Latihan.........................................................................................305
7.1.5. Filtering.......................................................................................305
7.1.6. Agregasi Data..............................................................................321
7.1.7. Sorting Data.................................................................................324
7.1.8. Math Function..............................................................................326
7.4. Tugas...........................................................................................339
7.5. Kesimpulan..................................................................................349
BAB VIII CONTROL FLOW FUNCTION.......................................................350

8.1 Tujuan..........................................................................................350

vii
8.2 Dasar Teori..................................................................................350
8.2.1 Definisi........................................................................................350
8.3 Latihan.........................................................................................352
8.4 Tugas...........................................................................................359
8.5 Kesimpulan..................................................................................366
HALAMAN PUSTAKA....................................................................................367

LAMPIRAN........................................................................................................370

viii
DAFTAR GAMBAR
Gambar 1. 1 Field.....................................................................................................2
Gambar 1. 2 Value...................................................................................................2
Gambar 1. 3 Download XAMPP.............................................................................8
Gambar 1. 4 Buka File XAMPP..............................................................................8
Gambar 1. 5 Notification UAC................................................................................9
Gambar 1. 6 Halaman Set Up..................................................................................9
Gambar 1. 7 Pilih Komponen XAMPP..................................................................10
Gambar 1. 8 Lokasi Instal XAMPP.......................................................................10
Gambar 1. 9 Set Bahasa XAMPP..........................................................................11
Gambar 1. 10 Menghapus Tanda Centang.............................................................11
Gambar 1. 11 Siap Proses Install XAMPP...........................................................12
Gambar 1. 12 Tunggu Proses Install XAMPP.......................................................12
Gambar 1. 13 Allow acces XAMPP......................................................................13
Gambar 1. 14 Proses Instal Selesai........................................................................13
Gambar 1. 15 Pengaktifan XAMPP.......................................................................14
Gambar 1. 16 Masuk URL Phpmyadmin...............................................................14
Gambar 1. 17 Tampilan Phpmyadmin...................................................................14
Gambar 1. 18 Buat Database Baru.........................................................................15
Gambar 1. 19 Create Untuk Membuat Database...................................................15
Gambar 1. 20 Masuk Menu Import........................................................................16
Gambar 1. 21 Format File Database......................................................................16
Gambar 1. 22 Memulai Proses Import...................................................................17
Gambar 1. 23 Tabel Database yang Sudah Diimport.............................................17
Gambar 1. 24 Check Isi Database World...............................................................18
Gambar 1. 25 Pemilihan Database yang Akan Diexport.......................................18
Gambar 1. 26 Masuk Menu Export........................................................................19
Gambar 1. 27 Pilih Format CSV............................................................................19
Gambar 1. 28 Memulai Proses Export...................................................................20
Gambar 1. 29 File Export Terdownload................................................................20
Gambar 1. 30 Hasil Export CSV............................................................................21
Gambar 1. 31 Pilih Database yang Akan Diexport................................................21
Gambar 1. 32 Masuk Menu Export........................................................................22
Gambar 1. 33 Pilih Format SQL............................................................................22
Gambar 1. 34 Memulai Proses Export...................................................................23
Gambar 1. 35 File SQL yang Terdownload...........................................................23
Gambar 1. 36 Field.................................................................................................24
Gambar 1. 37 Value...............................................................................................24
Gambar 1. 38 Membuat Database Classic Models Models...................................26
Gambar 1. 39 Mengimport Data pada Classic Models..........................................27
Gambar 1. 40 Hasil Import Data Classic Models..................................................27
Gambar 1. 41 Membuat Database Toko................................................................28
Gambar 1. 42 Mengimport Data pada Toko..........................................................28

ix
Gambar 1. 43 Hasil Import Data Toko..................................................................28
Gambar 1. 44 Membuat Database Mini Market....................................................29
Gambar 1. 45 Mengimport Data pada Mini Market..............................................29
Gambar 1. 46 Hasil Import Data Mini Market.......................................................29
Gambar 1. 47 Database Classic Models yang Diexport ke CSV...........................30
Gambar 1. 48 Hasil Export Classic Models...........................................................30
Gambar 1. 49 Tampilan Data CSV Classic Models...............................................31
Gambar 1. 50 Database Toko yang Diexport.........................................................31
Gambar 1. 51 Hasil Export Toko...........................................................................31
Gambar 1. 52 Tampilan Data CSV Toko...............................................................32
Gambar 1. 53 Database Mini Market yang Akan Diexport...................................32
Gambar 1. 54 Hasil Export Mini Market...............................................................32
Gambar 1. 55 Tampilan Data CSV Mini Market...................................................33
Gambar 1. 56 Database Classic Models Diexport SQL.........................................33
Gambar 1. 57 Hasil Export Classic Models SQL..................................................33
Gambar 1. 58 Database Toko Diexport SQL.........................................................34
Gambar 1. 59 Hasil Export Toko SQL..................................................................34
Gambar 1. 60 Database Mini Market Diexport SQL.............................................35
Gambar 1. 61 Hasil Export Mini Market SQL.......................................................35

Gambar 2. 1 Atribut...............................................................................................38
Gambar 2. 2 Simple Attribute................................................................................38
Gambar 2. 3 Key Attribute.....................................................................................39
Gambar 2. 4 Multivalue Attribute..........................................................................39
Gambar 2. 5 Composite Attribute..........................................................................39
Gambar 2. 6 Derivated Attribute............................................................................40
Gambar 2. 7 Simbol Relasi....................................................................................40
Gambar 2. 8 Nama Relasi di Dalam Simbol..........................................................40
Gambar 2. 9 Atribut Dalam Relasi.........................................................................41
Gambar 2. 10 Relasi Unary....................................................................................41
Gambar 2. 11 Relasi Binary...................................................................................42
Gambar 2. 12 Simbol One to One..........................................................................42
Gambar 2. 13 Contoh One to One..........................................................................42
Gambar 2. 14 Simbol One to Many.......................................................................43
Gambar 2. 15 Contoh One to Many.......................................................................43
Gambar 2. 16 Simbol Many to One.......................................................................43
Gambar 2. 17 Contoh Many to One.......................................................................44
Gambar 2. 18 Simbol Many to Many....................................................................44
Gambar 2. 19 Contoh Many to Many....................................................................44
Gambar 2. 20 Simbol Garis....................................................................................45
Gambar 2. 21 Jendela StarUML............................................................................46
Gambar 2. 22 Jendela User Account Control........................................................46
Gambar 2. 23 Jendela Proses Instalasi...................................................................46

x
Gambar 2. 24 Jendela Unregistered Version.........................................................47
Gambar 2. 25 Tampilan utama StarUML..............................................................47
Gambar 2. 26 Tampilan Untuk Mengedit Properti dan Dokumentasi...................49
Gambar 2. 27 Add ER Diagram.............................................................................49
Gambar 2. 28 Halaman ER Diagram.....................................................................50
Gambar 2. 29 Input Nama Entitas..........................................................................50
Gambar 2. 30 Add Entitas......................................................................................51
Gambar 2. 31 Add Atribut.....................................................................................51
Gambar 2. 32 Add Nama Atribut...........................................................................52
Gambar 2. 33 Add Atribut.....................................................................................52
Gambar 2. 34 Add Garis Antara Atribut dan Entitas.............................................53
Gambar 2. 35 Add Atribut dan Garis.....................................................................53
Gambar 2. 36 Add Relasi Many to Many..............................................................54
Gambar 2. 37 Add Atribut Relasi..........................................................................54
Gambar 2. 38 Add Relasi One to Many.................................................................55
Gambar 2. 39 Save Project.....................................................................................55
Gambar 2. 40 Export Diagram Menjadi Gambar PNG..........................................56
Gambar 2. 41 Lokasi Export Diagram...................................................................56
Gambar 2. 42 Hasil Export....................................................................................56
Gambar 2. 43 Konversi ERD Anggota ke Dalam Tabel........................................57
Gambar 2. 44 Konversi ERD Buku ke Dalam Tabel.............................................57
Gambar 2. 45 Konversi ERD Kategori ke Dalam Tabel........................................57
Gambar 2. 46 Konversi ERD Many to Many........................................................58
Gambar 2. 47 Konversi ERD One to Many...........................................................58
Gambar 2. 48 ERD Tugas 1...................................................................................61
Gambar 2. 49 ERD Tugas 2...................................................................................63
Gambar 2. 50 ERD Tugas 3...................................................................................65

Gambar 3. 1 Redudansi data..................................................................................67


Gambar 3. 2 Relasi Antar Tabel.............................................................................68
Gambar 3. 3 Tabel Sebelum Ditambah Data Baru.................................................68
Gambar 3. 4 Tabel Sesudah Ditambahkan.............................................................69
Gambar 3. 5 Tabel Sebelum DIubah......................................................................69
Gambar 3. 6 Tabel Sesudah Diubah.......................................................................70
Gambar 3. 7 Tabel Sebelum Dihapus....................................................................70
Gambar 3. 8 Tabel Setelah Datanya Dihapus........................................................71
Gambar 3. 9 Ketergantungan Fungsi.....................................................................72
Gambar 3. 10 Tabel Ketergantungan Fungsi.........................................................72
Gambar 3. 11 Atribut Determinan.........................................................................73
Gambar 3. 12 Atribut Functionally Dependant......................................................73
Gambar 3. 13 Tabel Ktergantungan Fungsi Penuh................................................73
Gambar 3. 14 Ketergantungan Fungsi Penuh........................................................74
Gambar 3. 15 Tabel Ketergantungan Fungsi Parsial.............................................74

xi
Gambar 3. 16 Tabel Ketergantungan Transitif......................................................75
Gambar 3. 17 Ketergantungan Fungsi Transitif.....................................................75
Gambar 3. 18 Bentuk Tidak Normal......................................................................76
Gambar 3. 19 Multivalue Attribute........................................................................76
Gambar 3. 20 Hasil Dekomposisi..........................................................................77
Gambar 3. 21 Composite Attribute........................................................................77
Gambar 3. 22 Hasil Pembuatan Atribut Baru........................................................77
Gambar 3. 23 Repeating Group.............................................................................78
Gambar 3. 24 Mengurangi Repeating Group.........................................................78
Gambar 3. 25 Tabel 1 – NF....................................................................................78
Gambar 3. 26 Tabel 1 – NF....................................................................................79
Gambar 3. 27 Tabel Mahasiswa.............................................................................81
Gambar 3. 28 Tabel Mata kuliah...........................................................................81
Gambar 3. 29 Tabel Nilai.......................................................................................82
Gambar 3. 30 Tabel 2 – NF....................................................................................82
Gambar 3. 31 Tabel Mata Kuliah...........................................................................83
Gambar 3. 32 Tabel Ruang....................................................................................83
Gambar 3. 33 Tabel Data Bimbel..........................................................................84
Gambar 3. 34 Tabel Data Bimbel..........................................................................84
Gambar 3. 35 Composite Attribute........................................................................85
Gambar 3. 36 Repeating Group.............................................................................85
Gambar 3. 37 Tabel Composite Attribute..............................................................86
Gambar 3. 38 Tabel Repeating Group...................................................................86
Gambar 3. 39 Tabel 1 – NF....................................................................................86
Gambar 3. 40 Tabel 1 – NF....................................................................................87
Gambar 3. 41 Dekomposisi Tabel Peserta.............................................................88
Gambar 3. 42 Dekomposisi Tabel Bimbel.............................................................89
Gambar 3. 43 Dekomposisi Tabel Nilai.................................................................89
Gambar 3. 44 Dekompossi Tabel Peserta..............................................................90
Gambar 3. 45 Dekomposisi Tabel Kode Pos.........................................................90
Gambar 3. 46 Dekomposisi Tabel Nilai.................................................................91
Gambar 3. 47 Dekomposisi Tabel Nilai Huruf......................................................91
Gambar 3. 48 Tabel Peserta...................................................................................91
Gambar 3. 49 Tabel Kode Pos...............................................................................92
Gambar 3. 50 Tabel Bimbel...................................................................................92
Gambar 3. 51 Tabel Nilai.......................................................................................93
Gambar 3. 52 Tabel Nilai Huruf............................................................................93
Gambar 3. 53 Tabel Soal 1.....................................................................................93
Gambar 3. 54 Tabel Soal 1.....................................................................................94
Gambar 3. 55 Tabel Dokter....................................................................................94
Gambar 3. 56 Tabel Dokter Spesialis....................................................................95
Gambar 3. 57 Tabel Dokter....................................................................................96
Gambar 3. 58 Tabel Spesialis................................................................................96
Gambar 3. 59 Tabel Jam Kerja..............................................................................97

xii
Gambar 3. 60 Tabel Dokter....................................................................................98
Gambar 3. 61 Tabel Spesialis................................................................................98
Gambar 3. 62 Tabel Jam Kerja..............................................................................99
Gambar 3. 63 Tabel Soal 2.....................................................................................99
Gambar 3. 64 Tabel Soal 2...................................................................................100
Gambar 3. 65 Tabel Perpustakaan.......................................................................100
Gambar 3. 66 Tabel Anggota...............................................................................101
Gambar 3. 67 Tabel Buku....................................................................................102
Gambar 3. 68 Tabel Peminjaman.........................................................................102
Gambar 3. 69 Tabel Denda..................................................................................102
Gambar 3. 70 Tabel Buku....................................................................................103
Gambar 3. 71 Tabel Penerbit...............................................................................104
Gambar 3. 72 Tabel Anggota...............................................................................104
Gambar 3. 73 Tabel Buku....................................................................................105
Gambar 3. 74 Tabel Penerbit...............................................................................105
Gambar 3. 75 Tabel Peminjaman.........................................................................106
Gambar 3. 76 Tabel Denda..................................................................................106
Gambar 3. 77 Tabel Soal 3...................................................................................107
Gambar 3. 78 Tabel Soal 3...................................................................................107
Gambar 3. 79 Tabel Toko Online........................................................................108
Gambar 3. 80 Tabel Pembeli................................................................................109
Gambar 3. 81 Tabel Toko....................................................................................109
Gambar 3. 82 Tabel Barang.................................................................................109
Gambar 3. 83 Tabel Total Harga.........................................................................110
Gambar 3. 84 Tabel Pembeli................................................................................110
Gambar 3. 85 Tabel Kode Pos.............................................................................111
Gambar 3. 86 Tabel Pembeli................................................................................111
Gambar 3. 87 Tabel Kode Pos.............................................................................112
Gambar 3. 88 Tabel Toko....................................................................................112
Gambar 3. 89 Tabel Barang.................................................................................113
Gambar 3. 90 Tabel Total_harga.........................................................................114

Gambar 4. 1 Foreign key......................................................................................120


Gambar 4. 2 Membuka CMD..............................................................................121
Gambar 4. 3 Masuk ke MariaDB.........................................................................121
Gambar 4. 4 Input Password MariaDB................................................................121
Gambar 4. 5 Create Database Kantor...................................................................122
Gambar 4. 6 Menggunakan database kantor........................................................123
Gambar 4. 7 Create Tabel Pegawai......................................................................123
Gambar 4. 8 Menampilkan Struktur Tabel Pegawai............................................123
Gambar 4. 9 Create Tabel Jabatan.......................................................................123
Gambar 4. 10 Menampilkan Struktur Tabel Jabatan...........................................124
Gambar 4. 11 Create Tabel Inventaris.................................................................124

xiii
Gambar 4. 12 Menampilkan Struktur Tabel Inventaris.......................................124
Gambar 4. 13 Create Tabel User..........................................................................124
Gambar 4. 14 Menampilkan Struktur Tabel User................................................125
Gambar 4. 15 Menampilkan Tabel Dalam Database Kantor...............................125
Gambar 4. 16 Mengubah Nama Tabel.................................................................125
Gambar 4. 17 Hasil Setelah Diubah.....................................................................125
Gambar 4. 18 Nama Kolom Sebelum Diubah.....................................................126
Gambar 4. 19 Query Mengubah Kolom Nama....................................................126
Gambar 4. 20 Hasil Setelah Kolom Diubah.........................................................126
Gambar 4. 21 Tabel Sebelum Kolom Ditambahkan............................................126
Gambar 4. 22 Penambahan Kolom......................................................................126
Gambar 4. 23 Hasil Setelah Nama Kolom Ditambahkan....................................127
Gambar 4. 24 Tabel Karyawan Sebelum Tabel Gaji Dihapus.............................127
Gambar 4. 25 Drop Kolom Gaji...........................................................................127
Gambar 4. 26 Tabel Karyawan Setelah Kolom Gaji Dihapus.............................127
Gambar 4. 27 Menambahkan Foreign Key..........................................................128
Gambar 4. 28 Tabel Karyawan Setelah Ditambah Foreign Key.........................128
Gambar 4. 29 Sebelum Diubah Tipe Datanya.....................................................128
Gambar 4. 30 Query Mengubah Tipe Data..........................................................128
Gambar 4. 31 Hasil Setelah Tipe Data Diubah....................................................128
Gambar 4. 32 Tabel Jabatan Sebelum Kolomnya Dihapus.................................129
Gambar 4. 33 Query Hapus Kolom.....................................................................129
Gambar 4. 34 Tabel Jabatan Sesudah Kolomnya Dihapus..................................129
Gambar 4. 35 Tabel Jabatan Sebelum Menambahkan Kolom.............................129
Gambar 4. 36 Query Menambah Kolom Baru.....................................................129
Gambar 4. 37 Tabel Jabatan Setelah Ditambah Kolom Baru..............................129
Gambar 4. 38 Tabel Jabatan Sebelum Ditambah Kolom Baru............................130
Gambar 4. 39 Query Untuk Menambah Kolom Baru..........................................130
Gambar 4. 40 Tabel Jabatan Setelah Ditambah Kolom Baru..............................130
Gambar 4. 41 Tabel Jabatan Sebelum Diubah Nama Kolomnya........................130
Gambar 4. 42 Query Mengubah Nama Kolom....................................................130
Gambar 4. 43 Tabel Hasil Setelah Diubah Nama Kolomnya..............................131
Gambar 4. 44 Tabel Jabatan Sebelum Kolomnya Ditambah Nilai Default.........131
Gambar 4. 45 Query menambahkan nilai default................................................131
Gambar 4. 46 tabel jabatan setelah diberi nilai default........................................131
Gambar 4. 47 Tabel Inventaris Sebelum Diubah Nama Kolomnya....................131
Gambar 4. 48 Query Mengubah Nama Kolom....................................................132
Gambar 4. 49 Tabel Inventaris Setelah Diubah Nama Kolomnya.......................132
Gambar 4. 50 Query Menambahkan Primary Key..............................................132
Gambar 4. 51 Tabel Inventaris Setelah Ditambah Primary Key..........................132
Gambar 4. 52 Query Menambahkan Unik Pada Kolom......................................132
Gambar 4. 53 Tabel Inventaris Setelah Kolomnya Diberi Unik..........................133
Gambar 4. 54 Tabel Inventaris Sebelum Dihapus Kolomnya.............................133
Gambar 4. 55 Query Hapus Kolom.....................................................................133

xiv
Gambar 4. 56 Tabel Inventaris Setelah Kolom Pemilik Dihapus........................133
Gambar 4. 57 Query Menambahkan Kolom Stok................................................133
Gambar 4. 58 Tabel Inventaris Setelah Ditambah Kolom Stok...........................134
Gambar 4. 59 Database Kantor Sebelum Dihapus Tabelnya...............................134
Gambar 4. 60 Query Hapus Tabel.......................................................................134
Gambar 4. 61 Database Kantor Setelah Kolom User Dihapus............................134
Gambar 4. 62 query membuat database rumah sakit...........................................135
Gambar 4. 63 query membuat tabel pasien..........................................................135
Gambar 4. 64 Menampilkan Isi Tabel Pasien.....................................................135
Gambar 4. 65 Create Tabel Spesialis..................................................................136
Gambar 4. 66 Create Tabel Dokter.....................................................................136
Gambar 4. 67 Create Tabel Jadwal Dokter.........................................................137
Gambar 4. 68 Create Tabel Kamar.....................................................................137
Gambar 4. 69 Create Tabel Pembayaran............................................................138
Gambar 4. 70 Create Tabel Pelanggan................................................................138
Gambar 4. 71 Create Tabel Penyewaan..............................................................139
Gambar 4. 72 Create Tabel Mobil.......................................................................139
Gambar 4. 73 Create Tabel Paket.......................................................................140
Gambar 4. 74 Create Database Perpustakaan dan Tabel Anggota......................140
Gambar 4. 75 Create Tabel Buku........................................................................140
Gambar 4. 76 Create Tabel Kategori..................................................................141
Gambar 4. 77 Create Tabel Peminjaman............................................................141
Gambar 4. 78 Create Tabel Denda......................................................................142
Gambar 4. 79 Create Tabel Petugas.....................................................................142
Gambar 4. 80 Add Unique..................................................................................143
Gambar 4. 81 Mengganti ttl menjadi tempat_lahir..............................................143
Gambar 4. 82 Menambah kolom tanggal_lahir setelah tempat_lahir.................143
Gambar 4. 83 Menambahkan kolom berat_badan setelah gol_darah..................144
Gambar 4. 84 Merubah kolom gol_darah menjadi golongan_darah...................144
Gambar 4. 85 Menghapus kolom jumlah_spesialis.............................................144
Gambar 4. 86 Menambahkan nilai default pada kolom spesialis........................145
Gambar 4. 87 Menambahkan nilai unik pada kolom kd_dokter..........................145
Gambar 4. 88 Menghapus kolom lulusan............................................................145
Gambar 4. 89 Menambahkan kolom no_telepon.................................................146
Gambar 4. 90 Menambahkan kolom tempat_lahir sebelum tanggal_lahir..........146
Gambar 4. 91 Menambahkan foreign key pada id_spesialis...............................146
Gambar 4. 92 Menambahkan primary key pada id_jadwal.................................147
Gambar 4. 93 Menghapus kolom total_jam.........................................................147
Gambar 4. 94 Menambahkan kolom jam_pulang................................................147
Gambar 4. 95 Menambahkan foreign key pada kolom id_dokter........................148
Gambar 4. 96 Menambahkan kolom harga setelah jenis.....................................148
Gambar 4. 97 Menghapus kolom nama_kamar..................................................148
Gambar 4. 98 Menambahkan kolom nik setelah id_pelanggan...........................149
Gambar 4. 99 Menambahkan nilai unik pada kolom nik.....................................149

xv
Gambar 4. 100 Menambahkan kolom no_telepon sebelum email.......................149
Gambar 4. 101 Merubah kolom nama_pelanggan menjadi nama.......................150
Gambar 4. 102 Mengganti tabel penyewaan menjadi “transaksi”.......................150
Gambar 4. 103 Menambahkan primary key pada id_transaksi............................150
Gambar 4. 104 Menambahkan kolom id_mobil setelah id_transaksi..................151
Gambar 4. 105 Menambahkan foreign key pada id_mobil..................................151
Gambar 4. 106 Menambahkan kolom keterangan...............................................151
Gambar 4. 107 Menambahkan nilai unik pada kd_mobil....................................152
Gambar 4. 108 Merubah kolom nama menjadi “merk”.......................................152
Gambar 4. 109 Menambah kolom no_plat...........................................................152
Gambar 4. 110 Menambahkan jolom jenis setelah merk.....................................153
Gambar 4. 111 Mendrop tabel paket....................................................................153
Gambar 4. 112 Menghapus tabel paket...............................................................153
Gambar 4. 113 Menambahkan tanggal_lahir setelah tempat_lahir......................154
Gambar 4. 114 Menghapus kolom status.............................................................154
Gambar 4. 115 Menambahkan kolom nis setelah id_anggota.............................154
Gambar 4. 116 Menambahkan nilai unik pada nis...............................................155
Gambar 4. 117 Menambahkan kolom email........................................................155
Gambar 4. 118 Menambahkan primary key pada id_buku..................................155
Gambar 4. 119 Menambahkan foreign key pada id_kategori..............................156
Gambar 4. 120 Merubah kolom jumlah menjadi pengarang...............................156
Gambar 4. 121 Menambahkan kolom ISBN setelah kategori.............................157
Gambar 4. 122 Menambahkan kolom ISBN setelah kategori.............................157
Gambar 4. 123 Menambahkan nilai unik pada ISBN..........................................157
Gambar 4. 124 Menambahkan primary key pada id_denda................................158
Gambar 4. 125 Menambahkan foreign key pada id_peminjaman.......................158
Gambar 4. 126 Menamabahkan nilai unik pada kd_petugas...............................158
Gambar 4. 127 Mengganti kolom posisi menjadi bagian....................................159
Gambar 4. 128 Menghapus kolom status.............................................................159
Gambar 4. 129 Menambahkan kolom no_telepon...............................................159

Gambar 5. 1 Memasukan Data Pada Tabel Jabatan.............................................167


Gambar 5. 2 Menampilkan Data Pada Tabel Jabatan Menggunakan SELECT
167
Gambar 5. 3 Memasukan Data Pada Tabel K aryawan.......................................167
Gambar 5. 4 Menampilkan Data Pada Tabel Karyawan......................................168
Gambar 5. 5 Memasukan Data Pada Tabel Inventaris.........................................168
Gambar 5. 6 Menampilkan Seluruh Data Pada Tabel Inventaris.........................168
Gambar 5. 7 Mengosongkan Nama dan Keterangan Pada Tabel Jabatan........169
Gambar 5. 8 Tampilan Data Pada Tabel Jabatan.................................................169
Gambar 5. 9 Mengosongkan id_kategori dan gaji pada Tabel Jabatan............169
Gambar 5. 10 Menampilkan Data yang Telah ditambahkan pada Tabel
Jabatan 170

xvi
Gambar 5. 11 Mengosongkan Kolom id_jabatan dan Nama pada Tabel Jabatan
..............................................................................................................................170
Gambar 5. 12 Menampilkan Data yang Telah ditambahkan pada Tabel Jabatan171
Gambar 5. 13 Mengosongkan nama_belakang dan no_telepon pada Tabel........171
Gambar 5. 14 Menampilkan Data yang Telah ditambahkan pada Tabel.............171
Gambar 5. 15 Mengosongkan Kolom Email pada Tabel Karyawan...................172
Gambar 5. 16 Menampilkan Data yang Telah Ditambahkan...............................172
Gambar 5. 17 Mengosongkan Kolom Merk pada Tabel Inventaris.....................172
Gambar 5. 18 Menampilkan Seluruh Data pada Tabel Inventaris.......................173
Gambar 5. 19 Menampilkan Kolom Nama pada Tabel Jabatan..........................174
Gambar 5. 20 Menampilkan Kolom Nama dan Keterangan................................174
Gambar 5. 21 Menampilkan Kolom Nama dan Gaji pada Tabel Jabatan............175
Gambar 5. 22 Menampilkan Kolom Nama Depan dan Nama Belakang.............175
Gambar 5. 23 Menampilkan Nama Depan dan Alamat pada Tabel Karyawan...175
Gambar 5. 24 Menampilkan Nama Depan, Nama Belakang, dan Email.............176
Gambar 5. 25 Menampilkan Nama dan Merk pada Tabel Inventaris..................176
Gambar 5. 26 Menmapilkan Nama dan Stok dari Inventaris...............................177
Gambar 5. 27 Data Jabatan Sebelum Dirubah.....................................................178
Gambar 5. 28 Merubah Nama Jabatan pada Tabel Jabatan.................................178
Gambar 5. 29 Menampilkan DataSetelah Dirubah pada Tabel Jabatan..............178
Gambar 5. 30 Menampilkan Data Tabel Jabatan Sebelum Dirubah....................179
Gambar 5. 31. Menambahkan Keterangan pada Staff.........................................179
Gambar 5. 32 Menampilkan Data Setelah Keterangan Ditambahkan.................180
Gambar 5. 33 Menampilkan Data pada Tabel Jabatan Sebelum Dirubah...........180
Gambar 5. 34 Menambah Data Gaji pada Magang..............................................180
Gambar 5. 35 Menampilkan data Tabel Jabatan Setelah Dirubah.......................181
Gambar 5. 36 Menampilkan Data Tabel Karyawan Sebelum Dirubah...............181
Gambar 5. 37 Menambahkan Email pada karyawan Bernama Andi...................181
Gambar 5. 38 Menampilkan Data Karyawan Setelah Dirubah............................182
Gambar 5. 39 Menampilkan Data pada Tabel Karyawan Sebelum Dirubah.......182
Gambar 5. 40 Merubah Alamat dan No_telp pada Tabel Karyawan...................182
Gambar 5. 41 Seluruh data pada Tabel Karyawan Setelah dirubah.....................183
Gambar 5. 42 Data pada Tabel Karyawan Sebelum Dirubah..............................183
Gambar 5. 43 Merubah Nama Belakang dari Ali................................................183
Gambar 5. 44 Data pada Tabel Karyawan Setelah Dirubah................................184
Gambar 5. 45 Data pada Tabel Inventaris Sebelum Dirubah..............................184
Gambar 5. 46 Merubah Merk pada Tabel Inventaris...........................................184
Gambar 5. 47 Tampilan Data yang Telah Dirubah pada Tabel Inventaris..........185
Gambar 5. 48 Tampilan Data Sebelum Dirubah pada Tabel Inventaris..............185
Gambar 5. 49 Merubah Stok pada Tabel Inventaris............................................185
Gambar 5. 50 Tampilan Data Setelah Dirubah pada Tabel Inventaris................186
Gambar 5. 51 Data Sebelum Dihapus pada Tabel Jabatan..................................187
Gambar 5. 52Menghapus Kolom id_jabatan 10..................................................187
Gambar 5. 53 Data yang Telah Terhapus............................................................187

xvii
Gambar 5. 54 Data pada Tabel Jabatan Sebelum Dihapus..................................188
Gambar 5. 55 Menghapus Jabatan Staff pada Tabel Jabatan...............................188
Gambar 5. 56 Tampilan Data Setelah Dihapus dari Tabel Jabatan.....................188
Gambar 5. 57 Data pada Tabel Karyawan Sebelum Dihapus..............................189
Gambar 5. 58 Menghapus Karyawan pada Tabel Karyawan...............................189
Gambar 5. 59 Data pada Tabel Karyawan Setelah Dihapus................................189
Gambar 5. 60 Data pada Tabel Karyawan Sebelum Dihapus..............................190
Gambar 5. 61Menghapus yang Beralamat Di Solo pada Tabel Karyawan.........190
Gambar 5. 62 Data pada Tabel Karyawan Setelah Dihapus................................190
Gambar 5. 63 Data pada Tabel Inventaris Sebelum Dihapus..............................191
Gambar 5. 64 Menghapus Kusi pada Tabel Inventaris........................................191
Gambar 5. 65 Data pada Tabel Inventaris Setelah Dihapus................................191
Gambar 5. 66 Data pada Tabel Invntaris Sebelum Dihapus................................192
Gambar 5. 67 Menghapus Mobil pada Tabel Inventaris......................................192
Gambar 5. 68 Data yang Telah Dihapus pada Tabel Inventaris..........................192
Gambar 5. 69 Memasukan Data pada Tabel Pasien.............................................194
Gambar 5. 70 Tampilan Data yang Telah Ditambahkan.....................................194
Gambar 5. 71 Memasukan Data pada Tabel Kamar............................................195
Gambar 5. 72 Tampilan Data Setelah Dimasukan pada Tabel Kamar................195
Gambar 5. 73 Memasukan data pada tabel Spesialis...........................................196
Gambar 5. 74 Tampilan Data Setelah Dimasukan...............................................196
Gambar 5. 75 Memasukan Data pada Tabel Dokter............................................197
Gambar 5. 76 Tampilan Data pada Tabel Dokter Setelah Ditambahkan.............197
Gambar 5. 77 Mengosongkan Kolom no_telp pada Tabel Dokter......................198
Gambar 5. 78 Tampilan Data pada Tabel Dokter................................................198
Gambar 5. 79 Mengosongkan Kolom Email pada Tabel Dokter.........................198
Gambar 5. 80 Tampilan Data pada Tabel Dokter Setelaah Ditambahkan...........199
Gambar 5. 81 Memasukan Data pada Jadwal Dokter..........................................200
Gambar 5. 82 Tampilan Data pada Tabel Jadwal Dokter....................................200
Gambar 5. 83 Mengosongkan id_kamar dan Harga pada Tabel Kamar..............201
Gambar 5. 84 Tampilan Data paada Tabel Kamar...............................................201
Gambar 5. 85 Mengosongkan Spesialis pada Tabel Spesialis.............................201
Gambar 5. 86 Tampilan Data pada Tabel Spesialis.............................................202
Gambar 5. 87 Menambah Data pada Tabel Dokter.............................................202
Gambar 5. 88 Tampilan Data pada Tabel Dokter Setelah Diubah.......................203
Gambar 5. 89 Mengosongkan id_dokter, no_telp, dan email..............................203
Gambar 5. 90 Tampilan pada Tabel Dokter.........................................................203
Gambar 5. 91 Data pada Tabel Pasien Sebelum Dirubah....................................204
Gambar 5. 92 Merubah Nama Joko pada Tabel Pasien.......................................204
Gambar 5. 93 Tampilan pada Tabel Pasien Setelah Dirubah..............................204
Gambar 5. 94 Tampilan Tabel Pasien Sebelum Dirubah.....................................205
Gambar 5. 95 Merubah Berat_badan dan Tinggi_badan.....................................205
Gambar 5. 96 Tampilan Data pada Tabel Pasien.................................................205
Gambar 5. 97 Data pada Tabel Pasien Sebelum Dirubah....................................206

xviii
Gambar 5. 98 Mengubah Alamat dan Tanggal Lahir..........................................206
Gambar 5. 99 Tampilan Data pada Tabel Pasien Setelah Dirubah......................206
Gambar 5. 100 Data pada Tabel Kamar Sebelum Dirubah..................................207
Gambar 5. 101 Merubah Harga pada Tabel Kamar.............................................207
Gambar 5. 102 Tampilan Setelah Data pada Tabel Kamar..................................207
Gambar 5. 103 Data pada Tabel Kamar Sebelum Dirubah..................................208
Gambar 5. 104 Merubah Nama dan Harga pada Kamar VVIP...........................208
Gambar 5. 105 Data pada Tabel Kamar Setelah Dirubah....................................208
Gambar 5. 106 Data pada Tabel Dokter Sebelum Dirubah.................................209
Gambar 5. 107 Merubah Nama dan Email pada Tabel Dokter............................209
Gambar 5. 108 Tampilan Data Setelah Dirubah pada Tabel Dokter...................209
Gambar 5. 109 Data pada Tabel Dokter Sebelum Dirubah................................210
Gambar 5. 110 Merubah Alamat dan Id_spesialis pada Tabel Dokter................210
Gambar 5. 111 Tampilan Data pada Tabel Dokter..............................................210
Gambar 5. 112 Data pada Tabel Pasien Sebelum Dihapus..................................211
Gambar 5. 113 Menghapus Data Pada Tabel Pasien...........................................211
Gambar 5. 114 Data yang Telah Dihapus pada Tabel Pasien..............................211
Gambar 5. 115 Data pada Tabel Pasien Sebelum Dihapus..................................211
Gambar 5. 116 Menghapus id_pasien pada Tabel Pasien....................................212
Gambar 5. 117 Data pada Tabel Pasien Setelah Dirubah....................................212
Gambar 5. 118 Data Tabel Spesialis Sebelum Dirubah.......................................212
Gambar 5. 119 Menghapus Data Spesialis Umum pada Tabel Spesialis............213
Gambar 5. 120 Data Tabel Spesialis Setelah Dihapus.........................................213
Gambar 5. 121Data Tabel Spesialis Sebelum Dihapus........................................213
Gambar 5. 122 Menghapus Data Spesialis Anak.................................................213
Gambar 5. 123 Data Tabel Spesialis Setelah Dihapus.........................................214
Gambar 5. 124 Data pada Tabel Dokter Sebelum Dihapus.................................214
Gambar 5. 125 Menghapus Dr.Agus dari Tabel Pasien.......................................214
Gambar 5. 126 Data pada Tabel Dokter Setelah Dihapus...................................215
Gambar 5. 127 Data pada Tabel Doketr Sebelum Dihapus.................................215
Gambar 5. 128 Menghapus Dr.Ahmad Riyanto pada Tabel Dokter....................215
Gambar 5. 129 Tampilan Data pada Tabel Dokter Setelah Dihapus...................216
Gambar 5. 130 Memasukan Data pada Tabel Anggota.......................................217
Gambar 5. 131 Data Tabel Anggota Setelah Dirubah.........................................217
Gambar 5. 132 Memasukan Data pada Tabel Kategori.......................................218
Gambar 5. 133 Data pada Tabel Kategori............................................................218
Gambar 5. 134 Memasukan Data pada Tabel Buku............................................219
Gambar 5. 135 Data pada Tabel Buku.................................................................219
Gambar 5. 136 Memasukan Data pada Tabel Peminjaman.................................220
Gambar 5. 137 Data pada Tabel Peminjaman......................................................220
Gambar 5. 138 Memasukan Data pada Tabel Denda...........................................221
Gambar 5. 139 Data pada Tabel Denda...............................................................221
Gambar 5. 140 Memasukan Data pada Tabel Petugas.........................................222
Gambar 5. 141 Data pada Tabel Petugas.............................................................222

xix
Gambar 5. 142 Mengosongkan id_anggota, Email, dan Status...........................223
Gambar 5. 143 Tampilan Data pada Tabel Anggota...........................................223
Gambar 5. 144 Mengosongkan id_kategori pada Tabel Kategori.......................224
Gambar 5. 145 Data Tabel Kategori....................................................................224
Gambar 5. 146 Megosongkan id_petugas, bagian, dan no_telp pada Tabel Petugas
..............................................................................................................................225
Gambar 5. 147 Data pada Tabel Petugas.............................................................225
Gambar 5. 148 Mengosongkan id_petugas dan no_telp pada Tabel Petugas......225
Gambar 5. 149 Tampilan Data pada Tabel Petugas.............................................226
Gambar 5. 150 Data pada Tabel Anggota Sebelum Dirubah...............................226
Gambar 5. 151 Merubah Kolom Nama pada Tabel Anggota..............................227
Gambar 5. 152 Tampilan Data pada Tabel Angota.............................................227
Gambar 5. 153 Data pada Tabel Anggota Sebelum Dirubah...............................227
Gambar 5. 154 Merubah Kolom Alamat dan Status pada Tabel Anggota..........227
Gambar 5. 155 Tampilan Data Tabel Anggota Setelah Dirubah.........................228
Gambar 5. 156 Data pada Tabel Anggota Sebelum Dirubah...............................228
Gambar 5. 157 Merubah Email, Alamat, dan Tanggal_lahir...............................229
Gambar 5. 158 Data yang Telah Dirubah pada Tabel Anggota...........................229
Gambar 5. 159 Data Tabel Kategori Sebelum Berubah.......................................229
Gambar 5. 160 Merubah Nama_kategori pada Tabel Kategori...........................230
Gambar 5. 161 Tampilan Data yang Telah Dirubah pada Tabel Kategori..........230
Gambar 5. 162 Data pada Tabel Kategori Sebelum Dirubah..............................230
Gambar 5. 163 Merubah nama Kategori pada Tabel Kategori............................231
Gambar 5. 164 Data pada Tabel Kategori Setelah Dirubah.................................231
Gambar 5. 165 Data pada Tabel Buku Sebelum Dirubah....................................231
Gambar 5. 166 Merubah data ISBN pada Tabel Buku........................................232
Gambar 5. 167 Data yang Telah Dirubah pada Tabel Buku................................232
Gambar 5. 168 Data pada Tabel Buku Sebelum Dirubah....................................232
Gambar 5. 169 Merubah Judul, Penulis, dan Penerbit pada Tabel Buku............233
Gambar 5. 170 Data pada Tabel Buku Setelah Dirubah......................................233
Gambar 5. 171 Data pada Tabel Buku Sebelum Dirubah....................................233
Gambar 5. 172 Merubah Judul dan ISBN pada Tabel Buku...............................234
Gambar 5. 173 Data pada Tabel Buku Setelah Dirubah......................................234
Gambar 5. 174 Data pada Tabel Peminjaman Sebelum Dirubah........................234
Gambar 5. 175 Merubah Tanggal_peminjaman pada Tabel Peminjaman...........235
Gambar 5. 176 Data yang Telah Dirubah pada Tabel Peminnjaman...................235
Gambar 5. 177 Data pada Tabel Peminjaman Sebelum Dirubah........................235
Gambar 5. 178 Merubah Tanggal_peminjaman pada Tabel Peminjaman...........236
Gambar 5. 179 Data yang Telah Dirubah pada Tabel Peminjaman.....................236
Gambar 5. 180 Data pada Tabel Petugas Sebelum Dirubah................................237
Gambar 5. 181 Menambahkan Bagian dan No_telp pada Tabel Petugas............237
Gambar 5. 182 Data pada Tabel Petugas Setelah Dirubah..................................237
Gambar 5. 183 Data pada Tabel Petugas Sebelum Dirubah................................238
Gambar 5. 184 Merubah Nama dan Bagian pada Tabel Petugas.........................238

xx
Gambar 5. 185 Data yang Telah Dirubah pada Tabel Petugas............................238

Gambar 6. 1 Masuk MariaDB Sebagai Superuser..............................................251


Gambar 6. 2 Membuat User Baru.......................................................................251
Gambar 6. 3 Keluar Dari Superuser....................................................................251
Gambar 6. 4 Masuk Sebagai User Admin...........................................................251
Gambar 6. 5 Keluar Dari User Admin................................................................252
Gambar 6. 6 Masuk MariaDB Sebagai Superuser..............................................252
Gambar 6. 7 Membuat User Baru.......................................................................252
Gambar 6. 8 Keluar Dari Superuser....................................................................252
Gambar 6. 9 Masuk Sebagai User Andri............................................................253
Gambar 6. 10 Keluar Dari User Andri................................................................253
Gambar 6. 11 Masuk MariaDB Sebagai Superuser............................................253
Gambar 6. 12 Membuat User Baru.....................................................................253
Gambar 6. 13 Keluar Dari Superuser..................................................................254
Gambar 6. 14 Masuk Sebagai User Ridwan.......................................................254
Gambar 6. 15 Keluar Dari User Ridwan.............................................................254
Gambar 6. 16 Masuk MariaDB Sebagai Superuser............................................254
Gambar 6. 17 Membuat User Baru.....................................................................255
Gambar 6. 18 Keluar Dari Superuser..................................................................255
Gambar 6. 19 Masuk Sebagai User Bagas..........................................................255
Gambar 6. 20 Keluar Dari User Bagas..............................................................255
Gambar 6. 21 Masuk MariaDB Sebagai Superuser............................................256
Gambar 6. 22 Memberi Hak Akses Pada User Admin.......................................256
Gambar 6. 23 Keluar Dari Superuser..................................................................256
Gambar 6. 24 Masuk Sebagai User Admin.........................................................257
Gambar 6. 25 Menampilkan Database Pada User Admin..................................257
Gambar 6. 26 Menggunakan Database Kantor...................................................257
Gambar 6. 27 Menampilkan Tabel Database Kantor..........................................257
Gambar 6. 28 Mencoba Hak Akses Select..........................................................258
Gambar 6. 29 Masuk MariaDB Sebagai Superuser............................................258
Gambar 6. 30 Memberikan Hak Akses...............................................................258
Gambar 6. 31 Keluar Dari Superuser..................................................................259
Gambar 6. 32 Masuk Sebagai User Andri..........................................................259
Gambar 6. 33 Menampilkan Daftar Database Pada User Andri.........................259
Gambar 6. 34 Menggunakan Database Kantor...................................................259
Gambar 6. 35 Melihat Daftar Tabel....................................................................260
Gambar 6. 36 Mencoba Hak Akses Select ke Tabel Karyawan.........................260
Gambar 6. 37 Mencoba Hak Akses Select Tabel Inventaris...............................260
Gambar 6. 38 Mencoba Hak Akses Alter ke Tabel Karyawan...........................260
Gambar 6. 39 Masuk MariaDB Sebagai Superuser............................................261
Gambar 6. 40 Memberikan Hak Akses Pada User Andri...................................261
Gambar 6. 41 Keluar Dari Superuser..................................................................261

xxi
Gambar 6. 42 Masuk User Andri........................................................................261
Gambar 6. 43 Menggunakan Database Kantor...................................................262
Gambar 6. 44 Mencoba Hak Akses Update........................................................262
Gambar 6. 45 Mencoba Hak Akses Delete........................................................262
Gambar 6. 46 Mencoba Hak Akses Alter...........................................................262
Gambar 6. 47 Masuk Sebagai Superuser............................................................263
Gambar 6. 48 Memberikan Hak Akses Pada User Ridwan................................263
Gambar 6. 49 Keluar Dari Superuser..................................................................263
Gambar 6. 50 Masuk ke User Ridwan................................................................263
Gambar 6. 51 Menampilkan Daftar Database.....................................................264
Gambar 6. 52 Menggunakan Database Kantor...................................................264
Gambar 6. 53 Menampilkan Tabel Database Kantor..........................................264
Gambar 6. 54 Mencoba Hak Akses Update........................................................264
Gambar 6. 55 Mencoba Hak Akses Insert..........................................................265
Gambar 6. 56 Mencoba Hak Akses Select..........................................................265
Gambar 6. 57 Mencoba Hak Akses Delete.........................................................265
Gambar 6. 58 Masuk MariaDB Sebagai Superuser............................................266
Gambar 6. 59 Memberi Hak Akses User Ridwan...............................................266
Gambar 6. 60 Keluar Dari Superuser..................................................................266
Gambar 6. 61 Masuk MariaDB Sebagai User Ridwan.......................................266
Gambar 6. 62 Menggunkan Database Kantor.....................................................267
Gambar 6. 63 Mencoba Hak Akses Select di Kolom Tertentu...........................267
Gambar 6. 64 Mencoba Hak Akses Select Untuk Menampilkan Semua Data...267
Gambar 6. 65 Masuk MariaDB Sebagai Superuser............................................268
Gambar 6. 66 Menampilkan Hak Akses Dari User Admin................................268
Gambar 6. 67 Menampilkan Hak Akses Andri...................................................268
Gambar 6. 68 Menampilkan Hak Akses Ridwan................................................269
Gambar 6. 69 Masuk Sebagai Superuser............................................................269
Gambar 6. 70 Superuser Memberikan Opsi Pengalihan Hak Akses...................269
Gambar 6. 71 Menampilkan Hak Akses Andri...................................................270
Gambar 6. 72 Keluar Dari Superuser..................................................................270
Gambar 6. 73 Masuk User Andri........................................................................270
Gambar 6. 74 Mengalihkan Hak Akses Andri Kepada Ridwan.........................270
Gambar 6. 75 Keluar Dari User Andri................................................................271
Gambar 6. 76 Masuk Sebagai User Ridwan.......................................................271
Gambar 6. 77 Menggunakan Database Kantor...................................................271
Gambar 6. 78 Mencoba Hak Akses Select..........................................................271
Gambar 6. 79 Masuk Sebagai Superuser............................................................272
Gambar 6. 80 Menampilkan Hak Akses User Ridwan.......................................272
Gambar 6. 81 Memberikan Hak Akses...............................................................272
Gambar 6. 82 Menampilkan Hak Akses User Andri..........................................273
Gambar 6. 83 Keluar Dari Superuser.................................................................273
Gambar 6. 84 Masuk Sebagai User Andri..........................................................273
Gambar 6. 85 Menggunakan Database Kantor...................................................273

xxii
Gambar 6. 86 Mencoba Hak Akses Select..........................................................274
Gambar 6. 87 Masuk MariaDB Sebagai Superuser............................................274
Gambar 6. 88 Ubah Password Admin.................................................................274
Gambar 6. 89 Keluar Dari Superuser..................................................................275
Gambar 6. 90 Masuk MariaDB Sebagai User Admin........................................275
Gambar 6. 91 Masuk Sebagai User Andri..........................................................275
Gambar 6. 92 Mengganti Password....................................................................276
Gambar 6. 93 Keluar Dari User Andri................................................................276
Gambar 6. 94 Masuk Kembali Sebagai User Andri............................................276
Gambar 6. 95 Masuk Sebagai User Ridwan.......................................................276
Gambar 6. 96 Mengganti Password Ridwan.......................................................277
Gambar 6. 97 Keluar Dari User Ridwan.............................................................277
Gambar 6. 98 Masuk Kembali Sebagai User Ridwan........................................277
Gambar 6. 99 Masuk Sebagai User Andri..........................................................278
Gambar 6. 100 Menampilkan Hak Akses User Andri........................................278
Gambar 6. 101 Menghapus Hak Akses User Andri............................................278
Gambar 6. 102 Masuk Sebagai User Ridwan.....................................................279
Gambar 6. 103 Menampilkan Hak Akses User Ridwan....................................279
Gambar 6. 104 Menghapus Hak Akses User Ridwan.........................................279
Gambar 6. 105 Membuat User Admin................................................................280
Gambar 6. 106 Membuat User Kasir..................................................................280
Gambar 6. 107 Membuat User Spesialis.............................................................280
Gambar 6. 108 Memberi Hak Akses User Joko..................................................280
Gambar 6. 109 Masuk MariaDB Sebagai User Joko..........................................281
Gambar 6. 110 Menampilkan Data Tabel Jadwal Dokter...................................281
Gambar 6. 111 Mencoba Hak Akses Insert........................................................281
Gambar 6. 112 Menambahkan Data Pada Tabel Jadwal Dokter........................281
Gambar 6. 113 Menghapus Data Pada Tabel Jadwal Dokter.............................282
Gambar 6. 114 Memberi Hak Akses User Joko..................................................282
Gambar 6. 115 MemberI Hak Akses User Joko.................................................282
Gambar 6. 116 Memberi Hak Akses User Lia....................................................282
Gambar 6. 117 Memberi Hak Akses User Lia....................................................283
Gambar 6. 118 Memberi Hak Akses User Lia....................................................283
Gambar 6. 119 Masuk MariaDB Sebagai User Lia............................................283
Gambar 6. 120 Menampilkan Data Pada Tabel Jadwal Dokter..........................283
Gambar 6. 121 Memberi Hak Akses User Lia....................................................284
Gambar 6. 122 Memberi Hak Akses User Putra.................................................284
Gambar 6. 123 Masuk MariaDB Sebagai User Putra.........................................284
Gambar 6. 124 Menampilkan Data Nama, Nomor Telepon, dan Email Pada Tabel
Dokter...................................................................................................................285
Gambar 6. 125 Memberi Hak Akses Pada User Putra........................................285
Gambar 6. 126 Memberi Hak Akses Pada User Putra........................................285
Gambar 6. 127 Menampilkan Data Pada Tabel Pasien.......................................286
Gambar 6. 128 Memberi Grant Option Pada User Joko.....................................286

xxiii
Gambar 6. 129 Masuk User Joko........................................................................286
Gambar 6. 130 Mengalihkan Hak Akses Joko ke Lia.........................................286
Gambar 6. 131 Masuk Sebagai User Lia............................................................287
Gambar 6. 132 Mencoba Menampilkan Seluruh Kolom Tabel Dokter..............287
Gambar 6. 133 Mencoba Hak Akses Select User Lia.........................................287
Gambar 6. 134 Mencoba Update Alamat Tabel Dokter.....................................287
Gambar 6. 135 Mencoba Hak Akses Update......................................................288
Gambar 6. 136 Pemberian Grant Option Pada User Lia.....................................288
Gambar 6. 137 Masuk MariaDB Sebagai User Lia............................................288
Gambar 6. 138 Mengalihkan Hak Akses Lia ke Putra........................................288
Gambar 6. 139 Masuk MariaDB Sebagai User Putra.........................................288
Gambar 6. 140 Mencoba Hak Akses Select Pada User Putra.............................289
Gambar 6. 141 Mencoba Hak Akses Delete.......................................................289
Gambar 6. 142 Pemberian Grant Option Pada User Putra..................................289
Gambar 6. 143 Masuk MariaDB Sebagai User Putra.........................................289
Gambar 6. 144 Mengalihkan Hak Akses Putra ke Joko.....................................290
Gambar 6. 145 Masuk MariaDB Sebagai User Joko..........................................290
Gambar 6. 146 Mencoba Hak Akses Select Pada User Joko..............................290
Gambar 6. 147 Mencoba Hak Akses Delete.......................................................290
Gambar 6. 148 Pemberian Grant Option Pada User Lia.....................................291
Gambar 6. 149 Masuk MariaDB Sebagai User Lia............................................291
Gambar 6. 150 Mengalihkan Hak Akses Lia ke Joko.........................................291
Gambar 6. 151 Masuk MariaDB Sebagai User Joko..........................................291
Gambar 6. 152 Mencoba Hak Akses Select........................................................291
Gambar 6. 153 Mencoba Hak Akses Update Kolom Harga...............................292
Gambar 6. 154 Mencoba Hak Akses Update Kolom Jenis.................................292
Gambar 6. 155 Mengganti Password User Joko.................................................292
Gambar 6. 156 Mengganti Pasword User Lia.....................................................292
Gambar 6. 157 Mengganti Password User Putra................................................292
Gambar 6. 158 Mencabut Hak Akses User Joko Pada Tabel Spesialis..............293
Gambar 6. 159 Mencabut Hak Akses User Putra Pada Tabel Kamar.................293

Gambar 7. 1 Menggunakan Database World.......................................................305


Gambar 7. 2 Menampilkan Tabel Dari Databases World....................................305
Gambar 7. 3 Menampilkan Srtuktur Dari Tabel Country....................................306
Gambar 7. 4 Menampilkan Nama Negara Dari Tabel Country...........................306
Gambar 7. 5 Menampilkan strukrur tabel country...............................................306
Gambar 7. 6 Menampillkan nama negara yang berada diwilayah asia................307
Gambar 7. 7 Menampilkan struktur tabel country...............................................307
Gambar 7. 8 menampikan nama negara diBenua afrika......................................307
Gambar 7. 9 Menggunakan database rumah_sakit..............................................308
Gambar 7. 10 Menampilkan seluruh tabel dari database rumah_sakit................308
Gambar 7. 11 Menampilkan sturuktur dari tabel pasien......................................308

xxiv
Gambar 7. 12 Menampilkan nama pasien............................................................309
Gambar 7. 13 Menggunakan database world.......................................................309
Gambar 7. 14 Menampikan seluruh tabel dari database world............................309
Gambar 7. 15 Menampilkan struktur tabel country.............................................310
Gambar 7. 16 Menampilkan nama negara...........................................................310
Gambar 7. 17 Menggunakan database classic_models........................................310
Gambar 7. 18 Menampilkan seluruh tabel dari database classic_models............311
Gambar 7. 19 Menampilkan struktur tabel product.............................................311
Gambar 7. 20 Menampilkan nama product..........................................................311
Gambar 7. 21 menampilkan struktur tabel products............................................312
Gambar 7. 22 Menampilkan nama product..........................................................312
Gambar 7. 23 menggunakan database world.......................................................312
Gambar 7. 24 menampilkan seluruh tabel dari database world...........................313
Gambar 7. 25 menampilkan struktur tabel country..............................................313
Gambar 7. 26 Menampilkan nama negara...........................................................313
Gambar 7. 27 Menampilkan struktur tabel city...................................................314
Gambar 7. 28 Menampilkan nama kota dan populasi kota..................................314
Gambar 7. 29 Menampilkan struktur tabel country.............................................315
Gambar 7. 30 Menampilkan nama negara...........................................................315
Gambar 7. 31 Menggunakan database classic_models........................................315
Gambar 7. 32 menampilkan seluruh tabel...........................................................316
Gambar 7. 33 menampilkan struktur tabel products............................................316
Gambar 7. 34 menampilkan nama product..........................................................316
Gambar 7. 35 Menggunakan database world.......................................................317
Gambar 7. 36 Menampilkan seluruh tabel...........................................................317
Gambar 7. 37 Menampilkan struktur tabel country.............................................317
Gambar 7. 38 Menampilkan nama kota...............................................................318
Gambar 7. 39 Menggunakan database classic_models........................................318
Gambar 7. 40 Menampilkan seluruh tabel...........................................................318
Gambar 7. 41 Menampilkan struktur tabel products............................................319
Gambar 7. 42 Menampilkan nama product..........................................................319
Gambar 7. 43 Menggunakan database world.......................................................319
Gambar 7. 44 Menampilkan seluruh tabel...........................................................320
Gambar 7. 45 Menampilkan strutur tabel country...............................................320
Gambar 7. 46 menampilkan nama negara............................................................320
Gambar 7. 47 menggunakan database world.......................................................321
Gambar 7. 48 Menampilkan seluruh tabel...........................................................321
Gambar 7. 49 menampilkan struktur tabel country..............................................321
Gambar 7. 50 menampilkan seluruh benua..........................................................322
Gambar 7. 51 Menampilkan struktur tabel city...................................................322
Gambar 7. 52 Menampilkan seluruh provinsi......................................................322
Gambar 7. 53 menampilkan struktur tabel country..............................................323
Gambar 7. 54 Menampilkan rata - rata harapan hidup........................................323
Gambar 7. 55 menampilkan struktur tabel countryLanguage..............................323

xxv
Gambar 7. 56 Menampilkan bahasa dan jumlah penggunanya...........................324
Gambar 7. 57 Menggunakan database rumah_sakit............................................324
Gambar 7. 58 menampilkan seluruh tabel...........................................................324
Gambar 7. 59 Memnampilkan struktur tabel pasein............................................325
Gambar 7. 60 Menampilkan nma pasien.............................................................325
Gambar 7. 61 menampilkan struktur tabel pasien................................................326
Gambar 7. 62 Menampilkan nama pasien............................................................326
Gambar 7. 63 Menggunakan database world.......................................................327
Gambar 7. 64 Menampilkan seluruh tabel...........................................................327
Gambar 7. 65 Menampilkan struktur tabel country.............................................327
Gambar 7. 66 Menampilkan rata - rata harapan hidup........................................328
Gambar 7. 67 Menampilkan struktur tabel countryLanguage.............................328
Gambar 7. 68 Menampilkan rata - trata pengunaan bahasa inggris.....................328
Gambar 7. 69 Menggunakan database rumah_sakit............................................329
Gambar 7. 70 Menampilkan seluruh tabel...........................................................329
Gambar 7. 71 menampilkan struktur tabel pasien................................................329
Gambar 7. 72 Menampilkan berat badan.............................................................330
Gambar 7. 73 Menampilkan struktur tabel pasien...............................................330
Gambar 7. 74 Menampilkan berat badan.............................................................330
Gambar 7. 75 Menggunakan database classic_models........................................331
Gambar 7. 76 Menampilkan seluruh tabel...........................................................331
Gambar 7. 77 Menampilkan struktur tabel product.............................................331
Gambar 7. 78 Menampilkan banyak barang........................................................332
Gambar 7. 79 Menggunakan database classic_models........................................332
Gambar 7. 80 Menampilkan seluruh tabel...........................................................332
Gambar 7. 81 menampilkan struktur tabel employees.........................................333
Gambar 7. 82 Menampilkan jumah pegawai.......................................................333
Gambar 7. 83 menggunakan database world.......................................................333
Gambar 7. 84 Menampilkan seluruh tabel...........................................................334
Gambar 7. 85 menampilkan struktur tabel city....................................................334
Gambar 7. 86 Menampilkan jumlah populasi......................................................334
Gambar 7. 87 menampilkan struktur tabel country..............................................335
Gambar 7. 88 menampilkan luas wilayah dari tabel country...............................335
Gambar 7. 89 menampilkan bilangan positif.......................................................335
Gambar 7. 90 menampilkan angka positif...........................................................336
Gambar 7. 91 menampilkan bilangan bulat.........................................................336
Gambar 7. 92 menampilkan bilangan bulat.........................................................336
Gambar 7. 93 menampilkan bilangan bulat.........................................................337
Gambar 7. 94 menampilkan bilangan bulat.........................................................337
Gambar 7. 95 menampilkan hasil sisa pembagian dari bilangan.........................338
Gambar 7. 96 menampilkan hasil sisa pembagian dari bilangan.........................338
Gambar 7. 97 menggunakan database rumah_sakit.............................................339
Gambar 7. 98 menampilkan seluruh tabel...........................................................339
Gambar 7. 99 menampilkan struktur tabel pasien................................................339

xxvi
Gambar 7. 100 menampilkan nama pasien..........................................................340
Gambar 7. 101 menampilkan nama, tinggi badan dan berat badan.....................340
Gambar 7. 102 menampikan rata - rata berat badan............................................340
Gambar 7. 103 menggunakan database perpustakaan.........................................341
Gambar 7. 104 menampilkan seluruh tabel.........................................................341
Gambar 7. 105 menampilkan selruh tabel struktur anggota...............................341
Gambar 7. 106 menampilkan nama dan status dari tabel anggota.......................342
Gambar 7. 107 menampilkan seluruh data dari tabel buku..................................342
Gambar 7. 108 menggunakan database world.....................................................342
Gambar 7. 109 menampilkan seluruh tabel.........................................................343
Gambar 7. 110 menampilkan struktur tabel country............................................343
Gambar 7. 111 menampilkan struktur tabel city..................................................343
Gambar 7. 112 menampilkan nama, populasi dan benua....................................344
Gambar 7. 113 menampilkan provinsi dan populasi............................................344
Gambar 7. 114 menampilkan nama provinsi dan jumlah kota............................345
Gambar 7. 115 menampilkan nama wilayah dan luas wilayah............................345
Gambar 7. 116 menampilkan bahasa dan raata - rata persentase.........................346
Gambar 7. 117 menggunakan database classic_models......................................346
Gambar 7. 118 menampilkan seluruh tabel.........................................................346
Gambar 7. 119 menampilkan struktur tabel products..........................................347
Gambar 7. 120 menampilkan jenis produk..........................................................347
Gambar 7. 121 menampilkan nama produk dan vendor produk..........................348
Gambar 7. 122 menampilkan nama produk.........................................................348
Gambar 7. 123 menampilkan nama negara dengan ibukotanya..........................348

Gambar 8. 1 Menampilkan Struktur Tabel Country............................................353


Gambar 8. 2 Menampilkan Nama Negara, Harapan Hidup, Dan Status.............353
Gambar 8. 3 Menggunakan Database Rumah Sakit............................................354
Gambar 8. 4 Menampilkan Tabel Pada Database Rumah Sakit..........................354
Gambar 8. 5 Menampilkan Struktur Tabel Pasien...............................................354
Gambar 8. 6 Menampilkan Nama Dan Tinggi Badan Pasien..............................355
Gambar 8. 7 Menggunakan Database Classicmodels..........................................356
Gambar 8. 8 Menampilkan Tabel Pada Database Classicmodels........................356
Gambar 8. 9 Menampilkan Struktur Tabel Customers........................................356
Gambar 8. 10 Menampilkan Data Nama Customers...........................................357
Gambar 8. 11 Menampilkan Struktur Tabel Produk............................................357
Gambar 8. 12 Menampilkan Data Nama Produk Dan Harga..............................357
Gambar 8. 13 Perbandingan Antara 25 dan 25....................................................358
Gambar 8. 14 Perbandingan Antara 30 dan 25....................................................358
Gambar 8. 15 Menampilkan Nama Pasien, Berat Badan, dan Status Berat Badan
..............................................................................................................................359
Gambar 8. 16 Menampilkan Nama Negara dan Status Ekonominya..................360
Gambar 8. 17 Menampilkan Bahasa dan Status Bahasa......................................361

xxvii
Gambar 8. 18 Menampilkan Data Nama Negara dan Harapan Hidup.................362
Gambar 8. 19 Menampilkan Data Nama Negara dan Harapan Hidup.................362
Gambar 8. 20 Menampilkan Data Nama Negara dan Harapan Hidup.................363
Gambar 8. 21 Menampilkan Data Nama Negara dan Harapan Hidup.................363
Gambar 8. 22 Menampilkan Data Negara dan Harapan Hidup...........................364
Gambar 8. 23 Menampilkan Data Nama Negara dan Harapan Hidup.................364
Gambar 8. 24 Menampilkan Data Nama Negara dan Harapan Hidup.................364
Gambar 8. 25 Menampilkan Data Nama Pelanggan dan Alamat........................365
Gambar 8. 26 Menampilkan Data Nomor Pesanan, Status, dan Komentar.........366

DAFTAR TABEL
Tabel 1. 1 Record.....................................................................................................3
Tabel 1. 2 Tipe Data Numerik.................................................................................5
Tabel 1. 3 Tipe Data Penanggalan...........................................................................5
Tabel 1. 4 Tipe Data String Besar............................................................................5
Tabel 1. 5 Tipe Data String Kecil............................................................................6
Tabel 1. 6 Record...................................................................................................23

Tabel 4. 1 tabel mahasiswa..................................................................................118

xxviii
Tabel 4. 2 Tabel mahasiswa yang sudah ditambahkan........................................119

Tabel 5. 1 Jabatan.................................................................................................165
Tabel 5. 2. Karyawan...........................................................................................165
Tabel 5. 3. Inventaris............................................................................................165
Tabel 5. 4. Pengosongan Kolom Nama dan Keterangan.....................................166
Tabel 5. 5. Pengosongan Kolom id_kategori dan Gaji........................................166
Tabel 5. 6. Pengosongan id_kategori dan Nama..................................................166
Tabel 5. 7. Pengosongan Kolom nama belakang dan no telp........................166
Tabel 5. 8. Pengosongan Kolom id jabatan dan Email........................................166
Tabel 5. 9. Pengosongan Kolom Merk Pada Tabel Inventaris.............................166
Tabel 5. 10. Pasien...............................................................................................193
Tabel 5. 11. Kamar...............................................................................................194
Tabel 5. 12. Spesialis...........................................................................................195
Tabel 5. 13. Dokter..............................................................................................196
Tabel 5. 14. Mengosongkan Kolom no_telp pada Tabel Dokter.........................198
Tabel 5. 15. Mengosongkan Kolom Email pada Tabel Dokter...........................198
Tabel 5. 16. Jadwal Dokter..................................................................................199
Tabel 5. 17. Mengosongkan Kolom id_kamar dan Harga...................................200
Tabel 5. 18.Mengosongkan Kolom Sepesialis.....................................................201
Tabel 5. 19. Mengosongkan Kolom id_dokter dan Email...................................202
Tabel 5. 20 Mengosongkan Kolom id_dokter, No_telp, dan Email....................203
Tabel 5. 21. Anggota............................................................................................216
Tabel 5. 22. Kategori............................................................................................217
Tabel 5. 23. Buku.................................................................................................218
Tabel 5. 24. Peminjaman......................................................................................219
Tabel 5. 25. Denda...............................................................................................220
Tabel 5. 26. Petugas.............................................................................................221
Tabel 5. 27. Mengosongkan Tabel Anggota........................................................222
Tabel 5. 28Mengosongkan id_Kategori pada Tabel Anggota.............................223
Tabel 5. 29.Mengosongkan id_petugas, Bagian, dan No_telp.............................224
Tabel 5. 30. Mengosongkan id_petugas dan no_telp...........................................225

Tabel 7. 1 Operator Perbandingan.......................................................................294


Tabel 7. 2 Operator Logiika.................................................................................296

xxix
xxx
BAB I
PENGENALAN BASIS DATA
1.1. Tujuan
1. Memahami definisi, fungsi, dan struktur basis data.
2. Memahami DBMS, SQL, dan tipe datanya.
3. Memahami penggunaan XMAPP.

1.2. Dasar Teori


1.2.1. Definisi

Secara bahasa basis data terdiri dari 2 kata yaitu basis dan data,
basis memiliki arti markas atau gudang, tempat bersarang atau
berkumpul sedangkan data memiliki arti kumpulan fakta yang mewakili
suatu objek seperti manusia (misalkan pegawai, siswa, pembeli /
pelanggan), hewan, barang (misalkan rumah, mobil), konsep keadaan
dan sebagainya yang disimpan dalam bentuk angka, huruf, simbol atau
kombinasinya.
Dari definisi 2 kata tersebut dapat dibentuk definisi dari basis
data, yaitu kumpulan data yang terorganisir yang saling terhubung untuk
kemudahan dalam pengaturan (menambah, merubah atau menghapus),
pemilihan, pengelompokan data sesuai keperluan.
1.2.2. Fungsi Basis Data

Berikut ini adalah fungsi dari dari basis data, sebagai berikut :

- Mengelompokan data dan informasi sehingga lebih mudah dimengerti

- Mencegah terjadinya redudansi (duplikasi) data

- Mempermudah proses penyimpanan akses, pembahuran dan


menghapus data.

- Membantu proses penyimpanan data yang besar

1
1.2.3. Struktur Basis Data

Untuk membentuk sebuah basis data terdapat struktur sebagai berikut :

2
2

1. Tabel

Tabel merupakan tempat untuk menyimpan kumpulan data


kedalam baris (record) dan kolom (field), misalnya dalam basis data
universitas mencakup tabel untuk mahasiswa, dosen, mata kuliah,
fakultas dsb.
2. Field (Atribut)

Field adalah Artibut yang dimiliki oleh suatu tabel, misalkan


mahasiswa memiliki atribut nim, nama, fakultas, alamat. Ada 2
ketentuan dalam pembuatan field :
- Field Name: nama field untuk membedakan field satu dengan
lainya

- Field Representation : Tipe data field (karakter, teks, huruf,


angka, tanggal dan sebagainya dan field width (ruang maksimum
dari field)

Contoh :

Gambar 1. 1 Field

3. Value (Nilai)

Value adalah data yang disimpan pada tiap field atau atribut. Contoh :

Gambar 1. 2 Value
3

4. Record (Baris)

Kumpulan value yang menginformasikan data secara lengkap.


Satu record mewakili satu data atau informasi tentang seseorang
misalnya, nim, nama, fakultas, dan alamat. Satu record terdiri dari
beberapa field yang sudah terisi. Contoh :
Tabel 1. 1 Record

NIM Nama Fakultas Alamat

1001 Ahmad Teknologi Semarang


Industri

1002 Fani Psikologi Bandung

Reza Agama Islam Demak


1003

1.2.4. Database Management System (DBMS)

DBMS adalah singkatan data “Database Management System”


yaitu kumpulan data yang disimpan secara sistematis di dalam komputer
dan dapat dimanipulasi menggunakan perangkat lunak untuk
menghasilkan informasi yang di inginkan. Dengan menggunakan
DBMS, dapat membantu dalam memilihara serta pengelohan data dalam
jumlah yang besar.
DBMS merupakan perantara antar user daengan basis data, agar
dapat berinteraksi dengan DBMS, pengguna harus memakai bahasa
database yang ditelah ditentukan. Ada 3 jenis bahasa dalam DBMS
yaitu :Data Definiton Language (DDL)

Data Definiton Language digunakan untuk mengambarkan


desain daru basis data secara keseluruahan mulai dari membuat
merubah maupun menghapus database, tabel.
4

1. Data Manipulation Language (DML)

Data Manipulation Language digunakan manipulasi dan


mengambil data dari

database seperti penambahan data baru, merubah data atau


menghapusnya.

2. Data Control Language (DCL)

Data Control Language digunakan untuk pengontrolan dan filter


data sesuai dengan kebutuhan.

Macam-macam contoh DBMS, diantarnya :

1) Microsoft Accsess

2) MySQL Oracle

3) PostegreSQL

4) Maria DB

1.2.5. Tipe Data dalam SQL

Tipe data adalah jenis nilai yang bisa ditampung pada suatu variabel, bisa
berupa angka, teks, ataupun berupa gambar. Berikut ini adalah tipe data
dalam SQL :
1. Tipe Data Numerik : Digunakan untuk menyimpan data numeric
Tabel 1. 2 Tipe Data Numerik
5

Tipe Range Nilai


2. Tipe Data
TINYINT -128 s/d 127

SMALLINT -32678 s/d 32767

MEDUIMINT -8388608 s/d 8388607

INT -2147483648 s/d


2147483647

BIGINT - 9223372036854775808
s/d
223372036854776807

FLOAT 1,175494351e-38 s/d


3,402823
Penanggalan / Waktu : Digunakan untuk menyimpan tanggal atau waktu

Tabel 1. 3 Tipe Data Penanggalan


Tipe Keterangan

DATETIME Penanggalan dan waktu, ex. 2014-03-02


07:00:05

DATE Penanggalan, ex. 2014-02-28

TIMESTAMP Angka berjajar tanpa pembatas, ex.


20140228

TIME Waktu, ex. 08:35:55

YEAR Tahun, ex. 2014

3. Tipe Data String Besar :Digunakan untuk menyimpan karakter atau


huruf dengan jumlah yang besar.
Tabel 1. 4 Tipe Data String Besar
Tipe Byte Keterangan
6

TINYTEXT 255 2^8-1 data

TINYBLOB 255 2^8-1 data

TEXT 65535 2^16-1 (64K-1) data

BLOB 65535 2^16-1 (64K-1) data

MEDIUM 16777215 2^24-1 (16M-1) data


TEXT

MEDIUM 16777215 2^24-1 (16M-1) data


BLOB

LONGBLOB 4294967295 2^32-1 (4G-1) data


4. Tipe Data String Kecil : Digunakan untuk menyimpan karakter atau
huruf dengan jumlah yang kecil.
Tabel 1. 5 Tipe Data String Kecil

Tipe Keterangan

CHAR Maksimal 255 karakter

VARCHAR Maksimal 255 karakter, ex. VARCHAR(25) maka


boleh memasukkan data paling banyak 25 dan
boleh lebih sedikit dari 25, akan dibaca sesuai
jumlah karakter yang dimasukkan. Tetapi jika
CHAR(4) maka diharuskan mengisikan data
maksimal 4 dan
minimal 4. Jika memasukkan 2, maka tetap
akan

dibaca 2 karakter.

ENUM Tipe validasi, untuk data pilihan, ex.


ENUM(„A‟,
„B‟, „AB‟, „O‟)

SET Sama seperti ENUM yaitu dengan


mendeklarasikan
7

terlebih dahulu.

1.3. Latihan
1.3.1. Instalasi XAMPP

1. Download XAMPP di
https://www.apachefriends.org/download.html.

Gambar 1. 3 Download XAMPP


Ini adalah halaman download file XAMPP. Anda bisa
memilih berkas file sesuai dengan sistem operasi komputer Anda.

2. Membukan File XAMPP

Gambar 1. 4 Buka File XAMPP


Setelah terunduh Anda bisa mengklik dua kali file tersebut
dan akan muncul jendela awal dari XAMPP.

3. Jika muncul notifikasi User Account Control (UAC), matikan


UAC, kemudian klik „OK’.
8

Gambar 1. 5 Notification UAC


Jika muncul notifikasi seperti di atas. Matikan User Account
Control di komputer Anda untuk melanjutkan proses instalasi.
Kemudian klik “OK”.

4. Klik “Next” untuk lanjut ke langkah berikutnya.

Gambar 1. 6 Halaman Set Up


Setelah itu akan muncul halaman setup, langsung klik “Next”
saja untuk melanjutkan.

5. Selanjutnya memilih komponen dari xampp yang diinstal, jika


sudah klik “Next”.

Gambar 1. 7 Pilih Komponen XAMPP


Pilih komponen XAMPP, jika sudah klik “Next” untuk
melanjutkan.
9

6.Memilih lokasi instalasi

Gambar 1. 8 Lokasi Instal XAMPP


Anda kemudian akan diminta untuk memilih lokasi instalasi
file XAMPP Anda. Disini saya akan menginstal di folder C:\XAMPP.
Jika sudah klik “Next”.

7. Memilih bahasa yang akan digunakan di XAMPP. Kemudian


klik “Next”.

Gambar 1. 9 Set Bahasa XAMPP


Kemudian Anda diminta untuk memilih bahasa yang akan
digunakan. Disini saya memilih bahasa English. Kemudian klik
“Next”.

8. Menghilangkan tanda centang di “Learn More About Bitnami


for XAMPP”, kemudian klik “Next”.
10

Gambar 1. 10 Menghapus Tanda Centang

Kemudian Anda diarahkan Jendela “Bitnami for XAMPP”.


Agar bisa lanjut ke proses selanjutnya hilangkan centang di di “Learn
More About Bitnami for XAMPP”. Kemudian klik Next.

9. Jika ingin mengecek lokasi file dan komponen dari xampp, klik “Back”
jika siap klik “Next”.

Gambar 1. 11 Siap Proses Install XAMPP


Pada halaman ini Anda diberitahu bahwa proses instalasi sudah
siap. Jika Anda ingin melihat lokasi file dan komponen dari XAMPP,
Anda bisa klik Back, jika sudah siap langsung klik Next.

10. Tunggu Proses Instalasi


11

Gambar 1. 12 Tunggu Proses Install XAMPP


Pada halaman ini Anda akan menunggu proses instalasi hingga
selesai.

11. Jika muncul peringatan dari “windows defender” klik “Allow Acces”.

Gambar 1. 13 Allow acces XAMPP


Gambar di atas adalah jendela dari windows defender yang
meminta izin untuk memblokir fitur yang ada pada XAMPP. Klik
“Allow Acces” untuk melanjutkan.

12. Jalankan XAMPP dengan memberikan centang pada check box „Do
you want to start the Control panel now ?‟ dan klik “Finish”.
12

Gambar 1. 14 Proses Instal Selesai


Setelah proses instalasi selesai Anda akan ditanya apakah ingin
langsung membuka aplikasi atau tidak. Jika tidak hilangkan centang
pada “Do You want to start the Control panel now?”.

13. Klik start pada bagian “Apache” dan “MySsql”, tunggu sampai hijau.

Gambar 1. 15 Pengaktifan XAMPP


Di atas adalah halaman utama XAMPP. Untuk
mengaktifkannya klik start pada bagian actions, tunggu hingga tulisan
berubah menjadi stop dan Module berubah menjadi hijau.
I.1.1 1.3.2. Import file SQL Ke MariaDB
1. Masukan url “localhost/phpmyadmin” melalui browser

Gambar 1. 16 Masuk URL Phpmyadmin


13

Di atas adalah tampilan tab untuk masuk ke “phpMyAdmin”


dengan mengetikan di kolom URL “localhost/phpMyAdmin”.
2. Setelah mengetikan url akan masuk kehalaman utama phpMyAdmin

Gambar 1. 17 Tampilan Phpmyadmin


Gambar di atas adalah halaman utama dari phpMyAdmin.
3. Klik new untuk membuat database baru

Gambar 1. 18 Buat Database Baru


Sebelum mengimport database kita harus membuat database
baru dengan cara klik “new”.
4. Pada kolom database name ketikan nama basis data-nya yaitu “world”
dan setelah diisi klik “create”
14

Gambar 1. 19 Create Untuk Membuat Database


Gambar di atas adalah tampilan setelah kita mengklik new.
Terdapat baris database name, Anda ketikan nama database Anda ke
dalam baris tersebut, kemudian klik “create”.
5. Selanjutnya masuk tab menu import

Gambar 1. 20 Masuk Menu Import


Gambar di atas adalah tampilan menu import. Disinilah
kita akan mengimport database.
6. Klik “choice file” untuk memasukan file database-nya (file harus
berekstensi zip, gzip, bzip2 atau sql), selajutnya pilih file databasenya.
15

Gambar 1. 21 Format File Database


Untuk import database, klik “choose file” kemudian akan
muncul tampilan seperti di atas. Lalu pilih database yang ingin kita
import kemudian klik “open”.
7. Klik “Go” dan tunggu hingga proses selesai

Gambar 1. 22 Memulai Proses Import


Setelah diimport tampilan akan menjadi seperti gambar di
atas. Kemudian klik “GO” untuk mengimport.
8. Jika proses selesai coba cek semua tabelnya
16

Gambar 1. 23 Tabel Database yang Sudah Diimport


Untuk mengecek database berhasil di import atau tidak, masuk
ke tab struktur kemudian akan muncul tampilan seperti gambar di atas,
dimana terdapat tabel – tabel hasil import kita tadi.
9. Kemudian cek juga isinya

Gambar 1. 24 Check Isi Database World


Untuk mengecek isinya Anda bisa mengklik salah satu tabel,
nanti akan muncul kumpulan record dari tabel tersbut seperti gambar
di atas.
10. Database sudah dimasukan kedalam phpmyadmin dan siap diolah
didalam mariaDB.

I.1.2 1.3.3. Export Database MariaDB ke CSV


1. Pilih Database yang akan diexport
17

Gambar 1. 25 Pemilihan Database yang Akan Diexport


Sebelum export database pilih terlebih dahulu database yang
ingin diexport.

2. Masuk ke tab menu “export”

Gambar 1. 26 Masuk Menu Export


Gambar di atas adalah tampilan dari menu export.
3. Pada dropdown “format”, pilih CSV
18

Gambar 1. 27 Pilih Format CSV


Untuk export database ke dalam format CSV, Anda harus
mengubah dropdown format yang awal SQL menjadi CSV.

4. Kemudian klik “GO”

Gambar 1. 28 Memulai Proses Export


Jika format sudah diubah ke CSV maka langsung klik “GO”
untuk mengekspor database.
5. File otomatis terdownload dan tersimpan dipenyimpanan
19

Gambar 1. 29 File Export Terdownload


Dari gambar di atas terlihat bahwa database yang kita
export terunduh secara otomatis dan tersimpan di penyimpanan.
6. Hasil Export CSV

Gambar 1. 30 Hasil Export CSV


Jika dibuka file CSV nya, maka akan nampak hasil seperti
gambar di atas.
I.1.3 1.3.4. Export Database MariaDB ke SQL
1. Pilih Database yang akan diexport
20

Gambar 1. 31 Pilih Database yang Akan Diexport


Pilih database yang ingin Anda export terlebih dahulu sebelum
masuk ke tab menu export.

2. Masuk ke tab menu “export”

Gambar 1. 32 Masuk Menu Export


Jika sudah memilih databasenya, langsung saja masuk ke tab
menu export.
3. Pada dropdown “format”, pilih SQL
21

Gambar 1. 33 Pilih Format SQL


Biasanya dropdown format secara default sudah dalam format
SQL, jadi Anda bisa langsung mengklik “GO” untuk mengekspor
database.

4. Kemudian klik “GO”

Gambar 1. 34 Memulai Proses Export


Jika sudah dalam format SQL, langsung saja klik “GO”.
5. File akan otomatis tersimpan di penyimpanan

Gambar 1. 35 File SQL yang Terdownload


22

Dari gambar di atas terlihat bahwa database yang kita


export terunduh secara otomatis dan tersimpan di penyimpanan.
1.4. Tugas

1. Jelaskan pengertian basis data! Jawab :


Basis data yaitu kumpulan data yang terorganisir yang saling
terhubung untuk kemudahan dalam pengaturan (menambah, merubah,
dan menghapus), pemilihan, pengelompokan data sesuai keperluan.
2. Sebutkan dan jelaskan struktur dari basis data! Jawab :
a. Tabel

Tabel merupakan tempat untuk menyimpan kumpulan data ke


dalam baris (record) dan kolom (field), misalnya dalam basis data
universitas mencakup table untuk mahasiswa, dosen, mata kuliah,
fakultas dsb.
b. Field (Atribut)

Field adalah atribut yang dimiliki oleh suatu tabel, misalkan


mahasiswa memiliki atribut nim, nama, fakultas, alamat. Ada 2
ketentuan dalam pembuatan field :
- Field Name : nama field untuk membedakan field satu dengan yang
lainnya

- Fild Representation : Tipe data field (karakter, teks, huruf, angka,


tanggal, dan sebagainya) dan field width (ruang maksimum dari
field)
Contoh :

Gambar 1. 36 Field

Dari gambar ini menjelaskan bahwa field memiliki beberapa


atribut.
23

c. Value (Nilai)

Value adalah data yang disimpan pada tiap field atau atribut.
Contoh :

Gambar 1. 37 Value

Dari gambar ini menjelaskan bahwa suatu value dimiliki oleh


atribut, sedangkan atribut adalah milik field.
d. Record (Baris)

Kumpulan value yang menginformasikan data secara lengkap.


Satu record mewakili satu data atau informasi tentang seseoang
misalnya, nim, nama, fakultas, dan alamat.
Satu record terdiri dari beberapa field yang sudah terisi. Contoh :
Tabel 1. 6 Record

3. Sebutkan dan jelaskan fungsinya Bahasa DBMS!


a. Data Control Language

Data Control Language digunakan untuk pengontrolan dan filter


data sesuai dengan kebutuhan.
b. Data Manipulation Language

Data Manipulation Language digunakan manipulasi dan


mengambil data dari database seperti penambahan data baru,
merubah data, atau menghapusnya.
24

c. Data Definition Language

Data Definition Language digunakan untuk menggambarkan


desain baru basis data secara keseluruhan mulai dari membuat,
merubah, maupun menghapus database, tabel.
4. Jelaskan perbedaan tipe data :
a. INT dengan FLOAT Jawab :

INT adalah tipe data numerik yang paling sering digunakan yang
berukuran 32 bit. Nilai minimumnya -2147483648 dan nilai
maksimumnya adalah 2147483647.
FLOAT adalah tipe data numerik untuk bilangan pecahan atau
desimal yang berukuran 32 bit dengan nilai minimum dan
maksimumnya adalah 1,175494351e-38 s/d 3,402823.
b. VARCHAR dengan CHAR

VARCHAR memiliki ukuran penyimpanan data yang berubah –


ubah tergantung panjang karakter yang diinput.
CHAR memiliki ukuran penyimpanan yang tetap walaupun data
yang diinputkan kurang dari length yang sebelumnya telah
ditentukan.
c. ENUM dengan SET

ENUM merupakan tipe data yang khusus untuk kolom dimana


nilai datanya sudah kita tentukan sebelumnya. Pilihan ini dapat
berisi 1 sampai dengan 65.535 pilihan String. Dimana kolom yang
didefinisikan sebagai ENUM hanya dapat memilih satu diantara
pilihan String yang tersedia.
SET adalah tipe data yang mirip dengan ENUM, tetapi dapat
memilih lebih dari satu pilihan yang tersedia 1 sampai 64 pilihan
String yang tersedia.
d. DATETIME dan TIME

DATETIME adalah tipe data untuk penanggalan dan waktu.


25

Sedangkan TIME adalah tipe data untuk waktu.


5. Lakukan import file database :
a. Classic Models
Membuat database classic models

Gambar 1. 38 Membuat Database Classic Models Models


Mengimport data/file ke dalam database classic models

Gambar 1. 39 Mengimport Data pada Classic Models


Data yang telah di import pada database classic models

Gambar 1. 40 Hasil Import Data Classic Models


26

Gambar di atas adalah hasil dari import database classic


models. Jika kita mengikuti latihan import database sebelumnya
tentu ini sangat mudah.

b. Toko
Membuat Database Toko

Gambar 1. 41 Membuat Database Toko


Mengimport data/file ke dalam Database Toko

Gambar 1. 42 Mengimport Data pada Toko


Data yang telah di import pada Database Toko
27

Gambar 1. 43 Hasil Import Data Toko


Gambar di atas adalah hasil dari import database toko. Jika
kita mengikuti latihan import database sebelumnya tentu ini
sangat mudah.
c. Mini Market
Membuat Database Mini Market

Gambar 1. 44 Membuat Database Mini Market


Mengimport data/file ke dalam Database Mini Market

Gambar 1. 45 Mengimport Data pada Mini Market


28

Data yang telah di import pada Database Mini Market

Gambar 1. 46 Hasil Import Data Mini Market

Gambar di atas adalah hasil dari import database mini


market. Jika kita mengikuti latihan import database sebelumnya
tentu ini sangat mudah.

6. Lakukan export database berikut ke dalam format CSV :


a. Classic Models
Pilih Database Classic Models yang ingin diexport

Gambar 1. 47 Database Classic Models yang Diexport ke CSV

Hasil export Database Classic Models


29

Gambar 1. 48 Hasil Export Classic Models


Tampilan isi hasil export Database Classic Models

Gambar 1. 49 Tampilan Data CSV Classic Models


Gambar di atas adalah hasil export database classic
models dalam format CSV.
b. Toko
Pilih Database Toko yang ingin diexport

Gambar 1. 50 Database Toko yang Diexport


Hasil export Database Toko
30

Gambar 1. 51 Hasil Export Toko

Tampilan isi hasil export Database Toko

Gambar 1. 52 Tampilan Data CSV Toko


Gambar di atas adalah hasil export database toko dalam format
CSV.
c. Mini Market
Pilih Database Mini Market yang ingin diexport

Gambar 1. 53 Database Mini Market yang Akan Diexport


Hasil export Database Mini Market
31

Gambar 1. 54 Hasil Export Mini Market

Tampilan isi hasil export Database Mini Market

Gambar 1. 55 Tampilan Data CSV Mini Market


Gambar di atas adalah hasil export database mini market dalam format
CSV.
7. Lakukan export database ke dalam format SQL :
a. Classic Models
Pilih Database Classic Models yang ingin diexport

Gambar 1. 56 Database Classic Models Diexport SQL


Hasil export Database Classic Models
32

Gambar 1. 57 Hasil Export Classic Models SQL


Gambar di atas adalah hasil export database classic models dalam
format SQL. Jika kita mengikuti latihan export database sebelumnya
tentu ini sangat mudah

b. Toko
Pilih Database Toko yang ingin diexport

Gambar 1. 58 Database Toko Diexport SQL


Hasil export Database Toko

Gambar 1. 59 Hasil Export Toko SQL


Gambar di atas adalah hasil export database toko dalam format SQL.
Jika kita mengikuti latihan export database sebelumnya tentu ini sangat
mudah.
c. Mini Market
Pilih Database Mini Market yang ingin diexport
33

Gambar 1. 60 Database Mini Market Diexport SQL


Hasil export Database Mini Market

Gambar 1. 61 Hasil Export Mini Market SQL


Gambar di atas adalah hasil export database mini market dalam
format SQL. Jika kita mengikuti latihan export database sebelumnya
tentu ini sangat mudah.
34

1.5. Kesimpulan

Basis data (database) adalah kumpulan berbagai data yang saling


berhubungan satu dengan yang lainnya. Basis data tersimpan di
perangkat keras, serta dimanipulasi dengan menggunakan perangkat
lunak. Pendefisian basis data meliputi spesifikasi dari tipe data, struktur
dan Batasan dari data, atau informasi yang akan disimpan. Database
merupakan salah satu komponen yang penting dalam sistem informasi,
karena merupakan basis dalam menyediakan informasi kepada para
pengguna atau user.
Penyusunan basis data meliputi proses memasukkan data ke dalam
media penyimpanan data dan diatur dengan menggunakan perangkat
Sistem Manajemen Basis Data (Database Management System /
DBMS). Manipulasi basis data meliputi pembuatan pernyataan (query)
untuk mendapatkan informasi tertentu, melakukan pembaharuan
(update) data, serta pembuatan report data.
Tujuan utama DBMS adalah untuk menyediakan tinjauan abstrak
dari data bagi user. Jadi sistem menyembunyikan informasi mengenai
bagaimana data disimpan dan dirawat, tetapi data tetap dapat diambil
dengan efisien.
35
BAB II
ENTITY RELATIONSHIP DIAGRAM

2.1 Tujuan
1. Memahami definisi dan komponen ERD
2. Mengetahui UML dan Star UML

2.2 Dasar Teori


2.2.1 Definisi
ERD (Entity Relationship Diagram) adalah suatu model untuk
menjelaskan hubungan antar data dalam basis data berdasarkan objek yang
memiliki relasi. ERD menggunakan persepsi terhadap dunia nyata
mahasiswa, dosen, mata kuliah, dsb. Di dalam ERD disertakan mengenai
pemanfaatan, membuat, mengubah, dan menghapus data.
2.2.2 Komponen Pembuat ERD
Untuk membentuk suatu ERD, diperlukan suatu notasi atau simbol,
berikut ini notasi yang digunakan dalam ERD :
1. Entitas
Entitas merupakan objek yang mewakili suatu dalam dunia nyata,
baik secara fisik maupun secara konsep, untuk menggambarkan sebuah
entitas diperlukan aturan sebagai berikut :
- Entitas digambarkan dengan persegi panjang.

- Nama entitas ditulis dalam persegi panjang, contoh :

Mahasiswa
- Nama entitas mewakili sesuatu dalam dunia nyata baik secara fisik
maupun konsep, contoh :
 Fisik : mobil, rumah, mahasiswa, pelanggan, baju.
 Konsep : mata kuliah, pembayaran, fakultas, pemesanan.
Entitas dibagi 2 macam, yaitu :

37
38

1) Strong entity : entitas yang keberadaanya tidak bergantung pada


entitas lain, contoh : mahasiswa, mobil, pelanggan. Strong entity
digambarkan dengan simbol :

2) Weak entity : entitas yang bergantung dengan entitas lain,


contoh :pelanggan melakukan pembayaran, anggota melakukan
peminjaman. Weak entity digambarkan dengan symbol :

1. Atribut
Atribut berfungsi untuk menggambarkan Karakteristik dari
suatu entitas, untuk menggambarkan sebuah atribut berikut ini
aturannya :
- Atribut digambarkan dengan menggunakan oval.

- Nama atribut ditulis dalam oval, contoh :

Gambar 2. 1 Atribut
Gambar di atas terlihat bahwa entitas mahasiswa memiliki 3 atribut
yaitu nama, fakultas, dan alamat.
Atribut memiliki beberapa jenis yaitu :
1) Simple Attribute : atribut yang memiliki nilai tunggal, contoh :
nama, judul buku, dll. Simbol dari simple attribute sebagai
berikut :
39

Gambar 2. 2 Simple Attribute


Atribut di atas yaitu nama, ttl, dan judul buku merupakan
atribut simpel karena hanya memiliki nilai tunggal.
2) Key Atribute : atribut yang membedakan suatu baris data dan
membedakan satu entitas dengan entitas yang lain, contoh : id
pelanggan, kode barang. Simbol key attribute sebagai berikut :

Gambar 2. 3 Key Attribute


Untuk menandai suatu atribut adalah key, maka nama atribut
ditulis bergaris bawah.
3) Multivalue Attribute : atribut yang memiliki nilai lebih dari satu,
contoh : gelar, nomor telepon . Simbol dari multivalue attribute
adalah sebagai berikut :

Gambar 2. 4 Multivalue Attribute


Suatu atribut biasanya memiliki banyak nilai, seperti gelar,
nomor telepon, dll. Untuk penulisan simbol multivaluenya yaitu
oval di dalam oval.
4) Composite Attribute : atribut yang dapat dibagi lagi, yang dapat
membentuk atribut baru. Contoh : alamat dapat dibagi lagi menjadi
jalan, kota, provinsi. Simbol dari composite attribute adalah
sebagai berikut :
40

Gambar 2. 5 Composite Attribute


Gambar di atas terlihat atribut alamat memiliki atribut jalan,
kota, dan provinsi. Atribut alamat disebut composite attribute
karena memiliki sub atribut. Penulisan simbolnya sama seperti
menulis atribut biasa.
5) Derived Attribute : atribut yang didapatkan dari hasil komputasi
atribut lainnya, atribut ini tidak harus disimpan dalam database.
Contoh : hasil perhitungan dari potongan harga. Simbol dari
derived attribute adalah sebagai berikut :

Gambar 2. 6 Derivated Attribute


Gambar di atas adalah derivated attribute dimana harga diskon
terbektuk dari hasil perhitungan potongan harga. Simbolnya adalah
oval dengan garis putus – putus.
2. Relasi
Relasi adalah hubungan atau kejadian antara satu entitas atau
lebih, untuk menggambarkan sebuah relasi berikut aturan yang harus
diikuti :
- Digambarkan dengan belah ketupat :

Gambar 2. 7 Simbol Relasi


Untuk menggambarkan relasi yaitu menggunakan simbol belah
ketupat seperti di atas.
- Nama relasi dituliskan di dalamnya dan menggunakan kata kerja.
41

Gambar 2. 8 Nama Relasi di Dalam Simbol


Nama relasi ditulis di dalam symbol seperti pada contoh
gambar di atas.
- Di dalam kasus tertentu relasi bisa diberikan atribut di dalamnya.

Gambar 2. 9 Atribut Dalam Relasi


Pada hubungan many to many biasanya pada suatu relasi
akan terbentuk atribut baru. Simbolnya seperti pada gambar di atas.
Berikut ini adalah macam – macam variasi dari relasi :
1) Derajat Relasi
Menunjukkan banyaknya entitas yang saling terhubung, berikut
ini pembagian derajat relasi :
a) Relasi Unary
Relasi yang menghubungkan dengan satu entitas yang
sama. Contoh :

Gambar 2. 10 Relasi Unary


Gambar di atas memiliki relasi Unary karena relasinya
terhubung dengan satu entitas itu sendiri.
b) Relasi Binary
42

Relasi yang menghubungkan dua entitas yang berbeda,


contoh :

Gambar 2. 11 Relasi Binary


Gambar di atas adalah relasi binary karena relasi
menghubungkan antar dua entitas.
2) Kardinalitas Relasi
Kardinalitas relasi menggambarkan jumlah hubungan maksimal
yang terjadi dari himpunan entitas yang satu ke himpunan entitas
yang lain dan begitu juga sebaliknya. Kardinalitas relasi yang
terjadi diantara dua himpunan entitas dapat berupa :
a) One to One
Satu entitas hanya boleh berhubungan dengan satu entitas
lainnya, begitu sebaliknya, simbol untuk one to one :

Gambar 2. 12 Simbol One to One


Gambar di atas adalah simbol kardinalitas one to one
dimana disimbolkan dengan dua garis tegak lurus.
Contoh :

Gambar 2. 13 Contoh One to One


Gambar di atas menunjukan suatu relasi one to one antara
suami dan istri. Dimana satu suami memiliki satu istri, begitu
juga istri memiliki satu suami.
b) One to Many
43

Satu entitas boleh berhubungan dengan banyak entitas


lainnya, namun tidak boleh sebaliknya, simbol untuk one to
many :

Gambar 2. 14 Simbol One to Many


Gambar di atas adalah simbol kardinalitas one to many
dimana disimbolkan dengan dua garis tegak lurus dan sebuah
lingkaran yang memiliki 3 garis. Dimana letak simbol
lingkarannya berada di sebelah kanan.
Contoh :

Gambar 2. 15 Contoh One to Many


Gambar di atas menunjukan suatu relasi one to many antara
mahasiswa dan mata kuliah. Dimana satu mahasiswa bisa
mengambil lebih dari satu mata kuliah, sedangkan mata kuliah
diambil hanya satu oleh mahasiswa.
c) Many to One
Setiap entitas berhubungan dengan satu entitas pada entitas,
tetapi tidak sebaliknya, simbol untuk many to one :

Gambar 2. 16 Simbol Many to One


Gambar di atas adalah simbol kardinalitas many to one
dimana disimbolkan dengan dua garis tegak lurus dan sebuah
lingkaran yang memiliki 3 garis. Dimana letak simbol
lingkarannya berada di sebelah kiri.
Contoh :
44

Gambar 2. 17 Contoh Many to One


Gambar di atas menunjukan suatu relasi many to one antara
mata kuliah dan dosen. Dimana satu mata kuliah diampu oleh
satu dosen, sedangkan dosen dapat mengampu lebih dari satu
mata kuliah.
d) Many to Many
Setiap entitas terhubung dengan banyak entitas lainnya,
simbol untuk entitas many to many :

Gambar 2. 18 Simbol Many to Many


Gambar di atas adalah simbol kardinalitas many to many
dimana disimbolkan dengan dua buah lingkaran yang memiliki
3 garis.
Contoh :

Gambar 2. 19 Contoh Many to Many


Gambar di atas menunjukan suatu relasi many to many
antara pegawai dan proyek. Dimana seorang pegawai dapat
mengerjakan lebih dari satu proyek, sedangkan satu proyek
dapat dikerjakan oleh lebih dari satu pegawai.
3. Garis
Garis digunakan sebagai penghubung antar entitas, dan
menghubungkan atribut dari setiap entitas.

Gambar 2. 20 Simbol Garis


45

Garis disimbolkan untuk menghubungan relasi antara satu entitas


dengan entitas lain dan juga penghubung antara atribut dengan
entitasnya.
2.2.3 UML
UML (Unified Modeling Language) merupakan Bahasa yang
digunakan untuk membuat dokumentasi, spesifikasi, kalkulasi, visualisasi,
proses analisa, gambaran kerja proses, dan rancangan bangun dari sebuah
sistem perangkat lunak (software). Fungsi dari UML adalah sebagai
berikut :
- Dapat memberikan bahasa pemodelan visual kepada pengguna dari
berbagai macam pemprograman maupun proses rekayasa.
- Dapat memberikan model yang siap digunakan, merupakan Bahasa
pemodelan yang ekspresif untuk mengembangkan sistem dan untuk
saling menukar model secara mudah.
- Dapat berguna sebagai cetak biru, sebab sangat lengkap dan detail dalan
perancangan yang nantinya akan diketahui informasi yang detail
mengenai koding suatu program.
- Dapat memodelkan sistem yang berkonsep berorientasi objek, jadi tidak
hanya digunakan untuk perangkat lunak (software) saja.
- Dapat menciptakan suatu bahasa pemodelan yang nantinya dapat
dipergunakan oleh manusia maupun oleh mesin.
Aplikasi yang digunakan untuk membuat UML :
- Star UML (yang digunakan dalam praktikum)
- Microsoft Visio
- Software Ideas Modeler
- yEd Graph Editor
- Nclass
- ArgoUML
- UMLet
46

2.3 Latihan
2.3.1 Instalasi StartUML
1. Mengklik file installer dari StarUML.

Gambar 2. 21 Jendela StarUML


Gambar di atas adalah jendela awal saat kita mengklik file
installer.
2. Mengizinkan file installer berjalan.

Gambar 2. 22 Jendela User Account Control


Gambar di atas adalah jendela untuk mengizinkan file installer
berjalan. Klik “Yes” untuk mengizinkan.
3. Proses instalasi berjalan.

Gambar 2. 23 Jendela Proses Instalasi


Gambar di atas adalah jendela untuk menunggu proses instalasi
StarUML.
47

4. Jika muncul notifikasi seperti berikut, pilih evaluate, untuk


menjalankan StarUML, tanpa perlu membelinya.

Gambar 2. 24 Jendela Unregistered Version


Notifikasi di atas adalah notifikasi untuk membeli license
StarUML. Klik “Evaluate” untuk melanjutkan tanpa harus
membelinya.
5. Tampilan StarUML.

Gambar 2. 25 Tampilan utama StarUML


Gambar di atas adalah halaman utama StarUML setelah proses
instalasi.
2.3.2 Membuat ERD
Contoh kasus :
Di dalam perpustakaan sekolah terdapat buku – buku yang memiliki
kategori yang berbeda- beda, jika ada yang ingin membaca buku maka
harus menjadi anggota terlebih dahulu, kemudian jika sudah terdaftar
maka anggota bisa meminjam buku, buatlah ERD dari kasus tersebut!
Jawab :
1. Tentukan entitas berdasarkan kasus di atas!
48

a. Anggota
b. Buku
c. Kategori
2. Tentukan atribut berdasarkan entitasnya
a. Anggota memiliki atribut :
1) ID Anggota (Key Attribute)
2) NIS
3) Nama
4) Kelas
5) Alamat
b. Buku memiliki atribut :
1) ID Buku (Key Attribute)
2) ISBN
3) Judul
4) Pengarang
5) Penerbit
c. Kategori memiliki atribut :
1) ID Kategori (Key Attribute)
2) Kategori
3. Tentukan relasi antar entitas beserta kardinilitasnya !
1) Anggota meminjam buku (Many to Many)
2) Buku memiliki kategori (One to Many)
Dalam relasi meminjam terdapat atribut sebagai berikut :
1) ID peminjaman (Key Attribute)
2) Tanggal peminjaman
3) Tanggal kembali
4. Membuat diagram untuk setiap entitas beserta atributnya :
1) Untuk membuat diagram di StarUML, melalui shortcut atau start
menu.
2) Memberi nama diagram yang dibuat dengan cara double klik
“untiled” kemudian muncul properti dan edit sebagai berikut :
49

Gambar 2. 26 Tampilan Untuk Mengedit Properti dan Dokumentasi


Gambar di atas adalah tampilan untuk mengedit properti
diagram seperti name, author, company, copyright, version, dan
juga untuk mengedit dokumentasi.
3) Kemudian pada perpustakaan klik kana, pilh add diagram => pilih
ER diagram.

Gambar 2. 27 Add ER Diagram


Pada gambar di atas kita akan menambahkan ER diagram untuk
membuat ERD.
50

4) Untuk membuat entitas pada toolbox “Entity-Relationship”, pilih


Entity dan klik pada area kosong.

Gambar 2. 28 Halaman ER Diagram


Gambar di atas adalah halaman untuk membuat ERD. Untuk
membuat entitas baru, klik Entity pada toolbox “Entity-
Relationship”. Klik pada area kosong.
5) Masukan nama entitasnya.

Gambar 2. 29 Input Nama Entitas


Untuk membuat nama entitasnya kita tinggal memberi nama
entitasnya pada field sesuai dengan yang sudah kita buat.
51

6) Lakukan langkah yang sama untuk memasukkan entitas lainnya.

Gambar 2. 30 Add Entitas


Gambar di atas adalah entitas yang sudah kita buat sebelumnya.
Untuk membuat entitas yang lain, ikuti langkah sebelumnya.
7) Memasukan atribut dari setiap entitasnya, pada annotations pilih
eclipse dan klik pada area kosong.

Gambar 2. 31 Add Atribut


Gambar di atas adalah menambahkan atribut pada entitas.
52

8) Untuk menambahkan teks di dalamnya, pada annotations pilih text


dan klik di dalam oval yang telah dibuat dan ketikan nama
atributnya.

Gambar 2. 32 Add Nama Atribut


Gambar di atas menunjukan bahwa kita telah menambahkan
teks pada atribut.
9) Lakukan langkah ke 7 dan 8 kembali untuk menambahkan atribut
pada semua entitasnya.

Gambar 2. 33 Add Atribut


Gambar di atas terlihat bahwa kita telah menambahkan semua
atribut pada entitas anggota.
53

10) Selanjutnya untuk menambahkan garis pada entitas, pada


annotatons klik note link kemudian tahan mouse ke tengah atribut
dan arahkan ke entitasnya.

Gambar 2. 34 Add Garis Antara Atribut dan Entitas


Pada gambar di atas kita telah berhasil menambahkan garis
antara atribut dengan entitasnya.
11) Lakukan kembali langkah 7, 8, 9, dan 10 untuk menambah atribut
pada masing – masing entitas.

Gambar 2. 35 Add Atribut dan Garis


Pada gambar di atas kita berhasil menambahkan semua atriibut
dan menghubungkan atributnya ke entitasnya masing – masing.
54

5. Menghubungkan setiap entitas berdasarkan kardinalitasnya


Untuk menghubungkan setiap entitas, pada bagian entity-
relationship pilih jenis relasi yang dibutuhkan kemudian tahan mouse
ke tengah entitasnya dan arahkan ke entitas lainnya, dan berikan nama
sesuai relasi dan kardinalitas yang telah ditentukan di langkah 3.
a) Anggota meminjam buku (Many to Many)

Gambar 2. 36 Add Relasi Many to Many


Dari gambar di atas kita berhasil menambahkan relasi many to
many yaitu anggota meminjam buku.
Karena meminjam memiliki atribut, maka tambahkan
atributnya sesuai dengan langkah 7), 8), 9), dan 10) dan hubungkan
ke garis relasi anggota ke buku.

Gambar 2. 37 Add Atribut Relasi


55

Dari gambar di atas kita berhasil menambahkan atribut pada


relasi meminjam, dimana ini bisa terjadi karena adanya kardinalitas
many to many antara anggota dan buku.
b) Buku memiliki kategori (one to many)

Gambar 2. 38 Add Relasi One to Many


Pada gambar di atas kita telah berhasil membuat kardinalitas
relasi one to many pada buku dan kategori.
6. Setelah diagram selesai terbentuk selanjutnya simpan projek dengan
nama “Latihan 1 (Bab 2).mdj.

Gambar 2. 39 Save Project


Buatlah folder untuk menyimpan projek Anda. Tulis nama
projeknya kemudian save.
56

7. Selanjutnya ekspor diagram menjadi gambar png dengan cara klik file
=> Export Diagram As => JPEG/PNG/SVG.

Gambar 2. 40 Export Diagram Menjadi Gambar PNG


Dari gambar di atas kita akan ekspor diaram ke dalam gambar
berekstensi PNG.

Gambar 2. 41 Lokasi Export Diagram


Gambar berhasil tersimpan di folder yang telah kita buat
sebelumnya.

Gambar 2. 42 Hasil Export


Gambar di atas adalah hasil export diagram ke dalam gambar.
57

2.3.3 Mengkonversi ERD Menjadi Tabel Fisik


Setelah ERD terbentuk, semua entitas beserta atributnya dirubah ke
dalam bentuk tabel, karena database menggunakan tabel sebagai
penyimpanan berbagai data berikut ini adalah langkah – langkahnya :
1. Setiap entitas beserta atributnya dirubah menjadi tabel.

Gambar 2. 43 Konversi ERD Anggota ke Dalam Tabel


Terlihat pada gambar di atas atribut pada entitas anggota diubah
menjadi bentuk tabel.

Gambar 2. 44 Konversi ERD Buku ke Dalam Tabel


Terlihat pada gambar di atas atribut pada entitas buku diubah
menjadi bentuk tabel.

Gambar 2. 45 Konversi ERD Kategori ke Dalam Tabel


Terlihat pada gambar di atas atribut pada entitas anggota diubah
menjadi bentuk tabel.
58

2. Relasi dengan derajat many to many, diwujudkan dalam tabel khusus


yang menyimpan 2 key attribute dan entitas yang terhubung.

Gambar 2. 46 Konversi ERD Many to Many


Terlihat pada gambar di atas atribut pada relasi many to many
diubah ke dalam tabel. Kolom yang berwarna merah adalah foreign
key.
3. Relasi dengan derajat one to many diwujudkan dengan penambahan
atribut kunci ke dalam salah satu entitas yang terhubung.

Gambar 2. 47 Konversi ERD One to Many


Terlihat pada gambar di atas atribut pada relasi one to many diubah
ke dalam tabel. Kolom yang berwarna merah adalah foreign key.
59

4. Hasil dari konversi ERD ke dalam tabel fisik.


Tabel 2. 1 Tabel Anggota
Id_anggota Nim nama Kelas Alamat
Tabel 2. 2 Tabel Buku
Id_buku Isbn Judul Penerbit pengarang
Tabel 2. 3 Tabel Peminjaman
Id_peminjama Id_buku Id_anggota Tgl_peminjama Tgl_kembali
n n
Tabel 2. 4 Tabel Kategori
Id_kategori Id_buku Kategori

2.4 Tugas
Dari kasus di bawah ini rubahlah menjadi entitiy relationship diagram
dan tabel fisiknya.
1. Hotel ABC menyediakan berbagai ruangan dengan berbagai tipe yang
bisa dipilih oleh tamu, sebelum itu tamu harus melakukan reservasi
dan membayar tagihan sesuai dengan ruangan yang dipilihnya.
Jawab :
1) Entitas dan Atribut
a. Reservasi
- Id_reservasi
- Daftar_kamar
- Harga
b. Pembayaran
- Id_pembayaran
- Total_tagihan
c. Tamu
- Id_tamu
- Nama
d. Resepsionis
- Id_resepsionis
- Nama
60

e. Kamar
- Id_kamar
- Ukuran
f. Jenis_kelas
- Id_jenis_kelas
- fasilitas
2) Relasi
a. Tamu melakukan reservasi (many to one)
b. Tamu melakukan pembayaran (many to one)
c. Tamu menggunakan kamar (one to many)
d. Resepsionis melayani tamu (one to many)
e. Kamar memiliki jenis kelas (many to one)
3) Hasil
a. ERD

Gambar 2. 48 ERD Tugas 1


Gambar di atas adalah hasil dari ERD tugas nomor 1. Tamu
memiliki relasi many to one kepada reservasi, tamu memiliki
relasi many to one kepada pembayaran, tamu memiliki relasi
one to many kepada kamar, resepsionis memiliki relasi one to
many kepada tamu, dan kamar memiliki relasi many to one
kepada jenis kelas.
b. Tabel Fisik
Tabel 2. 5 Tabel Tamu
Id_tam Id_resepsioni Id_pembayara Id_reservas nam
61

u s n i a
Tabel 2. 6 Tabel Reservasi
Id_reservasi Daftar_kamar Harga
Tabel 2. 7 Tabel Tamu
Id_tamu Id_ruangan Nama
Tabel 2. 8 Tabel Resepsionis
Id_resepsionis Nama
Tabel 2. 9 Kamar
Id_kamar Id_tamu Id_jenis_kelas ukuran
Tabel 2. 10 Tabel Jenis Kelas
Id_jenis_kelas Fasilitas
2. Didalam e-news.com terdapat berbagai macam berita yang ditulis oleh
penulis yang berbeda, setiap berita memiliki jenis dan label yang
berbeda agar pengguna bisa memilih berita mana yang ingin dibaca
terlebih dahulu.
Jawab :
1) Entitas dan Atribut
a. Berita
- Id_berita
- Jenis_berita
- Label_berita
b. Penulis
- Id_penulis
- Nama
- Email
c. Pembaca
- Id_pembaca
- Username
- Email
d. Kategori
- Id_kategori
62

- Jenis_kategori
2) Relasi
a. Penulis menulis berita (many to many)
b. Pembaca membaca berita (many to many)
c. Berita memiliki kategori (many to many)
3) Hasil
a. ERD

Gambar 2. 49 ERD Tugas 2


Gambar di atas adalah hasil dari ERD tugas nomor 2.
Penulis memiliki relasi many to many kepada berita, sehingga
menghasilkan atribut baru pada relasi menulis. Pembaca
memiliki relasi many to many kepada berita, sehingga
menghasilkan atribut baru pada relasi membaca. Dan berita
memiliki relasi many to many kepada kategori, sehingga
menghasilkan atribut baru pada relasi memiliki.
b. Tabel Fisik
Tabel 2. 11 Tabel Berita
Id_kategor
Id_berita Id_penulis Jenis_berita Label_berita
i
Tabel 2. 12 Tabel Penulis
Id_penulis Nama Email
Tabel 2. 13 Tabel Menulis
Id_menulis Id_penulis Id_berita
63

Tabel 2. 14 Tabel Pembaca


Id_pembaca username Email
Tabel 2. 15 Tabel Membaca
Id_membaca Id_berita Id_pembaca
Tabel 2. 16 Tabel Memiliki
Id_jenis Id_berita Id_kategori
Tabel 2. 17 Tabel Kategori
Id_kategori Jenis_kategori
3. Grabfood menyediakan layanan pengantaran makanan dari berbagai
restoran / warung kepada penggunanya, sebelum pengguna bisa
menikmati makanannya, pengguna harus memesan terlebih dahulu
melalui aplikasi untuk memilih makanannya dari berbagai macam
warung / restoran, setelah pengguna menentukan makanannya, driver
menuju ke warung yang telah ditentukan oleh pelanggannya dan
mengantarnya ke alamat pelanggan, setelah makanan sampai,
pelanggan harus membayar kepada driver dengan jumlah yang tertera
didalam aplikasi.
Jawab :
1) Entitas dan Atribut
a. Pelanggan
- Id_pelanggan
- Nama
- Alamat
b. Kedai
- Id_kedai
- Jenis_makanan
- Harga
c. Grabfood
- Id_pesanan
- Jenis_makanan
64

- Harga
d. Driver
- Id_driver
- Nama
2) Relasi
a. Kedai memasang iklan di Grabfood (many to one)
b. Pelanggan memesan via Grabfood (many to one)
c. Grabfood mengonfirmasi orderan ke driver (one to many)
3) Hasil
a. ERD

Gambar 2. 50 ERD Tugas 3


Gambar di atas adalah hasil dari ERD tugas nomor 3.
Pelanggan memiliki relasi many to one kepada Grabfood,
grabfood memiliki relasi one to many kepada driver, dan kedai
memiliki relasi many to one kepada Grabfood.
b. Tabel Fisik
Tabel 2. 18 Tabel Pelanggan
Id_pelanggan Nama alamat
Tabel 2. 19 Tabel Grabfood
Id_pesanan Id_pelanggan Jenis_makanan harga
Tabel 2. 20 Tabel Driver
Id_driver Id_pesanan Nama
Tabel 2. 21 Tabel Kedai
Id_keda Id_pesanan Jenis_makanan harga
65

i
66

2.5 Kesimpulan
Jadi, Entity Relationship Diagram (ERD) merupakan teknik yang
digunakan untuk memodelkan kebutuhan data dari suatu organisasi. ERD
terdiri dari entitas, relasi antar entitas, dan atribut-atribut. Cara membuat
ERD di antaranya yaitu dimulai dengan menentukan entitas, menentukan
relasi, menentukan kardinalitas, menentukan primary key dan foreign key,
serta menentukan atribut-atributnya.
BAB III
NORMALISASI DATABASE

3.1. Tujuan
1. Memahami normalisasi
2. Memahami kriteria normalisasi
3. Memahami teknik normalisasi
4. Memahami tahapan atau bentuk normalisasi

3.2. Dasar Teori


3.2.1. Definisi
Normalisasi adalah proses penyusunan database, untuk
mengurangi ambiguitas (ketidakjelasan) dari struktur database, sehingga
membentuk struktur database yang baik. Ambiguitas bisa terjadi karena
beberapa hal sebagai berikut :
A. Redudansi Data
Redudansi data adalah isi data yang sama dan disimpan lebih dari
satu lokasi. Redudansi data dapat menyebabkan pemborosan ruang
penyimpanan, terjadi inkonsistensi data jika terjadi perubahan data.
Berikut ini adalah contoh perubahan data.

Gambar 3. 1 Redudansi data


Pada gambar 3.1 terdapat duplikasi data pada kolom kode_mk pada
“K3-16013” dan nama_mk pada “K3 Dalam Dunia Kerja”.

67
68

Redudansi data tidak bisa dihilangkan, melainkan hanya bisa


diminimalisir, karena suatu tabel tidak dapat dihubungkan dengan
tabel lainnya, jika terdapat nilai yang sama di masing – masing kolom,
jika tidak adanya redudansi data.

Gambar 3. 2 Relasi Antar Tabel


Pada gambar 3.2, jika tidak ada nilai pada kolom NIM maka tabel
nilai dan tabel mahasiswa tidak bisa dihubungkan.
B. Anomali
Anomali adalah kesalahan struktur database yang memberikan
efek samping yang tidak diharapkan (misalnya menyebabkan
inkonsistensi data, atau data hilang saat salah satu dihapus). Masalah
ini akan menyebabkan kompleksitas data dan manipulasi data,
terdapat 3 macam anomali yaitu :
a) Anomali Penyisipan Data (insert)
Masalah yang timbul diakibatkan Ketika data dimasukkan ke
dalam tabel. Berikut ini adalah contohnya :

Gambar 3. 3 Tabel Sebelum Ditambah Data Baru


Gambar 3.3 menampilkan data mata kuliah yang diambil oleh
mahasiswa, data tidak akan bertambah jika mahasiswa belum
mengambil mata kuliah. Namun misalnya ada penambahan mata
kuliah “Dasar Keterampilan”, tetapi mahasiswa belum
mengambilnya sama sekali, maka pada kolom NIM terjadi
kekosongan nilai.
69

Gambar 3. 4 Tabel Sesudah Ditambahkan


Terlihat pada gambar di atas terdapat kekosongan nilai yaitu
NIM yang mengambil mata kuliah Dasar Keterampilan.
b) Anomali Perubahan Data (update)
Masalah yang timbul dikarenakan Ketika data yang lama
mengalami perubahan. Berikut ini adalah contoh permasalahnya :

Gambar 3. 5 Tabel Sebelum DIubah


Misalkan pada gambar 3.5 dilakukan perubahan data pada
record (baris) ke 3, data pada nama_mk diubah menjadi “Basis
Data”.
70

Gambar 3. 6 Tabel Sesudah Diubah


Setelah data baris ke-3 diubah, terjadi inkonsistensi data pada
baris ke-2 dan ke-4 yaitu pada baris Kode_MK = “K3 Dalam
Dunia Kerja” berelasi dengan 2 kolom Nama_MK yaitu “K3
Dalam Dunia Kerja” dan “Basis Data”.
c) Anomali Penghapusan Data (delete)
Masalah yang ditimbulkan dikarenakan penghapusan data di
dalam tabel. Berikut ini adalah contoh permasalahannya :

Gambar 3. 7 Tabel Sebelum Dihapus


Misalkan terjadi penghapusan data pada mata kuliah “K3
Dalam Dunia Kerja” pada baris ke-2, maka baris ke-3 dan ke-4
ikut terpengaruh dikarenakan nama_mk pada baris tersebut
memilki nama yang sama dan memiliki kode_mk yang sama.
71

Gambar 3. 8 Tabel Setelah Datanya Dihapus


Selain itu ada kesalahan pada ketergantungan fungsi,
multivalue atribut, atribut composite, dan repeating group data
yang akan dijelaskan pada sub bab berikutnya. Untuk mengurangi
ambiguitas data di atas maka proses normalisasi database
diperlukan agar :
- Memastikan ketergantungan data sesuai dengan tabelnya.
- Menghasilkan struktur database yang baik.
- Mengurangi redudansi data.
- Mengurangi anomali.
- Menghemat memori
- Mengurangi kompleksitas database
3.2.2. Kriteria Normalisasi
Sebuah database dikatakan baik jika setiap tabel sudah normal, berikut
ini adalah kriterianya :
1. Jika penguraian / dekomposisi tabel, maka tabel harus aman (Lossless
Join Decomposition) artnya setelah tabel diuraikan menjadi tabel –
tabel baru maka tabel tersebut bisa menghasilkan tabel sebelum di
dekomposisi.
2. Terjaganya ketergantungan fungsional saat terjadi perubahan data.
3. Tidak melanggar Boyce-Codd Normal Form (BCNF) / bentuk
normalisasi 3.5 (3.5 – NF). Jika tidak bisa minimal tidak melanggar
normalisasi bentuk ke – 3 (3 – NF).
72

3.2.3. Teknik Normalisasi


Normalisasi dapat dilakukan dengan menggunakan Teknik sebagai
berikut :
1. Dekomposisi
Dekomposisi adalah memcah tabel menajadi beberapa tabel, sesuai
dengan relasinya. Teknik ini dapat mengurangi redudansi dan anomali
pada tabel. Proses dekomposisi tabel dilakukan berdasarkan
ketergantungan fungsi dari setiap atributnya.
2. Ketergantungan Fungsional / Functionally dependent
Ketergantungan fungsional adalah suatu konsep yang
menggambarkan hubungan antar atribut dalam satu relasi. Suatu
atribut dikatakan functionally dependant / bergantung fungsional pada
yang lain jika menggunakan nilai atribut untuk menentukan nilai
atribut yang lain. Ketergantungan fungsi dapat digambarkan sebagai
berikut :

Gambar 3. 9 Ketergantungan Fungsi


Keterangan :
- A = atribut tabel, sebagai determinan.
- B = atribut tabel, sebagai dependen, ketergantungan.
- Secara fungsional A menentukan B / B bergantung pada A.
Contoh :

Gambar 3. 10 Tabel Ketergantungan Fungsi


Dari gambar 3.10 dapat disimpulkan ketergantungan fungsi
sebagai berikut :
73

a. Atribut “nama_mk” memiliki ketergantungan pada atribut


“kode_mk”, hal tersebut terlihat pada atribut “kode_mk” (misalkan
K3-16013), berapapun nilai dari nama_mk tetap “K3 Dalam Dunia
Kerja”.

Gambar 3. 11 Atribut Determinan


Gambar di atas adalah atribut determinan yaitu kode_mk.
b. Atribut “nilai” memiliki ketergantungan pada atribut “NIM” dan
“Kode_MK”, ketergantungan tersebut dikarenakan jika atribut
“nilai” hanya bergantung pada atribut “kode_mk” maka atribut
“nilai” tidak diketahui pemiliknya (atribut “NIM”), kemudian jika
atribut “nilai” hanya bergantung pada atribut “nim” maka tidak
diketahui mata kuliahnya (atribut “Kode_mk”).

Gambar 3. 12 Atribut Functionally Dependant


Cara untuk mengidentifikasi ketergantungan fungsi adalah
memahami dengan baik “arti” dari setiap atribut berserta hubungan
dari setiap atributnya. Ketergantungan fungsi terdiri dari 3 jenis :
1) Ketergantungan Fungsi Penuh
Merupakan ketergantungan dimana atribut dependent
(atribut non kunci) bergantung seluruh atribut secara
fungsional terhadap terhadap seluruh atribut determinan
(atribut key). Contoh :
74

Gambar 3. 13 Tabel Ktergantungan Fungsi Penuh


Pada gambar 3.13 atribut “Nilai” bergantung pada 2 atribut
yaitu atribut “Kode_MK” dan “NIM”, karena jika atribut
“Nilai” hanya bergantung pada atribut “NIM”, maka tidak
mendapatkan informasi mengenai mata kuliah yang diambil
oleh mahasiswa yang memiliki NIM = 1010, bergitu pula jika
atribut “Nilai” hanya bergantung pada atribut “Kode_MK”
maka tidak mendapatkan informasi mengenai mahasiswa yang
mengambil mata kuliahnya.

Gambar 3. 14 Ketergantungan Fungsi Penuh


Gambar di atas menunjukkan bahwa atribut nilai
bergantung sepenuhnya kepada atribut key yaitu nim dan
kode_mk.
2) Ketergantungan Fungsi Parsial
Merupakan ketergantungan dimana atribut dependent
(atribut non key) bergantung atribut secara fungsional terhadap
pada salah satu atribut determinan (atribut key).

Gambar 3. 15 Tabel Ketergantungan Fungsi Parsial


Pada gambar 3.15 terdapat ketergantungan fungsi parsial,
yaitu :
75

a) Atribut “Nama” dan “Alamat” hanya bergantung pada


atribut “NIM” dan tidak bergantung pada atribut
“Kode_MK”, Karena setiap atribut “NIM” dapat
mendefinisikan isi dari atribut “nama” dan “alamat”,
misalkan NIM = 1010 selalu bernilai “Budi” pada Atribut
“nama” dan bernilai “Semarang” pada atribut “Alamat”.
b) Atribut “Nama_MK” hanya bergantung pada atribut
“Kode_MK” dan tidak bergantung pada atribut “NIM”,
karena setiap atribut “Kode_MK” dapat mendefinisikan isi
dari atribut “Nama_MK”, Misalkan Kode_MK = AL-16010
selalu bernilai “algoritma” pada atribut “Nama_MK”.
3) Ketergantungan Fungsi Transitif
Merupakan ketergantungan terhadap atribut dependent
(atribut non key) terhadap atribut dependent lainnya. Contoh :

Gambar 3. 16 Tabel Ketergantungan Transitif


Pada gambar 3.16 terdapat ketergantungan fungsi transitif,
yaitu karena masih terdapat atribut dependent (kota dan
provinsi) yang memiliki ketergantungan terhadap atribut non
dependent yang lain yaitu KodePos.

Gambar 3. 17 Ketergantungan Fungsi Transitif


Gambar di atas menunjukan ketergantungan fungsi transitif
dimana atribut non kunci yaitu kota dan provinsi bergantung
pada atribut dependent lain yaitu kode pos.
76

3.2.4. Tahapan / Bentuk Normalisasi


Bentuk normalisasi ada 6 tahapan, yaitu bentuk tidak normal
(Unnormalize), 1-NF, 2-NF, 3-NF, BCNF, 4-NF dan 5-NF. Tiga
bentuk normal pertama (1- NF, 2-NF dan 3-NF), berkaitan dengan
ketergantunganfungsi kemudian Bentuk keempat dan kelima (4- NF
dan 5-NF), berkaitan dengan redudansi data disebabkan
kebergantungan banyak nilai. Untuk mendapatkan struktur database
biasanya 3 tahap pertama sudah cukup.
1. Bentuk Tidak Normal (Unnormalize)
Kumpulan data yang dimasukkan ke dalam tabel, dan tidak
harus mengikuti format tertentu, bentuk tabel ini bisa terdapat data
yang tidak lengkap dan terjadi duplikasi data yang menyebabkan
berbagai anomali.
Contoh :

Gambar 3. 18 Bentuk Tidak Normal


Gambar di atas contoh tabel bentuk tidak normal, dimana di
dalamnya terdapat duplikasi data.
2. Bentuk Normal 1 (1 – NF)
Suatu tabel dapat dikatakan 1 – NF apabila, jika tidak terdapat
:
a. Multivalue attribute yaitu di dalam satu atribut terdapat nilai
lebihdari satu. Contoh :
77

Gambar 3. 19 Multivalue Attribute


Pada gambar 3.19, atribut “Kode_MK”, “Nama_MK”
dan “Nilai” memiliki multivalue atribut, karena didalamnya
terdapat nilai-nilai yang berbeda, untuk mengatasinya tabel
3.18, lakukan dekomposisi pada atribut “Kode_MK”,
“Nama_MK” dan “Nilai” sesuai dengan atribut NIM-nya.

Gambar 3. 20 Hasil Dekomposisi


b. Composite attribute, yaitu atribut yang dapat dibentuk
kembalimenjadi atribut baru. Contoh :

Gambar 3. 21 Composite Attribute


Pada gambar 3.21 atribut “Alamat”, bisa dipecah
kembali menjadi 2 atribut yaitu atribut “jalan” dan “kota”.
Berikut ini adalah hasilnya :
78

Gambar 3. 22 Hasil Pembuatan Atribut Baru


Gambar di atas adalah hasil dari atribut baru pada gambar 3.21.
c. Repeating group, yaitu kelompok data yang berulang
dalam suatutabel, contoh :

Gambar 3. 23 Repeating Group


Pada gambar 3.23, terdapat atribut yang menghasil
informasi yang sama yaitu atribut “Hobi_1”, “Hobi_2” dan
“Hobi_3”. Berikut ini adalah solusi untuk mengurangi
repeating group :

Gambar 3. 24 Mengurangi Repeating Group


Berdasarkan syarat di atas pada gambar 3.17 dapat
dibentukmenjadi bentuk normal 1 – NF, dengan hasil sebagai
berikut :
79

Gambar 3. 25 Tabel 1 – NF
Gambar di atas adalah hasil normalisasi 1 – NF.
3. Bentuk Normal 2 (2 – NF)
Suatu tabel dapat dikatakan 2 – NF apabila memenuhi
persyaratan sebagai berikut :
a. Tabel sudah berbentuk 1 -NF.
b. Atribut dependent memiliki full functional dependency
(ketergantungan fungsional penuh), kepada atribut
determinan (atribut kunci).
c. Atribut tidak memiliki partial fuctional dependency, (jika ada
dekomposisi menjadi beberapa tabel).
Contoh tabel memenuhi 1 – NF, tetapi belum memenuhi 2 – NF :

Gambar 3. 26 Tabel 1 – NF
Pada gambar 3.26, tabel tersebut belum menenuhi
persyaratan tabel 2-NF, dikarena setiap atribut masih memiliki
80

ketergantungan fungsi parsial, sebelum mengetahui


ketergantungan parisalnya, tentukan atribut kunci dari tabel 1-
NF, berdasarkan gambar 3.26 terdapat atribut determinan /
atribut kunci yaitu :
a. NIM
b. Kode_MK
Kedua atribut tersebut digunakan karena, setiap nilai
dari kedua atribut tersebut berubah maka nilai dari atribut
lainya juga berubah. Setelah mengetahui atribut determinan-
nya, selanjutnya petakan ketergantungan fungsi parsialnya,
sebagai berikut :
a. {NIM, Kode_MK} → Nama
Memiliki ketergatungan fungsi parsial, karena
atributnya “Nama” hanya bergantung pada atribut “NIM”,
karena NIM dapat mendefinisikan atribut
“Nama_Mahasiswa”. Misalkan NIM = 1010, selalu atribut
“nama” selalu bernilai “Ardi”.
b. {NIM, Kode_MK} → Alamat
Memilki ketergantungan fungsi parsial, karena atribut
“alamat” hanya bergantung pada atribut “NIM”, karena NIM
dapat mendefiniskan atribut “alamat”. Misalkan NIM = 1010,
selalu atribut “alamat”selalu bernilai “Jl. Indah No.42”.
c. {NIM, Kode_MK} → Kota
Memilki ketergantungan fungsi parsial, karena atribut
“kota” hanya bergantung pada atribut “NIM”, karena NIM
dapat mendefiniskan atribut “kota”. Misalkan NIM = 1010
atribut “kota”selalu bernilai “Semarang”.
d. {NIM, Kode_MK} → Nama_MK
Memilki ketergantungan fungsi parsial, karena atribut
“nama_mk” hanya bergantung pada atribut “Kode_MK”,
karena kode_mk dapat mendefiniskan atribut “nama_mk”.
81

Misalkan kode_mk = AL-16020 atribut “nama_mk”selalu


bernilai “Algoritma”
Setelah mengetahui ketergantungan fungsi parsialnya,
selanjutnya identifikasi ketergantungan fungsi penuhnya : a.
{NIM} → Nama,Alamat, Kota Atribut “nama”, “Alamat” dan
“Kota” memiliki ketergantungan fungsi penuh terhadap atribut
“NIM”, karena atribut “NIM” dapat mendefiniskan isi dari
atribut “Nama”, “Alamat” dan “Kota”. Misalkan NIM = 1013,
selalu bernilai “Erna” pada atribut “Nama”, bernilai “Jl. Sukses
No.1” pada atribut “Alamat” dan bernilai “Semarang” pada
atribut “Kota”.
b. {Kode_MK} → Nama_MK
Atribut “Nama_MK” memimiliki ketergantungan fungsi
penuh, karena atribut “Kode_MK” dapat mendefiniskan isi dari
atribut “Nama_MK”. Misalkan Kode_MK = TD-16022, selalu
bernilai “Teknik Digital” pada atribut “Nama_MK”.
c. {NIM, Kode_MK} → Nilai

Atribut “Nilai” memiliki kertergantungan fungsi penuh


pada atribut “NIM” dan “Kode_MK”. Karena Jika atribut
“Nilai” hanya tergantung dengan atribut “NIM”, maka tidak
diketahui nilai untuk mata kuliah. Dan jika hanya bergantung
pada atribut “Kode_MK”, maka tidak diketahui nilai milik
mahasiswa yang mengambil mata kuliahnya.
Selanjutnya lakukan dekomposisi tabel berdasarkan
ketergantungan fungsi penuhnya :
82

Gambar 3. 27 Tabel Mahasiswa


Gambar 3.27 adalah tabel mahasiswa setelah dilakukan
dekomposisi.

Gambar 3. 28 Tabel Mata kuliah


Gambar 3.28 adalah tabel mata kuliah setelah dilakukan
dekomposisi.

Gambar 3. 29 Tabel Nilai


Gambar 3.29 adalah tabel nilai setelah dilakukan dekomposisi.
4. Bentuk Normal 3 (3 – NF)
83

Suatu tabel dikatakan bentuk 3 – NF, jika memenuhi


syarat sebagaiberikut :
a. Tabel sudah berbentuk 2 – NF
b. Tidak ketergantungan fungsi
transitif Contoh tabel
2 – NF :

Gambar 3. 30 Tabel 2 – NF
Pada gambar 3.30 belum memenuhi persyaratan 3-NF,
dikarenakan terdapat ketergantungan fungsi transitif yaitu
atribut “ruang” terhadap atribut “waktu”. Untuk
mengatasinya lakukan dekomposisi berdasarkan
ketergantungan fungsinya, berikut hasilnya :

Gambar 3. 31 Tabel Mata Kuliah


Gambar di atas adalah tabel mata kuliah setelah
dilakukan dekomposisi.
84

Gambar 3. 32 Tabel Ruang


Gambar di atas adalah tabel ruang setelah dilakukan
dekomposisi.
3.3. Latihan
Lakukan normalisasi pada tabel di bawah ini !

Gambar 3. 33 Tabel Data Bimbel


Gambar 3.33 adalah tabel data bimbel.
85

Gambar 3. 34 Tabel Data Bimbel


Gambar 3.34 adalah tabel data bimbel.
Jawab :
1. 1 – NF
Pada tabel 3.33 dan 3.34, belum memenuhi persyaratan 1 –
NF, dikarenakan :
1) Composite Attribute

Gambar 3. 35 Composite Attribute


Gambar di atas menunjukan alamat adalah composite
attribute, sehingga belum memenuhi syarat 1 – NF.
86

2) Repeating Group, pada atribut “kd_bimbel”, “nama”, “huruf”.

Gambar 3. 36 Repeating Group


Gambar di atas menunjukan adanya repeating group,
sehingga belum memenuhi syarat 1 – NF.
Untuk mendapatkan tabel 1 – NF, lakukan cara ini untuk
menghilangkan anomali sebagai berikut :
1) Atibrut “alamat”, dipecah menjadi beberapa atribut baru yaitu,
“alamat”, “kota”, “kecamatan”, “kode pos” :

Gambar 3. 37 Tabel Composite Attribute


Setelah atribut alamat dipecah, maka akan menjadi seperti
gambar tabel di atas.
2) Untuk repeating group, atributnya dipisah menjadi perbaris
sesuai dengan atribut “kd_bimbelnya” :

Gambar 3. 38 Tabel Repeating Group


Setelah atributnya dipisah perbaris, maka akan menjadi
seperti gambar tabel di atas.
87

Sekarang gambar tabel 3.33 dan 3.34 tidak lagi terdapat


composite group dan repeating group, sehingga tabel sudah
memenuhi persyaratan 1 – NF, berikut ini adalah hasilnya :

Gambar 3. 39 Tabel 1 – NF
Gambar 3.39 di atas sudah memenuhi syarat normalisasi 1 –
NF.

Gambar 3. 40 Tabel 1 – NF
Gambar tabel di atas sudah memenuhi syarat normalisasi 1 –
NF.
3) 2 – NF
Sebelum mengubah tabel 3.39 dan 3.40 menjadi 2 – NF,
ketahui terlebih dahulu atribut determinannya (atribut kunci) :
a. kd_peserta
b. kd_bimbel
Kedua atribut tersebut digunakan karena, setiap nilai dari
kedua atribut tersebut berubah, maka nilai dari atribut lainnya
berubah. Berdasarkan analisa tabel 3.39 dan 3.40, tabel
tersebut belum memenuhi persyaratan bentuk 2 – NF :
88

1. Belum memiliki ketergantungan penuh terhadap atribut


determinan.
2. Tidak semua atribut memiliki ketergantungan fungsional
secara penuh pada atribut determinan. Artinya, masih
ditemukan atribut dependen (atribut non kunci) yang hanya
bergantung fungsional terhadap salah satu determinan yang
ada, berikut ini adalah atribunya :
a. Atribut nama_peserta, no_telepon, alamat, kecamatan,
kota dan kode_pos hanya bergantung kepada atribut
“kd_peserta” dan tidak tergantung pada atribut
“kd_bimbel”, dikarenakan atribut kd_peserta sudah
mendefinisikan isi dari atribut “nama_peserta”,
“no_telepon”, “alamat”, “kecamatan”, “kota” dan
“kode_pos”. jika nilai dari kd_bimbelnya berubah maka
nilai dari atribut lainya berubah.
b. Atribut nama_bimbel, hanya bergantung pada kepada
atribut “kd_bimbel” dan tidak bergantung pada atribut
“kd_peserta”, karena atribut kd_bimbel mendefiniskan
atribut “nama_bimbel” jika nilai dari atribut
“kd_bimbel” nya berubah maka nilai dari atribut lainya
juga berubah.
Setelah mengetahui beberapa hal yang membuat tabel 3.39
dan 3.40 tidak memenuhi persyaratan dari 2 – NF, kemudian
lakukan langkah sebagai berikut :
1) Identifikasi ketergantungan fungsinya.
a) Atribut “nama_peserta”, “no_telepon”, “alamat”,
“kecamatan”, “kota” dan “kode_pos” memiliki
ketergantungan fungsional dengan atribut “kd_peserta”.
b) Atribut “nama_bimbel”, memiliki ketergatungan fungsi
terhadap atribut “kd_bimbel”.
89

c) Atribut “nilai” dan “huruf” memiliki ketergantungan


fungsi terhadap atribut “kd_peserta” dan “kd_bimbel”.
2) Lakukan dekomposisi berdasarkan ketergantungan
fungsinya.

Gambar 3. 41 Dekomposisi Tabel Peserta


Gambar tabel di atas adalah tabel peserta setelah di
dekomposisi.

Gambar 3. 42 Dekomposisi Tabel Bimbel


Gambar tabel di atas adalah tabel bimbel setelah di
dekomposisi.

Gambar 3. 43 Dekomposisi Tabel Nilai


90

Gambar tabel di atas adalah tabel nilai setelah di


dekomposisi.
3. 3 – NF
3 tabel hasil normalisasi 2 – NF, belum memenuhi
persyaratan 3 – NF, dikarenakan :
1) Pada tabel peserta (tabel 3.41), terdapat atribut
dependent yang memiliki ketergantungan fungsional
terhadap atribut dependent lainya, yaitu Atribut “kota”
dan “kecamatan” tergantung pada atribut “kode_pos”.
2) Pada tabel nilai (tabel 3.43) terdapat atribut dependent
yang memiliki ketergantungan fungsional terhadap
atribut dependent lainya, yaitu atribut “huruf”
bergantung pada atribut “nilai”.
Untuk mengatasinya lakukan dekomposisi sesuai
dengan ketergantungannya tadi :

Gambar 3. 44 Dekompossi Tabel Peserta


Gambar tabel di atas adalah tabel peserta setelah di
dekomposisi.

Gambar 3. 45 Dekomposisi Tabel Kode Pos


91

Gambar tabel di atas adalah tabel kode_pos setelah


di dekomposisi.

Gambar 3. 46 Dekomposisi Tabel Nilai


Gambar tabel di atas adalah tabel nilai setelah di
dekomposisi.

Gambar 3. 47 Dekomposisi Tabel Nilai Huruf


Gambar tabel di atas adalah tabel nilai_huruf setelah
di dekomposisi.
Berikut ini adalah tabel hasil normalisasi dari 1 – NF sampai
dengan 3 – NF :

Gambar 3. 48 Tabel Peserta


92

Gambar tabel perserta di atas adalah hasil


normalisasi tabel dari 1 – NF sampai 3 – NF.

Gambar 3. 49 Tabel Kode Pos


Gambar tabel kode_pos di atas adalah hasil
normalisasi tabel dari 1 – NF sampai 3 – NF.

Gambar 3. 50 Tabel Bimbel


Gambar tabel bimbel di atas adalah hasil
normalisasi tabel dari 1 – NF sampai 3 – NF.
93

Gambar 3. 51 Tabel Nilai


Gambar tabel nilai di atas adalah hasil normalisasi
dari 1 – NF sampai 3 – NF.

Gambar 3. 52 Tabel Nilai Huruf


Gambar tabel nilai_huruf di atas adalah hasil
normalisasi tabel dari 1 – NF sampai 3 – NF.

3.4. Tugas
1. Lakukan proses normalisasi tabel data dokter, dan jelaskan prosesnya!

Gambar 3. 53 Tabel Soal 1


94

Gambar 3. 54 Tabel Soal 1


Jawab :
a) 1 – NF
1) Pecah atribut alamat menjadi “alamat”, dan “kota” dan atribut
kontak menjadi “kontak” dan “email”
2) Atribut hari yang merupakan multivalue atribut diubah
perbaris.
3) Atribut jam_1, jam_2, jam_3 adalah repeating group yang
harus diubah perbaris.

Gambar 3. 55 Tabel Dokter


Setelah composite attribute dipecah maka akan menjadi seperti
gambar tabel di atas.
95

Gambar 3. 56 Tabel Dokter Spesialis


Setelah atribut multivalue dan repeating groupnya dipisah
perbaris, maka akan seperti pada gambar di atas.
b) 2 – NF
Sebelum lanjut ke proses 2 – NF, tentukan terlebih atribut
determinannya :
a. Kode_dk
b. Kode_spesialis
1) Identifikasi ketergantungan fungsinya.
a. Atribut “nama”, “tanggal_lahir”, “kota_lahir”, “alamat”,
“kota”, “kontak”, “email”, bergantung pada atribut
“kode_dk”.
b. Atribut “spesialis” bergantung pada atribut “kode_spesialis”.
c. Atribut “hari”, “jam”, bergantung penuh pada atribut
“kode_dk”, “kode_spesialis”.
2) Lakukan dekomposisi pada setiap ketergantungan fungsinya.
96

Gambar 3. 57 Tabel Dokter


Setelah dilakukan dekomposisi, maka gambar tabel akan
berubah seperti di atas.

Gambar 3. 58 Tabel Spesialis


Setelah dilakukan dekomposisi, maka gambar tabel akan
berubah seperti di atas.
97

Gambar 3. 59 Tabel Jam Kerja


Setelah dilakukan dekomposisi, maka gambar tabel akan
berubah seperti di atas.
c) 3 – NF
Agar memenuhi syarat 3 – NF, kita harus melakukan
dekomposisi atribut yang memiliki ketergantungan fungsi transitif.
Karena pada tabel sebelumnya tidak terdapat ketergantungan
transitif, maka tabel sudah memenuhi syarat 3 – NF.
Berikut adalah tabel – tabel setelah di normalisasi dari 1 – NF
hingga 3 – NF.
98

Gambar 3. 60 Tabel Dokter


Gambar tabel nilai di atas adalah hasil normalisasi dari 1 – NF
sampai 3 – NF.

Gambar 3. 61 Tabel Spesialis


Gambar tabel nilai di atas adalah hasil normalisasi dari 1 – NF
sampai 3 – NF.

Gambar 3. 62 Tabel Jam Kerja


99

Gambar tabel nilai di atas adalah hasil normalisasi dari 1 – NF


sampai 3 – NF.
2. Lakukan normalisasi tabel data perpustakaan dan jelaskan
langkahnya !

Gambar 3. 63 Tabel Soal 2

Gambar 3. 64 Tabel Soal 2


Jawab :
a) 1 – NF
1) Atribut fakultas dipecah menjadi atribut “fakultas”, dan
“jurusan”.
100

2) Atribut “fakultas”, “kode buku”, “judul”, “penerbit”,


“tanggal_peminjaman”, karena mengandung multivalue
attribute, maka harus dipisah.

Gambar 3. 65 Tabel Perpustakaan


Gambar tabel di atas sudah memenuhi normalisasi syarat 1 -NF.
b) 2 – NF
Sebelum lanjut ke proses 2 – NF, tentukan terlebih atribut
determinannya :
a. Kd_anggota
b. Kd_buku
c. Kd_peminjaman
d. Kd_denda
1) Identifikasi ketergantungan fungsinya
a. Atribut “nama”, “fakultas”, “jurusan”, dan “no_telepon”,
bergantung pada atribut “kd_anggota”.
b. Atribut “judul” dan “ penerbit” bergantung pada atribut
“kd_buku”.
c. Atribut “tgl_peminjaman” dan “tgl_kembali” bergantung
penuh pada atribut “kd_buku” dan “kd_peminjaman”.
101

d. Atribut “jumlah denda” bergantung penuh pada atribut


“kd_anggota”, “kd_peminjaman”, dan “kd_denda”.
2) Lakukan dekomposisi pada setiap ketergantungan
fungsinya.

Gambar 3. 66 Tabel Anggota


Setelah dilakukan dekomposisi, maka gambar tabel akan
berubah seperti di atas.

Gambar 3. 67 Tabel Buku


Setelah dilakukan dekomposisi, maka gambar tabel akan
berubah seperti di atas.
102

Gambar 3. 68 Tabel Peminjaman


Setelah dilakukan dekomposisi, maka gambar tabel akan
berubah seperti di atas.

Gambar 3. 69 Tabel Denda


Setelah dilakukan dekomposisi, maka gambar tabel akan
berubah seperti di atas.
c) 3 – NF
Agar memenuhi syarat 3 – NF, suatu atribut tidak boleh
memiliki ketergantungan transitif. Pada tabel 2 – NF di atas
terdapat ketergantungan transitif yaitu atribut “penerbit” berganung
pada atribut “judul”.
103

Gambar 3. 70 Tabel Buku


Setelah di dekomposisikan gambar tabel buku akan berubah
seperti di atas.

Gambar 3. 71 Tabel Penerbit


Setelah di dekomposisikan gambar tabel penerbit akan berubah
seperti di atas.
104

Berikut adalah hasil normalisasi tabel dari 1 – NF hingga 3 –


NF :

Gambar 3. 72 Tabel Anggota


Gambar tabel nilai di atas adalah hasil normalisasi dari 1 – NF
sampai 3 – NF.

Gambar 3. 73 Tabel Buku


Gambar tabel nilai di atas adalah hasil normalisasi dari 1 – NF
sampai 3 – NF.
105

Gambar 3. 74 Tabel Penerbit


Gambar tabel nilai di atas adalah hasil normalisasi dari 1 – NF
sampai 3 – NF.

Gambar 3. 75 Tabel Peminjaman


Gambar tabel nilai di atas adalah hasil normalisasi dari 1 – NF
sampai 3 – NF.
106

Gambar 3. 76 Tabel Denda


Gambar tabel nilai di atas adalah hasil normalisasi dari 1 – NF
sampai 3 – NF.

3. Lakukan normalisasi tabel data toko online dan jelaskan langkahnya !

Gambar 3. 77 Tabel Soal 3

Gambar 3. 78 Tabel Soal 3


Jawab :
a) 1 – NF
107

1) Atribut “alamat”, “kontak”, dan “alamat_toko” adalah atribut


composite. Alamat dipecah menjadi “alamat”, “kota”,
“provinsi”, dan “kode_pos”. Atribut kontak dipecah menjadi
“kontak” dan “email”. Atribut “alamat_toko” dipecah menjadi
“alamat_toko” dan “kota_toko”.
2) Atribut “kd_barang” dan “nama_barang” adalah atribut
multivalue. Maka kita harus membuat record secara tepisah.
Dan pada atribut “total_harga” kita samakan nilainya dengan
atribut “harga”

Gambar 3. 79 Tabel Toko Online


Gambar tabel di atas sudah memenuhi normalisasi syarat 1
-NF.
b) 2 – NF
Sebelum lanjut ke proses 2 – NF, tentukan terlebih atribut
determinannya :
a. Kd_pembeli
b. Kd_toko
c. Kd_barang
1) Identifikasi ketergantungan fungsinya.
108

a. Atribut “nama_pembeli”, “alamat”, “kota”, “provinsi”,


“kode_pos”, “kontak”, dan “email” bergantung pada atribut
“kd_pembeli”.
b. Atribut “alamat_toko”, “kota_toko”, dan “provinsi”
bergantung pada atribut “kd_toko”.
c. Atribut “nama_barang” dan “harga” bergantung pada
atribut “kode_barang”.
d. Atribut “total_harga” bergantung pada atribut “kd_toko”,
“kd_pembeli”, dan “kd_barang”.
2) Lakukan dekomposisi pada setiap ketergantungan fungsinya.

Gambar 3. 80 Tabel Pembeli


Setelah dilakukan dekomposisi, maka gambar tabel akan
berubah seperti di atas.

Gambar 3. 81 Tabel Toko


Setelah dilakukan dekomposisi, maka gambar tabel akan
berubah seperti di atas.
109

Gambar 3. 82 Tabel Barang


Setelah dilakukan dekomposisi, maka gambar tabel akan
berubah seperti di atas.

Gambar 3. 83 Tabel Total Harga


Setelah dilakukan dekomposisi, maka gambar tabel akan
berubah seperti di atas.
c) 3 – NF
110

1) Identifikasi atribut transitif.


a. Atribut “kota” dan “provinsi” bergantung transitif pada
atribut “kode pos”.
2) Lakukan dekomposisi pada setiap atribut yang memiliki
ketergantungan transitif.

Gambar 3. 84 Tabel Pembeli


Gambar tabel di atas adalah tabel yang sudah memenuhi
syarat normalisasi 3 – NF.

Gambar 3. 85 Tabel Kode Pos


Gambar tabel di atas adalah tabel yang sudah memenuhi
syarat normalisasi 3 – NF.
Berikut adalah tabel hasil normalisasi dari syarat 1 – NF hingga 3 –
NF
111

Gambar 3. 86 Tabel Pembeli


Gambar tabel di atas adalah tabel yang sudah di normalisasi
dari 1 – NF hingga 3 – NF.

Gambar 3. 87 Tabel Kode Pos


Gambar 3.88 di atas adalah tabel yang sudah di normalisasi
dari 1 – NF hingga 3 – NF.

Gambar 3. 88 Tabel Toko


Gambar tabel di atas adalah tabel yang sudah di normalisasi
dari 1 – NF hingga 3 – NF.
112

Gambar 3. 89 Tabel Barang


Gambar tabel di atas adalah tabel yang sudah di normalisasi
dari 1 – NF hingga 3 – NF.
113

Gambar 3. 90 Tabel Total_harga


Gambar tabel di atas adalah tabel yang sudah di normalisasi
dari 1 – NF hingga 3 – NF.
3.5. Kesimpulan
Dari praktikum yang telah dilakukan, dapat diketahui bahwa
normalisasi merupakan proses untuk menciptakan suatu tabel dalam basis
data dengan tujuan untuk mengurangi kemubaziran. Normalisasi terdiri
dari beberapa tahapan yaitu dari unnormalize, 1 – NF, 2 – NF, 3 – NF,
BCNF, 4 – NF, dan 5 – NF. NamuN yang kita pelari pada modul ini hanya
bentuk normal 1 NF, 2 – NF, dan 3 – NF. Karena umumnya untuk
normalisasi tabel database sudah cukup hanya sampai bentuk normal 3 –
NF. 4 – NF dan 5 – NF hanya digunakan saat masih ada anomali –
anomali pada bentuk sebelumnya.
BAB IV
DATA DEFINITION LANGUAGE
4.1. Tujuan
1. Untuk memenuhi definisi DDL dan perintah DDL
2. Untuk memahami primary key, foreign key, unique key
3. Untuk memahami konsep create, alter, drop
4.2. Dasar Teori
4.2.1. Definisi
Data Definition Language atau disingkat (DDL), adalah bahasa dari
DBMS yang berfungsi untuk membuat, mengubah, serta menghapus basis
data dan objek-objek yang diperlukan dalam basis data (Database, Tabel,
function, Trigger, View). DDL merupakan kumpulan perintah SQL yang
digunakan dalam mendefinisikan bagaimana data disimpan dalam basis
data. (Fikry et al., 2018)
4.2.2. Perintah DDL
1. Membuat (Create)
CREATE digunakan untuk membuat sebuah objek (Database,
Tabel, function, Trigger, View) baru didalam database. Berikut ini
adalah penggunaan sintaknya :

a. Membuat Database
CREATE DATABASE nama_database;

b. Membuat Tabel
CREATE TABLE nama_table( nama_kolom1 tipe_data (panjang
_data),nama_kolom2 tipe_data(panjang_data),……);

c. Membuat Tabel Dengan Primary Key


CREATE TABLE nama_table(nama_kolom1 tipe_data (panjang_
data) PRIMARY KEY AUTO INCREMENT, nama_kolom2
tipe_data (panjang_data),…..);

d. Membuat Tabel Dengan Foreign key CREATE TABLE

115
116

nama_table(nama_kolom1tipe_data(panjang_data),nama_kolo
m2 tipe_data(panjang_data),

FOREIGN KEY (nama_kolom1) REFERENCES


nama_tabel2(nama _kolom1));

2. Mengubah (ALTER & RENAME)


ALTER digunakan untuk memanipulasi struktur tabel, seperti
mengubah nama kolom, mengubah tipe data kolom, menhapus kolom,
atau menambah kolom baru, berikut iniadalah penggunaan sintaknya :
a. Menambahkan kolom / field (posisi di akhir)
ALTER TABLE nama_table ADD nama_kolom
tipe_data(panjang_data);

b. Menambahkan kolom/field (posisi di tengah)


ALTER TABLE nama_table ADD nama_kolom3
tipe_data(panjang_data) AFTER nama_kolom2;

c. Menambahkan kolom/field (posisi di awal)


ALTER TABLE nama_table ADD nama_kolom3
tipe_data(panjang_data) FIRST;

d. Menambahkan primary key (jika belum tersedia)


ALTER TABLE nama_table ADD PRIMARY KEY(nama_kolom);

e. Menghapus primary key


ALTER TABLE nama_table DROP PRIMARY KEY;

f. Mengganti kolom primary key


ALTER TABLE nama_table DROP PRIMARY KEY ADD PRIMARY
KEY(nama_kolom);

g. Menambah foreign key


ALTER TABLE nama_table ADD FOREIGN KEY(nama_kolom1)
REFEERENCES nama_table2(nama_kolom1);

h. Menambah nilai unik pada kolom


ALTER TABLE nama_tabel ADD UNIQUE (kolom_1, kolom_2);

i. Menghapus nilai unik pada kolom


117

ALTER TABLE nama_table DROP INDEX kolom_unik;

j. Mengubah nama kolom pada tabel


ALTER TABLE nama_table CHANGE nama_kolom_lama
nama_kolom_baru tipe_data(length);

k. Menambah isi default (nilai awal)


ALTER TABLE nama_table ALTER nama_kolom SET DEFAULT
“isi data‟;

l. Menghapus / menjadikan kolom tanpa nilai default


ALTER TABLE nama_table ALTER nama_kolom DROP DEFAULT;

m. Menghapus kolom pada tabel


ALTER TABLE nama_table DROP nama_kolom;

RENAME digunakan untuk mengubah nama tabel, berikut ini


adalah penggunaan sintaknya :
RENAME nama_table_lama TO nama_table_baru;

3. Menghapus (DROP)
DROP digunakan untuk menghapus objek yang terdapat di
dalam database. Berikut ini adalah conoh penggunaan sintak nya :
a. Menghapus Tabel
DROP TABLE nama_table;

b. Menghapus Database
DROP DATABASE nama_database;

4.2.3. Primary Key


Primary Key adalah field (kolom) kunci / utama dari suatu tabel yang
menunjukkan bahwa field (kolom) yang menjadi kunci tersebut tidak bisa
di isi dengan data yang sama atau dengan kata lain Primary key
menjadikan tiap record (baris data) memiliki identitas sendiri-sendiri yang
membedakan satu sama lainnya (unik). Sebagai contoh, dalam tabel
mahasiswa mungkin memiliki resiko yang besar untuk membedakan setiap
namanya, bisa saja seorang mahasiswa tersebut memiliki nama yang sama
dengan mahasiswa lain. Oleh karena itu, diperlukannya id_mahasiswa
118

yang diberikan kepada setiap mahasiswa sebagai primary key yang dapat
memastikan bahwa setiap mahasiswa tersebut berbeda.
A. Syarat Primary Key

 Sebuah tabel hanya bisa memiliki satu primary key


 Kolom yang di definisikan sebagai primary key berifat NOT NULL.
Fungsinya untuk memastikan bahwa nilai pada kolom tersebut harus
terisi (tidak boleh kosong). Jika dilakukan penginputan data, namun
tidak memberikan nilai pada kolom tersebut maka akan terjadi error
pada database.
 Tidak boleh terdapat nilai data yang sama di kolom (field) tersebut.
 Tipe data yang digunakan untuk primary key tidak boleh bertipe
BLOB.
4.2.4. Auto Increment
Selain menggunakan kolom untuk menyimpan nilai unik yang
dimasukan sendiri, SQL juga menyediakan fitur AUTO_INCREMENT,
yaitu fitur pada database untuk membuat angka berurutan secara otomatis
ketika ada penambahan data. Otomatis disini artinya pada saat
memasukkan data baik melalui statement INSERT maupun melalui
mekanisme data access lainnya, field tersebut tidak perlu dimasukkan
nilainya atau cukup diberi nilai NULL, maka SQL akan menentukan
sendiri nilai apa yang akan diberikan sebagai akibat penambahan baris
data. Misalkan : Ada tabel mahasiswa dengan kolom no_mhs sudah
diberikan fungsi AUTO_INCREMENT, dan memiliki data sebagai
berikut:
Tabel 4. 1 tabel mahasiswa

Gambar di atas adalah tabel mahasiswa


119

Tabel 4. 2 Tabel mahasiswa yang sudah ditambahkan

Gambar tabel di atas menunjukan konsep dari penerapan auto


increment. Dengan memasukan kedua data tersebut maka nilai pada
kolom no_mhs akan menyesuaikan dengan urutan sebelumnya.

A. Syarat AUTO_INCREMENT
 Field tersebut harus didefinisikan sebagai primary key.
 Menambahkan keyword auto_increment pada definisi field.
 Harus bertipe numerik (tinyint, bigint, int, float, dll).
 Hanya boleh ada satu field auto_increment pada suatu tabel, tidak
bisa lebih.
B. Membuat Table Dengan AUTO_INCREMENT Field
Berikut adalah contoh statement SQL untuk membuat suatu
tabel bernama “table_ai” dengan auto_increment pada field
“kode_transaksi”.

CREATE TABLE table_ai (kode_transaksi INT NOT NULL


PRIMARY KEY AUTO_INCREMENT, deskripsi VARCHAR(200));

Penulisan primary key

CREATE TABLE nama tabel (nama_kolom1 INT AUTO_INCREMENTS


PRIMARY KEY,

nama_kolom2 tipe data(panjang data));

4.2.5. Foreign Key


Foreign Key adalah sebuah atribut atau gabungan atribut yang
terdapat dalam suatu tabel yang digunakan untuk menciptakan hubungan
(relasi) antara dua tabel. Dalam relasional database, penggunaan foreign
key merujuk pada suatu kunci primer yang terdapat pada tabel pertama.
120

Untuk lebih jelasnya, perhatikanlah gambar dibawah ini :

Gambar 4. 1 Foreign key


Pada gambar diatas, kolom noMahsiswa yang berada dalam tabel
nilai merupakan foreign key. Sebab, kolom noMahasiswa merujuk pada
kolom no Mahasiswa yang berada di tabel mahasiswa.
Pada dasarnya, foreign key digunakan untuk menandakan hubungan
tabel yang satu dengan yang lainnya. atau dapat dikenal dengan istilah
parent dan child. Tabel pertama berperan sebagai parent yang terdapat
primary key di dalamnya, tabel kedua disebut sebagai child yang berisi
kunci asing (foreign key).
Suatu tabel dapat dikatakan child apabila dalam tabel tersebut
terdapat kolom yang merupakan rujukan (reference) terhadap tabel
pertama atau parent. Selain itu, terdapat beberapa fungsi yang dimiliki
oleh foreign key.
A. Syarat Foreign Key
- Merupakan primary key yang berasal dari tabel lain.
- Tidak boleh kosong (NOT NULL).
B. Penulisan Foreign Key
CREATE TABLE nama_tabel( Nama_kolom NOT NULL
AUTO_INCREMENT PRIMARY KEY, Nama_kolom1 VARCHAR(50) NOT
NULL FOREIGN KEY (nama_kolom1) REFERENCES
nama_tabelParrent(nama_kolomPK));

4.2.6. Unique key


Unique Key adalah field (kolom) dari suatu tabel yang menunjukkan
bahwa field (kolom) tidak bisa di isi dengan data yang sama. Berdasarkan
121

dari definisi tersebut Unique key memiliki fungsi yang sama dengan
primary key, namun yang membedakannya adalah Unique key bisa
dikosongkan dan bisa diimplentasikan di lebih satu kolom pada suatu
tabel. Berikut adalah contoh penulisan dari unique key :
CREATE TABLE nama_tabel(Nama_kolom tipe_data(panjang_data)
NOT NULL UNIQUE, Nama_kolom2 tipe_data(panjang_data)

);

4.3. Latihan
4.3.1 Membuka MariaDB Melalui XAMPP Control Panel
1. Membuka CMD, melalui kolom search windows.

Gambar 4. 2 Membuka CMD


Gambar di atas langkah-langkah untuk membuka CMD.
2. Mengetikan mysql -u root -p.

Gambar 4. 3 Masuk ke MariaDB


Untuk masuk ke MariaDB masukan keyword seperti langkah
di atas.
3. Jika disuruh untuk memasukan password, masukan password untuk
akses MariaDB.
122

Gambar 4. 4 Input Password MariaDB


Setelah memasukan password, sekarang Anda sudah berhasil
akses ke MariaDB.
4.3.2 CREATE
Buatlah database baru dengan nama kantor beserta tabelnya, yaitu :
1. Pegawai
- Id_pegawai (primary key)
- Id_jabatan
- Nama
- Alamat
- No_telepon
- Email
- Gaji
2. Jabatan
- Id_jabatan (primary key)
- Jabatan
- Masa aktif
3. Inventaris
- Id_inventaris
- No_barang
- Merk
- Pemilik
4. Tabel User
- Id_user
123

- Nama
- Password
Jawab :
`Membuat database baru dengan nama kantor.

Gambar 4. 5 Create Database Kantor


Query di atas adalah perintah untuk membuat database baru
bernama kantor.

Gambar 4. 6 Menggunakan database kantor


Gunakan database kantor agar bisa bisa diberikan tabel dan
melakukan operasi lainya.
Membuat tabel di dalam database kantor.

1. Tabel Pegawai

Gambar 4. 7 Create Tabel Pegawai


Query di atas adalah perintah untuk membuat tabel baru
bernama pegawai.

Gambar 4. 8 Menampilkan Struktur Tabel Pegawai


Untuk melihat struktur tabel pegawai yang sudah dibuat tadi, kita
gunakan keyword DESC pegawai, untuk menampilkan tabel pegawai.
124

2. Tabel Jabatan

Gambar 4. 9 Create Tabel Jabatan


Query di atas adalah perintah untuk membuat tabel baru bernama
jabatan.

Gambar 4. 10 Menampilkan Struktur Tabel Jabatan


Untuk melihat struktur tabel pegawai yang sudah dibuat tadi, kita
gunakan keyword DESC jabatan, untuk menampilkan tabel jabatan.
3. Tabel Inventaris

Gambar 4. 11 Create Tabel Inventaris


Query di atas adalah perintah untuk membuat tabel baru bernama
inventaris.

Gambar 4. 12 Menampilkan Struktur Tabel Inventaris


Untuk melihat struktur tabel pegawai yang sudah dibuat tadi, kita
gunakan keyword DESC inventaris, untuk menampilkan tabel
inventaris.
4. Tabel User
125

Gambar 4. 13 Create Tabel User


Query di atas adalah perintah untuk membuat tabel baru bernama
user.

Gambar 4. 14 Menampilkan Struktur Tabel User


Untuk melihat struktur tabel pegawai yang sudah dibuat tadi, kita
gunakan keyword DESC user, untuk menampilkan tabel user.
4.3.3. ALTER
Dari tabel yang sudah dibuat ubahlah struktur tabel berdasarkan
ketentuan sebagai berikut :
1. Tabel Pegawai
a. Ubah nama tabel menjadi tabel “karyawan”.

Gambar 4. 15 Menampilkan Tabel Dalam Database Kantor


Gambar di atas adalah perintah untuk menampilkan semua
tabel yang ada di dalam database kantor.

Gambar 4. 16 Mengubah Nama Tabel


Query pada gambar 4.16 adalah perintah untuk mengubah
nama tabel pegawai menjadi karyawan.
126

Gambar 4. 17 Hasil Setelah Diubah


Gambar 4.17 adalah menampilkan hasil dari tabel karyawan
yang telah diubah sebelumnya.
b. Ubah nama kolom “nama” menjadi “nama_depan”.

Gambar 4. 18 Nama Kolom Sebelum Diubah


Gambar di atas adalah kolom “nama” di tabel karyawan
sebelum diubah.

Gambar 4. 19 Query Mengubah Kolom Nama


Query di atas adalah perintah untuk mengubah kolom “nama”
menjadi “nama_depan” pada tabel karyawan.

Gambar 4. 20 Hasil Setelah Kolom Diubah


Terlihat seperti gambar di atas, kolom nama telah berubah
menjadi “nama_depan”.
c. Tambahkan kolom “nama_belakang” setelah “nama_depan”.
127

Gambar 4. 21 Tabel Sebelum Kolom Ditambahkan


Gambar di atas adalah tabel karyawan sebelum menambahkan
kolom.

Gambar 4. 22 Penambahan Kolom


Query di atas adalah perintah untuk menambahkan kolom
“nama_belakang” setelah “nama_depan”.

Gambar 4. 23 Hasil Setelah Nama Kolom Ditambahkan


Gambar 4.23 di atas adalah hasil setelah berhasil
menambahkan kolom “nama_belakang” setelah “nama_depan” pada
tabel karyawan.
d. Hapus Kolom Gaji.

Gambar 4. 24 Tabel Karyawan Sebelum Tabel Gaji Dihapus


Gambar di atas adalah tabel karyawan sebelum kolom “gaji”
dihapus.

Gambar 4. 25 Drop Kolom Gaji


Query di atas adalah perintah untuk menghapus kolom “gaji”
128

pada tabel karyawan.

Gambar 4. 26 Tabel Karyawan Setelah Kolom Gaji Dihapus


Gambar di atas adalah hasil setelah kolom gaji dihapus pada
tabel karyawan.
e. Tambahkan foreign key pada kolom “id_jabatan” (acuan ke tabel
jabatan dengan kolom id_jabatan).

Gambar 4. 27 Menambahkan Foreign Key


Query di atas adalah perintah untuk menambahkan foreign key
“id_jabatan” yang ada pada tabel jabatan.

Gambar 4. 28 Tabel Karyawan Setelah Ditambah Foreign Key


Gambar di atas adalah hasil setelah tabel karyawan setelah
ditambah kolom foreign key “id_jabatan”.
f. Ubah tipe data pada kolom no_telepon dari INT menjadi
VARCHAR.

Gambar 4. 29 Sebelum Diubah Tipe Datanya


Gambar di atas adalah tabel karyawan sebelum kolom
no_telepon diubah tipe datanya.

Gambar 4. 30 Query Mengubah Tipe Data


Query di atas adalah perintah untuk mengubah tipe data kolom
129

“no_telepon” menjadi VARCHAR.

Gambar 4. 31 Hasil Setelah Tipe Data Diubah


Gambar di atas adalah hasil setelah tipe data kolom
“no_telepon” dari INT diubah menjadi VARCHAR.
2. Tabel Jabatan
a. Hapus kolom “masa_aktif”.

Gambar 4. 32 Tabel Jabatan Sebelum Kolomnya Dihapus


Gambar diatas adalah tabel jabatan sebelum kolom
“masa_aktif” dihapus.

Gambar 4. 33 Query Hapus Kolom


Query di atas adalah perintah untuk menghapus kolom
“masa_aktif” pada tabel jabatan.

Gambar 4. 34 Tabel Jabatan Sesudah Kolomnya Dihapus


Gambar di atas adalah hasil setelah kolom “masa_aktif” pada
tabel jabatan dihapus.
b. Tambahkan Kolom Gaji

Gambar 4. 35 Tabel Jabatan Sebelum Menambahkan Kolom

Gambar di atas adalah tabel jabatan sebelum di tambahkan


kolom baru.
130

Gambar 4. 36 Query Menambah Kolom Baru


Query di atas adalah perintah untuk menambahkan kolom
“gaji” pada tabel jabatan.

Gambar 4. 37 Tabel Jabatan Setelah Ditambah Kolom Baru


Gambar di atas adalah hasil setelah tabel jabatan berhasil
ditambah kolom “gaji”.
c. Tambahkan kolom “keterangan” sebelum kolom “gaji”.

Gambar 4. 38 Tabel Jabatan Sebelum Ditambah Kolom Baru


Gambar di atas adalah tabel jabatan sebelum ditambah kolom
baru.

Gambar 4. 39 Query Untuk Menambah Kolom Baru


Query di atas adalah perintah untuk menambahkan kolom
“keterangan” sebelum kolom gaji pada tabel jabatan.

Gambar 4. 40 Tabel Jabatan Setelah Ditambah Kolom Baru


Gambar di atas adalah hasil setelah berhasil menambahkan
kolom “keterangan” sebelum kolom “gaji”.
d. Ubah nama kolom “jabatan” menjadi “nama”.
131

Gambar 4. 41 Tabel Jabatan Sebelum Diubah Nama Kolomnya


Gambar di atas adalah tabel jabatan sebelum diubah nama
salah satu kolomnya.

Gambar 4. 42 Query Mengubah Nama Kolom


Query di atas adalah perintah untuk mengubah nama kolom
“jabatan” menjadi “nama”.

Gambar 4. 43 Tabel Hasil Setelah Diubah Nama Kolomnya


Gambar di atas adalah hasil setelah berhasil mengubah nama
kolom “jabatan” menjadi “nama” pada tabel jabatan.
e. Tambahkan nilai awal dikolom “nama” yaitu “staff”.

Gambar 4. 44 Tabel Jabatan Sebelum Kolomnya Ditambah Nilai Default


Gambar di atas adalah tabel jabatan sebelum kolom “nama”
diberi nilai default.

Gambar 4. 45 Query menambahkan nilai default


Gambar diatas merupakan query untuk menambahkan nilai
default
132

Gambar 4. 46 tabel jabatan setelah diberi nilai default


Gambar diatas menampilakan tabeljabatan setelah
ditambahkan nilai default “Staff” pada kolom nama.
3. Tabel Inventaris
a. Ubah nama kolom “id_inventaris” menjadi “id_barang”.

Gambar 4. 47 Tabel Inventaris Sebelum Diubah Nama Kolomnya


Gambar di atas adalah tabel inventaris sebelum ditambah
kolom baru.

Gambar 4. 48 Query Mengubah Nama Kolom


Query di atas adalah perintah untuk mengubah nama kolom
“id_inventaris” menjadi “id_barang”.

Gambar 4. 49 Tabel Inventaris Setelah Diubah Nama Kolomnya


Gambar di atas adalah hasil setelah berhasil mengubah nama
kolom “id_inventaris” menjadi “id_barang” pada tabel inventaris.
b. Tambahkan primary key pada kolom “id_barang”.

Gambar 4. 50 Query Menambahkan Primary Key


Query di atas adalah perintah untuk menambahkan primary
key pada kolom “id_barang”.
133

Gambar 4. 51 Tabel Inventaris Setelah Ditambah Primary Key


Gambar di atas adalah hasil setelah berhasil menambahkan
primary key pada kolom “id_barang” pada tabel inventaris.
c. Tambahkan nilai unik pada kolom “no_barang”.

Gambar 4. 52 Query Menambahkan Unik Pada Kolom


Query di atas adalah perintah untuk menambahkan unik pada
kolom “no_barang”.

Gambar 4. 53 Tabel Inventaris Setelah Kolomnya Diberi Unik


Gambar di atas adalah hasil setelah berhasil menambahkan
unik pada kolom “no_barang” di tabel inventaris.
d. Hapus kolom “pemilik”,

Gambar 4. 54 Tabel Inventaris Sebelum Dihapus Kolomnya


Gambar di atas adalah tabel inventaris sebelum salah satu
kolomnya dihapus.

Gambar 4. 55 Query Hapus Kolom


Query di atas adalah perintah untuk menghapus kolom pemilik
pada tabel inventaris.
134

Gambar 4. 56 Tabel Inventaris Setelah Kolom Pemilik Dihapus


Gambar di atas adalah hasil setelah berhasil menghapus kolom
“pemilik” pada tabel inventaris.
e. Tambahkan kolom “stok”

Gambar 4. 57 Query Menambahkan Kolom Stok


Query di atas adalah perintah untuk menambahkan kolom
“stok” pada tabel inventaris.

Gambar 4. 58 Tabel Inventaris Setelah Ditambah Kolom Stok


Gambar diatas menampilkan rabel inventaris setelah ditambah
kolom stok
4.3.4. DROP
Hapus tabel user, dari database kantor.

Gambar 4. 59 Database Kantor Sebelum Dihapus Tabelnya


Gambar di atas adalah database kantor sebelum tabel user dihapus.

Gambar 4. 60 Query Hapus Tabel


Query di atas adalah perintah untuk menghapus tabel user
pada database kantor.
135

Gambar 4. 61 Database Kantor Setelah Kolom User Dihapus


Gambar di atas adalah tabel yang ada pada database kantor,
dimana tabel user berhasil dihapus.
4.4. Tugas
1. Buatlah database beserta tabelnya !
1) Database rumah sakit :
a. Tabel Pasien
- Id_pasien (primary key)
- Kd_pasien
- Nama_pasien
- Ttl
- Gol. Darah (gunakan tipe data ENUM)
- Tinggi_badan
- Jenis_kelamin(gunakan tipe data ENUM)
- Alamat

Gambar 4. 62 query membuat database rumah sakit

Gambar 4. 63 query membuat tabel pasien


Pada gambar di atas kita berhasil membuat database
baru yaitu rumah sakit dan tabel baru yaitu pasien.
136

Gambar 4. 64 Menampilkan Isi Tabel Pasien


Pada gambar di atas kita telah menampilkan isi dari tabel
pasien.
b. Tabel Spesialis
- Id_spesialis (primary key)
- Spesialis
- Jumlah spesialis

Gambar 4. 65 Create Tabel Spesialis


Pada gambar di atas kita berhasil membuat tabel spesialis
beserta isinya.
c. Tabel Dokter
- Id_dokter(primary key)
- Id_spesialis(foreign key)
- Kd_dokter
- Nama_dokter
- Lulusan
- Tanggal lahir
- Alamat
- Email
137

Gambar 4. 66 Create Tabel Dokter


Pada gambar di atas kita telah berhasil membuat tabel
baru yaitu tabel dokter. Dimana di dalamnya terdapat foreign
key id_spesialis terhadap id_spesialis di tabel spesialis.
d. Tabel Jadwal Dokter
- Id_jadwal
- Id_dokter
- Jam kerja
- Total jam

Gambar 4. 67 Create Tabel Jadwal Dokter


Pada gambar di atas kita berhasil membuat tabel baru
yaitu tabel jadwal_dokter. Dimana di dalamnya terdapat
foreign key id_dokter terhadap id_dokter di tabel dokter.
e. Tabel Kamar
- Id_kamar(primary key)
- Nama_kamar
- Jenis
138

Gambar 4. 68 Create Tabel Kamar


Pada gambar di atas kita berhasil membuat tabel baru
yaitu tabel kamar.
f. Tabel Pembayaran
- Id_pembayaran (primary key)
- Id_pasien (foreign key mengacu pada kolom id_pasien pada
tabel pasien)
- Id_kamar (foreign key mengacu pada kolom id_kamar pada
tabel kamar)

Gambar 4. 69 Create Tabel Pembayaran


Pada gambar di atas kita telah berhasil membuat tabel
baru yaitu tabel pembayaran. Dimana di dalamnya terdapat
foreign key id_pasien terhadap id_pasien di tabel pasien. Dan
di juga terdapat foreign key id_kamar terhadap id_kamar di
tabel kamar.
2) Database Rental Mobil
a. Pelanggan
- Id_pelanggan (primary key)
- Nama_pelanggan
- Email
- Alamat
139

Gambar 4. 70 Create Tabel Pelanggan


Pada gambar di atas kita berhasil membuat database
dan tabel baru yaitu database rental mobil dan tabel
pelanggan.
b. Penyewaan
- Id_transaksi (primary key)
- Id_pelanggan (foreign key mengacu pada
kolom id_pelanggan pada tabel pelanggan)

Gambar 4. 71 Create Tabel Penyewaan


Pada gambar di atas kita berhasil membuat tabel baru
yaitu tabel penyewaan. Dimana di dalamnya terdapat foreign
key id_pelanggan terhadap id_pelanggan di tabel pelanggan.
c. Mobil
- Id_mobil (primary key)
- Kd_mobil
- Nama
- warna
140

Gambar 4. 72 Create Tabel Mobil


Pada gambar di atas kita berhasil membuat tabel baru
yaitu tabel mobil.
d. Paket
- Id_paket(primary key)
- Nama_paket

Gambar 4. 73 Create Tabel Paket


Pada gambar di atas kita berhasil membuat tabel baru
yaitu tabel paket.
3) Database Perpustakaan
a. Tabel Anggota
- Id_anggota(primary key)
- Nama
- Ttl
- Jenis_kelamin (gunakan tipe data ENUM)
- Kelas
141

Gambar 4. 74 Create Database Perpustakaan dan Tabel Anggota


Pada gambar di atas kita berhasil membuat database dan
tabel baru yaitu database perpustakaan dan tabel anggota.
b. Tabel Buku
- Id_buku
- Id_kategori
- Judul
- Jumlah
- Penerbit

Gambar 4. 75 Create Tabel Buku


Pada gambar di atas kita berhasil membuat tabel baru
yaitu tabel buku. Dimana terdapat atribut foreign key yaitu
id_kategori terhadap id_kategori di tabel kategori.
c. Tabel Kategori
- Id_kategori (primary key)
- Nama_kategori
142

Gambar 4. 76 Create Tabel Kategori


Pada gambar di atas kita berhasil membuat tabel baru
yaitu tabel kategori.
d. Tabel Peminjaman
- Id_peminjaman (primary key)
- Id_buku (foreign key mengacu pada kolom id_buku pada tabel
buku
- Id_anggota (foreign key mengacu pada kolom id_anggota pada
tabel anggota)
- Tgl_peminjaman

Gambar 4. 77 Create Tabel Peminjaman


Pada gambar di atas kita berhasil membuat tabel baru
yaitu tabel peminjaman. Dimana terdapat foreign key atribut
“id_buku” terhadap atribut “id_buku” di tabel buku. Dan juga
atribut “id_anggota” terhadap atribut “id_anggota” di tabel
anggota.
e. Tabel Denda
- Id_denda
- Id_peminjaman
- Tgl_pembayaran
143

Gambar 4. 78 Create Tabel Denda


Pada gambar di atas kita berhasil membuat tabel baru
yaitu tabel denda. Dimana terdapat foreign key atribut
“id_peminjaman” terhadap atribut “id_peminjaman” di tabel
peminjaman.
f. Tabel Petugas
- Id_petugas (primary key)
- Nama_petugas
- Alamat
- Email
- Status
- Posisi

Gambar 4. 79 Create Tabel Petugas


Pada gambar di atas kita berhasil membuat tabel baru
yaitu tabel petugas.
2. Perbaiki struktur tabel dari masing – masing database¸ yang telah
dibuat!
1) Rumah Sakit
a. Pasien
144

a) Tambahkan nilai unik pada kolom kd_pasien.

Gambar 4. 80 Add Unique


Terlihat pada gambar di atas kita berhasil menambahkan
unik pada kolom “kd_pasien”.
b) Ubah kolom “ttl” menjadi “tempat_lahir”.

Gambar 4. 81 Mengganti ttl menjadi tempat_lahir


Pada gambar di atas kita berhasil mengubah kolom “ttl”
menjadi “tempat_lahir”.
c) Tambahkan kolom “tanggal_lahir” setelah “tempat_lahir”.

Gambar 4. 82 Menambah kolom tanggal_lahir setelah tempat_lahir


Pada gambar di atas kita berhasil menambahkan kolom
“tanggal_lahir” setelah “tempat_lahir”.
d) Tambahkan kolom “berat_badan” setelah “gol_darah”.
145

Gambar 4. 83 Menambahkan kolom berat_badan setelah gol_darah


Pada gambar di atas kita berhasil menambahkan kolom
“berat_badan” setelah “gol_darah”.
e) Ubah nama kolom “gol_darah” menjadi “golongan_darah”.

Gambar 4. 84 Merubah kolom gol_darah menjadi golongan_darah


Pada gambar di atas kita berhasil mengubah kolom
“gol_darah” menjadi “golongan_darah”.
b. Spesialis
a) Hapus kolom jumlah spesialis.

Gambar 4. 85 Menghapus kolom jumlah_spesialis


Terlihat pada kita sudah berhasil menghapus kolom
“jumlah_spesialis”.
b) Tambahkan nilai default pada kolom “spesialis_dokter” yaitu
“umum‟.
146

Gambar 4. 86 Menambahkan nilai default pada kolom spesialis


Terlihat dari gambar di atas kita berhasil menambahkan
default umum di kolom “spesialis_dokter”.
c. Dokter
a) Tambahkan nilai unik pada kolom kd_dokter.

Gambar 4. 87 Menambahkan nilai unik pada kolom kd_dokter


Pada gambar di atas kita berhasil menambahkan unik
pada kolom “kd_dokter”.
b) Hapus kolom “lulusan”.

Gambar 4. 88 Menghapus kolom lulusan


Pada gambar di atas kita telah menghapus kolom
“lulusan” dari tabel dokter.
c) Tambahkan kolom “no_telepon”.
147

Gambar 4. 89 Menambahkan kolom no_telepon


Pada gambar di atas kita telah berhasil menambahkan
kolom “no_telepon” dengan tipe data VARCHAR.
d) Tambahkan kolom “tempat_lahir” sebelum kolom
“tanggal_lahir”.

Gambar 4. 90 Menambahkan kolom tempat_lahir sebelum tanggal_lahir


Terlihat pada gambar di atas kita berhasil menambahkan
kolom “tempat_lahir” sebelum kolom “tanggal_lahir” dengan
tipe data VARCHAR.
e) Tambahkan foreign key id_spesialis yang mengacu pada
kolom id_spesialis pada tabel spesialis.

Gambar 4. 91 Menambahkan foreign key pada id_spesialis


Pada gambar di atas kita telah menambahkan foreign key
148

pada kolom “id_spesialis” di tabel dokter yang mengacu pada


kolom “id_spesialis” di tabel spesialis.
d. Jadwal Dokter
a) Tambahkan primary key pada “id_jadwal”.

Gambar 4. 92 Menambahkan primary key pada id_jadwal


Pada gambar di atas kita berhasil menambahkan primary
key pada kolom “id_jadwal” pada tabel jadwal_dokter.
b) Hapus kolom “total_jam”.

Gambar 4. 93 Menghapus kolom total_jam


kolom “total_jam” pada tabel jadwal_dokter.
c) Tambahkan kolom “jam_pulang”.

Gambar 4. 94 Menambahkan kolom jam_pulang


Terlihat pada gambar di atas kita telah berhasil
menambahkan kolom baru yaitu kolom “jam_pulang”.
149

d) Tambahkan foreign key pada kolom id_dokter (mengacu pada


kolom “id_dokter yang berada” di tabel dokter).

Gambar 4. 95 Menambahkan foreign key pada kolom id_dokter


Terlihat pada gambar di atas kita berhasil menambahkan
foreign key pada kolom “id_dokter” yang mengacu pada
kolom “id_dokter” di tabel dokter.
c. Kamar
a) Tambahkan kolom harga setelah kolom jenis.

Gambar 4. 96 Menambahkan kolom harga setelah jenis


Terlihat pada gambar di atas kita telah berhasil
menambahkan kolom “harga” setelah kolom “jenis”.
b) Hapus kolom “nama_kamar”

Gambar 4. 97 Menghapus kolom nama_kamar


Pada gambar di atas kita telah berhasil menghapus kolom
“nama_kamar” dari tabel kamar.
2) Rental Mobil
a. Pelanggan
150

a) Tambahkan kolom “nik” setelah kolom “id_pelanggan”.

Gambar 4. 98 Menambahkan kolom nik setelah id_pelanggan


Terlihat pada gambar di atas kita telah berhasil
menambahkan kolom “nik” setelah kolom “id_pelanggan”.
b) Tambah nilai unik pada kolom “nik”.

Gambar 4. 99 Menambahkan nilai unik pada kolom nik


Terlihat seperti gambar di atas kita berhasil
menambahkan unik pada kolom “nik” di tabel pelanggan.
c) Tambahkan kolom “no_telepon” sebelum “email”.

Gambar 4. 100 Menambahkan kolom no_telepon sebelum email


Terlihat pada gambar di atas kita berhasil menambahkan
kolom no_telepon sebelum kolom “email”.
d) Ubah kolom “nama_pelanggan” menjadi “nama”.
151

Gambar 4. 101 Merubah kolom nama_pelanggan menjadi nama


Pada gambar di atas kita berhasil mengubah kolom
“nama_pelanggan” menjadi “nama” pada tabel pelanggan.
b. Penyewaan
a) Ubah nama tabel “penyewaan” menjadi tabel “transaksi”.

Gambar 4. 102 Mengganti tabel penyewaan menjadi “transaksi”


Gambar di atas adalah hasil setelah nama tabel
“penyewaan” diubah menjadi “transaksi”.
b) Tambahkan primary key pada kolom “id_transaksi”.

Gambar 4. 103 Menambahkan primary key pada id_transaksi


Pada gambar di atas kita telah menambahkan primary
key pada id_transaksi”.
c) Tambahkan kolom “id_mobil” setelah “id_transaksi”.
152

Gambar 4. 104 Menambahkan kolom id_mobil setelah id_transaksi


Pada gambar di atas kita telah menambahkan kolom
“id_mobil” setelah “id_transaksi”.
d) Tambahkan foreign key pada kolom “id_mobil” (mengacu
pada kolom id_mobil pada tabel mobil).

Gambar 4. 105 Menambahkan foreign key pada id_mobil


Pada gambar di atas kita telah berhasil menambahkan
foreign key pada kolom “id_mobil” di tabel transaksi yang
mengacu pada kolom “id_mobil” pada tabel mobil.
e) Tambahkan kolom “keterangan”.

Gambar 4. 106 Menambahkan kolom keterangan


Pada gambar di atas kita telah menambahkan kolom
“keterangan” dengan tipe data VARCHAR pada tabel
transaksi.
153

c. Mobil
a) Tambahkan nilai unik pada kolom “kd_mobil”.

Gambar 4. 107 Menambahkan nilai unik pada kd_mobil


Pada gambar di atas kita telah menambahkan unik pada
kolom “kd_mobil” di tabel mobil.
b) Ubah nama kolom “nama” menjadi “merk”.

Gambar 4. 108 Merubah kolom nama menjadi “merk”


Pada gambar di atas kita telah mengubah kolom “nama”
menjadi “merk” dengan tipe data VARCHAR pada tabel
mobil.
c) Tambah kolom “no_plat”.

Gambar 4. 109 Menambah kolom no_plat


Pada gambar di atas kita telah menambahkan kolom
“no_plat” pada tabel mobil.
d) Tambahkan kolom “jenis” setelah kolom “merk”.
154

Gambar 4. 110 Menambahkan jolom jenis setelah merk


Pada gambar di atas kita telah menambahkan kolom
“jenis” setelah kolom “merk” pada tabel mobil.
d. Paket
a) Hapus tabel paket.

Gambar 4. 111 Mendrop tabel paket


Gambar di atas menunjukan mendrop tabel paket
rental_mobil.

Gambar 4. 112 Menghapus tabel paket


Gambar di atas menunjukan tabel paket setelah dihapus
dari database rental_mobil.
3) Perpustakaan
a. Tabel Anggota
a) Tambahkan kolom “tanggal_lahir” setelah
kolom“tempat_lahir”.
155

Gambar 4. 113 Menambahkan tanggal_lahir setelah tempat_lahir


Pada gambar di atas kita berhasil menambahkan kolom
“tanggal_lahir” setelah kolom “tempat_lahir” pada tabel
anggota.
b) Hapus kolom “status”.

Gambar 4. 114 Menghapus kolom status


Pada gambar di atas kita telah menghapus kolom “status”
dari tabel anggota.
c) Tambahkan kolom “NIS” setelah “id_anggota”.

Gambar 4. 115 Menambahkan kolom nis setelah id_anggota


“NIS” dengan tipe data INT setelah kolom “id_anggota”
pada tabel anggota.
d) Tambahkan nilai unik pada kolom “NIS”.
156

Gambar 4. 116 Menambahkan nilai unik pada nis


Pada gambar di atas kita telah menambahkan unik pada
kolom “NIS” tabel anggota.
e) Tambahkan kolom “email”.

Gambar 4. 117 Menambahkan kolom email


Pada di atas kita telah berhasil menambahkan kolom
“email” dengan tipe data VARCHAR pada tabel anggota
b. Tabel Buku
a) Tambahkan primary key pada kolom “id_buku”.

Gambar 4. 118 Menambahkan primary key pada id_buku


Pada gambar di atas kita telah menambahka primary key
pada kolom “id_buku” pada kolom buku.
b) Tambahkan foreign key pada kolom id_kategori (mengacu
157

pada kolom “id_kategori” pada tabel kategori).

Gambar 4. 119 Menambahkan foreign key pada id_kategori


Pada gambar di atas kita telah menambahkan foreign key
pada kolom “id_kategori” pada tabel buku yang mengacu pada
kolom “id_kategori” pada tabel kategori.
c) Ubah nama kolom “jumlah” menjadi “pengarang” dan ubah
tipe datanya menjadi varchar dengan panjang data 40.

Gambar 4. 120 Merubah kolom jumlah menjadi pengarang


Pada gambar di atas kita telah mengubah kolom
“jumlah” menjadi “pengarang” dengan tipe data VARCHAR
dan panjang data 40.
d) Tambahkan kolom “ISBN” setelah kolom “id_kategori”.
158

Gambar 4. 121 Menambahkan kolom ISBN setelah kategori


Pada gambar di atas kita telah menambahkan kolom
“ISBN” setelah kolom “id_kategori”.
e) Tambahkan nilai unik pada kolom “ISBN”.

Gambar 4. 122 Menambahkan kolom ISBN setelah kategori


Terlihat pada gambar di atas kita telah menambahkan
nilai unik pada kolom “ISBN”.
c. Tabel Denda
a) Tambahkan primary key pada kolom id_denda.

Gambar 4. 123 Menambahkan nilai unik pada ISBN


Pada gambar di atas kita berhasil menambahkan
primary key pada kolom “id_denda” pada tabel denda.
b) Tambahkan foreign key pada kolom “id_peminjaman”
(mengacu pada kolom “id_peminjaman” pada tabel
159

peminjaman).

Gambar 4. 124 Menambahkan primary key pada id_denda


Pada gambar di atas kita berhasil menambahkan foreign
key pada kolom “id_peminjaman” yang mengacu pada kolom
“id_peminjaman” pada tabel peminjaman.
d. Tabel Petugas
a) Tambahkan kolom “kd_petugas” setelah kolom “id_petugas”.

Gambar 4. 125 Menambahkan foreign key pada id_peminjaman


Pada di atas kita telah berhasil menambahkan kolom
“kd_petugas” setelah kolom “id_petugas”.
b) Tambahkan nilai unik pada kolom kd_petugas.

Gambar 4. 126 Menamabahkan nilai unik pada kd_petugas


Pada gambar di atas kita telah menambahkan nilai unik
160

pada kolom “kd_petugas”.


c) Ubah kolom “posisi” menjadi “bagian” dengan tipe data
varchar dengan panjang 25.

Gambar 4. 127 Mengganti kolom posisi menjadi bagian


Terlihat pada gambar di atas yang awalnya kolom
“posisi” diubah menjadi kolom “bagian” dengan tipe data
varchar dengan panjang data 25.
d) Hapus kolom status.

Gambar 4. 128 Menghapus kolom status


Terlihat pada gambar di atas kita telah menghapus kolom
“status” dari tabel petugas.
e) Tambahkan kolom “no_telepon”

Gambar 4. 129 Menambahkan kolom no_telepon


Pada gambar di atas kita telah menamabahkan kolom
“no_telepon” pada tabel petugas.
161

4.1. Kesimpulan
Pada bab 4 ini dijelaskan tentang apa itu DDL (Data Definition
Language) dari mulai pengertian, fungsi, perintah-perintah DDL hingga
cara mengoperasikan perintah-perintah DDL. Bukan hanya itu saja, ada
juga pengertian primary key, foreign key, unique dan auto increment.
Dalam bab ini DDL berfungsi untuk membuat, mengubah, serta
menghapus basis data dan objek-objek yang diperlukan dalam basis data
(Database, Tabel, function, Trigger, View). DDL memiliki beberapa
perintah yaitu :

1. Membuat (CREATE)
Create digunakan untuk membuat sebuah objek (Database, Tabel,
function, Trigger, View) baru didalam database.

2. Merubah (ALTER & RENAME)


Alter digunakan untuk memanipulasi struktur tabel, seperti merubah
nama kolom, merubah tipe data kolom, menghapus kolom atau
menambahkan kolom baru.

1. Menghapus (DROP)
Drop digunakan untuk menghapus objek yang terdapat didalam
Database Dalam bab ini dijelaskan sebelum menggunakan DDL,
alangkah lebih baiknya mengenal berbagai jenis key yang terdapat
dalam database, yaitu:

a. Primary key

Primary Key adalah field (kolom) kunci/ utama dari suatu tabel yang
menunjukkan bahwa field (kolom) yang menjadi kunci tersebut tidak
bisa di isi dengan data yang sama

b. Foreign key
162

Foreign Key adalah sebuah atribut atau gabungan atribut yang


terdapat dalam suatu tabel yang digunakan untuk menciptakan
hubungan (relasi) antara dua tabel

c. Unique key

Unique Key adalah field (kolom) dari suatu tabel yang menunjukkan
bahwa field (kolom) tidak bisa di isi dengan data yang sama

d. Auto increment

Auto increment yaitu fitur pada database untuk membuat angka


berurutan secara otomatis ketika ada penambahan data. Dalam bab ini
dapat disimpulkan bahwa untuk merubah, membuat, dan menghapus
data kita terlebih dahulu harus paham apa itu DDL (Data Definition
Language) serta berbagai jenis key yang ada agar kita dapat lebih
mudah untuk mengolah data.
BAB V
DATA MANIPULATION LANGUAGE

5.1 Tujuan
1. Untuk memahami definisi DML dan perintah DML
2. Untuk memahami insert, select, update, dan delete
5.2 Dasar Teori
5.2.1 Definisi
Data Manipulation Language (DML) adalah kumpulan perintah
SQL yang digunakan untuk proses pengolahan isi data di dalam tabel
seperti memasukkan, merubah, menghapus, dan menampilkan data dan
tidak terkait dengan perubahan struktur dan definisi tipe data dari objek
database.
Berikut adalah perintah umum yang digunakan oleh DML:
Select digunakan untuk menampilkan data dari satu atau lebih tabel,
dalam sebuah basis data yang sama.
Insert digunakan untuk menambah data baru.
Update digunakan untuk mengubah data yang sudah ada.
Delete digunakan untuk menghapus sebuah data.
5.2.2 Insert
INSERT merupakan perintah SQL yang berfungsi untuk
menginputkan data kedalam tabel dari suatu database sesuai dengan
stuktur dari tabel tersebut. Sintaks INSERT memiliki dua macam pola
dalam menambahkan data kedalam tabel dalam database, yaitu :
a. Memasukan data keseluruh kolom INSERT INTO nama_tabel
VALUES (‘isiKolom1,’isiKolom2’.’. ’);
Perintah tersebut akan menginputkan data kedalam tabel sesuai
dengan urutan kolomnya.
b. Memasukan data kebeberapa kolom
INSERT INTO (‘kolom1,’kolom2’,’. ’)

162
163

VALUES (‘isiKolom1’,’isiKolom2’.’.. .’);

Perintah SQL diatas akan menginputkan data kedalam tabel,


dimana urutannya tidak harus mengikuti struktur tabelnya ataupun
harus menginputkan semua data kedalam kolom yang terdapat pada
tabel. Akan tetapi setiap data yang diinputkan harus mengikuti urutan
kolom yang di atur. Contoh :
INSERT INTO (‘nama,’alamat’) VALUES (‘Budi,’Semarang’);

5.2.3 Select
SELECT berfungsi untuk menampilkan data dari tabel yang terdapat
dalam tabel. Sintaks SELECT memiliki dua macam pola yaitu :
Menampilkan seluruh data
SELECT * FROM nama_tabel

Perintah tersebut digunakan untuk menampilkan seluruh data dari


tabel. Contoh :
SELECT * FROM mahasiswa;

Menampilkan data dari beberapa kolom.


SELECT nama_kolom FROM nama_tabel;

Perintah tersebut digunakan untuk menampilkan data dari kolom


yang ditentukan. Contoh :
SELECT nama, alamat FROM mahasiswa;

5.2.4 Update
UPDATE berfungsi untuk mengubah data dari satu kolom atau
lebih dari suatu tabel. Sintaks UPDATE memiliki pola sebagai berikut :
Merubah data satu kolom
UPDATE nama_tabel

SET nama_kolom = nilai_baru

WHERE kolom_acuan = nilai_kolom_acuan;

Perintah tersebut akan merubah data dari satu kolom yang telah
ditentukan dari suatu tabel. Contoh :
164

UPDATE mahasiswa SET nama = “Herman” WHERE nim = 1101;

Merubah data lebih dari satu kolom


UPDATE nama_tabel

SET nama_kolom1 = nilai_baru, nama_kolom..N =


nilai_baru, WHERE kolom_acuan = nilai_kolom_acuan;

Perintah tersebut akan merubah data lebih dari satu kolom yang
telah ditentukan dari suatu tabel. Contoh :
UPDATE mahasiswa

SET nama = “Ali”, alamat = “Bandung”

WHERE nim = 1115;

Hati-hati jika melakukan perubahan data, jika tidak disertai kolom acuan
maka semua data akan berubah. Contoh :
UPDATE mahasiswa SET nama = “Ali”;

5.2.5 Delete
DELETE berfungsi untuk menghapus record (baris data) pada
suatu tabel dari suatu database. Sintaks DELETE memiliki pola sebagai
berikut :
Menghapus seluruh data. DELETE FROM nama_tabel; Contoh :
DELETE FROM mahasiswa;

Perintah tersebut akan menghapus seluruh record (baris data)


yang terdapat apada tabel mahasiswa.
Menghapus data berdasarkan kondisi.
DELETE FROM nama_tabel

WHERE kolom_acuan = nilai_kolom_acuan;

Contoh :
DELETE FROM mahasiswa WHERE nama = “Siti”;

Perintah tersebut akan menghapus record (baris data) yang


didalamnya terdapat kolom “nama” dengan isi “Siti”.
165

5.3 Latihan
5.3.1 Insert
1. Gunakan database kantor dan masukan seluruh data kedalam dalam
tabel sebagai berikut :
a. Tabel Jabatan
Tabel 5. 1 Jabatan

b. Tabel Karyawan

Tabel 5. 2. Karyawan

c. Tabel Inventaris
Tabel 5. 3. Inventaris

2. Masukan data dengan ketentuan sebagai berikut :


166

a. Tabel Jabatan
a) Mengosongkan kolom nama dan keterangan

Tabel 5. 4. Pengosongan Kolom Nama dan Keterangan

b) Mengosongkan kolom id_kategori dan gaji

Tabel 5. 5. Pengosongan Kolom id_kategori dan Gaji


id_kategori nama keterangan gaj
i

Magang Bekerja
Sementara

c) Mengosongkan kolom id_kategori dan nama


Tabel 5. 6. Pengosongan id_kategori dan Nama
id_kategori nama keterangan gaji

Mengurus Keuangan 13.000.000

b. Tabel Karyawan
a) Mengosongkan kolom nama_belakang dan no_telepon

Tabel 5. 7. Pengosongan Kolom nama belakang dan no telp

b) Mengosongkan kolom id_jabatan dan email

Tabel 5. 8. Pengosongan Kolom id jabatan dan Email

id_karyawan id_jabatan Nama Depan Nama Belakang Alamat no_tlp email

2 Andi Firmansyah Bandung

081267439181

c. Tabel Inventaris
a) Mengosongkan kolom merk
Tabel 5. 9. Pengosongan Kolom Merk Pada Tabel Inventaris

Jawab :
1. Memasukan seluruh data kedalam tabel
167

a. Tabel Jabatan
1) Memasukan Data kedalam tabel jabatan

Gambar 5. 1 Memasukan Data Pada Tabel Jabatan

Pada Query diatas terlihat kita akan memasukan data


dengan Insert, sedangkan into mengartikan ke bagian mana
kita akan memasukan data tersebut. Values sendiri
mengartikan isi dari data yang ingin kita masukan.
2) Menampilkan seluruh data tabel jabatan

Gambar 5. 2 Menampilkan Data Pada Tabel Jabatan Menggunakan


SELECT

Query Select diatas digunakan untuk menyeleksi dan


menampilkan data. Sedangkan From mengartikan kita akan
menyeleksi dari tabel apa.
b. Tabel Karyawan
1) Memasukan data kedalam tabel karyawan

Gambar 5. 3 Memasukan Data Pada Tabel K aryawan


168

Query diatas bertujuan untuk memasukan data pada


tabel karyawan dengan ‘INSERT INTO’. Values sendiri
berartikan isi dari data yang ingin dimasukan.
2) Menampilkan seluruh data tabel karyawan

Gambar 5. 4 Menampilkan Data Pada Tabel Karyawan

Query SELECT*FROM diatas digunakan untuk


menyeleksi sekaligus menampilkan seluruh data pada tabel
karyawan.
c. Tabel Inventaris
1) Memasukan data kedalam tabel inventaris

Gambar 5. 5 Memasukan Data Pada Tabel Inventaris

Query INSERT INTO pada baris pertama Gambar 5. 5


digunakan untuk memasukan data pada tabel inventaris,
dimana query VALUES berisi data yang ingin digunakan.
2) Menampilkan seluruh data tabel inventaris

Gambar 5. 6 Menampilkan Seluruh Data Pada Tabel Inventaris


169

Query SELECT*FROM digunakan untuk menyeleksi


sekaligus menampilkan data pada tabel inventaris.
2. Memasukan data dengan ketentuan
a. Tabel jabatan
a) Mengosongkan kolom nama dan keterangan
Memasukan data kedalam tabel

Gambar 5. 7 Mengosongkan Nama dan Keterangan Pada Tabel Jabatan

Query INSERT INTO diatas digunakan untuk


memasukan data ke dalam tabel jabatan, namun setelah query
INSERT INTO diikuti dengan (id_jabatan, gaji), maka kita
hanya memasukan data dari id_jabatan dan gaji saja sehingga
nama dan keterangan akan kosong atau NULL.
Menampilkan data tabel jabatan

Gambar 5. 8 Tampilan Data Pada Tabel Jabatan

Query diatas digunakan untuk menyeleksi sekaligus


menampilkan data yang baru ditambahkan. Terlihat pada baris
8 dimana hanya terisi kolom id_jabatan dan gaji sedangkan
kolom nama dan keterangan tidak terisi.
b) Mengosongkan kolom id_kategori dan gaji

Masukan data dalam tabel jabatan


170

Gambar 5. 9 Mengosongkan id_kategori dan gaji pada Tabel Jabatan

Query INSERT INTO diatas digunakan untuk


memasukan data ke dalam tabel jabatan, namun setelah query
INSERT INTO diikuti dengan (Nama, Keterangan), maka
kita hanya memasukan data dari Nama dan Keterangan saja
sehingga nama dan keterangan akan kosong atau NULL.
Menampilkan data kedalam tabel jabatan

Gambar 5. 10 Menampilkan Data yang Telah ditambahkan pada Tabel


Jabatan

Query diatas digunakan untuk menyeleksi sekaligus


menampilkan data yang baru ditambahkan. Terlihat pada
baris 9 dimana hanya terisi kolom Nama dan Keterangan.
c) Mengosongkan kolom id_kategori dan nama
Memasukan data ke tabel karyawan

Gambar 5. 11 Mengosongkan Kolom id_jabatan dan Nama pada Tabel


Jabatan

Query INSERT INTO diatas digunakan untuk


memasukan data ke dalam tabel jabatan, namun setelah query
INSERT INTO diikuti dengan (Keterangan, Gaji), maka kita
171

hanya memasukan data dari Keterangan dan Gaji saja


sehingga id_jabatan dan Nama akan kosong atau NULL.
Menampilkan data tabel karyawan

Gambar 5. 12 Menampilkan Data yang Telah ditambahkan pada Tabel


Jabatan

Query diatas digunakan untuk menyeleksi sekaligus


menampilkan data yang baru ditambahkan. Terlihat pada
baris 10 dimana hanya terisi kolom Keterangan dan Gaji
sedangkan kolom id_jabatan dan Nama tidak terisi.
b. Tabel karyawan
a) Mengosongkan kolom nama_belakang dan no_telepon
Memasukan data kedalam tabel karyawan

Gambar 5. 13 Mengosongkan nama_belakang dan no_telepon pada Tabel

Query INSERT INTO diatas digunakan untuk


memasukan data pada tabel karyawan dimana data yang akan
diisi ialah yang terdapat di dalam tanda dalam kurung setelah
INSERT INTO karyawan. Sedangkan yang tidak terdapat
di dalam tanda dalam kurung tidak ditambahkan atau NULL.
Menampilkan data tabel karyawan
172

Gambar 5. 14 Menampilkan Data yang Telah ditambahkan pada Tabel


Query diatas digunakan untuk menyeleksi sekaligus
menampilkan data yang baru ditambahkan pada tabel
karyawan. Terlihat pada baris 6 dimana kolom
nama_belakang dan No_telp tidak terisi atau NULL.
b) Mengosongkan kolom nama_belakang dan email
Memasukan data kedalam tabel karyawan

Gambar 5. 15 Mengosongkan Kolom Email pada Tabel Karyawan

Query INSERT INTO karyawan diatas digunakan


untuk memasukan data pada tabel karyawan dimana semua
kolom akan diisi oleh data kecuali kolom email.
Menampilkan data tabel karyawan

Gambar 5. 16 Menampilkan Data yang Telah Ditambahkan

Query SELECT*FROM karyawan digunakan untuk


menyeleksi sekaligus menampilkan seluruh data yang
terdapat pada tabel karyawan. Dan pada baris ke 7 terlihat
data yang baru dimasukan dimana email kosong atau NULL.
c. Tabel Inventaris
173

a) Mengosongkan kolom merk


Memasukan data kedalam tabel merk

Gambar 5. 17 Mengosongkan Kolom Merk pada Tabel Inventaris

Query diatas digunakan untuk memasukan seluruh data


pada tabel inventaris kecuali kolom merk, sehingga akan
terdapat data baru yang kolom merknya kosong atau NULL.
Menampilkan data tabel inventaris

Gambar 5. 18 Menampilkan Seluruh Data pada Tabel Inventaris

Query diatas digunakan untuk menyeleksi atau


menampilkan seluruh data yang ada pada tabel inventaris. Pada
tabel tersebut terlihat pada baris 6 dimana tidak memiliki merk
atau kolom mereknya kosong, data pada baris 6 tersebut
merupakan data baru yang telah ditambahkan dalam tabel
inventaris.
5.3.2 Select
Tampilkan data dari database kantor dengan ketentuan sebagai berikut :
3. Tabel Jabatan
a. Tampilkan nama jabatan
b. Tampilkan nama jabatan dan keterangan
c. Tampilkan nama jabatan dan gaji
4. Tabel Karyawan
a. Tampilkan nama depan dan nama belakang
174

b. Tampilkan nama depan dan alamat


c. Tampilkan nama depan, nama belakang dan email
5. Tabel Inventaris
a. Tampilkan nama barang dan merknya
b. Tampilkan nama barang dan stoknya
Jawab :
1. Tabel jabatan
a. Menampilkan nama jabatan

Gambar 5. 19 Menampilkan Kolom Nama pada Tabel Jabatan

Query diatas digunakan untuk menyeleksi sekaligus


menampilkan kolom nama pada tabel jabatan, sehingga tabel
kolom lain tidak muncul.
b. Menampilkan nama jabatan dan keterangan

Gambar 5. 20 Menampilkan Kolom Nama dan Keterangan

Query diatas digunakan untuk menyeleksi sekaligus


menampilkan data pada kolom nama dan keterangan pada tabel
175

jabatan, sehingga kolom lain selain kolom nama dan kolom


keterangan tidak akan muncul.
c. Menampilkan nama jabatan dan gaji

Gambar 5. 21 Menampilkan Kolom Nama dan Gaji pada Tabel Jabatan


Query diatas digunakan untuk menyeleksi sekaligus
menampilkan data pada kolom nama dan gaji pada tabel jabatan,
sehingga kolom lain selain kolom nama dan kolom jabatan tidak
akan keluar atau muncul.
2. Tabel Karyawan
a. Menampilkan nama depan dan nama belakang

Gambar 5. 22 Menampilkan Kolom Nama Depan dan Nama Belakang

Query diatas digunakan untuk menyeleksi sekaligus


menampilkan data kolom nama_depan dan data kolom
nama_belakang pada tabel karyawan, sehingga kolom lain selain
2 kolom tersebut tidak akan muncul.
176

b. Menampilkan nama depan dan alamat

Gambar 5. 23 Menampilkan Nama Depan dan Alamat pada Tabel Karyawan

Query diatas digunakan untuk menyeleksi dan menampilkan


data pada kolom nama_depan dan data kolom alamat pada tabel
karyawan, sehingga kolom lain selain 2 kolom tersebut yang
terdapat dalam tabel karyawan tidak akan muncul.
c. Menampilkan nama depan, nama belakang dan email

Gambar 5. 24 Menampilkan Nama Depan, Nama Belakang, dan Email

Query diatas digunakan untuk menyeleksi dan menampilkan


data pada kolom nama_depan, nama_belakang, dan email pada
tabel karyawan, sehingga data kolom lain selain 3 kolom tersebut
tidak akan muncul.
3. Tabel Inventaris
177

a. Menampilkan nama barang dan merknya

Gambar 5. 25 Menampilkan Nama dan Merk pada Tabel Inventaris

Query diatas digunakan untuk menyeleksi dan menampilkan


data pada kolom nama dan merk pada tabel inventaris, sehingga
data pada kolom lain tidak akan muncul.
b. Menampilkan nama barang dan stoknya

Gambar 5. 26 Menmapilkan Nama dan Stok dari Inventaris

Query diatas digunakan untuk menyeleksi dan menampilkan


kolom nama dan stok pada tabel inventaris, sehingga kolom lain
tidak ikut muncul.
5.3.3 Update
Lakukan Perubahan data pada database kantor
6. Tabel Jabatan
a. Rubah nama jabatan dari "ketua" menjadi "direktur"
b. Tambahkan Keterangan Pada jabatan Staff pada id_jabatan = 8
c. Tambahkan gaji pada jabatan magang sebesar 2500000
7. Tabel Karyawan
a. Tambahkan email andi@email.com untuk karyawan bernama andi
b. Rubah alamat Ali menjadi yogyakarta dan no telepon nya menjadi
178

0811 7389 9090


c. Rubah Nama Belakang dari ali menjadi mafud
8. Tabel Inventaris
a. Rubah merk sofa menjadi IKEA dan ubah stoknya menjadi 3
b. Rubah stok
laptop menjadi 8
Jawab :
1. Tabel Jabatan
a. Merubah nama jabatan dari "ketua" menjadi "direktur"
Data jabatan sebelum dirubah

Gambar 5. 27 Data Jabatan Sebelum Dirubah

Query diatas untuk menampilkan data pada tabel jabatan


sebelum dirubah.
Merubah nama jabatan

Gambar 5. 28 Merubah Nama Jabatan pada Tabel Jabatan

Query UPDATE jabatan digunakan untuk mengupdate


atau merubah data pada tabel jabatan, sedangkan SET
nama=’Direktur’ digunakan untuk merubah nama pada tabel
jabatan menjadi Direktur dan query WHERE id_jabatan=1
digunakan untuk mengalamatkan data mana yang akan kita rubah
(pada kasus ini kita akan merubah yang memiliki id_jabatan=1).
Data jabatan sesudah dirubah
179

Gambar 5. 29 Menampilkan DataSetelah Dirubah pada Tabel Jabatan

Query diatas digunakan untuk menampilkan seluruh data


pada tabel Jabatan. Dan terlihat pada baris pertama dengan
id_spesialis=1, namanya telah dirubah menjadi Direktur.
b. Menambahkan Keterangan “Karyawan Biasa” Pada jabatan Staff
pada id_jabatan = 8
Data jabatan sebelum dirubah

Gambar 5. 30 Menampilkan Data Tabel Jabatan Sebelum Dirubah

Query diatas digunakan untuk menampilkan seluruh data


pada tabel jabatan sebelum tabel jabatan tersebut dirubah salah
satu atau beberapa datanya.
Menambahkan keterangan pada staff

Gambar 5. 31. Menambahkan Keterangan pada Staff

Query UPDATE jabatan digunakan untuk mengupdate


atau merubah data pada tabel jabatan, sedangkan SET
keterangan=’Karyawan biasa’ digunakan untuk merubah
keteranganpada tabel jabatan yang awalnya NULL atau kosong
menjadi Karyawan Biasa dan query WHERE id_jabatan=8
180

digunakan untuk mengalamatkan data mana yang akan kita rubah


(pada kasus ini kita akan merubah yang memiliki id_jabatan=8).
Data jabatan sesudah dirubah

Gambar 5. 32 Menampilkan Data Setelah Keterangan Ditambahkan

Query diatas digunakan untuk menampilkan seluruh data


pada tabel Jabatan. Dan terlihat bahwa baris 8 kolom keterangan
sudah terisi dengan karyawan biasa dan sudah tidak kosong lagi.
c. Menambah gaji pada jabatan “magang” sebesar 2500000

Data pada tabel jabatan sebelum dirubah

Gambar 5. 33 Menampilkan Data pada Tabel Jabatan Sebelum Dirubah

Query diatas digunakan untuk Menampilkan seluruh data


pada tabel jabatan sebelum tabel jabatan tersebut ditambah atau
diubah isi datanya.
Menambah gaji pada jabatan
“Magang”

Gambar 5. 34 Menambah Data Gaji pada Magang

Query diatas digunakan untuk mengupdate atau mengubah


(memperbaharui) data pada tabel jabatan dengan meng set gaji
sebesar 2.500.000 yang memiliki id_jabatan 9.
181

Data pada tabel jabatan sesudah dirubah

Gambar 5. 35 Menampilkan data Tabel Jabatan Setelah Dirubah

Query diatas digunakan untuk menampilkan seluruh data


yang teradapat pada tabel jabatan. Dapat dilihat gaji untuk
id_jabatan 9 telah berubah menjadi 2.500.000 yang sebelumnya
masih NULL.
2. Tabel Karyawan
a. Tambahkan email andi@email.com untuk karyawan bernama
andi
Data pada tabel karyawan sebelum dirubah

Gambar 5. 36 Menampilkan Data Tabel Karyawan Sebelum Dirubah

Query diatas digunakan untuk menampilkan seluruh data


pada tabel karyawan sebelum ditambah atau dirubah isi data di
dalamnya.
Menambahkan email pada karyawan bernama andi

Gambar 5. 37 Menambahkan Email pada karyawan Bernama Andi

Query diatas digunakan untuk mengubah atau


memperbaharui email yang memiliki id_karyawan 7.
Data pada tabel karyawan sesudah dirubah
182

Gambar 5. 38 Menampilkan Data Karyawan Setelah Dirubah

Query diatas digunakan untuk menampilkan seluruh data


yang terdapat pada tabel karyawan yang telah diperbaharui.
Terlihat pada baris ke 7 email yang awalnya kosong telah terisi
dengan “andi@email.com”.
b. Rubah alamat Ali menjadi yogyakarta dan no telepon nya menjadi
0811 7389 9090
Data pada tabel karyawan sebelum dirubah

Gambar 5. 39 Menampilkan Data pada Tabel Karyawan Sebelum Dirubah

Query diatas digyunakan untuk menampilkan seluruh data


pada tabel karyawan sebelum tabel tersebut diubah datanya
dengan data baru.
Merubah alamat dan no telepon dari ali

Gambar 5. 40 Merubah Alamat dan No_telp pada Tabel Karyawan

Query diatas digunakan untuk mengupdate atau


memperbaharui alamat menjadi yogyakarta dan no telp menjadi
081173899090 yang memiliki Nama_depan Ali.
Data pada tabel karyawan sesudah dirubah
183

Gambar 5. 41 Seluruh data pada Tabel Karyawan Setelah dirubah

Query diatas digunakan untuk menampilkan seluruh data


pada tabel karyawan sehingga terlihat perbedaan antara data yang
belum dirubah dan setelah dirubah.
c. Rubah Nama Belakang dari ali menjadi mafud
Data pada tabel karyawan sebelum dirubah

Gambar 5. 42 Data pada Tabel Karyawan Sebelum Dirubah

Query diatas digunakan untuk menampilkan seluruh data


pada tabel karyawan sebelum tabel tersebut diubah datanya
dengan data baru.
Merubah Nama Belakang dari Ali

Gambar 5. 43 Merubah Nama Belakang dari Ali

Query diatas digunakan untuk mengupdate atau


memperbaharui data Nama_belakang dari data yang memiliki
Nama_depan Ali menjadi Mahfud.
Data pada tabel karyawan sesudah dirubah
184

Gambar 5. 44 Data pada Tabel Karyawan Setelah Dirubah

Query diatas digunakan untuk menampilkan seluruh data


yang sudah dirubah dari tabel karyawan. Terlihat Bahawa pada
baris 4 nama belakang dari Ali sudah berubah menjadi mahfud.
3. Tabel Inventaris
a. Rubah merk sofa menjadi IKEA dan ubah stoknya menjadi 3 Data
pada tabel inventaris sebelum dirubah

Gambar 5. 45 Data pada Tabel Inventaris Sebelum Dirubah

Query diatas digunakan untuk menampilkan sleuruh data


yang belum dirubah pada tabel inventaris.
Merubah data pada tabel inventaris

Gambar 5. 46 Merubah Merk pada Tabel Inventaris

Query diatas digunakan untuk merubah data yang ada pada


taebl inventaris khususnya kolom Merk yang memiliki id_barang
5 menjadi IKEA.
185

Data pada tabel inventaris sesudah dirubah

Gambar 5. 47 Tampilan Data yang Telah Dirubah pada Tabel Inventaris

Query diatas digunakan untuk menampilkan semua data


yang ada pada tabel inventaris setelah diubah. Datapat terlihat
pada baris 5 dengan id_barang 5 Merk yang awalnya Inform
sudah berubah menjadi IKEA.

b. Rubah stok laptop menjadi 8


Data pada tabel Inventaris sebelum dirubah

Gambar 5. 48 Tampilan Data Sebelum Dirubah pada Tabel Inventaris

Query diatas digunakan untuk menampilkan sleuruh data


yang belum dirubah pada tabel inventaris.

Merubah data pada tabel Inventaris

Gambar 5. 49 Merubah Stok pada Tabel Inventaris


186

Query diatas digunakan untuk merubah data yang ada pada


taebl inventaris khususnya kolom Stok dengan id_barang 3
menjadi 8.
Data pada tabel Inventaris sesudah dirubah

Gambar 5. 50 Tampilan Data Setelah Dirubah pada Tabel Inventaris

Query diatas digunakan untuk menampilkan semua data


yang ada pada tabel inventaris setelah diubah. Datapat terlihat
pada baris 3 dengan id_barang 3 Stok yang awalnya 5 sudah
berubah menjadi 8.

5.3.4 Delete
9. Jabatan
a. Hapus Kolom yang id_jabatannya 10
b. Hapus Jabatan Staff
10. Karyawan
a. Hapus karyawan yang bernama Andi
b. Hapus Karyawan yang beralamat di Solo

11. Inventaris
a. Hapus Kursi Dari Tabel Inventaris
b. Hapus Inventaris Mobil
Jawab :
1. Jabatan
187

a. Hapus Kolom yang id_jabatannya 10 Data pada tabel jabatan


sebelumdihapus

Gambar 5. 51 Data Sebelum Dihapus pada Tabel Jabatan

Query diatas digunakan untuk menampilkan seluruh data


pada tabel jabatan sebelum ada data yang dihapus didalamnya.
Menghapus kolom yang id_jabatannya 10

Gambar 5. 52Menghapus Kolom id_jabatan 10

Query diatas digunakan untuk menghapus baris yang


memilikin id_jabatan 10 dari tabel jabatan.
Data pada tabel jabatan sesudah dihapus

Gambar 5. 53 Data yang Telah Terhapus

Query diatas digunakan untuk menampilkan seluruh data


pada tabel jabatan. Terlihat pada data tersebut sudah tidak ada
data yang memiliki id_jabatan 10.
b. Hapus Jabatan Staff
188

Data pada tabel jabatan sebelum dihapus

Gambar 5. 54 Data pada Tabel Jabatan Sebelum Dihapus

Query diatas digunakan untuk menampilkan seluruh data


pada tabel jabatan sebelum ada data yang dihapus agar kita dapat
nengetahuiperbedaan setelah dihapus dan sebelum dihapus.
Menghapus kolom jabatan staff

Gambar 5. 55 Menghapus Jabatan Staff pada Tabel Jabatan

Query diatas digunakan untuk menghapus data pada tabel


jabatan yang memiliki nama staff atau null.
Data pada tabel jabatan sesudah dihapus

Gambar 5. 56 Tampilan Data Setelah Dihapus dari Tabel Jabatan

Query diatas digunakan untuk menampilkan seluruh data


pada tabel jabatan dan terlihat sudah tidak ada data staff atau null
pada kolom nama.
2. Karyawan
a. Hapus karyawan yang bernama Andi
189

Data pada tabel karyawan sebelum dihapus

Gambar 5. 57 Data pada Tabel Karyawan Sebelum Dihapus

Query diatas digunakan untuk menampilkan seluruh data


pad atabel karyawan sehingga memudahkan kita untuk melihat
perbedaan setelah data dihapus dan sebelum dihapus.
Menghapus karyawan bernama Andi

Gambar 5. 58 Menghapus Karyawan pada Tabel Karyawan

Query diatas digunakan untuk menghapus data pada tabel


karyawan yang memiliki nama_depan Andi.

Data pada tabel karyawan sesudah dihapus

Gambar 5. 59 Data pada Tabel Karyawan Setelah Dihapus

Query diatas digunakan untuk menampilkan seluruh adta


pada tabel karyawan. Terlihat pada tabel diatas sudah tidak ada
data yang memiliki nama depan Andi.
b. Hapus Karyawan yang beralamat di Solo
190

Data pada tabel karyawan sebelum dihapus

Gambar 5. 60 Data pada Tabel Karyawan Sebelum Dihapus

Query diatas digunakan untuk menampilkan seluruh data


pada tabel karyawan dimana data didalamnya belum dihaous,
sehihngga memudahkan kita untuk mengamati perubahaan
sebelum dan sesudah dihapus.
Menghapus karyawan yang beralamat disolo

Gambar 5. 61Menghapus yang Beralamat Di Solo pada Tabel Karyawan

Query diatas digunakan untuk menghapus data pada tabel


karyawan khususnya kolom alamat yang berada di solo.
Data pada tabel karyawan sesudah dihapus

Gambar 5. 62 Data pada Tabel Karyawan Setelah Dihapus

Query diatas digunakan untuk menampilkan seluruh data


pada tabel karyawan setelah dihapus datanya. Terlihat sudah tidak
ada lagi data yang beralamatkan di solo.
3. Inventaris
a. Hapus Kursi Dari Tabel Inventaris
191

Data pada tabel inventaris sebelum dihapus

Gambar 5. 63 Data pada Tabel Inventaris Sebelum Dihapus

Query diatas digunakan untuk menampilkan seluruh data


pada tabel inventaris sebelum dihapus sehingga memudahkan kita
untuk membandingkan dengan data sesudah dihapus nantinya.
Menghapus kursi dari tabel inventaris

Gambar 5. 64 Menghapus Kusi pada Tabel Inventaris

Query diatas digunakan untuk menghapus data padata tabel


inventaris dengan nama barang Kursi.
Data pada tabel inventaris sesudah dihapus

Gambar 5. 65 Data pada Tabel Inventaris Setelah Dihapus

Query diatas digunakan untuk menampilkan seluruh data


pada tabel inventaris yang sudah dihapus. Terlihat bahwa sudah
tidak ada data Kursi pada kolom nama barang .
b. Hapus Inventaris Mobil
192

Data pada tabel inventaris sebelum dihapus

Gambar 5. 66 Data pada Tabel Invntaris Sebelum Dihapus

Query diatas digunakan untuk menampilkan data pada tabel


inventaris sebelum datanya dihapus sehingga memudahkan kita
untuk melihat perubahannya setelah data dihapus.
Menghapus mobil dari tabel inventaris

Gambar 5. 67 Menghapus Mobil pada Tabel Inventaris

Query diatas digunakan untuk menghapus data pada tabel


inventaris dengan data Mobil pada kolom nama barang.
Data pada tabel inventaris sesudah dihapus

Gambar 5. 68 Data yang Telah Dihapus pada Tabel Inventaris

Query diatas digunakan untuk menampilkan seluruh data


pada tabel inventaris dan terlihat pada tabel tersebut sudah tidaka
ada data Mobil pada kolom Nama.
193

5.4 Tugas
1. Database Rumah Sakit
1) Isilah data kedalam tabel yang terdapat dalam database rumah sakit
sebagai berikut :
a. Tabel Pasien
Tabel 5. 10. Pasien

id_pasien kd_pasi nama tempat_la tanggal_la golongan_da berat_bad tinggi_bad jenis_kela Alama
en hir hir rah an an min t

10 November A 65 165
1988
1 1010 Ian Semarang Laki-Laki Semarang

03 Januari AB 70 162
1992
2 1011 Rizal Semarang Laki-Laki Semarang

23 Maret O 80 170
1998
3 1012 Lukman Solo Laki-Laki Solo

14 Agustus B 56 156
1978
4 1013 Joko Bandung Laki-Laki Bandung

02 Februari A 52 145
1968
5 1014 Susanti Jakarta Perempua Jakarta
n

09 April 1984 AB 71 160

6 1015 Wati Semarang Perempua Semarang


n

12 Juli 1994 O 64 161

7 1016 Bagas Solo Laki-Laki Solo

02 Oktober A 40 120
2002
8 1017 Toni Depok Laki-Laki Depok

18 Maret B 45 123
2001
9 1018 Erwin Jakarta Laki-Laki Jakarta

20 Mei 1988 B 65 164

10 1019 Zaenab Yogya Perempua Yogya


n

1. Memasukan data kedalam table pasien


194

Gambar 5. 69 Memasukan Data pada Tabel Pasien

Query diatas digunakan untuk memasukan data pada


tabel pasien. Data yang ingin dimasukan ialah baris ke-2
hingga baris ke-11.
2. Menampilkan seluruh data table pasien

Gambar 5. 70 Tampilan Data yang Telah Ditambahkan

Query diatas digunakan untuk menampilkan seluruh


data pada tabel pasien dan terlihat data yang telah dimasukan
sudah masuk ke dalam tabel.
b. Tabel Kamar
Tabel 5. 11. Kamar
id_kamar jenis_kamar harga

1 VVIP 5.000.000

2 Kelas Utama 4.000.000

3 VIP 1 3.500.000

4 VIP 2 3.000.000
195

1. Memasukan data ke dalam tabel Kamar

Gambar 5. 71 Memasukan Data pada Tabel Kamar

Query diatas digunakan untuk memasukan data pada


tabel kamar.
2. Menampilkan seluruh data pada tabel Kamar

Gambar 5. 72 Tampilan Data Setelah Dimasukan pada Tabel Kamar

Query diatas digunakan untuk memasukan data pada


tabel kamar. Terlihat data yang telah dimasukan sudah
berhasil masuk.
c. Tabel Spesialis
Tabel 5. 12. Spesialis
id_spesialis spesialis

1 Anak

2 Bedah

3 Gigi

4 Jantung

5 Kandungan

6 Kulit

7 Saraf
196

8 THT

1. Memasukan data pada tabel spesialis

Gambar 5. 73 Memasukan data pada tabel Spesialis

Query INSERT INTO spesialis digunakan untuk


memasukan data pada tabel spesialis. Dan data yang akan
dimasukan ialah setelah kata VALUES.
2. Menampilkan semua data pada tabel spesialis

Gambar 5. 74 Tampilan Data Setelah Dimasukan

Query diatas digunakan untuk menampilkan seluruh


data pada tabel spesialis dan terlihat pada tabel tersebut data
yang coba kita masukan sudah berhasil masuk.

d. Tabel Dokter

Tabel 5. 13. Dokter

id_d id_spesi na tempat_la tanggal_lahir no_telp em alam


okte alis ma hir ail at
r

19 Januari 1983 0821694724


28
197

1 1 Dr. Muhammad Fauzi Jakarta fauzi@email.com Jakarta

20 Maret 1986 0811084375


8
2 3 Dr.Arif Yahya Semarang arif@email.com Semarang

07 Februari 1985 0822743891


0
3 5 Dr. Siti Rahmawati Semarang rahmat@email.com Semarang

02 Desember 1975 0827478939


0
4 8 Dr. Susanto Yogyakarta susanto@email.com Yogyakarta

02 Februari 1978 0811858493


9
5 1 Dr. Taufik Hidayat Semarang taufik@email.com Semarng

17 April 1979 0836388292


9
6 4 Dr. Dian Lestari Solo dian@email.com Solo

20 Mei 1978 0877936282


1
7 7 Dr. Agus Pemalang agus@email.com Solo

05 Maret 1976 0877837381


9
8 9 Dr. Septi Suhesti Bandung septi@email.com Bandung

18 Juni 1978 0843682891


8
9 3 Dr. Bagas Depok bagas@email.com Depok

20 Mei 1972 0878946389


9
10 2 Dr. Toni Setiawan Yogya toni@email.com Yogya

1. Memasukan data kedalam tabel dokter

Gambar 5. 75 Memasukan Data pada Tabel Dokter

Query diatas digunakan untuk memasukan data pada


tabel Dokter, data yang akan dimsukan ialah setelah kata
VALUES.
2. Menampilkan semua data pada tabel dokter

Gambar 5. 76 Tampilan Data pada Tabel Dokter Setelah Ditambahkan


198

Query diatas digunakan untuk menampilkan seluruh


data pada tabel dokter dan terlihat bahwa data yang kita
masukan telah berhasil masuk.

Tabel 5. 14. Mengosongkan Kolom no_telp pada Tabel Dokter

id_dokte id_spesialis nama tempat_lahir tanggal_lahir no_telp email alamat


r

11 7 Dr. Ali Firmansyah Jakarta 10 November ali@email.c Jakarta

1978 om

Gambar 5. 77 Mengosongkan Kolom no_telp pada Tabel Dokter

Query diatas digunakan untuk memasukan data pada


tabel dokter kecuali data no_telp. Sehingga data pada kolom
no_telp akan kosong saat ditampilkan.
2. Menampilkan data tabel dokter

Gambar 5. 78 Tampilan Data pada Tabel Dokter

Query diatas digunakan untuk menampilkan seluruh


data pada tabel dokter. Terlihat pada baris 11 data pada
kolom no_telp kosong.

Tabel 5. 15. Mengosongkan Kolom Email pada Tabel Dokter

id_dok id_spesia nama tempat_lahi tanggal_lahir no_telp email alamat


ter lis r

01 Juli 1978 08119347492

12 2 Dr. Wawan Yogyakarta Yogyakarta

1. Mengosongkan kolom email tabel dokter

Gambar 5. 79 Mengosongkan Kolom Email pada Tabel Dokter


199

Query diatas digunakan untuk mengosongkan kolom


email dengan memasukan data kecuali data pada kolom
email. Sehingga kolom email nantinya akan kosong.
2. Menampilkan data pada tabel dokter

Gambar 5. 80 Tampilan Data pada Tabel Dokter Setelaah Ditambahkan

Query diatas digunakan untuk menampilkan seluruh


data pada tabel dokter dan terlihat pada baris 12 data pada
kolom email kosong atau null.
e. Tabel Jadwal Dokter
Tabel 5. 16. Jadwal Dokter
id_jadwal id_dokter jam_kerja jam_pulang

1 1 08.30 14.30

2 2 08.30 14.30

3 3 08.30 14.30

4 4 08.30 14.30

5 5 14.30 20.30

6 6 14.30 20.30

7 7 14.30 20.30

8 8 14.30 20.30
200

1. Memasukan data pada tabel jadwal dokter

Gambar 5. 81 Memasukan Data pada Jadwal Dokter

Query daiatas digunakan untuk memasukan data pada


tabel jadwal dokter, dan data yang akan dimasukan ialah
setelah kata VALUES.
2. Menampilkan semua data tabel jadwal dokter

Gambar 5. 82 Tampilan Data pada Tabel Jadwal Dokter

Query diatas digunakan untuk menampilkan data pada


tabel jadwal dokter, dan terlihat bahwa data yang telah kita
masukan telah berhasil.
2) Isilah data kedalam tabel yang terdapat dalam database rumah
sakit dengan ketentuan sebagai berikut :
a. Tabel Kamar

Tabel 5. 17. Mengosongkan Kolom id_kamar dan Harga


id_kamar jenis_kamar harga

Kelas Ekonomi

Isolasi

1. Mengosongkan id kamar dan harga pada tabel kamar


201

Gambar 5. 83 Mengosongkan id_kamar dan Harga pada Tabel Kamar

Query diatas digunakan untuk memasukan data pada


tabel kamar namun yang dimasukan hanya data kolom kelas
ekonomi dan isolasi.
2. Menampilkan data yang telah ditambahkan

Gambar 5. 84 Tampilan Data paada Tabel Kamar

Query diatas digunakan untuk menampilkan seluruh


data pada tabel kamar. Terlihat terdapat 2 data yang memiliki
id_kamar NULL.

b. Tabel Spesialis

Tabel 5. 18.Mengosongkan Kolom Sepesialis


id_spesialis spesialis

1. Mengosongkan spesialis pada tabel spesialis

Gambar 5. 85 Mengosongkan Spesialis pada Tabel Spesialis

Query diatas digunakan untuk memasukan data hanya


pada kolom id_spesialis.
202

2. Menampilkan data setelah ditambahkan pada tabel spesialis

Gambar 5. 86 Tampilan Data pada Tabel Spesialis

Query diatas digunakan untuk menampilkan sleuruh


data pada tabel spesialis dan terlihat pada baris ke 9 kolom
speesialis NULL atau kosong.
c. Tabel Dokter
a) Mengosongkan kolom id_dokter dan email

Tabel 5. 19. Mengosongkan Kolom id_dokter dan Email

1. Menambahkan data pada tabel dokter

Gambar 5. 87 Menambah Data pada Tabel Dokter

Query diatas digunakan digunakan untuk


menambahkan data pada tabel dokter kecuali data kolom
email.
2. Menampilkan data yang telah ditambahkan pada tabel dokter
203

Gambar 5. 88 Tampilan Data pada Tabel Dokter Setelah Diubah

Query diatas digunakan untuk menampilkan seluruh


data pada tabel dokter. Terlihat data yang telah kita
tambahkan pada baris ke-13 dan baris ke-14.

b) Mengosongkan kolom id_dokter, no_telepon dan email

Tabel 5. 20 Mengosongkan Kolom id_dokter, No_telp, dan Email

1. Menambahkan data pada tabel dokter

Gambar 5. 89 Mengosongkan id_dokter, no_telp, dan email

Query diatas digunakan untuk menampilkan data pada


tabel dokter. Yang tidak diisi ialah iod_dokter, no_telp, dan
email.
2. Menampilkan data yang telah ditambahkan

Gambar 5. 90 Tampilan pada Tabel Dokter


204

Query diatas digunakan untuk menampilkan seluruh


data pada tabel dokter. Terlihat pada baris ke-15 dan baris ke-
16 terdapat data baru.

2) Lakukan update data pada tabel berikut :


a. Tabel Pasien
a) Rubah nama pasien “Joko” menjadi “Ridwan”.
Data pada tabel pasien sebelum dirubah

Gambar 5. 91 Data pada Tabel Pasien Sebelum Dirubah

Query diatas digunakan untuk menampilkan seluruh


data pada tabel pasien sebelum data nya dirubah.
Merubah nama dari joko menjadi ridwan

Gambar 5. 92 Merubah Nama Joko pada Tabel Pasien

Query diatas digunakan untuk merub ah atau


mengupdate nama dari joko menjadi ridawan pada tabel
pasien yang m,emiliki id_pasien 4.

Data pada tabel pasien sesudah dirubah

Gambar 5. 93 Tampilan pada Tabel Pasien Setelah Dirubah


205

Query diatas digunakan untuk menampilkan seluruh


data pada tabel pasien dan terlihat pada baris ke 4 nama joko
telah berubah menjadi ridwan.
b) Rubah data berat badan (65) dan tinggi badan (158) dari
Wati.
Data pada tabel pasien sebelum dirubah

Gambar 5. 94 Tampilan Tabel Pasien Sebelum Dirubah

Query diatas digunakan untuk menampilkan data pada


tabel pasien sebelum datanya dirubah. Sehingga kita dapat
membandingkan data sesudah dan sebelum diubah.
Merubah data berat badan dan tinggi badan dari wati

Gambar 5. 95 Merubah Berat_badan dan Tinggi_badan

Query diatas digunakan untuk merubah data pada tabel


pasien kolom berat badan dan tinggi badan.
Data pada tabel pasien sesudah dirubah

Gambar 5. 96 Tampilan Data pada Tabel Pasien

Query diatas digunakan untuk menampilkan seluruh


data pada tabel pasien. Terlihat data yang kita ubah telah
berubah pada baris 6.
c) Rubah Alamat dari “Zaenab” menjadi “Semarang” dan
rubah tanggal lahirnya menjadi 13 Maret 1994.
206

Data pada tabel pasien sebelum dirubah

Gambar 5. 97 Data pada Tabel Pasien Sebelum Dirubah

Query diatas digunakan untuk menampilkan seluruh


data pada tabel pasien sebelum data di dalamnya dirubah.
Merubah Alamat dan tanggal lahir dari zaenab

Gambar 5. 98 Mengubah Alamat dan Tanggal Lahir

Query diatas digunakan untuk mengubah data alamat


dan tanggal lahir pada tabel pasien yang memiliki id_pasien
10.
Data pada tabel pasien sesudah dirubah

Gambar 5. 99 Tampilan Data pada Tabel Pasien Setelah Dirubah

Query diatas digunakan untuk menampilkan seluruh


data pada tabel pasien yang telah diubah. Terlihat pada baris
10 datanya telah berubah.

b. Tabel Kamar
a) Tambahkan harga pada Kamar “Kelas Ekonomi” yaitu
700.000
Data pada tabel kamar sebelum dirubah
207

Gambar 5. 100 Data pada Tabel Kamar Sebelum Dirubah

Query diatas digunakan untuk menampilkan seluruh data


pada tabel kamar sebelum dirubah. Sehingga memudahkan
untuk perbandingan setelah dirubah.

Menambahkan harga kamar kelas ekonomi

Gambar 5. 101 Merubah Harga pada Tabel Kamar

Query diatas digunakan untuk mengupdate atau


memperbaharui data pada tabel kamar kolom harga yang
memiliki jenis kamar kelas ekonomi.

Data pada taebel kamar sesudah dirubah

Gambar 5. 102 Tampilan Setelah Data pada Tabel Kamar

Query diatas digunakan untuk menampilkan seluruh


data pada tabel kamar setelah dirubah. Terlihat pada baris ke-
5 yang harga awalnya NULL sudah terisi menjadi 700000.
208

b) Rubah nama dari kamar “VVIP” menjadi “Ekslusif” dan


rubah harganya menjadi “4.500.000”
Data pada tabel kamar sebelum dirubah

Gambar 5. 103 Data pada Tabel Kamar Sebelum Dirubah

Query tersebut digunakan untuk menampilkan data


sebelum dirubah.
Merubah nama dan harga kamar pada kamar VVIP

Gambar 5. 104 Merubah Nama dan Harga pada Kamar VVIP

Query diatas digunakan untuk merubah nama kamar


dan harga kamar pada tabel kamar ayng memiliki id_kamar 1.
Data pada tabel kamar sesudah dirubah

Gambar 5. 105 Data pada Tabel Kamar Setelah Dirubah

Query diatas digunakan untuk menampilkan seluruh


data pada tabel kamar dan terlihat pada baris ke-1 telah
berubah datanya.
c. Tabel Dokter
a) Rubah nama dokter “Dr. Susanto” menjadi “Dr. Susanti” dan
rubah emailnya menjadi susanti@email.com.
209

Data pada tabel dokter sebelum dirubah

Gambar 5. 106 Data pada Tabel Dokter Sebelum Dirubah

Query diatas digunakan untuk menampilkan data pada


tabel dokter sebelum dirubah.
Merubah nama dan email pada tabel dokter susanto

Gambar 5. 107 Merubah Nama dan Email pada Tabel Dokter

Query diatas digunakan untuk merubah data kolom


nama dan email pada tabel dokter yang memiliki id_dokter 4.
Data pada tabel dokter sesudah dirubah

Gambar 5. 108 Tampilan Data Setelah Dirubah pada Tabel Dokter

Query diatas digunakan untuk menampilkan seluruh


data pada tabel dokter setelah dirubah. Terlihat pada baris ke-
4 telah berubah datanya.

b) Rubah alamat dari “Dr. Bagas” menjadi “Semarang”,


kemudian rubah juga id_spesialisnya menjadi 5
Data pada tabel dokter sebelum dirubah
210

Gambar 5. 109 Data pada Tabel Dokter Sebelum Dirubah

Query diatas digunakan untuk menampilkan seluruh


data pada tabel dokter agar kita mudah membandingkan
dengan yang telah dirubah datanya.

Merubah alamat dan id_spesialis pada tabel dokter bagas

Gambar 5. 110 Merubah Alamat dan Id_spesialis pada Tabel Dokter

Query digunakan untuk merubah data pada kolom


alamat dan id_spesialis pada tabel dokter yang memiliki
id_dokter 9.

Data pada tabel dokter setelah dirubah

Gambar 5. 111 Tampilan Data pada Tabel Dokter

Query diatas digunakan untuk menampilkan seluruh


data pada tabel dokter yang telah dirubah. Terlihat pada baris
9 sudah berubah.
211

3) Hapus data sebagai berikut.


a. Tabel Pasien
a) Hapus Ian dari daftar pasien.
Data pada tabel sebelum dihapus

Gambar 5. 112 Data pada Tabel Pasien Sebelum Dihapus

Query diatas digunakan untuk menampilkan data


sebelum dihapus.
Menghapus data Ian dari daftar pasien

Gambar 5. 113 Menghapus Data Pada Tabel Pasien

Query diatas digunakan untuk menghapus data pada


tabel pasien yang memiliki nama Ian.
Data pada tabel sesudah dihapus

Gambar 5. 114 Data yang Telah Dihapus pada Tabel Pasien

Query diatas digunakan untuk menampilkan seluruh


data pada tabel pasien setelah dihapus. Terlihat pada tabel
pasien tersebut sudah tidak ada data pasien dengan nama Ian.
b) Hapus Erwin dari daftar pasien
Data pada tabel sebelum dihapus
212

Gambar 5. 115 Data pada Tabel Pasien Sebelum Dihapus

Query diatas digunakan untuk menampilkan seluruh


data pada tabel pasien sebelum dihapus. Sehingga mudah
untuk membandingkan dengan yang sudah dihapus datanya.
Menghapus data Ian dari daftar pasien

Gambar 5. 116 Menghapus id_pasien pada Tabel Pasien

Query diatas digunakan untuk menghapus data pada


tabel pasien yang memiliki id_pasien 9.
Data pada tabel sesudah dihapus

Gambar 5. 117 Data pada Tabel Pasien Setelah Dirubah

Query diatas digunakan untuk menampilkan seluruh


data pada tabel pasien yang sudah dirubah. Terlihat sudah
tidak ada id_pasien 9 pada tabel pasien.
a. Tabel Spesialis
a) Hapus Spesiaslis “Umum”
Data pada tabel spesialis sebelum dihapus
213

Gambar 5. 118 Data Tabel Spesialis Sebelum Dirubah

Query diatas digunakan untuk menampilkan seluruh


data pada tabel spesialis sebelum dirub ah.
Menghapus data spesialis umum

Gambar 5. 119 Menghapus Data Spesialis Umum pada Tabel Spesialis

Query diatas digunakan untuk menghapus data pada


tabel spesialis yang memiliki id_spesialis 9.
Data pada tabel spesialis sesudah dihapus

Gambar 5. 120 Data Tabel Spesialis Setelah Dihapus

Query diatas digunakan untuk menampilkan seluruh


data pada tabel spesialis dan terlihat data pada baris ke-9
sudah hilag.
b) Hapus Spesialis “Anak”
Data pada tabel spesialis sebelum dihapus
214

Gambar 5. 121Data Tabel Spesialis Sebelum Dihapus

Query diatas digunakan untuk memnampilkan seluruh


data pada tabel spesialis sebelum dihapus. Agar lebih mudah
dilihat perbedaannya dengan yang sudah dihapus.
Menghapus data spesialis anak

Gambar 5. 122 Menghapus Data Spesialis Anak

Query diatas digunakan untuk menghapus data pada


tabel spesialis yang memiliki id_spesialis 1.
Data pada tabel spesialis sesudah dihapus

Gambar 5. 123 Data Tabel Spesialis Setelah Dihapus

Query diatsa digunakan untuk menampilkan data pada


tabel spesialis setelah dihapus. Terlihat pada tabel tersebut
sudah tidak ada data yang memiliki id_spesialis 1.
b. Tabel Dokter
a) Hapus Dr. Agus dari daftar dokter
Data pada tabel dokter sebelum dihapus
215

Gambar 5. 124 Data pada Tabel Dokter Sebelum Dihapus

Query diatas digunakan untuk menampilkan seluruh


data pada tabel dokter sebelum data dihapus, sehingga mudah
untuk dilihat perbedaanya dengan yang sudah dihapus.
Menghapus Dr.Agus dari tabel dokter

Gambar 5. 125 Menghapus Dr.Agus dari Tabel Pasien

Query diatas digunakan untuk menghapus data pad


atabel pasien yang memiliki nama Dr.Agus.

Data pda tabel dokter sesudah dihapus

Gambar 5. 126 Data pada Tabel Dokter Setelah Dihapus

Query diatas digunakan untuk menampilkan data pada


tabel dokter setelah data dihapus, dan terlihat sudah tidak ada
data dengan nama Dr.Agus pada tabel Dokter.
b) Hapus Dr. Ahmad Riyanto dari daftar dokter.
Data pada tabel dokter sebelum dihapus
216

Gambar 5. 127 Data pada Tabel Doketr Sebelum Dihapus

Query diatas digunakan untuk menampilkan seluruh


data pada tabel dokter sebelum data dihapus, sehingga
memudahkan untuk melihat perbedaanya dengan yang sudah
dihapus.
Menghapus Dr.Ahmad Riyanto dari tabel dokter

Gambar 5. 128 Menghapus Dr.Ahmad Riyanto pada Tabel Dokter

Query diatas digunakan untuk menghapus data pada


tabel dokter yang memiliki nama Dr.Ahmad Riyanto.
Data pada tabel dokter sesudah dihapus

Gambar 5. 129 Tampilan Data pada Tabel Dokter Setelah Dihapus

Query diatas digunakan untuk menampilkan seluruh


data pada tabel dokter setelah dihapus dan terlihat sudah tidak
ada data dengan nama Dr.Ahmad Riyanto pada tabel dokter.

2. Database Perpustakaan
1. Isilah data kedalam tabel yang tersedia dalam database perpustakaan.
a. Anggota
Tabel 5. 21. Anggota
217

id_anggot kd_anggota na tempat_lahir tanggal_lahir em stat


a ma ail us

Semarang

1 7001 Ahmad Nurfatoni 19 Juli 2001 ahmad@email.com Aktif

Semarang

2 7002 Sinta Angraeni 15 Juli 2000 sinta@email.com Aktif

Ken
dal
3 7003 Nuhammad Lutfi 02 Agustus 1999 lutfi@email.com Aktif

Solo

4 7004 Putri Khasanah 19 Oktober 2000 putri@email.com Aktif

Pemalang

5 8001 Yudha Prasetyo 06 Januari 2000 yudha@email.com Aktif

Yogyakarta

6 8002 Rani 23 Oktober 1998 rani@email.com Membutuhkan


Perpanjangan

Solo

7 8003 Andi 04 Februari 2000 andi@email.com Membutuhkan


Perpanjangan

Temanggun
g
8 8004 Zaenal 08 Mei 2001 zaenal@email.com Aktif

Ken
dal
9 9001 Hendra 20 Februari 2000 hendra@email.com Bebas Perpustakaan

Riau

10 9002 Ulil Albab 31 Agustus 2001 ulil@email.com Bebas Perpustakaan

Memasukan data ke dalam Tabel Anggota

Gambar 5. 130 Memasukan Data pada Tabel Anggota

Query diatas digunakan untuk menambahkan atau


memasukan data pada tabel anggota. Data yang akan dimasukan
ialah setelah kata VALUES.
Menampilkan seluruh data pada Tabel Anggota

Gambar 5. 131 Data Tabel Anggota Setelah Dirubah


218

Query diatas digunakan untuk menampilkan data pada


tabel anggota. Terlihat pada tabel tersebutr data yang ingin kita
masukan sudah masuk.
a. Kategori

Tabel 5. 22. Kategori


id_kategori nama_kategori

1 Novel

2 Komputer

3 Pelajaran

4 Bahasa

5 Cerpen

6 Ekonomi

7 Olahraga

8 Majalah

Memasukan data pada tabel kategori

Gambar 5. 132 Memasukan Data pada Tabel Kategori

Query diatas digunakan untuk memasukan data pada tabel


kategori. Data yang akan dimasukan berada setelah kata
VALUES.
Menampilkan seluruh data pada tabel kategori

Gambar 5. 133 Data pada Tabel Kategori


219

Query diatas digunakan untuk menampilkan seluruh data


yang ada pada tabel kategori. Terlihat data yang ingin kita
masukan telah masuk semua ke dalam tabel kategori.
b. Buku

Tabel 5. 23. Buku

id_anggo id_kategori ISBN judul Pengarang Penerbit


ta

Mahir Corel Draw X5 30 Hari

1 2 111001 Andi Setiawan Penerbit Andi

Mengoperasikan Window 10 Bagi

2 2 111002 Pemula Herman Penerbit Andi

Belajar Miccrosoft Office Word


2016
3 2 111003 Rendi Penerbit Andi

Dilan 1991

4 1 22001 Pidi Baiq Pastel Book

Assalamulaikum Bejing

5 1 22002 Asma Nadia Noura Books

Ubur Ubur Lembur

6 1 22003 Raditiya Dika Gagas Media

TIK Kelas 7

7 3 33001 Muhammad Lufti Kemenbud

Bahasa Indonesia Kelas 8

8 3 33002 Anisa Khasanah Kemenbud

Matematika Kelas 9

9 3 33003 Mukhlis Kemenbud

Cerita Malin Kundang

10 5 44001 Karno Surya Citra

Memasukan data pada tabel buku

Gambar 5. 134 Memasukan Data pada Tabel Buku

Query diatas digunakan untuk memasukan data pada tabel


buku. Data yang ingin kita masukan ditulis setalah kayta Values
pada Query.
Menampilkan seluruh data pada tabel buku
220

Gambar 5. 135 Data pada Tabel Buku

Query diatas digunakan untuk menampilkan seluruh data


pada tabel buku. Terlihat bahwa semua data yang ingin kita
masukan telah masuk semua ke dalam tabel buku.
c. Peminjaman
Tabel 5. 24. Peminjaman
id_peminjaman id_buku id_anggota tgl_peminjaman

1 7 4 11 Februari 2020

2 7 5 19 Februari 2020

3 8 8 12 Februari 2020

4 9 9 18 Februari 2020

5 1 10 10 Februari 2020

6 2 7 21 Februari 2020

7 2 4 20 Februari 2020

8 4 6 14 Februari 2020

Memasukan data pada tabel peminjaman

Gambar 5. 136 Memasukan Data pada Tabel Peminjaman

Query diatas digunakan untuk memasukan data pada tabel


peminjaman. Data yang ingin kita masukan ditulis setelah kata
VALUES dalam query.
Menampilkan seluruh data pada tabel peminjaman
221

Gambar 5. 137 Data pada Tabel Peminjaman

Query diatas digunakan untuk menampilkan seluruh data


pada tabel peminjaman. Terlihat semua data yang ingin kita
masukan telah masuk semuanya pda tabel peminjaman.
d. Denda

Tabel 5. 25. Denda


id_dend id_peminjama tgl_pembayaran
a n

1 1

18 Februari 2020

2 3

20 Februari 2020

3 5

20 Februari 2020

4 8

18 Februari 2020

Memasukan data pada tabel denda

Gambar 5. 138 Memasukan Data pada Tabel Denda

Query diatas digunakan untuk memasukan data pada tabel


denda. Data yang ingin kita masukan ditulis setelah kata
VALUES pada query.
Menampilkan seluruh data pada tabel denda
222

Gambar 5. 139 Data pada Tabel Denda

Query diatas digunbakan untuk menampilkan sleuruh data


pada tabel denda. Terlihat semua data yang ingin kita masukan
sudah masuk semua dalam tabel denda.
e. Petugas

Tabel 5. 26. Petugas

id_petug kd_petugas nama bagian no_telepon


as

1 P101 Nur Farid Admintrasi 087756447871

2 P102 Karno Ilyas Admintrasi 081284391020

3 P103 Ahmad Riyanto Pengelola Buku 087782912019

4 P104 Putri Khasanah Pengelola Buku 081267674343

5 P105 Wawan Kebersihan 085529207381

Memasukan data pada tabel petugas

Gambar 5. 140 Memasukan Data pada Tabel Petugas

Query diatas digunakan untuk memasukan data pada tabel


petugas. Data yang ingin kita masukan ditulis setlah kata
VALUES pada query.
Menampilkan seluruh data pada tabel petugas
223

Gambar 5. 141 Data pada Tabel Petugas

Query diatas digunakan untuk menampilkan seluruh data


pada tabel petugas . terlihat bahwa semua data yang ingin kita
masukan sudah masuk semua pada tabel petugas.
2. Isilah data kedalam tabel yang tersedia dalam database
perpustakaan dengan ketentuan sebagai berikut.
a. Tabel Anggota

Tabel 5. 27. Mengosongkan Tabel Anggota

id_anggota kd_anggota na tempat_lahi tanggal_lahir em stat


m r ail us
a

Putri Khasanah Solo

8201 18 Desember 1999

Wawan Semarang

9101 09 Maret 2000

Mengosongkan id_anggota, email, dan status pada tabel anggota

Gambar 5. 142 Mengosongkan id_anggota, Email, dan Status

Query diatas digunakan untuk mengosongkan id_anggota,


email, dan status dengan cara tidak memasukan data 3 kolom
tersebut.
Menampilkan data pada tabel anggota yang baru ditambahkan
224

Gambar 5. 143 Tampilan Data pada Tabel Anggota

Query diatas digunakan untuk menampilkan seluruh data


pada tabel anggota. Terlihat data yang telah kita kosongkan pada
baris 11 dan 12 dimana id_anggota, email, dan statusnya NULL
atau kosong.
b. Tabel Kategori
Tabel 5. 28Mengosongkan id_Kategori pada Tabel Anggota
225

id_kategori Kategori

Kerajinan

Ensiklopedia

Mengosongkan data id_kategori pada tabel kategori

Gambar 5. 144 Mengosongkan id_kategori pada Tabel Kategori

Query diatas digunakan untuk memasukan data pada tabel


kategori namun hanya memasukan data nama_kategorinya saja,
sehingga id_kategorinya kosong atau NULL.
Menampilkan data pada tabel kategori

Gambar 5. 145 Data Tabel Kategori

Query diatas digunakan untuk menampilkan seluruh data


pada tabel kategori . terlihat pada baris 9 dan 10 kolom
id_kategorinya berisi NULL.
c. Tabel Petugas
a) Mengosongkan kolom id_petugas, bagian, no_telepon
Tabel 5. 29.Mengosongkan id_petugas, Bagian, dan No_telp

id_petugas kd_petugas nama bagian no_telepon

P106 Muhhamad Ridwan

P107 Toni

Mengosongkan Kolom id_petugas, bagian, dan no_telp pada


tabel petugas
226

Gambar 5. 146 Megosongkan id_petugas, bagian, dan no_telp pada Tabel


Petugas

Query diatas digunakan untuk memasukan data pada tabel


petugas, namun hanya kd_petugas dan nama saja yang
doimasukan datanya. Sehingga 3 data lainnya kosong atau
NULL.
Menampilkan data yang telah ditambahkan pada tabel petugas

Gambar 5. 147 Data pada Tabel Petugas

Query diatas digunakan untuk menampilkan seluruh data


pada tabel petugas. Terlihat pada baris 5 dan 7 hanya kolom
kd_petugas dan nama saja yang terisi.
b) Mengosongkan kolom id_petugas dan no_telepon

Tabel 5. 30. Mengosongkan id_petugas dan no_telp

id_petuga kd_petugas nama bagian no_telepon


s

P108 Yuni Pengelola Buku

P109 Ali Mafud Keamanan

Mengosongkan id_petugas dan no telp pada tabel petugas

Gambar 5. 148 Mengosongkan id_petugas dan no_telp pada Tabel Petugas


227

Query diatas digunakan untuk menambahkan data pada


tabel petugas, namun yang diisi datanya hanya kolom
kd_petugas, nama, dan bagian saja. Sehingga 2 kolom lainnya
kosong atau NULL.
Menampilkan data telah ditambahkan pada tabel petugas

Gambar 5. 149 Tampilan Data pada Tabel Petugas

Query diatas digunakan untuk menampilkan seluruh data


pada tabel petugas. Terlihat pada baris 8 dan 9 terdapat 2 kolom
yang memiliki data NULL.
3. Lakukan perubahan data sebagai berikut
d. Tabel Anggota
a) Rubah nama anggota “Ahmad Nurfatoni” menjadi “Zaki
Mubarroq”
Data pada tabel sebelum dirubah

Gambar 5. 150 Data pada Tabel Anggota Sebelum Dirubah

Query diatas digunakan untuk menampilkan seluruh


data pada tabel anggota sebelum dirubah. Digunakan untuk
memudahkan melihat perbedaan dengan data yang telah
dirubah.
Merubah data kolom nama pada tabel anggota
228

Gambar 5. 151 Merubah Kolom Nama pada Tabel Anggota

Query diatas digunakan untukmerubah nama menjadi


Zaki Mubarroq pd tabel anggota yang memiliki id_anggota 1.
Menampilkan data yang telah dirubah pada tabel anggota

Gambar 5. 152 Tampilan Data pada Tabel Angota

Query diatas digunakan untuk menampilkan seluruh


data pada tabel anggota. Terlihat pada baris pertama nama
nya sudah berubah menjadi zaki mubarroq yang awalnya
ahmad nurfatoni.
b) Rubah alamat dari “Zaenal” menjadi “Bandung” dan rubah
statusnya menjadi “Memerlukan Perpanjangan”
Data pada tabel anggota sebelum dirubah

Gambar 5. 153 Data pada Tabel Anggota Sebelum Dirubah

Query diatas digunakan untuk menampilkan seluruh


data pada tabel anggota sebelum dirubah datanya.
Merubah data kolom alamat dan status pada tabel anggota

Gambar 5. 154 Merubah Kolom Alamat dan Status pada Tabel Anggota
229

Query diatas digunakan untuk mengubah data kolom


alamat dan status pada tabel anggota yang memiliki
id_anggota 8.
Menampilkan data yang sudah dirubah pada tabel anggota

Gambar 5. 155 Tampilan Data Tabel Anggota Setelah Dirubah

Query diatas digunakan untuk menampilkan seluruh


data pada tabel anggota yang telah dirubah. Terlihat pada
baris 8 data nya telah berubvah sesuai dengan yang kita
masukan.
c) Rubah email dari “Putri Khasanah” menjadi
khasanah@email.com, kemudian rubah alamatnya menjadi
“Yogyakarta ” dan rubah tangggal lahirnya menjadi “8
Agustus 1999”.
Data pada tabel anggota sebelum dirubah

Gambar 5. 156 Data pada Tabel Anggota Sebelum Dirubah

Query diatas digunakan untuk menampilkan seluruh


data pada tabel anggota sebelum data nya dirubah.
Merubah kolom email, alamat, dan tanggal_lahir pada tabel
anggota
230

Gambar 5. 157 Merubah Email, Alamat, dan Tanggal_lahir

Query diatas digunakan untuk mengubah data kolom


email, alamat, dan tanggal_lahir pada tabel anggota yang
memiliki kd_anggota 8201.

Menampilkan data yang telah dirubah pada tabel anggota

Gambar 5. 158 Data yang Telah Dirubah pada Tabel Anggota

Query diatas digunakan untuk menampilkan seluruh


data opada tabel anggota. Terlihat pada tabel tersebut yang
memiliki kd_anggota 8201 datanya telah berubah sesuai yang
kita masukan dalam query sebelummnya.

a. Tabel Kategori
a) Rubah nama kategori dari “Bahasa” menjadi “Sastra”
Data pada tabel kategori sebelum dirubah

Gambar 5. 159 Data Tabel Kategori Sebelum Berubah


231

Query diatas digunakan untuk menampilkan semua data


pada tabel kategori sebelum datanya dirubah.
Merubah data nama kategori pada tabel kategori

Gambar 5. 160 Merubah Nama_kategori pada Tabel Kategori

Query diatas digunakan untuk merubah data nama


kategori menjadi Sastra pada tabel kategori yang memiliki
id_kategori 4.
Menampilkan data yang telah dirubah pada tabel kategori

Gambar 5. 161 Tampilan Data yang Telah Dirubah pada Tabel Kategori

Query diatas digunakan untuk menampilkan seluruh


data pada tabel kategori. Terlihat pada baris ke-4 data yang
ingin kita ubah telah berubah sesuai keinginan kita.
b) Rubah nama kategori dari “Kerajinan” menjadi “Kesenian”
Data pada tabel kategori sebelum dirubah

Gambar 5. 162 Data pada Tabel Kategori Sebelum Dirubah


232

Query diatas digunakna untuk menampilkan data pada


tabel kategori sebelum datanya dirubah.
Merubah data nama ketegori pada tabel kategori

Gambar 5. 163 Merubah nama Kategori pada Tabel Kategori

Query diatas digunakan untuk mengubah data nama


kategori menjadi kesenian pada tabel kategori yang memiliki
nama_kategori kerajinan.
Menampilkan data yang telah dirubah pada tabel kategori

Gambar 5. 164 Data pada Tabel Kategori Setelah Dirubah

Query diatas digunakan untuk menampilkan seluruh


data pada tabel kategori. Terlihat pada taebl tersebut pada
abris ke-9 nama_kategorinya sudah bukan lagi kerajinan tapi
kesenian.
b. Tabel Buku
a) Rubah ISBN dari buku “Dilan 1991” menjadi “221001”
Data pada tabel buku sebelum dirubah

Gambar 5. 165 Data pada Tabel Buku Sebelum Dirubah


233

Query diatas digunakan untuk menampilkan data pada


tabel buku sebelum datanya dirubah. Agar lebih mudah
melihat perbedaan setelah datanya dirubah.
Merubah data ISBN pada tabel buku

Gambar 5. 166 Merubah data ISBN pada Tabel Buku

Query diatas digunakan utnuk merubah data ISBN pada


tabel buku yang memiliki id_anggota 4
Menampilkan data pada tabel buku sesudah dirubah

Gambar 5. 167 Data yang Telah Dirubah pada Tabel Buku

Query diatas digunakan untuk menampilkan seluruh


data pada tabel buku. Terlihat pada tabel tersebut pada baris 4
data kolom isbn nya sudah berubah menjadi 221001.
b) Rubah judul buku dari “Mahir Corel Draw X5 30 Hari”
menjadi “Belajar Corel Draw X7 Dalam Waktu 15 Hari”
kemudian rubah penulisnya menjadi “Ali Firmasyah”
dan rubah juga penerbitnya menjadi “Duta Ilmu”
Data pada tabel buku sebelum dirubah

Gambar 5. 168 Data pada Tabel Buku Sebelum Dirubah


234

Query diatas digunakan untuk menampilkan seluruh


data pada tabel buku sebelum dirubah datanya.
Merubah judul buku, penulis, dan penerbit pada tabel buku

Gambar 5. 169 Merubah Judul, Penulis, dan Penerbit pada Tabel Buku

Query diatas digunakan utnuk merubah data judul buku,


penulis dan penerbit pada tabel buku yang memiliki
id_anggota 1.
Menampilkan data pada tabel buku sesudah dirubah

Gambar 5. 170 Data pada Tabel Buku Setelah Dirubah

Query diatas digunakan untuk menampilkan seluruh


data pada tabel buku. Terlihat pada baris 1 judul
pengarang/penlis, dan penerbit sudah berubah seperti yang
telah dimasukan pada query sebelumnya.
c) Rubah judul buku dari “TIK Kelas 7” menjadi
“Teknologi Informasi Dan Komunikasi Kelas 7” dan
rubah ISBNnya menjadi “332101”
Data pada tabel buku sebelum dirubah

Gambar 5. 171 Data pada Tabel Buku Sebelum Dirubah

Query diatas digunakan untuk menampilkan seluruh


data pada tabel buku sebelum datanya dirubah.
235

Merubah data judul dan ISBN pada tabel buku

Gambar 5. 172 Merubah Judul dan ISBN pada Tabel Buku

Query diatas digunakan untuk merubah data judul buku


dan ISBN pada tabel buku yang memiliki id_anggota 7.
Menampilkan data yang telah dirubah pada tabel buku

Gambar 5. 173 Data pada Tabel Buku Setelah Dirubah

Query diatas digunakan untuk untuk meanmpilkan


seluruh data pada tabel buku. Terlihat pada baris ke 7 kolom
judul dan isbn telah berubah sesuai dengan yang kita
masukan pada query sebelumnya.
e. Tabel Peminjaman
a) Rubah Tanggal Peminjaman buku dari anggota yang
memiliki id 7 menjadi “24 Februari 2020’
Data pada tabel peminjaman sebelum dirubah

Gambar 5. 174 Data pada Tabel Peminjaman Sebelum Dirubah

Query diatas digunakan untuk menampilkan seluruh


data pada tabel peminjamansebelum datanya dirubah.
Merubah tanggal peminjaman pada tabel peminjaman
236

Gambar 5. 175 Merubah Tanggal_peminjaman pada Tabel Peminjaman

Query diatas digunakan untuk merubah data tanggal


peminjaman pada tabel peminjaman yang memiliki
id_peminjaman 7.
Menampilkan data pada tabel peminjaman setelah dirubah

Gambar 5. 176 Data yang Telah Dirubah pada Tabel Peminnjaman

Query diatas digunakan untuk menampilkan seluruh


data pada tabel peminjaman. Terihat pada taebl peminjaman
tersebut yang memiliki id_peminjaman 7 datsanya telah
berubah sesuai dengan query yang telah kita masukan
sebelumnya.
b) Rubah Tanggal Peminjaman buku yang memiliki
id_peminjamannya 6 menjadi “28 Februari 2020’
Data pada tabel peminjaman sebelum dirubah

Gambar 5. 177 Data pada Tabel Peminjaman Sebelum Dirubah


237

Query diatas digunakan untuk menampilkan seluruh


data pada tabel peminjaman yang datanya belum dirubah.
Merubah tanggal peminjaman pada tabel peminjaman

Gambar 5. 178 Merubah Tanggal_peminjaman pada Tabel Peminjaman

Query diatas digunakan untuk merubah data tanggal


peminjaman pada tabel peminjaman yang memiliki
id_peminjaman 6.
Menampilkan data pada tabel peminjaman setelah dirubah

Gambar 5. 179 Data yang Telah Dirubah pada Tabel Peminjaman

Query diatas digunakan untuk menampilkanm seluruh


data pada tabel peminjaman. Terlihat pada tabel peminjaman
yang memiliki id_peminjaman 6 datanya telah berubah sesuai
dengan query yang telah kita masukan sebelumnya,

c. Tabel Petugas
c) Tambahkan bagian pekerjaan untuk "Muhhamad ridwan"
sebagai Sekertaris, kemudian tambahkan nomer teleponnya
yaitu 081289207647
Data pada tabel petugas sebelum dirubah
238

Gambar 5. 180 Data pada Tabel Petugas Sebelum Dirubah

Query diatas digunakan untuk menampilkan seluruh


data pada tabel petugas sebelum datanya dirubah.
Menambahkan bagian dan no telp pada tabel petugas

Gambar 5. 181 Menambahkan Bagian dan No_telp pada Tabel Petugas

Query diatas digunakan untuk merubah data bagian dan


no_telp pada tabel petugas yang memiliki kd_petugas P106.
Menampilkan data pada tabel petugas setelah dirubah

Gambar 5. 182 Data pada Tabel Petugas Setelah Dirubah

Query diatas digunakan untuk menampilkan seluruh


data pada tabel petugas. Terlihat pada tabel petugas yang
memiliki kd_petugas P106 kolom bagian dan n0o_telp nya
sudah berubah sesuai dengan query yang ditulis sebelumnya.
d) Rubah Nama petugas dari "Wawan" menjadi "susanto" dan
rubah bagiannya menjadi "Keamanan"
Data pada tabel petugas sebelum dirubah
239

Gambar 5. 183 Data pada Tabel Petugas Sebelum Dirubah

Query diatas digunakan untuk menampilkan seluruh


data pada tabel petugas sebelum datanya dirubah.
Merubah nama dan bagian pada tabel petugas

Gambar 5. 184 Merubah Nama dan Bagian pada Tabel Petugas

Query diatas digunakan untuk mengubah data nama dan


bagian pada tabel petugas yang memiliki id_petugas 5.

Menampilkan data pada tabel petugas setelah dirubah

Gambar 5. 185 Data yang Telah Dirubah pada Tabel Petugas

Query diatas digunakan untuk Menampilkan seluruh


data pada tabel petugas yang telah dirubah. Terlihat pada
tabel petugas yang memiliki id_petugas 5 datanya sudah
berubah sesuai dengan query yang telah ditulis sebelumnya
240

5.5 Kesimpulan
Data Manipulation Language (DML) adalah bahasa yang
memperbolehkan pemakai untuk akses atau memanipulasi data sebagai
yang telah diorganisasikan sebelumnya dalam model data yang tepat.
Bahasa yang dipakai untuk memanipulasi data. Misalnya untuk
menambahkan data (Insert), memperoleh data (Select), mengubah data
(update), dan menghapus data (Delete) objek data dari basis data. DML
dipakai untuk operasi terhadap isi basis data, jadi berorientasi pada
occurrence basis data. Secara dasar ada dua tipe DML yaitu pertama
prosedural, yang membutuhkan pemakai untuk menspesifikasikan data
apa yang dibutuhkan dan bagaimana untuk mendapatkannya. Contoh
dbase III, foxbase. Kedua non prosedural, yang membutuhkan pemakai
untuk menspesikasikan data apa yang dibutuhkan tanpa
menspesifikasikan bagaimana untuk mendapatkannya. Contoh SQL,
QBE..
BAB VI
DATA CONTROL LANGUAGE

6.1 Tujuan
1. Untuk mengetahui definisi DCL
2. Untuk mengetahui superuser dan hak akses
3. Untuk membuat hak akses dan menghapus hak akses

6.2 Dasar Teori


6.2.1 Definisi
DCL (Data Control Language) berfungsi untuk melakukan
pengontrolan data dan server datbasenya, seperti manipulasi user dan hak
akses (priviledges). Yang termasuk perintah dalam DCL yaitu :
a. GRANT
Digunakan untuk memberikan hak akses oleh superuser ke salah
satu user atau pengguna. Hak akses itu bisa berupa hak membuat
(CREATE), mengambil data (SELECT), mengubah data (UPDATE),
atau menghapus data (DELETE).
b. REVOKE
Digunakan untuk mencabut hak akses yang telah diberikan kepada
user. Sebelum mempelajari lebih lanjut DCL (Data Control Language)
lebih baiknya mengetahui superuser, hak akses (priviledges) dan
membuat user.
6.2.2 Superuser
Pada instalasi MariaDB di BAB I, praktikan sudah diberikan 1
user untuk mengakses seluruh database yaitu ‘root’. Dalam keamanan
komputer istilah root bisa disebut juga “superuser”, yaitu tingkat user
tertinggi dimana user tersebut bisa melihat, mengubah, bahkan menghapus
seluruh database dan menjalankan perintah apapun yang terdapat dalam
MariaDB.

241
Jika digunakan untuk pembelajaran user ‘root’ sangat membantu
untuk mengakses seluruh data dan menjalankan semua perintah SQL.

242
243

Namun dalam implementasi dunia / dunia kerja, pengguna user


root tidak disarankan, karena bisa saja terjadi perubahan database yang
tidak diinginkan.
Selain bisa mengakses data dan manipulasi data, superuser bisa
membuat user baru dengan membatasi akses datanya misalnya :
- User “Alpha” hanya bisa melakukan akses SELECT (menampilkan
data).
- User “Bravo” hanya bisa melakukan akses UPDATE (mengubah data)
dan SELECT (menampilkan data).
- User “Charlie” hanya bisa melakukan akses CREATE (membuat) dan
DELETE (menghapus data).
6.2.3 Hak Akses/Priveleges
Hak akses di dalam database MySQL atau sejenisnya adalah hak
yang diberikan kepada user untuk dapat mengakses data / record tertentu.
Apakah user tersebut dapat membuat, mengubah, dan menghapus sebuah
tabel, atau user tersebut kita batasi hanya untuk melihat tabel saja
(perintah SELECT).
Lebih jauh lagi, MySQL atau sejenisnya memiliki kemampuan
untuk membatasi hak akses dari komputer mana MySQL klien dijalankan
(IP Addres), misalkan tabel “jurusan_fisika”, hanya dapat diakses dari
komputer yang alamat IP – nya berasal dari jurusan fisika saja, sehingga
membatasi hak akses mahasiswa fisika untuk melihat tabel jurusan
pariwisata.
Selain lokasi IP address, hak akses user dalam MySQL atau
sejenisnya dapat dibatasi juga pada level tabel dan kolom tertentu saja.
Misalkan dalam tabel “mahasiswa” terdapat kolom IPK yang harus
dirahasiakan, maka kita bisa membatasi hak akses untuk kolom IPK dan
membuka akses untuk kolom lainnya. Untuk pembuatan akses akan
dijelaskan pada sub bab 6.2.4.
244

6.2.4 Membuat User Baru


Pembuatan user baru dalam MySQL atau sejenisnya, hanya dapat
dilakukan menggunakan user root (superuser), atau user yang diberikan
hak akses GRANT OPTION (pembahasan GRANT OPTION akan dibahas
pada sub bab selanjutnya). Berikut adalah query untuk pembuatan user :
1. Membuat user tanpa password.
CREATE USER ‘nama_user’;
Keterangan :
- Nama_user : nama user yang digunakan, maksimal 16 karakter.
2. Membuat user dengan Batasan IP addres beserta password.
CREATE USER ‘nama_user’@’lokasi_user’ IDENTIFIED BY
‘password_user’;
Keterangan :
- Nama_user : nama user yang digunakan, maksimal 16 karakter.
- Lokasi_user : lokasi tempat user yang diperbolehkan mengakses.
Jika berada di komputer yang sama dengan MySQL server /
MariaDB atau DBMS yang lainnya, lokasi_user ditulis sebagai
‘localhost’, namun jika berada di komputer tertentu, kita bisa
mengisinya dengan alamat IP seperti ‘192.168.0.2’, atau alamat
host domain seperti “user.duniailkom”.
- Password_user : password yang harus dituliskan pada saat
nama_user mengakses MariaDB.
MariaDB juga memiliki fitur untuk membuat alamat IP
menggunakan wildcard ‘%’ yang maksudnya adalah semua alamat IP.
Contohnya :
CREATE USER ‘alpha’@’192.168.0.%’;
Perintah tersebut akan membuat user ‘alpha’ dapat diakses dari
seluruh alamat dari 192.168.0.1 sampai dengan 192.168.0.255, namun
tidak untuk IP 192.168.1.0. Bahkan sebenarnya perintah :
CREATE USER ‘admin’;
Adalah sama dengan :
245

CREATE USER ‘admin’@%;


Yang berarti user ilkom_admin dapat diakses dari mana saja.
Alamat yang sering digunakan sebagai alamat IP adalah ‘localhost’, yang
berarti alamat IP komputer tempat dimana MariaDB server berada. Karena
di dalam tahap praktikum dengan menggunakan MariaDB client pada
komputer yang sama dengan MariaDB server, gunakan lokasi localhost :
CREATE USER ‘admin’@’localhost’ IDENTIFIED BY ‘password’;
6.2.5 Menampilkan User dan Hapus User
a. Menampilkan nama user, lokasi, dan password.
Sama halnya dengan membuat user, untuk menampilkan user, juga
menggunakan superuser atau root, atau user yang diberikan hak akses
GRANT OPTION, karena didalam superuser terdapat database
MySQL yang di dalamnya terdapat tabel user menyimpan informasi
dari user yang telah dibuat oleh superuser. Berikut ini adalah
penggunaan query untuk menampilkan user :
SELECT user, password, host FROM user;
Keterangan :
- Kolom user : menampilkan nama user.
- Kolom password : menampilkan password dari user.
- Kolom host : menampilkan lokasi akses MariaDB.
b. Menghapus user.
Untuk menghapus user diperlukan superuser / root, penghapusan
user tidak memerlukan tabel MySQL. Berikut ini adalah penggunaan
query nya :
DROP user ‘nama_userabf’@’lokasi_user’;
Keterangan :
- Nama user : nama user yang akan dihapus.
- Lokasi_user : Lokasi akses dari user yang akan dihapus.
6.2.6 Membuat Hak Akses User MariaDB (Grant)
Hak akses dalam MySQL dibatasi dengan query apa saja yang
dibolehkan, selain itu juga dapat membatasi level dimana query tersebut
246

akan dijalankan, misalkan pada level database, level tabel bahkan level
kolom.
Untuk memberikan hak akses kepada user MariaDB menyediakan
query GRANT, berikut ini adalah penulisan querynya :
GRANT hak_akses ON nama_database.nama_tabel TO
‘nama_user’@’lokasi_user’;
Keterangan :
- Hak_akses yang akan diberikan kepada user tersebut. Hak akses disini
berisi query yang diperbolehkan, seperti : SELECT, INSERT,
UPDATE, DELETE, atau query lainnya. Jika ingin memberikan hak
penuh untuk semua query dasar tersebut, hak_akses ini bisa diisi
dengan ALL.
- Nama_database adalah nama database yang ingin diberikan hak akses.
Jika mengizinkan user tersebut dapat mengakses semua database yang
ada, nama_database bisa ditulis dengan tanda bintang (*).
- Nama_tabel adalah nama tabel yang ingin diberikan hak akses. Jika
kita mengizinkan user dapat menggunakan semua tabel, nama_tabel
bisa ditulis dengan tanda bintang (*).
- Nama_user adalah nama dari user yang akan diberikan hak akses.
- Lokasi_user adalah alamat IP dari user yang ingin diberikan hak akses.
Contoh :
GRANT SELECT ON univ.mahasiswa TO ‘Alpha’@’localhost’;
Query di atas akan menghasilkan hak akses dari alpha yaitu user
alpha hanya bisa melihat data dari tabel mahasiswa dari database univ,
yang lokasi usernya adalah localhost.

6.2.7 Jenis Hak Akses


MariaDB dan sejenisnya menyediakan berbagai tingkatan level hak
akses. Setiap user dapat dibatasi untuk dapat mengakses baik itu sebuah
database tertentu saja, tabel tertentu, atau bahkan hanya kolom tertentu.
Jika didasarkan pada pengelompokan ini, hak akses MariaDB dibagi
menjadi 4 level tingkatan yaitu :
247

1. Hak Akses Global


Hak akses ini berarti user dapat memiliki hak akses untuk seluruh
database yang terdapat di dalam MariaDB. Contoh penulisan query
GRANT untuk level ini adalah :
GRANT [hak_akses] ON *.* TO ‘nama_user’@’lokasi_user’;
Perhatikan cara penulisan nama_database.nama_tabel, dimana
penulisannya diganti denga *.*, sehingga user tersebut dapat
mengakses seluruh tabel pada seluruh database. Contoh :
GRANT SELECT, UPDATE ON *.* TO ‘Bravo’@’localhost’;
Query di atas menghasilkan hak akses dari user bravo yaitu user
bravo bisa menampilkan dan mengubah data seluruh tabel dari semua
database yang tersedia di dalam MariaDB yang lokasinya
menggunakan MariaDB server / localhost.
2. Hak Akses Level Database
Hak akses ini berarti user memiliki hak akses penuh untuk satu
database. Contoh penulisan query GRANT untuk level database.
Contoh penulisan query GRANT untuk level database ini adalah :
GRANT [hak_akses] ON [nama_database].[*] TO
‘nama_user’@’lokasi_user’;
Untuk penulisan nama_database.nama_tabel, user hanya bisa
mengakses database yang telah ditentukan, namun user mendapatkan
hak akses untuk seluruh tabel, penulisannya adalah nama_database.*.
Contoh :
GRANT SELECT ON univ.* TO ‘Alpha’@’192.168.20.1’;
Query di atas menghasilkan hak akses dari user Alpha yaitu user
Alpha hanya bisa menampilkan seluruh data dari tabel yang tersedia di
database univ yang lokasinya menggunakan alamat IP 192.168.20.1.
3. Hak Akses Level Tabel
Hak akses ini berarti user memiliki hak akses untuk sebuah tabel
yang berada pada sebuah database. Contoh penulisan query GRANT
untuk level ini adalah :
248

GRANT [hak_akses] ON [nama_database].[nama_tabel] TO


‘nama_user’@’lokasi’;
Hak akses yang dimiliki user hanya terbatas pada sebuah tabel saja
dari database. Contoh :
GRANT INSERT, UPDATE ON univ.mahasiswa TO
‘Charlie’@’192.168.50.2’;
Query di atas menghasilkan hak akses dari user Charlie yaitu user
Charlie bisa memasukkan data dan mengubah seluruh data dari tabel
mahasiswa yang tersedia di database univ yang lokasinya
menggunakan alamat IP 192.168.50.2.
4. Hak Akses Level Kolom
Hak akses ini adalah hak akses paling kecil yang dapat diberikan
kepada sebuah user. Dengan hak akses level kolom, user hana
memiliki hak akses untuk beberapa kolom pada sebuah tabel. Contoh
penulisan query GRANT untuk level kolom ini adalah :
GRANT hak_akses(nama_kolom1, nama_kolom2,….nama_kolomN)
ON nama_database.nama_tabel TO ‘nama_user’@’localhost’;
Level paling akhir mebatasi hak akses user hanya untuk kolom
tertentu saja. Penulisan kolom yang diperbolehkan diletakkan di dalam
tanda kurung. Contoh :
GRANT SELECT (nama, umur) ON univ.mahasiswa_ilkom TO
‘Delta’@’localhost’;
Query di atas menghasilkan hak akse dari user Delta yaitu user
Delta hanya bisa menampilkan data kolom nama dan umur dari tabel
mahasiswa yang tersedia di database univ yang lokasinya menggunakan
localhost.
6.2.8 Menampilkan Hak Akses Dari Luar
Setelah membuat hak akses untuk user, superuser atau user yang
telah diberi akses bisa melihat hak akses yang dimiliki masing – masing
user. Untuk melihat hak aksesnya, MariaDB menyediakan query SHOW
GRANTS FOR. Berikut ini adalah penulisan querynya :
249

SHOW GRANTS FOR ‘nama_user’@’lokasi_user’;


Keterangan :
- Nama_user : nama dari user yang akan di query.
- Lokasi_user : alamat IP dari nama_user, dapat berupa : localhost,
192.168.0.5, atau ‘%’.
Contoh :
SHOW GRANTS FOR ‘Alpha’@’localhost’;
Query di atas menampilkan hak akses yang dimiliki oleh user
Alpha.
6.2.9 Mengalihkan Hak Akses User
Ada kalanya seorang user MySQL atau sejenisnya ingin
mengalihkan hak akses yang dimiliki ke user lainnya. Misalkan
mahasiswa sudah dirasa terlalu banyak, sehingga user admin
membutuhkan admin baru untuk membantunya. User admin bisa saja
mengalihkan hak akses yang dimilikinya (tanpa mengapus hak akses
sendiri) ke user admin2.
Kemampuan untuk memberikan hak akses inilah yang disebut
dengan hak GRANT OPTION. Tetapi syarat untuk seorang user dapat
mengalihkan hak aksesnya adalah sewaktu pembuatan user asal, user root
harus memberikan hak GRANT OPTION. Terdapat beberapa cara
penulisan GRANT OPTION :
a. GRANT OPTION secara terpisah dengan hak akses.
Cara penulisan yaitu menuliskan GRANT OPTION secara terpisah
dengan hak akses. Cara ini digunakan jika user sudah dibuat beserta
hak aksesnya. Berikut ini format dasar untuk penulisannya :
GRANT GRANT OPTION ON nama_database.nama_tabel TO
'nama_user'@'lokasi_user';
Keterangan :
- Nama_database : nama database yang ingin diberikan hak akses.
Jika mengizinkan user tersebut dapat mengakses semua database
yang ada, nama_database bisa ditulis dengan tanda bintang (*).
250

- Nama_tabel : nama_tabel yang ingin diberikan hak akses. Jika


mengizinkan user dapat menggunakan semua tabel, nama_tabel
bisa ditulis dengan tanda bintang (*).
- Nama_user : nama dari user yang akan diberikan hak akses.
- Lokasi_user :alamat IP dari user yang ingin diberikan hak akses.
b. Penulisan GRANT OPTION dengan pemberian hak akses.
Selain format GRANT OPTION yang diberikan pada perintah
terpisah setelah membuat user dan hak aksesnya seperti cara yang
pertama, MariaDB memiliki cara kedua dengan menyatukannya
penulisan GRANT OPTION dengan pemberian hak akses. Berikut ini
adalah penulisan querynya :
GRANT hak_akses ON nama_database.nama_tabel TO
'nama_user'@'lokasi_user' with GRANT OPTION;
Keterangan :
- Hak_akses yang akan diberikan kepada user tersebut. Hak akses
disini berisi query yang diperbolehkan, seperti SELECT, INSERT,
UPDATE, DELETE, atau query lainnya. Jika ingin memberikan
hak penuh untuk semua query dasar tersebut, hak_akses ini bisa
diisi dengan ALL.
- Nama_database : nama database yang ingin diberikan hak akses.
Jika mengizinkan user tersebut dapat mengakses semua database
yang ada, nama_database bisa ditulis dengan tanda bintang (*).
- Nama_tabel : nama tabel yang ingin diberikan hak akses. Jika
mengizinkan user dapat menggunakan semua tabel, nama_tabel
bisa ditulis dengan tanda bintang (*).
- Nama_user : nama dari user yang akan diberikan hak akses.
- Lokasi_user :alamat IP dari user yang ingin diberikan hak akses.
WITH GRANT OPTION pemberian hak akses kepada user

6.2.10 Mengubah dan Menghapus Password User MariaDB


Password asli dari user MariaDB tidak dapat diketahui dari tabel
mysql, bahkan melalui user root sekalipun, karena MariaDB menyimpan
251

password user sebagai kata yang terdiri dari 41 karakter acak yang berasal
dari fungsi hashing di dalam MariaDB. Hal ini berguna seandainya ada
pihak yang tidak berhak masuk ke dalam sistem dan melihat - lihat
password user, namun juga menjadi masalah ketika ada user yang lupa
dengan password yang digunakan. Berikut ini adalah penulisan query
untuk menganti password :
1. Mengganti password dari user lain.
Jika user lupa passwordnya bukan user root, maka tinggal
menimpa password lama dengan yang baru. Berikut adalah format
query yang digunakan :
SET PASSWORD FOR ‘nama_user’@'lokasi_user' =
PASSWORD('password_baru');
Keterangan :
- Nama_user adalah nama dari user yang akan diubah passwordnya.
- Lokasi_user adalah alamat IP dari user yang akan diubah
passwordnya.
- Password_baru adalah password yang akan diberikan kepada
nama_user.
2. Mengganti password user dari user itu sendiri.
Untuk mengubah password dari user (bukan user root) yang login,
berikut ini adalah penulisan querynya :
SET PASSWORD = PASSWORD(‘password_baru’);
3. Menghapus password.
Jika ingin menghapus password dari user tertentu maka tinggal
timpa dengan string kosong. Berikut ini adalah penulisan querynya :
SET PASSWORD FOR 'nama_user'@'lokasi_user' = '';

6.2.11 Menghapus Hak User (Revoke)


Hak akses yang diberikan ke seorang user, ada kalanya perlu
dilakukan perubahan, tergantung kondisi dan kebijakan pengguna. Untuk
menghapus user, dapat menggunakan query DROP user, namun kadang
diperlukan hanya menghapus hak aksesnya saja, tanpa menghapus user
252

yang bersangkutan. Untuk hal ini MariaDB menyediakan perintah


REVOKE. Berikut ini penggunaan querynya :
REVOKE jenis_hak_akses (kolom1,kolom2) ON
nama_database.nama_tabel FROM ‘nama_user’@’lokasi_user’;
Keterangan :
- Jenis_hak_akses : hak akses yang akan dihapus dari user tersebut. bisa
menghapus hak akses secara satu per satu untuk keperluan yang
spesifik, atau mengisikan perintah ALL untuk menghapus seluruh hak
akses.
- Kolom1, kolom2 jika hak aksesnya berupa tabel dan kolomnya
sertakan nama kolom yang hak aksesnya akan dicabut. Jika tidak diisi,
maka query REVOKE akan menghapus hak akses seluruh kolom.
- Nama_database adalah nama database yang dihapus hak aksesnya.
nama_database bisa ditulis dengan tanda bintang (*) untuk merujuk
kepada seluruh database.
- Nama_tabel adalah nama tabel yang ingin dihapus hak aksesnya.
nama_tabel bisa ditulis dengan tanda bintang (*) untuk merujuk
kepada seluruh tabel.
- Nama_user adalah nama dari user yang akan dihapus hak aksesnya.
- Lokasi_user adalah alamat IP dari user yang akan dihapus hak
aksesnya.
Penghapusan hak akses bisa dilakukan melalui superuser ataupun bisa
dilakukan oleh user sendiri, namun apabila hak aksesnya berasal dari user
lain maka yang bisa menghapusnya adalah user tersebut.

6.3 Latihan
6.3.1 Membuat User Baru
1. Buatlah user baru yang berlokasi di localhost dengan ketentuan
sebagai berikut:
a. Admin, menggunakan passoword “rahasia”
b. Andri, menggunakan password “1988”
253

c. Ridwan
d. Bagas
Jawab :
a. Admin
1) Masuk sebagai superuser / root.

Gambar 6. 1 Masuk MariaDB Sebagai Superuser

Gambar di atas adalah proses masuk ke MariaDB sebagai


superuser atau root.
2) Masuk user baru.

Gambar 6. 2 Membuat User Baru

Query di atas adalah perintah untuk membuat user baru


bernama admin berlokasi di localhost dan memiliki password
“rahasia”.
3) Keluar dari superuser / root.

Gambar 6. 3 Keluar Dari Superuser

Pada gambar di atas kita telah keluar dari superuser / root.


4) Masuk sebagai user baru yang telah dibuat sebelumnya.
254

Gambar 6. 4 Masuk Sebagai User Admin

Kita telah berhasil masuk ke MariaDB menggunakan user


baru yang telah kita buat sebelumnya yaitu username “admin”
dengan password “rahasia”.
5) Keluar dari user admin.

Gambar 6. 5 Keluar Dari User Admin

Pada gambar di atas kita berhasil keluar dari user admin.


b. Andri
1) Masuk sebagai superuser root.

Gambar 6. 6 Masuk MariaDB Sebagai Superuser

Gambar di atas adalah proses masuk ke MariaDB sebagai


superuser atau root.
2) Membuat user baru.

Gambar 6. 7 Membuat User Baru


255

Query di atas adalah perintah untuk membuat user baru


bernama andri berlokasi di localhost dan memiliki password
“1988”.
3) Keluar dari superuser

Gambar 6. 8 Keluar Dari Superuser

Pada gambar di atas kita telah berhasil keluar dari


superuser / root.
4) Masuk sebagai user baru.

Gambar 6. 9 Masuk Sebagai User Andri

Kita telah berhasil masuk ke MariaDB menggunakan user


baru yang telah kita buat sebelumnya yaitu username “andri”
dengan password “1988”.
5) Keluar dari user Andri

Gambar 6. 10 Keluar Dari User Andri

Pada gambar di atas kita berhasil keluar dari user andri.


c. Ridwan
1) Masuk sebagai superuser / root.
256

Gambar 6. 11 Masuk MariaDB Sebagai Superuser

Gambar di atas adalah proses masuk ke MariaDB sebagai


superuser atau root.
2) Membuat user baru.

Gambar 6. 12 Membuat User Baru

Query di atas adalah perintah untuk membuat user baru


bernama ridwan berlokasi di localhost dan tidak memiliki kata
sandi.
3) Keluar dari superuser.

Gambar 6. 13 Keluar Dari Superuser

Pada gambar di atas kita telah berhasil keluar dari


superuser / root.
4) Masuk sebagai “Ridwan”.

Gambar 6. 14 Masuk Sebagai User Ridwan

Kita telah berhasil masuk ke MariaDB menggunakan user


baru yang telah kita buat sebelumnya yaitu username “ridwan”.
5) User “Ridwan” keluar.
257

Gambar 6. 15 Keluar Dari User Ridwan

Pada gambar di atas kita berhasil keluar dari user ridwan.


d. Bagas
1) Masuk sebagai superuser.

Gambar 6. 16 Masuk MariaDB Sebagai Superuser

Gambar di atas adalah proses masuk ke MariaDB sebagai


superuser atau root.
2) Membuat user baru dengan nama bagas.

Gambar 6. 17 Membuat User Baru

Query di atas adalah perintah untuk membuat user baru


bernama ridwan.
3) Keluar dari superuser.

Gambar 6. 18 Keluar Dari Superuser

Pada gambar di atas kita telah berhasil keluar dari


superuser / root.
4) Masuk sebagai user bagas.
258

Gambar 6. 19 Masuk Sebagai User Bagas

Kita telah berhasil masuk ke MariaDB menggunakan user


baru yang telah kita buat sebelumnya yaitu username “bagas”.
5) Keluar dari user “Bagas”.

Gambar 6. 20 Keluar Dari User Bagas

Pada gambar di atas kita berhasil keluar dari user bagas.

6.3.2 Membuat Hak Akses untuk User


Buatlah hak akses untuk masing – masing user sebagai berikut :
1. Admin
a. Berikan semua hak akses kepada user “Admin” pada database
kantor.
Jawab :
1) Masuk sebagai superuser / root.

Gambar 6. 21 Masuk MariaDB Sebagai Superuser

Gambar di atas adalah proses masuk ke MariaDB sebagai


superuser atau root.
2) Memberikan hak akses kepada user “admin”.
259

Gambar 6. 22 Memberi Hak Akses Pada User Admin

Query di atas adalah perintah untuk memberi hak akses


secara penuh pada database kantor dan semua tabelnya kepada
user admin.
3) Keluar dari superuser / root.

Gambar 6. 23 Keluar Dari Superuser

Pada gambar di atas kita telah berhasil keluar dari


superuser / root.
4) Masuk sebagai user admin.

Gambar 6. 24 Masuk Sebagai User Admin

Kita telah berhasil masuk ke MariaDB menggunakan user


baru yang telah kita buat sebelumnya yaitu username “admin”.
5) Menampilkan database yang tersedia.

Gambar 6. 25 Menampilkan Database Pada User Admin

Pada user admin kita dapat menampilkan database yang


ada pada superuser / root.
6) Gunakan database kantor.
260

Gambar 6. 26 Menggunakan Database Kantor

Pada gambar di atas terlihat kita berhasil menggunakan


database kantor pada user admin.
7) Menampilkan tabel dari database kantor.

Gambar 6. 27 Menampilkan Tabel Database Kantor

Pada gambar di atas kita berhasil menampilkan tabel yang


ada pada database kantor pada user admin.
8) Mencoba hak akses SELECT.

Gambar 6. 28 Mencoba Hak Akses Select

Terlihat pada gambar di atas kita telah menampilkan isi dari


tabel karyawan menggunakan query SELECT pada user admin.
2. Andri
a. Berikan hak akses SELECT, INSERT, UPDATE, dan DELETE
pada database kantor pada tabel karyawan.
Jawab :
1) Masuk sebagai superuser
261

Gambar 6. 29 Masuk MariaDB Sebagai Superuser

Gambar di atas adalah proses masuk ke MariaDB sebagai


superuser atau root.
2) Memberikan hak akses pada user Andri.

Gambar 6. 30 Memberikan Hak Akses

Query di atas adalah perintah untuk menambahkan hak


akses SELECT, INSERT, UPDATE, dan DELETE database
kantor pada tabel karyawan pada user Andri.
3) Keluar dari superuser / root.

Gambar 6. 31 Keluar Dari Superuser

Pada gambar di atas kita telah berhasil keluar dari


superuser / root.
4) Masuk sebagai user Andri.

Gambar 6. 32 Masuk Sebagai User Andri

Terlihat pada gambar di atas kita berhasil masuk ke


MariaDB menggunakan user Andri dengan password “1988”.
262

5) Menampilkan daftar database.

Gambar 6. 33 Menampilkan Daftar Database Pada User Andri

Terlihat pada gambar di atas kita telah menampilkan daftar


database pada user Andri.
6) Menggunakan database kantor.

Gambar 6. 34 Menggunakan Database Kantor

Pada gambar di atas kita berhasil menggunakan database


kantor pada user Andri.
7) Melihat daftar tabel.

Gambar 6. 35 Melihat Daftar Tabel

Terlihat pada gambar di atas kita telah menampilkan


beberapa tabel pada database kantor pada user Andri.
8) Mencoba hak akses SELECT ke tabel karyawan.

Gambar 6. 36 Mencoba Hak Akses Select ke Tabel Karyawan

Pada gambar di atas kita berhasil menampilkan isi dari tabel


karyawan pada user Andri.
9) Mencoba hak akses SELECT ke Tabel Inventaris.
263

Gambar 6. 37 Mencoba Hak Akses Select Tabel Inventaris

Terlihat pada gambar di atas terjadi error, karena user


Andri tidak diberik hak untuk mengakses tabel inventaris.
10) Mencoba hak akses ALTER untuk mengubah nama kolom.

Gambar 6. 38 Mencoba Hak Akses Alter ke Tabel Karyawan

Terlihat pada gambar di atas terjadi error, karena user


Andri tidak diberik hak akses ALTER untuk memanipulasi
tabel maupun kolom tabel karyawan pada database kantor.
b. Berikan hak akses SELECT, UPDATE, dan ALTER pada tabel
inventaris di dalam database karyawan.
Jawab :
1) Masuk sebagai superuser / root.

Gambar 6. 39 Masuk MariaDB Sebagai Superuser

Pada gambar di atas kita masuk ke MariaDB sebagai


superuser / root.
2) Memberikan hak akses pada user Andri.

Gambar 6. 40 Memberikan Hak Akses Pada User Andri

Pada gambar di atas kita telah memberikan hak akses


SELECT, UPDATE, dan ALTER pada database kantor untuk
tabel inventaris.
3) Keluar dari superuser / root.
264

Gambar 6. 41 Keluar Dari Superuser

Pada gambar di atas kita telah behasil keluar dari


superuser.
4) Masuk sebagai user Andri

Gambar 6. 42 Masuk User Andri

Pada gambar di atas kita berhasil masuk MariaDB dengan


user Andri.
5) Menggunakan database kantor.

Gambar 6. 43 Menggunakan Database Kantor

Pada gambar di atas kita telah menggunakan database


kantor pada user Andri.
6) Mencoba hak akses UPDATE.

Gambar 6. 44 Mencoba Hak Akses Update

Pada gambar di atas kita telah berhasil mengubah data pada


tabel inventaris pada user Andri.
7) Mencoba hak akses DELETE.

Gambar 6. 45 Mencoba Hak Akses Delete


265

Terjadi error pada gambar di atas, karena kita tidak


memberikan hak akses DELETE kepada user Andri.
8) Mencoba hak akses ALTER.

Gambar 6. 46 Mencoba Hak Akses Alter

Terlihat pada gambar di atas kita berhasil mengubah kolom


“no_barang” pada tabel inventaris pada user Andri.
3. Ridwan
a. Berikan hak akses SELECT, INSERT, dan DELETE, pada tabel
inventaris di dalam database kantor.
Jawab :
1) Masuk sebagai superuser root.

Gambar 6. 47 Masuk Sebagai Superuser

Pada gambar di atas kita telah masuk MariaDB sebagai


superuser.
2) Memberikan hak akses kepada user Ridwan.

Gambar 6. 48 Memberikan Hak Akses Pada User Ridwan

Pada gambar di atas kita telah memberikan hak akses


SELECT, INSERT, dan UPDATE pada database kantor tabel
inventaris pada user Ridwan.
3) Keluar dari superuser.
266

Gambar 6. 49 Keluar Dari Superuser

Pada gambar di atas kita telah keluar dari superuser atau


root.
4) Masuk sebagai Ridwan.

Gambar 6. 50 Masuk ke User Ridwan

Pada gambar di atas kita telah masuk ke user Ridwan.


5) Menampilkan daftar database.

Gambar 6. 51 Menampilkan Daftar Database

Pada gambar di atas kita berhasil menampilkan database


yang ada pada user Ridwan.
6) Menggunakan database kantor.

Gambar 6. 52 Menggunakan Database Kantor

Pada gambar di atas kita berhasil menggunakan database


kantor.
7) Melihat daftar tabel.
267

Gambar 6. 53 Menampilkan Tabel Database Kantor

Pada gambar di atas kita berhasil menampilkan tabel


inventaris pada database kantor pada user Ridwan.
8) Mencoba hak akses UPDATE.

Gambar 6. 54 Mencoba Hak Akses Update

Terlihat pada gambar di atas user Ridwan dapat mengakses


query UPDATE database kantor pada tabel inventaris.
9) Mencoba hak akses INSERT.

Gambar 6. 55 Mencoba Hak Akses Insert

Terlihat pada gambar di atas user Ridwan dapat mengakses


query INSERT database kantor pada tabel inventaris.
10) Mencoba hak akses SELECT.

Gambar 6. 56 Mencoba Hak Akses Select

Terlihat pada gambar di atas user Ridwan dapat mengakses


query SELECT database kantor pada tabel inventaris.
11) Mencoba hak akses delete.
268

Gambar 6. 57 Mencoba Hak Akses Delete

Terlihat pada gambar di atas user Ridwan dapat mengakses


query DELETE database kantor pada tabel inventaris.
b. Berikan hak akses SELECT di kolom nama_depan dan
nama_belakang pada tabel karyawan yang terdapat pada database
kantor.
Jawab :
1) Masuk sebagai superuser.

Gambar 6. 58 Masuk MariaDB Sebagai Superuser

Pada gambar di atas kita telah masuk MariaDB sebagai


superuser / root.
2) Memberikan hak akses kepada user Ridwan.

Gambar 6. 59 Memberi Hak Akses User Ridwan

Pada gambar di atas kita memberikan hak akses SELECT


untuk kolom “nama_depan” dan “nama_belakang” pada
database kantor tabel karyawan pada user Ridwan.
3) Keluar dari superuser.

Gambar 6. 60 Keluar Dari Superuser

Pada gambar di atas kita telah keluar dari superuser / root.


4) Masuk sebagai user Ridwan.
269

Gambar 6. 61 Masuk MariaDB Sebagai User Ridwan

Pada gambar di atas kita telah berhasil masuk MariaDB


sebagai user Ridwan.
5) Menggunakan database kantor.

Gambar 6. 62 Menggunkan Database Kantor

Pada gambar di atas kita berhasil menggunakan database


kantor pada user Ridwan.
6) Mencoba hak akses SELECT di kolom nama_depan dan
nama_belakang pada tabel karyawan.

Gambar 6. 63 Mencoba Hak Akses Select di Kolom Tertentu

Pada gambar di atas kita telah menampilkan kolom


nama_depan dan nama_belakang pada tabel karyawan pada
user Ridwan.
7) Mencoba hak akses untuk menampilkan seluruh data yang
terdapat pada tabel karyawan.

Gambar 6. 64 Mencoba Hak Akses Select Untuk Menampilkan Semua Data


270

Terjadi error karena pada user Ridwan kita hanya memberi


hak akses untuk menampilkan data kolom nama_depan dan
nama_belakang saja pada tabel karyawan database kantor.
6.3.3 Menampilkan Hak Akses User
Tampilkan hak akses dari user :
1. Admin
2. Andri
3. Ridwan
Jawab :
1. Masuk sebagai superuser.

Gambar 6. 65 Masuk MariaDB Sebagai Superuser

Pada gambar di atas kita telah masuk MariaDB sebagai superuser /


root.
2. Menampilkan hak akses dari admin.

Gambar 6. 66 Menampilkan Hak Akses Dari User Admin

Terlihat pada gambar di atas terdapat hak akses apa saja yang dapat
digunakan oleh user admin. Yaitu dapat mengakses semua query SQL
pada database kantor dan semua tabel.
3. Menampilkan hak akses dari Andri.

Gambar 6. 67 Menampilkan Hak Akses Andri


271

Terlihat pada gambar di atas terdapat hak akses apa saja yang dapat
digunakan oleh user Andri. Yaitu akses query SELECT pada tabel
jabatan pada database kantor. Akses query SELECT, INSERT,
UPDATE, dan DELETE pada tabel karyawan database kantor. Dan
mengakses query SELECT, UPDATE, dan ALTER pada database
kantor pada tabel inventaris.
4. Menampilkan hak akses dari Ridwan.

Gambar 6. 68 Menampilkan Hak Akses Ridwan

Terlihat pada gambar di atas terdapat hak akses apa saja yang dapat
digunakan oleh user Ridwan. Yaitu dapat mengakses query SELECT,
INSEER, dan UPDATE pada database kantor pada tabel inventaris.
Dan akses SELECT kolom nama_depan dan nama_belakang tabel
karyawan pada database kantor.
6.3.4 Mengalihkan Hak Akses User
1. berikan hak akses SELECT, INSERT, UPDATE, dan DELETE pada
database kantor tabel karyawan dari user Andri kepada user Ridwan.
Jawab :
1) Masuk sebagai superuser.

Gambar 6. 69 Masuk Sebagai Superuser

Pada gambar di atas kita berhasil masuk MariaDB sebagai


superuser / root.
272

2) Superuser memberikan opsi untuk pengalihan hak akses dari


database beserta tabel yang dimiliki user Andri kepada user lain.

Gambar 6. 70 Superuser Memberikan Opsi Pengalihan Hak Akses

Query di atas adalah perintah untuk memberikan opsi


pengalihan hak akses pada user Andri.
3) Menampilkan hak akses yang dimiliki oleh user Andri.

Gambar 6. 71 Menampilkan Hak Akses Andri

Terlihat pada gambar di atas terdapat hak akses apa saja yang
dapat digunakan oleh user Andri. Yaitu akses query SELECT pada
tabel jabatan pada database kantor. Akses query SELECT,
INSERT, UPDATE, dan DELETE pada tabel karyawan database
kantor. Dan mengakses query SELECT, UPDATE, dan ALTER
pada database kantor pada tabel inventaris.
4) Keluar dari superuser.

Gambar 6. 72 Keluar Dari Superuser

Pada gambar di atas kita telah keluar dari superuser / root.


5) Masuk sebagai user Andri.

Gambar 6. 73 Masuk User Andri

Pada gambar di atas kita telah masuk ke user Andri.


273

6) User Andri memberikan hak akses SELECT, INSERT, UPDATE,


dan DELETE pada database kantor pada tabel karyawan dari user
Andri kepada user Ridwan.

Gambar 6. 74 Mengalihkan Hak Akses Andri Kepada Ridwan

Query di atas adalah perintah untuk mengalihkan hak akses


Andri kepada Ridwan.
7) Keluar dari user Andri.

Gambar 6. 75 Keluar Dari User Andri

Pada gambar di atas kita berhasil keluar dari user Andri.


8) Masuk sebagai user Ridwan.

Gambar 6. 76 Masuk Sebagai User Ridwan

Pada gambar di atas kita telah masuk MariaDB sebagai user


Andri.
9) Menggunakan database kantor.

Gambar 6. 77 Menggunakan Database Kantor

Pada gambar di atas kita berhasil menggunakan database


kantor pada user Andri.
10) Menggunakan hak akses SELECT di tabel karyawan.
274

Gambar 6. 78 Mencoba Hak Akses Select

Pada gambar di atas kita telah menggunakan hak akses


SELECT pada tabel karyawan yang sebelumnya hak akses tersebut
dialihkan dari user Ridwan.
2. Berikan hak akses SELECT, INSERT, dan DELETE, pada tabel
inventaris di dalam database kantor dari user Ridwan kepada user
Andri.
Jawab :
1) Masuk sebagai superuser.

Gambar 6. 79 Masuk Sebagai Superuser

Pada gambar di atas kita berhasil masuk MariaDB sebagai


superuser / root.
2) Menampilkan hak akses dari user Ridwan.

Gambar 6. 80 Menampilkan Hak Akses User Ridwan

Terlihat pada gambar di atas terdapat hak akses apa saja yang
dapat digunakan oleh user Ridwan. Yaitu dapat mengakses query
SELECT, INSERT, dan UPDATE pada database kantor pada tabel
inventaris. Dan akses SELECT kolom nama_depan dan
nama_belakang tabel karyawan pada database kantor.
275

3) Superuser memberikan opsi untuk pengalihan hak akses SELECT,


INSERT, dan DELETE, pada tabel inventaris di dalam database
kantor dari user “Ridwan” kepada user “Andri”.

Gambar 6. 81 Memberikan Hak Akses

Pada gambar di atas kita memberikan opsi pengalihan hak


akses dari user Ridwan kepada user Andri.
4) Menampilkan hak akses yang dimiliki user Andri.

Gambar 6. 82 Menampilkan Hak Akses User Andri

Terlihat pada gambar di atas terdapat hak akses apa saja yang
dapat digunakan oleh user Andri. Yaitu akses query SELECT pada
tabel jabatan pada database kantor. Akses query SELECT,
INSERT, UPDATE, dan DELETE pada tabel karyawan database
kantor. Dan mengakses query SELECT, INSERT, dan DELETE
pada database kantor pada tabel inventaris.
5) Keluar dari superuser.

Gambar 6. 83 Keluar Dari Superuser

Pada gambar di atas kita berhasil keluar dari superuser / root.


6) Masul sebagai user Andri.
276

Gambar 6. 84 Masuk Sebagai User Andri

Pada gambar di atas kita telah masuk ke MariaDB sebagai user


Andri.
7) Menggunakan database kantor.

Gambar 6. 85 Menggunakan Database Kantor

Pada gambar di atas kita berhasil menggunakan database


kantor pada user Andri.
8) Menggunakan hak akses SELECT pada tabel inventaris.

Gambar 6. 86 Mencoba Hak Akses Select

Pada gambar di atas terlihat kita berhasil menggunakan hak


akses SELECT pada tabel inventaris sebagai user Andri.
6.3.5 Mengubah atau Menghapus Password dari User
1. Ubah password dari user Admin menjadi “secret” dan ubah melalui
superuser,
2. Hapus password dari user Andri.
3. Tambahkan password user Ridwan menjadi “qwerty”.
Jawab :
a. Admin
1) Masuk sebagai superuser.
277

Gambar 6. 87 Masuk MariaDB Sebagai Superuser

Pada gambar di atas kita telah masuk MariaDB sebagai


superuser / root.
2) Ubah password user Admin.

Gambar 6. 88 Ubah Password Admin

Query di atas adalah perintah untuk mengganti password user


Admin yang awalnya “rahasia” diubah menjadi “secret”.
3) Keluar dari superuser.

Gambar 6. 89 Keluar Dari Superuser

Pada gambar di atas kita telah keluar dari superuser / root.


4) Masuk sebagai user Admin.

Gambar 6. 90 Masuk MariaDB Sebagai User Admin

Pada gambar di atas kita berhasil masuk MariaDB sebagai user


Admin menggunakan password ‘secret’ yang baru kita ubah
sebelumnya.
278

b. Andri
1) Masuk MariaDB sebagai user Andri.

Gambar 6. 91 Masuk Sebagai User Andri

Pada gambar di atas kita telah masuk ke MariaDB sebagai user


Andri.
2) Mengganti password.

Gambar 6. 92 Mengganti Password

Query di atas adalah perintah untuk mengganti password user


Andri. Dari gambar di atas kita telah mengganti password user
Andri menjadi kosong atau bisa dibilang menghapus password
pada user Andri.
3) User Andri keluar.

Gambar 6. 93 Keluar Dari User Andri

Pada gambar di atas kita telah keluar dari user Andri.


4) Kembali masuk MariaDB sebagai user Andri.

Gambar 6. 94 Masuk Kembali Sebagai User Andri


279

Pada gambar di atas kita berhasil masuk ke MariaDB sebagai


user Andri tanpa menggunakan password.
c. Ridwan
1) Masuk sebagai user Ridwan.

Gambar 6. 95 Masuk Sebagai User Ridwan

Pada gambar di atas kita berhasil masuk MariaDB sebagai user


Ridwan.
2) Mengganti password

Gambar 6. 96 Mengganti Password Ridwan

Pada gambar di atas kita berhasil menambahkan password pada


user Ridwan yaitu “qwerty”.
3) Keluar dari user Ridwan.

Gambar 6. 97 Keluar Dari User Ridwan

Pada gambar di atas kita telah keluar dari user Ridwan.


4) Masuk kembali sebagai user Ridwan.

Gambar 6. 98 Masuk Kembali Sebagai User Ridwan


280

Pada gambar di atas kita berhasil masuk ke MariaDB sebagai user


Andri menggunakan password “qwerty” yang baru kita buat sebelumnya.

6.3.6 Menghapus Hak Akses


1. Andri
a) Menghapus hak akses SELECT, INSERT, UPDATE, dan ALTER
pada tabel inventaris di dalam database karyawan.
Jawab :
1) Masuk sebagai user Andri

Gambar 6. 99 Masuk Sebagai User Andri

Pada gambar di atas kita berhasil masuk ke MariaDB


sebagai user Andri.
2) Menampilkan hak akses yang tersedia.

Gambar 6. 100 Menampilkan Hak Akses User Andri

Terlihat pada gambar di atas terdapat hak akses apa saja


yang dapat digunakan oleh user Andri. Yaitu akses query
SELECT pada tabel jabatan pada database kantor. Akses query
SELECT, INSERT, UPDATE, dan DELETE pada tabel
karyawan database kantor. Dan mengakses query SELECT,
INSERT, UPDATE, dan ALTER pada database kantor pada
tabel inventaris.
3) Menghapus hak akses.
281

Gambar 6. 101 Menghapus Hak Akses User Andri

Pada gambar di atas kita berhasil menghapus hak akses


query SELECT, INSERT, UPDATE, dan ALTER pada
database kantor tabel inventaris pada user Andri.
2. Ridwan
a) Hapus hak akses SELECT, INSERT, UPDATE pada tabel
inventaris.
Jawab :
1) Masuk user Ridwan.

Gambar 6. 102 Masuk Sebagai User Ridwan

Pada gambar di atas kita berhasil masuk ke MariaDB


sebagai user Ridwan dengan password “qwerty”.
2) Menampilkan hak akses yang tersedia.

Gambar 6. 103 Menampilkan Hak Akses User Ridwan

Terlihat pada gambar di atas terdapat hak akses apa saja


yang dapat digunakan oleh user Ridwan. Yaitu dapat
mengakses query SELECT, INSERT, dan UPDATE pada
database kantor pada tabel inventaris. Dan akses SELECT
kolom nama_depan dan nama_belakang tabel karyawan pada
database kantor.
3) Menghapus hak akses.
282

Gambar 6. 104 Menghapus Hak Akses User Ridwan

Pada gambar di atas kita berhasil menghapus hak akses


query SELECT, INSERT, dan UPDATE pada database kantor
tabel inventaris pada user Ridwan.

6.4 Tugas
Gunakan database rumah sakit untuk mengerjakan soal di bawah !
1. Buatlah user dengan ketentuan sebagai berikut!
a. Joko, password : admin.
Jawab :

Gambar 6. 105 Membuat User Admin

Query di atas adalah perintah untuk membuat user baru. User


tersebut kita buat pada superuser / root dengan nama user “joko”,
password “admin”.
b. Lia, password : kasir1.

Gambar 6. 106 Membuat User Kasir

Query di atas adalah perintah untuk membuat user baru. User


tersebut kita buat pada superuser / root dengan nama user “lia”,
password “kasir1”.
c. Putra, password : spesialis.

Gambar 6. 107 Membuat User Spesialis


283

Query di atas adalah perintah untuk membuat user baru. User


tersebut kita buat pada superuser / root dengan nama user
“putra”,password “spesialis”.
2. Buatlah hak akses dari user yang telah dibuat dengan ketentuan
sebagai berikut!
a. Joko
1) Dapat menampilkan, mengubah, menambah, dan menghapus
data pada tabel jadwal dokter.
Jawab :

Gambar 6. 108 Memberi Hak Akses User Joko

Query di atas adalah perintah untuk memberi hak akses


SELECT, INSERT, UPDATE, dan DELETE pada database
rumah sakit di dalam tabel jadwal dokter pada user Joko.

Gambar 6. 109 Masuk MariaDB Sebagai User Joko

Pada gambar di atas kita telah masuk ke MariaDB sebagai


user Joko.

Gambar 6. 110 Menampilkan Data Tabel Jadwal Dokter


284

Pada gambar di atas kita berhasil menampilkan data tabel


jadwal_dokter pada user Joko.

Gambar 6. 111 Mencoba Hak Akses Insert

Query di atas adalah perintah untuk Gambar diatas


menampilkan penulisan mencoba hak akses INSERT pada tabel
jadwal dokter.

Gambar 6. 112 Menambahkan Data Pada Tabel Jadwal Dokter

Query di atas adalah perintah untuk menambah data pada


tabel jadwal_dokter. Terlihat kita telah menambah data jadwal
dokter pada baris ke – 9.

Gambar 6. 113 Menghapus Data Pada Tabel Jadwal Dokter

Query di atas adalah perintah untuk menghapus data baris


yang memiliki id_jadwal = 9 pada tabel jadwal_dokter. Terlihat
kita telah menghapus data jadwal dokter pada baris ke – 9.
2) Menampilkan dan mengubah data dari kolom id_dokter, nama,
no_telepon, dan email dari tabel dokter.
Jawab :

Gambar 6. 114 Memberi Hak Akses User Joko

Query di atas adalah perintah untuk memberi hak akses


SELECT dan UPDATE pada database rumah sakit tabel dokter
285

kolom “id_dokter”, “nama_dokter”, “no_telepon”, dan “email”


pada user Joko.
3) Mendapatkan seluruh hak akses dari tabel spesialis.

Gambar 6. 115 MemberI Hak Akses User Joko

Query di atas adalah perintah untuk memberi seluruh hak


akses pada database rumah sakit tabel spesialis pada user Joko.
b. Lia
1) Dapat melakukan perubahan pada kolom harga da
menampilkan seluruh data dari tabel kamar.
Jawab :

Gambar 6. 116 Memberi Hak Akses User Lia

Query di atas adalah perintah untuk memberi hak akses


UPDATE pada kolom “harga” tabel kamar pada user Lia.

Gambar 6. 117 Memberi Hak Akses User Lia

Query di atas adalah perintah untuk memberi hak akses


SELECT pada database rumah sakit tabel kamar pada user Lia.
2) Menampilkan data dari tabel jadwal dokter.
Jawab :

Gambar 6. 118 Memberi Hak Akses User Lia

Query di atas adalah perintah untuk memberi hak akses


SELECT pada database rumah sakit tabel jadwal dokter pada
user Lia.
286

Gambar 6. 119 Masuk MariaDB Sebagai User Lia

Gambar 6. 120 Menampilkan Data Pada Tabel Jadwal Dokter

Terlihat pada gambar di atas kita telah menampilkan data


tabel jadwal dokter pada user Lia.
3) Dapat menampilkan, mengubah, dan menghapus data pada
tabel pasien.
Jawab :

Gambar 6. 121 Memberi Hak Akses User Lia

Query di atas adalah perintah untuk memberi hak akses


SELECT, UPDATE, dan DELETE pada database rumah sakit
tabel pasien pada user Lia.
c. Putra
1) Menampilkan kolom nama, no_telepon, dan email dari tabel
dokter.
Jawab :

Gambar 6. 122 Memberi Hak Akses User Putra


287

Query di atas adalah perintah untuk memberi hak akses


SELECT pada database rumah sakit tabel dokter pada user
Putra.

Gambar 6. 123 Masuk MariaDB Sebagai User Putra

Terliha pada gambar di atas kita telah masuk MariaDB


sebagai user Putra.

Gambar 6. 124 Menampilkan Data Nama, Nomor Telepon, dan Email Pada
Tabel Dokter

Kita telah menampilkan data nama dokter, nomor telepon,


dan email tabel dokter pada user Putra.
2) Menampilkan data dari tabel kamar.
Jawab :

Gambar 6. 125 Memberi Hak Akses Pada User Putra

Query di atas adalah perintah untuk memberi hak akses


SELECT pada database rumah sakit tabel kamar pada user
Putra.
3) Menampilkan data dari tabel pasien.
288

Jawab :

Gambar 6. 126 Memberi Hak Akses Pada User Putra

Query di atas adalah perintah untuk memberi hak akses


SELECT pada database rumah sakit tabel pasien pada user
Putra.

Gambar 6. 127 Menampilkan Data Pada Tabel Pasien

Kita telah menampilkan data tabel pasien pada user Putra.


3. Alihkan hak akses dengan ketentuan sebagai berikut!
a. “joko” mengalihkan hak akses menampilkan dan mengubah data
dari kolom id_dokter, nama, no_telepon, dan email dari tabel
dokter kepada “lia”.
Jawab :

Gambar 6. 128 Memberi Grant Option Pada User Joko

Pada gambar di atas kita telah memberikan hak akses


pengalihan pada database rumah sakit tabel dokter pada user Joko.

Gambar 6. 129 Masuk User Joko

Pada gambar di atas kita masuk MariaDB sebagai user Joko.


289

Gambar 6. 130 Mengalihkan Hak Akses Joko ke Lia

Pada gambar di atas kita telah mengalihkan hak akses SELECT


dan UPDATE untuk kolom “id_dokter”, “nama_dokter”,
“no_telepon”, dan “email” pada database rumah sakit tabel dokter
pada user Joko kepada user Lia.

Gambar 6. 131 Masuk Sebagai User Lia

Pada gambar di atas kita masuk MariaDB sebagai user Lia.

Gambar 6. 132 Mencoba Menampilkan Seluruh Kolom Tabel Dokter

Saat mencoba mencoba menampilkan seluruh isi tabel dokter


akan terjadi error karena kita tidak memberi hak akses bagi user lia
untuk menampilkan semua data kolom pada tabel dokter.

Gambar 6. 133 Mencoba Hak Akses Select User Lia

Terlihat pada gambar di atas kita hanya bisa mengakses kolom


id_dokter, nama_dokter, no_telepon, dan email pada tabel dokter
pada user Lia.
290

Gambar 6. 134 Mencoba Update Alamat Tabel Dokter

Saat mencoba mencoba mengubah alamat pada tabel dokter


akan terjadi error karena kita tidak memberi hak akses bagi user lia
untuk mengubah kolom alamat pada tabel dokter.

Gambar 6. 135 Mencoba Hak Akses Update

Saat kita mengubah nama dokter tidak terjadi error karena kita
memberi hak akses untuk mengubah kolom nama dokter pada tabel
dokter pada user Lia.
b. “Lia” mengalihkan hak akses untuk menampilkan data dari tabel
jadwal_dokter kepada “Putra”.
Jawab :

Gambar 6. 136 Pemberian Grant Option Pada User Lia

Pada gambar di atas kita telah memberikan hak akses


pengalihan pada database rumah sakit tabel jadwal dokter pada
user Lia.

Gambar 6. 137 Masuk MariaDB Sebagai User Lia

Pada gambar di atas kita masuk MariaDB sebagai user Lia.

Gambar 6. 138 Mengalihkan Hak Akses Lia ke Putra


291

Pada gambar di atas kita telah mengalihkan hak akses SELECT


pada database rumah sakit tabel jadwal dokter pada user Joko
kepada user Lia.

Gambar 6. 139 Masuk MariaDB Sebagai User Putra

Pada gambar di atas kita masuk MariaDB sebagai user Putra.

Gambar 6. 140 Mencoba Hak Akses Select Pada User Putra

Pada gambar di atas terlihat kita berhasil menampilkan isi data


pada tabel jadwal dokter pada user Putra.

Gambar 6. 141 Mencoba Hak Akses Delete

Saat kita ingin menghapus suatu baris pada tabel jadwal dokter
seperti pada gambar di atas terlihat terjadi error, karena kita tidak
memberikan hak akses DELETE pada tabel jadwal dokter pada
user Putra.

c. “Putra” mengalihkan hak akses untuk menampilkan data dari tabel


kamar kepada “Joko”.
Jawab :

Gambar 6. 142 Pemberian Grant Option Pada User Putra


292

Pada gambar di atas kita telah memberikan hak akses


pengalihan pada database rumah sakit tabel kamar pada user Putra.

Gambar 6. 143 Masuk MariaDB Sebagai User Putra

Pada gambar di atas kita masuk MariaDB sebagai user Putra.

Gambar 6. 144 Mengalihkan Hak Akses Putra ke Joko

Pada gambar di atas kita telah mengalihkan hak akses SELECT


pada database rumah sakit tabel kamar pada user Putra kepada
user Joko.

Gambar 6. 145 Masuk MariaDB Sebagai User Joko

Pada gambar di atas kita masuk MariaDB sebagai user Joko.

Gambar 6. 146 Mencoba Hak Akses Select Pada User Joko

Pada gambar di atas terlihat kita berhasil menampilkan isi data


dari tabel kamar pada user Joko.
293

Gambar 6. 147 Mencoba Hak Akses Delete

Saat kita ingin menghapus suatu baris pada tabel kamar seperti
pada gambar di atas terlihat terjadi error, karena kita tidak
memberikan hak akses DELETE pada tabel kamar pada user Joko.
d. “Lia” mengalihkan hak akses untuk melakukan perubahan pada
kolom harga dan menampilkan seluruh data dari tabel kamar
kepada “Joko”.
Jawab :

Gambar 6. 148 Pemberian Grant Option Pada User Lia

Pada gambar di atas kita telah memberikan hak akses


pengalihan pada database rumah sakit tabel kamar pada user Lia.

Gambar 6. 149 Masuk MariaDB Sebagai User Lia

Pada gambar di atas kita masuk MariaDB sebagai user Lia.

Gambar 6. 150 Mengalihkan Hak Akses Lia ke Joko

Pada gambar di atas kita telah mengalihkan hak akses SELECT


dan Update untuk kolom harga pada database rumah sakit tabel
kamar pada user Lia kepada user Joko.
294

Gambar 6. 151 Masuk MariaDB Sebagai User Joko

Pada gambar di atas kita masuk MariaDB sebagai user Joko.

Gambar 6. 152 Mencoba Hak Akses Select

Pada gambar di atas terlihat kita berhasil menampilkan isi data


dari tabel kamar pada user Joko.

Gambar 6. 153 Mencoba Hak Akses Update Kolom Harga

Pada gambar di atas terlihat kita berhasil mengubah isi data


dari tabel kamar kolom harga pada user Joko.

Gambar 6. 154 Mencoba Hak Akses Update Kolom Jenis

Pada gambar di atas terlihat terjadi error, karena kita tidak


memberikan hak akses update untuk kolom jenis pada tabel kamar
pada user Joko.
4. Ubahlah password dari user berikut.
a. Joko, password baru : dokter_1.
Jawab :

Gambar 6. 155 Mengganti Password User Joko


295

Terlihat pada gambar di atas kita telah mengganti password


user Joko menjadi “dokter_1”.
b. Lia, password baru : ksr_22.
Jawab :

Gambar 6. 156 Mengganti Pasword User Lia

Terlihat pada gambar di atas kita telah mengganti password


user Lia menjadi “ksr_22”.
c. Putra, password baru : info.
Jawab :

Gambar 6. 157 Mengganti Password User Putra

Terlihat pada gambar di atas kita telah mengganti password


user Putra menjadi “info”.
5. Hapuslah hak akses dengan ketentuan sebagai berikut.
a. Mencabut hak akses dari Joko dari tabel spesialis.
Jawab :

Gambar 6. 158 Mencabut Hak Akses User Joko Pada Tabel Spesialis

Pada gambar di atas kita berhasil mencabut semua hak akses


dari user Joko pada tabel spesialis pada database rumah sakit.
b. Menghapus hak akses dari “Putra” untuk menampilkan data dari
tabel kamar.
Jawab :

Gambar 6. 159 Mencabut Hak Akses User Putra Pada Tabel Kamar

Pada gambar di atas kita berhasil mencabut hak akses SELECT


dari user Putra pada tabel kamar pada database rumah sakit.
296

6.5 Kesimpulan
DCL (Data Control Language) merupakan dimana kita bisa
membuat user untuk membatasi apa saja yang dapat diakses oleh user
tersebut. Dalam pembuatan user boleh disertai dengan password dan boleh
tidak. Kita juga mempelajari bagaimana cara membuat hak akses user,
menampilkan dan menghapus user, jenis – jenis hak akses, menampilkan
hak akses, mengalihkan hak akses, mengubah dan menghapus password
user, serta menghapus hak akses dari user. Jika didasarkan pada
pengelompokan ini, hak akses MariaDB dibagi menjadi 4 level tingkatan
yaitu :

1. Hak Akses Global


2. Hak Akses Level Databases
3. Hak Akses Level Table
4. Hak Akses Level Kolom
BAB VII
FILTERING, AGREGATION, SORTING & MATH FUNCTION

7.1. Tujuan
1. Untuk memahami query lanjutan.
2. Untuk memahami filtering, aggregation, dan sorting data.

7.2. Dasar Teori

7.1.1. Filtering
1. WHERE
Where digunakan untuk menentukan kondisi saat pengambilan
data, baik dari tabel tunggal ataupun dari pengabungnan beberapa
tabel. Kondisi berupa pengambilan nilai berdasarkan nama kolom,
dengan berbagai macam yaitu :
1) Perbandingan
Tabel 7. 1 Operator Perbandingan

Operator Deskripsi Contoh

Operator ini akan membandingkan dua


operand A dan B. Jika nilai A dengan B,
= A=B
maka akan bernilai true

Operator ini akan membandingkan dua


operand A dan B. Jika nilai A tidak sama
!= A=B
dengan B, maka akan bernilai true

Operator ini akan membandingkan dua


operand A dan B. Jika nilai A tidak sama
<> A<>B
dengan B, maka akan bernilai true

297
298

Operator Deskripsi Contoh

Operator ini akan membandingkan dua


operand A dan B. Jika nilai A lebih besar
> A>B
dari B, maka akan bernilai true

Operator ini akan membandingkan dua


operand A dan B. Jika nilai A lebih besar
>= atau sama dengan B, maka akan A>=B
bernilai true

Operator ini akan membandingkan dua


operand A dan B. Jika nilai A lebih kecil
< A<B
dari B, maka akan bernilai true

Operator ini akan membandingkan dua


operand A dan B. Jika nilai A lebih kecil
<= atau sama dengan B, maka akan A<=B
bernilai true

Operator ini akan membandingkan dua


operand A dan B. Jika nilai A tidak lebih
!> A!>B
besar B, maka akan bernilai true

Operator ini akan membandingkan dua


operand A dan B. Jika nilai A tidak lebih
!< A!<B
kecil B, maka akan bernilai true

Penulisan query :
SELECT nama_kolom FROM nama_tabel WHERE nama_kolom <
299

nilai;
Contoh Penggunaan :
- SELECT nama, nilai FROM mahasiswa WHERE nilai >= 75;
- Select nama FROM mahasiswa WHERE alamat = “Solo”;
2) Operator Logika

Tabel 7. 2 Operator Logiika


Operator Keterangan Penggunaan
Bernilai benar jika keduanya Alamat = “Solo” AND
AND memenuhi kondisi Alamat = “Depok”

Akan bernilai benar bila salah Alamat = “Solo” OR


OR
satu atau keduanya benar Alamat = “Depok”

NOT Negasi dari suatu nilai Alamat NOT depok

Penulisan Query :
- SELECT nama_kolom FROM nama_tabel WHERE nama_kolom
= nilai AND nama_kolom = nilai;
- SELECT nama_kolom FROM nama_tabel WHERE nama_kolom
= nilai OR nama_kolom = nilai;
- SELECT nama_kolom FROM nama_tabel WHERE nama_kolom
NOT nilai;
Contoh Penggunaan :
- SELECT nama FROM mahasiswa WHERE Alamat = “Solo”
AND Alamat = “Depok”;
- SELECT nama FROM mahasiswa WHERE Alamat = “Solo” OR
Alamat = “Depok”;
- SELECT nama FROM mahasiswa WHERE Alamat NOT
“Depok”;

3) Fungsi SQL
Untuk fungsi sql akan dijelaskan dibab ini dan diberapa bab
selanjutnya.
Contoh fungsi SQL : Between, LIKE, IN dan sebagainya.
2. BETWEEN
300

Between digunakan untuk mencari batas minimal sampai dengan


batas maksimal dari kondisi tertentu. Berikut ini adalah penulisan
querynya :
SELECT nama_kolom FROM nama_tabel WHERE nama_kolom2
BETWEEN batas_nilai_awal AND batas_nilai_akhir.
Contoh Penggunaan :
Misalkan pengguna mencari data nilai, dari tabel nilai, dengan
kondisi mahasiswa diantara 75 sampai dengan 96. Berikut ini
querynya :
SELECT nama, nilai FROM m WHERE nilai BETWEEN 75 AND 96.
3. IN
IN digunakan untuk mencari kumpulan data yang telah
ditentukan dari suatu tabel, berikut ini adalah penulisan querynya :
SELECT nama_kolom FROM nama_tabel WHERE nama_kolom2
IN (nilai_yang_dicari1,nilai_yang_dicari2,...............
nilai_yang_dicariN;
Contoh :
Misalkan pengguna mencari nama mahasiswa yang alamatnya
dari semarang, solo, demak. Berikut ini adalah querynya :
SELECT nama FROM mahasiswa WHERE alamat IN(“Semarang”,
“Solo”, “Demak”);

4. LIKE
LIKE digunakan untuk pencarian data berdasarkan huruf atau
kalimat, yang ditentukan oleh pengguna. Berikut ini adalah
penggunaan querynya :
a. Mencari data berdasarkan kalimat
SELECT nama_kolom FROM nama_tabel WHERE nama_kolom
LIKE “nilai_yang_dicari”
Contoh penggunaan :
SELECT nama FROM mahasiswa WHERE nama LIKE “HERMAN”
Hasil pencarian diatas akan menghasilkan data dari kolom nama yang
terdapat kata Herman.
301

b. Mencari data berdasarakan huruf awal


SELECT nama_kolom FROM nama_tabel WHERE nama_kolom
LIKE “huruf%”
Contoh penggunaan :
SELECT nama FROM mahasiswa WHERE nama LIKE “Ha%”
Hasil pencarian diatas akan menghasilkan data dari kolom nama yang
terdapat huruf Ha diawal.

c. Mencari data berdasrakan huruf akhirnya


SELECT nama_kolom FROM nama_tabel WHERE nama_kolom
LIKE “%huruf”;
Contoh penggunaan :
SELECT nama FROM mahasiswa WHERE nama LIKE “%h”
Hasil pencarian diatas akan menghasilkan data dari kolom nama yang
terdapat huruf h diakhir.

d. Mencari data berdasarkan huruf


SELECT nama_kolom FROM nama_tabel WHERE nama_kolom
LIKE “%huruf%”;
Contoh penggunaan :
SELECT nama FROM mahasiswa WHERE nama LIKE “ia%”
Hasil pencarian diatas akan menghasilkan data dari kolom nama yang
terdapat huruf ia baik diawal maupun diakhir.

5. AND
Digunakan untuk menampilkan data jika kedua kondisi terpenuhi,
berikut ini adalah penulisannya :
SELECT nama_kolom FROM nama_tabel WHERE nama_kolom1=
“nilai_dari_kolom1” AND nama_kolom2 = nilai_dari_kolom2”;
Contoh penggunaan :
SELECT nama FROM mahasiswa WHERE alamat = “Semarang” AND
alamat = “Demak”;
Query diatas menampilkan nama mahasiswa yang alamatnya
semarang dan demak, jika tersedia maka data akan ditampilkan
namun jika salah satu tidak tersedia maka query akan menampilkan
data kosong.
302

6. OR
Digunakan untuk menampilkan data jika salah satu kondisi
terpenuhi, atau keduanya terpenuhi berikut ini adalah penulisannya :
SELECT nama_kolom FROM nama_tabel WHERE nama_kolom1=
“nilai_dari_kolom1” OR nama_kolom2 = “nilai_dari_kolom2”;
Contoh penggunaan :
SELECT nama FROM mahasiswa WHERE alamat = “Semarang” OR
alamat = “Demak”;
Query diatas menampilkan nama mahasiswa yang alamatnya
semarang atau demak, jika salah satunya atau keduanya tersedia maka
query akan menampilkan datanya.
7. LIMIT
Digunakan untuk membatasi jumlah data yang ditampilkan,
berikut ini adalah penulisan querynya :
1) Membatasi jumlah data yang tampil.
Select nama_kolom FROM nama_tabel LIMIT
jumlah_pembatasan;
Contoh :
SELECT nama, fakultas, jurusan FROM mahasiswa LIMIT 5;
Dari query diatas akan menampilkan data dari kolom nama, fakultas dan
jurusan, dan jumlah yang ditampilkan adalah 5.

2) Membatasi jumlah data dengan awal data yang ditentukan


Bentuk data dari SQL adalah array, jadi untuk data yang
pertama dimulai dari 0, kemudian data ke-2 adalah 1 dan
seterusnya. Jadi pastikan posisi awal yang akan digunakan untuk
menampilkan datanya. Berikut ini adalah penulisan querynya :
Select nama_kolom FROM nama_tabel LIMIT posisi_awal,
jumlah_pembatasan;
Contoh :
SELECT nama, fakultas, jurusan FROM mahasiswa LIMIT 4,
5;
Query diatas akan menampilkan data dari kolom nama, fakultas dan
jurusan dari urutan ke-4 berdasarkan Array atau jika berdasarkan urutan
303

secara normal data ditampilkan dari urutan ke-5, dan jumlahdata yang
ditampilkan adalah 5.

8. IS NULL
IS NULL digunakan untuk menampilkan data yang terdapat
kolom yang tidak terisi / NULL.Penulisan query :
SELECT nama_kolom FROM nama_tabel WHERE nama_kolom1 IS
NULL;
Contoh :
SELECT * FROM mahasiswa WHERE email IS NULL.
Dari query diatas akan menampilkan data dari seluruh kolom mahasiwa,
dengan kondisi kolom email tidak terisi atau IS NULL.

7.1.2. Agregation Data


1. GROUP BY
Digunakan untuk mengumpulkan data dari beberpa record
kemudian dikelompokan menjadi satu kolom atau lebih, berikut ini
adalah penulisan querynya :
SELECT nama_kolom FROM nama_tabel GROUP BY nama_kolom1;
Contoh
SELECT nama_matkul FROM mata_kuliah GROUP BY Jurusan;
Query tersebut menampilkan data dari kolom nama_matkul dari tabel tabel
mata_kuliah, dengan kondisi data dari kolom mata_kuliah dikelompokan
berdasarakan data dari kolom jurusan.

2. HAVING
Digunakan untuk menentukan kondisi saat pengambilan data.dari
pengertian diatas fungsinya mirip dengan WHERE, namun yang
membedakannya adalah Klausa Having harus dikombinasikan dengan
GROUP BY dan harus disisipkan dengan fungsi Agregat seperti
SUM, MAX, MIN dan COUNT. Berikut ini adalah penggunaan :
SELECT nama_kolom FROM nama_tabel GROUP BY nama_kolom1
HAVING fungsi_agregat;
Contoh :
SELECT jenis_barang, SUM(harga) FROM barang GROUP BY
jenis_barang HAVING SUM(harga) < 10000;
304

Query diatas menampilkan jenis_barang dan total harga dari tabel


barang, dan dikelompokan berdasarkan jenis_barangnya dengan
kondisi total harga kurang dari 10000.
7.1.3. Sorting Data
1. ORDER BY
Digunakan untuk mengurutkan data, berikut ini adalah penulisan
querynya terbagi menjadi 2 yaitu :

1) ASC
Digunakan untuk mengurutkan data dari urutan terkecil hingga
terbesar. Penulisan query :
SELECT nama_kolom FROM nama_tabel ORDER BY nama_kolom1
ASC;

Contoh :
SELECT nama FROM mahasiswa ORDER BY nama ASC;
Query diatas akan menampilkan nama dari tabel mahasiswa dengan
urutan nama mahasiswa diurutkan dari huruf terkecil terkecil
dengan terbesar.
2) DESC
Digunakan untuk mengurutkan data dari urutan terbesar hingga
terkecil.Penulisan query :
SELECT nama_kolom FROM nama_tabel ORDER BY nama_kolom1
DESC;

Contoh :
SELECT nama FROM mahasiswa ORDER BY nama ASC;
Query diatas akan menampilkan nama dari tabel mahasiswa dengan
urutan nama mahasiswa diurutkan dari huruf terkecil terbesar
dengan terkecil.
7.1.4. Math Function
1. AVG
AVG atau Averange (Rata-rata), digunakan untuk mendapatkan
rata-rata nilai dari sebuah kolom yang betipe numerik. Berikut ini
adalah pengguanan querynya :
SELECT AVG(nama_kolom) FROM nama_tabel;
305

Contoh :
SELECT AVG(gaji) FROM pegawai;
Query diatas menampilkan nilai rata-rata dari kolom gaji, yang diambil
tabel pegawai.
2. MIN
MIN atau Minimum digunakan untuk mendapatkan nilai
minimum dari sebuah kolom yang bertipe numerik.Berikut ini adalah
penggunaanya querynya :
SELECT MIN(nama_kolom) FROM nama_tabel;
Contoh :
SELECT MIN(gaji) FROM pegwai;
Query diatas menampilkan nilai terendah dari kolom gaji, yang diambil
dari tabel pegawai.
3. MAX
MAX atau Maximum digunakan untuk mendapatkan nilai
maksimal dari sebuah kolom yang bertipe numerik. Penulisan query :
SELECT MAX(nama_kolom) FROM nama_tabel;
Contoh :
SELECT MAX(gaji) FROM pegawai;
Query diatas menampilkan nilai termaksimal dari kolom gaji yang
diambil dari tabel pegawai.
4. COUNT
Count digunakan untuk menghitung banyaknya data pada sebuah
kolom, perhitungan didalam count tidak harus berupa numerik, Count
bisa digunakan ditipe data String, karena count menghitung
banyaknya data pada kolomnya. berikut ini adalah penggunaan
querynya :
SELECT COUNT(nama_kolom) FROM nama_tabel;
Contoh :
SELECT COUNT(nama) FROM mahasiswa;
Query diatas menghasilkan banyaknya data yang terdapat pada kolom
nama dari tabel mahasiswa.
306

5. SUM
SUM atau Summarize, digunakan untuk menjumlahkan nilai dari
kolom, yang memiliki tipe data numerik.Berikut ini adalah penulisan
querynya :
SELECT SUM(nama_kolom) FROM nama_tabel;
Contoh :
SELECT SUM(gaji) FROM pegawai;
Query diatas menampilkan penjumlahan dari kolom gaji, yang diambil
dari tabel pegawai.
6. ABS
ABS atau Absoulute digunakan untuk membuat bilangan negatif
menjadi positif. Berikut ini adalah penggunaan querynya :
SELECT ABS(nilai / kolom);
Contoh penggunaan :
SELECT ABS(-23);
Query diatas menghasilkan bilangan positif yaitu 23.
7. CEIL
CEIL digunakan untuk membulatkan bilangan desimal menjadi
satu nilai diatasnya tanpa memperhatikan angka dibelakang koma.
Berikut ini adalah penulisan querynya : SELECT
CEIL(bilangan_desimal);
Berikut ini adalah contoh penggunaan querynya :
SELECT CEIL(3.4);
Query diatas menghasilkan hasil pembulatan 3.4 menjadi 4.
8. FLOOR
FLOOR memiliki fungsi sebaliknya dengan ceil yaitu
membulatkan bilangan desimal menjadi satu nilai dibawahnya tanpa
memperhatikan angka dibelakang koma. Berikut ini adalah
307

penggunaan querynya :
SELECT FLOOR(bilangan_desimal);
Berikut ini adalah contoh penggunaan querynya :
SELECT FLOOR(5.8);
Query diatas menghasilkan hasil pembulatan 5.8 menjadi 5.
9. MOD
MOD atau modular digunakan untuk mengembalikan sisa dari
pembagian, berikut ini adalh penggunaan querynya :
SELECT MOD(bilangan_1, bilangan_2);
Contoh penggunaannya :
SELECT MOD(6, 4);
Query tersebut menghasilkan sisa pembagian dari 6 dengan 4 yaitu 2.
10. ROUND
ROUND digunakan untuk membulatkan bilangan desimal
menjadi satu nilai diatas atau dibawahnya. Hal tersebut tergantung
pada nilai desimal, jika nilai desimal lebih kecil dari 5 maka bilangan
dibulatkan ke bawah, sedangkan jika nilai desimalnya lebih besar dari
5 maka bilangan akan dibulatkan satu angka diatasnya. Berikut ini
adalah penulisan querynya :
SELECT ROUND(bilangan_desimal);
Berikut ini adalah contoh penggunaan round :
SELECT ROUND(4.2);
Query diatas menghasilkan bilangan 4 karena bilangan dibelakang
koma lebih kecil dari 5. (Nugroho, 2011)
11. TRUNCATE
TRUNCATE digunakan untuk memotong bilangan desimal
berdasarkan angka yang telah ditentukan, berikut ini adalah
penggunaan querynya :
SELECT TRUNCATE(bilangan_desimal, jumlah_desimal);
Contoh penggunaan :
SELECT TRUNCATE(13.453, 1);
Query tersebutkan akan menghasilkan bilangan 13.4.
308

7.3. Latihan

7.1.5. Filtering
1. WHERE
A. Tampilkan nama negara yang bentuk pemerintahnya republik dan
batasi 10 data
1) Gunakan database world

Gambar 7. 1 Menggunakan Database World

Gambar diatas menunjukkan query untuk menggunakan


database world.
2) Tampilkan tabel yang terdapat di database world

Gambar 7. 2 Menampilkan Tabel Dari Databases World

Gambar diatas menunjukkan query untuk menampilkan


semua table yang tersedia dari database world.

3) Tampilkan struktur tabel country


309

Gambar 7. 3 Menampilkan Srtuktur Dari Tabel Country

Gambar diatas menunjukkan query untuk menampilkan


struktur dari tabel country.
4) Tampilkan nama negara yang bentuk pemerintahnya republik
dan batasi 10 data

Gambar 7. 4 Menampilkan Nama Negara Dari Tabel Country

Gambar diatas menunjukkan query untuk menampilkan


nama negara yang bentuk pemerintahannya republik dari tabel
country.

B. Tampilkan Negara Yang Berada Diwilayah "Asia Tenggara"


1) Tampilkan struktur tabel country

Gambar 7. 5 Menampilkan strukrur tabel country

Gambar diatas menunjukkan query untuk menmapilkan


struktur dari tabel country.
2) Tampilkan Negara Yang Berada Diwilayah "Asia Tenggara"
310

Gambar 7. 6 Menampillkan nama negara yang berada diwilayah asia

Gambar diatas menunjukkan query untuk menampilkan


negara yang berada diwilyah Asia Tenggara dari tabel country.
2. BETWEEN
A. Tampilkan nama negera yang populasinya diantara 400.000 ribu
sampai dengan 1 juta dan berada di benua afrika
1) Tampilkan struktur tabel country

Gambar 7. 7 Menampilkan struktur tabel country

Gambar diatas menunjukkan query untuk menampilkan


struktur dari tabel country.
2) Tampilkan nama negera yang populasinya diantara 400.000
ribu sampai dengan 1 juta dan berada di benua afrika

Gambar 7. 8 menampikan nama negara diBenua afrika

Gambar diatas menunjukkan query untuk menampilkan


nama negara yang populasinya 400 ribu sampai 1 juta yang
berada diBenua Afrika dari tabel country.
311

B. Tampilkan pasien yang berat badannya diantara 50 sampai dengan


65
1) Gunakan database rumah_sakit

Gambar 7. 9 Menggunakan database rumah_sakit

Gambar diatas menunjukkan query untuk menggunakan


database rumah_sakit.
2) Tampilkan seluruh tabel yang terdapat pada data rumah_sakit

Gambar 7. 10 Menampilkan seluruh tabel dari database rumah_sakit

Gambar diatas menunjukkan query untuk menampilkan


seluruh tabel yang terdapat dari database rumah_sakit.
3) Tampilkan struktur tabel pasien

Gambar 7. 11 Menampilkan sturuktur dari tabel pasien

Gambar diatas menunjukkan query untuk menampilkan


struktur dari tabel pasien.
4) Tampilkan pasien yang berat badannya diantara 50 sampai
dengan 65
312

Gambar 7. 12 Menampilkan nama pasien

Gambar diatas untuk menunjukkan query untuk


menampilkan nama pasien yang berat badannya diantaranya 50
sampai dengan 65 dari tabel pasien.
3. LIKE
A. Tampilkan nama negara yang memilki huruf "in" dan batasi 10
data
1) Gunakan database world

Gambar 7. 13 Menggunakan database world

Gambar diatas menunjukkan query untuk menggunakan


database world.
2) Tampilkan tabel yang terdapat di database world

Gambar 7. 14 Menampikan seluruh tabel dari database world

Gambar diatas menujukkan query untuk menampilkan


seluruh tabel yang tedapat database world.
3) Tampilkan struktur tabel country
313

Gambar 7. 15 Menampilkan struktur tabel country

Gambar diatas menunjukkan query untuk menampilkan


struktur tabel country.
4) Tampilkan nama negara yang memilki huruf "i" dan batasi 10
data

Gambar 7. 16 Menampilkan nama negara

Gambar diatas menunjukkan query untuk menampilkan 10


nama negara yang memiliki huruf “i” dari tabel country.
B. Tampilkan produk yang memiliki awalan "H"
1) Gunakan database classicmodel

Gambar 7. 17 Menggunakan database classic_models

Gambar diatas menujukkan query untuk menggunakan


database classic_models.
314

2) Tampilkan tabel yang terdapat pada tabel classicmodels

Gambar 7. 18 Menampilkan seluruh tabel dari database classic_models

Gambar diatas menujukkan query untuk menmapilkan


seluruh tabel yang terdapat dari database classic_models.
3) Tampilkan struktur tabel product

Gambar 7. 19 Menampilkan struktur tabel product

Gambar diatas menujukkan query untuk menampilkan


struktur dari tabel product.
4) Tampilkan produk yang memiliki awalan "H"

Gambar 7. 20 Menampilkan nama product

Gambar diatas menujukkan query untuk menampilkan


nama product yang memiliki awalan huruf “H” dari tabel
products.
C. Tampilkan nama produk yang memiliki akhiran "i"
1) Tampilkan struktur tabel product
315

Gambar 7. 21 menampilkan struktur tabel products

Gambar diatas menujukkan query untuk menampilkan


struktur dari tabel products.
2) Tampilkan produk yang memiliki akhiran "i"

Gambar 7. 22 Menampilkan nama product

Gambar diatas menunjukkan query untuk menampilkan


nama product yang memiliki memiliki akhiran “i” dari tabel
products.
4. AND
A. Tampilkan nama negara beserta pemimpinnya yang terletak di
Asia dan bentuk perintahannya bukan republik.
1) Gunakan database world

Gambar 7. 23 menggunakan database world

Gambar diatas menunjukkan query untuk menggunakan


database world.
2) Tampilkan tabel yang terdapat di database world
316

Gambar 7. 24 menampilkan seluruh tabel dari database world

Gambar diatas menunjukkan query untuk menampilkan


seluruh tabel yang terdapat pada database world.
3) Tampilkan struktur tabel country

Gambar 7. 25 menampilkan struktur tabel country

Gambar diatas menujukan query untuk menampilkan


struktur tabel country.
4) Tampilkan nama negara beserta pemimpinnya yang terletak di
Asia dan bentuk perintahannya bukan republik.

Gambar 7. 26 Menampilkan nama negara


317

Gambar diatas menunjukkan query untuk menampilkan


nama negara dan nama pemimpin yang bentuk
pemerintahannya bukan republik dari tabel country.
B. Tampilkan kota berserta populasi, dengan kondisi populasi lebih
dari 1000000 dan nama kota diawali dengan huruf “i”
1) Tampilkan struktur tabel city

Gambar 7. 27 Menampilkan struktur tabel city

Gambar diatas menujukkan query untuk menampilkan


struktur dari tabel city.
2) Tampilkan kota berserta populasi, dengan kondisi populasi
lebih dari 1000000 dan nama kota diawali dengan huruf “i”

Gambar 7. 28 Menampilkan nama kota dan populasi kota

Gambar diatas menunjukkan query untuk menampilkan


nama dan populasi kota yang kondisi populasinya lebih dari
1000000 dan nama kotanya diawali dengan huruf “i”.
318

5. OR

A. Tampilkan nama negara yang bentuk pemerintahanya republik


atau monarki dan batasi 10 data saja
1) Tampilkan struktur tabel country

Gambar 7. 29 Menampilkan struktur tabel country

Gambar diatas menunjukkan query untuk menampilkan


struktur tabel country.
2) Tampilkan nama negara yang bentuk pemerintahanya
republik atau monarki dan batasi 10 data saja

Gambar 7. 30 Menampilkan nama negara

Gambar diatas menunjukkan query untuk menampilkan 10


nama negara yang bentuk pemerintahannya republik atau
monarki.
B. Tampilkan produk yang jenisnya “Trains” Atau “Planes”
1) Gunakan database classicmodel

Gambar 7. 31 Menggunakan database classic_models

Gambar diatas menunjukkan query untuk menggunakan


database classic_models.
2) Tampilkan tabel yang terdapat pada tabel classicmodel
319

Gambar 7. 32 menampilkan seluruh tabel

Gambar diatas menunjukkan query untuk menampilkan


seluruh tabel yang terdapat pada database classic_models.
3) Tampilkan struktur tabel product

Gambar 7. 33 menampilkan struktur tabel products

Gambar diatas menunjukan query untuk menampilkan


struktur tabel products.
4) Tampilkan produk yang jenisnya “Trains” Atau “”Ships”

Gambar 7. 34 menampilkan nama product

Gambar diatas menunjukkan query untuk menampilkan


nama product yang jenis product-Nya “Trains” atau “Ships”.
6. LIMIT
A. Tampilkan 5 kota yang berada di provinsi jawa barat
320

1) Gunakan database world

Gambar 7. 35 Menggunakan database world

Gambar diatas menunjukkan query untuk menggunakan


database world.
2) Tampilkan tabel yang terdapat di database world

Gambar 7. 36 Menampilkan seluruh tabel

Gambar diatas menunjukkan query untuk menampilkan


seluruh tabel yang terdapat pada database world.
3) Tampilkan struktur tabel country

Gambar 7. 37 Menampilkan struktur tabel country

Gambar diatas menunjukkan query untuk menampilkan


struktur tabel country.
321

4) Tampilkan 5 kota yang berada di provinsi jawa barat

Gambar 7. 38 Menampilkan nama kota

Gambar diatas menunjukkan query untuk menampilkan 5


nama kota yang berada diprovinsi jawa barat dari tabel city.
B. Tampilkan 5 produk yang yang harganya diantara 40.00 sampai
dengan 50.00
1) Gunakan database classicmodel

Gambar 7. 39 Menggunakan database classic_models

Gambar diatas menunjukan query untuk menggunakan


database classic_models.
2) Tampilkan tabel yang terdapat pada tabel classicmodels

Gambar 7. 40 Menampilkan seluruh tabel

Gambar diatas menunjukkan query untuk menampilkan


seluruh tabel dari database classic_models.
322

3) Tampilkan struktur tabel product

Gambar 7. 41 Menampilkan struktur tabel products

Gambar diatas menunjukkan query untuk menampilkan


struktur tabel products.
4) Tampilkan 5 produk yang harganya diantara 40.00 sampai
dengan 50.00

Gambar 7. 42 Menampilkan nama product

Gambar diatas menunjukkan query untuk menampilkan 5


product yang harganya diantara 40.00 sampai dengan 50.00
dari tabel products.
7. IS NULL

A. Tampilkan nama negara yang harapan hidupnya 0


1) Gunakan database world

Gambar 7. 43 Menggunakan database world

Gambar diatas menunjukkan query untuk menggunakan


database world.
2) Tampilkan tabel yang terdapat di database world
323

Gambar 7. 44 Menampilkan seluruh tabel

Gambar diatas menunjukkan query untuk menampilkan


seluruh tabel dari database world.
3) Tampilkan struktur tabel country

Gambar 7. 45 Menampilkan strutur tabel country

Gambar diatas menunjukkan query untuk menampilkan


struktur tabel country.
4) Tampilkan nama negara yang harapan hidupnya 0

Gambar 7. 46 menampilkan nama negara

Gambar diatas menunjukkan query untuk menampilkan


nama negara yang harapannya hidup 0.
324

7.1.6. Agregasi Data


GROUP BY

A. Tampilkan seluruh benua dari tabel country


1) Gunakan database world

Gambar 7. 47 menggunakan database world

Gambar diatas menunjukkan query untuk menggunakan


database world.
2) Tampilkan tabel yang terdapat di database world

Gambar 7. 48 Menampilkan seluruh tabel

Gambar diatas menunjukkan query untuk menampilkan seluruh


tabel dari database world.
3) Tampilkan struktur tabel country

Gambar 7. 49 menampilkan struktur tabel country

Gambar diatas menunjukkan query untuk menampilkan strukur


tabel country.
4) Tampilkan seluruh benua dari tabel country
325

Gambar 7. 50 menampilkan seluruh benua

Gambar diatas menunjukkan query untuk menampilkan seluruh


benua dari tabel country.
B. Tampilkan seluruh provinsi berdasarkan negara yang memiliki kode
IDN
1) Tampilkan Struktur tabel city

Gambar 7. 51 Menampilkan struktur tabel city

Gambar diatas menunjukkan query untuk menampilkan


struktur tabel city.
2) Tampilkan seluruh provinsi berdasarkan negara yang memiliki
kode ”IDN”

Gambar 7. 52 Menampilkan seluruh provinsi

Gambar diatas menunjukkan query untuk menampilkan seluruh


provinsi berdasarkan negara yang memiliki kode negara “IDN”.
326

8. HAVING
A. Tampilkan rata-rata harapan hidup dari masing-masing benua
1) Tampilkan struktur tabel country

Gambar 7. 53 menampilkan struktur tabel country

Gambar diatas menunjukkan query untuk menampilkan


struktur tabel country.
2) Tampilkan rata-rata harapan hidup dari masing-masing benua

Gambar 7. 54 Menampilkan rata - rata harapan hidup

Gambar diatas menunjukkan query untuk menampilkan rata


- rata harapan hidup pada masing – masing benua dai tabel
country.
B. Tampilkan bahasa dan jumlahpenggunaannya dengan kondisi
penggunaan bahasa lebih dari 10.
1) Tampilkan struktur tabel countrylanguage.

Gambar 7. 55 menampilkan struktur tabel countryLanguage

Gambar diatas menunjukkan query untuk menampilkan


struktur tabel countryLanguage.
327

2) Tampilkan bahasa dan jumlah penggunaannya dengan kondisi


penggunaan bahasa lebih dari 10.

Gambar 7. 56 Menampilkan bahasa dan jumlah penggunanya

Gambar diatas menunjukkan query untuk meanampilkan


bahasa dan jumlah penggunanya yang kondisi penggunaan
bahasanya lebih dari 10.

7.1.7. Sorting Data


1. ASC
A. Tampilkan nama pasien dan urutkan dari huruf awal
1) Gunakan database rumah_sakit

Gambar 7. 57 Menggunakan database rumah_sakit

Gambar diatas menunjukkan query untuk menggunakan


database rumah_sakit.
2) Tampilkan seluruh tabel yang terdapat pada data rumah_sakit

Gambar 7. 58 menampilkan seluruh tabel

Gambar diatas menunjukkan query untuk menampilkan


seluruh tabel dari database rumah_sakit.
3) Tampilkan struktur tabel pasien
328

Gambar 7. 59 Memnampilkan struktur tabel pasein

Gambar diatas menunnjukkan query untuk menampilkan


struktur tabel pasien.
4) Tampilkan nama pasien dan urutkan dari huruf awal

Gambar 7. 60 Menampilkan nma pasien

Gambar diatas menunjukkan query untuk menampilkan


nama pasien berdasarkan urutan yang dimulai dari huruf awal.
329

2. DESC
A. Tampilkan nama pasien dan urutkan berdasarkan tinggi badan yang
paling rendah.
1) Tampilkan struktur tabel pasien

Gambar 7. 61 menampilkan struktur tabel pasien

Gambar diatas menunjukkan query untuk menampilkan


struktur tabel pasien.
2) Tampilkan nama pasien dan urutkan berdasarkan tinggi
badan yang paling rendah.

Gambar 7. 62 Menampilkan nama pasien

Gambar diatas menunjukkan query untuk menampilkan


nama pasien berdasarkan urutan tinggi badan paling rendah.

7.1.8. Math Function


1. AVG
A. Tampilkan rata-rata harapan hidup di wilayah asia tenggara
330

1) Gunakan database world

Gambar 7. 63 Menggunakan database world

Gambar diatas menunjukkan query untuk menggunakan


database world.
2) Tampilkan tabel yang terdapat di database world

Gambar 7. 64 Menampilkan seluruh tabel

Gambar diatas menunjukkan query untuk menampilkan


seluruh tabel dari database world.
3) Tampilkan struktur tabel country

Gambar 7. 65 Menampilkan struktur tabel country

Gambar diatas menunjukkan query untuk menampilkan


struktur tabel country.
331

4) Tampilkan rata-rata harapan hidup di wilayah asia tenggara

Gambar 7. 66 Menampilkan rata - rata harapan hidup

Gambar diatas menunjukkan query untuk menampilkan rata


– rata harapan hidup diwilayah asia tenggara dari tabel country.

B. Tampilkan rata-rata penggunaan bahasa Inggris


1) Tampilkan struktur tabel dari countrylanguage

Gambar 7. 67 Menampilkan struktur tabel countryLanguage

Gambar diatas menunjukkan query untuk menampilkan


struktur tabel countryLanguage.
2) Tampilkan rata-rata penggunaan bahasa Inggris

Gambar 7. 68 Menampilkan rata - trata pengunaan bahasa


inggris

Gambar diatas menunjukkan query untuk menampilkan rata


– rata penggunaan bahasa inggris dari tabel countryLanguage.
2. MIN
332

A. Tampilkan berat badan yang paling rendah


1) Gunakan database rumah_sakit

Gambar 7. 69 Menggunakan database rumah_sakit

Gambar diatas menunjukkan query untuk menggunakan


database rumah_sakit.
2) Tampilkan seluruh tabel yang terdapat pada data rumah_sakit

Gambar 7. 70 Menampilkan seluruh tabel

Gambar diatas menunjukkan query untuk menampilkan


seluruh tabel dari database rumah_sakit.
3) Tampilkan struktur tabel pasien

Gambar 7. 71 menampilkan struktur tabel pasien

Gambar diatas menunjukkan query untuk menampilkan


struktur tabel pasien.
333

4) Tampilkan berat badan yang rendah

Gambar 7. 72 Menampilkan berat badan

Gambar diatas menunjukkan query untuk menampilkan


berat badan yang paling rendah dari tabel pasien.
3. MAX
A. Tampilkan berat badan yang paling tinggi
1) Tampilkan struktur tabel pasien

Gambar 7. 73 Menampilkan struktur tabel pasien

Gambar diatas menunjukkan query untuk menampilkan


struktur tabel pasien.
2) Tampilkan berat badan yang yang tinggi

Gambar 7. 74 Menampilkan berat badan

Gambar diatas menunjukkan query untuk menampilkan


berat badan yang paling tinggi dari tabel pasien.

4. COUNT
334

A. Berapa banyak barang yang jenisnya Classic Motor


1) Gunakan database classicmodel

Gambar 7. 75 Menggunakan database classic_models

Gambar diatas menunjukkan query untuk menggunakan


database classic_models.
2) Tampilkan tabel yang terdapat pada tabel classicmodel

Gambar 7. 76 Menampilkan seluruh tabel

Gambar diatas menunjukkan query untuk menampilkan


seluruh tabel dari database classic_models.
3) Tampilkan struktur tabel product

Gambar 7. 77 Menampilkan struktur tabel product

Gambar diatas menunjukkan query untuk menampilkan


struktur tabel product.
335

4) Tampilkan banyak barang dari jenis Classic Motor

Gambar 7. 78 Menampilkan banyak barang

Gambar diatas menampilkan banyak barang dari jenis


Classic motor pada tabel product.
B. Berapa banyak pegawai yang terdapat pada tabel
1) Gunakan database classicmodel

Gambar 7. 79 Menggunakan database classic_models

Gambar diatas menunjukkan query untuk menggunakan


database classic_models.
2) Tampilkan tabel yang terdapat pada tabel classicmodel

Gambar 7. 80 Menampilkan seluruh tabel

Gambar diatas menunjukkan query untuk menampilkan


seluruh tabel dari database classic_models.

3) Tampilkan struktur tabel employees


336

Gambar 7. 81 menampilkan struktur tabel employees

Gambar diatas menunjukkan query untuk menampilkan


struktur tabel employees.
4) Tampilkan jumlah pegawai

Gambar 7. 82 Menampilkan jumah pegawai

Gambar diatas menunjukkan query untuk menampilkan


jumlah pegawai dari tabel employees.

5. SUM
A. Tampilkan jumlah populasi yang berada dijawa tengah
1) Gunakan database world

Gambar 7. 83 menggunakan database world

Gambar diatas menunjukkan query untuk menggunakan


database world.
337

2) Tampilkan tabel yang terdapat di database world

Gambar 7. 84 Menampilkan seluruh tabel

Gambar diatas menunjukkan query untuk menampilkan


seluruh tabel dari database world.
3) Tampilkan struktur tabel city

Gambar 7. 85 menampilkan struktur tabel city

Gambar diatas menunjukkan query untuk menampilkan


struktur tabel city.
4) Tampilkan jumlah populasi diwilayah jawa tengah

Gambar 7. 86 Menampilkan jumlah populasi

Gambar diatas menunjukkan query untuk menampilkan


jumlah populasi diwilayah jawa tengah dari tabel city.
338

B. Tampilkan total luas wilayah asia tenggara


1) Tampilkan struktur tabel country

Gambar 7. 87 menampilkan struktur tabel country

Gambar diatas menunjukkan query untuk menampilkan


struktur tabel country.
2) Tampilkan total luas wilayah asia tenggara

Gambar 7. 88 menampilkan luas wilayah dari tabel country.

Gambar diatas menunjukkan query untuk menampilkan luas


wilayah asia tenggara dari tabel country.
6. ABS
Rubah bilangan berikut menjadi bilangan positif :

a. - 16

b. - 9.64

Jawab :

a. -16

Gambar 7. 89 menampilkan bilangan positif

Gambar diatas menunjukkan query untuk menampilkan


bilangan positif dari bilangan yang asal mulanya negatif.
339

b. - 9.64

Gambar 7. 90 menampilkan angka positif

Gambar diatas menunjukkan query untuk menampilkan


bilangan positif dari bilangan yang asal mulanya negatif.
7. CEIL
Rubah bilangan berikut menjadi bilangan bulat dengan menggunakan CEIL :

a. - 39.9

b. 13.2

Jawab :

a. -39.9

Gambar 7. 91 menampilkan bilangan bulat

Gambar diatas menunjukkan query untuk menampilkan


bilangan bulat dari bilangan yang asal mulanya pecahan.
b. 13.2

Gambar 7. 92 menampilkan bilangan bulat

Gambar diatas menunjukkan query untuk menampilkan


bilangan bulat dari bilangan yang asal mulanya pecahan.
8. FLOOR
340

Rubah bilangan berikut menjadi bilangan bulat dengan menggunakan FLOOR


:

a. 7.7
b. 5.2
Jawab :

a. 7.7

Gambar 7. 93 menampilkan bilangan bulat

Gambar diatas menunjukkan query untuk menampilkan


bilangan bulat dari bilangan yang asal mulanya pecahan.
b. 5.2

Gambar 7. 94 menampilkan bilangan bulat

Gambar diatas menunjukkan query untuk menampilkan


bilangan bulat dari bilangan yang asal mulanya pecahan.
341

9. MOD
Tampilkan sisa pembagian dari bilangan berikut :

a. 8%3
b. 78 % 8
Jawab
a. 8%3

Gambar 7. 95 menampilkan hasil sisa pembagian dari bilangan

Gambar diatas menunjukkan query untuk menampilkan hasil


sisa pembagian dari sebuah bilangan
b. 78 % 8

Gambar 7. 96 menampilkan hasil sisa pembagian dari bilangan

Gambar diatas menunjukkan query untuk menampilkan hasil


sisa pembagian dari bilangan.
342

7.4. Tugas

1. Rumah Sakit
 Masuk Database Rumah Sakit

Gambar 7. 97 menggunakan database rumah_sakit

Gambar diatas menunjukkan query untuk menggunakan


database rumah_sakit.
 Tampilkan Tabel yang Terdapat di Database Rumah Sakit

Gambar 7. 98 menampilkan seluruh tabel

Gambar diatas menunjukkan query untuk menampilkan seluruh


tabel dari database rumah_sakit.
 Tampilkan Struktur Tabel Pasien pada Database Rumah Sakit

Gambar 7. 99 menampilkan struktur tabel pasien

Gambar diatas menunjukkan query untuk menampilkan struktur


tabel pasien.
343

A. Tampilakan nama pasien yang beralamat disemarang dan jenis


kelaminya laki-laki.

Gambar 7. 100 menampilkan nama pasien

Gambar diatas menunjukkan query untuk menampilkan nama


pasien yang beralamat di semarang dan jenis kelaminnyaa dalah
Laki – Laki.
B. Tampilkan nama pasien yang terdapat huruf “I”, tinggi badan, berat
badan pasien tidak lebih dari sama dengan 65 kemudian urutkan
dari berat badan terbesar.

Gambar 7. 101 menampilkan nama, tinggi badan dan berat badan

Gambar diatas menunjukkan query untuk menampilkan nama,


tinggi badan dan berat badan yang nama = I dan berat badan tidak
lebih dari sama dengan 65 kemudian urutkan dari berat badan
terbesar pada table pasien.
C. Tampilkan rata-rata berat badan dari pasien yang beralamat
disemarang dan bulatkan ke bawah.

Gambar 7. 102 menampikan rata - rata berat badan

Gambar diatas menunjukkan query untuk rata – rata berat


badan yang beralamat disemarang dan bulatkan ke bawah
2. Perpustakaan
344

 Masuk Database Perpustakaan

Gambar 7. 103 menggunakan database perpustakaan

Gambar diatas mennjukkan query untuk menggunakan


database perpustakaan.
 Tampilkan Tabel yang Terdapat di Database Perpustakaan

Gambar 7. 104 menampilkan seluruh tabel

Gambar diatas menunjukkan query untuk menampilkan seluruh


tabel dari database Perpustkaaan.
 Tampilkan Struktur Tabel Anggota pada Database Perpustakaan

Gambar 7. 105 menampilkan selruh tabel struktur anggota

Gambar diatas menunjukkan query untuk menampilkan struktur


tabel anggota dari database perpustakaan.
A. Tampilkan nama anggota dan kelas yang kode_anggota bukan
diawali dengan angka 9 dan juga tidak beralamat disemarang,
kemudian hasilnya urutkan dari abjad awal berdasarkan nama
siswa.
345

Gambar 7. 106 menampilkan nama dan status dari tabel anggota

Gambar diatas menunjukkan query untuk menampilkan nama


dan status yang kode_anggota bukan diawali dengan angka 9 dan
tidak beralamat disemarang, hasil diurutkan dari abjad awal
berdasarkan nama siswa.
B. Tampilkan data dari tabel buku, yang penerbitnya bukan dari
kemenbud atau penerbit andi.

Gambar 7. 107 menampilkan seluruh data dari tabel buku

Gambar diatas menunjukkan query untuk menampilkan seluruh


data dari tabel buku.
3. World
 Masuk Database World

Gambar 7. 108 menggunakan database world

Gambar diatas menunjukkan query untuk menggunakan


database world.
 Tampilkan Tabel yang Terdapat di Database World
346

Gambar 7. 109 menampilkan seluruh tabel

Gambar diatas menunjukkan query untuk menampilkan seluruh


tabel dari database world.
 Tampilkan Struktur Tabel Country pada Database World

Gambar 7. 110 menampilkan struktur tabel country

Gambar ditas menunjukkan query untuk menampilkan struktur


tabel country.
 Tampilkan Struktur Tabel City pada Database World

Gambar 7. 111 menampilkan struktur tabel city

Gambar diatas menunjukan query untuk menampilkan struktur


tabel city
A. Tampilkan nama negara, populasi dan benua, yang populasinya
lebih dari sama dengan 2.000.000 dan negara tersebut terdapat
347

huruf “IN”, kemudian kelompokan berdasarkan benuanya.

Gambar 7. 112 menampilkan nama, populasi dan benua

Gambar diatas menunjukkan query untuk menampilkan nama,


populasi dan benua yang populasinya lebih dari sama dengan
2.000.000 dan negara tersebut terdapat huruf “IN”, kemudian
kelompoknya berdasarkan benuanya.
B. Tampilkan provinsi dan populasi dari kode negara “IDN” yang
populasinya diantara 100.000 sampai dengan 300.000 dan
tampilkan mulai dari data ke- 4 sampai dengan 10.

Gambar 7. 113 menampilkan provinsi dan populasi

Gambar diatas menunjukkan query untuk menampilkan


provinsi dan populasi dari kode negara “IDN” yang populasinya
diantara 100.000 sampai dengan 300.000 dan tampillannya mulai
dari data ke- 4 sampai dengan 10.
C. Tampilkan nama provinsi dan jumlah kotanya dari negara
indonesia.
348

Gambar 7. 114 menampilkan nama provinsi dan jumlah kota

Gambar diatas menunjukkan query untuk menampilkan nama -


nama provinsi dan jumlah kotanya dari negara indonesia.
D. Tampilkan nama wilayah beserta total luas wilayah dari terbesar
hingga terkecil di benua eropa.

Gambar 7. 115 menampilkan nama wilayah dan luas wilayah

Gambar diatas menunjukkan query untuk nama wilayah dan


total luas wilayah dari terbesar hingga terkecil yang berada dibenua
eropa.
349

E. Tampilkan bahasa yang terdapat huruf ‘IT’ beserta rata-rata


persentasenya.

Gambar 7. 116 menampilkan bahasa dan raata - rata persentase

Gambar diatas menunjukkan query untuk menampilkan bahasa


yang terdapat huruf ‘IT’ beserta rata-rata persentasenya.
4. Classic Models
 Masuk Database Classic Models

Gambar 7. 117 menggunakan database classic_models

Gambar diatas menunjukkan query untuk menggunakan


database classic_models.
 Menampilkan Tabel yang Tersedia pada Database Classic Models

Gambar 7. 118 menampilkan seluruh tabel

Gambar diatas menunjukkan query untuk menampilkan seluruh


tabel dari database classic_tabel.
350

 Menampilkan Struktur Tabel Products

Gambar 7. 119 menampilkan struktur tabel products

Gambar diatas menunjukkan query untuk menampilkan struktur


tabel products dari database classic_models.
A. Tampilkan jenis produk yang total stoknya kurang dari 50.000

Gambar 7. 120 menampilkan jenis produk

Gambar diatas menunjukkan query untuk menampilkan jenis


produk yang total stoknya kurang dari 50.000.
B. Tampilkan nama produk dan vendornya, yang jenis produknya
adalah motorcyles, planes dan classic cars dan nama produknya
terdapat huruf “F”.
351

Gambar 7. 121 menampilkan nama produk dan vendor produk

Gambar diatas menunjukkan query untuk menampilkan nama


produk dan vendor produk, yang jenis produknya adalah
motorcyles, planes dan classic cars dan nama produknya terdapat
huruf “F”.
C. Tampilkan nama barang dan harganya yang paling mahal dari tabel
products

Gambar 7. 122 menampilkan nama produk

Gambar diatas menunjukkan query untuk menampilkan nama


produk dan harga dari tabel products yang harganya paling mahal

D. Tampilkan negara dan kota (ditampilkan dalam satu kolom) dari


tabel pelanggan yang negaranya terdapat huruf I.

Gambar 7. 123 menampilkan nama negara dengan ibukotanya

Gambar diatas menunjukkan query untuk menampilkan nama


negara dan nama ibukota negara yang negaranya terdapat huruf
“I”.
352

7.5. Kesimpulan

Pada BAB VII membahas tentang query lanjuttan, query lanjuttan


adalah sebuah query yang berfungsi menyempurnakan sebuah perintah
agar hasil yang didapatkan bisa sesusai yang kita inginkan. Query lanjutan
yang dibahas pada bab ini tidak semua dijadikan menjadi satu melainkan
hanya ada beberapa saja, querty lanjuttan yang tercantum pada bab ini
adalah filtering, agregration, sorting dan math funtion.
Penjelasan dari bebarapa querty lanjutan, Filtering adalah query
lanjuttan yang berfungsi menyaring semua data menjadi data yang akan
digunakan atau ditampilkan, Agregation adalah query lanjuttan yang
berfugsi untuk mengelompokkan sebuah data menjadi data yang akan
digunakan atau ditampilkan, Sorting adalah sebuah query lanjuttan yang
berfungsi untuk mengurutkan sebuah data dari mulai yang terkecil atau
mulai dari yang terbesar, math funtion adalah sebuah query lanjuttan yang
berfungsi melakukan operasi aritmatika terhadap sebuah data.
BAB VIII
CONTROL FLOW FUNCTION

8.1 Tujuan
1. Untuk memahami penggunaan control flow function
8.2 Dasar Teori
8.2.1Definisi
1. Case
Digunakan untuk menampilkan data, berdasarkan evaluasi kondisi
yang telah ditentukan cara kerja CASE sama dengan IF, ELSE IF, dan
ELSE yaitu kondisi terpenuhi maka ekspresi yang benar berjalan,
kemudian jika kondisi pertama tidak terpenuhi maka query masuk ke
kondisi kedua, jika terpenuhi maka query menjalankan ekspresi yang
benar, dan seterusnya, namun jika seluruh kondisi tidak terpenuhi
maka query akan menjalankan ekspresi yang salah. Berikut ini
penulisan queryya :
SELECT nama_kolom.
CASE
WHEN kondisi_1 THEN ekspresi_benar_1
WHEN kondisi_2 THEN ekspresi_benar_2
...
WHEN kondisi_N THEN ekspresi_benar_N
ELSE ekspresi_salah END AS nama_ekspresi
FROM nama_tabel;
Contoh :
SELECT nama,
CASE WHEN nilai >= 85 AND nilai <= 100 THEN “A”
WHEN nilai >= 70 AND nilai <= 85 THEN “B”
WHEN nilai >= 60 AND nilai <= 70 THEN “C”
ELSE “D” END AS nilai
FROM mahasiswa;
Query di atas menampilkan data dari kolom nama, dan terdapat
kondisi : jika kolom nilai isinya lebih dari sama dengan 85 dan kurang

353
354

dari sama dengan 100. Maka akan menampilkan “A”, jika tidak
menuhi query akan masuk ke kondisi kedua yaitu Jika kolom nilai
isinya lebih dari sama dengan 70 dan kurang dari sama dengan 85.
Maka akan menampilkan “B”, jika tidak menuhi query akan masuk ke
kondisi ketiga yaitu jika kolom nilai isinya lebih dari sama dengan 70
dan kurang dari sama dengan 60. Maka akan menampilkan “C”, jika
ketiga kondisi tidak terpenuhi maka query akan menampilkan “D”.
Seluruh statment tersebut di aliaskan sebagai nilai sebagai nama
kolom. Dan data tersebut diambil dari tabel mahasiswa.
2. IF
Sama halnya dengan CASE, IF digunakan untuk menampilkan
data, berdasarkan evaluasi kondisi yang telah ditentukan. Yang
membedakannya adalah IF hanya akan menjalankan 1 kondisi, jika
kondisi terpenuhi maka query menjalan statment yang benar, jika tidak
terpenuhi maka query akan menjalankan statment yang salah. Berikut
ini adalah penulisan querynya :
SELECT nama_kolom, IF(kondisi, “statment_benar”,
“statment_salah”) FROM nama_tabel;
Contoh :
SELECT nama_barang, IF(harga>10000, “Mahal”, “Murah”);
Query di atas menampilkan kolom nama_barang dan sebuah
kondisi yaitu jika kolom harga nilainya lebih dari 10000 maka query
akan menjalankan statment “Mahal”, jika tidak memenuhi kondisi
tersebut maka query menjalankan statment yang salah yaitu “Murah”.
3. IFNULL
Digunakan untuk menampilkan ekspresi yang benar jika
kondisinya adalah kosong (NULL). Berikut ini adalah penulisan
querynya :
SELECT nama_kolom, IFNULL(nama_kolom1, ekspresi_benar) FROM
nama_tabel;
Contoh :
355

SELECT nama, alamat, IFNULL(alamat_domisili, “Tidak


Tersedia”) FROM mahasiswa;
Query di atas menampilkan nilai dari kolom nama, alamat dan
sebuah kondisi dengan fungsi IFNULL, dengan kondisi jika kolom
alamat_domisili kosong (NULL), maka tampilkan statment yang benar
yaitu “Tidak Tersedia”. Seluruh data tersebut diambil dari tabel
mahasiswa.
4. NULLIF
Digunakan untuk mengembalikan nilai NULL jika ekspresi 1 dan 2
sama, jika tidak sama maka akan mengembalikan nilai ke ekspresi 1.
Berikut ini adalah penulisan querynya :
SELECT NULLIF(ekspresi_1, ekspresi_2);
Contoh :
SELECT NULLIF(1, 1);
Query diatas akan mengembalikan NULL karena ekspresi 1 dan
ekspresi 2 sama.

8.3 Latihan
1. CASE
A. Tampilkan nama, harapan hidup, beserta status harapan hidup
dengan kondisi :
- Jika harapan hidup lebih dari 60.00 maka “Tinggi”.
- Jika harapan hidup lebih dari 50.00 maka “Menengah”.
- Jika tidak memenuhi maka harapan hidup rendah dan
tampilkan 10 data saja.
356

1) Tampilkan struktur tabel country.

Gambar 8. 1 Menampilkan Struktur Tabel Country

Gambar di atas menampilkan struktur dari tabel country


pada database world.
2) Tampilkan data sesuai dengan soal.

Gambar 8. 2 Menampilkan Nama Negara, Harapan Hidup, Dan Status


Query di atas adalah perintah untuk menampilkan nama
negara, harapan hidup, dan status. Dimana kolom status ini
ditentukan dari harapan hidup suatu negara. Jika harapan hidup
lebih dari 60.00 maka statusnya “Tinggi”, jika lebih dari 50.00
maka harapan hidup menengah, dan jika harapan hidup di
bawah dari kedua pernyataan di atas, maka harapan hidup
rendah. Data yang ditampilkan dibatasi hanya 10 saja.
2. IF
A. Tampilkan nama_pasien dan tinggi badannya dengan kondisi :
- Jika tinggi badan melebihi 150 maka “Tinggi”, selain itu maka
“Rendah”.
357

1) Gunakan database rumah sakit.

Gambar 8. 3 Menggunakan Database Rumah Sakit


Terlihat pada gambar di atas kita telah menggunakan
database rumah sakit.
2) Tampilkan seluruh tabel yang terdapat pada database rumah
sakit.

Gambar 8. 4 Menampilkan Tabel Pada Database Rumah Sakit


Gambar di atas menampilkan apa saja tabel yang terdapat
pada database rumah sakit.
3) Tampilkan struktur tabel pasien.

Gambar 8. 5 Menampilkan Struktur Tabel Pasien


Gambar di atas menampilkan struktur dari tabel pasien pada
database rumah sakit.
358

4) Tampilkan data sesuai dengan ketentuan soal.

Gambar 8. 6 Menampilkan Nama Dan Tinggi Badan Pasien


Query di atas adalah perintah untuk menampilkan nama dan
tinggi badan pasien. Dimana jika tinggi pasien lebih dari 150,
maka dinyatakan “Tinggi”. Sedangkan jika lebih kecil dari atau
sama dengan 150, maka dinyatakan “Rendah”.
3. Tampilkan nama beserta ketersediaan alamat ke – 2 dari pelanggan
dengan kondisi :
- Jika alamat ke – 2 tidak tersedia maka tampilkan “Tidak tersedia”.
- Tampilkan maksimal 10 data.
359

1) Gunakan database classicmodels.

Gambar 8. 7 Menggunakan Database Classicmodels


Terlihat pada gambar di atas kita telah menggunakan database
classicmodels.
2) Tampilkan tabel yang terdapat pada database classicmodels.

Gambar 8. 8 Menampilkan Tabel Pada Database Classicmodels


Gambar di atas menampilkan apa saja tabel yang terdapat pada
database classicmodels.
3) Tampilkan struktur tabel customers.

Gambar 8. 9 Menampilkan Struktur Tabel Customers


Gambar di atas menampilkan struktur dari tabel customers pada
database classicmodels.
360

4) Tampilkan data sesuai dengan ketentuan soal.

Gambar 8. 10 Menampilkan Data Nama Customers


Query di atas menampilkan data nama customers, dimana nama
yang ditampilkan adalah yang memiliki alamat kedua. Dan jika
alamat kedua kosong / NULL, maka akan ditampilkan “Tidak
tersedia”. Data yang ditampilkan dibatasi hanya 10 saja.
4. NULLIF
A. Tampilkan nama barang dan perbandingan antara harga jual dan
harga eceran yang disarankan pada tabel produk batasi 10 data.
1) Tampilkan struktur tabel produk.

Gambar 8. 11 Menampilkan Struktur Tabel Produk


Gambar di atas menampilkan struktur dari tabel produk
pada database classicmodels.
2) Tampilkan data sesuai dengan ketentuan.

Gambar 8. 12 Menampilkan Data Nama Produk Dan Harga


Query di atas adalah perintah untuk menapilkan data nama
produk, harga, dan MSRP. Dimana data yang ditampilkan
361

hanya 10 data saja. Dan jika data buyprice dan MSRP sama,
maka data tidak ditampilkan alias NULL.
B. Lakukan perbandingan antara angka 25 dengan 25.
a) Lakukan perbandingan.

Gambar 8. 13 Perbandingan Antara 25 dan 25


Query di atas adalah perintah untuk membandingkan dua
nilai. Karena dua nilai tersebut sama, maka hasil yang
ditampilkan adalah NULL.
C. Lakukan perbandingan antara 30 dan 25.

Gambar 8. 14 Perbandingan Antara 30 dan 25


362

8.4 Tugas
1. Rumah Sakit
A. Tampilkan nama pasien, berat badan, dan status berat badan, jika
berat badan :
- Jika berat badan kurang dari 50 adalah kurus.
- Jika berat badan badan lebih dari atau sama dengan 50 dan
kurang dari sama dengan 65 adalah sedang.
- Jika berat badan lebih dari 65 adalah gemuk.
Jawab :

Gambar 8. 15 Menampilkan Nama Pasien, Berat Badan, dan Status Berat


Badan
Query di atas adalah perintah untuk menampilkan data nama
pasien, berat badan, dan status berat badan. Dimana status berat
badan ini didapatkan berdasarkan berat badan masing – masing
pasien. Jika berat badannya kurang dari 50, maka termasuk kurus,
jika lebih dari sama dengan 50 dan lebih kecil sama dengan 65,
maka termasuk sedang, jika lebih dari 65, maka termasuk gemuk.
363

2. World
A. Tampilkan nama negara yang berada di benua asia dan status nilai
ekonominya, yaitu jika nilai ekonomi lama lebih tinggi dari nilai
ekonomi yang baru maka tampilkan “Turun”, jika sebaliknya maka
naik, kemudian tampilkan data dari urutan ke 10 sampai dengan
15.
Jawab :

Gambar 8. 16 Menampilkan Nama Negara dan Status Ekonominya


Query di atas adalah perintah untuk menampilkan data nama
negara di Asia beserta status nilai ekonominya. Dimana status
ekonomi tersebut di dapat dari perhitungan nilai ekonomi lama dan
baru. Jika nilai ekonomi lama lebih tinggi dari nilai ekonomi baru,
maka status nilai ekonominya turun. Dan sebaliknya, jika nilai
ekonomi baru lebih tinggi dari nilai ekonomi lama, maka status
nilai ekonomi naik. Dan yang ditampilkan adalah data ke 10
sampai 15.
364

B. Tampilkan bahasa dari kode negara IDN dan status bahasanya :


- Jika “T” maka resmi.
- Jika “F” maka tidak resmi.
Jawab :

Gambar 8. 17 Menampilkan Bahasa dan Status Bahasa


Query di atas adalah perintah untuk menampilkan bahasa dan
status bahasa di negara yang berkode “IDN”. Dimana status bahasa
ditentukan dari kolom “isOfficial”. Jika isOfficial = “F”, maka
bahasa tersebut resmi. Dan jika isOfficial = “T”, maka Bahasa
tersebut tidak resmi.
C. Tampilkan nama negara, presentase harapan hidup dan statusnya :
- Jika presentase harapan hidup di atas 70 maka “Tinggi”.
- Jika presentase harapan hidup lebih dari sama dengan 50 dan
kurang dari sama dengan 65 maka “Sedang”.
- Jika presentase harapan hidup di bawah 50 maka “Rendah”.
Jawab :
365

Gambar 8. 18 Menampilkan Data Nama Negara dan Harapan Hidup

Gambar 8. 19 Menampilkan Data Nama Negara dan Harapan Hidup


366

Gambar 8. 20 Menampilkan Data Nama Negara dan Harapan Hidup

Gambar 8. 21 Menampilkan Data Nama Negara dan Harapan Hidup


367

Gambar 8. 22 Menampilkan Data Negara dan Harapan Hidup

Gambar 8. 23 Menampilkan Data Nama Negara dan Harapan Hidup

Gambar 8. 24 Menampilkan Data Nama Negara dan Harapan Hidup


Pada gambar 8.18 sampai 8.24 adalah hasil data yang
ditampilkan dari query di atas. Dimana data yang ditampilkan
adalah nama negara, harapan hidup, dan status harapan hidup.
368

Status harapan hidup didapat dari kolom harapan hidup, jika


harapan hidup lebih dari 70, maka statusnya tinggi, jika lebih dari
sama dengan 50 dan lebih kecil dari sama dengan 65, maka
statusnya sedang, dan jika lebih rendah dari 50, maka statusnya
rendah. Ada 239 data yang berhasil ditampilkan.
3. Classicmodels
A. Tampilkan nama pelanggan, berserta alamat 1 dan alamat 2, jika
alamat 2 pelanggan kosong maka tampilkan “Tidak Tersedia”. Dan
pelanggan tersebut berasal dari USA.
Jawab :

Gambar 8. 25 Menampilkan Data Nama Pelanggan dan Alamat


Query di atas adalah perintah untuk menampilkan data nama
pelanggan, alamat 1, dan alamat 2. Dimana pada query di atas, jika
alamat 2 adalah kosong / NULL, maka akan ditampilkan tidak
tersedia pada kolom IFNULL.
369

B. Tampilkan kolom nomor pesanan, status dan komentar, jika kolom


komentarnya kosong maka tampilkan “Puas”, dari nomor
pelanggan 124.
Jawab :

Gambar 8. 26 Menampilkan Data Nomor Pesanan, Status, dan Komentar


Query di atas adalah perintah untuk menampilkan data nomor
pesanan, status, dan komentar. Dimana pada query di atas, jika
komentarnya adalah kosong / NULL, maka akan ditampilkan puas
pada kolom IFNULL. Dimana data yang ditampilkan adalah data
yang nomor pelanggannya 124.

8.5 Kesimpulan

Pada BAB VIII ini kita telah mempelajari tentang control flow function.
Diantaranya terdapat query CASE, IF, IFNULL, dan, NULLIF. Dimana
query tersebut intinya sama – sama berfungsi untuk memberi alternatif
jawaban dari kolom yang telah ditentukan sebelumnya
370

HALAMAN PUSTAKA

(E) 4112043 angkringan [Online] // supertikuz.blogspot.com. - October 30th,


2017.https://supertikuz.blogspot.com/2017/10/fungsi-agregasi-pada-mysql.html.

Abidin Zaenal Modul Praktikum Database programming [Online] // Slideshare. -


Slideshare, Mei 27, 2012. - https://www.slideshare.net/dimasje/modul-
praktikumdatabase-programing-13095208.

Adiwijaya [Online]. November 20,2017.


http://restybae.blogspot.com/2014/11/haloo-mari-belajar-lagi-i.html.

Ahaddin Kholid https://kholidz.weebly.com/ [Online] // kholidz.weebly.com. -


September 19, 2015. - https://kholidz.weebly.com/tugas-sql/pengertian-sql-ddl-
dml-dcl.

Amirul Fatkhan http://fatkhan.web.id/ [Online] // fatkhan.web.id. - April 11,


2017. -
http://fatkhan.web.id/jenis-jenis-kunci-dalam-dalam-relation-database/.

Andre https://www.duniailkom.com/ [Online] // duniailkom. - November 14,


2013. -
https://www.duniailkom.com/tutorial-belajar-mysql-mengenal-superuser-root-
danpengertian-privileges-mysql/.

Andre https://www.duniailkom.com/ [Online] // duniailkom. - Januari 06, 2014. -


https://www.duniailkom.com/cara-membuat-hak-akses-privileges-user-mysql-
grant/.

Andre https://www.duniailkom.com/ [Online] // duniailkom. - Januari 06, 2014. -


https://www.duniailkom.com/cara-membuat-hak-akses-privileges-user-mysql-
grant/.

Andre https://www.duniailkom.com/ [Online] // duniailkom. - Januari 06, 2014. -


https://www.duniailkom.com/jenis-jenis-hak-akses-privileges-dalam-mysql/.

Andre https://www.duniailkom.com/ [Online] // duniailkom. - Januari 07, 2014. -


https://www.duniailkom.com/cara-melihat-daftar-user-mysql-dan-hak-aksesnya-
showgrants-for/.

Andre https://www.duniailkom.com/ [Online] // duniailkom. - Januari 09, 2014. -


https://www.duniailkom.com/cara-mengalihkan-hak-akses-user-mysql-grant-
option/.
371

Andre https://www.duniailkom.com/ [Online] // duniailkom. - Januari 11, 2014. -


https://www.duniailkom.com/cara-merubah-dan-menghapus-password-user-
mysql/.

Andre www.duniailkom.com [Online] // duniailkom. - Agustus 09, 2015. -


https://www.duniailkom.com/tutorial-belajar-mysql-cara-memotong-string-hasil-
querymysql-substring/.

Arlina secercahilmu25.blogspot.com [Online] // SECERCAH ILMU. - April 27,


2018. https://secercahilmu25.blogspot.com/2018/02/normalisasi-dan-contoh-
kasus.html.

Christian [Online]. - April 28, 2018. - https://visilubai.wordpress.com/page/17/.


472

Dimas [Book Section]. - 2016.

Dimas Setiawan https://kelasprogrammer.com/ [Online] // kelasprogrammer.com.

Agustus 23, 2019. - https://kelasprogrammer.com/mengurutkan-data-di-mysql-


denganorder-by/.

Gunawan Yasin https://www.niagahoster.co.id/ [Online] // niagahoster blog. –


Juli 24, 2017. - https://www.niagahoster.co.id/blog/mysql-adalah/.

Gustina https://ngodingdata.com/ [Online] // ngodingdata. - Oktober 26, 2019. -


https://ngodingdata.com/memahami-perintah-dcl-mysql/.

Kode https://kodingin.com/ [Online] // kodingin. - Juli 12, 2017. -


https://kodingin.com/cara-menampilkan-data-mysql/.

Kusrini http://duadua04.blogspot.com/ [Online] // duadua04.blogspot.com. -


Maret 03, 2011. - http://duadua04.blogspot.com/2013/03/normalisasi-dan-
denormalisasi.html.

Lestari [Book Section]. - 2016.

Modul Modul Praktikum Basis Data I [Book Section] // Modul Praktikum. -


2019.

MySQL Tutorial eplusgo [Online] // https://www.eplusgo.com/. - April 04, 2020.


- https://www.eplusgo.com/fungsi-string-mysql/.

mysql.phi MySQL Tutorial [Online] // http://mysql.phi-integration.com/. -


http://mysql.phi-integration.com/sql/apa-itu-dml-ddl.
372

Naura https://studylibid.com/ [Online] // studylibid.com. - FASILKOM


Mercubuana, 2015. - https://studylibid.com/doc/847455/basis-data---fasilkom-
mercubuana.

Nugroho https://www.coursehero.com/ [Online] // coursehero.com. - 2011. -


https://www.coursehero.com/file/p7hu195/SELEC-T-FROM-SISWA-WHERE-
NAMA-LIKEALI-Penjelasan-Menampilkan-data-siswa-yang/.

Puspitasari, et al., [Online]. - 2016.

Salamadian SALAMADIAN [Online] // https://salamadian.com/. - April 9, 2018.


- https://salamadian.com/pengertian-basis-data-database/.

Salim https://www.duniailkom.com [Online] // duniailkom. - April 21, 2016. -


https://www.duniailkom.com/tutorial-mysql-menampilkan-data-dari-tabel-
mysqlselect/comment-page-1/.

Setiadi M. Fikri http://mfikri.com/ [Online] // mfikri.com. - Desember 11, 2017.


-
http://mfikri.com/artikel/aturan-dan-teknik-dalam-melakukan-normalisasi-
data.html.

Siahaan Pray https://pelayananpublik.id/ [Online] // pelayananpublik.id. -


January 3, 2020. - https://pelayananpublik.id/2020/01/03/pengertian-basis-data-
database-fungsimanfaat-komponen dan473sistemnya/#:~:text=Jika%20 diulik%
2C%20memang%20benar%20pengertian,kembali%20secara%20cepat%20dan
%20mudah..

Tutorial https://bimosaurus.wordpress.com/ [Online] //


bimosaurus.wordpress.com.-April 2, 2009. -
https://bimosaurus.wordpress.com/2009/04/02/operasi-string-dalammysql/.

W3School https://www.w3schools.com/ [Online] // w3schools. - 2014. -


https://www.w3schools.com/sql/default.asp.

Wikipedia https://en.wikipedia.org/ [Online] // Wikipedia, the free encyclopedia.


-September 7, 2020. - https://en.wikipedia.org/wiki/Control_flow
373

LAMPIRAN

LEMBAR ASISTENSI
PRAKTIKUM : Basis Data 1

NAMA : Anggara Putra M

NIM : 32602100029

KELOMPOK :-

No KETERANGAN TANDA TANGAN

1 ……………..

2 ……………..

PRETEST

1 ……………..

2 ……………..

ASISTENSI
LAPORAN

1 Kamis, 14 Juli ACC BAB 1


……………..
2022

2 Selasa, 19 Juli ACC BAB 2


……………..
2022

3 Kamis, 21 Juli ACC BAB 3


……………..
2022
374

4 Selasa, 26 Juli ACC BAB 4


……………..
2022

5 Rabu, 13 Juli Merapikan


2022 Penulisan ACC ……………..
BAB 5

6 Selasa, 19 Juli Penulisan ada


2022 yang kurang rapi ……………..
ACC BAB 6

7 Kamis, 28 Juli Kesimpulan di


2022 buat satu halaman
……………..
sendiri ACC BAB
7

8 Selasa, 26 Juli ACC BAB 8


……………..
2022

9 , ……………..

10 ……………..

11 ……………..

12 ……………..

13 ……………..

14 ……………..

15 ……………..

16 ……………..
375

17 ……………..

18 ……………..

19 ……………..

20 ……………..

Anda mungkin juga menyukai