BASIS DATA I
HALAMAN JUDUL
Disusun Oleh :
NAMA : ANGGARA PUTRA M
NIM : 32602100029
Puji syukur penulis panjatkan kepada Allah SWT, yang telah memberikan
rahmat, taufik serta hidayah-Nya, sehingga laporan Basis Data 1 dapat
terselesaikan.
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.
5. Dan kepada semua pihak yang tidak dapat saya sebutkan satu persatu.
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. …….....................................
Mengetahui,
iii
DAFTAR ISI
HALAMAN JUDUL................................................................................................i
KATA PENGANTAR.............................................................................................ii
HALAMAN PENGESAHAN................................................................................iii
DAFTAR ISI...........................................................................................................iv
DAFTAR GAMBAR..............................................................................................ix
DAFTAR TABEL...............................................................................................xxix
BAB I.......................................................................................................................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
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
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
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
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
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
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
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
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
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
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
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.
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 :
1
1.2.3. Struktur Basis Data
2
2
1. Tabel
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)
1) Microsoft Accsess
2) MySQL Oracle
3) PostegreSQL
4) Maria DB
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
BIGINT - 9223372036854775808
s/d
223372036854776807
Tipe Keterangan
dibaca 2 karakter.
terlebih dahulu.
1.3. Latihan
1.3.1. Instalasi XAMPP
1. Download XAMPP di
https://www.apachefriends.org/download.html.
9. Jika ingin mengecek lokasi file dan komponen dari xampp, klik “Back”
jika siap klik “Next”.
11. Jika muncul peringatan dari “windows defender” klik “Allow Acces”.
12. Jalankan XAMPP dengan memberikan centang pada check box „Do
you want to start the Control panel now ?‟ dan klik “Finish”.
12
13. Klik start pada bagian “Apache” dan “MySsql”, tunggu sampai hijau.
Gambar 1. 36 Field
c. Value (Nilai)
Value adalah data yang disimpan pada tiap field atau atribut.
Contoh :
Gambar 1. 37 Value
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
b. Toko
Membuat Database Toko
b. Toko
Pilih Database Toko yang ingin diexport
1.5. Kesimpulan
2.1 Tujuan
1. Memahami definisi dan komponen ERD
2. Mengetahui UML dan Star UML
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. Atribut
Atribut berfungsi untuk menggambarkan Karakteristik dari
suatu entitas, untuk menggambarkan sebuah atribut berikut ini
aturannya :
- Atribut digambarkan dengan menggunakan oval.
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
2.3 Latihan
2.3.1 Instalasi StartUML
1. Mengklik file installer dari StarUML.
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
7. Selanjutnya ekspor diagram menjadi gambar png dengan cara klik file
=> Export Diagram As => JPEG/PNG/SVG.
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
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
- 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
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
67
68
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
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. 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
3.4. Tugas
1. Lakukan proses normalisasi tabel data dokter, dan jelaskan prosesnya!
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),……);
115
116
nama_table(nama_kolom1tipe_data(panjang_data),nama_kolo
m2 tipe_data(panjang_data),
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;
yang diberikan kepada setiap mahasiswa sebagai primary key yang dapat
memastikan bahwa setiap mahasiswa tersebut berbeda.
A. Syarat Primary Key
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”.
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.
- Nama
- Password
Jawab :
`Membuat database baru dengan nama kantor.
1. Tabel Pegawai
2. Tabel Jabatan
c. Mobil
a) Tambahkan nilai unik pada kolom “kd_mobil”.
peminjaman).
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.
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
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
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
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
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
Perintah tersebut akan merubah data dari satu kolom yang telah
ditentukan dari suatu tabel. Contoh :
164
Perintah tersebut akan merubah data lebih dari satu kolom yang
telah ditentukan dari suatu tabel. Contoh :
UPDATE mahasiswa
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;
Contoh :
DELETE FROM mahasiswa WHERE nama = “Siti”;
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
a. Tabel Jabatan
a) Mengosongkan kolom nama dan keterangan
Magang Bekerja
Sementara
b. Tabel Karyawan
a) Mengosongkan kolom nama_belakang dan no_telepon
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
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
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
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
1 VVIP 5.000.000
3 VIP 1 3.500.000
4 VIP 2 3.000.000
195
1 Anak
2 Bedah
3 Gigi
4 Jantung
5 Kandungan
6 Kulit
7 Saraf
196
8 THT
d. Tabel Dokter
1978 om
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
Kelas Ekonomi
Isolasi
b. Tabel Spesialis
b. Tabel Kamar
a) Tambahkan harga pada Kamar “Kelas Ekonomi” yaitu
700.000
Data pada tabel kamar sebelum dirubah
207
2. Database Perpustakaan
1. Isilah data kedalam tabel yang tersedia dalam database perpustakaan.
a. Anggota
Tabel 5. 21. Anggota
217
Semarang
Semarang
Ken
dal
3 7003 Nuhammad Lutfi 02 Agustus 1999 lutfi@email.com Aktif
Solo
Pemalang
Yogyakarta
Solo
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
1 Novel
2 Komputer
3 Pelajaran
4 Bahasa
5 Cerpen
6 Ekonomi
7 Olahraga
8 Majalah
Dilan 1991
Assalamulaikum Bejing
TIK Kelas 7
Matematika Kelas 9
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
1 1
18 Februari 2020
2 3
20 Februari 2020
3 5
20 Februari 2020
4 8
18 Februari 2020
Wawan Semarang
id_kategori Kategori
Kerajinan
Ensiklopedia
P107 Toni
Gambar 5. 154 Merubah Kolom Alamat dan Status pada Tabel Anggota
229
a. Tabel Kategori
a) Rubah nama kategori dari “Bahasa” menjadi “Sastra”
Data pada tabel kategori sebelum dirubah
Gambar 5. 161 Tampilan Data yang Telah Dirubah pada Tabel Kategori
Gambar 5. 169 Merubah Judul, Penulis, dan Penerbit pada Tabel Buku
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
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
241
Jika digunakan untuk pembelajaran user ‘root’ sangat membantu
untuk mengakses seluruh data dan menjalankan semua perintah SQL.
242
243
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.
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.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.
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.
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.
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.
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.
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
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.
b. Andri
1) Masuk MariaDB sebagai user Andri.
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. 124 Menampilkan Data Nama, Nomor Telepon, dan Email Pada
Tabel Dokter
Jawab :
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 :
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.
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. 158 Mencabut Hak Akses User Joko Pada Tabel Spesialis
Gambar 6. 159 Mencabut Hak Akses User Putra Pada Tabel Kamar
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 :
7.1. Tujuan
1. Untuk memahami query lanjutan.
2. Untuk memahami filtering, aggregation, dan sorting data.
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
297
298
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
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
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
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.
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.
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
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
5. OR
8. HAVING
A. Tampilkan rata-rata harapan hidup dari masing-masing benua
1) Tampilkan struktur tabel country
2. DESC
A. Tampilkan nama pasien dan urutkan berdasarkan tinggi badan yang
paling rendah.
1) Tampilkan struktur tabel pasien
4. COUNT
334
5. SUM
A. Tampilkan jumlah populasi yang berada dijawa tengah
1) Gunakan database world
a. - 16
b. - 9.64
Jawab :
a. -16
b. - 9.64
a. - 39.9
b. 13.2
Jawab :
a. -39.9
a. 7.7
b. 5.2
Jawab :
a. 7.7
9. MOD
Tampilkan sisa pembagian dari bilangan berikut :
a. 8%3
b. 78 % 8
Jawab
a. 8%3
7.4. Tugas
1. Rumah Sakit
Masuk Database Rumah Sakit
7.5. Kesimpulan
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
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
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.
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 :
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 :
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
LAMPIRAN
LEMBAR ASISTENSI
PRAKTIKUM : Basis Data 1
NIM : 32602100029
KELOMPOK :-
1 ……………..
2 ……………..
PRETEST
1 ……………..
2 ……………..
ASISTENSI
LAPORAN
9 , ……………..
10 ……………..
11 ……………..
12 ……………..
13 ……………..
14 ……………..
15 ……………..
16 ……………..
375
17 ……………..
18 ……………..
19 ……………..
20 ……………..