Anda di halaman 1dari 67

LABORATORIUM KOMPUTER

FMIPA - UNIVERSITAS HAMZANWADI Refisi ke- : 2

Hari/Tgl : 4 Desember 2020

MODUL PRAKTIKUM
BASIS DATA
PROGRAM STUDI PENDIDIKAN INFORMATIKA

BAIQ DESI DWI ARIANTI, S.Kom., M.T


JAMALUDDIN, S.Pd.T., M.Eng
HERI KUSWANTO, M.Pd

Data Manipulation Language DML


Pengenalan Basis Data DATABASE DDL Data Definition Language

Data Base Management System


DBMS Web dengan BASIS DATA
DAFTAR ISI
COVER
DAFTAR ISI .................................................................................................................. i
PETUNJUK PRAKTIKUM .......................................................................................... iii
MODUL 1
Pengenalan Ruang Lingkup SQL
- Lingkungan kerja aplikasi DBMS ............................................................................... 1
- MySQL ........................................................................................................................ 1
- Instalasi XAMPP sebagai SQL client .......................................................................... 2
MODUL 2
Database dan Tabel (1)
- Data Base ..................................................................................................................... 12
- Tabel ............................................................................................................................ 13
- DESC Tabel ................................................................................................................. 15
- Hapus Tabel ................................................................................................................. 15
- NULL dan Not NULL ................................................................................................. 15
- Nilai Default ................................................................................................................ 15
- Primary Key ................................................................................................................. 16
- INDEX ......................................................................................................................... 17
MODUL 3
Manipulasi dan Retrieve Data (1)
- INSERT ....................................................................................................................... 20
- DELETE ...................................................................................................................... 20
- UPDATE ..................................................................................................................... 20
- SELECT ....................................................................................................................... 21
MODUL 4
Manipulasi dan Retrieve Data (2)
- Logika AND, OR dan NOT ......................................................................................... 23
- Subquery IN dan NOT IN ........................................................................................... 24
- EXISTS dan NOT EXISTS ......................................................................................... 24
- ANY dan ALL ............................................................................................................. 25
- ORDER BY ................................................................................................................. 25
- DISTINCT ................................................................................................................... 26
- BETWEEN dan NOT BETWEEN .............................................................................. 26
- LIKE dan NOT LIKE .................................................................................................. 27
MODUL 5
Manipulasi dan Retrieve Data (3)
- UNION ........................................................................................................................ 30
- UNION ALL ................................................................................................................ 31
- INTERSECT ................................................................................................................ 32
- EXCEPT ...................................................................................................................... 32
- ARITMATIKA ............................................................................................................ 33
- Fungsi AGREGAT ...................................................................................................... 34
- SUM ............................................................................................................................. 34
- AVG ............................................................................................................................. 35
- MIN ............................................................................................................................. 36
- MAX ............................................................................................................................ 36
MODUL 6
Manipulasi dan Retrieve Data (4)
- GROUP BY ................................................................................................................. 39
i
- HAVING ..................................................................................................................... 39
- PATTERN MATCHING ............................................................................................. 40
- JOIN ............................................................................................................................. 40
MODUL 7
Rasional Data Base ........................................................................................................ 45
MODUL 8
Web dengan DATABASE (1)
- Membuat Koneksi ........................................................................................................ 48
- Menampilkan data tabel ke halaman web .................................................................... 49
MODUL 9
Web dengan DATABASE (2)
- Membuat link halaman tambah data ............................................................................ 52
- Membuat form tambah data ......................................................................................... 52
- Membuat halaman proses tambah data ........................................................................ 54
MODUL 10
Web dengan DATABASE (3)
- Membuat link halaman edit data ................................................................................. 56
- Membuat form edit data .............................................................................................. 57
- Membuat halaman proses edit data ............................................................................. 59
MODUL 11
Web dengan DATABASE (2)
- Membuat link halaman hapus data .............................................................................. 61
- Membuat halaman proses hapus data .......................................................................... 62

ii
PETUNJUK PRAKTIKUM
1. Peralatan dan Bahan
a. Perangkat komputer/ PC/ Laptop/ Notebook / Netbook
b. Sistem operasi Windows
c. MySQL versi 5.0 atau di atasnya (sebagai engine basis data)
d. XAMPP sebagai client server basis data
2. Keselamatan Kerja
a. Baca dan pahami semua langkah kerja dari praktikum ini dengan cermat
b. Pastikan diri anda terlindung dari efek kejutan listrik yang dapat dikarenakan oleh
grounding instalasi listrik yang tidak sempurna
3. Langkah Kerja
a. Siapkan alat dan bahan praktik
b. Selalu memperlihatkan keselamtan kerja
c. Jalankan perangkat lunak MySQL dengan menggunakan tools XAMPP
d. Organisasikan dengan baik folder pribadi anda untuk masing-masing modul
praktikum

iii
MODUL 1
PENGENALAN DAN RUANG LINGKUP SQL
KAD : Setelah menyelesaikan modul ini, mahasiswa mengenal, mengetahui dan mempu
melakukan instalasi tools pemrograman SQL
1. TUJUAN
Setelah menyelesaikan modul ini, anda diharapkan :
a. Mengenal, mengetahui lingkungan kerja perangkat lunak sistem manajemen basis
data
b. Mampu melakukan instalasi tools pemrograman Basis Data MySQL/ XAMPP*
c. Mengenal perintah – perintah sederhana di MySQL/XAMPP*

2. TUGAS PENDAHULUAN
a. Apa yang anda ketahui tentang MySQL?
b. Apa perbedaan instalasi MySQL pada operating system Windows dan Linux?
c. Sebutkan operator dan fungsi pada MySQL!
d. Apa yang anda ketahui tentang XAMPP dan MySQL?

3. DASAR TEORI
a. Pengenalan Basis Data, DBMS, RDBMS
Basis data adalah kumpulan data yang saling berhubungan yang diorganisasikan
sedemikian rupa sehingga dapat diolah menjadi informasi yang disimpan pada media
elektronik. Sedangkan untuk mengelola basis data diperlukan perangkat lunak DBMS
(Database Management System) yang merupakan suatu sistem perangkat lunak yang
memungkinkan user (pengguna) untuk membuat, memelihara, mengontrol, dan
mengakses basis data secara praktis dan efisien. Salah satu DBMS yang mendukung
adanya relationship antar tabel suatu basis data adalah RDBMS. Selain RDBMS,
terdapat pula jenis DBMS lain antara lain Hierarchy DBMS, Object Oriented DBMS,
dsb. Beberapa software atau perangkat lunak DBMS yang sering digunakan dalam
aplikasi program antara lain :
• DB2 - http://www-306.ibm.com/software/data/db2/
• Microsoft SQL Server - http://www.microsoft.com/sql/
• Oracle - http://www.oracle.com
• Sybase - http://www.sybase.com/
• Interbase - http://www.borland.com/interbase
• Teradata - http://www.teradata.com/
• Firebird - http://www.firebirdsql.org/
• MySQL – http://www.mysql.com
• PostgreSQL - http://www.postgresql.org/
b. MySQL
MySQL dikembangkan sekitar tahun 1994 oleh sebuah perusahaan pengembang
perangkat lunak dan konsultan basis data bernama MySQL AB yang berada di

1
Swedia. MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi GNU
General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial
untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.
Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah:
David Axmark, Allan Larsson, dan Michael "Monty" Widenius. Fitur-fitur MySQL
antara lain :
- Relational Database System. Seperti halnya software database lain yang ada di
pasaran, MySQL termasuk RDBMS.
- Arsitektur Client-Server. MySQL memiliki arsitektur client-server dimana
server database MySQL terinstal di server. Client MySQL dapat berada di
komputer yang sama dengan server, dan dapat juga di komputer lain yang
berkomunikasi dengan server melalui jaringan bahkan internet.
- Mengenal perintah SQL standar. SQL (Structured Query Language) merupakan
suatu bahasa standar yang berlaku di hampir semua software database. MySQL
mendukung SQL versi SQL:2003.
- Mendukung Sub Select. Mulai versi 4.1 MySQL telah mendukung select dalam
select (sub select).
- Mendukung Views. MySQL mendukung views sejak versi 5.0
- Mendukung Stored Prosedured (SP). MySQL mendukung SP sejak versi 5.0
- Mendukung Triggers. MySQL mendukung trigger pada versi 5.0 namun masih
terbatas. Pengembang MySQL berjanji akan meningkatkan kemampuan trigger
pada versi 5.1.
- Mendukung replication.
- Mendukung transaksi.
- Mendukung foreign key.
- Format Perintah MySQL
Berikut merupakan beberapa ketentuan untuk memberi perintah pada MySQL antara
lain :
- Setiap perintah harus diakhiri dengan tanda titik koma, kecuali untuk perintah
tertentu misal exit.
- Setiap perintah akan disimpan dalam buffer (memori sementara) untuk
menyimpan histori perintah – perintah yang pernah diberikan.
- Perintah dapat berupa perintah SQL atau perintah khusus MySQL.
- Perintah – perintah dalam lingkungan MySQL tidak menerapkan aturan case
sensitive, tetapi insensitive yaitu perintah bisa dituliskan dalam huruf besar
ataupun huruf kecil.
- Aturan case sensitive diterapkan pada penamaan objek – objek dalam basis data
seperti nama basis data atau tabel.

c. INSTALASI DBMS
Seperti yang telah dijelaskan di atas, banyak sekali perangkat lunak – perangkat lunak
untuk pengelolaan basis data, salah satunya adalah XAMPP. XAMPP merupakan
perangkat lunak web server apache yang di dalamnya sudah menyediakan paket
perangkat lunak lain ke dalam satu buah paket yaitu database server MySQL dan

2
mendukung pemrograman PHP. XAMPP merupakan software yang mudah
digunakan, dan mendukung instalasi di Linux dan Windows. Keuntungan lainnya
adalah cuma menginstal satu kali sudah tersedia Apache Web Server, MySQL
Database Server, . Dulu XAMPP untuk Linux dinamakan LAMPP, sekarang diganti
namanya menjadi XAMPP FOR LINUX.

Gambar 1. Logo XAMPP


