MODUL PEMROGRAMAN WEB DATABASE OPERATION

 MODUL PEMROGRAMAN WEB

DATABASE OPERATION
Mualim,ST
SMK Hasan Kafrawi Mayong
2021
DAFTAR ISI
Database Operation ..................................................................................................... 1
1. SQL ......................................................................................................................... 1
1.1 Data Definition Language (DDL) ..................................................................... 1
1.2 Data Manipulation Language (DML) ............................................................... 2
2. Integrasi PHP dan MySQL ..................................................................................... 2
2.1 Koneksi PHP dan MySQL ............................................................................... 2
2.2 Menampilkan Data .......................................................................................... 3
2.2.1 Data Tunggal ......................................................................................... 3
2.2.2 Data Jamak ........................................................................................... 5
2.3 Menambah Data ............................................................................................. 9
2.4 Update Data .................................................................................................... 11
2.3 Menghapus Data ............................................................................................. 13
3. Integrasi Antar Program .......................................................................................... 15
Daftar Pustaka ............................................................................................................. 18
DATABASE OPERATION
Ketika sampai pada bab ini, anda dianggap sudah mengetahui semua hal yang menjadi
dasar pemrograman web menggunakan PHP. Sekarang saatnya kita dapat memulai
membangun website yang berdaya guna dan intuitive.
Pada bab ini, kita akan mengintegrasikan aplikasi yang telah kita buat buat dengan
software basis data. MySQL dipilih sebagai software basis data yang akan kita gunakan
karena bersifat open source, mendukung banyak platform sistem operasi, mempunyai
dukungan komunitas yang melimpah dan yang tak kalah penting adalah kehandalannya.
Beberapa hal penting berkaitan dengan SQL sebagai bahasa yang digunakan untuk
mengolah basis data juga akan dibahas pada bab ini.
1. SQL
SQL (Structure Query Language) adalah sebuah bahasa pemrograman aras tinggi yang
menjadi standar untuk pengolahan data pada sebagian besar DBMS. Secara umum,
terdapat dua kelompok penggunaan perintah SQL :
Data Definition Language
Data Manipulation Language
1.1 Data Definition Language (DDL)
Data Definition Language adalah perintah SQL yang digunakan untuk mendefinisikan
sebuah objek berkaitan dengan basis data. Misal : CREATE, DROPdan ALTER.
6 0.latihan_ 0 1. sql
CREATE DATABASE db_pw;
6 0.latihan_ 0 2. sql
CREATE TABLE biodata (
id INT(5) NOT NULL PRIMARY KEY AUTO_INCREMENT,
nama VARCHAR(25) NOT NULL,
alamat TEXT NULL
);
1
1.2 Data Manipulation Language (DML)
Data Manipulation Language adalah perintah SQL yang digunakan untuk melakukan
manipulasi terhadap object basis data. Misal : SELECT, INSERT, UPDATEdan DELETE.
6 0.latihan_ 0 3. sql
INSERT INTO biodata (nama, alamat) VALUES
('Sugeng Riyadi', 'Jl. Mangkubumi No. 145 Yogyakarta'),
('Siti Nurhalimah', 'Jl. Jangkar Bumi No. 80 Sleman'),
('Febrianto Prabowo','RT 01 RW 04 Taman Siswa Yogyakarta'),
('Evi Susilowati','Jl. Mawar No. 56 Baciro Yogyakarta');
6 0.latihan_ 0 4. sql
SELECT * FROM biodata;
+----+-------------------+------------------------------------+
| id | nama | alamat |
+----+-------------------+------------------------------------+
| 1 | Sugeng Riyadi | Jl. Mangkubumi No. 145 Yogyakarta |
| 2 | Siti Nurhalimah | Jl. Jangkar Bumi No. 80 Sleman |
| 3 | Febrianto Prabowo | RT 01 RW 04 Taman Siswa Yogyakarta |
| 4 | Evi Susilowati | Jl. Mawar No. 56 Baciro Yogyakarta |
+----+-------------------+------------------------------------+
2. Integrasi PHP dan MySQL
2.1 Koneksi PHP dan MySQL
Untuk melakukan koneksi terhadap sebuah server basis data, kita membutuhkan alamat
server dan hak akses kepada server basis data yang terdiri dari username dan password.
Berikut ini adalah contoh penerapan koneksi server basis data melalui PHP.
mysql_connect("localhost","root","amikom0k3");
Setelah melakukan koneksi terhadap server basis data, langkah selanjutnya yaitu memilih
basis data yang akan kita operasikan. Jika mengacu pada contoh latihan SQL diatas,
maka basis data yang akan kita pilih adalah db_pw. Berikut ini contoh penerapannya:
2
Nama Server Username Password
mysql_select_db("db_pw");
Pada contoh diatas fungsi mysql_select_db()digunakan untuk memilih database yang
akan dioperasikan yaitu db_pw. Sehingga secara lengkap kedua contoh diatas dapat
ditulis seperti latihan dibawah ini:
6 0.latihan_ 0 4. phpatau simpan dengan nama koneksi.php
<?php
mysql_connect("localhost","root","amikom0k3") or exit("Gagal Koneksi DB.");
mysql_select_db("db_pw");
?>
2.2 Menampilkan Data
Setelah melakukan koneksi terhadap basis data yang akan dioperasikan, sekarang kita
bisa memulai untuk melakukan manipulasi terhadap data yang terkandung dalam basis
data tersebut. Operasi yang akan kita lakukan kali ini adalah menampilkan data. 2.2.1 Data Tunggal
6 0.latihan_ 0 5. php
<?php
include("koneksi.php");
$sql = "SELECT id,nama,alamat FROM biodata WHERE id = 1";
$hasil = mysql_query($sql) or exit("Error query : <b>".$sql."</b>.");
$data = mysql_fetch_assoc($hasil);
echo "<pre>";
print_r($data);
echo "</pre>";
?>
3
Database Name
Skrip contoh latihan program diatas dapat dijelaskan sebagai berikut:
1. Pertama-tama, program akan menyertakan file koneksi.php melalui fungsi
include(), dimana file tersebut bertugas untuk membuat sebuah koneksi ke
server basis data, kemudian memilih basis data yang akan dioperasikan.
2. Query "SELECT id,nama,alamat FROM biodata WHERE id = 1" disimpan
dalam variabel $sql, query tersebut dijalankan melalui fungsi mysql_query().
Yang mana hasil dari query tersebut akan disimpan pada variabel $hasil. Jika
query gagal dijalankan maka program akan berhenti dan menampilkan pesan
Error query : <SQL_ERROR> . Pesan kesalahan / error ini akan sangat kita
butuhkan untuk melakukan tracking kesalahan. Karena dengan ditampilkannya
pesan kesalahan, akan mudah bagi kita untuk menguji syntax SQL tersebut secara
langsung melalui MySQL command line atau PHPMyAdmin.
3. Hasil query yang terkandung dalam variabel $hasilmerupakan data mentah yang
perlu diolah kembali. Kemudian program menjalankan fungsi
mysql_fetch_assoc()yang berguna untuk mengolah data mentah tadi ke dalam
bentuk array, data array ini disimpan ke variabel $data.
4. Oleh karena variabel $databerbentuk sebuah array, maka fungsi print_r()dapat
digunakan untuk melihat deskripsi (index dan value) dari sebuah array.
5. Jika kita perhatikan, index asosiatif yang terdapat pada array $dataadalah nama
kolom yang sebelumya didefinisikan pada query yaitu id,nama,alamat. Untuk
lebih jelasnya, modifikasi contoh program sebelumnya sehingga menjadi seperti
dibawah ini :
4
6 0.latihan_ 0 6. php
<?php
include("koneksi.php");
$sql = "SELECT * FROM biodata WHERE id = 1";
$hasil = mysql_query($sql) or exit("Error query : <b>".$sql."</b>.");
$data = mysql_fetch_assoc($hasil);
echo "ID : ".$data['id'];
echo "<br />";
echo "Nama : ".$data['nama'];
echo "<br />";
echo "Alamat : ".$data['alamat'];
?> 2.2.2 Data Jamak
PHP tidak menyediakan fungsi yang secara khusus digunakan untuk menangani
pangambilan banyak data secara sekaligus. Ini terjadi karena PHP menampilkan data
baris demi baris. Untuk lebih jelasnya perhatikan contoh syntax SQL berikut ini:
SELECT id,nama,alamatFROM biodata;
+----+-------------------+------------------------------------+
| id | nama | alamat |
+----+-------------------+------------------------------------+
| 1 | Sugeng Riyadi | Jl. Mangkubumi No. 145 Yogyakarta |
| 2 | Siti Nurhalimah | Jl. Jangkar Bumi No. 80 Sleman |
| 3 | Febrianto Prabowo | RT 01 RW 04 Taman Siswa Yogyakarta |
| 4 | Evi Susilowati | Jl. Mawar No. 56 Baciro Yogyakarta |
+----+-------------------+------------------------------------+
5
Kemudian kita akan menerapkan query tersebut diatas menggunakan melalui PHP:
6 0.latihan_ 0 7. php
<?php
include("koneksi.php");
$sql = "SELECT id,nama,alamat FROM biodata";
$hasil = mysql_query($sql) or exit("Error query : <b>".$sql."</b>.");
echo "<pre>";
$data = mysql_fetch_assoc($hasil);
print_r($data);
$data = mysql_fetch_assoc($hasil);
print_r($data);
$data = mysql_fetch_assoc($hasil);
print_r($data);
$data = mysql_fetch_assoc($hasil);
print_r($data);
echo "</pre>";
?>
6
Untuk menampilkan banyak data, digunakan fungsi mysql_fetch_assoc($hasil)yang
dilakukan berulang-ulang sampai data yang diinginkan telah mencukupi atau sampai
kondisi dimana data yang dihasilkan dari query telah habis. Oleh sebab itu, sebuah
perulangan dapat digunakan untuk menggantikan pemanggilan fungsi tersebut secara
berulang-ulang. Perhatikan contoh latihan skrip berikut ini:
6 0.latihan_ 0 8. php
<?php
include("koneksi.php");
$sql = "SELECT id,nama,alamat FROM biodata";
$hasil = mysql_query($sql) or exit("Error query : <b>".$sql."</b>.");
echo "<pre>";
while($data = mysql_fetch_assoc($hasil)){
print_r($data);
}
echo "</pre>";
?>
7
Pada contoh latihan diatas, perulangan whileakan mengambil semua data hasil query
secara bertahap sampai dengan data tersebut habis. Seperti kita ketahui, perulangan
menggunakan whileakan berhenti jika syarat / kondisi perulangan bernilai false. Jika
data hasil query tersebut telah habis, maka syarat perulangan dianggap false.
6 0.latihan_ 0 9. php
<html>
<head>
<title>Contoh Pengambilan Data Jamak</title>
</head>
<body>
<h2>Daftar Biodata</h2>
<table width="600px" border="1">
<tr style="background:#ccc">
<th width="10%">ID</th>
<th width="35%">Nama</th>
<th>Alamat</th>
</tr>
<?php
include("koneksi.php");
$sql = "SELECT id,nama,alamat FROM biodata";
$hasil = mysql_query($sql) or exit("Error query: <b>".$sql."</b>.");
while($data = mysql_fetch_assoc($hasil)){ ?>
<tr>
<td align="center"><?php echo $data['id']; ?></td>
<td><?php echo $data['nama']; ?></td>
<td><?php echo $data['alamat']; ?></td>
</tr>
<?php
}
?>
</table>
</body>
</html>
8
2.3 Menambah Data
Pada modul sebelumnya, telah dijelaskan bagaimana cara mengirimkan data melalui
sebuah form. Pada contoh kali ini, kita akan mengolah data yang telah dikirimkan melalui
form tersebut untuk dimasukkan / ditambahkan ke dalam basis data.
6 0.latihan_ 1 0. html
<html>
<head>
<title>Tambah Data</title>
</head>
<body>
<form action="06.latihan_11.php" method="post">
Nama :  <input type="text" name="txtNama" />
<br />
Alamat : <textarea name="txtAlamat"></textarea>
<br />
<input type="submit" value="Submit" />
</form>
</body>
</html>
6 0.latihan_ 1 1. php
<?php
include("koneksi.php");
$sql = "INSERT INTO biodata(nama,alamat) ";
$sql.= "VALUES ('".$_POST['txtNama']."','".$_POST['txtAlamat']."')";
mysql_query($sql) or exit("Error query : <b>".$sql."</b>.");
echo "Data berhasil ditambahkan.";
?>
9
Kedua contoh latihan program diatas dapat dijelaskan sebagai berikut :
1. Skrip 0 6.latihan_ 1 0. htmlmenyediakan form dengan elemen-elemen yang dijadikan
sebagai media input data.
2. Setelah menekan tombol submit, data akan dikirimkan ke file 0 6.latihan_ 1 1. php
menggunakan metode POST.
3. Skrip 0 6.latihan_ 1 1. php melakukan query INSERT data melalui fungsi
mysql_query(). Jika query berhasil dijalankan, maka program akan menampilkan
pesan Data berhasil ditambahkan . Untuk melihat efek dari dijalankannya
program ini, jalankan kembali program 0 6.latihan_ 0 9. phpmelalui browser.
10
Data Baru
2.4 Update Data
Untuk melakukan update terhadap suatu data, terlebih dahulu data tersebut perlu
ditampilkan dalam sebuah form, agar pengguna dapat mengerti data mana saja yang ingin
diubahnya.
6 0.latihan_ 1 2. php
<html>
<head>
<title>Ubah Data</title>
</head>
<body>
<?php
include("koneksi.php");
$sql = "SELECT id,nama,alamat FROM biodata ";
$sql.= "WHERE id = 1";
$hasil = mysql_query($sql) or exit("Error query : <b>".$sql."</b>.");
$data = mysql_fetch_assoc($hasil);
?>
<h2>Ubah Data</h2>
<form action="06.latihan_13.php" method="post">
Nama : 
<input type="text" name="txtNama" value="<?php echo $data['nama'];
?>" />
<br />
Alamat :
<textarea name="txtAlamat"><?php echo $data['alamat']; ?></textarea>
<br />
<input type="hidden" name="txtID" value="<?php echo $data['id'];
?>" />
<input type="submit" value="Submit" />
</form>
</body>
</html>
6 0.latihan_ 1 3. php
<?php
include("koneksi.php");
$sql = "UPDATE biodata SET ";
$sql.= "nama='".$_POST['txtNama']."',alamat='".$_POST['txtAlamat']."' ";
$sql.= "WHERE id = ".$_POST['txtID'];
mysql_query($sql) or exit("Error query : <b>".$sql."</b>.");
echo "Data berhasil diubah.";
?>
11
Kedua skrip latihan program diatas dapat dijelaskan sebagai berikut :
1. Program 0 6.latihan_ 1 2. phpbertugas menyediakan elemen input yang digunakan
untuk melakukan pengubahan pada data. Sebelum data diubah, terlebih dahulu
data asli diambil dari basis data dan hasilnya akan ditampilkan / diisikan ke elemen
input yang telah disediakan.
2. Pada program 6.latihan_ 1 2. phpterdapat satu elemen input dengan tipe hidden.
Jika dijalankan, data yang terdapat pada elemen ini tidak akan terlihat secara
langsung pada browser, kecuali menggunakan mode view source pada browser.
Elemen ini digunakan untuk menampung data ID, yang mana data ID ini menjadi
kondisi prasyarat pengubahan data pada query UPDATE.
12
3. Setelah data diubah dan tombol submit ditekan, data akan dikirimkan ke file
6 0.latihan_ 1 3. phpmenggunakan metode POST untuk diolah lebih lanjut.
4. Skrip 0 6.latihan_ 1 3. php melakukan query UPDATE data melalui fungsi
mysql_query(). Jika query berhasil dijalankan, maka program akan menampilkan
pesan Data berhasil diubah. Untuk melihat efek dari dijalankannya program ini,
jalankan kembali program 0 6.latihan_ 0 9. phpmelalui browser.
2.5 Menghapus Data
6 0.latihan_ 1 4. php
<?php
include("koneksi.php");
$sql = "DELETE FROM biodata WHERE id = 1";
mysql_query($sql) or exit("Error query : <b>".$sql."</b>.");
echo "Data berhasil dihapus.";
?>
13
Data Diubah
Program tesebut diatas bertugas untuk melakukan penghapusan data tertentu dari basis
data. Data yang akan dihapus dari basis data adalah data dengan ID = 1. Untuk melihat
efek dari dijalankannya program ini, jalankan kembali program 0 6.latihan_ 0 9. phpmelalui
browser.
Dari screenshot diatas, dapat kita lihat bahwa data yang memiliki ID = 1 sudah tidak
nampak dalam daftar biodata. Ini karena data tersebut telah dihapus melalui program
6 0.latihan_ 1 4. php.
14
3. Integrasi Antar Program
Agar program anda berjalan dinamis (dapat memanipulasi data manapun) dan saling
terintegrasi satu sama lain, ubah skrip latihan program-program diatas menjadi seperti
dibawah ini:
6 0.latihan_ 09.php
<html>
<head>
<title>Contoh Pengambilan Data Jamak</title>
</head>
<body>
<h2>Daftar Biodata</h2>
<p>[ <a href="06.latihan_10.php">Tambah Data</a> ] </p>
<table width="650px" border="1">
<tr style="background:#ccc">
<th width="10%">ID</th>
<th width="22%">Nama</th>
<th width="50%">Alamat</th>
<th>Aksi</th>
</tr>
<?php
include("koneksi.php");
$sql = "SELECT id,nama,alamat FROM biodata";
$hasil = mysql_query($sql) or exit("Error query: <b>".$sql."</b>.");
while($data = mysql_fetch_assoc($hasil)){
?>
<tr>
<td align="center"><?php echo $data['id']; ?></td>
<td><?php echo $data['nama']; ?></td>
<td><?php echo $data['alamat']; ?></td>
<td>
<a href="06.latihan_06.php?id=<?php echo $data['id']; ?>">
Detail
</a>
<a href="06.latihan_13.php?id=<?php echo $data['id']; ?>">
Ubah
</a>
<a href="06.latihan_15.php?id=<?php echo $data['id']; ?>">
Hapus
</a>
</td>
</tr>
<?php
}
?>
</table>
</body>
</html>
15
Sekarang kita dapat dengan mudah melakukan manipulasi terhadap data manapun yang
kita inginkan. Karena program 0 6.latihan_ 09.phptelah dilengkapi dengan menu “Tambah,
Detail, Ubah dan Hapus Data” secara dinamis dan terintegrasi.
6 0.latihan_ 06.php
<?php
include("koneksi.php");
$sql = "SELECT * FROM biodata WHERE id = ".$_GET['id'];
$hasil = mysql_query($sql);
$data = mysql_fetch_assoc($hasil);
echo "ID : ".$data['id'];
echo "<br />";
echo "Nama : ".$data['nama'];
echo "<br />";
echo "Alamat : ".$data['alamat'];
?>
16
6 0.latihan_ 12.php
<html>
<head>
<title>Ubah Data</title>
</head>
<body>
<?php
include("koneksi.php");
$sql = "SELECT id,nama,alamat FROM biodata ";
$sql.= "WHERE id = ".$_GET['id'];
$hasil = mysql_query($sql) or exit("Error query : <b>".$sql."</b>.");
$data = mysql_fetch_assoc($hasil);
?>
<h2>Ubah Data</h2>
<form action="06.latihan_13.php" method="post">
Nama :  
<input type="text" name="txtNama" value="<?php echo $data['nama'];
?>" />
<br />
Alamat :
<textarea name="txtAlamat"><?php echo $data['alamat']; ?></textarea>
<br />
<input type="hidden" name="txtID" value="<?php echo $data['id'];
?>" />
<input type="submit" value="Submit" />
</form>
</body>
</html>
6 0.latihan_ 14.php
<?php
include("koneksi.php");
$sql = "DELETE FROM biodata WHERE id = ".$_GET['id'];
mysql_query($sql) or exit("Error query : <b>".$sql."</b>.");
echo "Data berhasil dihapus.";
?>
Jika kita amati pada skrip 0 6.latihan_ 06.php, 06.latihan_ 1 2. phpdan 0 6.latihan_ 1 4. php,
data yang akan dimanipulasi / dioperasikan pada query berasal dari variabel GET, yaitu
$_GET['id']. Ini akan membantu kita untuk mengubah data manapun yang kita inginkan,
karena variabel $_GET['id']bersifat dinamis yang mengacu pada data yang akan
diubah.
17
DAFTAR PUSTAKA
1. Buzton, Toby. 2002. PHP By Example. Indianapolis, Indiana: Que.
2. Muhardin, Endy. 2003. PHP Programming Fundamental dan MySQL Fundamental.
IlmuKomputer.Com
3. Rasmus, Lerdorf., Dkk. 2003. PHP 5 Manual. PHP Documentation Group.
18

