BASIS DATA
Tim Penyusun
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,
Database
Tabel/Entity
Record/Tupple
Field/Attribute
Karakter
1. Karakter
huruf (A-Z, a-z) ataupun karakter-karakter khusus seperti *, &, %, #, dan lain-lain.
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 dapat menjelaskan
sebuah entity secara lengkap. Misalnya record entity mahasiswa adalah kumpulan data value
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
Value (Nilai
dari suatu 12140001 Helga Elzar Adha Cawang Record Ke-1
Field yang
terdiri dari 12140002 Rifky Zarel Putra Jatiwaringin Record Ke-2
karakter-
karakter)
11140003 Fikri Putra Zarel Kaliabang Record Ke-3
Dalam modul praktikum ini, sebelum menuangkan rancangan basis data kedalam
struktur fisik, terlebih dahulu kita harus membuat dokumentasi dalam bentuk logic berupa
struktur basis data menggunakan bantuan Entity Relational Diagram atau pada bahasan
diagram relasi antar entitas, dapat dilakukan dengan menggunakan suatu pemodelan basis data.
relasinya. Atribut dapat sebagai key yang bersifat unik yaitu Primary
1. Indentifikasi Entitas
Melakukan identifikasi himpunan entitas yang terdiri dari calon/kandidat entitas yang
terlibat. Tidak semua calon entitas yang teridentifikasi akan digunakan pada pemodelan.
Pada tahap ini sebaiknya identifikasi semua kemungkinan entitas yang terlibat.
Contoh:
1 Barang
2 Pelanggan
3 Transaksi
4 DetailTransaksi
Menentukan atribut yang dijadikan sebagai Key, untuk entitas yang dipilih dan akan
digunakan dalam pemodelan. Entitas yang terpilih diberi atribut Key dengan
Contoh:
Kd_Brg Kd_Plg
tb_barang tb_pelanggan
No_Trans tb_transaksi
3. Identifikasi Relasi
Melakukan identifkasi himpunan relasi yang terdiri dari calon/kandidat relasi. Tidak
semua calon relasi yang teridentifikasi akan digunakan pada pemodelan. Relasi
disarankan menggunakan suatu kata yang akan mengarah dan menghasilkan kalimat
aktif.
1 Memiliki
2 Mempunyai
4 Membayar
5 Mengelola
Membuat design perkiraan pemodelan berdasarkan pemilihan entitas, relasi dan atribut
yang sudah teridentifikasi pada tahap sebelumnya. Setiap entitas memiliki atribut key
yang bersifat sebagai primary dan setiap relasi memilii atribut key yang berasal dari
setiap entitas yang dihubungkan oleh relasi tersebut. Atribut tersebut bersifat sebagai
Kd_Plg
tb_pelanggan
melakukan
Kd_Brg
Kd_Plg
tb_transaksi tb_barang
memiliki
entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Macam-
a. Satu ke satu (one to one), Setiap anggota entitas A hanya boleh berhubungan
b. Satu ke banyak (one to many), Setiap anggota entitas A dapat berhubungan dengan
Kd_Plg
tb_pelanggan
melakukan
Kd_Brg
M
Kd_Plg
M N tb_barang
tb_transaksi
memiliki
Nm_Plg Alamat
Kd_Plg
Telepon
tb_pelanggan
Nm_Brg
melakukan
Kd_Brg Harga
Kd_Plg M N
tb_transaksi tb_barang
tb_detail
No_Trans
No_Trans
Tgl_Trans Kd_Brg
Jumbel
Logical Relational Structure atau untuk bahasan selanjutnya disebut LRS, merupakan
Representasi dari struktur record-record pada tabel-tabel yang terbentuk dari hasil relasi antar
M
tb_detail
tb_barang
No_Trans
Kd_Brg M 1
Nm_Brg Kd_Brg
Harga Jumbel
➢ 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
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.
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
2. Lalu periksa Xampp Control Panel dengan menjalankannya pastikan tab MySQL
3. Untuk memastikan kembali, silahkan buka web browser lalu ketikan dengan
2. Buat Rancangan ERD dan LRS suatu basis data, dikerjakan dikertas lembar putih
kosong.
3. Sertakan pula Relasi dan Kardinalitas pada ERD dan LRS yang dibuat.
5. Hasil Tugas akan dinilai oleh Dosen Pengajar sebagai Nilai Tugas 1 Mata Kuliah
6. Tugas dapat dikumpulkan saat Akhir Pertemuan 1 atau diawal Pertemuan 2 (hak
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 diciptaknnya 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 yang digunakan
didalamnya.
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 opensource pengembangan dari MySQL yang
full free. Xampp sendiri telah mengganti database MySQL dengan MariaDB sejak versi
5.5.3.
Aplikasi Basis Data terdapat dalam paket instalasi xampp yang telah dibahas pada
penulisan script bahasa SQL. Untuk membuka command prompt pada Laptop/PC bisa
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
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:
tekan Enter)
3. Pada saat diminta untuk memasukkan password (saat instalasi xampp, secara
default tidak ada password), tekan Enter pada keyboard (menandakan tidak ada
4. Langkah lain, apabila memasuki mariadb dengan user root dan sudah dipastikan
tidak ada password pada root (tanpa menuliskan “–p”), dapat menggunakan
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
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
“;”
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)
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:
Sebagai contoh pembuatan database dan tabel, user yang akan kita gunakan adalah root.
Berikut langkah-langkahnya:
- Lalu, untuk membuat tabel terlebih dahulu kita aktifkan database db_latihan1 dengan
perintah use. (Tabel adalah bagian dari suatu Database, oleh sebab itu pembuatannya
(spesifikasi tabel); (spesifikasi tabel dan tipe data akan dibahas pada bahasan
selanjutnya)
- Untuk melihat daftar tabel pada suatu database, gunakan perintah show tables;
- 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
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
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:
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.
- 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
- Text, apabila suatu tipe data membutuhkan isi data yang harus bisa menampung
jumlah karakter yang banyak, maka disarankan untuk tidak menggunakan char maupun
varchar, tetapi gunakan tipe data Text. Tipe data text terbagi kedalam beberapa tipe
data, yaitu, TINITEXT (jumlah karakter maksimum 255), TEXT (jumlah karakter
(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
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
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 Signed dan Unsigned dapat digunakan apabila isi data ingin bernilai
- Decimal (Fixed Point), tipe data yang menampung angka decimal dengan nilai
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 didepan koma dan 2 angka dibelakang koma. Contoh, ‘12,30’,’14.50’, dsb.
- Float dan Double (Floating Point), kedua tipe data ini juga dapat menampung angka
decimal, namun perbedaan dengan tipe data decimal (fixed point) adalah keakuratan
1. Buka aplikasi Command Prompt pada komputer anda. (Disarankan untuk membuka
5. Buat user baru pada localhost dengan nama “user_coba2” dengan password “12345”.
6. Buat user baru pada localhost dengan nama “user_cobalagi” tanpa password.
Kd_buku Char 5
Judul Varchar 40
Penulis Varchar 35
Penerbit Varchar 35
Kode Char 6
Nama Varchar 30
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”.
Tabel “anggota” :
Nama Varchar 20
Alamat Varchar 30
No_telp Varchar 15
Tgl_lahir Date -
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
Tabel “komik” :
Judul Varchar 25
Pengarang Varchar 30
Thn_terbit Year -
Jenis_komik Varchar 15
No_pinjam Int 4
Id_anggota Char 4
Id_komik Char 5
Jumlah Int 2
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”.
15. Beri Primary Key pada field “no_pinjam” pada tabel pinjam.
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”.
4. Buat sebuah tabel dengan nama “siswa”, ketentuan tabel sebagai berikut:
Nama Varchar 40
Tgl Date -
Kelas Varchar 15
No_telp Varchar 18
Size=”30”.
9. Ubah field “kelas” pada tabel siswa menjadi “kelas_siswa” type=”varchar” Size=”20”.
Tabel “tutor” :
Id_tutor Char 8
Nama_tutor Varchar 30
Jenis Varchar 20
Jml_kelas Smallint 4
Id_ruang Char 3
Nama_ruang Varchar 10
17. Tampilkan struktur tabel ruang, kemudian Ubah “tipe data” dari field “id_ruang” pada
20. Lihat kembali daftar tabel yang ada pada database db_les_private.
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.
Judul_buku Varchar 45
Penulis Varchar 25
Thn_terbit Year 15
Penerbit Varchar 45
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”.
sama pada penerbit tidak akan dipanggil kembali, disebut juga Ascending)
10. Tampilkan isi record dengan pengurutan data berdasarkan penerbit. (secara default
menggunakan like.
13. Tampilkan isi record dengan Tahun terbit dibawah tahun 2005.
14. Tampilkan isi record dengan Judul buku mengandung kata “SQL”.
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
18. Tampilkan isi record hanya field “judul_buku”, “penulis”, “thn_terbit”, dengan tahun
dengan tahun terbit dibawah tahun 2005, lalu urutkan berdasarkan “thn_terbit” secara
descending.
20. Tampilkan isi record hanya field “judul_buku”, “penulis”, “penerbit”, dengan penulis
Pada lanjutan praktikum DML ini, akan dibahas penggunaan operator-operator yang
Operator Keterangan
+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian
Operator Pembanding:
Operator Keterangan
= Sama Dengan
In Berada didalam
Operator Logika:
Operator Keterangan
And atau && Data Benar, bila kedua pembanding bernilai benar
bernilai benar
Selain operator-operator tersebut, terdapat pula perintah LIMIT, untuk membatasi 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”.
Nama_member Varchar 40
Alamat Varchar 75
Usia Char 2
11. Tampilkan isi record hanya field “nama_member”, “semester”, kemudian urutkan data
berdasarkan semester.
13. Tampilkan isi record dengan usia = “diatas 18 Tahun” dan semester = “diatas semester
2”.
14. Tampilkan isi record dengan usia = “diatas 18 Tahun” atau semester = “diatas semester
2”.
16. Tampilkan isi record hanya field “nama_member”, “alamat”, “usia”, dimana usia
nama_member.
17. Tampilkan 4 isi record teratas dari tabel member. (guanakan perintah LIMIT)
18. Tampilkan 5 isi record teratas dari tabel member, kemudian urutkan secara descending
berdasarkan “semester”.
dimulai dari record 0, maka dirumuskan record ke-2 adalah LIMIT 1, sebanyak 3
record kebawah)
20. Tampilkan isi record, hanya dari record ke-1 hingga record ke-4, kemudian urutkan
berdasarkan id_member.
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.
nama_tabel_asli AS nama_tabel_alias
Nama Varchar 40
Kota_asal Varchar 50
Sks Int 2
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.
15. Buat alias untuk field “nama” dengan nama “nama_pengajar”, kemudian tampilkan
16. Buat alias untuk field “sks” dengan nama “jumlah_sks”, kemudian tampilkan isi
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.
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”.
Nama_mtkul Varchar 30
127 Multimedia 3
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
menggabungkan isi data dari field “nama_mtkul” dengan field “sks”, dengan
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
13. Ubah isi record untuk nama matakuliah = “Mobile Programming I”, menjadi “Java
Programming I”.
14. Ubah isi record untuk nama matakuliah = “Bahasa Inggris”, jumlah sks menjadi “3”.
16. Tambahkan isi record baru, yaitu kode_mtkul=”129”, nama_mtkul=”Java II”, sks=”4”.
20. Tampilkan kembali seluruh isi record tabel matakuliah, dengan buat alias “Mata
Kuliah” untuk field nama_mtkul dan “Jumlah SKS” untuk field sks.
STUDI KASUS
2. Tema Project dan daftar kelompok dibuat fix saat pertemuan 6 (Mahasiswa dapat
memilih sendiri atau ditentukan oleh Bapak/Ibu Pengajar), dengan syarat tidak ada
tema yang sama dalam 1 kelas yang sama, dan tidak sama dengan tema studi kasus bab
ini.
3. Jumlah anggota per kelompok sejumlah 5-6 mahasiswa (dibuat fleksibel dan
b. Konsep Logis Database, berupa pembuatan ERD dan LRS dari project yang
a. Isi materi presentasi dibuat menarik, dengan menampilkan hasil project yang
telah dijabarkan pada Makalah (halaman pembuka berisi nama kelompok dan
anggota disertai judul tema, erd dan lrs, spesifikasi file, query yang dibuat
5. Presentasi Project Aplikasi Basis Data dapat dilakukan di pertemuan 13, 14, 15.
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
Tabel “admin” :
Username Varchar 25
Password Varchar 35
Nama_katalog Varchar 45
Tabel “buku” :
Id_katalog Int 5
Judul_buku Varchar 50
Pengarang Varchar 35
Thn_terbit Date -
penerbit Varchar 50
Nama Varchar 45
No_telp Varchar 15
Alamat Varchar 50
Email Varchar 30
Password Varchar 35
Tabel “peminjaman” :
Id_anggota Int 5
Tgl_kembali Date
Jml_buku Int 2
Tabel “detail_pinjam” :
Id_pinjam Int 5
Id_buku Int 5
Tgl_pengembalian Date
Denda Date
7. Isi beberapa tabel dengan record sebagai berikut, kemudian tampilkan hasilnya:
Tabel admin:
1 Admin Admin
Tabel katalog_buku:
Id_katalog Nama_katalog
1 Sains
2 Hobby
3 Komputer
4 Komunikasi
5 Hukum
6 Agama
7 Populer
8 Bahasa
Sederhana Utomo
PHP Kusuma
Rahmat
Sandi
Inggris
Prasetyo
Makaren
Agama Prasetyo
Makaren
Maulana
Kumalasari
Wijaya
Irfianingsih
Permatasari
Riana
Andrawati
Utomo
Abidin
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
Ketikan pada kotak “Ciptakan database baru”, lalu klik tombol “Ciptakan”.
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
Jika sudah mengisi nama tabel dan jumlah field klik tombol “Go”.
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
Pengarang Varchar 35
Thn_terbit Date -
penerbit Varchar 50
Tabel “anggota” :
Nama Varchar 45
No_telp Varchar 15
Alamat Varchar 50
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
Id_buku Int 5
Tgl_pengembalian Date
Denda Date
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/Insert”.
Isilah record beberapa tabel yang telah dibuat berikut ini menggunakan
Tabel katalog_buku:
Id_katalog Nama_katalog
1 Sains
2 Hobby
3 Komputer
4 Komunikasi
5 Hukum
6 Agama
7 Populer
8 Bahasa
Tabel buku:
Sederhana Utomo
PHP Kusuma
Rahmat
Sandi
Inggris
Prasetyo
Makaren
Agama Prasetyo
Makaren
Tabel anggota:
Maulana
Kumalasari
Wijaya om
Irfianingsih
Permatasari
Riana m
Andrawati
Utomo
Abidin m
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
merah.
Pilih terlebih dahulu tabel yang akan diubah namanya, kemudian klik menu “Operasi”.
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 “drag and
drop”.
Proses Export Database dibutuhkan apabila, kita hendak memindahkan pekerjaan yang
yang lain. Salah satu cara pemindahan database tersebut, harus dilakukan proses export
terlebih dahulu, kemudian hasilnya bisa diimport pada Laptop/PC yang lain.
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
➢ Import Database
Sedikit berbeda dari proses Export Database, sebelum melakukan proses import database
selanjutnya, memilih file eimport yang akan dimasukan kedalam database, setelah memilih
Tabel “sepatu”:
Ukuran Varchar 10
Harga Int 8
Tabel “pembeli”:
Nm_pembeli Varchar 35
Alamat Varchar 60
No_hp Varchar 18
Tabel “penjualan”:
Tgl_fak Varchar 35
Id_pembeli Int 5
Tabel “detail_penjualan”:
No_fak Char 6
Kd_sepatu Char 4
Jumlah Int 3
Tabel “sepatu” :
Tabel “pembeli”:
Tabel “penjualan”:
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
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.
ON tabel1.PK=tabel2.FK;
Nm_dosen Varchar 35
Thn_masuk Year -
Alamat Varchar 50
Nm_mtkul Varchar 30
Sks Int 2
101 Algoritma 4
202 PTIK 3
303 SIM 4
404 E-Commerce 2
505 Agama 3
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
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.
13. Tampilkan hanya field “nm_dosen”, “nm_mtkul”, “thn_masuk” yang mengajar mata
“thn_masuk”.
untuk field “nm_mtkul”. Tampilkan hanya field NIP, alias Nama Dosen, alias
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 -
Id_kategori Int 3
Nm_kategori Varchar 30
Tabel buku:
1 PTIK 2017 1
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
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
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
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.
Tabel “mobil_baru”:
Nopol Varchar 20
Jenis_mobil Varchar 20
harga Double -
Nama Varchar 40
Alamat Varchar 70
No_telp Varchar 15
Tabel “penyewaan”:
No_ktp Char 5
Kd_mobil Char 3
Tgl_sewa Date
Tgl_kembali Date
Lama_sewa Double
Jumlah_sewa Double
Tabel mobil_baru:
Tabel penyewa:
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),
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
REVIEW MATERI
Tabel dokter:
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
Tabel periksa:
Tgl_periksa Date -
Id_dokter Int 3
Biaya Double -
Tabel dokter:
Wijaya
Tabel pasien:
Selatan
Selatan
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”.