Dengan menginstall XAMPP maka tidak perlu lagi melakukan instalasi dan
konfigurasi web server Apache, PHP dan MySQL secara manual. XAMPP akan
menginstalasi dan mengkonfigurasikannya secara otomatis.

4. PRAKTIKUM
a. Kegiatan Praktik :
➢ Download dan Instalasi Paket XAMPP
0. Kunjungi halaman situs XAMPP di
https://www.apachefriends.org/download.html
1. Pilih salah satu jenis XAMPP yang ingin anda download, tergantung pada
sistem operasi yang anda gunakan. Jika IOS pilih XAMPP for IOS, jika
windows pilih XAMPP for windows.
2. Pilihlah XAMPP for windows, karena kita akan mengintal XAMPP di
windows. Kemudian pilih versi XAMPP yang akan anda download (tips: jika
Anda bingung, bisa pilih yang versi 5.6 dulu).

3. Dobel klik file XAMPP yang baru saja Anda download, nanti selanjutnya akan
muncul jendela “installer language” seperti di bawah ini
3
4. Selanjutnya pilih bahasa. Pilih yang bahasa inggris, kemudian klik tombol OK
5. Kadang pada proses ini muncul pesan error. Jika ada, abaikan saja dan lanjut
klik OK dan YES

6. Berikutnya akan muncul jendela yang isinya meminta anda untuk menutup
semua aplikasi yang sedang berjalan. Jika semua aplikasi sudah ditutup, maka
klik tombol Next

4
7. Selanjutnya anda akan diminta memilih aplikasi yang mau diinstal, centangt
saja semua pilihan dan klik tombol Next

8. Kemudian anda akan diminta untuk menentukan lokasi folder penyimpanan


file-file dan folser XAMPP. Secara default akan diarahkan ke lokasi c:\xampp
namun jika anda ingin menyimpannya di folder yang lain, anda bisa klik
tombol browse dan tentukan secara manual folder yang ingin digunakan. Jika
sudah selesai, lanjut dan klik tombol Install

9. Tunggu beberapa menit hingga proses instalasi selesai. Jika sudah, akan
muncul jendela seperti di bawah ini, kemudian flik tombol Finish untuk
menyelesaikannya

5
10. Berikutnya akan muncul jendela dialog seperti gambar di bawah ini yang akan
menanyakana apakah anda ingin langusng menjalankan aplikasi XAMPP atau
tidak. Klik tombol YES untuk menjalankan xampp kontrol panel

➢ Konfigurasi XAMPP control Panel


1. Bukalah aplikasi XAMPP, bisa melalu Start Menu atau Desktop dan klik
icon XAMPP control panel pada layar desktop anda, atau jika anda
membukanya begitu proses instalasi selesai maka klik yes seperti pada gambar
di atas

2. Setelah XAMPP control panel terbuka, kemudian klik tombol Start pada
kolom Actions sehingga tombol tersebut berubah menjadi Stop. Klik tombol
start untuk Apache dan MySQL karena pada praktikum ini kita hanya akan
memakai dua hal tersebut saja

6
3. Sekarang bukalah browser dan ketikkan localhost/xampp di address bar
browser yang anda gunakan. Jika muncul tampilan seperti di bawah ini,
instalasi berhasil

4. Kemudian untuk memasuki konfigurasi ke pembuatan database, kita harus


memasuki menu admin dengan cara klik menu phpmyadmin pada bar menu

7
kiri atau dengan ketik alamat localhost/phpmyadmin pada adress bar browser
anda, kemudian tekan enter

5. Jika berhasil maka anda akan dialihkan ke halaman admin database seperti
gambar di bawah ini

➢ Mengatasi Apache dan MySQL pada XAMPP control panel yang error atau tidak
bisa running
Permasalahan yang sering muncul ketika instalasi XAMPP adalah ketika menjalankan
actions start untuk modul Apache dan MySQL hal ini tidak bisa dilakukan, dan akan muncul
pesan error seprti gambar di bawah ini :

8
Hal ini terjadi akibar port yang digunakan untuk menjalankan Apache sibuk atau telah
digunakan oleh aplikasi lain. Erro ini bisa diatasi dengan acara mengubah port atau jalur yang
akan digunakan oleh Apache. Langkah-langkah untuk mengubah port tersebut adalah sebagai
berikut :
1. Lakukan perubahan pada file httpd.conf, dengan cara mengklik tombol config pada
menu Apache

2. Cari kata “Listen 80” dan ubahlah menjadi “Listen 8080“.

3. Kemudian masih di file yang sama, carilah kata “ServerName localhost:80” kemudian
ubahlah menjadi “ServerNamelocalhost:8080“.

9
4. Lalu Simpan dan tutup jendela notepad. Biasanya dengan mengubah jalur port pada
config apache akan berhasil dijalankan. Akan tetapi jika masih tidak bisa runing, perlu
penambahan perubahan pada menu konfigurasi yang lain
5. Selanjutnya, buka file httpd-ssl.conf

6. Carilah kata “Listen 443” dan ubah menjadi “Listen 4499“.

7. Masih di file yang sama, dan carilah kata “<virtualhost_default_:443>” kemudian


ubahlah menjadi “virtualhost_default_:4499“

10
8. Masih di file yang sama, carilah kata “ServerName localhost:443” dan ubahlah
menjadi “ServerName localhost:4499“
9. Sekarang jalankan XAMPP Contol Panel, lalu klik Start pada Apache. Jika muncul
peringatan di kotak detail bagian bawah “Apache started [port 80]“, maka bukalah
browser dan arahkan ke alamat http://localhost:8080/ Jika berhasil maka Web Service
Apache tersebut telah berjalan di port 8080

11
MODUL 2
DATABASE DAN TABEL
KAD : setelah menyelesaikan modul ini, mahasiswa dapat membuat database dan tabel
dengan menggunakan Data Definition Language (DDL) dan mampu memodifikasi tabel
1. TUJUAN
Setelah menyelesaikan modul ini, mahasiswwa diharapkan mampu
a. Membuat database dan tabel dengan menerapkan Data Definition Language (DDL)
b. Mampu memodifikasi tabel
2. TUGAS PENDAHULUAN
a. Apa yang anda ketahui tentang databse dan tabel? (jelaskan perbedaanya)
b. Apa yang anda ketahui tentang DDL?
c. Sebutkan contoh perintah DDL?
3. DASAR TEORI
DDL (Data Definition Languange) merupakan sekumpulan set perintah yang
bertujuan untuk mendefinisikan atribut – atribut database, tabel, atribut kolom (field),
maupun batasan – batasan terhadap suatu atribut dan relasi/hubungan antar tabel. Yang
termasuk dalam kelompok perintah DDL adalah : CREATE, ALTER, dan DROP.
- CREATE merupakan perintah DDL yang digunakan untuk membuat database
maupun tabel. Nama database maupun tabel tidak boleh mengandung spasi (space).
Nama database tidak boleh sama antar database.
- ALTER merupakan perintah DDL yang digunakan untuk mengubah nama/struktur
tabel.
- DROP merupakan perintah DDL yang digunakan untuk menghapus database
ataupun tabel.

a. DATABASE
Buka browser anda dan ketikan pada adress bar browser anda
localhost/phpmyadmin, kemudian klik tombol SQL pada menu, seperti yang terlihat
pada gambar berikut ini :

12
- Syntax untuk membuat database sebagai berikut :
CREATE DATABASE namadatabase;
Contoh kita akan membuat database dengan nama “hamzanwadi”, maka
syntaxnya menjadi :
CRATE DATABASE hamzanwadi;
Pada form yang ada di menu SQL ketikkan syntax di atas, kemudian klik tombol
kirim, seperti pada gambar berikut ini :

- Syntax tambahan untuk menampilkan daftar nama database yang terdapat pada
server MySQL yaitu :
SHOW DATABASES;
- Sebelum kita membuat suatu tabel yang digunakan untuk menyimpan data,
terlebih dahulu harus memilih atau mengaktifkan salah satu database aktif yang
akan kita gunakan untuk menyimpan beberapa tabel yang akan kita buat. Untuk
mengaktifkan salah satu database menggunakan syntax :
USE namadatabase;
Contoh, kita akan mengaktifkan database hamzanwadi, maka syntaxnya menjadi
: USE hamzanwadi;
- Syntax untuk menghapus database
DROP DATABASE namadatabase;
Contoh kita akan menghapus database hamzanwadi, maka syntaxnya menjadi:
DROP DATABASE hamzanwadi;
NOTE : menggunakan perintah DROP pada database akan menghapus seluruh isi
dan data yang ada pada database tersebut

b. TABEL
- Membuat tabel
Ketentuan dalam membuat tabel :

13
a. Nama tabel tidak boleh menggunakan spasi
b. Dalam membuat tabel ada beberapa hal yang harus dideklarasikan dalam
pembuatannya, antara lain : nama tabel, nama field (kolom), type data
dari field dan panjang data
c. Pastikan sudah masuk ke database yang akan kita buat tabel di dalamnya
d. Format syntax untuk membuat tabel :
CREATE TABEL namatabel (namafield1 typedata1
(panjangdata1), namafield2 typedata2
(panjangdata2), ... namafieldN typedataN
(panjangdataN));
Contoh kita akan membuat tabel dengan ketentuan sebagai berikut :
- Nama tabel : mahasiswa
- Kolom 1: npm, type data integer, panjang data 6, sebagai primay
key
- Kolom 2 : nama_mhs, type data varchar, panajang data 50
- Kolom 3 : login, varchar, 20
- Kolom 4 : pass, varchar, 20
- Kolom 5 : umur, integer, 2
- Kolom 6 : IPK, real
Maka syntaxnya menjadi :
CREATE TABLE mahasiswa (npm INT (6), nama_mhs
VARCHAR (50), login VARCHAR(20), pass VARCHAR(20),
umur INT (2), IPK real, PRIMARY KEY(npm));

- Menampilkan tabel
Untuk menampilkan daftar nama tabel yang terdapat dalam database yang
sedang aktif/digunakan menggunakan perintah : SHOW TABLES;
14
Ketik perintah tersebut pada form SQL seperti saat membuat tabel
- Menampilkan deskripsi atribut tabel
Untuk menampilkan deskripsi atribut – atribut yang terdapat pada suatu tabel
dengan menggunakan perintah: DESC namatabel;
Misalkan DESC mahasiswa;