Comments

  1. Nama : Erlina Kurnia Sari
    Kelas : XII Rpl 02

    ReplyDelete
  2. Nama=Ahmad Saifulloh
    Kelas=XII RPL 2

    ReplyDelete
  3. Nama:Lusy anzarwati
    Kelas:XII rpl 2

    ReplyDelete
  4. Nama :Nur Hidayanti
    Kelas :XII rpl 02

    ReplyDelete
  5. NAMA : NIHLATUL LAILA SHOFA
    KELAS : XII RPL 01

    ReplyDelete
  6. Nama: Febriyani Ningsih
    Kelas : XII RPL 01

    ReplyDelete
  7. Nama : siti nur khalizah
    Kelas : XII RPL 01

    ReplyDelete
  8. Nama : Rifki Andrian
    Kelas : XII RPL 2

    ReplyDelete
  9. Nama: Ervia Nanda Ristia Ningsih
    Kelas: XII RPL 01

    ReplyDelete
  10. Nama : Fita aristia zulianti
    Kelas: XII RPL 03

    ReplyDelete
  11. This comment has been removed by the author.

    ReplyDelete
  12. This comment has been removed by the author.

    ReplyDelete
  13. Nama : Tutut Sri Rahayu
    Kelas :XII RPL 03

    ReplyDelete
  14. Nama :Retna sari
    Kelas :XII RPL 3

    ReplyDelete
  15. Nama : Dita Ristiya Sari
    Kelas : XII RPL 3

    ReplyDelete
  16. Nama: Novita Nailin Nisa
    Kelas. : XII rpl 03

    ReplyDelete

Post a Comment

Popular posts from this blog

Soal pilihan ganda dan essay pemrograman web dan perangkat bergerak

Soal PBO Pilihan Ganda dan Essay SMT 19

SOAL PEMROGRAMAN BERORIENTASI OBJEK (PBO) kelas 12