a-rata Ujiannya mulai dari 

yang paling tinggi sampai yang paling rendah. 

 

Contoh Tampilan Form Input Nilai 

 

NIS Nama Siswa Nilai Ujian 1 Nilai Ujian 2 

A001 Agus   

A002 Budi   

A003 Amir   

A004 Acong   

A005 Siti   

 

 

 

Petunjuk: 

 

Data NIS dan Nama Siswa disimpan dalam array, begitu pula dengan nilai rata-

ratanya. Selanjutnya sort berdasarkan nilai rata-rata (gunakan array_multisort()) 

lalu tampilkan. 

 

5. Suatu perusahan X, terdapat 10 orang karyawan dengan NIK dan Nama 

Karyawannya sebagaimana tampak pada tabel berikut ini 

 

 

NIK Nama Karyawan Masa Kerja (tahun) 

K01001 A 20 

K01002 B 18 

K03001 C 12 

K03002 D 12 

K03003 E 10 

K04001 F 8 

K04002 G 11 

K04003 H 9 

K04004 I 7 

K04005 J 14 

 

SUBMIT RESET 


 136

Perhatikan kode NIK di atas. Digit ke 2 dan 3 menunjukkan posisi karyawan 

dalam perusahaan. ‘01’ berarti di bagian keuangan, ‘03’ di bagian HRD dan ‘04’ di 

bagian maintenance. 

 

Buatlah script PHP untuk menampilkan gaji setiap karyawan dengan ketentuan 

sbb: 

 

Jika karyawan di bagian keuangan, maka gaji pokoknya: Rp. 2.000.000,-. Di 

bagian HRD gaji pokoknya Rp. 1.900.000,- dan di maintenance gaji pokoknya Rp. 

1.950.000,-. 

 

Selain itu masih ditambah tunjangan sesuai masa kerjanya. 

 

Jika masa kerja > 15 tahun maka tunjangannya Rp. 500.000,- Sedangkan jika 

masa kerja 10 s/d 15 tahun, tunjangannya Rp. 300.000,-. Dan jika masa kerjanya 

di bawah 10 tahun tunjangannya Rp. 100.000,- 

 

Untuk format tampilan, gunakan tabel berikut ini 

 

NIK Nama Karyawan Masa Kerja (tahun) Gaji Kotor 

K01001 A 20 Rp. XXX,- 

K01002 B 18 Rp. XXX,- 

K03001 C 12 Rp. XXX,- 

K03002 D 12 Rp. XXX,- 

K03003 E 10 Rp. XXX,- 

K04001 F 8 Rp. XXX,- 

K04002 G 11 Rp. XXX,- 

K04003 H 9 Rp. XXX,- 

K04004 I 7 Rp. XXX,- 

K04005 J 14 Rp. XXX,- 

  Total Rp. XXX,- 

 

Catatan: Gunakan format angka gaji sesuai format Rp. XXX.XXX.XXX,- 

 

6. Berdasarkan data karyawan yang ada pada soal no. 5, buatlah script untuk 

menampilkan data karyawan (NIK, nama dan masa kerja) dan jumlah 

karyawannya dari ketentuan sbb: 

 

a. Karyawan di bagian ‘HRD’ yang masa kerjanya di atas 15 tahun 

b. Karyawan di bagian ‘maintenance’ atau ‘keuangan’ yang masa kerjanya 10 

tahun s/d 15 tahun 

 


 137

Gunakan Radiobutton untuk proses switching tampilan sebagaimana contoh 

form berikut ini. 

 

Data Karyawan 

◘ Karyawan di bagian ‘HRD’ dengan masa kerja > 15 tahun 

◘ Karyawan di bagian ‘Maintenance’ atau ‘Keuangan’ dengan masa kerja 10 –  

      15 th 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SUBMIT 


 138

BAB 16 

Pengenalan SQL 

 

 

Pada bab ini Anda akan diperkenalkan dengan SQL atau structured query languange. 

SQL adalah suatu statement atau pernyataan atau perintah standart yang digunakan 

untuk keperluan administrasi database.  

 

Ada banyak software database yang mendukung SQL ini. Software batabase  ini disebut 

juga SQL based DBMS (Database Management System). Beberapa di antaranya adalah 

MySQL, Oracle, MS. Access, MS. SQL, SQL Server dll. 

 

Bab pengenalan SQL ini diberikan karena mulai bab selanjutnya materi kursus terkait 

dengan penggunaan database, dalam hal ini software database yang digunakan adalah 

MySQL. Mengapa MySQL yang digunakan? Ya… karena MySQL adalah DBMS yang 

bersifat free alias gratis namun kehandalannya tidak kalah dengan DBMS yang tidak 

free. 

 

Tentang Database 

 

Database ibaratnya suatu wadah yang digunakan untuk menyimpan data. Supaya 

mudah diatur data-data itu disimpan dalam sebuah tabel.  

 

Database ibaratnya seperti sebuah lemari kabinet. Dalam lemari kabinet terdapat 

beberapa laci yang di dalamnya terdapat beberapa dokumen file atau data. Laci inilah 

yang diumpamakan tabel dari database dan dokumen file atau data yang tersimpan 

dalam laci ibaratnya merupakan data atau record dari database. Bisa membayangkan 

ya? ☺ 

 

Di dalam sebuah database bisa terdapat lebih dari satu tabel. 

 

Pada sebuah tabel, terdapat unsur yaitu kolom dan baris, seperti halnya tabel-tabel 

umum yang Anda kenal. Kolom pada database disebut juga field, dan barisnya disebut 

record. 

 

 

 

 

 


 139

Tentang PhpMyAdmin 

 

Terkadang dalam mengatur atau pengadministrasian database sangatlah repot. 

Misalnya membuat database, membuat tabel, mengubah struktur tabel, menyimpan 

data ke database, mengedit data, menghapus data dsb.  

 

Nah… khusus MySQL terdapat software khusus yang dapat dipergunakan untuk 

pengadministrasian database supaya mudah dilakukan. Software ini bernama 

PhpMyAdmin. Software ini merupakan web based software yang dijalankan melalui 

URL:  

 

http://localhost/phpmyadmin  

 

Apabila Anda menggunakan AppServ atau XAMPP maka ketika dipanggil URL di atas 

akan langsung masuk ke PhpMyAdmin. 

 

Catatan: 

 

Sebelum masuk ke PhpMyAdmin biasanya kita disuruh memasukkan username dan 

password. Username dan password ini sesuai dengan yang pernah kita masukkan 

sewaktu proses instalasi AppServ. 

 

 

 

Tampilan PhpMyAdmin 

 

 

 

 


 140

Membuat Database 

 

Untuk membuat database baru dengan PhpMyAdmin, caranya adalah isikan nama 

database yang akan Anda buat ke dalam bagian kotak CREATE NEW DATABASE lalu klik 

tombol CREATE. 

 

Sebagai contoh silakan Anda buat database dengan nama: ‘perpustakaan’ 

 

Tips: sebaiknya nama database jangan mengandung spasi. 

 

 

 

Membuat Tabel 

 

Setelah database dibuat, selanjutnya kita bisa membuat tabel. Untuk membuat tabel 

baru dalam database yang telah kita buat caranya ketikkan nama tabel yang akan dibuat 

pada bagian CREATE NEW TABLE ON DATABASE XXX. ‘XXX’ di sini merupakan nama 

databasenya.  

Selain itu masukkan pula jumlah fieldnya. Oleh karena itu sebaiknya sebelum proses 

pembuatan tabel hendaknya Anda rancang terlebih dahulu nama-nama fieldnya sesuai 

yang dibutuhkan. 

 

Dalam contoh ini andaikan kita akan membuat tabel ‘kategori_buku’ 

 

Tips: seperti halnya membuat nama database, untuk nama tabel juga sebaiknya jangan 

gunakan spasi. 

 

 

 

 

 


 141

Untuk tabel ‘kategori_buku’ misalnya kita desain seperti di bawah ini: 

 

Tabel : kategori_buku 

Field : kode_kat  varchar(5) PRIMARY KEY 

   nama_kat  varchar(20) 

 

Keterangan: 

 

Dalam tabel ‘kategori buku’ terdapat 2 buah field yaitu ‘kode_kat’ dan ‘nama_kat’. Field 

‘kode_kat’ nanti berisi kode kategori dari buku-buku yang tersimpan dalam 

perpustakaan dan ‘nama_kat’ merupakan penjelasan yang berisi nama kategori terkait 

dengan kode kategorinya. Misalnya kode kategori buku ‘X10’ itu merupakan kode 

kategori untuk buku tentang ‘MATEMATIKA’. 

 

