Disusun Oleh:
Feri Prasetyo H.
Kata Pengantar
Puji Syukur kehadirat Tuhan Yang Maha Esa karena atas limpahan rahmat-Nya
sehingga kami dapat menyelesaikan modul Logika Algoritma Untuk Masiswa semester
2 matakuliah Aplikasi Basis Data. Pada modul ini diberikan contoh-contoh kasus untuk
suatu tools yang bersifat open source yang sering dipergunakan untuk pengembangan
aplikasi berbasis website yang didalamnya sudah menyediakan paket seperti Apache,
dengan konsep mengunakan command prompt sebagai sarana penulisan script bahasa
SQL, dan Menggunakan PhpMyAdmin merupakan tools dengan Graphic User Interface
Kami menyadari masih banyak kekurangan dalam penyusunan modul ini. Oleh
karena itu, kami sangat mengharapkan kritik dan saran demi perbaikan dan
Kami mengucapkan terima kasih kepada berbagai pihak yang telah membantu
proses penyelesain modul ini, Semoga modul ini dapat bermanfaat bagi kita semua,
Penulis
DAFTAR ISI
Kata Pengantar ii
Daftar Isi iii
Konsep Dasar Basis Data 1
MYSQL dan MariaDB 7
Data Definition Language 21
Data Manipulation Language 36
Data Manipulation Language II 52
Studi Kasus 67
Review Materi 82
Ujian Tengah Semester 83
PhpMyAdmin 84
Fungsi Join 100
Fungsi Join II 110
Review Materi 116
Daftar pustaka 120
BAB I
Basis Data (Database) dapat dibayangkan sebagai sebuah lemari arsip. Jika kita
memiliki sebuah lemari arsip dan berwenang untuk mengelolanya. Atau kumpulan informasi
yang terorganisasi dan disajikan untuk tujuan khusus. Prinsip utama basis data adalah
pengaturan data atau arsip. Sedangkan tujuan utamanya adalah kemudahan dan kecepatan
dalam pengambilan data atau arsip. Sedangkan sistem basis data merupakan perpaduan antara
basis data dan sistem manajemen basis data (DBMS). DBMS (Database Management System)
adalah software yang menangani semua akses ke basis data. Contoh dari DBMS yaitu
Microsoft Access, MySQL, MariaDB, Oracle, Server 2000, Interbase, Paradox, dan Lain-Lain.
1. Karakter
Merupakan bagian terkecil dalam database, dapat be rupa karakter numerik (angka 0 s/d
9), huruf (A-Z, a-z) ataupun karakter-karakter khusus seperti *, &, %, #, dan lain-lain.
1|Page
2. Field
Merupakan bagian dari record yang menunjukkan suatu item data yang sejenis, misalnya
field nama, field nim, dan lain sebagainya. Setiap field harus mempunyai nama dan tipe data
tertentu. Isi dari field disebut Data Value. Dalam database, field ini disebut juga kolom.
3. Record
Merupakan kumpulan data value dari attribute yang berkaitan sehingga dapa menjelaskan
sebuah entity secara lengkap. Misalnya record entity mahasiswa adalah kumpulan data
4. Tabel
Entity merupakan sesuatu yang dapat diidentifikasi dari suatu sistem database, bisa berupa
objek, orang, tempat, kejadian atau konsep yang informasi nya akan disimpan dalam
database. Dalam aplikasi, penggunaan istilah entity sering disamakan dengan istilah tabel.
Disebut tabel, karena dalam mempresentasikan datanya diatur dalam bentuk baris dan
kolom. Baris mewakili 1 record dan kolom mewakili 1 field. Dalam sistem database
5. Database
Kumpulan dari tabel-tabel yang saling berelasi, disusun secara logis sehingga menghasilkan
BASIS DATA (DATA BASE) adalah himpunan kelompok data /kumpulan data yang saling berhubungan
secara logis dan deskripsinya, yang disimpan secara bersama sedemikian rupa dan dirancang untuk memenuhi
- Tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan data/arsip. Yang sangat
2|Page
ditonjolkan dalam basis data adalah pengaturan, pemilahan, pengelompokkan, pengorganisasian data
yang akan kita simpan sesuai fungsi/jenisnya. Pengorganisasian data tersebut dapat dalam bentuk
tabel terpisah atau dalam bentuk pendefinisian kolom (field) data dalam setiap tabel.
Sistem adalah sebuah tatanan yang terdiri atas sejumlah komponenfungsional yang saling berhubungan dan
komponen pengapian (untuk pembakaran BBm yang membuat torak bekerja), dst.
- Software/ aplikasi/ program adalah penggerak atau pengelolanya. –Sistema dalah gabungan dari ke
duanya. Sistem Basis Data merupakan sistem yang terdiri atas kumpulan tabel data yang saling
berhubungan dan sekumpulan program (DBMS) yang memungkinkan beberapa pemakai dan/ atau
DBMS adalah perangkat lunak yang memungkinkan pemakai untuk mendefinisikan, mengelola, dan
mengontrol akses kebasis data. DBMS yang mengelola basis data relational disebut dengan Relational DBMS
(RDBMS)
Contoh perangkat lunak yang termasuk DBMS: dBase, FoxBase, Rbase, Microsoft-Access, Borland Paradox/
3|Page
Contoh penjabaran struktur basis data:
Instalasi Xampp
Untuk pembelajaran pada modul aplikasi basis data ini menggunakan software
XAMPP. Untuk lebih lanjut mengenai berbagai produk xampp, silahkan kunjungi situs
source yang sering dipergunakan untuk pengembangan aplikasi berbasis website yang
phpMyAdmin, FileZilla, Tomcat, Xampp Control Panel. Xampp sendiri telah tersedia juga
4|Page
Note :
Versi xampp yang digunakan dalam modul praktikum ini adalah xampp minimal versi
5.6.3 dengan extensi PHP telah mendukung mysqli dan server MariaDB.
1. Untuk memudahkan pembelajaran instalasi xampp berada pada Localdisk C:\, setelah
instalasi selesai pindahkan xampp control panel pada Taskbar Laptop/PC dengan cara
masuk ke Explore, lalu arahkan ke lokasi penyimpanan saat Instalasi (pada contoh, saat
instalasi memilih Lokasi di C:/xampp). Kemudian cari file aplikasi bernama xampp-
control, lalu klik kanan pada file tersebut dan pilih Pin to Taskbar, seperti gambar
dibawah ini:
2. Lalu periksa Xampp Control Panel dengan menjalankannya pastikan tab MySQL dan
5|Page
3. Untuk memastikan kembali, silahkan buka web browser lalu ketikan dengan alamat
6|Page
BAB II
MySQL adalah sebuah program database server yang mampu menerima dan
mengirimkan datanya dengan sangat cepat, multi user serta menggunakan perintah standar
MySQL merupakan hasil ciptaan dari Michael “Monty” Widenius, David Axmark,
dan Allan Larson. Pada tahun 1995 mereka lalu mendirikan perusahaan bernama MySQL AB
di Swedia. Tujuan awal diciptakannya MySQL yaitu untuk mengembangkan aplikasi web
yang akan digunakan oleh salah satu klien MySQL AB. Database MySQL, biasa kita baca
mai-es-ki-el merupakan perangkat lunak database yang berbentuk database relasional atau
dalam bahasa basis data sering disebut dengan Relation Database Management System
(RDBMS) yang menggunakan suatu bahasa permintaan bernama SQL. Perbedaan antara
MySQL dan SQL, MySQL adalah program database server sedangkan SQL adalah bahasa
Seiring akuisisi dan dimilikinya MySQL oleh Oracle, maka para pengembang awal
MySQL membangun sebuah sistem manajemen database baru yang dinamakan MariaDB.
Sehingga bisa dikatakan MariaDB merupakan open source pengembangan dari MySQL yang
full free. Xampp sendiri telah mengganti database MySQL dengan MariaDB sejak versi 5.5.3.
Sehingga modul praktikum ini menggunakan basis data dengan Jenis Server MariaDB.
Basis Data terdapat dalam paket instalasi xampp yang telah dibahas pada bahasan
7|Page
Pada pembelajaran ini, menggunakan media command prompt sebagai sarana
penulisan script bahasa SQL. Untuk membuka command prompt pada Laptop/PC bisa
1. Pilih menu Start -> All Programs -> Accessories Kemudian Pilih Command Prompt.
2. Klik Kanan pada command prompt atau cmd, lalu pilih Run as administrator.
4. Untuk memodifikasi tampilan dari command prompt, bisa dengan cara klik kanan pada
5. Pengaturan modifikasi dapat melalui tab Options, Font, Layout, Colors pada properties
8|Page
Menjalankan MariaDB dengan Command Prompt
Dalam modul Aplikasi Basis Data ini, diasumsikan Instalasi Xampp berada pada
Localdisk C. Perintah dibawah ini adalah untuk masuk kedalam MariaDB dengan user root.
Saat command prompt telah dijalankan, ketikan perintah seperti dibawah ini:
Enter)
3. Pada saat diminta untuk memasukkan password (saat instalasi xampp, secara default
tidak ada password), tekan Enter pada keyboard (menandakan tidak ada password saat
4. Langkah lain, apabila memasuki mariadb dengan user root dan sudah dipastikan tidak ada
password pada root (tanpa menuliskan “–p”), dapat menggunakan perintah dibawah ini:
9|Page
Aturan Penulisan Perintah pada Command Prompt
Hampir sebagian besar perintah sql dengan command prompt diakhiri dengan titik
koma (;). Sebagai contoh perintah untuk melihat daftar database yang ada pada suatu user yaitu
show databases; apabila perintah diketik lengkap maka perintah berhasil dijalankan, namun
apabila kita belum menyelesaikan ketikan perintah maka secara otomatis command prompt
akan meminta untuk mengetikkan perintah yang kurang. Seperti pada contoh berikut ini:
Pada perintah show databases; yang pertama tertulis lengkap dan perintah berhasil
dijalankan. Namun pada perintah yang kedua ketika kurang mengetikkan titik koma (;) lalu
ditekan Enter pada keyboard, maka command prompt akan meminta kembali perintah yang
kurang dan kita akan mengetikan perintah tersebut pada baris dibawahnya.
short key pada keyboard “agar pengetikan perintah yang sama tidak diketik ulang
10 | P a g e
Mengenal User Dalam Basis Data
Didalam Basis Data dapat terdiri dari beberapa user tergantung kebutuhan dari basis
data. Sedangkan user tertinggi biasa disebut dengan istilah root, itu sebabnya sebagai langkah
awal kita menjalankan MariaDB dengan command prompt menggunakan user root.
Ketika sudah masuk kedalam MariaDB dengan user root, ketikkan beberapa perintah
dibawah ini:
show databases; (perintah ini digunakan untuk melihat daftar database pada user
yang sedang login, dalam kasus ini user tertinggi root, maka seluruh database pada MariaDB
akan terbuka). Note : Pengetikan script selalu diakhiri oleh titik koma “;”
Select user, host from mysql.user; (perintah ini digunakan untuk elihat/menampilkan
11 | P a g e
Membuat dan Menghapus User Dalam Basis Data
Untuk membuat dan menghapus user yang ada dalam Basis Data harus masuk
menggunakan user root (user tertinggi), kemudian dengan mengetikan perintah dibawah ini:
password=”123”)
Untuk mengecek user yang telah dibuat, silahkan login menggunakan user tersebut,
namun terlebih dahulu harus keluar dari root dengan perintah exit;
password)
dengan password=123)
12 | P a g e
Perhatikan perbedaan daftar database ketika masuk sebagai user biasa dengan user root.
Ketika sudah berhasil membuat user, tampilkan kembali daftar user pada mysql dengan
mengetik perintah “select user, host from mysql.user;“ (baca kembali materi yang telah
dibahas sebelumnya)
Sementara, apabila kita ingin menghapus suatu user, gunakan perintah “drop” dengan
posisi user adalah root, seperti contoh kita akan menghapus “user1” berikut ini:
13 | P a g e
Membuat Database dan Tabel Sederhana
Sebagai contoh pembuatan database dan tabel, user yang akan kita gunakan adalah
Lalu, untuk membuat tabel terlebih dahulu kita aktifkan database db_latihan1 dengan
perintah use. (Tabel adalah bagian dari suatu Database, oleh sebab itu pembuatannya harus
Perintah untuk membuat tabel, yaitu dengan perintah create table nama_tabel (spesifikasi
tabel); (spesifikasi tabel dan tipe data akan dibahas pada bahasan selanjutnya)
Untuk melihat daftar tabel pada suatu database, gunakan perintah show tables;
14 | P a g e
Sedangkan perintah untuk melihat struktur tabel, gunakan perintah desc mhs; atau
describe mhs;
Setelah kita mempelajari tentang root, membuat dan menghapus user biasa, membuat
database dan tabel. Sekarang kita akan membahas mengenai hak akses pada user.
Pada suatu aplikasi database mysql, terkadang terdiri dari beberapa user yang dapat
mengkases suatu database namun tidak semua memiliki hak akses penuh untuk melihat,
merubah, atau menambahkan data record kedalam tabel-tabel yang ada pada database tersebut.
Untuk itulah, diperlukan adanya hak akses (Privileges) terhadap database untuk user-user yang
ada. Pemberian hak akses user hanya bisa dilakukan melalui root (user tertinggi). Berikut
Penjelasan:
- Hak_akses -> hak akses yang diperbolehkan bisa untuk melihat, merubah, menambah,
- Nama_database -> database yang akan diberikan hak akses. Jika ingin memberikan hak
akses terhadap seluruh database yang ada diganti penulisnnya dengan tanda bintang (*).
- Nama_tabel -> tabel yang akan diberikan hak akses. Jika ingin memberikan hak akses
terhadap seluruh tabel dari suatu database yang ada diganti penulisnnya dengan tanda
15 | P a g e
bintang (*).
Sebagai contoh, kita telah memiliki user bernama user2, database bernama db_latihan1,
Jika kita ingin memberikan hak akses user2 hanya bisa melihat tabel mhs, maka
Jika didalam database db_latihan1 terdiri dari banyak tabel, dan akan diberikan hak
akses seluruh tabel kepada user2, perintahnya menggunakan tanda bintang (*).
Jika kita ingin memberikan hak akses user2 secara penuh (melihat, menambah,
merubah) terhadap tabel pada database db_latihan1, maka perintahnya menggunakan perintah
„all‟
Untuk melihat hasilnya keluar terlebih dahulu dari root, kemudian masuk sebagai user2:
16 | P a g e
Setelah kita mempraktikan mengenai user dan memberi hak akses terhadap user. Maka
selanjutnya akan dibahas mengenai jenis-jenis tipe data yang sering dipakai pada database.
Tipe data string yang berisi nilai berupa karakter atau huruf. Beberapa tipe data string
Char, yaitu tipe data yang disarankan bila digunakan untuk field tabel yang nantinya
memiliki isi data dengan jumlah karakter yang tetap. Misal field “nim” pada tabel
mahasiswa dengan size 8, dimana isi data tabel untuk nim akan tetap jumlah seluruh
karakternya 8 digit karakter, tidak ada nim yang jumlah karakternya 9 karakter.
berjumlah 8 karakter).
Varchar, berbeda dengan char, tipe data varchar disarankan apabila field tabel akan berisi
data dengan jumlah karakter yang tidak tetap. Misal field nama, alamat, no_telp, dimana
jumlah isi data pada untuk field-field tersebut biasanya tidak tetap.
selalu sama).
Binary dan Varbinary, Sebenarnya kedua tipe data ini memiliki konsep yang hampir
sama dengan char dan varchar. Yang membedakannya adalah struktur penyimpanan akan
disimpan secara biner. Misal, suatu tipe data bertipe binary, yaitu kode dengan isi data =
„A‟. jika char menyimpannya sebagai karakter „A‟, maka binary akan menyimpannya
Text, apabila suatu tipe data membutuhkan isi data yang harus bisa menampung jumlah
karakter yang banyak, maka disarankan untuk tidak menggunakan char maupun varchar,
17 | P a g e
tetapi gunakan tipe data Text. Tipe data text terbagi kedalam beberapa tipe data, yaitu,
(contoh field komentar yang bisa berisi dari banyak karakter dan berjumlah
Blob, tipe data ini memiliki konsep yang sama dengan tipe data TEXT, namun memiliki
struktur penyimpanan seperti binary, atau menyimpan secara biner karakter yang
LONGBLOB. Sehingga bisa dikatakan tipe data blob merupakan versi biner dari tipe data
Text.
Tipe data ini digunakan untuk menampung angka-angka yang dapat dilakukan untuk
Integer, tipe data untuk menampung angka berupa bilangan bulat. Tipe data ini terdiri dari
Misal, jika kita membutuhkan tipe data yang dapat menampung data angka hingga satuan
jutaan atau lebih untuk 1 isi data bisa menggunakan tipe data integer, namun jika hanya
menampung jumlah yang lebih sedikit bisa menggunakan smallint atau tinyint. Deklarasi
18 | P a g e
Signed dan Unsigned dapat digunakan apabila isi data ingin bernilai negatif (signed) atau
Decimal (Fixed Point), tipe data yang menampung angka decimal dengan nilai pecahan
yang tetap.
Format penulisan -> DECIMAL(M[,D]). Misal suatu tipe data bernama berat
berat DECIMAL(4,2). Maka, berarti isi data akan memuat 4 digit angka, dengan 2 angka
Float dan Double (Floating Point), kedua tipe data ini juga dapat menampung angka
decimal, namun perbedaan dengan tipe data decimal (fixed point) adalah keakuratan dalam
TUGAS 1
MATA KULIAH APLIKASI BASIS DATA
1. Buka aplikasi Command Prompt pada komputer anda. (Disarankan untuk membuka dari
tahap awal).
19 | P a g e
6. Buat user baru pada localhost dengan nama “ NIMmasing-masing_cobalagi” tanpa
password.
8. Masih didalam user root, Buat Database dengan nama “db_ NIMmasing-masing_coba”.
Kd_buku Char 5
Judul Varchar 40
Penulis Varchar 35
Penerbit Varchar 35
Kode Char 6
Nama Varchar 30
“NIMmasingmasing_coba2”.
20 | P a g e
BAB III
Data Definition Language merupakan kumpulan perintah atau query SQL yang
digunakan untuk membuat, merubah, serta dapat pula menghapus dari suatu struktur dan
definisi tipe data dari objek-objek, seperti tabel yang ada pada suatu database.
“komik_cobalagi”.
21 | P a g e
4. Hapus database “komik_cobalagi”.
Nama Varchar 20
Alamat Varchar 30
No_telp Varchar 15
Tgl_lahir Date -
22 | P a g e
(Primary Key adalah kunci utama dari suatu tabel, bersifat unik dan tidak boleh ada
isi record yang sama/ganda). Saat membuat suatu tabel, field-field yang ada dapat diberikan
nilai „not null‟ untuk memberikan validasi saat pengisian record tidak boleh kosong datanya.
Penggunaan atribut not null disesuaikan dengan kebutuhan, namun secara default mysql akan
Tabel “komik” :
Judul Varchar 25
Pengarang Varchar 30
Thn_terbit Year -
Jenis_komik Varchar 15
23 | P a g e
Tabel “pinjam” :
No_pinjam Int 4
Id_anggota Char 4
Id_komik Char 5
Jumlah Int 2
24 | P a g e
9. Buka struktur tabel dari masing-masing tabel yang telah dibuat.
25 | P a g e
11. Buat field baru pada tabel anggota, yaitu, “tgl_daftar” dengan type = “date”.
13. Buat field baru pada tabel komik, yaitu, “status” dengan type = “varchar” dan size =
“10”.
26 | P a g e
14. Lihat struktur tabel pinjam.
15. Beri Primary Key pada field “no_pinjam” pada tabel pinjam.
27 | P a g e
18. Buat primary key pada field “id_anggota” pada tabel anggota_warnet.
20. Ganti field “jumlah” pada tabel transaksi menjadi “jml_komik” type=”Int” Size=”4”.
28 | P a g e
Latihan Praktikum Data Definition Language 2
4. Buat sebuah tabel dengan nama “siswa”, ketentuan tabel sebagai berikut:
Nama Varchar 40
Tgl Date -
29 | P a g e
Kelas Varchar 15
No_telp Varchar 18
7. Ubah field “nama” pada tabel siswa menjadi “nama_siswa” type=”varchar” Size=”30”.
30 | P a g e
8. Ubah field “tgl” pada tabel siswa menjadi “tgl_lahir” (Type dan Size tidak berubah).
9. Ubah field “kelas” pada tabel siswa menjadi “kelas_siswa” type=”varchar” Size=”20”.
31 | P a g e
11. Ubah nama tabel “siswa” menjadi “siswa_baru”.
Tabel “tutor” :
Id_tutor Char 8
Nama_tutor Varchar 30
Jenis Varchar 20
Jml_kelas Smallint 4
32 | P a g e
Tabel “ruang” :
Id_ruang Char 3
Nama_ruang Varchar 10
33 | P a g e
15. Buat primary key untuk “id_tutor” pada tabel tutor.
16. Ubah “tipe data” dari field “jml_kelas” pada tabel tutor menjadi int(4).
17. Tampilkan struktur tabel ruang, kemudian Ubah “tipe data” dari field “id_ruang” pada
34 | P a g e
18. Hapus tabel “ruang” dari database db_les_private.
20. Lihat kembali daftar tabel yang ada pada database db_les_private.
35 | P a g e
BAB IV
Berbeda dengan DDL yang berhubungan dengan struktur tabel pada bahasan
atau query SQL yang digunakan untuk mengelola isi data didalam tabel-tabel pada suatu
database, seperti menampilkan data, memasukan data, merubah isi data, serta menghapus isi
data.
36 | P a g e
4. Buat tabel bernama “buku”, dengan ketentuan sebagai berikut:
Judul_buku Varchar 45
Penulis Varchar 25
Thn_terbit Year -
Penerbit Varchar 45
37 | P a g e
BK03 Sang Pemimpi Andrea Hirata 2005 Abadi Jaya
7. Tampilkan isi seluruh record pada tabel buku.(gunakan tanda * bila seluruh field
ditampilkan)
8. Tampilkan isi record tabel buku, hanya buku dengan penerbit = “Abadi Jaya”.
38 | P a g e
9. Tampilkan isi record dengan pengelompokan data berdasarkan penerbit. (data yang
sama pada penerbit tidak akan dipanggil kembali, disebut juga Ascending)
10. Tampilkan isi record dengan pengurutan data berdasarkan penerbit. (secara default
39 | P a g e
12. Tampilkan isi record dengan Penulis bernama depan huruf= “A”. (pencarian data
menggunakan like.
13. Tampilkan isi record dengan Tahun terbit dibawah tahun 2005.
14. Tampilkan isi record dengan Judul buku mengandung kata “SQL”.
40 | P a g e
15. Tampilkan isi record, dengan penulis = “Dewi Lestari”.
16. Tampilkan isi record hanya field “judul_buku”, “penulis”, kemudian urutkan data
berdasarkan penulis.
17. Tampilkan isi record hanya field “judul_buku”, “penulis”, kemudian urutkan data
41 | P a g e
18. Tampilkan isi record hanya field “judul_buku”, “penulis”, “thn_terbit”, dengan tahun
“penerbit”, dengan tahun terbit dibawah tahun 2005, lalu urutkan berdasarkan
20. Tampilkan isi record hanya field “judul_buku”, “penulis”, “penerbit”, dengan penulis
42 | P a g e
Latihan Praktikum Data Manipulation Language 2
Pada lanjutan praktikum DML ini, akan dibahas penggunaan operator-operator yang
Operator Aritmatika:
Operator Keterangan
+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian
Operator Pembanding:
Operator Keterangan
= Sama Dengan
In Berada didalam
43 | P a g e
Operator Logika:
Operator Keterangan
And atau && Data Benar, bila kedua pembanding bernilai benar
dalam menampilkan data per baris pada suatu tabel, dengan bentuk penulisan:
2. Aktifkan kembali database yang telah dibuat dilatihan sebelumnya dengan nama
“db_latihan_dml”.
44 | P a g e
4. Buat tabel bernama “member”, dengan ketentuan sebagai berikut:
Nama_member Varchar 40
Alamat Varchar 75
Semester Char 2
Usia Char 2
45 | P a g e
01003 Riki Bahagia Jl. Hutama Karya No.03 4 20
46 | P a g e
8. Tampilkan isi record dengan Nama member bernama = “Erni Susanti”.
47 | P a g e
11. Tampilkan isi record hanya field “nama_member”, “semester”, kemudian urutkan data
berdasarkan semester.
12. Tampilkan isi record hanya field “nama_member”, “semester”, “usia”, dimana usia
13. Tampilkan isi record dengan usia = “diatas 18 Tahun” dan semester = “diatas semester
2”.
48 | P a g e
14. Tampilkan isi record dengan usia = “diatas 18 Tahun” atau semester = “diatas semester
2”.
15. Tampilkan isi record hanya field “nama_member”, “alamat”, dimana member bernama
16. Tampilkan isi record hanya field “nama_member”, “alamat”, “usia”, dimana usia berada
49 | P a g e
17. Tampilkan 4 isi record teratas dari tabel member. (gunakan perintah LIMIT)
18. Tampilkan 5 isi record teratas dari tabel member, kemudian urutkan secara descending
berdasarkan “semester”.
19. Tampilkan isi record, hanya dari record ke-2 hingga record ke-4. (perhitungan record
dimulai dari record 0, maka dirumuskan record ke-2 adalah LIMIT 1, sebanyak 3 record
kebawah)
50 | P a g e
20. Tampilkan isi record, hanya dari record ke-1 hingga record ke-4, kemudian urutkan
berdasarkan id_member.
51 | P a g e
BAB V
DATA MANIPULATION LANGUAGE II
Pada pembahasan praktikum data manipulation language ini, akan digunakan beberapa
fungsi seperti:
Fungsi Agregasi:
Fungsi DISTINCT:
Fungsi yang digunakan untuk mengganti secara tampilan nama tabel atau nama field.
52 | P a g e
daftar database yang ada.
Nama Varchar 40
Kota_asal Varchar 50
Sks Int 2
53 | P a g e
5. Lihat struktur tabel pengajar.
7. Tampilkan isi seluruh record pada tabel pengajar, kemudian urutkan secara descending
54 | P a g e
8. Tampilkan rata-rata gaji pada tabel pengajar.
55 | P a g e
11. Tampilkan jumlah gaji dengan pengajar yang memiliki sks “lebih dari 3sks”.
12. Tampilkan isi record hanya field “kota_asal” tanpa perulangan isi record yang sama,
13. Buat alias dengan nama “rata_gaji” untuk mencari nilai rata-rata gaji pengajar.
14. Buat alias untuk tabel dengan nama “tp”, kemudian tampilkan record hanya field
56 | P a g e
15. Buat alias untuk field “nama” dengan nama “nama_pengajar”, kemudian tampilkan isi
16. Buat alias untuk field “sks” dengan nama “jumlah_sks”, kemudian tampilkan isi record
57 | P a g e
17. Buat alias dengan nama “hasil”, dan merupakan hasil perkalian antara field sks dengan
18. Buat alias dengan nama “bonus” dan merupakan hasil perkalian antara field sks dengan
“100000”, kemudian tampilkan isi record hanya field “nama”, “sks”, “bonus”.
19. Buat alias dengan nama “gaji_terbesar” untuk mencari nilai gaji terbesar pengajar.
58 | P a g e
20. Buat alias dengan nama “tunjangan” dan merupakan hasil perkalian antara field sks
dengan “250000”, kemudian tampilkan isi record dan urutkan secara descending
berdasarkan tunjangan.
2. Aktifkan kembali database yang telah dibuat dilatihan sebelumnya dengan nama
“db_dml_lanjutan”.
59 | P a g e
Nama_mtkul Varchar 30
Sks Int 2
127 Multimedia 3
60 | P a g e
7. Tampilkan seluruh isi record pada tabel mata_kuliah.
8. Tampilkan jumlah data dari isi record tabel mata_kuliah. (menghitung jumlah data isi
9. Tampilkan isi record dengan menggabungkan isi data dari field “nama_mtkul” dengan
field “sks”, dengan penghubung string bernama “jumlah sks yaitu:”. (menggabungkan
61 | P a g e
10. Buat alias dengan nama “daftar_mata_kuliah”, kemudian tampilkan isi record dengan
menggabungkan isi data dari field “nama_mtkul” dengan field “sks”, dengan penghubung
11. Buat alias dengan nama “Mata Kuliah” (menggunakan spasi) untuk field nama_mtkul,
kemudian tampilkan isi record dan urutkan berdasarkan alias “Mata Kuliah”. (untuk
membuat alias dengan menggunakan spasi gunakan tombol dengan simbol ` , biasa ada
62 | P a g e
12. Buat alias dengan nama “Jumlah SKS” (menggunakan spasi) untuk field sks, kemudian
13. Ubah isi record untuk nama matakuliah = “Mobile Programming I”, menjadi “Java
Programming I”.
63 | P a g e
14. Ubah isi record untuk nama matakuliah = “Bahasa Inggris”, jumlah sks menjadi “3”.
15. Tampilkan isi record hanya field “nama_mtkul”, “sks”, dimana yang ditampilkan hanya
jumlah sks 3.
64 | P a g e
16. Tambahkan isi record baru, yaitu kode_mtkul=”129”, nama_mtkul=”Java II”, sks=”4”.
18. Ubah isi record untuk nama matakuliah = “Java II”, menjadi “Java Programming II”.
65 | P a g e
19. Hapus isi record dengan nama matakuliah = “Multimedia”.
20. Tampilkan kembali seluruh isi record tabel matakuliah, dengan buat alias “Mata
Kuliah” untuk field nama_mtkul dan “Jumlah SKS” untuk field sks.
66 | P a g e
BAB VI
STUDI KASUS
Pada bab ini akan dibahas mengenai studi kasus “perpustakaan“ dan merupakan
Contoh dari Tugas Project mata kuliah Aplikasi Basis Data. Sebelum menuangkan rancangan
basis data kedalam struktur fisik, terlebih dahulu harus membuat dokumentasi dalam bentuk
logic berupa struktur basis data menggunakan bantuan Entity Relational Diagram atau disebut
dengan istilah ERD dan Logical Relational Structure atau disebut dengan istilah LRS.
diagram relasi antar entitas, dapat dilakukan dengan menggunakan suatu pemodelan basis data.
Sementara LRS atau Logical Relational Structure atau untuk bahasan selanjutnya disebut LRS,
merupakan Representasi dari struktur record-record pada tabel-tabel yang terbentuk dari hasil
relasi antar himpunan entitas. Pembahasan konsep dan pembuatan ERD dan LRS telah
Contoh ERD dan LRS dari studi kasus perpustakaan dijabarkan dihalaman selanjutnya.
67 | P a g e
ERD Basis Data Perpustakaan
68 | P a g e
Pembuatan Database Perpustakaan
Didalam studi kasus ini yang akan dibahas mengenai database “perpustakaan”
yang dapat digunakan untuk pemrograman web, serta “dapat dikembangkan dan
disesuaikan kembali dengan kebutuhan” menjadi basis data untuk Mata Kuliah “Web
Programming”.
Berdasarkan konsep logis yang telah dibuat sebelumnya pada ERD dan LRS,
maka langkah selanjutnya membuat database fisik dengan MariaDB, sebagai berikut:
69 | P a g e
3. Aktifkan database db_perpusweb.
Username Varchar 25
Password Varchar 35
Tabel “katalog_buku” :
nama_katalog Varchar 45
70 | P a g e
Tabel “buku” :
id_katalog Int 5
judul_buku Varchar 50
pengarang Varchar 35
thn_terbit Date -
penerbit Varchar 50
Tabel “anggota” :
nama Varchar 45
71 | P a g e
no_telp Varchar 15
alamat Varchar 50
email Varchar 30
password Varchar 35
Tabel “peminjaman” :
id_anggota Int 5
tgl_pinjam Date
tgl_kembali Date
jml_buku Int 2
72 | P a g e
Tabel “detail_pinjam” :
id_pinjam Int 5
id_buku Int 5
tgl_pengembalian Date
denda Double
73 | P a g e
6. Tampilkan Struktur tabel masing-masing yang telah dibuat:
74 | P a g e
- Struktur tabel anggota
75 | P a g e
7. Isi beberapa tabel dengan record sebagai berikut, kemudian
1 Admin Admin
2 Xxx Xxx
76 | P a g e
Tabel katalog_buku:
Id_katalog Nama_katalog
1 Sains
2 Hobby
3 Komputer
4 Komunikasi
5 Hukum
6 Agama
7 Populer
8 Bahasa
77 | P a g e
Tabel buku:
Robotika Siswoyo
1 1 2013-01-01 Wacana Ria
Sederhana Utomo
Adri
2 3 Mahir dengan PHP 2011-02-02 Pustaka Bangsa
Kusuma
Akhmad
3 2 Mahir Mewarnai 2014-03-03 CV.Indo Kreasi
Rahmat
Mahir Bahasa
5 8 Aliuddin 2013-05-05 CV.Indo Kreasi
Inggris
Pambudi
6 4 Public Speaking 2015-06-06 Aldi Pustaka
Prasetyo
Ahdim
7 3 Trik SQL 2014-07-07 Wacana Ria
Makaren
Pambudi
8 6 Kemurnian Agama 2014-08-08 Aldi Pustaka
Prasetyo
Ahdim
9 1 Mikrokontroler 2012-09-09 Wacana Ria
Makaren
78 | P a g e
79 | P a g e
Tabel anggota:
Id_anggota Nama No_telp Alamat Email password
1 Irfan Maulana 01244445555 BSD irfan@gmail.com 123
2 Nur Kumalasari 01233335555 Ciledug nur@gmail.com 123
3 Sanjaya Wijaya 01211115555 Cimone sanjaya@gmail.com 123
4 Eva Irfianingsih 01266665555 Tangerang eva@gmail.com 123
Ifqoh
5 01277775555 Cengkareng ifqoh@gmail.com 123
Permatasari
6 Indah Riana 01288885555 Fatmawati indah@gmail.com 123
Tiwie
7 01299995555 Warung Jati tiwie@gmail.com 123
Andrawati
8 Mus Dalifa 01200005555 Jatiwaringin mus@gmail.com 123
80 | P a g e
8. Kerjakan beberapa perintah soal query SQL dibawah ini:
a. Tampilkan daftar buku dengan nama penerbit = ”Wacana Ria”, kemudian urutkan
berdasarkan “thn_terbit”.
c. Buat alias untuk field “judul_buku” dengan nama “Buku Tersedia”. Tampilkan daftar
81 | P a g e
BAB VII
REVIEW MATERI
TUGAS 2
MATA KULIAH APLIKASI BASIS DATA
Tugas individu
82 | P a g e
83 | P a g e
BAB IX
PHPMYADMIN
sebelumnya dibahas query-query sql pembentuk tabel dan database menggunakan tools
Versi dari phpMyAdmin dan bahasa PHP yang diterima akan mengikuti dari versi
Xampp yang terinstal pada Laptop/PC. Namun, pada Modul Aplikasi Basis Data ini,
phpMyAdmin hanya dibahas dalam bab ini saja. Hal ini karena kemudahan dalam
penggunaannya dan harus ditekankan adalah penguasaan query-query sql dalam membentuk
Menjalankan phpMyadmin
1. Pastikan pastikan tab MySQL dan Apache dalam kondisi Running pada Xampp Control
84 | P a g e
Pada halaman pembuka terdapat pilihan untuk mengatur bahasa tampilan, serta melihat versi
Ketikan pada kotak “Ciptakan/Buat database baru”, lalu klik tombol “Ciptakan/Buat”.
85 | P a g e
Setelah membuat database baru, akan terlihat daftar tabel yang masih kosong (sisi
sebelah kiri)
Ketika telah masuk kedalam database db_perpusweb2, maka kita ketikkan nama tabel
Tabel-tabel pada latihan ini, dapat melihat struktur tabel pada db_perpusweb (bab studi
Tabel “admin” :
Username Varchar 25
Password Varchar 35
86 | P a g e
Jika sudah mengisi nama tabel dan jumlah kolom atau field klik tombol “Kirim atau Go”.
87 | P a g e
Latihan
berikut ini menggunakan phpMyAdmin (lihat contoh pengerjaan pada pembuatan tabel
admin):
Tabel “katalog_buku” :
Nama_katalog Varchar 45
Tabel “buku” :
Id_katalog Int 5
Judul_buku Varchar 50
88 | P a g e
Pengarang Varchar 35
Thn_terbit Date -
penerbit Varchar 50
Tabel “anggota” :
Nama Varchar 45
No_telp Varchar 15
Alamat Varchar 50
Email Varchar 30
Password Varchar 35
Tabel “peminjaman” :
Id_anggota Int 5
Tgl_pinjam Date
Tgl_kembali Date
Jml_buku Int 2
Tabel “detail_pinjam” :
Id_pinjam Int 5
89 | P a g e
Id_buku Int 5
Tgl_pengembalian Date
Denda Double
Untuk mengisi record tabel pada phpMyAdmin, klik/pilih terlebih dahulu tabel yang akan diisi
recordnya pada daftar tabel sebelah kiri, kemudian klik menu tab“Sisipkan/Tambahkan/Insert”.
Untuk Tabel dengan primary key bersifat AUTO_INCREMENT, maka saat insert record
90 | P a g e
Latihan
Isilah record beberapa tabel yang telah dibuat berikut ini menggunakan phpMyAdmin
Tabel katalog_buku:
Id_katalog Nama_katalog
1 Sains
2 Hobby
3 Komputer
4 Komunikasi
5 Hukum
6 Agama
7 Populer
8 Bahasa
91 | P a g e
Tabel buku:
Id_buku Id_katalog Judul_buku Pengarang Thn_terbit Penerbit
Robotika Siswoyo
1 1 2013-01-01 Wacana Ria
Sederhana Utomo
Adri
2 3 Mahir dengan PHP 2011-02-02 Pustaka Bangsa
Kusuma
Akhmad
3 2 Mahir Mewarnai 2014-03-03 CV.Indo Kreasi
Rahmat
Kurnia
4 1 Hukum Fisika 2013-04-04 Wacana Ria
Sandi
Mahir Bahasa
5 8 Aliuddin 2013-05-05 CV.Indo Kreasi
Inggris
Pambudi
6 4 Public Speaking 2015-06-06 Aldi Pustaka
Prasetyo
Ahdim
7 3 Trik SQL 2014-07-07 Wacana Ria
Makaren
Pambudi
8 6 Kemurnian Agama 2014-08-08 Aldi Pustaka
Prasetyo
Ahdim
9 1 Mikrokontroler 2012-09-09 Wacana Ria
Makaren
Tabel anggota:
Id_anggota Nama No_telp Alamat Email password
92 | P a g e
5 Ifqoh Permatasari 01277775555 Cengkareng ifqoh@gmail.com 123
6 Indah Riana 01288885555 Fatmawati indah@gmail.com 123
7 Tiwie Andrawati 01299995555 Warung Jati tiwie@gmail.com 123
8 Mus Dalifa 01200005555 Jatiwaringin mus@gmail.com 123
Pilih terlebih dahulu tabel, kemudian klik menu “Browse” untuk menampilkan isi record
pada tabel. Untuk Ubah bisa menggunakan icon pensil, sedangkan untuk Hapus bisa
Pilih terlebih dahulu tabel, kemudian klik menu “Struktur” untuk menampilkan isi record
pada tabel. Untuk Ubah bisa menggunakan icon pensil, memberi Primary Key menggunakan
icon kunci, sedangkan untuk Hapus bisa menggunakan icon tanda silang/strip merah.
Pilih terlebih dahulu tabel yang akan diubah namanya, kemudian klik menu
“Operasi”.
93 | P a g e
Membuat Relasi Tabel pada phpMyAdmin
Saat Menu Designer terbuka, secara default field-field pada database belum terbuka.
Cara membuka field pada tabel klik tanda segitiga pada masing-masing kotak tabel.
Kemudian buat relasi dengan mengklik icon “Create Relation”, relasikan field
primary key pada masing-masing tabel ke tabel lain dengan field yang sama dengan teknik
94 | P a g e
Export Database
Proses Export Database dibutuhkan apabila, kita hendak memindahkan pekerjaan yang
berhubungan dengan database MySQL pada Laptop/PC satu dipindahkan ke Laptop/PC yang
lain. Salah satu cara pemindahan database tersebut, harus dilakukan proses export terlebih
Cara melakukan export database MySQL yaitu, pastikan halaman yang sedang aktif adalah
database (tidak sedang membuka suatu tabel). Kemudian klik tab menu “Export”. Untuk berbagai
kebutuhan, phpMyAdmin menyediakan versi convert database, untuk latihan kita bisa memilih option
pilihan “sql”, lalu pilih Kompres File dalam bentuk ZIP. Setelah pemilihan selesai klik tombol Go.
95 | P a g e
Import Database
Sedikit berbeda dari proses Export Database, sebelum melakukan proses import database kita
diharuskan melakukan pembuatan database kosong pada phpMyAdmin. Proses selanjutnya, memilih
file import yang akan dimasukan kedalam database, setelah memilih klik tombol Go.
96 | P a g e
Latihan Database phpMyAdmin :
2. Buat beberapa tabel pada database db_latihan_sepatu, sebagai berikut: Tabel “sepatu”:
merk Varchar 30
Ukuran Varchar 10
Harga Int 8
Tabel “pembeli”:
Nm_pembeli Varchar 35
97 | P a g e
Alamat Varchar 60
No_hp Varchar 18
Tabel “penjualan”:
Tgl_fak Varchar 35
Id_pembeli Int 5
Tabel “detail_penjualan”:
Field Name Type Size Keterangan
No_fak Char 6
Kd_sepatu Char 4
Jumlah Int 3
98 | P a g e
Tabel “pembeli”:
Tabel “penjualan”:
No_fak Tgl_fak Id_pembeli
FK0101 2017-11-02 1
FK0102 2017-11-03 3
FK0103 2017-11-04 4
FK0104 2017-11-05 5
Tabel “detail_penjualan”:
FK0101 S001 1
FK0101 S002 2
FK0102 S001 1
FK0103 S005 3
FK0104 S003 1
FK0104 S006 1
99 | P a g e
BAB X
FUNGSI JOIN
menampilkan data dari sebuah tabel, untuk pembahasan bab ini akan dibahas mengenai konsep
join. Join merupakan suatu perintah atau query yang digunakan untuk mendapatkan atau
menampilkan data yang berasal dari dua buah tabel atau lebih.
Syarat dari terpenuhinya query join adalah tabel-tabel yang digunakan dalam query
haru memiliki relasi satu sama lain. (lihat bahasan studi kasus perpustakaan). Secara umum,
query join yang sering digunakan terdiri dari Inner Join dan Outer Join.
100 | P a g e
4. Buat tabel bernama “dosen”, dengan ketentuan sebagai berikut:
Nm_dosen Varchar 35
Thn_masuk Year -
Alamat Varchar 50
Nm_mtkul Varchar 30
Sks Int 2
101 | P a g e
Nip Char 5 Foreign Key
102 | P a g e
01014 Agus Supardi 2011 Bogor
101 Algoritma 4
202 PTIK 3
303 SIM 4
404 E-Commerce 2
505 Agama 3
103 | P a g e
10. Isikan data untuk tabel mengajar, dengan data sebagai berikut:
Id Nip kd_mtkul
1 01011 101
2 01011 303
3 01012 202
4 01012 404
5 01012 303
6 01013 505
7 01013 101
8 01014 404
9 01015 202
10 01015 303
11. Tampilkan isi record dari ketiga tabel yang telah dibuat. (dengan perintah desc)
12. Tampilkan daftar dosen yang mengajar mata kuliah =”SIM” menggunakan Inner Join.
104 | P a g e
13. Tampilkan hanya field “nm_dosen”, “nm_mtkul”, “thn_masuk” yang mengajar mata
14. Buat alias dengan nama “Nama Dosen” untuk field “nm_dosen” dan alias “Mengajar”
untuk field “nm_mtkul”. Tampilkan hanya field NIP, alias Nama Dosen, alias Mengajar,
105 | P a g e
kemudian urutkan berdasarkan “nm_mtkul.
Fungsi Outer Join yang akan dipraktikan terdiri dari Left dan Right Outer Join. Berikut
2. Buat sebuah database dengan nama “db_join_buku”, kemudian tampilkan daftar tabel
yang ada.
Judul Varchar 40
Thn_terbit Year -
106 | P a g e
Id_kategori Int 3
Nm_kategori Varchar 30
1 PTIK 2017 1
2 SIM 2015 2
3 APSI 2014 2
4 RPL 2016 4
5 LINUX 2014 5
6 SO 2013 6
Tabel kategori_buku:
Id_kategori Nm_kategori
1 Manajemen Informatika
2 Sistem Informasi
3 Ilmu Komputer
4 Teknik Komputer
5 Jaringan Komputer
107 | P a g e
7. Tampilkan Isi Record masing-masing tabel.
108 | P a g e
Berbeda dengan Inner Join, Fungsi Left Join, akan menampilkan data-data termasuk
data yang tidak berelasi, dan akan ditampilkan secara default dengan nilai “NULL”.
Left join akan menampilkan secara lengkap data dari “Tabel pertama (sebelah kiri)”,
dalam contoh ini yaitu tabel buku ditampilkan terlebih dahulu, tetapi “karena id_kategori=6
tidak ada isinya pada tabel kategori_buku, maka akan bernilai null pada tampilan tabel
kategori_buku”.
Right join akan menampilkan secara lengkap data dari “Tabel kedua (sebelah kanan)”, dalam
contoh ini yaitu tabel kategori_buku ditampilkan setelah tabel buku, tetapi “karena pada tabel
buku, tidak ada buku dengan id_kategori=3, maka akan bernilai null pada tampilan tabel buku”.
109 | P a g e
BAB XI
FUNGSI JOIN II
Setelah mempelajari dan mempraktikan fungsi join pada bab sebelumnya. Pada
pembahasan bab ini, akan dijabarkan penggunaan fungsi percabangan “IF” didalam query join
saat menampilkan data pada tabel-tabel yang berelasi didalam suatu database.
db_join_rental.
Nopol Varchar 20
Jenis_mobil Varchar 20
harga Double -
110 | P a g e
Tabel “penyewa”:
Nama Varchar 40
Alamat Varchar 70
No_telp Varchar 15
Tabel “penyewaan”:
No_ktp Char 8
Kd_mobil Char 3
Tgl_sewa Date
Tgl_kembali Date
Lama_sewa Double
Jumlah_sewa Double
111 | P a g e
4. Isi Record masing-masing tabel sebagai berikut: Tabel mobil_baru:
Tabel penyewa:
112 | P a g e
23456789 Ria Ella Nurmala Tasikmalaya 07123335555
Tabel penyewaan:
6. Tampilkan hanya field “tgl_sewa” (data diambil dari tabel penyewaan), “nama” (data
diambil dari tabel penyewa), “kd_mobil” (data diambil dari tabel penyewaan),
113 | P a g e
penyewaan), serta buat alias dengan nama “total” (total didapat dari harga *
7. Tampilkan hanya field “tgl_sewa” (data diambil dari tabel penyewaan), “nama” (data
diambil dari tabel penyewa), “kd_mobil” (data diambil dari tabel penyewaan),
penyewaan), serta buat alias dengan nama “bonus1” (bonus1 didapat jika jumlah sewa
“lebih besar atau sama dengan 2”, maka mendapat bonus ”Air Mineral” selain itu “No
114 | P a g e
115 | P a g e
BAB XII
REVIEW MATERI
Nama Varchar 35
Alamat Varchar 50
No_telp Varchar 20
Biaya_konsultasi Double -
Tabel pasien:
Nama Varchar 35
Alamat Varchar 50
No_telp Varchar 20
116 | P a g e
Tabel periksa:
Tgl_periksa Date -
Id_pasien Int 3
Id_dokter Int 3
Biaya Double -
Tabel pasien:
Tabel periksa:
117 | P a g e
noperiksa Tgl_periksa Id_pasien Id_dokter biaya
1 2017-11-24 1 3 30.000
2 2017-11-24 3 1 30.000
3 2017-11-26 2 3 30.000
4 2017-11-28 4 2 30.000
6. Ubah size pada field “nama” tabel dokter, menjadi size = “45”.
7. Tampilkan isi record tabel dokter dengan nama dokter =”Sri Putri”.
118 | P a g e
10. Tampilkan hanya field “noperiksa”, “nama”(diambil dari tabel dokter),
alias yang dibuat (total_biaya didapat dari biaya_konsultasi+biaya). Buat alias kembali
dengan nama “Bonus” (bonus didapat jika total_biaya >100.000, yaitu”Vitamin C”).
119 | P a g e
Daftar Pustaka
Connolly, Thomas M & E Begg, Carolyn, Database System, Apractical Approach to Design,
Pahlevi, Said Mirza, Tujuh Langkah Praktis Pembangunan Basis Data, 2013, Elex Media
Komputindo, Jakarta
120 | P a g e