- Menghapus tabel
Untuk menghapus Tabel perintahnya sama dengan untuk menghapus database
yaitu dengan menggunakan perintah DROP. Syntax yang digunakan adalah:
DROP TABLE namaTabel;
Tabel yang akan dihapus harus sesuai dengan nama tabel. Misal kita akan
menghapus tabel mahasiswa, maka syntax nya adalah:
DROP TABLE mahasiswa;
- Mendefiniskan NULL dan Not NULL
Null ataupun Not Null merupakan pernyataan yang digunakan untuk membuat
kolom yang kita buat boleh kosong (Null) atau tidak boleh kosong (Not Null).
Ketika pada kolom tabel tidak diset, maka secara default akan bernilai Null
(boleh kosong). Untuk mendefinisikannya maka perintah yang digunakan adalah
sebagai berikut :
CREATE TABEL mahasiwa (npm INT (20) NOT NULL, nama_mhs char
(50) NOT NULL, umur INT, IPK real, PRIMARY KEY (npm));
- Mendefiniskan nilai default
Nilai default merupakan nilai yang diberikan secara otomatis oleh sistem untuk
suatu kolom ketika terjadi penambahan baris baru, sementara nilai pada kolom
tersebut tidak diisi oleh pengguna. Contohnya adalah
CREATE TABEL mahasiwa (npm INT (20) NOT NULL, nama_mhs char
(50) NOT NULL, umur INT DEFAULT 0, IPK real, PRIMARY KEY
(npm));

15
- Mendifinisikan PRIMARY KEY pada tabel
Suatu keharusan dalam suatu tabel adalah harus memiliki satu kolom yang
dijadikan sebagai perwakilan dari tabel tersebut. Pembuatan perwakilan tabel ini
berfungsi untuk melakukan hubungan/relasional dengan tabel lain. Bentuk
perwakilan ini dalam database disebut sebagai PRIMARY KEY yang aturan
pembuatannya adalah sebagai berikut:
a. Satu tabel hanya diperbolehkan memiliki satu kolom kunci.
b. Nama kolom kunci tidak digunakan pada kolom lain dalam satu tabel
c. Nama kolom kunci tidak boleh sama dengan kolom kunci yang ada pada
tabel lain
d. Bentuk kolom kunci harus diset NOT NULL.
Terdapat tiga cara untuk mendefinisikan primary key. Berikut ini syntax
yang digunakan:
1. CREATE TABEL mahasiwa (npm INT (20), nama_mhs char (50)
NOT NULL, umur INT DEFAULT 0, IPK real, PRIMARY
KEY(npm));
2. CREATE TABEL mahasiwa (npm INT (20) NOT NULL PRIMARY
KEY, nama_mhs char (50) NOT NULL, umur INT DEFAULT 0,
IPK real, (npm));
3. ALTER TABEL mahasiswa ADD CONSTRAINT namaconstrain
PRIMARY KEY (namakolom);
- Menghapus primary key pada tabel
1. ALTER TABEL namatabel DROP CONSTRAINT namaconstraint;
2. ALTER TABEL namatabel DROP PRIMARY KEY;
- Menambah kolom baru pada tabel
NOTE : untuk mengubah tabel, pastikan anda sudah masuk ke dalam tabel yang
ingin diubah, dapat dilihat pada gambar berikut :

Pada saat kita membuat tabel terkadang kita ingin menambahkan kolom lagi
pada tabel yang sudah kita buat. Dalam database, hal ini dapat dilakukan dengan
menggunakan perintah sebagai berikut:
ALTER TABLE namatabel ADD COLUMN namakolombaru typedata
(ukuran);
Namatabel merupakan nama tabel yang akan ditambahkan kolomnya.
namakolombaru merupakan nama kolom yang akan ditambahkan, typedata
(lebar) merupakan type data dan lebar data yang akan ditambahkan. Misal kita
akan menambahkan kolom telepon pada tabel mahasiswa setelah kolom umur:
ALTER TABLE mahasiswa ADD COLUMN telepon CHAR (15) AFTER
umur;
- Mengubah tipe data atau lebar kolom pada tabel.
ALTER TABLE namatabel MODIFY COLUMN namakolombaru typedata
(ukuran);

16
Contoh :
ALTER TABLE mahasiswa MODIFY COLUMN telepon (12);
- Mengubah nama kolom
ALTER TABLE namatabel CHANGE COLUMN namakolomlama
namakolombaru typedata (ukuran);
Contoh :
ALTER TABLE mahasiswa CHANGE COLUMN telepon hp CHAR (25);
- Menghapus kolom pada tabel
ALTER TABLE namatabel DROP COLUMN namakolom;
Contoh :
ALTER TABLE mahasiswa DROP COLUMN hp;
- Membuat dan menghapus INDEX
Index berfungsi untuk mempercepat proses pencarian data dalam suatu tabel.
Dengan adanya index pada suatu field tabel menyebabkan proses pencarian
otomatis akan dilakukan terlebih dahulu ke dalam index, apabila ditemukan baru
akan diambilkan data sesungguhnya dari tabel, apabila tidak ditemukan dalam
index, sudah dapat dipastikan bahwa data tersebut tidak ada dalam tabel.
Terdapat perintah untuk membuat dan menghapus index, tapi tidak ada perintah
untuk merubah index. Perhatikan contoh berikut :
CREATE INDEX namaindex namatabel (namakolom);
CREATE INDEX IDXNPM mahasiswa (npm);
Atau
ALTER TABLE namatabel ADD INDEX namaindex (namakolom);
ALTER TABLE mahasiswa ADD INDEX IDXNPM (npm);
Untuk menghapus
DROP INDEX namaindex ON namatabel;
DROP INDEX IDXNPM on mahasiswa;
ALTER TABLE namatabel DROP INDEX namaindex;
ALTER TABLE mahasiswa DROP INDEX IDXNPM;

4. PRAKTIKUM
a. Buatlah sebuah database dengan nama db_universitas atau db_nama_mhs
b. Buatlah beberapa tabel dalam database tersebut sesuai dengan kriteria berikut :
- Tabel mahasiswa
Field Type Data
NPM Int (8) Primary Key
nama_mhs Char (50)
sex Enum (‘L’,’P’) DEFAULT ‘L’
alamat Varchar (50)
kota Varchar (20) DEFAULT ‘Selong’
asal_sma Char (30)
nohp Varchar (12)
login Char (20)
pass Char (20)
umur Integer
prodi Char(30)

17
- Tabel mata_kuliah
Field Type Data
mk_id INT (10) Primary Key
nama_mk Char (50)
jumlah_jam Float (4,2)
sks Integer
*1 SKS = 13,33 jam; 2 SKS = 26,66 jam; 3 SKS = 40 jam; 4 SKS = 53,33 jam

- Tabel ruangan
Field Type Data
ruang_id INT (3) Primary Key
nama_ruang Char (20)
Kapasitas Integer

- Tabel dosen
Field Type Data
NIDN Int (11) Auto Increment Primary Key
inisial Char (3) UNIQUE KEY
nama_dosen Char (50)
status Enum (‘T’,‘LB’) Default ‘T’
sex enum (‘L’, ‘P’) Default ‘L’
agama Char (20)
login Char (20)
pass Char (20)
alamat Varchar (50)
kota Varchar (20) Default ‘Selong’
email Varchar (50)
nohp Varchar (12)
salary Int

- Tabel mengajar
Field Type Data
id_mengajar Int (10) Auto Increment Primary Key
jam_ke Integer
Hari Varchar (10)
mk_id Char (10) foreign key fk1
(mk_id)references mata_kuliah (mk_id)
inisial Char (3) foreign key fk2
(inisial)references dosen (inisial)
kode_prodi Char (6) foreign key fk3
(kode_prodi)references prodi (kode_prodi)
ruang_id Char (3)foreign key fk4 (ruang_id)references
ruang (ruang)id)
- Tabel nilai
Field Type Data
npm Int foreign key fk5 (nim) references
mahasiswa (nim)
mk_id Char (10) foreign key fk6 (mk_id)
references mata_kuliah(mk_id)

18
kode_prodi Char (6) foreign key fk7 (kode_prodi)
references prodi(kode_prodi)
inisial Char (3) foreign key fk8
(inisial)references dosen (inisial)
nilai_uts Integer (3)
nilai_uas Integer (3)
nilai_akhir Integer (3)

c. Tambahkan sebuah kolom Agama (varchar (10)) pada tabel mahasiswa sebagai
kolom terakhir.
d. Tambahkan kolom rid(Char 10) di awal kolom (sebagai kolom pertama) pada
tabel ruang.
e. Sisipkan sebuah kolom dengan nama grade (char) pada tabel nilai setelah kolom
inisial.
f. Ubah mana tabel mahasiswa menjadi student.
g. Jadikan nim sebagai primary key pada table mahasiswa.

5. EVALUASI DAN PERTANYAAN


a. Tulisakan perintah-perintah SQL untuk percobaan di atas beserta outputnya
b. Apakah yang dimaksud dari CHAR (10)?
c. Pada saat kita melihat struktur tabel dengan perintah DESC, terdapat kolom NULL
yang berisi YES dan NO. Apa maksudnya?

6. STUDI KASUS
a. Tentukan kunci utama pada masing-masing tabel
b. Tentukan kunci tamu pada tabel mengjajar dan tabel nilai

7. KESIMPULAN