Varchar merupakan tipe data dari fieldnya. Tipe data ini harus dimiliki setiap field yang 

akan dibuat. Tipe data ini menentukan jenis atau sifat data yang akan disimpan dalam 

field ini . Terdapat beberapa tipe data yang bisa dipilih, yaitu 

 

Varchar  bila datanya berbentuk karakter (maks 255 karakter) 

Int  bila datanya berbentuk bilangan bulat 

Float  bila datanya berbentuk bilangan real 

Text  bila datanya berbentuk karakter (size nya lebih besar dari varchar) 

Date  bila datanya berbentuk tanggal (th-bln-tgl) 

Time  bila datanya berbentuk waktu (jam:menit:detik) 

Blob  bila datanya berupa file 

 

Catatan: 

 

Khusus untuk varchar harus diberikan lebar size yang diinginkan, misalnya suatu field 

bertipe varchar(5). Maksud 5 di sini adalah banyak karakter yang bisa disimpan dalam 

field ini  adalah 5 buah. 

 

PRIMARY KEY adalah fitur yang ada dalam DBMS yang dapat digunakan untuk menjamin 

bahwa sebuah data itu tunggal. Dalam contoh di atas PRIMARY KEY diberikan pada field 

‘Kode Kategori’. Tentu kita tahu bahwa suatu kode kategori buku  itu bersifat tunggal 

atau tidak boleh ada kode yang sama, seperti halnya kode karyawan atau kode 

mahasiswa. Bila suatu field sudah dijadikan PRIMARY KEY maka tidak mungkin ada data 

yang sama pada field ini . Apabila kita masukkan kode yang sama, maka akan 

ditolak oleh sistem.   

  

OK… setelah kita rancang tabelnya, kita bisa membuatnya. Berikut ini caranya: 

 

1. Isikan nama tabel di kotak CREATE NEW TABLE ON DATABASE … 

Dalam kasus ini masukkan ‘kategori_buku’ 


 142

2. Masukkan jumlah field dari tabel yang akan dibuat pada NUMBER OF FIELDS 

Dalam kasus ini masukkan ‘2’ 

3. Klik GO 

 

 

 

Setelah itu masukkan nama-nama field dan tipe datanya nya pada form yang muncul 

berikutnya 

 

 

 

 

 

 

 

 

Sebagai latihan coba Anda buat lagi tabel ‘tabel_buku’ dengan field sebagai berikut 

 

kode_buku varchar(10) PRIMARY KEY 

judul_buku text 

kode_kat varchar(5) 

pengarang varchar(30) 

penerbit varchar(30) 

thn_terbit int 

 

Tabel di atas dibuat dalam database ‘perpustakaan’. Dengan demikian terdapat 2 tabel 

dalam database ‘perpustakaan’. 

 

Memasukkan Data/Record ke Tabel 

 

Untuk memasukkan sebuah record ke tabel, perintah SQL nya adalah berikut ini 

 

INSERT INTO nama_tabel (field1, field2, …) VALUES (data1, data2, ..); 

 

Sebagai contoh misalkan kita akan memasukkan record kode kategori: ‘X001’ dan nama 

kategori: ‘MAJALAH’ ke tabel ‘kategori_buku’, maka perintahnya 

 

INSERT INTO kategori_buku (kode_kat, nama_kat) VALUES (‘X001’, ‘MAJALAH’); 

Menunjukkan primary key telah 

dipilih pada field ‘kode_kat’ 


 143

Catatan Penting: 

 

Khusus field yang bertipe VARCHAR, TEXT, DATE, TIME, dan BLOB, value yang akan 

dimasukkan ke tabel harus diapit dengan tanda petik tunggal, misal ‘X001’. Namun 

untuk field bertipe data bilangan (INT, FLOAT) tanpa menggunakan tanda petik. 

 

Dimanakah kita menuliskan perintah SQLnya? Ya… caranya adalah klik terlebih dahulu 

nama database yang kita gunakan pada kolom sebelah kiri dari PhpMyAdmin, dalam hal 

ini klik pada nama database ‘perpustakaan’ 

 

 

 

 

Lalu klik tombol SQL pada menu atas PhpMyAdmin 

 

 

 

Kemudian tulis perintah SQL pada kotak ‘RUN SQL QUERY/QUERIES ON DATABASE …’ 

 

 

 

Selanjutnya klik GO. 

 

Anda dapat menuliskan perintah atau query SQL lebih dari satu sekaligus. 

 


 144

Untuk melihat record yang telah tersimpan ke dalam tabel, caranya klik nama tabel yang 

mau dilihat recordnya pada sisi kiri PhpMyAdmin 

 

 

 

Lalu klik menu BROWSE pada bagian atas PhpMyAdmin 

 

 

 

Selanjutnya akan muncul semua record yang telah disimpan pada tabel ini  

 

 

 

Sebagai latihan coba masukkan record-record berikut ini ke dalam tabel masing-masing 

menggunakan query SQL. 

 

Tabel ‘kategori_buku’ 

 

Kode Kategori Nama Kategori 

X002 REFERENSI 

X003 SURAT KABAR 

X004 JURNAL ILMIAH 

 

 

 

 

Tabel ‘tabel_buku’ 


 145

 

Kode Buku Judul Buku Kode 

Kategori 

Pengarang Penerbit Th. Terbit 

B001 Pemrograman 

Pascal 

X002 Mr. X PT. A 2003 

B002 Pemrograman 

PHP 

X002 Mr. Y PT. A 2004 

B003 Kompas (Edisi 

X 2006) 

X003 - - 2006 

B004 Sains 

Matematika 

(Edisi XI 2008) 

X004 - LIPI 2008 

