command promt|| phpmyadmin || microsoft access 2010 …€¦ · ii kata pengantar...
TRANSCRIPT
~~::.::Command Promt|| PHPMYADMIN || MICROSOFT ACCESS 2010 ::.::~~
ii
KATA PENGANTAR
Bismilahirahmanirakhim
Syukur kehadirat Allah SWT atas pertolongan dan kasih sayang Nya sehingga penulis bisa
merampungkan penyusunan 'Modul Praktikum Aplikasi Basis Data' ini. Mengutip salah satu
kata bijak imam bukhori 'Bersiaplah berlelah lelah dalam belajar jika engkau tidak ingin terhina
dalam kebodohan'. Maka atas semangat saling belajar lah modul ini bisa terpenuhi.Modul
praktikum ini Matakuliah ini membahas materi untuk mempersiapkan mahasiswa agar dapat
merancang sebuah basis data yang dapat diimplementasikan dalam basis data MariaDB, serta
membahas materi perintah-perintah SQL yang dapat dipergunakan untuk membuat basis data
Fokus pembelajaran adalah best practise sharing dengan memperbanyak contoh dan studi kasus.
Dengan harapan bisa lebih mudah dimengerti. Serta harapanya bisa memenuhi prasyarat mata
kuliah pemrograman web dengan skill penguasaan perancanangan aplikasi basis data.
Kesempurnaan hanya milik Allah SWT, tak ada gading yang tak retak; Penulis sangat terbuka
untuk segala masukan demi perbaikan perkuliahan praktikum basis data ke depan.
Wassalamu 'alaykum Wr.Wb
Jakarta ,21 Maret 2019
Andi Taufik
iii
DAFTAR ISI
Kata Pengantar
Daftar Isi
Pertemuan 1 Konsep Dasar Basis Data
Pertemuan 2 MYSQL dan MariaDB
Pertemuan 3 Data Definition Language
Pertemuan 4 Data Manipulation Language
Pertemuan 5 Data Manipulation Language II
Pertemuan 6 Studi Kasus
Pertemuan 7 Review Materi
Pertemuan 8 Ujian Tengah Semester
Pertemuan 9 PhpMyAdmin
Pertemuan 10 Fungsi Join
Pertemuan 11 Fungsi Join II
Pertemuan 12 Review Materi
Pertemuan 1 3 Presentasi Project
Daftar Pustaka
ii
iii
1
11
26
43
60
77
93
94
95
112
126
134
138
139
1
PERTEMUAN I
KONSEP DASAR BASIS DATA
Konsep Dasar Basis Data
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. Berikut susunan umum hierarki pada suatu basis data:
Berikut penjabaran dari struktur basis data diatas:
1. Karakter
Merupakan bagian terkecil dalam database, dapat berupa karakter numerik (angka 0
s/d 9), 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
2
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 value dari field. Dalam database, record disebut juga baris.
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 tradisional, entity/tabel ini disebut juga dengan file.
5. DataBase
Kumpulan dari tabel-tabel yang saling berelasi, disusun secara logis sehingga
menghasilkan informasi yang bernilai guna dalam proses pengambilan keputusan.
Contoh penjabaran struktur basis data:
Nama Database : mahasiswa_Nusamandiri
Nama Tabel : mahasiswa
3
Nama Tabel : Matakuliah
Install Aplikasi Xampp pada windows 10 (64 bit)
Karena pada umumnya pada saat ini windows yang digunakan oleh mahasiswa adalah
windows 10 sebelum materi perkulihan berlanjut kepada pertemuan berikutnya biasanya
instruktur/ dosen pengampu matakuliah aplikasi basis data pada pertemuan pertama
memastikan mahasiswanya untuk menginstall xampp untuk standarisasi software yang
digunakan. Dalam Xampp terdapat komponen yang harus aktif yaitu Aphace, MySQL dan
PHP. ketiga komponen tersebut memiliki tugas masing masing. Apache bertugas sebagai
web server yang menampilkan halaman web kepada user, MySQL bertugas sebagai
databaser server yang berguna untuk menambahkan data, menghapus data, atau mengubah
data yang terdapat pada database. Php bertugas sebagai bahasa pemrograman yang membuat
web. Php berbeda dengan Html maupun css, bahasa pemrograman php hanya membuatkan
logika sedangkan html/css membuat tampilan website yang dapat dilihat user. Jika
mahasiswa belum mempunya software tersebut bisa meminta langsung kepada dosen yang
mengajar aplikasi basis data atau mahasiswa bisa mendownload pada web resminya
https://www.apachefriends.org/download.html berikut tampilan web resminya
kd_matkul nm_matkul Sks
CPP Borland C++ 4
ABD Aplikasi Basis Data 4
VBS Visual Basic I 4
4
Setelah mendownload software nya mahasiswa bisa mengikuti langkah sebagai berikut
1. Buka Aplikasi xampp yang telah selesai didownload
Apabila muncul notifikasi seperti di atas, jangan khawatir itu notifikasi yang meminta
persetujuan menjalankan aplikasi 32 bit pada komputer 64 bit. yang perlu sobat lakukan
hanyalah meng klik OK
5
ketika sudah muncul tampilan Setup, Klik Next.
2. Memilih komponen apa saja yang akan diinstall, disini saya memberikan checklist pada semua
komponen, lalu Klik Next.
3. Pilih dimana sobat hendak menempatkan hasil instalasi Xampp. Defaultnya akan
ditempatkan pada C:\xampp , Klik Next.
6
4. Setelah itu akan muncul tampilan yang memperlihatkan CMS (Wordpress, Drupal, Joomla) yang sering digunakan Xampp. Klik Next.
5. Muncul tampilan bahwa Xampp siap diinstall, Klik Next
7
6. Proses instalasi dimulai, tunggu sampai selesai (sekitar 5 menit)
7. Selamat, sudah berhasil menginstall Xampp, Klik Finish
8
Sampai tahap ini xampp sudah berhasil terinstall pada laptop mahasiswa. langkah selanjutnya menjalankan xampp. Simak langkah langkah di bawah ini : 1. Masuk kedalam lokasi xampp terinstall, pada komputer saya berada di C:\xampp. Cari
program yang bernama Xampp-Control lalu jalankan.
2. Akan muncul tampilan seperti ini, Klik Start pada komponen yang ingin dijalankan
(Apache,MySQL,FileZilla,Mercury)
9
3. Lalu buka browser yang digunakan, setelah terbuka masukan alamat
localhost/phpmyadmin
4. Nah kalo sudah muncul tampilan seperti ini, berarti xampp sudah berhasil dijalankan
dan siap digunakan
10
Tugas 1
a. Mahasiswa mempelajari dan memperaktikan dirumah seluruh bahasan
materi pada pertemuan 2 (Mysql dan mariaDB) Sebagai tugas mandiri
dirumah
b. Mahasiswa mengerjakan latihan soal pertemuan 2 (tugas mandiri
dirumah hasil pengerjaan perintah sql dan tampilan di screenshoot
melalui MS.word)
c. Poin a dan b akan didemonstrasikan dan dikumpulkan kepada dosen
pada saat pertemuan 2
11
PERTEMUAN 2
MYSQL dan MariaDB
Pengenalan MySQL dan MariaDB
MySQL adalah Relational Database Management Sistem (RDBMS) yang
diidistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap
orang bebas untuk menggunakan MYSQL, namun tidak boleh dijadikan produk turunan
yang bersifat komersial.
MySQL sebenarnya merupakan turunan salah satu konsep utama dalam
database sejak lama, yaitu SQL (Structured Query Language). SQL adalah sebuah konsep
pengoperasian data dikerjakan dengan mudah secara otomatis. Keandalan suatu
sistem database (DBMS) dapat diketahu dari cara kerja optimizer-nya dalam
melakukan proses perintah-perintah SQL, yang dibuat oleh user maupun program-program
aplikasinya.
MySQL adalah sebuah program database server yang mampu menerima dan
mengirimkan datanya dengan sangat cepat, multi user serta menggunakan perintah standar
SQL (Structure Query Language).
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 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 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.
12
Program database server sedangkan SQL adalah bahasa yang digunakan didalamnya.
Keistimewaan dari MySQL antara lain:
1. Portability
MySQL dapat berjalan stabil pada berbagai sistem operasi di antaranya seperti
Windows, Linux, dan Mac OS
2. Open Source
MySQL didistribusikan secara open source, dibawah lisensi GPL sehingga anda
dapat menggunakannya secara cuma-cuma tanpa dipungut biaya sepeserpun.
3. Multi User
MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa
mengalami masalah atau konflik. Hal ini memungkinkan sebuah database server
MySQL dapat di akses client secara bersamaan.
4. Performance Tuning
MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana,
dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
5. Column Types
MySQL memiliki tipe kolom yang sangat kompleks seperti integer, float,
double, char, varchar, text, date dan time.
6. Command dan Functions
MySQl memiliki operator dan fungsi secara penuh yang mendukung
perintah SELECT dan WHERE dalam query.
7. Security
MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host,
dan izin akses dengan sistem perizinan yang mendetail serta password terenkripsi.
8. Scalabillity dan Limits
MySQL mampu menangani database dalam skala besar dengan jumlah record
lebih dari 50 juta dan 60 ribu tabel.
9. Connectivity
MySQL dapat melakukan koneksi dengan client menggunakan protokol TCP/IP
dan Unit Soket (Unix)
10. Localisation
MySQL dapat mendeteksi pesan kesalahan (Error Code) pada client dengan
menggunakan lebih dari 20 bahasa.
13
11. Interface
MySQl memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa
pemogramman dengan menggunakan fungsi API (Application Programming
Interface)
12. Clients dan Tools
MySQL dilengkapi dengan berbagai tool yang dapat digunakan untuk adminstrasi
database, dan pada setiap tools yang ada disertakan petunjuk online.
13. Struktur Tabel
MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER
TABLE dibandingkan database lainnya.
Penggunaan MySQL dengan Command Prompt
Dalam pembahasan ini kita akan menggunakan paket program XAMPP. Paket XAMPP
biasanya di-instal pada direktori atau folder C:\ XAMPP. Sedangkan untuk databasenya akan
tersimpan di direktori C:\xampp\mysql\data. Untuk dapat menggunakan mysql terlebih dahulu
aktifkan dengan cara sebagai berikut:
1. Pilih menu Start => All Programs => Accessories Kemudian Pilih Command Prompt.
Selanjutnya akan tampil jendela sebagai berikut:
2. Kemudian ketikan perintah seperti dibawah ini pada command prompt tersebut untuk
menjalankan program mysql
Keterangan
Tanda –u : menyatakan bahwa masuk menggunakan username root
Tanda –p : menyatakan masuk menggunakan password
14
3. Pada saat anda diminta untuk memasukkan password, tekan enter pada keyboard. Bila
perintah tersebut berhasil, maka pada layar akan tampil ucapan selamat datang
seperti dibawah ini
Pengantar Sintak Dasar
MySQL merupakan bahasa pemrograman database dimana penulisan sintaknya tidak
serumit bahasa pemrograman lainnya seperti Java, C++, dan sebagainya. Satu hal yang perlu
diingat bahwa setiap penulisan script MySQL di Dos-Prompt harus selalu diakhiri dengan
tanda titik koma (;). Didalam source MySQL yang terinstal secara default telah terisi sebuah
database yang bernama mysql dan information_schema.
1. Sintak untuk menampilkan semua nama database yang telah ada adalah:
Keterangan: Contoh diatas menunjukan bahwa
dengan menggunakan sintak show databases; berarti
kita dapat menampilkan seluruh nama database
yang ada.
2. Sintak untuk bisa masuk kedalam salah satu sistem database adalah:
Keterangan: dengan mengetikkan sintak use
mysql; akan tampil kalimat database change,
berarti kita telah masuk ke dalam database
3. Di setiap database tentu ada terdapat beberapa tabel yang menjadi
komponen dasar dari sebuah database. Sintak untuk menampilkan seluruh tabel
yang telah ada di dalam database mysql adalah:
15
Dari gambar disamping , kita dapat melihat bahwa
didalam database mysql sudah ada beberapa tabel
yang telah default dari mysql nya sendiri. Didalam
database tersebut ada table columns_priv
(columns_privilege), db, host, tables_privilege, dan
user dimana tiap tabelnya memiliki fungsi tertentu
yang dapat diakses oleh tiap user. Database mysql
ini biasanya sering digunakan bagi webmaster
sebagai tempat penyimpanan data, karena tabel-
tabel yang telah ada dan table yang dibutuhkan
sebagian besar telah
terpenuhi.
4. Untuk bisa melihat isi seluruhnya dari salah satu tabel seperti user, maka gunakan sintak
sebagai berikut ini:
Maka akan tampil suatu kolom- kolom
dan baris-baris yang telah ada seperti
pada gambar. Dari gambar di samping
akan terlihat kolom host, user dan
password.
16
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:
1. Ketikan perintah cd c:\ (lalu kemudian tekan Enter)
2. Lalu ketikan perintah “xampp/mysql/bin/mysql.exe” –u root -p (lalu kemudian tekan
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
memasuki user root).
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:
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
17
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 Selain itu untuk
memudahkan pembelajaran, command prompt memungkinkan fasilitas short key pada
keyboard “agar pengetikan perintah yang sama tidak diketik ulang kembali” dengan menekan
tombol tanda panah keatas/kebawah pada keyboard.
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 “;”
18
Use mysql; (perintah „use‟ digunakan untuk mengaktifkan suatu database)
Select user, host from mysql.user; (perintah ini digunakan untuk melihat/menampilkan
daftar user yang ada pada database)
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:
create user „user1‟@‟localhost‟;(membuat user tanpa password)
create user „user2‟@‟localhost‟ identified by „123‟; (membuatu serdengan
password=”123”)
19
Untuk mengecek user yang telah dibuat, silahkan login menggunakan user tersebut, namun
terlebih dahulu harus keluar dari root dengan perintah exit;
exit; (perintah untuk keluar dari mysql)
"xampp/mysql/bin/mysql.exe" -u user1 (perintah masuk sebagai user1 tanpa password)
"xampp/mysql/bin/mysql.exe" -u user2 –p123 (perintah masuk sebagai user2 dengan
password=123)
Perhatikan perbedaan daftar database ketika masuk sebagai user biasa dengan user root.
Ketika sudah berhasil membuat user, tampilkan kembali daftar user pada mysql dengan
20
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:
Membuat Database dan Tabel Sederhana
Sebagai contoh pembuatan database dan tabel, user yang akan kita gunakan adalah root.
Berikut langkah-langkahnya:
1. Masuk kedalam MariaDB dengan user root
Setelah masuk MariaDB, ketikan perintah berikut:
2. Lihat hasilnya dengan perintah show databases; 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 berada didalam suatu
database yang diaktifkan terlebih dahulu). 3. Perintah untuk membuat tabel, yaitu dengan perintah create table nama_tabel
(spesifikasi tabel); (spesifikasi tabel dan tipe data akan dibahas pada bahasan
selanjutnya)
21
Untuk melihat daftar tabel pada suatu database, gunakan perintah show tables;
Sedangkan perintah untuk melihat struktur tabel, gunakan perintah desc mhs; atau
describe mhs;
Memberi Hak Akses (Privileges) pada user
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 struktur perintah pemberian hak akses pada user: grant hak_akses on
nama_database.nama_tabel to „nama_user‟@‟lokasi_user‟;
Penjelasan:
- Grant -> perintah memberikan hak akses pada user
- Hak_akses -> hak akses yang diperbolehkan bisa untuk melihat, merubah, menambah,
atau bisa diberikan hak akses penuh.
- 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 (*).
22
- Nama_user -> nama user yang akan diberi hak akses.
- Lokasi_user -> lokasi user yang akan diberi hak akses.
Sebagai contoh, kita telah memiliki user bernama user2, database bernama db_latihan1,
tabel bernama mhs.
Jika kita ingin memberikan hak akses user2 hanya bisa melihat tabel mhs, maka
perintah yang ada yaitu:
grant select on db_latihan1.mhs to „user2‟@‟localhost‟;
Jika didalam database db_latihan1 terdiri dari banyak tabel, dan akan diberikan hak akses
seluruh tabel kepada user2, perintahnya menggunakan tanda bintang (*).
grant select on db_latihan1.* to „user2‟@‟localhost‟;
Jika kita ingin memberikan hak akses user2 secara penuh (melihat, menambah, merubah)
terhadap tabel pada database db_latihan1, maka perintahnya menggunakan perintah „all‟
grant all on db_latihan1.* to „user2‟@‟localhost‟;
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
Tipe data string yang berisi nilai berupa karakter atau huruf. Beberapa tipe data string yang
mendukung database MariaDB, yaitu, CHAR, VARCHAR, BINARY, VARBINARY, TEXT,
BLOB. Berikut penjabarannya:
23
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. (contoh nim =‟12161717‟,
‟12171818‟, ‟12181717‟, isi data field nim selalu tetap 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. (contoh nama=‟budi santoso‟,‟rio
kurnia‟,‟susanti‟, isi data field nama tidak
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 sebagai biner dari
karakter A, yaitu 65.
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 maksimum
6.5535), MEDIUMTEXT (jumlah karakter maksimum 16.777.215). LONGTEXT (jumlah
karakter maksimum 4.294.967.295). (contoh field komentar yang bisa berisi dari banyak
karakter dan berjumlah tidak pasti, maka disarankan menggunakan tipe data berjenis TEXT).
Blob, tipe data ini memiliki konsep yang sama dengan tipe data TEXT, namun memiliki
struktur penyimpanan seperti binary, atau menyimpan secara biner karakter yang disimpan
kedalam filed. Terdiri dari TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB. Sehingga
bisa dikatakan tipe data blob merupakan versi biner dari tipe data Text.
Tipe Data Numeric
Tipe data ini digunakan untuk menampung angka-angka yang dapat dilakukan untuk
manipulasi perhitungan. Berikut beberapa diantaranya:
Integer, tipe data untuk menampung angka berupa bilangan bulat.Tipe data ini terdiri dari
beberapa jenis yang tergambar dalam tabel berikut ini:
24
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 negatif
(signed) atau isi data seluruhnya bertipe positif (unsigned).
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
dideklarasikan sebagai berikut, 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 dalam
pembacaan prosesor komputer terhadap nilai pecahan.
25
LATIHAN SOAL PERTEMUAN 2 1. Buka aplikasi Command Prompt pada komputer anda. (Disarankan untuk membuka
dari tahap awal). 2. Masuklah kedalam MariaDB menggunakan user root. 3. Tampilkan daftar database yang ada pada MariaDB. 4. Tampilkan daftar user pada MariaDB. 5. Buat user baru pada localhost dengan nama “NIMmasing-masing_coba2”
dengan password “12345”. Contoh : Jika NIM mahasiswa = 12181234, maka user =
12181234_coba2 6. Buat user baru pada localhost dengan nama “ NIMmasing-masing_cobalagi”
tanpa password. 7. Tampilkan kembali daftar user pada MariaDB. 8. Masih didalam user root, Buat Database dengan nama “db_ NIMmasing-
masing_coba”. 9. Aktifkan database db_NIMmasing-masing_coba, lalu buat dua buah table
didalamnya. Tabel 1 dengan nama “buku”:
Field Type Size
Kd_buku Char 5
Judul Varchar 40
Penulis Varchar 35
Penerbit Varchar 35
Tabel 2 dengan nama “katalog”
Field Type Size
Kode Char 6
Nama Varchar 30
10. Tampilkan daftar tabel yang ada pada database db_NIMmasing-masing_coba. 11. Tampilkan struktur tabel buku dan katalog. 12. Beri hak akses penuh database db_NIMmasingmasing_coba kepada user
“NIMmasingmasing_coba2”. 13. Hapus user “NIMmasingmasing_cobalagi”, lalu keluar dari root. 14. Masuk kedalam MariaDB menggunakan user “NIMmasingmasing_coba2”. 15. Tampilkan daftar database pada NIMmasingmasing_coba2.
26
PERTEMUAN 3
DATA DEFINITION LANGUAGE
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.
Dibawah ini terdapat latihan-latihan praktikum Data Definition Language, dimana untuk
kemudahan pembelajaran user yang dipakai adalah root.
Latihan Praktikum Data Definition Language 1
1. Masuk kedalam MariaDB melalui command prompt.
2. Buat dua buah database masing-masing dengan nama “komik_coba1” dan
“komik_cobalagi”.
3. Tampilkan seluruh daftar database yang ada.
27
4. Hapus database “komik_cobalagi”.
5. Aktifkan database komik_coba1. 6. Tampilkan daftar tabel pada database komik_coba1.
7. Buat 3 buah tabel, dengan ketentuan sebagai berikut: Tabel “anggota” :
Field Name
Type
Size
Keterangan
Id_anggota
Char
4
Primary Key
Nama
Varchar
20
Alamat
Varchar
30
No_telp
Varchar
15
Tgl_lahir
Date
-
28
(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
memberikan nilai „null‟.
Tabel “komik” :
Field Name
Type
Size
Keterangan
Id_komik
Char
5
Primary Key
Judul
Varchar
25
Pengarang
Varchar
30
Thn_terbit
Year
-
Jenis_komik
Varchar
15
29
Tabel “pinjam” :
Field Name
Type
Size
Keterangan
No_pinjam
Int
4
Id_anggota
Char
4
Id_komik
Char
5
Jumlah
Int
2
8. Tampilkan daftar tabel yang ada pada database.
30
9. Buka struktur tabel dari masing-masing tabel yang telah dibuat.
10. Hapus primary key pada tabel anggota.
31
11. Buat field baru pada tabel anggota, yaitu, “tgl_daftar” dengan type = “date”.
12. Ubah nama tabel “anggota” menjadi “anggota_warnet”.
13. Buat field baru pada tabel komik, yaitu, “status” dengan type = “varchar” dan size =
“10”.
32
14. Lihat struktur tabel pinjam.
15. Beri Primary Key pada field “no_pinjam” pada tabel pinjam. 16. Lihat kembali struktur tabel pinjam.
17. Ubah nama tabel “pinjam” menjadi “transaksi”.
33
18. Buat primary key pada field “id_anggota” pada tabel anggota_warnet.
19. Hapus field ”jenis_komik” pada tabel komik.
34
20. Ganti field “jumlah” pada tabel transaksi menjadi “jml_komik” type=”Int” Size=”4”.
Latihan Praktikum Data Definition Language 2
1. Masuk kedalam MariaDB melalui command prompt. 2. Buat database dengan nama “db_les_private”, kemudian tampilkan seluruh daftar
database yang ada.
3. Aktifkan database db_les_private.
35
4. Buat sebuah tabel dengan nama “siswa”, ketentuan tabel sebagai berikut:
Field Name
Type
Size
Keterangan
Nis
Char
6
Primary Key
Nama
Varchar
40
Tgl
Date
-
Kelas
Varchar
15
No_telp
Varchar
18
5. Lihat daftar tabel pada database db_les_private. 6. Lihat struktur tabel pada tabel siswa.
36
7. Ubah field “nama” pada tabel siswa menjadi “nama_siswa” type=”varchar” Size=”30”.
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”
37
10. Hapus field “no_telp” pada tabel siswa.
11. Ubah nama tabel “siswa” menjadi “siswa_baru”.
12. Lihat kembali struktur tabel siswa_baru.
38
13. Buat kembali 2 buah tabel dengan ketentuan sebagai berikut:
Tabel “tutor” :
Field Name
Type
Size
Keterangan
Id_tutor
Char
8
Nama_tutor
Varchar
30
Jenis
Varchar
20
Jml_kelas
Smallint
4
Tabel “ruang” :
Field Name
Type
Size
Keterangan
Id_ruang
Char
3
Nama_ruang
Varchar
10
39
14. Lihat struktur tabel tutor dan ruang.
15. Buat primary key untuk “id_tutor” pada tabel tutor.
40
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
tabel ruang menjadi “Int”.
18. Hapus tabel “ruang” dari database db_les_private.
41
19. Ubah nama tabel “tutor” menjadi “tutor_les”.
20. Lihat kembali daftar tabel yang ada pada database db_les_private.
42
LATIHAN SOAL PERTEMUAN 3
1. Buat dua buah database masing-masing dengan nama “NIMMasingmasing_bab3a” dan “NIMMasingmasing_bab3b”.
2. Tampilkan seluruh daftar database yang ada.
3. Aktifkan database NIMMasingmasing_bab3a. 4. Buat 2 buah tabel, dengan ketentuan sebagai berikut: Tabel “pedagang” :
Field Name
Type
Size
Keterangan
Id_pedagang
Char
5
Primary Key
Nama_pedagang
Varchar
35
Jns_kelamin
Varchar
10
Alamat
Varchar
50
No_telp
Varchar
18
Tgl_lahir
Date
-
Tabel “barang” :
Field Name
Type
Size
Keterangan
Id_barang
Char
5
Primary Key
Nama_barang
Varchar
35
Ukuran
Varchar
10
Warna
Varchar
15
5. Buka struktur tabel dari masing-masing tabel yang telah dibuat. 6. Tampilkan daftar tabel yang ada pada database. 7. Hapus primary key pada tabel barang. 8. Buat field baru pada tabel barang, yaitu, “harga” dengan type = “int” size =“10“. 9. Ubah nama tabel “pedagang” menjadi “pedagang03”. 10. Beri primary key pada tabel barang untuk field id_barang. 11. Hapus field No_telp pada tabel pedagang03. 12. Lihat struktur tabel pada tabel barang. 13. Hapus database “NIMMasingmasing_bab3b”. 14. Buat field baru pada tabel pedagang03, yaitu, “no_hp” dengan type = “varchar” dan size
= “20”. 15. Ganti field “Warna” pada tabel barang menjadi “Wrn” type=”Varchar” Size=”20”.
43
PERTEMUAN 4
DATA MANIPULATION LANGUAGE
Berbeda dengan DDL yang berhubungan dengan struktur tabel pada bahasan
praktikum sebelumnya. Maka, Data Manipulation Language merupakan kumpulan perintah
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.
Dibawah ini terdapat latihan-latihan praktikum Data Manipulation Language, dengan
berbagai variasi-variasi query.
Latihan Praktikum Data Manipulation Language 1
1. Masuk kedalam MariaDB melalui command prompt.
2. Buat sebuah database dengan nama “db_latihan_dml”, kemudian tampilkan seluruh
daftar database yang ada.
3. Aktifkan database db_latihan_dml.
44
4. Buat tabel bernama “buku”, dengan ketentuan sebagai berikut:
Field Name
Type
Size
Keterangan
Id_buku
Char
4
Primary Key
Judul_buku
Varchar
45
Penulis
Varchar
25
Thn_terbit
Year
-
Penerbit
Varchar
45
5. Lihat struktur tabel buku.
45
6. Isikan data untuk tabel buku, dengan data sebagai berikut:
Id_buku
Judul_buku
Penulis
Thn_terbit
Penerbit
BK01
Perahu Kertas
Dewi Lestari
2007
Abadi Jaya
BK02
Laskar Pelangi
Andrea Hirata
2004
Abadi Jaya
BK03
Sang Pemimpi
Andrea Hirata
2005
Abadi Jaya
BK04
Harry Potter 4
J.K.Rowling
2003
Indo Karya
BK05
Warnet SQL
DR. Nena
2009
Wacana Ria
7. Tampilkan isi seluruh record pada tabel buku.(gunakan tanda * bila seluruh field
ditampilkan)
46
8. Tampilkan isi record tabel buku, hanya buku dengan penerbit = “Abadi Jaya”.
9. Tampilkan isi record dengan pengelompokan data berdasarkan penerbit. (data yang
sama pada penerbit tidak akan dipanggil kembali untuk record selanjutnya)
10. Tampilkan isi record dengan pengurutan data berdasarkan penerbit. (secara default
pengurutan data secara ascending dari A ke Z).
47
11. Tampilkan isi record hanya field “judul_buku”, “penulis”, “thn_terbit
12. Tampilkan isi record dengan Penulis bernama depan huruf= “A”. (pencarian data
menggunakan like)
13. Tampilkan isi record dengan Tahun terbit dibawah tahun 2005.
48
14. Tampilkan isi record dengan Judul buku mengandung kata “SQL”.
15. Tampilkan isi record, dengan penulis = “Dewi Lestari”.
16. Tampilkan isi record hanya field “judul_buku”, “penulis”, kemudian urutkan data
berdasarkan penulis.
49
17. Tampilkan isi record hanya field “judul_buku”, “penulis”, kemudian urutkan data
berdasarkan penulis secara descending.
18. Tampilkan isi record hanya field “judul_buku”, “penulis”, “thn_terbit”, dengan tahun
terbit dibawah tahun 2005.
19. Tampilkan isi record hanya field “judul_buku”, “penulis”, “thn_terbit”, “penerbit”,
dengan tahun terbit dibawah tahun 2005, lalu urutkan berdasarkan “thn_terbit” secara
descending.
50
20. Tampilkan isi record hanya field “judul_buku”, “penulis”, “penerbit”, dengan penulis = “Andrea Hirata”, lalu urutkan secara descending berdasarkan “judul_buku”.
Latihan Praktikum Data Manipulation Language 2
Pada lanjutan praktikum DML ini, akan dibahas penggunaan operator-operator yang
sering digunakan didalam database mysql. Berikut diantaranya:
Operator Aritmatika:
Operator
Keterangan
+
Penjumlahan
-
Pengurangan
*
Perkalian
/
Pembagian
%
Sisa Hasil Bagi (modulus)
51
Operator Pembanding:
Operator
Keterangan
=
Sama Dengan
!= , <>
Tidak sama dengan
>
Lebih besar
<
Lebih Kecil
>=
Lebih besar sama dengan
<=
Lebih kecil sama dengan
Between
Berada diantara
In
Berada didalam
Operator Logika:
Operator
Keterangan
And atau &&
Data Benar, bila kedua pembanding bernilai benar
Not atau !
Data Benar, bila data bernilai salah/tidak sesuai
dengan nilai pembanding
Or atau ||
Data Benar, bila salah satu data bernilai benar,
atau keduanya bernilai benar
Xor
Data dianggap benar jika hanya data pertama yang
bernilai benar
Selain operator-operator tersebut, terdapat pula perintah LIMIT, untuk membatasi
dalam menampilkan data per baris pada suatu tabel, dengan bentuk penulisan:
LIMIT baris_awal, jumlah_baris
52
Berikut ini Latihan Praktikum Lanjutan untuk perintah DML:
1. Masuk kedalam MariaDB melalui command prompt.
2. Aktifkan kembali database yang telah dibuat dilatihan sebelumnya dengan nama
“db_latihan_dml”.
3. Tampilkan daftar tabel yang ada.
4. Buat tabel bernama “member”, dengan ketentuan sebagai berikut:
Field Name
Type
Size
Keterangan
Id_member
Char
5
Primary Key
Nama_member
Varchar
40
Alamat
Varchar
75
Semester
Char
2
Usia
Char
2
53
5. Lihat struktur tabel member.
6. Isikan data untuk tabel member, dengan data sebagai berikut:
Id_member
Nama_member
Alamat
Semester
Usia
01001
Tio Ferdinand
Jl. Serpong Raya No.11
4
21
01002
Amad Sanches
Jl. Cilenggang No.20
3
20
01003
Riki Bahagia
Jl. Hutama Karya No.03
4
20
01004
Rere Kurnia
Jl. Smapal Serpong 167
2
19
01005
Erni Susanti
Jl. Nusa Loka 11 - BSD
1
18
01006
Loki Nurdin
Jl. BSD Raya No.20
1
18
54
7. Tampilkan isi seluruh record pada tabel member.
8. Tampilkan isi record dengan Nama member bernama = “Erni Susanti”.
9. Tampilkan isi record dengan usia = “dibawah 21 Tahun”.
55
10. Tampilkan isi record, kecuali member bernama = “Rere Kurnia”.
11. Tampilkan isi record hanya field “nama_member”, “semester”, kemudian urutkan data
berdasarkan semester.
56
12. Tampilkan isi record hanya field “nama_member”, “semester”, “usia”, dimana usia
berada “diantara 19-20 tahun”.
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”.
57
15. Tampilkan isi record hanya field “nama_member”, “alamat”, dimana member bernama
depan huruf = “R”, kemudian urutkan data berdasarkan nama_member.
16. Tampilkan isi record hanya field “nama_member”, “alamat”, “usia”, dimana usia berada
“diatas 18 tahun”, kemudian urutkan data secara descending berdasarkan nama_member.
17. Tampilkan 4 isi record teratas dari tabel member. (gunakan perintah LIMIT)
58
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)
20. Tampilkan isi record, hanya dari record ke-1 hingga record ke-4, kemudian urutkan
berdasarkan id_member.
59
LATIHAN SOAL BAB IV
1. Buat sebuah database dengan nama “NIMMasingmasing_PERTEMUAN4”, kemudian tampilkan seluruh daftar database yang ada.
2. Aktifkan database NIMMasingmasing_bab4. 3. Buat tabel bernama “brg”, dengan ketentuan sebagai berikut:
Field Name
Type
Size
Keterangan
Kode_brg
Char
4
Primary Key
Nama_brg
Varchar
40
Harga_brg
Int
10
Thn_pembuatan
Year
-
Stok
Int
3
4. Lihat struktur tabel buku. 5. Isikan data untuk tabel brg, dengan data sebagai berikut:
Kode_brg
Nama_brg
Harga_brg
Thn_pembuatan
Stok
BR01
Clame Plate
40000
2005
100
BR02
CF Diafram
35000
2001
250
BR03
Press Cover
65000
2002
300
BR04
Terminal
15000
2000
57
BR05
Alumunium Solt
27000
2006
410
6. Tampilkan isi seluruh record pada tabel brg 7. Tampilkan isi record hanya field “kode_brg”, “nama_brg”, “stok”, kemudian urutkan
data secara ascending berdasarkan nama_brg. 8. Tampilkan isi record tabel brg, hanya Nama Barang = “Terminal”. 9. Tampilkan isi record dengan Nama Barang depan huruf berawalan= “C”. 10. Tampilkan isi record hanya field kode_brg, nama_brg, harga_brg, stok dimana stok
berada dibawah dari 200.
11. Tampilkan isi record barang dimana tahun pembuatan berada diantara tahun 2002-2006.
12. Tampilkan 3 isi record teratas dari tabel barang.
13. Tampilkan isi record barang dimana stok berada dibawah dari 200 dan tahun pembuatan tahun 2000.
14. Tampilkan isi record, hanya dari record ke-1 hingga record ke-3, kemudian urutkan berdasarkan kode_brg.
15. Tampilkan isi record dengan Kode Barang kecuali BR05.
60
PERTEMUAN 5
DATA MANIPULATION LANGUAGE II
Pada pembahasan praktikum data manipulation language ini, akan digunakan beberapa
fungsi seperti:
Fungsi Agregasi:
Operator
Fungsi Untuk Menghitung
AVG
Nilai Rata-rata
COUNT
Jumlah Data
MAX
Nilai Terbesar
MIN
Nilai Terkecil
SUM
Jumlah Nilai
Fungsi DISTINCT:
Fungsi pengurutan record tanpa perulangan isi record yang sama.
SELECT DISTINCT nama_field FROM nama_tabel Fungsi Alias „AS‟:
Fungsi yang digunakan untuk mengganti secara tampilan nama tabel atau nama field.
nama_tabel_asli AS nama_tabel_alias nama_field_asli AS nama_ field_alias
Fungsi CONCAT (Concatenates):
Fungsi yang digunakan untuk menyambung kata.
Berikut latihan-latihan praktikum data manipulation language lanjutan:
Latihan Praktikum Data Manipulation Language 3
1. Masuk kedalam MariaDB melalui command prompt.
2. Buat sebuah database dengan nama “db_dml_lanjutan”, kemudian tampilkan seluruh
61
daftar database yang ada.
3. Aktifkan database db_dml_lanjutan.
4. Buat tabel bernama “pengajar”, dengan ketentuan sebagai berikut:
Field Name Type Size Keterangan
Nip Char 4 Primary Key
Nama Varchar 40
Kota_asal Varchar 50
Sks Int 2
Gaji double
62
5. Lihat struktur tabel pengajar.
6. Isikan data untuk tabel pengajar, dengan data sebagai berikut:
NIP
Nama
Kota_asal
Sks
Gaji
0101
Ahmad Rio
Tangerang
4
3.000.000
0102
Iwan Kurniawan
Serang
2
2.000.000
0103
Asep Kusnandar
Tangerang
4
3.000.000
0104
Wati irawati
Bandung
3
2.500.000
0105
Neng Sukaesih
Bandung
2
2.000.000
0106
Maya Putriah
Jakarta
2
2.000.000
63
7. Tampilkan isi seluruh record pada tabel pengajar, kemudian urutkan secara descending
berdasarkan field gaji.
8. Tampilkan rata-rata gaji pada tabel pengajar.
9. Tampilkan gaji terendah pada tabel pengajar.
64
10. Tampilkan jumlah total keseluruhan gaji pada tabel pengajar.
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,
kemudian urutkan secara ascending berdasarkan kota_asal.
65
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
“nama”, “sks”, “gaji”.
15. Buat alias untuk field “nama” dengan nama “nama_pengajar”, kemudian tampilkan isi
record hanya berdasarkan alias “nama_pengajar”.
66
16. Buat alias untuk field “sks” dengan nama “jumlah_sks”, kemudian tampilkan isi record
hanya field “nama”, “gaji” dan alias “jumlah_sks”.
17. Buat alias dengan nama “hasil”, dan merupakan hasil perkalian antara field sks dengan
field gaji, kemudian tampilkan isi record.
67
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.
20. Buat alias dengan nama “tunjangan” dan merupakan hasil perkalian antara field sks
dengan “250000”, kemudian tampilkan isi record dan urutkan secara descending
68
berdasarkan tunjangan.
Latihan Praktikum Data Manipulation Language 4
1. Masuk kedalam MariaDB melalui command prompt.
2. Aktifkan kembali database yang telah dibuat dilatihan sebelumnya dengan nama
“db_dml_lanjutan”.
3. Tampilkan daftar tabel yang ada pada database.
4. Buat tabel bernama “mata_kuliah”, dengan ketentuan sebagai berikut:
Field Name
Type
Size
Keterangan
Kode_mtkul
Char
3
Primary Key
Nama_mtkul
Varchar
30
Sks
Int
2
69
5. Lihat struktur tabel mata_kuliah.
6. Isikan data untuk tabel mata_kuliah, dengan data sebagai berikut:
Kode_mtkul
Nama_mtkul
Sks
123
Algoritma Pemrograman
4
124
Praktikum Basis Data
3
125
Web Programming I
4
126
Bahasa Inggris
2
127
Multimedia
3
128
Mobile Programming I
4
70
7. Tampilkan seluruh isi record pada tabel mata_kuliah.
8. Tampilkan jumlah data dari isi record tabel mata_kuliah. (menghitung jumlah data isi
record gunakan fungsi count).
9. Tampilkan isi record dengan menggabungkan isi data dari field “nama_mtkul” dengan
field “sks”, dengan penghubung string bernama “jumlah sks yaitu:”. (menggabungkan
71
karakter yang mengandung spasi gunakan fungsi concat).
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
string bernama “jumlah sks yaitu:”.
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
disebelah angka 1 pada keyboard).
72
12. Buat alias dengan nama “Jumlah SKS” (menggunakan spasi) untuk field sks, kemudian
tampilkan hanya 4 record teratas.
13. Ubah isi record untuk nama matakuliah = “Mobile Programming I”, menjadi “Java
Programming I”.
73
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.
74
16. Tambahkan isi record baru, yaitu kode_mtkul=”129”, nama_mtkul=”Java II”, sks=”4”.
17. Tampilkan seluruh isi record tabel matakuliah.
18. Ubah isi record untuk nama matakuliah = “Java II”, menjadi “Java Programming II”.
75
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.
76
LATIHAN SOAL PERTEMUAN 5 1. Buat sebuah database dengan nama “NIMMasingmasing_PERTEMUAN5”, kemudian
tampilkan seluruh daftar database yang ada.
2. Aktifkan database NIMMasingmasing_bab5. 3. Buat tabel bernama “buku”, dengan ketentuan sebagai berikut:
Field Name Type Size Keterangan
Kode_buku Char 4 Primary Key
Judul Varchar 55
Pengarang Varchar 50
Penerbit Varchar 35
Harga Int 10
4. Lihat struktur tabel buku. 5. Isikan data untuk tabel buku, dengan data sebagai berikut:
Kode Buku
Judul
Pengarang
Penerbit
Harga
BK01
Rancangan ERD
Joko Susilo
Graha Pustaka
65.000
BK02
Diagram UML
Ahmad Sandi
Komunikatika
40.000
BK03
Web Programming
Rio Budiman
Graha Pustaka
35.000
BK04
Dasar Pemrograman
Artifa Ningrum
Tekno Press
35.000
BK05
Testing Program
Ria Kusumah
Ilmu Pustaka
45.000
6. Tampilkan isi seluruh record pada tabel buku, kemudian urutkan secara descending
berdasarkan field harga. 7. Tampilkan jumlah total keseluruhan harga pada tabel buku. 8. Tampilkan data buku dengan harga paling murah. 9. Buat alias dengan nama “rata_harga” untuk mencari nilai rata-rata dari harga buku.
10. Buat alias untuk tabel dengan nama “bk”, kemudian tampilkan record hanya field “judul”, “penerbit”, “harga”.
11. Tampilkan jumlah data dari tabel buku. 12. Buat alias dengan nama “Harga Buku”, kemudian tampilkan isi record dengan
menggabungkan isi data dari field “judul” dengan field “harga”, dengan penghubung string bernama “harga yaitu:”
13. Ubah isi record untuk buku “Diagram UML”, menjadi “UML Dasar”. 14. Tambahkan isi record baru, yaitu kode_buku=”BK06”, judul=”Algoritma Lanjut”,
pengarang=”Raden Kraton”, penerbit=“Graha Pustaka“, harga=“40.000“. 15. Hapus isi record dengan kode_buku=BK05, lalu tampilkan isi record dari tabel buku
77
PERTEMUAN 6
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 Relationship Diagram atau
disebut dengan istilah ERD dan Logical Relational Structure atau disebut dengan istilah LRS.
Entity Relationship Diagram merupakan pemodelan basis data dengan menggunakan
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
dibahas pada Mata Kuliah “Sistem Basis Data“.
Contoh sederhana ERD dan LRS dari studi kasus perpustakaan dijabarkan dihalaman
selanjutnya.
78
ERD Basis Data Perpustakaan
LRS Basis Data Perpustakaan
79
Pembuatan Database Perpustakaan
Didalam studi kasus ini yang akan dibahas mengenai database “perpustakaan” yang
dapat digunakan untuk pemrograman web atau desktop, serta “dapat dikembangkan dan
disesuaikan kembali sesuai dengan kebutuhan aplikasi“.
Berdasarkan konsep logis yang telah dibuat sebelumnya pada ERD dan LRS, maka
langkah selanjutnya membuat database fisik dengan MariaDB, sebagai berikut:
1. Masuk kedalam MariaDB melalui command prompt.
2. Buat sebuah database dengan nama “db_perpusweb”, kemudian tampilkan seluruh
daftar database yang ada.
3. Aktifkan database db_perpusweb.
80
4. Buat beberapa tabel berikut ini: Tabel “admin” :
Field Name
Type
Size
Keterangan
Id_admin
Int
5
Primary Key, AUTO_INCREMENT
Username
Varchar
25
Password
Varchar
35
Tabel “katalog_buku” :
Field Name
Type
Size
Keterangan
id_katalog
Int
5
Primary Key, AUTO_INCREMENT
nama_katalog
Varchar
45
81
Tabel “buku” :
Field Name
Type
Size
Keterangan
id_buku
Int
5
Primary Key, AUTO_INCREMENT
id_katalog
Int
5
judul_buku
Varchar
50
pengarang
Varchar
35
thn_terbit
Date
-
penerbit
Varchar
50
Tabel “anggota” :
Field Name
Type
Size
Keterangan
id_anggota
Int
5
Primary Key, AUTO_INCREMENT
nama
Varchar
45
no_telp
Varchar
15
alamat
Varchar
50
Varchar
30
password
Varchar
35
82
Tabel “peminjaman” :
Field Name
Type
Size
Keterangan
id_pinjam
Int
5
Primary Key, AUTO_INCREMENT
id_anggota
Int
5
tgl_pinjam
Date
tgl_kembali
Date
status
ENUM
„Selesai‟,‟Belum Selesai‟
jml_buku
Int
2
83
Tabel “detail_pinjam”
5. Tampilkan daftar tabel pada database
6. Tampilkan Struktur tabel masing-masing yang telah dibuat:
Field Name
Type
Size
Keterangan
id_pinjam
Int
5
id_buku
Int
5
tgl_pengembalian
Date
denda
Double
status_buku
ENUM
„Kembali‟,‟Belum Kembali‟
84
- Struktur tabel
admin
85
- Struktur tabel katalog_buku
- Struktur tabel buku
- Struktur tabel anggota
86
- Struktur tabel peminjaman
- Struktur tabel detail_pinjam
7. Isi beberapa tabel dengan record sebagai berikut, kemudian
tampilkan hasilnya: Tabel admin:
87
Id_admin
Username
password
1
Admin
Admin
2 Xxx Xxx
Tabel katalog_buku:
Id_katalog
Nama_katalog
1
Sains
2
Hobby
3
Komputer
4
Komunikasi
5
Hukum
6
Agama
7
Populer
8
Bahasa
88
Tabel buku:
Id_buku
Id_katalog
Judul_buku
Pengarang
Thn_terbit
Penerbit
1
1
Robotika Sederhana
Siswoyo Utomo
2013-01-01
Wacana Ria
2
3
Mahir dengan PHP
Adri Kusuma
2011-02-02
Pustaka Bangsa
3
2
Mahir Mewarnai
Akhmad Rahmat
2014-03-03
CV.Indo Kreasi
4
1
Hukum Fisika
Kurnia Sandi
2013-04-04
Wacana Ria
89
5
8
Mahir Bahasa Inggris
Aliuddin
2013-05-05
CV.Indo Kreasi
6
4
Public Speaking
Pambudi Prasetyo
2015-06-06
Aldi Pustaka
7
3
Trik SQL
Ahdim Makaren
2014-07-07
Wacana Ria
8
6
Kemurnian Agama
Pambudi Prasetyo
2014-08-08
Aldi Pustaka
9
1
Mikrokontroler
Ahdim Makaren
2012-09-09
Wacana Ria
90
Tabel anggota:
Id_anggota
Nama
No_telp
Alamat
password
1 Irfan Maulana 01244445555 BSD [email protected] 123
2 Nur Kumalasari 01233335555 Ciledug [email protected] 123
3 Sanjaya Wijaya 01211115555 Cimone [email protected] 123
4 Eva Irfianingsih 01266665555 Tangerang [email protected] 123
5 Ifqoh Permatasari
01277775555
Cengkareng
123
6 Indah Riana 01288885555 Fatmawati [email protected] 123
7 Tiwie Andrawati
01299995555
Warung Jati
123
8
Mus Dalifa
01200005555
Jatiwaringin
123
9 Hisbu Utomo 01233336666 Salemba [email protected] 123
10 Zaenal Abidin 01233337777 Bekasi [email protected] 123
91
92
LATIHAN SOAL PERTEMUAN 6
a. Tampilkan daftar buku dengan nama penerbit = ”Wacana Ria”, kemudian urutkan berdasarkan “thn_terbit”.
b. Tampilkan daftar buku dengan pengarang = ”Pambudi Prasetyo”. c. Buat alias untuk field “judul_buku” dengan nama “Buku Tersedia”. Tampilkan daftar
buku hanya field “pengarang”, “penerbit”, dan alias “Buku Tersedia”. d. Tampilkan daftar buku hanya field “judul_buku”, “pengarang”, “thn_terbit”, kemudian
urutkan secara descending berdasarkan “thn_terbit”. e. Tampilkan daftar buku dengan pengarang Selain “Ahdim Makaren”. f. Tampikan daftar Anggota dengan alamat “ciledug“. g. Tampilkan daftar Anggota dengan bernama depan “Mu”. h. Tampilkan daftar Anggota hanya field “nama”,”no_telp”,”alamat”, “email”, selain
anggota beralamat di “Salemba”. i. Tampilkan daftar dengan No Telp 3 angka terakhir = “777”. j. Tampilkan jumlah data pada tabel anggota dan tabel buku.
93
PERTEMUAN 7 REVIEW MATERI
TUGAS 6
a. Soal dibuat oleh Dosen Pengampu Mata Kuliah dan dikerjakan oleh
mahasiswa secara individu di kelas b. Soal terdiri dari kombinasi pembahasan perintah DDL dan DML yang
telah dibahas pada bab-bab sebelumnya
94
PERTEMUAN 8 UJIAN TENGAH SEMESTER
95
PERTEMUAN 9
PHPMYADMIN
PhpMyAdmin merupakan tools dengan Graphic User Interface yang dapat
memudahkan dalam pengelolaan database pada MySQL. Jika pada bahasan-bahasan
sebelumnya dibahas query-query sql pembentuk tabel dan database menggunakan tools
command prompt, pada bab ini akan dibahas menggunakan phpMyAdmin.
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
abel serta basis data yang baik.
Menjalankan phpMyadmin
1. Pastikan pastikan tab MySQL dan Apache dalam kondisi Running pada Xampp Control
Panel. (lihat kembali materi pembahasan instalasi xampp).
2. Ketikan pada Browser alamat “localhost/phpmyadmin”.
96
Pada halaman pembuka terdapat pilihan untuk mengatur bahasa tampilan, serta melihat versi
dari phpMyAdmin yang sedang dijalankan.
Membuat Database baru
Ketikan pada kotak “Ciptakan/Buat database baru”, lalu klik tombol “Ciptakan/Buat”.
Buat database dengan nama “db_perpusweb2”.
97
Setelah membuat database baru, akan terlihat daftar tabel yang masih kosong (sisi
sebelah kiri)
Membuat Tabel Pada Database
Ketika telah masuk kedalam database db_perpusweb2, maka kita ketikkan nama tabel
beserta jumlah field yang ada pada tabel.
Tabel-tabel pada latihan ini, dapat melihat struktur tabel pada db_perpusweb (bab studi
kasus sebelum UTS).
Tabel “admin” :
Field Name
Type
Size
Keterangan
Id_admin
Int
5
Primary Key, AUTO_INCREMENT
Username
Varchar
25
Password
Varchar
35
98
Jika sudah mengisi nama tabel dan jumlah kolom atau field klik tombol “Kirim atau Go”.
Bila Primary Key, bersifat AUTO_INCREMENT, maka ceklis pada pilihan
AUTO_INCREMENT atau A_I. Lalu Klik tombol Simpan.
Tampilan ketika berhasil membuat tabel:
99
Latihan
Lanjutkan pengerjaan database db_perpusweb2”, Lalu Buat Kembali beberapa tabel
berikut ini menggunakan phpMyAdmin (lihat contoh pengerjaan pada pembuatan tabel
admin):
Tabel “katalog_buku” :
Field Name
Type
Size
Keterangan
Id_katalog
Int
5
Primary Key, AUTO_INCREMENT
Nama_katalog
Varchar
45
Tabel “buku” :
Field Name
Type
Size
Keterangan
Id_buku
Int
5
Primary Key, AUTO_INCREMENT
Id_katalog
Int
5
Judul_buku
Varchar
50
100
Pengarang
Varchar
35
Thn_terbit
Date
-
penerbit
Varchar
50
Tabel “anggota” :
Field Name
Type
Size
Keterangan
Id_anggota
Int
5
Primary Key, AUTO_INCREMENT
Nama
Varchar
45
No_telp
Varchar
15
Alamat
Varchar
50
Varchar
30
Password
Varchar
35
Tabel “peminjaman” :
Field Name
Type
Size
Keterangan
Id_pinjam
Int
5
Primary Key, AUTO_INCREMENT
Id_anggota
Int
5
Tgl_pinjam
Date
Tgl_kembali
Date
Status
ENUM
„Selesai‟,‟Belum Selesai‟
Jml_buku
Int
2
Tabel “detail_pinjam” :
Field Name
Type
Size
Keterangan
Id_pinjam
Int
5
101
Id_buku
Int
5
Tgl_pengembalian
Date
Denda
Double
Status_buku
ENUM
„Kembali‟,‟Belum Kembali‟
Mengisi Record Pada Tabel
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
tidak perlu diisi data pada field primary key.
Untuk menampilkan hasilnya klik menu tab “Browse/Jelajahi”
102
Id_katalog
Nama_katalog
1
Sains
2
Hobby
3
Komputer
4
Komunikasi
5
Hukum
6
Agama
7
Populer
8
Bahasa
Latihan
Isilah record beberapa tabel yang telah dibuat berikut ini menggunakan phpMyAdmin
(lihat contoh pengerjaan pada insert record tabel admin):
Tabel katalog_buku:
103
Id_anggota Nama No_telp Alamat Email password
1 Irfan Maulana 01244445555 BSD [email protected] 123
2 Nur Kumalasari 01233335555 Ciledug [email protected] 123
3 Sanjaya Wijaya 01211115555 Cimone [email protected] 123
Tabel buku:
Id_buku
Id_katalog
Judul_buku
Pengarang
Thn_terbit
Penerbit
1
1
Robotika Sederhana
Siswoyo Utomo
2013-01-01
Wacana Ria
2
3
Mahir dengan PHP
Adri Kusuma
2011-02-02
Pustaka Bangsa
3
2
Mahir Mewarnai
Akhmad Rahmat
2014-03-03
CV.Indo Kreasi
4
1
Hukum Fisika
Kurnia Sandi
2013-04-04
Wacana Ria
5
8
Mahir Bahasa Inggris
Aliuddin
2013-05-05
CV.Indo Kreasi
6
4
Public Speaking
Pambudi Prasetyo
2015-06-06
Aldi Pustaka
7
3
Trik SQL
Ahdim Makaren
2014-07-07
Wacana Ria
8
6
Kemurnian Agama
Pambudi Prasetyo
2014-08-08
Aldi Pustaka
9
1
Mikrokontroler
Ahdim Makaren
2012-09-09
Wacana Ria
Tabel anggota:
104
4 Eva Irfianingsih 01266665555 Tangerang [email protected] 123
5 Ifqoh Permatasari 01277775555 Cengkareng [email protected] 123
6 Indah Riana 01288885555 Fatmawati [email protected] 123
7 Tiwie Andrawati 01299995555 Warung Jati [email protected] 123
8 Mus Dalifa 01200005555 Jatiwaringin [email protected] 123
9 Hisbu Utomo 01233336666 Salemba [email protected] 123
10 Zaenal Abidin 01233337777 Bekasi [email protected] 123
Mengubah dan Menghapus Isi Record Tabel
Pilih terlebih dahulu tabel, kemudian klik menu “Browse” untuk menampilkan isi record
pada tabel. Untuk Ubah bisa menggunakan icon pensil, sedangkan untuk Hapus bisa
menggunakan icon tanda silang/strip merah.
Mengubah dan Menghapus Field Struktur Tabel
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.
Mengubah Nama Tabel
Pilih terlebih dahulu tabel yang akan diubah namanya, kemudian klik menu “Operasi”.
105
Membuat Relasi Tabel pada phpMyAdmin Pilih dan klik menu tab “Designer”
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
106
“drag and drop”.
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
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 pemilihan selesai klik tombol Go.
107
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.
108
Hasil setelah proses import database berhasil:
109
Latihan Database phpMyAdmin :
1. Buat database menggunakan phpMyAdmin dengan nama “db_latihan_sepatu”.
2. Buat beberapa tabel pada database db_latihan_sepatu, sebagai berikut: Tabel “sepatu”:
Field Name
Type
Size
Keterangan
Kd_sepatu
Char
4
Primary Key
merk
Varchar
30
Ukuran
Varchar
10
Harga
Int
8
Tabel “pembeli”:
Field Name
Type
Size
Keterangan
Id_pembeli
Int
5
Primary Key, AUTO_INCREMENT
Nm_pembeli
Varchar
35
Alamat
Varchar
60
No_hp
Varchar
18
Tabel “penjualan”:
Field Name
Type
Size
Keterangan
No_fak
Char
6
Primary Key
Tgl_fak
Varchar
35
Id_pembeli
Int
5
Tabel “detail_penjualan”:
Field Name
Type
Size
Keterangan
No_fak
Char
6
Kd_sepatu
Char
4
110
Jumlah
Int
3
3. Isi Record untuk masing-masing tabel sebagai berikut: Tabel “sepatu” :
Kd_sepatu
merk
Ukuran
Harga
S001
Nike
40
300.000
S002
Adidas
41
320.000
S003
Xander
40
350.000
S004
Mutiara
40
240.000
S005
Bata
41
280.000
S006
Penx
41
230.000
Tabel “pembeli”:
id_pembeli
Nm_pembeli
Alamat
No_hp
1
Joko
Pontianak
091212123434
2
Butet
Yogyakarta
091213134545
3
Daeng
Tegal
091214145656
4
Putu
Tasikmalaya
091215156767
5
Neng
Bandung
091216167878
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”:
111
No_fak
Kd_sepatu
Jumlah
FK0101
S001
1
FK0101
S002
2
FK0102
S001
1
FK0103
S005
3
FK0104
S003
1
FK0104
S006
1
4. Buat relasi antar tabel dengan menggunakan “Designer phpMyAdmin”.
112
PERTEMUAN 10 FUNGSI JOIN
Setelah pembahasan-pembahasan sebelumnya telah dibahas mengenai proses
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.
Berikut bentuk umum penulisan Query Inner Join:
SELECT tabel1.*, tabel2.*
FROM tabel1 INNER JOIN tabel2 ON tabel1.PK=tabel2.FK;
Ket : PK = Primary key, FK = Foreign Key
Berikut ini adalah beberapa latihan praktikum meteri join:
Latihan Praktikum Inner Join (studi kasus relasi antar 3 tabel)
1. Masuk kedalam MariaDB melalui command prompt.
2. Buat sebuah database dengan nama “db_join_kampus”, kemudian tampilkan seluruh
daftar tabel yang ada.
3. Aktifkan database db_join_kampus.
113
4. Buat tabel bernama “dosen”, dengan ketentuan sebagai berikut:
Field Name
Type
Size
Keterangan
Nip
Char
5
Primary Key
Nm_dosen
Varchar
35
Thn_masuk
Year
-
Alamat
Varchar
50
5. Buat tabel bernama “mt_kuliah”, dengan ketentuan sebagai berikut:
Field Name
Type
Size
Keterangan
kd_mtkul
Char
3
Primary Key
Nm_mtkul
Varchar
30
Sks
Int
2
114
6. Buat Tabel bernama “mengajar”, dengan ketentuan sebagai berikut:
Field Name
Type
Size
Keterangan
Id
Int
3
Primary Key, AUTO_INCREMENT
Nip
Char
5
Foreign Key
kd_mtkul
Char
3
Foreign Key
7. Tampilkan struktur tabel dari masing-masing tabel yang telah dibuat.
8. Isikan data untuk tabel dosen, dengan data sebagai berikut:
NIP
Nm_dosen
Thn_masuk
Alamat
115
01011
Budi Santoso
2003
Tangerang
116
01012
Rio Hermawan
2009
Jakarta
01013
Tio Sandewa
2005
Jakarta
01014
Agus Supardi
2011
Bogor
01015
Nurlaela Sari
2014
Depok
9. Isikan data untuk tabel mt_kuliah, dengan data sebagai berikut:
kd_mtkul
Nm_mtkul
Sks
101
Algoritma
4
202
PTIK
3
303
SIM
4
404
E-Commerce
2
505
Agama
3
117
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.
118
13. Tampilkan hanya field “nm_dosen”, “nm_mtkul”, “thn_masuk” yang mengajar mata
kuliah = “E-Commerce”, kemudian urutkan secara descending berdasarkan “thn_masuk”.
119
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,
kemudian urutkan berdasarkan “nm_mtkul.
Latihan Praktikum Outer Join (studi kasus relasi antar 2 tabel)
Fungsi Outer Join yang akan dipraktikan terdiri dari Left dan Right Outer Join. Berikut
akan dijabarkan latihan praktikum Outer Join.
120
1. Masuk kedalam MariaDB melalui command prompt.
2. Buat sebuah database dengan nama “db_join_buku”, kemudian tampilkan daftar tabel
yang ada.
3. Aktifkan database db_join_buku.
4. Buat tabel bernama “buku”, dengan ketentuan sebagai berikut:
Field Name
Type
Size
Keterangan
Id_buku
Int
3
Primary Key, AUTO_INCREMENT
Judul
Varchar
40
Thn_terbit
Year
-
Id_kategori
Int
3
5. Buat tabel bernama “kategori_buku”, dengan ketentuan sebagai berikut:
Field Name
Type
Size
Keterangan
Id_kategori
Int
3
Primary Key, AUTO_INCREMENT
Nm_kategori
Varchar
30
6. Isi Record masing-masing tabel sebagai berikut: Tabel buku:
Id_buku
Judul
Thn_terbit
Id_kategori
1
PTIK
2017
1
2
SIM
2015
2
3
APSI
2014
2
4
RPL
2016
4
5
LINUX
2014
5
6
SO
2013
6
121
Tabel kategori_buku:
Id_kategori
Nm_kategori
1
Manajemen Informatika
2
Sistem Informasi
3
Ilmu Komputer
4
Teknik Komputer
5
Jaringan Komputer
7. Tampilkan Isi Record masing-masing tabel.
122
8. Tampilkan isi Record dengan perintah Left Outer Join.
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”.
123
9. Tampilkan isi Record dengan perintah Right Outer Join.
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”.
LATIHAN SOAL PERTEMUAN 10
1. Buat sebuah database dengan nama “NIMMasingmasing_bab10”, kemudian tampilkan seluruh daftar tabel yang ada.
2. Aktifkan database NIMMasingmasing_bab10. 3. Buat tabel bernama “tb_brg”, dengan ketentuan sebagai berikut:
Field Name
Type
Size
Keterangan
Kd_brg
Char
3
Primary Key
Nm_brg
Varchar
45
Jumlah
Int
2
124
Harga
Int
8
4. Buat tabel bernama “tb_cust”, dengan ketentuan sebagai berikut:
Field Name
Type
Size
Keterangan
Kd_cust
Char
3
Primary Key
Nm_cust
Varchar
45
Alamat_cust
Varchar
75
Telp_cust
Varchar
20
5. Buat Tabel bernama “tb_trans”, dengan ketentuan sebagai berikut:
Field Name
Type
Size
Keterangan
Id
Int
4
Primary Key, AUTO_INCREMENT
Kd_brg
Char
3
Foreign Key
Kd_cust
Char
3
Foreign Key
6. Tampilkan struktur tabel dari masing-masing tabel yang telah dibuat. 7. Isikan data untuk tabel tb_brg, dengan data sebagai berikut:
Kd_brg
Nm_brg
Jumlah
Harga
B01
Buku
50
4.500
B02
Pulpen
35
3.000
B03
Penggaris
20
1.500
B04
Penghapus
15
500
B05
Spidol
30
4.000
8. Isikan data untuk tabel tb_cust, dengan data sebagai berikut:
kd_cust
Nm_cust
Alamat_cust
Telp_cust
111
Nagoya Saki
BSD
084783838383
112
Ibmu Raihan
Serpong
082798989898
113
Anto Hoed
Muncul
081040404040
114
Abdul Karim
Keranggan
086567676767
125
115
Roberto Salim
Cisauk
083164646464
9. Isikan data untuk tabel tb_trans, dengan data sebagai berikut:
Id
Kd_brg
Kd_cust
1
B01
111
2
B01
113
3
B02
112
4
B02
114
5
B02
113
6
B03
115
7
B03
111
8
B04
114
9
B05
112
10
B05
113
10. Tampilkan isi record dari masing-masing tabel yang telah dibuat.
11. Berdasarkan ketiga tabel diatas, gunakan perintah Inner Join untuk menampilkan daftar
barang yang telah dibeli oleh customer bernama Ibmu Raihan.
12. Hapus isi record tabel tb_cust bernada Roberto Salim.
13. Tampilkan kembali isi record dari tabel tb_cust.
14. Ubah alamat customer pada tb_cust untuk Anto Hoed menjadi “Parung“.
15. Gunakan perintah Inner Join untuk menampilkan daftar barang yang telah dibeli oleh
customer bernama Abdul Karim.
126
PERTEMUAN 11 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.
Berikut Latihan Praktikum Fungsi Percabangan IF didalam query Join:
Latihan Praktikum Join Lanjutan (studi kasus relasi antar 3 tabel)
1. Masuk kedalam MariaDB melalui command prompt.
2. Buat sebuah database dengan nama “db_join_rental”, kemudian aktifkan database
db_join_rental.
3. Buat 3 buah tabel dengan ketentuan sebagai berikut: Tabel “mobil_baru”:
Field Name
Type
Size
Keterangan
Kd_mobil
Char
3
Primary Key
Nopol
Varchar
20
Jenis_mobil
Varchar
20
harga
Double
-
127
Tabel “penyewa”:
Field Name
Type
Size
Keterangan
No_ktp
Char
8
Primary Key
Nama
Varchar
40
Alamat
Varchar
70
No_telp
Varchar
15
Tabel “penyewaan”:
Field Name
Type
Size
Keterangan
Notrans
Int
8
Primary Key, AUTO_INCREMENT
No_ktp
Char
8
Kd_mobil
Char
3
Tgl_sewa
Date
Tgl_kembali
Date
Lama_sewa
Double
Jumlah_sewa
Double
128
4. Isi Record masing-masing tabel sebagai berikut: Tabel mobil_baru:
Kd_mobil
nopol
Jenis_mobil
Harga
M01
B 1234 KO
Sedan
600.000
M02
B 4321 BL
Mini Bus
500.000
M03
B 6789 MH
Mini Bus
500.000
M04
B 9876 MN
Mini Bus
450.000
M05
B 3333 LS
Mini Bus
600.000
Tabel penyewa:
No_ktp
Nama
Alamat
No_telp
12345678
Cadas Atmojo
Sukabumi
07123334444
129
23456789
Ria Ella Nurmala
Tasikmalaya
07123335555
34567890
Egi Kusumawati
Bandung
07123336666
56789012
Satria Mandala
Karawang
07123337777
67890123
Agung Gumelar
Cikampek
07123338888
Tabel penyewaan:
5. Tampilkan isi record pada masing-masing tabel.
6. Tampilkan hanya field “tgl_sewa” (data diambil dari tabel penyewaan), “nama” (data
diambil dari tabel penyewa), “kd_mobil” (data diambil dari tabel penyewaan),
“jumlah_sewa” (diambil dari tabel penyewaan), “lama_sewa” (diambil dari tabel
130
penyewaan), serta buat alias dengan nama “total” (total didapat dari harga *
jumlah_sewa * lama_sewa). Gunakan relasi Inner Join untuk menampilkan hasilnya.
7. Tampilkan hanya field “tgl_sewa” (data diambil dari tabel penyewaan), “nama” (data
diambil dari tabel penyewa), “kd_mobil” (data diambil dari tabel penyewaan),
“jumlah_sewa” (diambil dari tabel penyewaan), “lama_sewa” (diambil dari tabel
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
Bonus” ). Gunakan relasi Inner Join untuk menampilkan hasilnya.
131
132
LATIHAN SOAL PERTEMUAN 11 1. Buat sebuah database dengan nama “ NIMMasingmasing_PERTEMUAN11”. 2. aktifkan database NIMMasingmasing_pertemuan11. 3. Buat 3 buah tabel dengan ketentuan sebagai berikut:
Tabel “komik”:
Field Name
Type
Size
Keterangan
Kd_komik
Char
4
Primary Key
Judul
Varchar
50
Pengarang
Varchar
45
Penerbit
Varchar
40
Harga
Int
8
Tabel “member”:
Field Name
Type
Size
Keterangan
Id_member
Char
4
Primary Key
Nama_member
Varchar
45
Alamat_member
Varchar
60
No_telp
Varchar
18
Tabel “transaksi”:
Field Name
Type
Size
Keterangan
Notrans
Int
5
Primary Key, AUTO_INCREMENT
Id_member
Char
4
Kd_komik
Char
4
Tgl_beli
Date
Jml_beli
Double
133
4. Isi Record masing-masing tabel sebagai berikut:
Tabel komik:
Kd_komik
judul
Pengarang
Penerbit
Harga
K01
Ular Putih
Adrian Veri
Komika Indo
25.000
K02
Satria Bertopeng
Tyo Sadewo
Graha Komik
27.000
K03
Tutur Tinular
Moeis Mui
Graha Komik
40.000
K04
Rajawali Sakti
Adrian Veri
Komika Indo
30.000
K05
Elang Emas
Adrian Veri
Komika Indo
28.000
Tabel member:
Id_member
Nama_member
Alamat_member
No_telp
1001
Suma Aryo
Cimone
084167676767
1002
Kumala Wati
Tangerang
084189898989
1003
Nenden Fitria
Jatiuwung
084531313131
1004
Gundala Legam
Pasar Kemis
084510101010
1005
Roy Puryo
Kali Pasir
084166667777
Tabel transaksi:
Notrans Id_member Kd_komik Tgl_beli Jml_beli
1001 1001 K01 2020-01-20 4
1002 1004 K03 2020-01-21 7
1003 1005 K05 2020-01-25 5
5. Tampilkan isi record pada masing-masing tabel. 6. Tampilkan hanya field “notrans” (data diambil dari tabel transaksi), “nama_member”
(data diambil dari tabel member), “kd_komik” (data diambil dari tabel transaksi), “jml_beli” (diambil dari tabel transaksi), serta buat alias dengan nama “subtotal” (harga * jml_beli). Gunakan relasi Inner Join untuk menampilkan hasilnya.
134
PERTEMUAN12 REVIEW MATERI
TUGAS 9
a. Dosen Pengampu Mata Kuliah dapat menggunakan soal yang terdapat
pada bab ini, atau soal dapat menggunakan hasil ciptaan Dosen
Pengampu Mata Kuliah b. Soal terdiri dari kombinasi pembahasan perintah DDL, DML, serta
fungsi JOIN yang telah dibahas pada bab-bab sebelumnya.
1. Buat database dengan nama db_review
2. Buat 3 buah tabel dengan ketentuan sebagai berikut: Tabel dokter:
Field Name
Type
Size
Keterangan
Id_dokter
Int
3
Primary Key, AUTO_INCREMENT
Nama
Varchar
35
Alamat
Varchar
50
No_telp
Varchar
20
Biaya_konsultasi
Double
-
Tabel pasien:
Field Name
Type
Size
Keterangan
Id_pasien
Int
3
Primary Key, AUTO_INCREMENT
Nama
Varchar
35
Alamat
Varchar
50
No_telp
Varchar
20
135
Tabel periksa:
Field Name
Type
Size
Keterangan
Noperiksa
Int
3
Primary Key, AUTO_INCREMENT
Tgl_periksa
Date
-
Id_pasien
Int
3
Id_dokter
Int
3
Biaya
Double
-
3. Isi Record pada tabel sebagai berikut: Tabel dokter:
Id_dokter
Nama
alamat
No_telp
Biaya_konsultasi
1
Sri Putri
BSD
0217775555
50.000
2
Ade Wijaya
Cimone
0217776666
100.000
3
Hermawan
Tangerang
0217778888
50.000
4
Susanti
Cengkareng
0217779999
75.000
5
Ernes
Ciledug
0217770000
100.000
Tabel pasien:
Id_dokter
nama
alamat
No_telp
1
Abdul Majid
Tangerang
0314442222
2
Ade Wijaya
Tangerang
0314443333
3
Hermawan
Tangerang
0314445555
4
Susanti
Tangerang Selatan
0314446666
5
Ernes
Tangerang Selatan
0314447777
136
Tabel periksa:
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
4. Buka struktur masing-masing tabel yang telah dibuat.
5.
Tampikan seluruh isi record pada masing-masing tabel.
6.
Ubah size pada field “nama” tabel dokter, menjadi size = “45”.
7.
Tampilkan isi record tabel dokter dengan nama dokter =”Sri Putri”.
8.
Tampilkan hanya field “noperiksa”, “nama”(diambil dari
tabel
dokter),
“biaya_konsultasi”, “tgl_periksa” dengan menggunakan fungsi inner join.
9. Tampilkan hanya field “noperiksa”, “nama”(diambil dari tabel dokter),
“biaya_konsultasi”, “tgl_periksa”, “total_biaya”. Total_biaya merupakan alias yang
dibuat (total_biaya didapat dari biaya_konsultasi+biaya), gunakan fungsi inner join.
137
10. Tampilkan hanya field “noperiksa”, “nama”(diambil dari tabel dokter),
“biaya_konsultasi”, “tgl_periksa”, “total_biaya” “bonus”. Total_biaya merupakan
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”).
gunakan fungsi inner join untuk mendapatkan hasilnya.
138
PERTEMUAN 13 SAMPAI PERTEMUAN 15 PRESENTASI PROJECT
139
DAFTAR PUSTAKA
Nugroho, Bunafit. 2008. Panduan Lengkap Menguasai Perintah SQL. Media Kita. Jakarta. Prasetyo, Didik Dwi. 2003. Belajar Sendiri Administrasi Basis Data Server Mysql. PT Elex Media Komputindo. Jakarta. Priyadi, Yudi. 2014. Kolaborasi SQL & ERD dalam Implementasi Database. CV Andi Offset. Yogyakarta. Jakarta. Wahana Komputer. 2010. Panduan Belajar MySQL Basis Data Server. Mediakita. Jakarta.