19
MODUL 3
MANIPULASI DAN RETRIEVE DATA (1)
KAD : setelah menyelesaikan modul ini, mahasiswa diharapkan dapat mengenal Data
Manipulation Language (DML) dan menggunakannya, mampu mengelola record
dan retrieve data
1. TUJUAN
a. Menerapkan perintah-perintah SQL seperti INSERT, DELETE, UPDATE maupun
SELECT untuk memanipulasi data dalam database
2. TUGAS PENDAHULUAN
-
3. DASAR TEORI
DML (Data Manipulation Language) merupakan kelompok perintah yang berfungsi
untuk memanipulasi data dalam database. Contohnya untuk memasukkan, pengambilan,
pengubahan maupun penghapusan data. Perintah yang termasuk dalam DML adalah
INSERT, DELETE, UPDATE, dan SELECT
a. INSERT
Perintah INSERT bertujuan untuk menambahkan record data pada suatu tabel.
Terdapat beberapa cara untuk menambahkan record, yaitu:
b. Cara 1 : menambahkan record dengan mengisi data pada setiap kolom
INSERT INTO namatabel VALUES (nilai1, nilai 2, .... ,
nilai-n);
c. Cara 2 : menambahkan baris dengan hanya mengisi pada kolom tertentu :
INSERT INTO namatabel (namakolom1, namakolom2, ....,
namakolom-n) VALUES (nilai1, nilai 2, ...., nilai-n);
NOTE : Jika data bertipe string, date, atau time (contoh : didi, basis data, 1984- 03-
18) maka pemberian nilainya diapit menggunakan tanda petik tunggal
(‘Didi’) atau petik ganda (“Basis Data”). Jika data bertipe numerik
(29, 4) maka pemberian nilainya tidak diapit tanda petik tunggal maupun
ganda.
b. DELETE
Perintah DELETE digunakan untuk menghapus satu baris, baris dengan kondisi
tertentu maupun seluruh baris. Syntax yang digunakan:
DELETE FROM namatabel WHERE [kondisi];
Perintah dalam tanda [ ] bersifat pilihan/opsional untuk menghapus suatu baris
dengan kondisi tertentu yang dipersyaratkan. Contoh perintah untuk menghapus
suatu baris dalam tabel dengan kondisi persyaratan tertentu :
DELETE FROM mahasiswa WHERE npm 17810002;
c. UPDATE
Perintah UPDATE digunakan untuk mengubah isi data pada satu atau beberapa
kolom pada suatu tabel. Syntax yang digunakan secara umum adalah sebagai berikut:
UPDATE namatabel SET namakolom1 = nilai1, namakolom2 = nilai1,
..., namakolom-n = nilai-n;

20
Perintah dalam tanda [ ] bersifat pilihan/opsional untuk mengubah suatu baris dengan
kondisi tertentu yang dipersyaratkan.
d. SELECT
Perintah SELECT digunakan untuk menampilkan isi dari suatu tabel yang dapat
dihubungkan dengan beberapa tabel lainnya.
- Menampilkan data semua kolom dengan menggunakan asterisk (*) :
SELECT * FROM namatabel;
- Menampilkan data untuk field/kolom tertentu :
SELECT namakolom1, namakolom2, namakolom-n FROM
namatabel;
- Menampilkan data dengan kondisi tertentu menggunakan klausa WHERE:
SELECT * FROM namatabel WHERE kondisi;
NOTE : Beberapa operator perbandingan yang dapat digunakan pada klausa
WHERE adalah “=” (sama dengan), > (kurang dari), < > (tidak sama
dengan), >= (lebih dari sama dengan), <= (kurang dari sama dengan).
Adapun operator lain yaitu : AND, OR, NOT, BETWEEN-AND, IN
dan LIKE.

4. PRAKTIKUM
a. Aktifkan database db_universitas atau db_nama_mahasiswa
b. Isikan data-data (record) ke dalam tabel mahasiswa :
INSERT INTO mahasiswa VALUES
('13120001','LULU', 'P', 'Jl. Cinta’, 'Masbagik', 'SMA 1 Selong’,
‘0818036’, ‘lulu’, ‘lulu’, ‘18’, ‘S1 Pendidikan Informatika’),
('13120002','BENY', 'L', 'Jl. Rindu’, 'Jobong', 'SMA 1 Sakra’,
‘0818037’, ‘beny’, ‘beny’, ‘18’, ‘S1 Pendidikan Informatika’),
('13120003','CIKA', 'P', 'Jl. Sayang’, 'Pancor', 'SMA 1 Selong’,
‘0818038’, ‘cika’, ‘cika’, ‘17’, ‘S1 Pendidikan Matematika’),
('13120004','DONI', 'P', 'Jl. Kangen’, 'Rarang', 'SMA 1 Terara’,
‘0818039’, ‘doni’, ‘doni’, ‘17’, ‘S1 Pendidikan Matematika’);
c. Isikan data berikut ke dalam tabel dosen :
INSERT INTO dosen VALUES
(‘1’, ‘DDA’, ‘Baiq Desi Dwi Arianti’, ‘T’, ‘P’, ‘Islam’, ‘echi’,
‘echi’, ‘Jl. Jalan No. 12A’, ‘Rarang’,
‘ariantibaiq@hamzanwadi.ac.id’, ‘081234567’, ‘1400000’),
(‘2’, ‘YNK’, ‘Yosi Nur Kholisho’, ‘T’, ‘P’, ‘Islam’, ‘yosi’, ‘yosi’,
‘Jl. TGKH 15C’, ‘Selong’, ‘yosi@hamzanwadi.ac.id’, ‘081234568’,
‘1500000’),
(‘3’, ‘RHW’, ‘Rasyid Hardi Wirasasmita’, ‘T’, ‘L’, ‘Islam’, ‘achid’,
‘achid’, ‘Jl. Jomblo No. 17G’, ‘Pancor’,
‘achidgagalganteng@hamzanwadi.ac.id’, ‘081234569’, ‘1800000’),
(‘4’, ‘MZU’, ‘Muhammad Zamroni Uska’, ‘T’, ‘L’, ‘Islam’, ‘uska’,
‘uska’, ‘Jl. Jones No. 28M’, ‘Pancor’,
‘onieyangcelalucalah@hamzanwadi.ac.id’, ‘081234561’, ‘1300000’);
d. Lakukan insert data ke tabel-tabel lain sesuai dengan kolom, type data dan panjang
datanya masing-masing tabel
e. Ubah data salah satu nama mahasiswa (misal : LULU menjadi LALA)
f. Tampilkan satu baris data/record data yang telah diubah tadi yaitu record dengan

21
nama LALA saja
g. Hapus data mahasiswa yang bernama LALA
h. Tampilkan record/data mahasiswa yang usianya lebih dari atau sama dengan 17
i. Tampilkan semua data dosen yang berjenis kelamin Pria dan agamanya Islam
j. Dengan menggunakan perintah SELECT, tampilkan semua nama dosen yang
berstatus Tetap dengan agamanya Islam atau dosen Luar Biasa(LB) dengan agama
Kristen

5. EVALUASI DAN PERTANYAAN


a. Tulis semua perintah SQL percobaan di atas beserta outputnya
b. Sampikan kesimpulan anda pada kolom kesimpulan

6. STUDI KASUS
-
7. KESIMPULAN

22
MODUL 4
MANIPULASI DAN RETRIEVE DATA (2)
KAD : setelah menyelesaikan modul ini mahasiswa diharapakan mampu mencari dan
menampilkan data dengan perintah SELECT, mampu mengkombinasikan perintah
SELECT dengan perintah lainnya

1. TUJUAN
Setelah menyelesaikan modul ini, mahasiswa diharapkan dapat :
a. Mencari dan menampilkan data dengan perintah SELECT
b. Mengkombinasikan perintah SELECT dengan perintah lainnya menggunakan klausa
WHERE untuk manipulasi data dengan syarat atau kondisi tertentu : SORT BY,
DISTINCT, BETWEEN, AND & OR

2. TUGAS PENDAHULUAN
-
3. DASAR TEORI
SELECT merupakan instruksi yang popular digunakan dalam SQL. Instruksi ini
berfungsi untuk memilih spesifik kolom dari satu atau beberapa tabel. Secara umum
instruksi SELECT adalah sebagai berikut :
SELECT namakolom1, namakolom2, ..., namakolom-n FROM
namatabel WHERE predikat/kondisi;
Jika klausa WHERE tidak digunakan atau diberikan, maka record atau data yang
diseleksi adalah seluruh data dalam tabel. Predikat atau kondisi yang diberikan setelah
klausa WHERE menyatakan kualifikasi dari record yang harus ditemukan, apabila
memenuhi syarat, maka record tersebut akan dipilih dan ditampilkan. Artinya, bahwa
dengan menggunakan klausa WHERE, maka seleksi yang dilakukan bukan pada seluruh
record, melainkan hanya pada record yang memenuhi syarat. Bentuk umum klausa
WHERE adalah sebagai berikut :
WHERE kolom <operator> <nilai>;
Beberapa operator yang berlaku meliputi :
No. Operator Arti
1 = Sama dengan
2 < > Tidak sama, atau dapat juga !=
3 < Kurang dari
4 <= Kurang dari sama dengan
5 > Lebih dari
6 >= Lebih dari sama dengan

Logika AND, OR dan NOT


Selain menggunakan operator di atas, klausa WHERE juga dapat digabungkan dengan
menggunakan logika AND, OR, dan NOT. Hal ini bertujuan untuk menggabungkan lebih
dari satu kondisi maupun negasi.

23
SELECT * merupakan karakter khusus yang menyatakan bahwa kolom yang akan dipilih
adalah seluruh kolom yang terdapat pada tabel tersebut, dengan kata lain * = semua/ all.
a. Memberi nama lain pada kolom
SELECT namakolomlama AS namakolombaru FROM namatabel;
Contoh:
SELECT salary AS Gaji FROM dosen;
b. Menggunakan alias untuk tabel
SELECT nama_alias .namakolom1, nama_alias .namakolom2
FROM namatabel nama_alias;
Contoh:
SELECT a .nama_mhs, a .alamat FROM mahasiswa a;
c. Menampilkan lebih dari dua tabel
SELECT * FROM namatabel1, namatabel2, namatabel-n;
Contoh :
SELECT * FROM mahasiswa, ruang, prodi;
d. Nested quieries/subquery (IN, NOT IN, EXISTS, NOT EXISTS)
Subquery dapat diartikan sebagai query dalam query. Dengan subquery, hasil dari
query akan menjadi bagian dari query di atasnya. Subquery terletak dalam klausa
WHERE atau HAVING. Pada klausa WHERE, subquery digunakan untuk
memilih baris – baris tertentu yang kemudian digunakan oleh query. Sedangkan pada
klausa HAVING, subquery digunakan untuk memilih kelompok baris yang
kemudian digunakan oleh query.
Contoh IN:
SELECT nama_mhs, alamat, kota FROM mahasiswa WHERE kota
IN (‘Masbagik’, ‘Rarang’);
Artinya akan menampilkan nama mahasiswa, alamat dan kota dari tabel mahasiswa
yang kotanya berasal dari Masbagik dan Rarang