B005 Tempo (Edisi 

XI 2008 

X001 - PT. B 2008 

 

Mengedit Record 

 

Apabila Anda ingin mengedit record, perintah SQL nya adalah: 

 

UPDATE nama_tabel SET field1 = value, field2 = value, … [WHERE syarat] 

 

Dalam hal ini WHERE merupakan syarat yang bersifat optional. Bila WHERE tidak 

diberikan, maka proses update data diberikan ke semua record. 

 

Contoh:  

 

Perintah SQL untuk mengedit tahun terbit buku berkode ‘B001’ menjadi 2010. 

 

UPDATE tabel_buku SET thn_terbit = 2010 WHERE kode_buku = ‘B001’; 

 

Perintah SQL untuk mengedit tahun terbit buku berkode ‘B002’ menjadi 2004 sekaligus 

mengedit kode kategorinya menjadi ‘X002’. 

 

UPDATE tabel_buku SET thn_terbit = 2004, kode_kat = ‘X002’ WHERE kode_buku = 

‘B002’; 

 

Perintah SQL untuk mengubah judul buku yang diterbitkan oleh PT. A pada tahun 2003 

menjadi ‘XXX’. 

 

UPDATE tabel_buku  

SET judul_buku = ‘XXX’  

WHERE thn_terbit = 2003 AND penerbit = ‘PT. A’; 

 


 146

Catatan:  

Selain operator logika AND, Anda juga bisa menggunakan OR sebagai operator logika 

‘atau’. 

 

Perintah SQL untuk mengubah nama penerbit menjadi PT. C dari semua buku yang 

tahun terbitnya di atas 2004. 

 

UPDATE tabel_buku 

SET penerbit = ‘PT. C’ 

WHERE thn_terbit > 2004; 

 

Catatan: 

Untuk operator relasional, Anda bisa menggunakan tanda =, >, >=, <=, <> (tidak sama 

dengan) 

 

Perintah SQL untuk mengubah tahun terbit buku menjadi 2005 semuanya 

 

UPDATE tabel_buku SET thn_terbit = 2005; 

 

Menghapus Record 

 

Sebuah record atau beberapa record dapat dihapus dari tabel dengan perintah SQL 

 

DELETE FROM nama_tabel [WHERE syarat]; 

 

Contoh: 

 

Perintah SQL untuk menghapus data buku yang berkode ‘B001’ 

 

DELETE FROM tabel_buku WHERE kode_buku = ‘B001’; 

 

Perintah SQL untuk menghapus data buku dari penerbit PT. A yang tahun terbitnya 2004 

 

DELETE FROM tabel_buku WHERE penerbit = ‘PT. A’ AND thn_terbit = 2004;  

 

Tentang SQL SELECT 

 

Perintah SELECT digunakan untuk mencari data atau menampilkan data pada field-field 

tertentu. Sintaksnya adalah: 

 

SELECT field1, field2, … FROM nama_tabel [WHERE syarat ] [ORDER BY field DESC|ASC]; 

 

Keterangan: 


 147

ORDER BY digunakan untuk mensorting hasil data yang ditampilkan berdasarkan field 

tertentu baik secara DESCENDING atau ASCENDING. 

 

Contoh: 

 

Perintah SQL untuk menampilkan data (kode buku dan judul buku) dari buku yang 

minimal terbit pada tahun 2003. 

 

SELECT kode_buku, judul_buku 

FROM tabel_buku 

WHERE thn_terbit >= 2003; 

 

Perintah SQL untuk menampilkan data (untuk semua field) dari buku yang diterbitkan 

oleh PT. A 

 

SELECT * 

FROM tabel_buku 

WHERE penerbit = ‘PT. A’; 

 

Perintah SQL untuk menampilkan data (kode buku, judul buku, tahun terbit) yang 

diurutkan berdasarkan tahun terbit mulai dari yang paling terbaru sampai dengan 

terlama. 

 

SELECT kode_buku, judul_buku, thn_terbit 

FROM tabel_buku 

ORDER BY thn_terbit DESC; 

 

 

Perintah SQL untuk menampilkan data (kode buku, judul buku dan nama kategori buku) 

dari buku yang diterbitkan oleh PT. A pada tahun 2003. 

 

Untuk hal ini, kita harus bekerja di dalam 2 buah tabel sekaligus. Kode buku dan judul 

buku diperoleh dari tabel ‘tabel_buku’, sedangkan nama kategori diperoleh dari tabel 

‘kategori_buku’.  

 

Kedua tabel saling berhubungan karena masing-masing terdapat field bernama ‘kode 

kategori’ atau ‘kode_kat’. 

 

SELECT tabel_buku.kode_buku, tabel_buku.judul_buku, kategori_buku.nama_kat 

FROM tabel_buku, kategori_buku 

WHERE tabel_buku.kode_kat = kategori_buku.kode_kat AND 

              tabel_buku.penerbit = ‘PT. A’ AND 

              tabel_buku.thn_terbit = 2003; 

 


 148

Perintah SQL untuk menampilkan kode buku dan judul buku, yang judul bukunya 

mengandung kata ‘MATEMATIKA’ 

 

SELECT kode_buku, judul_buku  

FROM tabel_buku 

WHERE judul_buku LIKE ‘%MATEMATIKA%’; 

 

Perintah SQL untuk menampilkan kode buku dan judul buku, yang kata depan judul 

bukunya adalah ‘MATEMATIKA’ 

 

SELECT kode_buku, judul_buku  

FROM tabel_buku 

WHERE judul_buku LIKE ‘MATEMATIKA%’; 

 

Perintah SQL untuk menampilkan kode buku dan judul buku, yang judul bukunya 

berakhiran dengan kata ‘MATEMATIKA’ 

 

SELECT kode_buku, judul_buku  

FROM tabel_buku 

WHERE judul_buku LIKE ‘%MATEMATIKA’; 

 

Penggunaan Aggregate Function 

 

Anda juga bisa menggunakan function yang sudah disediakan oleh MySQL, seperti AVG() 

untuk menghitung rata-rata nilai, MAX() untuk menghitung nilai maksimum, MIN() 

untuk mencari nilai minimum, COUNT() untuk menghitung cacah data, SUM() untuk 

menjumlahkan nilai dari beberapa data. 

 

Contoh: 

 

Perintah SQL untuk mencari jumlah buku yang ada di dalam database: 

 

SELECT count(kode_buku) FROM tabel_buku; 

 

Perintah SQL untuk mencari jumlah buku yang memiliki kode kategori ‘X002’: 

 

SELECT count(kode_buku) FROM tabel_buku WHERE kode_kat = ‘X002’; 

 

 

Tugas Untuk Anda 

 

1. Buatlah database dengan nama ‘dbmhs’. Selanjutnya buatlah tabel untuk 

keperluan penyimpanan data perkuliahan mahasiswa dalam database ini .  


 149

 

Berikut ini tabel-tabelnya: 

 

Nama Tabel : ‘mhs’ 

Nama Field :  

 

• nim 

• namaMhs 

• tglLahir 

• alamat 

 

Nama Tabel : ‘mk’ 

Nama Field : 

 

• kodeMK 

• namaMK 

• sks 

• smt 

 

Nama Tabel : ‘ambilMK’ 

Nama Field : 

 

• nim 

• kodeMK 

• nilai 

 

Tentukan sendiri tipe data yang cocok untuk setiap fieldnya, dan tentukan 

PRIMARY KEY nya. Sebutkan alasan pemilihan tipe data dan PRIMARY KEY nya. 

 

2. Selanjutnya sisipkan ke dalam masing-masing tabel 5 buah record menggunakan 

perintah SQL 

 

3. Tuliskan perintah SQL untuk proses berikut ini 

 

a. Hapus data mahasiswa yang bernim ‘M0197001’ 

b. Hapus matakuliah yang memiliki jumlah SKS 4 yang ada di semester 2. 

c. Hapus matakuliah yang memiliki jumlah SKS 2 s/d 4 

d. Hapus matakuliah yang memiliki jumlah SKS 4 atau di semester 3 

e. Ubahlah nilai matakuliah berkode ‘K001’ yang diambil mahasiswa bernim 

‘M0197001’ menjadi 3. 

f. Ubahlah semua nilai mahasiswa yang mengambil matakuliah berkode ‘K001’ 

menjadi satu lebihnya dari nilai semula. Contoh nilai sebelumnya 2, maka 

diubah menjadi 2+1 = 3. 


 150

g. Tampilkan data matakuliah (kode matakuliah, nama matakuliah) yang berada 

di semester 2 

h. Tampilkan jumlah mahasiswa yang beralamat di ‘SOLO’. 

i. Tampilkan data mahasiswa (nim, nama mahasiswa) yang namanya 

mengandung kata ‘JOKO’. 

j. Tampilkan data mahasiswa (nim, nama mahasiswa) yang mengambil 

matakuliah berkode ‘K001’ 

k. Tampilkan nilai tertinggi dari matakuliah berkode ‘K001’ yang diambil 

mahasiswa. 

l. Tampilkan data mahasiswa (nim, nama mahasiswa, nilai matakuliah) yang 

mengambil matakuliah berkode ‘K001’ diurutkan berdasarkan nilai mulai dari 

tertinggi sampai terendah 

m. Tampilkan rata-rata nilai matakuliah mahasiswa yang mengambil matakuliah 

berkode ‘K001’ 

n. Tampilkan daftar matakuliah (kode matakuliah, nama matakuliah) yang 

pernah diambil oleh mahasiswa bernim ‘M0197001’ 

o. Tampilkan nilai IPK (index prestasi kumulatif) dari mahasiswa bernim 

‘M0197001’. 

 

   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 151

BAB 17 

Konsep INSERT Data dengan PHP 

 

 

Setelah Anda mengenal beberapa bentuk perintah SQL untuk memanipulasi atau 

mengolah data di MySQL, pada bab ini Anda akan diperkenalkan bagaimana 

menerapkan konsep ini  yang terintegrasi dengan script PHP. 

 

Pada bab ini terlebih dahulu akan diperkenalkan bagaimana konsep inserting data ke 

MySQL melalui PHP. 

 

Koneksi PHP ke MySQL 

 

Sebelum kita membahasnya lebih lanjut tentang inserting data, terlebih dahulu akan 

disinggung tentang bagaimana caranya melakukan koneksi dari PHP ke MySQL. 

 

Perintah PHP untuk koneksi ke MySQL adalah: 

 

mysql_connect(‘nama host’, ‘nama user’, ‘password’); 

mysql_select_db(‘nama db’); 

 

Keterangan: 

 

• Nama Host : nama komputer di mana MySQL nya berada, kalo berada di 

komputer itu sendiri maka nama hostnya: ‘localhost’, bisa juga diberi nomor IP 

dari komputernya. 

• Nama User : nama user yang memiliki hak akses ke MySQL nya 

• Password : password dari nama user yang punya hak akses ke MySQL 

• Nama DB : nama database yang akan dipilih 

 

Contoh: 

 

Berikut ini adalah script untuk melakukan koneksi ke MySQL dengan nama host: 

localhost, user : root, password: root, dan nama database: contoh 

 

<?php 

mysql_connect('localhost', 'root', 'root'); 

mysql_select_db('contoh'); 

?> 

 


 152

Sebaiknya script di atas kita simpan dalam file script tersendiri, misalkan koneksi.php. 

Selanjutnya script ini  kita includekan ke dalam script lain yang di dalamnya 

terdapat query-query SQL. 

 

Menjalankan Query SQL di PHP 

 

Setelah kita melakukan koneksi dari PHP ke MySQL, selanjutnya kita bisa menjalankan 

query melalui script PHP. 

 

Untuk menjalankan query SQL di PHP, kita gunakan perintah 

 

mysql_query(query); 

 

Contoh: 

Berikut ini contoh script PHP untuk menjalankan query SQL untuk insert data ke tabel 

MySQL 

 

<?php 

 

include "koneksi.php"; 

 

$query = "INSERT INTO namaTabel(field1, field2) VALUES(value1, value2) "; 

mysql_query($query); 

 

?> 

 

Selanjutnya akan dibahas bagaimana mengimplementasikan konsep inserting data ke 

MySQL melalui script PHP yang diintegrasikan dengan form input 

 

Studi Kasus 

 

Dalam studi kasus ini akan dicontohkan bagaimana cara membuat form registrasi yang 

di dalamnya terdapat beberapa jenis komponen input seperti textbox, radiobutton, 

combo box, checkbox dan textarea. 

 

Form ini  akan diterapkan dalam kasus registrasi peserta suatu seminar secara 

online. 

 

Untuk keperluan ini  terlebih dahulu kita buat tabelnya. 

 

Nama Tabel : peserta 

Field 

 


 153

id   integer  auto increment  primary key   

namaPeserta  varchar(30) 

tglLahir  date 

tmptLahir  varchar(30) 

sex   varchar(1) 

alamat   text 

tglDaftar  date 

informasi  text   

 

Keterangan: 

 

Field ‘informasi’ digunakan untuk menyimpan keterangan darimana peserta seminar 

mendapatkan informasi tentang seminar (dari surat kabar, televisi, atau dari teman). 

 

Field ‘id’ diset bertipe data integer dan berupa auto increment. Maksud dari auto 

increment adalah secara otomatis akan muncul nomor urut begitu data baru 

dimasukkan ke dalam tabel. 

 

Field dengan tipe data DATE, harus berformat YYYY-MM-DD (tahun-bulan-tgl) 

 

Selanjutnya kita siapkan form untuk input data peserta seminarnya 

 

registrasi.php 

 

<html> 

<head> 

   <title>Registrasi Peserta Seminar</title> 

</head> 

<body> 

   <h1>Registrasi Peserta Seminar</h1> 

   <form method="post" action="submit.php"> 

   <table> 

     <tr><td>Nama Lengkap</td><td>:</td><td><input type="text" name="nama" 

/></td></tr> 

  <tr><td>Alamat</td><td>:</td><td><textarea 

name="alamat"></textarea></td></tr> 

  <tr><td>Tempat Lahir</td><td>:</td><td><input type="text" name="tmptLhr" 

/></td></tr> 

  <tr><td>Tanggal Lahir</td><td>:</td> 

  <td> 

  <select name="tgl"> 

  <?php 

  for($i=1; $i<=31; $i++) 

  { 


 154

    echo "<option value='".$i."'>".$i."</option>"; 

  } 

  ?> 

  </select> 

  <select name="bln"> 

  <?php 

  for($i=1; $i<=12; $i++) 

  { 

    echo "<option value='".$i."'>".$i."</option>"; 

  } 

  ?> 

  </select> 

  <select name="thn"> 

  <?php 

  for($i=1950; $i<=1990; $i++) 

  { 

    echo "<option value='".$i."'>".$i."</option>"; 

  } 

  ?> 

  </select> 

  </td> 

  </tr> 

  <tr><td>Jenis Kelamin</td><td>:</td><td><input type="radio" name="sex" 

value="L" /> Laki-laki <br/><input type="radio" name="sex" value="P" /> 

Perempuan</td></tr> 

  <tr><td>Tahu informasi seminar dari mana?</td><td>:</td><td><input 

type="checkbox" name="info1" value="TV" /> Televisi<br /><input type="checkbox" 

name="info2" value="Koran" /> Surat Kabar<br /><input type="checkbox" 

name="info3" value="Teman" /> Teman</td></tr> 

  <tr><td></td><td></td><td><input type="submit" name="submit" 

value="Submit" /></td></tr> 

   </table> 

   </form> 

</body> 

</html> 

 

Keterangan: 

 

Pusing melihat script diatas? ☺ Jangan khawatir, script nantinya akan disertakan melalui 

email untuk dipelajari. 

 

Form di atas akan tampak seperti di bawah ini begitu dibuka di browser 

 


 155

 

 

Setelah kita buat form registrasinya, selanjutnya kita buat form untuk proses 

penyimpanan data pesertanya. 

 

submit.php 

 

<?php 

 

include "koneksi.php"; 

 

$nama = $_POST['nama']; 

$alamat = $_POST['alamat']; 

$tmptLhr = $_POST['tmptLhr']; 

$tglLhr = $_POST['thn']. "-".$_POST['bln']. "-".$_POST['tgl'];   // membentuk format thn-

bln-tgl 

$sex = $_POST['sex']; 

$tglDaftar = date("Y-m-d");      // membaca tanggal sekarang (recent date) format thn-

bln-tgl 

 

 

// menggabungkan informasi darimana peserta mendapatkan info tentang seminar 

 

$info = $_POST['info1']. " ".$_POST['info2']. " ".$_POST['info3'];  

 

$query = "INSERT INTO peserta (namaPeserta, tglLahir, tmptLahir, sex, alamat, tglDaftar, 

                  informasi) VALUES ('$nama', '$tglLhr', '$tmptLhr', '$sex', '$alamat', 'tglDaftar', 

                  '$info' )"; 

 