Contoh NOT IN :
SELECT nama_mhs, alamat, kota FROM mahasiswa WHERE kota
NOT IN (‘masbagik’,’rarang’);
Menampilkan nama mahasiswa, alamat dan kota dari tabel mahasiswa yang bukan
berasal dari masbagik dan rarang

Contoh EXISTS :
SELECT * FROM mahasiswa AS a WHERE EXISTS (SELECT * FROM nilai

24
AS b WHERE a.NPM = b.NPM);
Contoh NOT EXISTS
SELECt * FROM mahasiswa AS a WHERE NOT EXISTS (SELECT * FROM
nilai AS b WHERE a.NPM = b.NMP);
e. Operator comparison ANY dan ALL
Operator ANY digunakan untuk menampilkan record yang terkait dengan instruksi
subquery. Operator ANY akan menghasilkan nilai TRUE (benar) jika paling tidak
salah satu perbandingan dengan hasil subquery menghasilkan nilai TRUE.
Contoh : ANY
SELECT d.nama_dosen, d.inisial FROM dosen d, mengajar m WHERE
d.inisial = m.inisial > ANY (SELECT m.inisial FROM mengajar
m);
Contoh ALL :
SELECT d.nama_dosen, d.inisial FROM dosen d, mengajar m WHERE
d.inisial = m.inisial > ALL (SELECT m.inisial FROM mengajar
m);
f. Penyusunan (Sort) menggunakan ORDER BY
Klausa ORDER BY digunakan untuk mengurutkan data berdasarkan kolom tertentu
sesuai dengan tipe yang dimiliki.
Contoh ORDER BY:
SELECT nama_dosen, inisial FROM dosen ORDER BY nama_dosen;

Data dosen yang ditampilkan akan diurutkan berdasarkan nama dosen sesuai abjad
Contoh lain menggunakan ASC (Ascending) : urutan naik
SELECT nama_dosen, inisial FROM dosen ORDER BY nama_dosen ASC;

25
atau DESC (Descending) : urutan turun
SELECT nama_dosen, inisial FROM dosen ORDER BY nama_dosen
DESC;

g. DISTINCT
Digunakan untuk menghilangkan nilai ganda, sehingga data yang ditampilkan
hanya data tunggal.
Contoh menampilkan prodi dari tabel mahasiswa
SELECT DISTINCT prodi FROM mahasiswa;
Data lengkap :

Data setelah didistinct :

h. BETWEEN dan NOT BETWEEN


Digunakan untuk menyederhanakan pencarian “antara” (range).
Contoh :
SELECT nama_mhs, prodi, umur FROM mahasiswa WHERE umur BETWEEN
18 and 19;

26
Data awal :

Setelah menggunakan Between

i. LIKE dan NOT LIKE


Digunakan untuk mencari teks berdasarkan prefix (kata depan), sufix (kata akhir)
atau kata tengah.
Contoh prefix (kata depan):
SELECT nama_mhs, kota FROM mahasiswa WHERE kota LIKE 'Job%';

27
Contoh sufix (kata akhir):
SELECT nama_mhs, kota FROM mahasiswa WHERE kota LIKE '%COR';

Contoh kata tengah :


SELECT nama_mhs, kota FROM mahasiswa WHERE kota LIKE '%ara%';

4. PRAKTIKUM
a. Tampilkan mahasiswa laki – laki yang berasal dari Pancor.
b. Tampilkan mahasiswa wanita dari Masbagik dan Pancor.
c. Tampilkan mahasiswa yang bukan berasal dari Rarang
d. Tampilkan seluruh mahasiswa menurut abjad dari Z – A.
e. Berasal dari kota mana saja mahasiswa yang ada? (hilangkan data kota yang
duplikasi).
f. Tampilkan daftar nama mahasiswa, kode prodi dan umur yang usianya tidak diantara
18 dan 19.
g. Tampilkan nama dosen yang jumlah gajinya antara 1.500.000 sampai 2.500.000
h. Cari nama mahasiswa yang tempat tinggalnya dimulai dengan ‘P’.

5. EVALUASI DAN PERTANYAAN


a. Jelaskan fungsi subquery EXISTS dan NOT EXISTS
b. Jelaskan fungsi subquery IN dan NOT IN
c. Jelaskan fungsi subquery ANY dan ALL

28
6. STUDI KASUS
-
7. KESIMPULAN

29
MODUL 5
MANIPULASI DAN RETRIEVE DATA (3)
KAD : setelah menyelesaikan modul ini, mahasiswa dapat mencari dan menampilkan data
dengan perintah SELECT, mampu mengkombinasikan perintah SELECT dengan
perintah UNION, INTERSECT, EXCEPT dan fungsi AGREGAT

1. TUJUAN
Setelah mengikuti kegiatan praktikum ini, mahasiswa mampu :
a. Menerapkan operasi himpunan menggunakan perintah UNION, INTERSECT
maupun EXCEPT pada database untuk memanipulasi data.
b. Menerapkan operasi fungsi agregat pada database untuk memanipulasi data.
c. Menerapkan operasi group function pada database untuk memanipulasi data.
2. TUGAS PENDAHULUAN
-
3. DASAR TEORI
a. UNION
UNION merupakan operator atau perintah yang digunakan untuk menggabungkan
hasil query atau isi data dari 2 (dua) tabel atau lebih dengan ketentuan jumlah,
nama dan tipe data atau kolom dari masing – masing tabel yang akan
ditampilkan datanya harus sama. Perintah ini terdiri dari dua jenis yaitu UNION
dan UNION ALL. Untuk menghasilkan suatu data set perintah UNION harus
disisipkan diantara perintah SELECT.
SELECT namakolomA FROM namatabel1 UNION SELECT namakolomA FROM
namatabel2;
Untuk lebih jelasnya kita ambil contoh sederhana dari sekumpulan data sebagai
berikut :
Tabel mengajar :

30
Tabel dosen :

Jika kita ingin menggabungkan data kolom inisial pada dua tabel tersebut
menggunakan UNION maka perintah yang harus kita ketikan pada form SQL adalah
SELECT inisial FROM mengajar UNION SELECT inisial FROM dosen;
Sehingga akan menghasilkan himpunan data sebagai berikut :

Secara umum bentuk SQLnya sebagai berikut :


SELECT * FROM tabel_A UNION SELECT*FROM tabel_B;
UNION ALL
Berbeda dengan perintah UNION, perintah UNION ALL menggabungkan
keseluruhan data walaupun data tersebut memiliki isi yang sama. Untuk lebih
jelasnya kita kembali contoh di atas dengan menggunakan perintah UNION ALL,

31
SELECT namakolomA FROM namatabel1 UNION ALL SELECT namakolomA
FROM namatabel2;
maka hasilnya akan seperti gambar ini :

Dapat dilihat pada gambar di atas bahwa syntax tersebut memanggil semua data
inisial, walaupun data tersebut beberapa ada yang sama. Perintah UNION ALL pada
umumnya adalah sebagai berikut :
SELECT * FROM tabel_A UNION ALL SELECT*FROM tabel_B;
b. INTERSECT
INTERSECT merupakan operator atau perintah yang digunakan untuk memperoleh
irisan data hasil query atau isi data dari 2 (dua) tabel atau lebih dengan ketentuan
jumlah, nama dan tipe data atau kolom dari masing – masing tabel yang akan
ditampilkan datanya harus sama.
Pada MySQL tidak terdapat operator INTERSECT akan tetapi sebagai gantinya
dapat menggunakan operator IN seperti yang telah di jabarkan di sub praktikum
sebelumnya.
SELECT namakolomB FROM namatabel1 WHERE namakolomB IN
(SELECT namakolomB FROM namatabel2);
c. EXCEPT
EXCEPT merupakan operator atau perintah yang digunakan untuk memperoleh data
hasil query dari luar irisan data dari 2 (dua) tabel atau lebih dengan ketentuan
jumlah, nama dan tipe data atau kolom dari masing – masing tabel yang akan
ditampilkan datanya harus sama (kebalikan dari INTERSECT)
Pada MySQL tidak terdapat operator EXCEPT akan tetapi sebagai gantinya dapat
menggunakan operator NOT IN seperti yang telah di jabarkan di sub praktikum
sebelumnya
SELECT namakolomC FROM namatabel1 WHERE namakolomB NOT IN
(SELECT namakolomC FROM namatabel2);

32
d. ARITMATIKA dan FUNGSI AGREGAT ARITMATIKA
ARITMATIKA
Perhitungan aritmatika pada suatu database dapat dilakukan dengan menggunakan
* / + - seperti pada umumnya.
Sebagai contoh kita akan menaikkan salary dosen sebesar 50%.
Misalkan data awal salary dosen adalah

Kemudian kita akan menghitung kenaikan salary dosen sebesar 50%, maka
syntaxnya adalah sebagai berikut :
SELECT nama_dosen, salary * 1.5 AS "Salary Up" FROM dosen;
Hasilnya sebagai berikut :

33
FUNGSI AGREGAT
1. COUNT
Merupakan perintah atau fungsi yang digunakan untuk menghitung jumlah baris suatu
kolom (record) pada tabel.
Contoh, kita akan menghitung jumlah dosen pada tabel dosen berdasarkan kolom
nama_dosen, maka sintaxnya adalah sebagai berikut :
SELECT COUNT(nama_dosen) AS 'Jumlah Dosen' FROM dosen;

NOTE : tidak boleh ada spasi diantara perintah COUNT dan nama kolom yang
ingin dihitung
Secara umum sintax penggunaan count adalah sebagai berikut :
SELECT COUNT(namakolom) AS ‘labelhasil’ FROM namatabel;
Sedangkan untuk menampilkan jumlah dosen yang salarynya di atas rata – rata
jumlah salary adalah sebagai berikut:
SELECT COUNT(nama_dosen) FROM dosen WHERE salary >
(SELECT @avgsalary:=AVG(salary) FROM dosen);

2. SUM
Merupakan fungsi yang digunakan untuk menghitung jumlah nilai suatu kolom
pada tabel. Perintah umumnya adalah sebagai berikut:
SELECT SUM(namakolom) FROM namatabel;
Contoh, kita ingin menampilkan jumlah semua salary dosen pada kolom salary,
maka perintahnya adalah :

34
SELECT SUM(salary) FROM dosen;

Sedangkan untuk menampilkan jumlah salary dosen yang salarynya di atas rata –
rata adalah sebagai berikut:
SELECT SUM(salary) FROM dosen WHERE salary > (SELECT
@avgsalary:=AVG(salary) FROM dosen);

3. AVG
Merupkan fungsi yang digunakan untuk menghitung nilai rata – rata suatu kolom
pada tabel. Perintah umum untuk menghitung rata – rata adalah sebagai berikut :
SELECT AVG(namakolom) FROM namatabel;
Contoh :
Select AVG(salary) from dosen;

Sedangkan untuk menampilkan dosen yang salarynya di atas rata – rata adalah
sebagai berikut:
SELECT nama_dosen, salary FROM dosen WHERE salary >
(SELECT @rataratasalary:=AVG(salary) FROM dosen);

35
MySQL membutuhkan variabel temporary yang didefinisikan dengan
@namavariabel:=ekspresi yang kemudian digunakan untuk komparasi
bagi query dibawahnya.
4. MIN
Merupakan fungsi untuk menampilkan nilai terkecil dari suatu kolom pada tabel.
Syntax umumnya adalah sebagai berikut:
SELECT MIN(namakolom) FROM namatabel;
Contoh : tampilkan nilai salary terkecil dari dosen
Select min(salary) from dosen;

Sedangkan untuk menampilkan dosen yang salarynya paling kecil adalah sebagai
berikut:
SELECT nama_dosen, salary FROM dosen WHERE salary = (SELECT
@minsalary:=MIN(salary) FROM dosen);

5. MAX
Merupakan fungsi untuk menampilkan nilai terbesar dari suatu kolom pada
tabel. Syntax umumnya adalah sebagai berikut:

36
SELECT MAX(namakolom) FROM namatabel;
Contoh : tampilkan nilai salary terbesar dosen
Select max(salary) from dosen;

Sedangkan untuk menampilkan dosen yang salarynya paling besar adalah


sebagai berikut:
SELECT nama_dosen, salary FROM dosen WHERE salary = (SELECT
@maxsalary:=MAX(salary) FROM dosen);

4. PRAKTIKUM
a. Tampilkan dosen yang penghasilan bersihnya (salary + tunjangan) bukan 5.500.000
dan 6.500.000
b. Tampilkan jumlah baris/record tabel dosen
c. Tampilkan daftar salary dosen dan dikurangi dengan pajak penghasilan 15%
d. Tampilkan jumlah dosen yang penghasilan bersihnya (salary + tunjangan) dibawah
rata – rata.
e. Hitung jumlah penghasilan bersih (Salary + tunjangan) yang penghasilan bersihnya
diatas rata – rata penghasilan bersih.
f. Tampilkan/hitung banyaknya dosen yang penghasilan bersihnya (Salary +
Tunjangan) di atas rata – rata
g. Gunakan tabel mahasiswa. Tampilkan jumlah mahasiswa berdasarkan jenis kelamin.
h. Gunakan tabel mahasiswa. Tampilkan jumlah mahasiswa berdasarkan program studi.
i. Gunakan tabel mahasiswa. Tampilkan jumlah mahasiswa berdasarkan jenis kelamin
dan program studi.

5. EVALUASI
a. Dapatkah fungsi agregat dan aritmetika dikombinasikan dengan alias?
b. Dapatkah fungsi agregat dan aritmetika digunakan untuk menampilkan data dari dua
tabel atau lebih?

37
6. STUDI KASUS
-
7. KESIMPULAN

38
MODUL 6
MANIPULASI DAN RETRIEVE DATA (4)
KAD : setelah menyelesaikan modul ini, mahasiswa dapat mencari dan menampilkan data
dengan perintah SELECT, mampu mengkombinasikan perintah SELECT dengan
perintah GROP BYE, HAVING dan JOIN

1. TUJUAN
Setelah mengikuti kegiatan praktikum ini, mahasiswa dapat :
a. Mampu melakukan pencarian kembali data dan mengelompokkannya
b. Mampu menampilkan data dengan pencocokan pola tau karakter

2. TUGAS PENDAHULUAN
-
3. DASAR TEORI
a. GROUP BY
Klausa GROUP BY digunakan untuk menyeleksi himpunan yang dihitung
berdasarkan fungsi spesifik atau digunakan untuk melakukan pengelompokan data.
Fugsi spesifik yang dapat digunakan antara lain AVG, COUNT dan lainnya.
Contoh : Gunakan tabel mahasiswa. Tampilkan jumlah mahasiswa berdasarkan jenis
kelamin.
SELECT sex, COUNT(*) AS Jumlah FROM mahasiswa GROUP BY
sex;

Secara umum rumusan syntax group by adalah :

SELECT namakolom FROM namatabel GROUP BY spesifikasi;

NOTE : spesifikasi disini maksudnya adalah syarat pengelompokan data yang


diinginkan. Misalnya spesifikasinya berdasarkan nama kolom, ASC, DESC dan lain
sebagainya
b. GROUP BY ..... HAVING
HAVING berlaku untuk kelompok query group dan berfungsi seperti WHERE.
Klausa HAVING digunakan untuk menentukan kondisi bagi klausa GROUP BY.
Hanya kelompok atau group yang memenuhi kriteria HAVING saja yang akan
diproses atau dihasilkan.
Contoh : perintah untuk menampilkan data hanya kolom kode_prodi yang

39
dikelompokkan berdasarkan kolom kode_prodi, dimana jumlah prodi berdasarkan
kelompoknya harus lebih besar dari satu pada tabel mahasiswa.
SELECT kode_prodi, COUNT(*) AS Jumlah FROM mahasiswa GROUP BY
kode_prodi HAVING COUNT(kode_prodi) >1;

Penggunaan klausa Where, Group By, dan Having ada baiknya memperhatikan hal
berikut :
- Where digunakan untuk menampilkan data yang difilter /baris – baris dari
operasi yang dinyatakan oleh perintah From.
- Group By digunakan untuk mengelompokkan hasil dari klausa Where
- Having digunakan untuk memfilter baris – baris dari hasil pengelompokkan.
a. PATTERN MATCHING (pencocokan pola karakter)
Fungsi string dapat digunakan untuk menampilkan data dengan didasarkan pada
pencarian dengan karakter. Syntak yang digunakan dalam pencarian data adalah
LIKE. Syntak LIKE hampir sama dengan syntak =, perbedaannya adalah kalau syntak
= maka pencarian datanya harus sama dengan kata yang diminta, akan tetapi ketika
menggukanan LIKE, karakter yang akan ditampilkan tidak harus lengkap melainkan
hanya dengan menuliskan salah satu huruf atau kata saja, maka semua data yang
dicari akan ditampilkan.
Simbol yang digunakan untuk pencocokan pola yaitu :

- % (persen) : digunakan untuk mencocokan karakter sebelumnya atau sesudah


tanda %

- _ (underscore): digunakan untuk mencari karakter sebanyak jumlah tanda _


Bentuk umum penggunaan syntax LIKE :
- SELECT * FROM nama_tabel WHERE nama_kolom LIKE ‘char%’;
- SELECT * FROM nama_tabel WHERE nama_kolom LIKE ‘%char’;
- SELECT * FROM nama_tabel WHERE nama_kolom LIKE ‘%char%’;
- SELECT * FROM nama_tabel WHERE nama_kolom NOT LIKE ‘%char%’;
- SELECT * FROM nama_tabel WHERE nama_kolom LIKE ‘_’;

a. JOIN
Join merupakan operasi yang digunakan untuk menggabungkan dua tabel atau lebih
dengan hasil merupakan gabungan dari kolom – kolom yang berasal dari tabel – tabel
tersebut.

40
- Inner Join
Digunakan untuk menampilkan gabungan data dari dua arah/dua tabel yang berisi
data sesuai dengan syarat dibelakang on (tidak bernilai null), artinya semua data
tabel di sebelah kiri mendapatkan pasangan data dari tabel sebelah kanan.
Cara 1 : penggabungan dengan klausa WHERE
SELECT namatabel1.namakolom1, namatabel1.namakolom2,
namatabel2.namakolom1, tamatabel2.namakolom2, FROM namatabel1,
namatabel2 WHERE namatabel.namakolomA=namatabel2.namakolomA;
NOTE :
- namatabel1 dan namatabel2 = nama tabel-tabel yang ingin digabungkan
- namatabel1.namakolom1 = nama kolom ke 1 yang ingin ditampilkan pada tabel 1
- namatabel1.namakolom2 = nama kolom ke 2 yang ingin ditampilkan pada tabel 1
- namatabel2.namakolom1 = nama kolom ke 1 yang ingin ditampilkan pada tabel 2
- tamatabel2.namakolom2 = nama kolom ke 2 pada yang ingin ditampilkan tabel 2
- namatabell.namakolomA = nama kolom dari tabel 2 yang menjadi foreigen key di
tabel 1
- namatabel2.namakolomA = nama kolom di tabel 2 yang menjadi primary key

Contoh : kita akan menggabungkan tabel mahasiswa dan tabel prodi dimana kita
akan menampilkan daftar mahasiswa dan prodi yang dipilih

SELECT mahasiswa.npm, mahasiswa.nama_mhs, prodi.kode_prodi,


prodi.nama_prodi FROM mahasiswa, prodi WHERE
mahasiswa.kode_prodi=prodi.kode_prodi;

41
Cara 2 : Penggabungan dengan Inner Join
SELECT mahasiswa.npm, mahasiswa.nama_mhs, prodi.kode_prodi,
prodi.nama_prodi FROM mahasiswa INNER JOIN prodi ON
mahasiswa.kode_prodi=prodi.kode_prodi;

- Outer Join
Digunakan untuk menggabungkan satu arah, sehingga memungkinkan ada data
yang Null (kosong) di satu sisi. Contoh kita akan menggabungkan tabel dosen dan
mengajar dimana kita akan akan menampilkan daftar dosen yang pernah melakukan
pengajaran mata kuliah. Outer join terbagi menjadi dua yaitu Left Join dan Right
Join.
a. Left Join
SELECT dosen.nidn, dosen.inisial, dosen.nama_dosen,
mengajar.mk_id FROM dosen LEFT JOIN mengajar ON
dosen.inisial=mengajar.inisial;