$hasilQuery = mysql_query($query); 


 156

 

if ($hasilQuery) echo "Data sudah tersimpan ke database"; 

else echo "Penyimpanan data gagal"; 

 

?> 

  

Tugas Untuk Anda  

 

1. Buatlah form untuk keperluan pengisian buku tamu (guestbook) dengan data 

yang diisikan sbb: 

 

Nama pengisi 

Email 

Situs Web 

Komentar 

 

Buat pula sebuah tabel dalam database untuk menyimpan data isian buku tamu 

ini  dengan field sbb: 

 

Id  integer  auto increment   Primary Key 

Nama  varchar(30)  

Email  varchar(30) 

Website varchar(30) 

Tanggal date  

Komentar text 

 

Keterangan: 

 

Field ‘tanggal’ digunakan untuk menyimpan informasi tanggal kapan komentar 

ini  dikirim (tanggal ini secara otomatis membaca tanggal ketika komentar 

buku tamu disubmit) 

 

2. Buatlah form untuk registrasi mahasiswa baru angkatan tahun 2009 di sebuah 

universitas X yang di dalamnya terdapat 3 buah fakultas, yaitu KEDOKTERAN 

(kode: A), TEKNIK (kode: B), dan MIPA (kode: C) 

 

Berikut ini gambaran form untuk registrasi mahasiswa adalah: 

 


 157

 

 

 

Setiap kali data mahasiswa baru diinputkan, maka secara otomatis dibuatkan 

nomor induk mahasiswa (NIM) dengan format X-XX-XXXX sebelum disimpan ke 

database dengan keterangan: 

 

Digit pertama menunjukkan kode fakultas si mahasiswa, Digit kedua dan ketiga 

menunjukkan tahun angkatan, dan 4 digit sisanya menunjukkan nomor urut 

mahasiswa sesuai kode fakultas dan tahun angkatannya 

 

Berikut ini contoh cara pemberian NIM, misalkan terdapat 6 data mahasiswa 

yang akan diinputkan 

 

Mhs 1 (KEDOKTERAN ) Nomor induk: A-09-0001  

Mhs 2 (TEKNIK)  Nomor induk: B-09-0001 

Mhs 3 (KEDOKTERAN)  Nomor induk: A-09-0002 

Mhs 4 (TEKNIK)  Nomor induk: B-09-0002 

Mhs 5 (MIPA)   Nomor induk: C-09-0001 

Mhs 6 (KEDOKTERAN)  Nomor induk: A-09-0003 

 

 Sedangkan field tabel database yang diperlukan untuk registrasi ini adalah 

 

 nim  varchar(9) primary key 

 namaMhs varchar(30) 

 alamatMhs text 

 tmptLahir varchar(30) 

 tglLahir  date 

 noTelp  varchar(30) 

 

 Petunjuk Pengerjaan:  

 


 158

Silakan baca artikel saya di blog tentang membuat kode unik incremental 

otomatis terkait dengan membuat NIM untuk kasus di atas. 

  

 http://blog.rosihanari.net/ide-membuat-generator-kode-unik-incremental-  

otomatis/  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 159

BAB 18 

Konsep Menampilkan Data MySQL 

dengan PHP 

 

Pada bab sebelumnya Anda telah belajar bagaimana konsep menyisipkan data atau 

record ke dalam tabel database MySQL. Sekarang kita lanjutkan ke konsep bagaimana 