penggunaan left join akan menampilkan juga data dosen dengan inisial JML
dan KIM walaupun dosen tersebut belum pernah mengajar. Dan pada kolom
mk_id untuk dosen – dosen tersebut isinya NULL, artinya di tabel kanan
(mengajar) dosen tersebut tidak ada.

42
b. Right Join
SELECT dosen.nidn, dosen.inisial, dosen.nama_dosen,
mengajar.mk_id FROM dosen RIGHT JOIN mengajar ON
dosen.inisial=mengajar.inisial

Dengan right join, tabel yang menjadi acuan adalah tabel sebelah kanan (tabel
mengajar), jadi semua isi tabel pesan akan ditampilkan. Jika data dosen tidak
ada di tabel mengajar, maka isi tabel mengajar tetap ditampilkan
- Join 3 Tabel
Untuk menggabungkan tiga atau lebih tabel, secara prinsip sama dengan
penggabungan dengan dua buah tabel.
Sebagai contoh misalnya kita akan menampilkan data dosen beserta mata kuliah
yang diajar dan detail mata kuliahnya.
Berikut perintah SQL-nya :
SELECT dosen.nidn, dosen.inisial, dosen.nama_dosen, mengajar.mk_id,
mata_kuliah.nama_mk, mata_kuliah.sks FROM dosen, mengajar,
mata_kuliah WHERE dosen.inisial=mengajar.inisial AND
mengajar.mk_id=mata_kuliah.mk_id;

Dapat dilihat pada gambar di atas, data kolom mk_id dari tabel mengajar dan kolom
nama_mk dan sks dari tabel mata_kuliah disisipkan ke dalam tabel dosen.
43
4. PRAKTIKUM
-
5. EVALUASI dan PERTANYAAN
a. Jelaskan perbedaan antara Outer Left Join dengan Natural Left Join, sertakan bentuk
umum dari syntak keduanya
b. Jelaskan perbedaan antara Outer Right Join dengan Natural Right Join, sertakan
bentuk umum dari syntak keduanya
6. STUDI KASUS
-
7. KESIMPULAN

44
MODUL 7
RASIONAL DATABASE
KAD : setelah menyelesaikan modul ini, mahasiswa dapat membuat relasi antar tabel dan
membuktikan integritas data dengan tabel yang saling berhubungan (relasi)

1. TUJUAN
a. Mahasiswa mampu membuat relasi antar tabel
b. Mahasiswa mampu membuktikan integritas data dengan tabel yang saling
berhubungan

2. TUGAS PENDAHULUAN
-
3. DASAR TEORI
Relasional Database merupakan salah satu konsep penyajian dan penyimpanan data.
Sebelum ada relasional database, sudah ada dua model database yaitu network database
dan hirarki database. Pada database relasional, data disimpan dalam bentuk relasi atau
tabel dua dimensi, serta antar tabel yang satu dengan tabel lainnya terdapat hubungan
atau relationship. Kemudian kumpulan dari data yang diorganisasikan sebagai tabel
disimpan dalam bentuk data elektronik di dalam media penyimpanan komputer. Untuk
membuat struktur tabel, mengisi, mengubah maupun menghapus data dari tabel pada
suatu database elektronik diperlukan software.
Software yang diguanakan untuk membuat strktur tabel, mengisi, mengubah maupun
menghapus data disebut Relasional Database Management System (RDBMS). Perintah
yang digunakan menggunakan perintah Structure Query Language (SQL). Selain fungsi
di atas, RDBMS juga digunakan untuk manajemen data dalam skala besar serta
mendukung proses bisnis yang berkelanjutan dan real time. RDBMS harus memiliki
kemampuan manajemen user dan keamanan data, backup, recovery serta kemampuan lain
yang berkaitan dengan kecepatan pemrosesan data (performance).
Primary key adalah suatu field atau kombinasi field yang secara unik mengidentifikasi
setiap record dalam tabel.
Foreign key adalah primary key pada suatu tabel yang dimasukkan pada tabel lain dan
dijadikan salah satu key pada tabel tersebut.
References menunjukkan bahwa foreign key pada suatu tabel merupakan key pada tabel
lain. Pada perubahan suatu record baik update maupun delete, dapat diikuti dengan kata :
cascade, restrict, atau set null sesuai dengan kebutuhan.
Contoh :
-on update CASCADE on delete RESTRICT
-on update RESTRICT on delete SET NULL

4. PRAKTIKUM
a. Buat sebuah database dengan nama kursus
Create database kursus;
b. Buat/ubah tipe tabel peserta menjadi tipe innoDB.

45
create table peserta ( nrp varchar(10) not null, nama
varchar(40), primary key(nrp));

c. Buat/ubah tipe tabel tutor menjadi tipe innoDB dan relasikan ke tabel mahasiswa
dengan mengambil key NRP dari tabel peserta_kursus sebagai foreign key di tabel
tutor
create table tutor (id int(5) not null auto_increment,
kode_tutor varchar(5), nama varchar(40), nrp varchar(10),
primary key(id), index(nrp), foreign key(nrp) references
peserta(nrp) on update cascade on delete cascade) engine
innodb;
d. Isi tabel seperti gambar berikut :

e. Update satu record pada tabel peserta:


UPDATE peserta SET nrp='005' WHERE nama='Denny Dargo';
f. Lihat perubahan isi pada tabel tutor. Tunjukkan perubahannya.
g. Hapus sebuah record pada tabel peserta :
delete from peserta where nrp='005'
h. Lihat perubahan isi pada tabel tutor. Tunjukkan perubahannya.

5. EVALUASI DAN PERTANYAAN


a. Lakukan percobaan pada langkah 3 (tiga) (baris sintak terakhir) diubah menjadi on
update cascade on delete restrict dan perhatikan apa yang terjadi.

46
b. Lakukan percobaan pada langkah 3 (tiga) (baris sintak terakhir) diubah menjadi on
update cascade on delete set null dan perhatikan apa yang terjadi.
c. Lakukan percobaan pada langkah 3 (tiga) (baris sintak terakhir) diubah menjadi on
update restrict on delete set null dan perhatikan apa yang terjadi.
6. STUDI KASUS
-
7. KESIMPULAN

47
MODUL 8
WEB DENGAN BASIS DATA (1)
KAD : setelah menyelesaikan modul ini, mahasiswa mampu untuk membuat koneksi
database dengan php, membuat halaman utama pada web untuk menampilkan isi
tabel pada database

1. TUJUAN
a. Mahasiswa mampu membuat koneksi database
b. Mahasiswa mampu menampilkan data tabel ke halaman web

2. TUGAS PENDAHULUAN
-
3. DASAR TEORI
Untuk dapat menampilkan isi dari sebuah database ke dalam halaman web, diperlukan
adanya file koneksi. File koneksi dibutuhkan untuk menghubungkan database dengan
halaman web. Koneksi dibuat menggunakan bahasa pemrograman PHP.
PHP (Hypertext Prepocessor), yaitu bahasa pemrograman yang digunakan secara luas
untuk penanganan pembuatan dan pengembangan sebuah situs web dan bisa digunakan
bersamaan dengan HTML. PHP diciptakan oleh Rasmus Lerdorf pertama kali tahun 1994
4. PRAKTIKUM
a. Koneksi
Hal pertama yang harus dilakukan adalah membuka web editor (dreamweaver,
notepad, notepad++, sublime dan lain-lain) untuk membuat file koneksi. Untuk
praktikum ini kita menggunakan aplikasi dreamwaver sebagai web editor.
1. Buka aplikasi dreamweaver yang sudah terinstal di komputer masing-masing
2. Pada layar akan ditampilkan beberapa pilihan tipe atau jenis file yang ingin
dibuat. Pilihlah PHP seperti gambar dibawah ini :

48
3. Setelah memilih jenis file php, anda akan dialihkan ke halaman editor, hapus
semua tulisan yang ada dihalaman editor tersebut, kemudian ketikkan syntax di
bawah ini sebagai pengganti :
<?php
$hostname = "localhost";
$username = "root";
$password = "";
$dbname = "db_hamzanwadi1";
$db = new mysqli ($hostname, $username, $password,
$dbname);
?>

4. Kemudian simpan file tersebut dengan nama koneksi, dengan format file .php
5. Simpan file tersebut di C:/xampp/htdocs .
6. Buatlah folder baru dengan nama latihan di folder htdocs, kemudian simpan file
koneksi.php yang anda buat ke dalam folder latihan tersebut.

b. Menampilkan data tabel ke halaman web


Selanjutnya untuk menampilkan data salah satu tabel yang ada di database yang
sudah dibuat ikuti langkah-langkah berikut ini :
1. Buat file php baru seperti langkah praktik sebelumnya
2. Simpan file tersebut dengan nama index.php pada folder latihan (simpan di lokasi
yang sama dengan file koneksi)
3. Kita akan menampilkan data salah satu tabel di database yang sudah kita buat
sebelumnya. Data yang akan kita tampilkan adalah data tabel mata_kuliah
4. Selanjutnya hapus semua tulisan yang ada pada form index tersebut
5. Kemudian ketikkan syntax di bawah ini :
<h2> Data Mata Kuliah </h2>
<?php include "koneksi.php";?>
<table border="1">
<tr>
<th>No</th>
<th>Kode MK</th>
<th>Nama MK</th>
<th>Jumlah Jam</th>
<th>SKS</th>
</tr>
<?php
$i = 0;

49
$hasil = mysqli_query($db,'select * from mata_kuliah') or die
(mysql_error());
$data = mysqli_num_rows($hasil);
if ($data> 0){
while($row = mysqli_fetch_array($hasil, MYSQL_ASSOC))
{
$i++;
?>
<tr>
<td> <?php echo "$i";?></td>
<td> <?php echo $row ['mk_id'];?></td>
<td> <?php echo $row ['nama_mk'];?></td>
<td> <?php echo $row ['jumlah_jam'];?></td>
<td> <?php echo $row ['sks'];?></td>
</tr>
<?php } } ?>
</table>

6. Kemudian buka browser anda, panggil folder latihan anda dengan mengetik
localhost/latihan pada address bar browser anda. Jika berhasil maka data akan
terlihat seperti pada gambar berikut ini :

50
51
MODUL 9
WEB DENGAN BASIS DATA (2)
KAD : setelah menyelesaikan modul ini, mahasiswa mampu membuat query untuk
menambah data tabel pada database melalui halaman web

1. TUJUAN
- Mahasiswa mampu membuat perintah untuk menambahkan data tabel pada database
melalui halaman web

2. PRAKTIKUM
a. Membuat link menuju halaman tambah data
Untuk menambah data, kita membutuhkan halaman tersendiri yang harus kita tuju
diluar halaman index yang telah kita buat sebelumnya. Untuk membuka halaman
tambah data kita harus membuat link terlebih dahulu, dengan cara membuat syntax
berikut ini di file index.php :
<a href="add.php">Tambah Data MK</a>

Kemudian simpan kembali file index.php, Jika berhasil maka ketika anda memanggil
file index.php melalui browser, maka akan terlihat link menuju halaman tambah data
seperti gambar berikut ini :

b. Membuat form tambah data


Langkah awal dalam membuat halaman web untuk menambah data yaitu kita harus
membuat form / formulir penambahan data. Buat halaman php baru dan simpan

52
dengan nama add.php di folder laihan.
Kemudian ketikkan syntax berikut ini :
<h1> FORMULIR TAMBAH DATA MATA KULIAH</h1>
<form method = "post" action="addproses.php">
<table>
<tr>
<td>Kode MK</td>
<td>:</td>
<td> <input type="text" name = "mk_id" size="30"> </td>
</tr>

<tr>
<td>Nama MK</td>
<td>:</td>
<td> <input name = "nama_mk" type="text" size="30" height="30">
</td>
</tr>

<tr>
<td>Jumlah Jam</td>
<td>:</td>
<td><input name = "jumlah_jam" type="text" size="30"
height="30"> </td>
</tr>

<tr>
<td>SKS</td>
<td>:</td>
<td> <input name = "sks" type="text" size="10" height="10">
</td>
</tr>

<tr>
<td height="42"></td>
<td></td>
<td> <input type="submit" name="tambah" value = "TAMBAH"></td>
</tr>
</table>
</form>

53
Jangan lupa menyimpan kembali file tersebut setiap kali anda melakukan perubahan
pada syntax phpnya. Jika berhasil maka akan terlihat seperti pada gambar berikut ini
:

c. Membuat perintah proses untuk menambah data


Untuk mengeksekusi form penambahan data, kita membutuhkan 1 file lagi sebagai
proses menambahkan data pada tabel mata_kuliah. Buat file php baru kemudian
simpan dengan nama addproses.php kemudian simpan di folder latihan. Kemudian
ketikan syntax berikut ini :
<?php
include('koneksi.php');
if (isset($_POST['tambah'])){
$a = $_POST['mk_id'];
$b = $_POST['nama_mk'];
$c = $_POST['jumlah_jam'];
$d = $_POST['sks'];

$sql ="insert into mata_kuliah (mk_id, nama_mk, jumlah_jam,


sks) values ('$a','$b','$c','$d')";
$query = mysqli_query ($db, $sql);

if ($query){
header('location:index.php');
}
else {
echo 'Gagal';
}}
?>

54
d. Sekarang buka file browser anda kemudian panggil file index.php, setelah itu klik
link tambah data. Isi form penambahan data dengan data berikut ini :

Setelah itu tekan tombol TAMBAH, jika berhasil anda akan langsung diarahkan ke
halaman index.php dan dapat melihat adanya perubahan data seperti gambar berikut
ini :

55
MODUL 10
WEB DENGAN BASIS DATA (3)
KAD : setelah menyelesaikan modul ini, mahasiswa mampu membuat query untuk
mengubah data tabel pada database melalui halaman web

1. TUJUAN
- Mahasiswa mampu membuat perintah untuk mengedit atau merubah data tabel pada
database melalui halaman web

2. PRAKTIKUM
a. Membuat link untuk ke halaman form edit
Untuk mengubah data, diperlukan halaman tersendiri untuk mengubah data tersebut.
sebelum membuat halaman edit, terlebih dahulu kita buat link untuk menuju ke
halaman edit. Buka kembali file index.php, kemudian ketikan syntax berikut ini
diposisi yang telah ditentukan :
<td><a href='formedit.php?id=<?php echo $row['mk_id']; ?>' > Edit </a></td>

Jika berhasil maka ketika halaman index.php dipanggil lewat browser, maka akan
terlihat seprti gambar di bawah ini :

56
Muncul link untuk mengedit data mata kuliah
b. Membuat halaman form edit
Untuk mengubah data tabel dari halaman web dibutuhkan sintax proses untuk
memanggil data yang akan diubah.
Buat file php baru kemudian simpan dengan nama formedit.php ke dalam folder
latihan. Kemudian ketikan syntax berikut ini :
<h2> EDIT DATA MK </h2>
<form method="post" action= "edit.php">
<?php
include('koneksi.php');
$id = $_GET['mk_id'];
$row = mysqli_query($db, "select * from mata_kuliah where mk_id = '$id'")
or die (mysql_error());
$query = mysqli_fetch_array ($row);
?>
<table>
<tr>
<td>Kode MK</td>
<td>:</td>
<td<input name="mk_id" value="<?php echo $query['mk_id'];?>" size="15"
readonly="readonly"></td>
</tr>

<tr>
<td>Nama MK</td>
<td>:</td>
<td><input name="nama_mk" value="<?php echo $query['nama_mk'];?>"
size="15"> </td>
</tr>

<tr>
<td>Jumlah Jam</td>
<td>:</td>
<td><input name="jumlah_jam" value="<?php echo
$query['jumlah_jam'];?>" size="10"> </td>
</tr>

<tr>
<td>SKS</td>
<td>:</td>
<td><input name="sks" value="<?php echo $query['sks'];?>" size="10">
</td>
</tr>

<tr>

57
<td height="42"></td>
<td></td>
<td><input type="submit" name="update" value = "UPDATE"></td>
</tr>
</table>
</form>

Jika berhasil, maka ketika klik link edit pada halaman index akan menampilkan
seperti pada gambar berikut ini (misal kita akan mengedit mata kuliah fisika lanjut) :

NOTE : Kode mk tidak dapat dirubah karena merupakan primary key

58
Ubah data tersebut menjadi sebagai berikut :
Nama MK : dari Fisika Lanjut menjadi Fisika
Jumlah jam : dari 40 menjadi 26.66
Sks : dari 3 menjadi 2

Maka pada halaman formedit akan menampilkan data apa saja yang akan diubah.
Setelah data kita ubah kemudian klik tombol UPDATE, tapi sebelumnya kita perlu
membuat file untuk mengeksekusi proses perubahan data tersebut.
c. Membuat halaman proses edit data
Buat file php baru dan simpan dengan nama edit.php dalam folder latihan.
Kemudian ketikan syntax berikut ini :
<?php
include "koneksi.php";
if (isset($_POST['update']) )
{
$a = $_POST['mk_id'];
$b = $_POST['nama_mk'];
$c = $_POST['jumlah_jam'];
$d = $_POST['sks'];

$sql = ("UPDATE mata_kuliah SET nama_mk ='$b', jumlah_jam


='$c', sks ='$d' where mk_id='$a'");

$query = mysqli_query($db, $sql);


if ($query){
header('location:index.php');
}
else {
echo 'Gagal menyimpan data';

}
}
?>

59
Jangan lupa menyimpan file edit.php tersebut kembali. Kemudian buka browser anda
kembali. Setelah mengubah data yang andingi ubah (mata kuliah fisika lanjut) seperti
di atas, kemudian coba tekan tombol UPDATE, dan lihat apa yang terjadi.
Jika berhasil, maka data akan berubah seperti yang terlihat pada gambar berikut ini :

60
MODUL 11
WEB DENGAN BASIS DATA (4)
KAD : setelah menyelesaikan modul ini, mahasiswa mampu membuat query untuk
menghapus data tabel pada database melalui halaman web

1. TUJUAN
- Mahasiswa mampu membuat perintah untuk menghapus data tabel pada database
melalui halaman web

2. PRAKTIKUM
a. Membuat link untuk menghapus data
Sebelum membuat proses hapus data tabel, terlebih dahulu kita harus membuat link
untuk menuju halaman tersebut. Lakukan langkah-langkah berikut ini :
1. Buka kembali halaman index.php yang ada di folder latihan anda
2. Kemudian buat syntax untuk membuat link menuju proses hapus (sama dengan
membuat link edit)
<td><a href='hapus.php?mk_id=<?php echo $row['mk_id']; ?>'
onclick='return confirm ("Are You Sure?")'> Delete </a></td>
3. Ketik syntax tersebut dibawah syntax link proses edit

Kemudian simpan kembali file index.php tersebut. jika berhasil maka ketika anda
membuka browser anda, halaman index akan terlihat seperti gambar dibawah ini :

61
Link untuk hapus data bertambah.

b. Membuat halaman proses hapus data


Setelah membuat link untuk hapus data, selanjutnya kita harus membuat syntax untuk
menjalankan hapus data tersebut.
1. Buat halaman php baru, kemudian simpan di folder latihan dengan nama
hapus.php
2. Kemudian ketikkan syntax di bawah ini pada halaman tersebut :
<?php
include "koneksi.php";
$id = $_GET['mk_id'];
$sql = ("delete from mata_kuliah where mk_id= '$id'");
$query = mysqli_query($db,$sql);
header ('location:index.php');
?>

Simpan kembali sintax tersebut


3. Buka file index pada browser anda. Kemudian kita akan mencoba menghapus
salah satu data mata kuliah yang ada pada tabel.
Misal kita akan menghapus data matkul REKAYASA PERANGKAT LUNAK,
klik tulisan delete yang ada pada barus mata kuliah tersebut.
4. Setelah diklik maka pada layar browser akan muncul dialog box yang berfungsi
sebagai peringatan, apakah benar data akan dihapus atau tidak. Jika ingin dihapus,
tekan tombol ok, jika tidak tekan tombol cancel

62
5. Jika berhasil maka data tabel akan seperti gambar dibawah ini (mata kuliah RPL
menghilang) :

63

Anda mungkin juga menyukai