menampilkan data yang ada di database MySQL dengan script PHP. 

 

Konsep menampilkan data dengan script PHP ini adalah menggabungkan query SELECT 

di SQL yang dijalankan dalam script PHP.  

 

Konsep dasar menampilkan data dengan script PHP ini adalah 

 

1. Buat query SQL untuk menampilkan data (gunakan SELECT) 

2. Jalankan query ini  dengan menggunakan mysql_query() di PHP 

3. Baca data hasil query ini  dengan proses fetching. Gunakan perintah 

mysql_fetch_array() di PHP. Hasil dari mysql_fetch_array() ini adalah suatu nilai 

dalam bentuk array asosiatif dengan nama field tabel sebagai indeksnya. 

4. Tampilkan data dari proses fetching sesuai nama field yang ada dalam array. 

 

Langsung saja, dalam pembahasan bab ini akan saya berikan contohnya untuk 

menampilkan data semua peserta yang telah registrasi sesuai kasus yang diberikan pada 

Bab 17. Sehingga dalam hal ini, struktur tabelnya sama dengan kasus yang dibahas pada 

Bab 17. 

 

Dalam contoh ini, kita akan mencoba menampilkan data peserta khususnya pada field 

Nama Peserta, Tanggal Lahir, Jenis Kelamin, Alamat, Tanggal Daftar, dan Tempat Lahir. 

 

Langkah pertama, kita siapkan terlebih dahulu script untuk koneksi ke MySQL nya dan 

ke databasenya. 

 

koneksi.php 

 

<?php 

mysql_connect("localhost", "root", "root"); 

mysql_select_db("contoh"); 

?> 

 

Catatan: sesuaikan nama username, password dan nama database yang Anda gunakan. 


 160

 

Langkah kedua, kita bisa mulai membuat script untuk menampilkan datanya. 

 

view.php 

 

<html> 

  <head> 

     <title>Data Peserta</title> 

  </head> 

  <body> 

     <h1>Data Peserta</h1> 

     <table border="1"> 

        <tr><th>Nama Peserta</th><th>Tgl Lahir</th><th>Tempat 

Lahir</th><th>Alamat</th> 

              <th>Jenis Kelamin</th><th>Tgl Daftar</th></tr> 

         

        // letak script menampilkan data // 

      

      </table> 

  </body> 

</html>  

 

Script di atas baru membuat judul tabel untuk menampilkan datanya. Sekarang barulah 

kita buat script untuk menampilkan datanya. 

 

view.php 

 

<html> 

  <head> 

     <title>Data Peserta</title> 

  </head> 

  <body> 

     <h1>Data Peserta</h1> 

     <table border="1"> 

        <tr><th>Nama Peserta</th><th>Tgl Lahir</th><th>Tempat 

Lahir</th><th>Alamat</th> 

              <th>Jenis Kelamin</th><th>Tgl Daftar</th></tr> 

         

        <?php 

 

        include "koneksi.php"; 

 

        $query = "SELECT * FROM peserta"; 

        $hasil = mysql_query($query); 


 161

   

        while ($data = mysql_fetch_array($hasil)) 

        { 

             echo "<tr><td>".$data['namaPeserta']."</td><td>".$data['tglLahir']."</td> 

                             <td>".$data['tmptLahir']."</td><td>".$data['alamat']."</td> 

                             <td>".$data['sex']."</td><td>".$data['tglDaftar']."</td></tr>"; 

        } 

        ?> 

      

      </table> 

  </body> 

</html> 

 

Keterangan: 

 

Dalam melakukan proses fetching data menggunakan mysql_fetch_array() dilakukan per 

baris data dari hasil query. Sehingga untuk memfetching semua data hasil query, kita 

gunakan looping WHILE.  

 

Selama masih ada baris data hasil query yang bisa difetch, maka looping ini akan terus 

berjalan dan baru akan berhenti bila sudah tidak ada baris lagi yang bisa difetch (akhir 

dari baris data). 

 

Setiap kali data difetch, selanjutnya langsung ditampilkan dengan echo.  

 

Catatan: 

 

Bila data hasil query SELECT hanya terdiri dari sebuah baris data, maka Anda tidak perlu 

menggunakan looping WHILE. 

 

Array $data['namaPeserta'] digunakan untuk menampilkan data terkait dengan field 

‘namaPeserta’ yang ada dalam tabel.  

 

PENTING!!  

 

Besar kecilnya huruf dalam indeks array harus sama dengan nama fieldnya. Jika 

tulisannya berbeda, maka data tidak akan muncul. 

 

 

Hasil dari script view.php di atas adalah sebagai berikut 

 


 162

 

 

 

Tugas Untuk Anda 

 

1. Dengan menggunakan tabel dan data yang ada dalam pembahasan modul ini di 

atas, buatlah script untuk menampilkan data peserta berdasarkan jenis 

kelaminnya.  

 

Adapun tampilan datanya diharapkan seperti di bawah ini 

 

No Nama 

Peserta 

Tgl Lahir Tmpt Lahir Alamat Jenis Kelamin 

1      

2      

 

Jumlah Data : … 

 

Dengan ‘No’ adalah nomor urut 1, 2, 3, … (bukan nomor ID data dalam tabel 

database) 

 

Terlebih dahulu buatlah form berisi pilihan menggunakan Radio Button untuk 

memilih jenis kelamin dari peserta yang akan ditampilkan. Selanjutnya setelah 

dipilih jenis kelaminnya, dan kemudian disubmit, maka akan muncul daftar 

peserta berdasarkan jenis kelamin yang dipilih. 

 

2. Dengan menggunakan tabel dan data yang ada dalam pembahasan modul ini di 

atas, buatlah script untuk menampilkan data peserta berdasarkan nama yang 

ingin dicari.  

 


 163

Terlebih dahulu buatlah form berisi text box untuk memasukkan nama peserta 

yang akan dicari. Selanjutnya setelah dimasukkan nama, dan kemudian disubmit, 

maka akan muncul daftar peserta berdasarkan nama yang dicari. Misal jika ingin 

dicari nama ‘JOKO’ maka akan menampilkan semua data peserta yang namanya 

memuat nama ‘JOKO’. 

 

Bantuan: 

Gunakan klausa WHERE nama LIKE ‘%...%’;  

 

Tampilkan data hasil pencariannya menggunakan format tampilan seperti no. 1 

di atas 

 

3. Dengan menggunakan tabel dan data yang ada dalam pembahasan modul ini di 

atas, buatlah script untuk menampilkan semua data peserta yang diurutkan 

berdasarkan TANGGAL PENDAFTARAN mulai dari yang baru saja mendaftar 

sampai dengan yang paling dahulu mendaftar 

 

Adapun tampilan datanya diharapkan seperti di bawah ini 

 

No Nama 

Peserta 

Tgl Lahir Alamat Jenis Kelamin Tgl Daftar 

1      

2      

 

Jumlah Data Semua  : … 

Jumlah Peserta Laki-Laki  : … 

Jumlah Peserta Perempuan  : … 

 

 Catatan:  

Untuk mempercantik tampilan data dalam tabel di atas, gunakan warna selang-

seling dalam setiap barisnya.  

 

Tutorial tentang bagaimana cara membuat warna baris selang-seling, dapat 

dibaca di 

 

http://blog.rosihanari.net/script-php-untuk-menampilkan-data-dalam-tabel-

dengan-warna-baris-selang-seling/  

 

 

 

 

 

 

 


 164

BAB 19 

Update Data dengan PHP - MySQL 

 

 

Proses update suatu data dengan menggunakan script PHP dan MySQL biasanya 

memiliki mekanisme sebagai berikut: 

 

1. Tampilkan list data terlebih dahulu 

2. Buat sebuah link pada setiap baris data yang menuju proses update. Link 

ini  memuat sebuah parameter yang di dalamnya terdapat value yang 

nantinya digunakan sebagai acuan dalam proses update datanya.  

3. Selanjutnya bila link ini  diklik akan muncul form berisi data yang akan 

diedit. 

 

Dalam melakukan proses update data, pada prinsipnya adalah menjalankan query 

update pada SQL nya. 

 

UPDATE namaTabel SET namafield = value WHERE … 

 

Baiklah… kita langsung saja mempraktekkan proses update data. Sebagai contoh, kita 

akan mengupdate data mahasiswa, dimana tabel untuk menyimpan data mahasiswanya 

berbentuk seperti di bawah ini 

 

nim  varchar(5) primary key 

nama  varchar(30) 

alamat  text 

sex  varchar(1) 

tgllahir  date 

 

Sebagai contoh misalkan kita telah mempunyai data awal sebagai berikut 

 

NIM NAMA ALAMAT SEX TGLLAHIR 

M0001 A SOLO L 1979-10-20 

M0002 B JAKARTA L 1982-09-10 

M0003 C BANDUNG P 1980-11-07 

 

Catatan: Untuk membuat data awal Anda bisa mengisikannya langsung ke MySQL 

dengan phpMyAdmin atau membuat script PHP untuk memasukkan datanya. 

 


 165

Sesuai dengan mekanisme di atas, maka langkah pertama kita buat terlebih dahulu 

script untuk menampilkan list datanya. Dalam script list ini, data akan disajikan dalam 

bentuk tabel dengan 6 buah kolom. Lima kolom pertama untuk menampilkan data 

semua fieldnya, sedangkan kolom ke-6 untuk meletakkan link untuk editnya. 

 

list.php 

 

<?php 

 

mysql_connect("localhost", "root", "root"); 

mysql_select_db("data"); 

 

// query SQL untuk memunculkan semua mahasiswa 

 

$query = "SELECT * FROM mhs"; 

$hasil = mysql_query($query); 

 

echo "<table border='1'>"; 

echo "<tr><td>NIM</td> 

                <td>Nama Mahasiswa</td> 

                <td>Alamat</td> 

                <td>Sex</td> 

                <td>Tgl Lahir</td> 

                <td>Action</td></tr>"; 

while ($data = mysql_fetch_array($hasil)) 

  echo "<tr><td>".$data['nim']."</td> 

                  <td>".$data['nama']."</td> 

                  <td>".$data['alamat']."</td> 

                  <td>".$data['sex']."</td> 

                  <td>".$data['tgllahir']."</td> 

                  <td>Edit</td></tr>"; 

echo "</table>"; 

?> 

 

 

Hasil dari script di atas akan menghasilkan tampilan sebagai berikut: 

 


 166

 

 

Selanjutnya, bagaimana bentuk link editnya? Link edit misalkan kita buat sebagai berikut 

 

http://.../edit.php?nim=... 

 

Dalam link edit di atas, link akan diarahkan ke script edit.php yang nantinya akan 

memunculkan form untuk keperluan edit data. Di dalam link ini  terdapat 

parameter nim yang nantinya digunakan sebagai acuan mahasiswa manakah yang 

datanya akan diedit. Sebagai contoh, misalkan akan diedit mahasiswa bernim ‘M0001’ 

maka linknya akan berbentuk 

 

http://.../edit.php?nim=M0001 

 

OK.. sekarang kita modifikasi sedikit script list.php di atas untuk memunculkan link 

editnya. 

 

list.php 

 

<?php 

 

mysql_connect("localhost", "root", "root"); 

mysql_select_db("data"); 

 

// query SQL untuk memunculkan semua mahasiswa 

 

$query = "SELECT * FROM mhs"; 

$hasil = mysql_query($query); 

 

echo "<table border='1'>"; 

echo "<tr><td>NIM</td> 

                <td>Nama Mahasiswa</td> 

                <td>Alamat</td> 

                <td>Sex</td> 

                <td>Tgl Lahir</td> 

                <td>Action</td></tr>"; 

while ($data = mysql_fetch_array($hasil)) 

  echo "<tr><td>".$data['nim']."</td> 


 167

                  <td>".$data['nama']."</td> 

                  <td>".$data['alamat']."</td> 

                  <td>".$data['sex']."</td> 

                  <td>".$data['tgllahir']."</td> 

                  <td><a href='edit.php?nim=".$data['nim']."'>Edit</a></td></tr>"; 

echo "</table>"; 

?> 

 

Langkah selanjutnya kita buat script edit.php yang nantinya akan memunculkan form 

edit sekaligus data mahasiswa yang akan diedit. Mungkin yang menjadi pertanyaan 

adalah bagaimana cara memunculkan data mahasiswa yang akan diedit? Ya… jawabnya 

adalah dengan menggunakan query SELECT dengan nim sebagai syaratnya. Dalam hal ini 

nim yang ada dalam link edit lah yang nantinya akan digunakan sebagai syarat. 

 

SELECT * FROM mhs WHERE nim = …; 

 

OK… berikut ini adalah script edit.php untuk memunculkan form dan data yang akan 

diedit. 

 

 

edit.php 

 

<?php 

 

mysql_connect("localhost", "root", "root"); 

mysql_select_db("data"); 

 

$nim = $_GET['nim']; 

 

$query = "SELECT * FROM mhs WHERE nim = '$nim'"; 

$hasil = mysql_query($query); 

$data  = mysql_fetch_array($hasil); 

 

echo "<form method='post' action='update.php'>"; 

echo "<table>"; 

echo "<tr><td>NIM</td><td>:</td> 

                <td><input type='text' name='nim' value='".$data['nim']."'></td></tr>"; 

echo "<tr><td>Nama Mahasiswa</td><td>:</td> 

                <td><input type='text' name='nama' value='".$data['nama']."'></td></tr>"; 

echo "<tr><td>Alamat</td><td>:</td> 

                <td><textarea name='alamat'>".$data['alamat']."</textarea></td></tr>"; 

echo "<tr><td>Sex</td><td>:</td> 

          <td><input type='radio' name='sex' value='L'> Laki-Laki  


 168

                   <input type='radio' name='sex' value='P'> Perempuan</td></tr>"; 

echo "<tr><td>Tgl Lahir</td><td>:</td><td> 

          <select name='tgl'>"; 

for ($i=1; $i<=31; $i++) 

   echo "<option value='".$i."'>".$i."</option>"; 

}     

echo "</select> 

          <select name='bln'>"; 

for ($i=1; $i<=12; $i++) 

   echo "<option value='".$i."'>".$i."</option>"; 

}     

echo "</select> 

      <select name='thn'>"; 

for ($i=1980; $i<=1997; $i++) 

   echo "<option value='".$i."'>".$i."</option>"; 

}     

echo "</select> 

   </td></tr>"; 

echo "</table>"; 

echo "<input type='submit' name='submit' value='Submit'>"; 

echo "</form>"; 

 

?> 

 

 

Catatan: 

 

• Untuk keperluan edit data nim, script di atas menggunakan komponen textbox. 

Demikian pula edit data nama mahasiswa. 

• Sedangkan untuk alamat, script di atas menggunakan komponen textarea. 

• Untuk edit jenis kelamin, kita menggunakan komponen radiobutton 

• Untuk edit tanggal lahir mahasiswa, kita menggunakan 3 komponen combobox 

yang masing-masing digunakan untuk tanggal, bulan dan tahun. Option dari 

masing-masing combobox digenerate otomatis dengan looping FOR. 

 

Hasil tampilan dari script di atas ketika digunakan untuk mengedit data mahasiswa 

bernim ‘M0001’ adalah 

 


 169

 

 

 

Bila kita perhatikan tampilan script edit di atas, maka untuk edit jenis kelamin masih 

belum berfungsi. Seharusnya karena data awal mahasiswa bernim ‘M0001’ adalah 

berjenis kelamin ‘Laki-laki’ maka radiobutton Laki-laki terpilih (checked). Demikian pula 

bila jenis kelaminnya adalah Perempuan. Lantas.. bagaimana caranya mewujudkan hal 

ini? OK.. caranya adalah dengan menggunakan konsep IF.  

 

Perhatikan bagian script dari edit.php di bawah ini: 

 

echo "<tr><td>Sex</td><td>:</td> 

          <td><input type='radio' name='sex' value='L'> Laki-Laki  

                   <input type='radio' name='sex' value='P'> Perempuan</td></tr>"; 

 

Nah… kita akan memodifikasi bagian script di atas menjadi seperti di bawah ini: 

 

echo "<tr><td>Sex</td><td>:</td><td>”; 

 

if ($data['sex'] == ”L”)   

        echo ”<input type='radio' name='sex' value='L' checked> Laki-Laki  

                  <input type='radio' name='sex' value='P'> Perempuan”; 

else if ($data['sex'] == ”P”) 

        echo ”<input type='radio' name='sex' value='L'> Laki-Laki  

                  <input type='radio' name='sex' value='P' checked> Perempuan”; 

 

echo "</td></tr>"; 

 

Konsep dari ide script modifikasi di atas adalah jika data jenis kelamin mahasiswa adalah 

laki-laki (L) maka komponen radiobutton laki-laki akan dichecked. Demikian pula jika 

perempuan. 

 

Setelah bagian script edit jenis kelamin diedit maka hasilnya adalah 

 


 170

 

 

Simpel bukan idenya? ☺ 

 

OK… next… kita perhatikan bagian edit tanggal lahir. Dalam tampilan script yang telah 

kita buat di atas, seharusnya tanggal lahir menyesuaikan data tanggal lahir awal 

sebelum diedit. 

 

Untuk mewujudkan hal ini, pada dasarnya konsep atau idenya sama dengan jenis 

kelamin di atas yaitu menggunakan IF. Namun… yang menjadi masalah bagaimana 

caranya memecah tanggal supaya ketiga komponen combobox yang ada dapat 

membaca tanggal, bulan dan tahun. 

 

OK solusi untuk memecah tanggal, pernah kita bahas sebelumnya yaitu dengan 

memanfaatkan function explode(). 

 

Berikut ini script edit.php yang telah dimodifikasi untuk edit tanggal lahirnya 

 

edit.php 

 

<?php 

 

mysql_connect("localhost", "root", "root"); 

mysql_select_db("data"); 

 

$nim = $_GET['nim']; 

 

$query = "SELECT * FROM mhs WHERE nim = '$nim'"; 

$hasil = mysql_query($query); 

$data  = mysql_fetch_array($hasil); 

 

// memecah tanggal lahir ke dalam masing-masing unsur (tgl, bln, thn) 

 

$pecahTgl = explode("-", $data['tgllahir']); 

$tgl = $pecahTgl[2]; 


 171

$bln = $pecahTgl[1]; 

$thn = $pecahTgl[0]; 

 

echo "<form method='post' action='update.php'>"; 

echo "<table>"; 

echo "<tr><td>NIM</td><td>:</td> 

                <td><input type='text' name='nim' value='".$data['nim']."'></td></tr>"; 

echo "<tr><td>Nama Mahasiswa</td><td>:</td> 

                <td><input type='text' name='nama' value='".$data['nama']."'></td></tr>"; 

echo "<tr><td>Alamat</td><td>:</td> 

                <td><textarea name='alamat'>".$data['alamat']."</textarea></td></tr>"; 

echo "<tr><td>Sex</td><td>:</td> 

          <td><input type='radio' name='sex' value='L'> Laki-Laki  

                   <input type='radio' name='sex' value='P'> Perempuan</td></tr>"; 

echo "<tr><td>Tgl Lahir</td><td>:</td><td> 

          <select name='tgl'>"; 

for ($i=1; $i<=31; $i++) 

   if ($i == $tgl) echo "<option value='".$i."' selected>".$i."</option>"; 

   else echo "<option value='".$i."'>".$i."</option>"; 

}     

echo "</select> 

          <select name='bln'>"; 

for ($i=1; $i<=12; $i++) 

   if ($i == $bln) echo "<option value='".$i."' selected>".$i."</option>"; 

   else echo "<option value='".$i."'>".$i."</option>"; 

}     

echo "</select> 

      <select name='thn'>"; 

for ($i=1980; $i<=1997; $i++) 

   if ($i == $thn) echo "<option value='".$i."' selected>".$i."</option>"; 

   else echo "<option value='".$i."'>".$i."</option>"; 

}     

echo "</select> 

   </td></tr>"; 

echo "</table>"; 

echo "<input type='submit' name='submit' value='Submit'>"; 

echo "</form>"; 

 

?> 

 

Nah… mudah dan simpel bukan idenya? 


 172

 

Sekarang yang terakhir, kita buat script untuk updatenya. Tapi… eiiit… wait a minute.. 

bagaimana bila NIM mahasiswanya yang diubah? Lho.. emangnya ada apa? Mungkin di 

pikiran Anda konsepnya sama dengan update data yang lain. Iya sih… but… coba kita 

lihat pemisalannya. Jika data seorang mahasiswa sebelum diubah memiliki NIM 

‘M0001’. Kemudian data NIM nya diubah menjadi ‘M0002’. Bagaimana SQL nya? SQL 

nya adalah sebagai berikut: 

 

UPDATE mhs SET nim = ‘M0002’ WHERE nim = ‘M0001’;  

 

Dari SQL di atas, kita bisa melihat bahwa kita perlu NIM lama mahasiswa guna proses 

update ini . Nah… bila komponen textbox pada form edit untuk update NIM di atas 

kita ubah isinya, maka dengan kata lain kita akan kehilangan NIM yang lama. Nah… 

gimana tuh? 

 

OK… ide untuk menanggulangi hal ini  adalah kita buat komponen hidden input 

untuk menyimpan NIM yang lama (sebelum diedit). NIM lama ini nantinya kita gunakan 

sebagai acuan proses updatenya. 

 

Nah.. dengan demikian kita modifikasi kembali script edit.php yang telah kita buat 

sebelumnya. 

 

edit.php 

 

<?php 

 

mysql_connect("localhost", "root", "root"); 

mysql_select_db("data"); 

 

$nim = $_GET['nim']; 

 

$query = "SELECT * FROM mhs WHERE nim = '$nim'"; 

$hasil = mysql_query($query); 

$data  = mysql_fetch_array($hasil); 

 

$pecahTgl = explode("-", $data['tgllahir']); 

$tgl = $pecahTgl[2]; 

$bln = $pecahTgl[1]; 

$thn = $pecahTgl[0]; 

 

echo "<form method='post' action='update.php'>"; 

echo "<table>"; 

echo "<tr><td>NIM</td><td>:</td> 

                <td><input type='text' name='nimBaru' value='".$data['nim']."'></td></tr>"; 


 173

echo "<tr><td>Nama Mahasiswa</td><td>:</td> 

                <td><input type='text' name='nama' value='".$data['nama']."'></td></tr>"; 

echo "<tr><td>Alamat</td><td>:</td> 

                <td><textarea name='alamat'>".$data['alamat']."</textarea></td></tr>"; 

echo "<tr><td>Sex</td><td>:</td> 

          <td><input type='radio' name='sex' value='L'> Laki-Laki  

                   <input type='radio' name='sex' value='P'> Perempuan</td></tr>"; 

echo "<tr><td>Tgl Lahir</td><td>:</td><td> 

          <select name='tgl'>"; 

for ($i=1; $i<=31; $i++) 

   if ($i == $tgl) echo "<option value='".$i."' selected>".$i."</option>"; 

   else echo "<option value='".$i."'>".$i."</option>"; 

}     

echo "</select> 

          <select name='bln'>"; 

for ($i=1; $i<=12; $i++) 

   if ($i == $bln) echo "<option value='".$i."' selected>".$i."</option>"; 

   else echo "<option value='".$i."'>".$i."</option>"; 

}     

echo "</select> 

      <select name='thn'>"; 

for ($i=1980; $i<=1997; $i++) 

   if ($i == $thn) echo "<option value='".$i."' selected>".$i."</option>"; 

   else echo "<option value='".$i."'>".$i."</option>"; 

}     

echo "</select> 

   </td></tr>"; 

echo "</table>"; 

echo "<input type='hidden' name='nimLama' value='".$data[‘nim’]."'>"; 

echo "<input type='submit' name='submit' value='Submit'>"; 

echo "</form>"; 

 

?> 

 

Catatan: 

Letak komponen hidden input ini bisa diletakkan di sebarang tempat di dalam form, 

mengingat komponen ini tidak terlihat oleh mata ☺ 

 

Nah.. dengan demikian kita sekarang bisa konsentrasi ke script updatenya. Konsepnya 

hanyalah menjalankan query SQL UPDATE. 

 


 174

update.php 

 

<?php 

 

mysql_connect("localhost", "root", "root"); 

mysql_select_db("data"); 

 

$nimLama = $_POST['nimLama']; 

$nimBaru = $_POST['nimBaru']; 

$nama = $_POST['nama']; 

$alamat = $_POST['alamat']; 

$sex = $_POST['sex']; 

 

// menggabung unsur tgl dalam combobox menjadi satu dalam format yyyy-mm-dd 

 

$tgllahir = $_POST['thn']."-".$_POST['bln']."-".$_POST['tgl']; 

 

$query = "UPDATE mhs  

                 SET nim = '$nimBaru', nama = '$nama', alamat = '$alamat', sex = '$sex',  

                        tgllahir = '$tgllahir' 

                 WHERE nim = '$nimLama'"; 

$hasil = mysql_query($query); 

if ($hasil) echo "Data sudah diupdate";     

else echo "Data gagal diupdate"; 

?> 

 

OK deh selesai proses pembuatan script updatenya. 

 

 

Tugas Untuk Anda 

 

Misalkan Anda memiliki data dan tabel sebagai berikut: 

 

Tabel: Jenis Buku  

 

kodeJenisBuku namaJenisBuku  

M Majalah 

R Referensi 

N Koran 

J Journal 

 

 

 


 175

Tabel : Buku  

  

kodeBuku judulBuku Pengarang jenisBuku 

B001 A Mr. X M 

B002 B Mr. Y R 

B003 C Mr. X R 

B004 D Mr. A J 

 

Tabel : Member 

 

kodeMember namaMember 

M01 XXX 

M02 YYY 

M03 ZZZ 

 

Tabel : Pinjam Buku 

 

kodePinjam kodeBuku kodeMember tglPinjam tglHrsKembali 

1 B001 M01 2009-06-10 2009-06-17 

2 B002 M02 2009-06-10 2009-06-17 

3 B001 M02 2009-06-18 2009-06-25 

4 B003 M03 2009-06-20 2009-06-27 

5 B004 M02 2009-06-21 2009-06-28 

 

Ketentuan Tugas: 

 

1. Buatlah tabel-tabel di atas di MySQL dengan menentukan sendiri tipe data 

masing-masing fieldnya. Tentukan pula manakah field yang merupakan primary 

key untuk setiap tabelnya. Untuk tabel ‘Pinjam Buku’, field kodePinjam 

menggunakan auto increment. 

 

2. Buatlah fasilitas untuk input data untuk masing-masing tabel. Khusus input data 

untuk tabel buku, jenis buku harus dipilih user melalui sebuah combo box. Isi list 

combobox ini  harus membaca data dari tabel ‘Jenis Buku’. Demikian pula 

untuk input data peminjaman buku. Isian untuk kode buku harus menggunakan 

combo box yang membaca data dari tabel buku, dan isian kode member harus 

menggunakan combo box yang membaca data dari tabel member. 

 

3. Pada input data peminjaman, setelah mengisi tanggal peminjaman secara 

otomatis tanggal harus kembali akan disimpan dalam tabel peminjaman. Selisih 

tanggal pinjam dengan tanggal harus kembali adalah 7 hari. 

 


 176

4. Buatlah fasilitas untuk update data untuk keempat tabel di atas. Bentuk form 

editnya sama dengan bentuk form untuk input data. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 177

BAB 20 

Hapus Data dengan PHP - MySQL 

 

Pada modul terakhir ini, kita akan membahas bagaimana cara melakukan hapus data 

pada database MySQL dengan PHP. 

 

Konsep utama dari proses penghapusan data MySQL dengan PHP adalah menjalankan 

query SQL DELETE FROM … pada script PHP ini . 

 

Untuk lebih jelasnya konsep ini , kita langsung terapkan pada studi kasus. 

 

Sebagai studi kasus, kita ambil sampel seperti halnya pada Bab 19, yaitu tentang data 

mahasiswa. 

 

Misalkan kita memiliki tabel mahasiswa sebagai berikut: 

 

nim  varchar(5) primary key 

nama  varchar(30) 

alamat  text 

sex  varchar(1) 

tgllahir  date 

 

dan andaikan kita telah mempunyai data awal sebagai berikut 

 

NIM NAMA ALAMAT SEX TGLLAHIR 

M0001 A SOLO L 1979-10-20 

M0002 B JAKARTA L 1982-09-10 

M0003 C BANDUNG P 1980-11-07 

 

Selanjutnya kita akan membuat script PHP untuk menghapus data mahasiswa, baik 

melalui POST maupun GET method. 

 

Studi Kasus 1 

 

Pada studi kasus pertama ini, kita akan membuat script hapus mahasiswa menggunakan 

POST method.  

 

Adapun skenarionya adalah sebagai berikut. User diminta memasukkan NIM mahasiswa 

yang akan dihapus melalui sebuah form. Selanjutnya script akan menghapus data 


 178

mahasiswa sesuai NIM yang ingin dihapus tadi. Namun… bila NIM yang akan dihapus 

tidak ada dalam database, maka akan muncul pesan bahwa data ini  tidak ada. 

 

Berikut ini adalah tampilan script yang akan kita buat dalam studi kasus 1 ini 

 

 

 

Adapun scriptnya berbentuk seperti di bawah ini: 

 

hapus01.php 

 

<h1>Hapus Data Mahasiswa</h1> 

 

<!-- Form untuk memasukkan nim mahasiswa yang mau dihapus --> 

 

<form method="post" action="<?php $_SERVER['PHP_SELF'] ?>?proses=hapus"> 

Masukkan NIM <input type="text" name="nim"> 

<input type="submit" name="submit" value="Submit"> 

</form> 

 

<?php 

 

// koneksi ke mysql 

mysql_connect("localhost", "…", "…"); 

mysql_select_db("…"); 

 

if ($_GET['proses'] == "hapus") 

   // bagian ini akan dijalankan ketika proses SUBMIT dari form 

    

   $nim = $_POST['nim'];    // membaca NIM yang dimasukkan dalam form 

    

   // mengecek keberadaan data mahasiswa dengan NIM sesuai yang  

   // dimasukkan dalam form 

    

   $query = "SELECT count(*) as jum FROM mahasiswa WHERE nim = '$nim'"; 


 179

   $hasil = mysql_query($query); 

   $data  = mysql_fetch_array($hasil); 

    

   // jika jumlah mahasiswa ber NIM ini  tidak ada, maka muncul keterangan 

 

   if ($data['jum'] == 0) echo "<p>Data yang akan dihapus tidak ada</p>"; 

   else 

   { 

      // jika ada, maka lakukan penghapusan 

      $query = "DELETE FROM mahasiswa WHERE nim = '$nim'"; 

      $hasil = mysql_query($query); 

   } 

 

// menampilkan data semua mahasiswa 

 

$query = "SELECT * FROM mahasiswa"; 

$hasil = mysql_query($query); 

 

echo "<table border='1'>"; 

echo "<tr><th>NIM</th><th>Nama Mhs</th><th>Alamat</th><th>Sex</th><th>Tgl 

Lahir</th></tr>"; 

while ($data = mysql_fetch_array($hasil)) 

  echo "<tr><td>".$data['nim']."</td><td>".$data['nama']."</td> 

                     <td>".$data['alamat']."</td><td>".$data['sex']."</td> 

                     <td>".$data['tgllahir']."</td></tr>"; 

echo "</table>"; 

?> 

 

Studi Kasus 2 

 

Untuk studi kasus yang kedua ini, kita akan lakukan penghapusan data mahasiswa 

melalui GET method atau melalui link berparameter. Link ini nanti akan diletakkan di 

setiap baris data mahasiswa.  

 

Bentuk link berparameter yang nanti akan digunakan untuk menghapus data adalah 

 

http://.../hapus02.php?proses=hapus&nim=xxx 

 

dengan ‘xxx’ adalah NIM mahasiswa yang akan dihapusnya. 

 


 180

Berikut ini screen shot tampilan studi kasus 2 (perhatikan link berparameternya yang 

tampak di status bar) 

 

 

 

Untuk script studi kasus 2 ini adalah sebagai berikut: 

 

hapus02.php 

 

<h1>Hapus Data Mahasiswa</h1> 

 

<?php 

 

// koneksi ke mysql 

mysql_connect("localhost", "…", "…"); 

mysql_select_db("…"); 

 

if ($_GET['proses'] == "hapus") 

   // bagian ini akan dijalankan ketika link hapus diklik (parameter proses=hapus) 

    

   // membaca NIM dari URL berparameter 

   $nim = $_GET['nim']; 

    

   // mengecek keberadaan data mahasiswa dengan NIM  

   // sesuai yang dimasukkan dalam form 

   $query = "SELECT count(*) as jum FROM mahasiswa WHERE nim = '$nim'"; 

   $hasil = mysql_query($query); 

   $data  = mysql_fetch_array($hasil); 

    

   // jika jumlah mahasiswa ber NIM ini  tidak ada, maka muncul keterangan 

   if ($data['jum'] == 0) echo "<p>Data yang akan dihapus tidak ada</p>"; 

   else 


 181

   { 

      // jika ada, maka lakukan penghapusan 

      $query = "DELETE FROM mahasiswa WHERE nim = '$nim'"; 

      $hasil = mysql_query($query); 

   } 

 

// menampilkan data semua mahasiswa & link untuk menghapus 

 

$query = "SELECT * FROM mahasiswa"; 

$hasil = mysql_query($query); 

 

echo "<table border='1'>"; 

echo "<tr><th>NIM</th><th>Nama Mhs</th><th>Alamat</th><th>Sex</th><th>Tgl 

Lahir</th><th>Proses</th></tr>"; 

while ($data = mysql_fetch_array($hasil)) 

  echo "<tr><td>".$data['nim']."</td><td>".$data['nama']."</td> 

                     <td>".$data['alamat']."</td><td>".$data['sex']."</td> 

         <td>".$data['tgllahir']."</td> 

                     <td><a href='".$_SERVER['PHP_SELF']."?proses=hapus&nim=".$data['nim']."'> 

                              Hapus</a></td></tr>"; 

echo "</table>"; 

?>