MODUL PRAKTIKUM PEMROGRAMAN WEB II PHP Disusun oleh : 1. Veri Arinal, M.Kom. Sekolah Tinggi Ilmu Komputer Cipta Karya Informatika Jakarta DAFTAR ISI DAFTAR ISI ......................................................................................................................... 1 1. Instalasi Paket Perangkat Lunak Web Server (XAMPP) .................................................. 2 2. Variabel dan Operator ....................................................................................................... 8 3. Struktur Kondisi .............................................................................................................. 12 4. Struktur Pengulangan (Looping) ..................................................................................... 16 5. Array ................................................................................................................................ 21 6. Include ............................................................................................................................. 22 7. Session ............................................................................................................................. 24 8. Fungsi ............................................................................................................................. 27 9. Object dan Class ............................................................................................................. 29 10. Mendefiniskan Database dan tabel ................................................................................ 31 11. Membuat menu login dan menu utama ......................................................................... 32 12. Menampilkan data di web page ..................................................................................... 36 13. Menyisipkan data di web page ...................................................................................... 41 14. Mengupdate data di web page ....................................................................................... 47 15. Kartu Peserta Praktikum ................................................................................................ 55 Praktikum Pemrograman Web II-PHP 1 Bab 1 Instalasi Paket Perangkat Lunak Web Server (XAMPP) Sebelum memulai membuat program kedalam bahasa PHP, terlebih dahulu kita persiapkan perangkat keras dan perangkat lunak web server yang berfungsi untuk menjalankan aplikasi web yang akan kita kembangkan, pada praktek kali ini kita menggunakan paket web server yang banyak digunakan yaitu XAMPP. Adapun cara menginstalasi paket perangkat lunak web server XAMPP adalah sebagai berikut : 1. Jalankan file xampp-win32-1.7.0-installer.exe (atau versi lainnya) 2. Kemudian akan tampil seperti layar berikut : 3. Klik tombol Next untuk memulai instalasi hingga muncul tampilan sbb: Praktikum Pemrograman Web II-PHP 2 4. Perhatikan gambar diatas kita diminta untuk mengisi folder tujuan dari paket XAMPP ini akan di install (c:\xampp\ sebagai nilai default), klik tombol next untuk melanjutkan instalasi XAMPP 5. Langkah berikutnya centang service apache dan mysql pada item service section seperti terlihat pada tampilan berikut : 6. Kemudian klik tombol install untuk memulai proses instalasi 7. Tunggu sesaat hingga muncul tampilan selesai sebagai berikut : Praktikum Pemrograman Web II-PHP 3 8. Sampai tahap ini, berarti kita sudah menginstal XAMPP. Itu berarti kita sudah selesai menginstall PHP, APACHE dan MYSQL. Langkah selanjutnya adalah menjalankan servicenya 9. Jalankan XAMPP Control Panel yang ada di desktop. Atau anda juga dapat menjalankan XAMPP Control Panel dari menu Start -> All Programs -> apachefriends -> xampp -> xampp control panel Praktikum Pemrograman Web II-PHP 4 10. Klik Start pada masing-masing untuk Apache dan MySql, sehingga muncul tanda Running untuk keduanya. PC lokal Anda kini sudah menjadi server Web lokal 11. Buka web browser anda, lalu ketikkan http://localhost. Jika tampilannya seperti di bawah ini, maka apache sudah terinstall dengan baik Praktikum Pemrograman Web II-PHP 5 12. Klik Bahasa English maka akan tampil menu utama XAMPP seperti pada tampilan layar sbb: 13. Untuk menonaktifkan server lokal Anda, keluar dari XAMPP Control Panel. Caranya, pada XAMPP Control Panel, klik Stop pada masing-masing Apache dan MySql, lalu tutup jendela kontrol panel (klik X pada pojok kanan atas) hingga muncul tampilan berikut: Praktikum Pemrograman Web II-PHP 6 Soal 1. (Instalasi XAMPP) Instalasi paket perangkat lunak lengkap XAMPP kedalam mesin (perangkat keras yang berbeda) dengan memilih full paket dari perangkat lunak XAMPP. LEMBAR JAWABAN Praktikum Pemrograman Web II-PHP 7 Bab 2 Variabel dan Operator Variabel Dalam setiap bahasa pemrograman kita mengenal variabel, Variabel di PHP diawali dengan tanda dollar ($) diikuti dengan nama variabel. Yang perlu diperhaitkan dalam membuat program php nama variabel adalah case-sensitive, artinya huruf besar dan huruf kecil adalah berbeda. Program berikut mengimplementasikan variabel sebagai berikut: index.php 1 2 3 4 <?php $strstring="Selamat Datang di Dunia PHP"; echo $strstring; //Hasilnya Selamat Datang di Dunia PHP ?> Jalankan program diatas dengan menggunakan browser yang ada seperti Firefox Mozilla, Chrome atau Internet Explorer. Untuk dapat menggabungkan dua variabel atau lebih gunakan operator titik (.) atau langsung ditulis diantara tanda kutip yang biasa disebut dengan concate, contoh : Lat_concate.php 1 <?php 2 $txt1 = "STIKOM CKI"; 3 $txt2 = "Radin Inten II-Buaran"; 4 $nama = "Si Mahasiswa"; 5 echo $txt1."-".$txt2 ; //Hasilnya STIKOMCKI – Radin Inten II-Buaran 6 ?> Operator Dalam bahasa pemrograman dapat diartikan sebagai simbol yang digunakan untuk melakukan suatu operasi terhadap nilai data. Simbol Operator dapat berupa karakter atau kata khusus. Praktikum Pemrograman Web II-PHP 8 Operator Aritmetik Digunakan untuk operasi matematis terhadap nilai data. Simbol-simbol yang dapat digunakan adalah sbb : Operator + * / % ++ -- Deskripsi Penambahan Pengurangan Pengalian Pembagian Modulus (sisa hasil pembagi) Penambahan satu Pengurangan satu Contoh 5+2 7-3 5*3 6/3 7/4 X=3 X++ X=9 X-- Hasil 7 4 15 2 1 X= 4 X=8 Program berikut adalah latihan untuk operator aritmetik sbb : lat_operator1.php 1 <?php 2 $x = 8; 3 $y = 2; 4 5 $a = $x + $y; 6 echo $a."<br>"; 7 8 $b = $x - $y; 9 echo $b."<br>"; 10 11 $c = $x * $y; 12 echo $c."<br>"; 13 14 $d = $x / $y; 15 echo $d."<br>"; 16 17 $e = $x % $y; 18 echo $e."<br>"; 19 20 ?> //hasilnya 10 //hasilnya 6 //hasilnya 16 //hasilnya 4 Praktikum Pemrograman Web II-PHP 9 Operator Pembanding Digunakan untuk operasi yang membandingkan nilai data. Simbol-simbol yang digunakan adalah sbb : Operator == != > < >= <= Deskripsi Sama dengan Tidak sama dengan Lebih besar dari Lebih kecil dari Lebih besar sama dengan Lebih kecil sama dengan Program berikut adalah latihan untuk operator pembanding sbb : lat_operator2.php 1 <?php 2 $x = 25; 3 4 if($x > 5){ 5 echo "X lebih besar dari 5"; 6 }else if($x == 5){ 7 echo "X sama dengan 5"; 8 }else if($x < 5){ 9 echo "X kecil dari 5"; 10 } 11 ?> 12 Operator Logika Logika digunakan untuk operasi yang membandingkan suatu perbandingan. Simbol simbol yang digunakan : Operator && Dan || Atau ! Bukan Deskripsi Program berikut adalah latihan untuk operator aritmetik sbb : lat_operator3.php 1 <?php 2 $a = 5; 3 $b = 3; 4 if($a > 4 && $b < 2){ 5 echo "TRUE"; 6 }else{ 7 echo "FALSE"; Praktikum Pemrograman Web II-PHP 10 8 9 } ?> Soal 2.1. (Operator Aritmetik) Susun program yang di dalamnya terdapat operator aritmetik untuk melakukan perhitungan luas segitiga. Soal 2.2. (Operator Pembanding) Susun program yang di dalamnya terdapat operator pembanding untuk melakukan perhitungan luas lingkaran. Soal 2.3. (Operator Logika) Susun program yang di dalamnya terdapat operator logika untuk melakukan perhitungan luas persegi panjang. LEMBAR JAWABAN Praktikum Pemrograman Web II-PHP 11 Bab 3 Struktur Kondisi Kondisional berguna untuk mengecek suatu kondisi dan melakukan suatu kode jika kondisi tersebut benar atau salah. 3.1. if Sintaks : if(kondisi){ kode yang dijalankan jika benar } Program berikut adalah latihan untuk struktur kondisi if sbb : lat_kondisi1.php 1 <?php 2 $x = 10; 3 if($x == 10){ echo "Hallo Apa kabar"; 4 5 } 6 ?> 3.2. if - else Sintaks : if(kondisi){ kode yang dijalankan jika benar }else{ kode yang dijalankan jika salah } Program berikut adalah latihan untuk struktur kondisi if ... else sbb : lat_kondisi2.php 1 <?php 2 $x = 5; 3 if($x == 10){ 4 echo "Hallo Apa kabar"; 5 }else{ 6 echo "X tidak sama dengan 10"; 7 } 8 9 ?> Praktikum Pemrograman Web II-PHP 12 3.3. if - else if - else Jika anda membutuhkan kondisi yang banyak Sintaks : if(kondisi 1){ kode yang dijalankan jika kondisi 1 benar }else if(kondisi 2){ kode yang dijalankan jika kondisi 2 benar }else if(kondisi 3){ kode yang dijalankan jika kondisi 3 benar }else{ kode jika salah satu kondisi di atas tidak ada yang benar } Program berikut adalah latihan untuk struktur kondisi if ... else if .... else sbb : lat_kondisi3.php 1 <?php 2 $nilai = 80; 3 4 if($nilai >= 85){ 5 echo "A"; 6 }else if($nilai >= 70 && $nilai < 85){ 7 echo "B"; 8 }else if($nilai >= 60 && $nilai < 70){ 9 echo "C"; 10 }else{ 11 echo "D"; 12 ?> 3.4. Switch Pernyataan SWITCH dapat juga dipergunakan untuk menyatakan suatu pernyataan kondisional atau bersyarat. Selain SWITCH, kita bisa pula menggunakan IF untuk menyatakan kondisional. Sama seperti if - else if - else, switch berguna jika membutuhkan kondisi yang banyak Sintaks : switch(ekspresi){ case kondisi1 : kode yang dijalankan jika kondisi1 benar; break; case kondisi2 : kode yang dijalankan jika kondisi2 benar; break; case kondisi3 : Praktikum Pemrograman Web II-PHP 13 kode yang dijalankan jika kondisi3 benar; break; } Program berikut adalah latihan untuk struktur kondisi switch sbb : lat_kondisi4.php 1 <?php 2 $buah = "mangga"; 3 switch ($buah) { 4 case "apple": 5 echo "buahnya adalah apple"; 6 break; 7 case "mangga": 8 echo "buahnya adalah mangga"; 9 break; 10 case "jambu": 11 echo "buahnya adalah jambu"; 12 break; 13 } 14 ?> Soal 3.1. (Kondisi if) Susun program yang di dalamnya terdapat struktur kondisi if untuk melakukan perhitungan luas segitiga. Soal 3.2. (Kondisi if ... else) Susun program yang di dalamnya terdapat struktur kondisi if ... else : 1. Untuk melakukan perhitungan luas lingkaran 2. Menghitung total penjualan bila diketahui nilai penjualan lebih besar dari 100 ribu akan mendapatkan diskon 10% dan bila lebih kecil 100 ribu mendapat diskon 5% Soal 3.3. (Kondisi if ... else if ... else) Susun program yang di dalamnya terdapat struktur kondisi if ... else if ... else untuk melakukan perhitungan total penjualan bila diketahui sbb : 1. Nilai penjualan lebih besar 1 juta akan mendapatkan diskon 15% 2. Nilai penjualan diantara 750 ribu sampai 1 juta mendapat diskon 10% 3. Nilai penjualan dibawah 750 ribu mendapat diskon 7% Praktikum Pemrograman Web II-PHP 14 Soal 3.4. (Kondisi switch) Susun program yang di dalamnya terdapat struktur kondisi switch untuk melakukan penggantian nama hari dari bahasa inggris ke bahasa indonesia. LEMBAR JAWABAN Praktikum Pemrograman Web II-PHP 15 Bab 4 Looping (Pengulangan) Looping atau perulangan digunakan untuk menjalankan suatu statement secara berulang ulang atau secara terus menerus. Dalam PHP, kita memiliki pernyataan looping sebagai berikut: while – melakukan pengulangan melalui blok kode sementara kondisi yang ditentukan benar do ... while - pengulangan melalui blok kode satu kali, kemudian mengulangi loop selama kondisi yang ditentukan benar for - pengulangan melalui blok kode sejumlah tertentu dari kali foreach - pengulangan melalui blok kode untuk setiap elemen dalam array 4.1. for Berguna untuk pengulangan yang sudah ditentukan terlebih dahulu awalnya berapa, dijalankan sampai kondisi bagaimana. Sintaks : for(awal; kondisi; penambahan){ kode untuk dijalankan } Program berikut adalah latihan untuk pengulangan for sbb : lat_loop1.php 1 <?php 2 for ($i = 1; $i <= 10; $i++) { 3 echo $i."<br>"; 4 } 5 6 ?> 4.2. while Praktikum Pemrograman Web II-PHP 16 Berguna untuk menjalankan suatu kode terus menerus selama kondisi bernilai TRUE Sintaks : while(kondisi){ kode untuk dijalankan; } Program berikut adalah latihan untuk pengulangan while sbb : lat_loop2.php 1 <?php 2 $i=1; 3 while($i<=5) 4 { 5 echo "Nomor : " . $i . "<br />"; 6 $i++; 7 } 8 9 ?> 4.3. foreach Perulangan untuk array yang mempunyai nilai Sintaks : foreach (array as $value){ statement } atau foreach (array as $key => $value){ statement } Program berikut adalah latihan untuk pengulangan foreach sbb : lat_loop3.php 1 <?php Praktikum Pemrograman Web II-PHP 17 2 3 4 5 6 7 8 $angka = array("satu", "dua", "tiga", “satu juta”); //$i=”tujuh”; foreach($arr as $key => $value) { echo "Key: $key; Value: $value<br />\n"; } ?> Soal 4.1. (pengulangan for) Susun program yang di dalamnya terdapat pengulangan for untuk menampilkan angka 1 s.d 100. Soal 4.2. (pengulangan while) Susun program yang di dalamnya terdapat pengulangan while untuk menampilkan bilangan ganjil dan genap Soal 4.3. (pengulangan foreach) Susun program yang di dalamnya terdapat pengulangan foreach untuk menampilkan semua element dalam sebuah objek. LEMBAR JAWABAN Praktikum Pemrograman Web II-PHP 18 Praktikum Pemrograman Web II-PHP 19 Bab 5 Array Array adalah merupakan variabel khusus, yang dapat menampung lebih dari satu nilai pada suatu waktu. dengan array kita dapat mengakses sekumpulan nilai dengan menggunakan satu nama variable. Jika kita memiliki daftar item (daftar nama mahasiswa, misalnya), menyimpan mahasiswa di variabel tunggal bisa terlihat seperti ini: $mhs1="Mahasiswa A"; $mhs2="Mahasiswa B "; $mhs3="Mahasiswa C"; Program berikut adalah latihan untuk pengunaan array sbb : lat_array.php 1 <?php 2 $mhs=array("si ali","si ani","si ati"); 3 echo "Saya Mengenal " . $mhs[0] . ", " . $mhs[1] . " dan " . $mhs[2] . "."; 4 echo "<br>"; 5 $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); 6 echo "Peter is " . $age['Peter'] . " years old."; 7 8 ?> Soal 5.1. (array) Susun program yang di dalamnya terdapat array untuk menampilkan nama-nama bulan dalam satu tahun dan kemudian tampilkan nama bulan saat ini. Soal 5.2. (array) Susun program yang di dalamnya terdapat array untuk menampilkan nama-nama hari dalam satu minggu dan kemudian tampilkan nama hari saat ini. Praktikum Pemrograman Web II-PHP 20 LEMBAR JAWABAN Praktikum Pemrograman Web II-PHP 21 Bab 6 Include PHP memungkinkan suatu kode yang disimpan dalam suatu file disertakan ke dalam suatu script PHP dengan menggunkan pernyataan include. Hal ini sangat berguna kalau kita mempunyai sederetan kode (misalnya definisi suatu fungsi, definisi suatu konstanta, atau kode yang lain) yang sering digunakan pada berbagai script PHP yang kita buat. Dalam hal ini kita cukup menuliskan kode tersebut sekali saja ke dalam sebuah file. Lalu jika memerlukan kode tersebut kita bisa menggunakan fungsi include Program berikut adalah latihan untuk penggunaan include sbb : lat_include1.php 1 <?php 2 echo "selamat datang di website PHP”; 3 echo "<br>”; 4 ?> lat_include2.php 1 <?php 2 include 'lat_include1.php'; 3 echo "<br>Ini adalah contant atau isi dari website <br>"; 4 5 ?> Soal 6.1. (include) Susun program yang di dalamnya terdapat file include untuk menampilkan menu user login dalam sebuah aplikasi. Praktikum Pemrograman Web II-PHP 22 LEMBAR JAWABAN Praktikum Pemrograman Web II-PHP 23 Bab 7 Session Sebuah variabel Session PHP digunakan untuk menyimpan informasi atau mengubah pengaturan untuk session pengguna. Session variabel menyimpan informasi tentang satu pengguna tunggal, dan tersedia untuk semua halaman dalam satu aplikasi. Dalam penanganan session terdapat beberapa proses yang perlu diperhatikan: Proses pembuatan session Proses pemeriksaan session Proses penghapusan session Program berikut adalah latihan untuk pembuatan session sbb : lat_session1.php 1 <?php 2 Session_start(); 3 If(isset ($_POST[‘login’])) 4 { 5 $user = $_POST[‘user’]; 6 $passwd= $_POST[‘passwd’]; 7 If ($user == ‘user” && $passwd=”passuser”) { 8 $_SESSION[‘login’] = $user; 9 Echo “<h1> anda berhasil login</h1>”; 10 Echo “<h2>klik <a href=’lat_session2.php’> disini (lat_session2.php)</a>”; 11 } 12 } else { 13 ?> 14 15 <html> 16 <head> 17 <title>login here ... </title> 18 </head> 19 <body> 20 <form action=”” method=”post”> 21 <h2> login disini </h2> 22 Username : <input type = “text” name=”user”><br> 23 Password : <input type=”password” name=”passwd”><br> 24 </form> 25 </body> 26 </html> 27 <?} 28 ?> Praktikum Pemrograman Web II-PHP 24 Soal 7.1. (session) Susun program yang di dalamnya terdapat session untuk menyimpan informasi tanggal sistem saat ini dalam sebuah aplikasi. Praktikum Pemrograman Web II-PHP 25 LEMBAR JAWABAN Praktikum Pemrograman Web II-PHP 26 Bab 8 Fungsi Fungsi (function) merupakan serangkaian script/kode yang mempunyai kegunaan khusus dan tertentu, merupakan seurutan atau serangkaian kode yang sering dipergunakan/dipakai. Dengan adanya fungsi ini pemrograman dapat dipermudah karena tidak harus menulis berulang-ulang . Sintaks: Function nama_fungsi(argumen) { Kode } Program berikut adalah latihan untuk penggunaan function sbb : lat_fungsi1.php 1 <?php 2 echo "selamat datang di website PHP”; 3 echo "<br>”; 4 print(cetaktebal(“ini latihan cetak tebal”)); 5 6 function cetaktebal($parameter1) 7 { 8 $strstring = “<B>”; 9 $strstring .= “$parameter1”; 10 $strstring .=”</B>”; 11 Return($strstring 12 } 13 14 ?> Soal 8.1. (function) Susun program yang di dalamnya terdapat function untuk membuat fungsi mengambil tanggal saat ini dari pc/laptop anda. Praktikum Pemrograman Web II-PHP 27 LEMBAR JAWABAN Praktikum Pemrograman Web II-PHP 28 Bab 9 Object dan Class Bagian utama dari sebuah program yang berorientasi objek adalah objects. Sebagai contoh, sebuah mobil adalah objek. Sebuah mobil mempunyai properties atau bagian di alamnya, seperti warna, mesin, roda, pintu dsb. Sebuah mobil juga dapat melakukan sesuatu (ada sesuatu yang bisa dilakukan dengan mobil), seperti mengisi bensin, menyalakan mesin, berjalan, mengerem dsb. Class merupakan penjelasan atau deskripsi dari object. Di dalam class, terdapat penjelasan tentang suatu object termasuk properties yang dimilikinya serta kelakuan atau method yang bisa dilakukan oleh object. Program berikut adalah latihan untuk penggunaan class sbb : lat_class1.php 1 <?php 2 class mobil 3 { 4 var $merk = "TOYOTA”; 5 var $warna = "Merah"; 6 var $harga = "25000000"; 7 8 function gantiWarna ($warnaBaru) 9 { 10 $this->warna = $warnaBaru; 11 } 12 13 function tampilWarna () 14 { 15 echo "Warna mobilnya : " . $this->warna; 16 } 17 } 18 $obja = new mobil(); 19 $objb = new mobil(); 20 echo "<b>Mobil pertama</b><br>"; 21 $obja->tampilWarna(); 22 echo "<br>Mobil pertama ganti warna<br>"; 23 24 $obja->gantiWarna("Merah"); 25 $obja->tampilWarna(); 26 // 27 echo "<br><b>Mobil kedua</b><br>"; 28 $objb->gantiWarna("Hijau"); 29 $objb->tampilWarna(); 30 ?> Praktikum Pemrograman Web II-PHP 29 Soal 9.1. (class dan object) Susun program yang di dalamnya terdapat class untuk membuat form input sederhana mengenai daftar mahasiswa dikelas anda. LEMBAR JAWABAN Praktikum Pemrograman Web II-PHP 30 Bab 10 Mendefinisikan Database dan tabel Basis data (atau database) adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut (http://id.wikipedia.org/wiki/Database). RDBMS atau Relationship Database Management System merupakan salah satu jenis DBMS yang mendukung adanya relationship atau hubungan antar tabel. MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL atau DBMS yang multithread, multi-user sebagai perangkat lunak gratis di bawah lisensi GNU General Public License (GPL). Terdapat 2 (dua) jenis perintah SQL, yaitu : 1. DDL atau Data Definition Language DDL merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database, dalam hal ini database dan table. Beberapa perintah dasar yang termasuk DDL ini antara lain : CREATE ALTER RENAME DROP 2. DML atau Data Manipulation Language DML merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record dalam table. Perintah SQL yang termasuk dalam DML antara lain : SELECT INSERT UPDATE DELETE Praktikum Pemrograman Web II-PHP 31 Program berikut adalah latihan untuk membuat database sbb : Open phpmyadmin melalui http://localhost/phpmyadmin/ Klik tombol SQL kemudian ketik perintah berikut : CREATE DATABASE mahasiswa; browser dengan mengetik alamat Program berikut adalah latihan untuk membuat tabel sbb : lat_createtabel1.php 1 <?php 2 ob_start(); 3 $host="localhost"; // Host name 4 $username="root"; // Mysql username 5 $password=""; // Mysql password 6 $db_name=" mahasiswa"; // Database name 7 8 mysql_connect("$host", "$username", "$password")or die("cannot connect"); 9 mysql_select_db("$db_name")or die("cannot select DB"); 10 11 $sql="CREATE TABLE mhs ( 12 nim varchar(10) NOT NULL, 13 nama varchar(30) NOT NULL, 14 tgllahir date, 15 alamat text, 16 PRIMARY KEY(nim) 17 );"; 18 19 $result=mysql_query($sql); 20 echo “membuat tabel sukses”;echo exit; 21 22 ob_end_flush(); 23 ?> 24 Soal 10.1. (Create tabel) Susun program yang di dalamnya terdapat perintah untuk membuat tabel jurusan, tabel mata kuliah dengan mendefinisikan kolom-kolom (field) yang sesuai dengan pengetahuan anda. Praktikum Pemrograman Web II-PHP 32 Bab 11 Membuat menu login dan menu utama Sebelum membuat aplikasi sederhana terlebih dahulu kita akan membuat menu login dan menu-menu yang akan ditampilkan dalam aplikasi kita nanti. Berikut ini adalah program untuk membuat menu login sbb : Program berikut adalah latihan untuk membuat menu login sbb : index.php 1 <table width="300" border="0" align="center" cellpadding="0" cellspacing="1" 2 bgcolor="#CCCCCC"> 3 <tr> 4 <form name="form1" method="post" action="checklogin.php"> 5 <td> 6 <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF"> 7 <tr> 8 <td colspan="3"><strong>Login Anggota </strong></td> 9 </tr> 10 <tr> 11 <td width="78">Username</td> 12 <td width="6">:</td> 13 <td width="294"><input name="myusername" type="text" id="myusername"></td> 14 </tr> 15 <tr> 16 <td>Password</td> 17 <td>:</td> 18 <td><input name="mypassword" type="password" id="mypassword"></td> 19 </tr> 20 <tr> 21 <td>&nbsp;</td> 22 <td>&nbsp;</td> 23 <td><input type="submit" name="Submit" value="Login"></td> 24 </tr> 25 </table> 26 </td> 27 </form> 28 </tr> 29 </table> Perhatikan pada baris ke 4 disitu terdapat perintah action = checklogin.php yang berarti form akan dijalankan dengan mengeksekusi file checklogin.php, adapun source codenya dapat dilihat pada tabel dibawah : Praktikum Pemrograman Web II-PHP 33 checklogin.php 1 <?php 2 ob_start(); 3 $host="localhost"; // Host name 4 $username="root"; // Mysql username 5 $password=""; // Mysql password 6 $db_name="db_personil"; // Database name 7 $tbl_name="members"; // Table name 8 // Connect to server and select databse. 9 mysql_connect("$host", "$username", "$password")or die("cannot connect"); 10 mysql_select_db("$db_name")or die("cannot select DB"); 11 // Define $myusername and $mypassword 12 $myusername=$_POST['myusername']; 13 $mypassword=$_POST['mypassword']; 14 $sql="SELECT * FROM $tbl_name WHERE username='$myusername' 15 password='$mypassword'"; 16 $result=mysql_query($sql); 17 //echo $sql;echo exit; 18 // Mysql_num_row is counting table row 19 $count=mysql_num_rows($result); 20 // If result matched $myusername and $mypassword, table row must be 1 row 21 if($count==1){ 22 // Register $myusername, $mypassword and redirect to file "login_success.php" 23 //echo "Username dan password anda valid"; 24 session_register("myusername"); 25 session_register("mypassword"); 26 27 header("location:login_success.php"); 28 } 29 else { 30 echo "Wrong Username or Password"; 31 } 32 ob_end_flush(); 33 ?> and Pada baris 27 perintah diatas diperlukan file login_success.php yang berarti bila user name dan password di isi benar maka akan mengeksekusi file login_success.php login_success.php 1 2 3 4 5 6 <html> <body> Login Successful </body> </html> Praktikum Pemrograman Web II-PHP 34 Soal 11.1. (Create login dan menu utama) Susun program yang di dalamnya terdapat perintah untuk membuat menu logout dan menu utama dari sebuah aplikasi. LEMBAR JAWABAN Praktikum Pemrograman Web II-PHP 35 Bab 12 Menampilkan data di web page Pada praktek kali kita akan menampilkan data dari sebuah tabel harga penjualan dengan menggunakan konsep class sebagai berikut : tabelharga.php 1 <? 2 require_once "clstabelharga.php"; 3 $mharga = new harga(); 4 $mod = $_REQUEST['mod']; 5 switch ($mod) 6 { 7 default : 8 $mharga -> showHarga(); 9 break; 14 } 15 ?> Perhatikan baris ke dua require_once “clstabelharga.php” yang berarti dalam menjalankan file tabelharga.php diperlukan file yang namanya clstabelharga.php untuk itu sebelum program di eksekusi terlebih dahulu kita membuat file dengan nama clstabelharga.php dengan script seperti berikut : clstabelharga.php 1 <?php require_once("clsUtil.php"); 2 3 class harga extends Util 4 { 5 function harga() 6 { 7 require_once "koneksi.php"; 8 require_once "user_cek.php"; 9 } 10 function showHarga() 11 { 12 global $db; 13 global $FOOTER_NOTES,$HEADER_NOTES,$TITLE,$PHP_SELF; 14 global $awal,$jumrow; 15 if ($awal) { 16 $start=$awal; 17 }else{ 18 $start=0; 19 } 20 if ($jumrow) { $numrows=$jumrow; 21 }else{ 22 $numrows=ITEM_PER_PAGE; 23 } 24 Praktikum Pemrograman Web II-PHP 36 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 } 74 } 75 ?> $smarty = new Smarty; $USER = $_SESSION[usernamesession]; $smarty->assign("user", $USER); $smarty->assign("HEADER_NOTES", $HEADER_NOTES); $smarty->assign("FOOTER_NOTES", $FOOTER_NOTES); $smarty->assign("title", $TITLE); $smarty->assign("self_url", $PHP_SELF); $keyword = empty($_POST['keyword']) ? $_REQUEST['keyword'] : $_POST['keyword']; $keyword = str_replace("'","",stripslashes($keyword)); $to_search = str_replace("\"","",urlencode($keyword)); $smarty -> assign("keyword",$keyword); $smarty -> assign("to_search",$to_search); $sqlUser = "PERNYATAAN SQL STATEMENT UNTUK MENAMPILKAN DATA"; $rs=mysql_query($sqlUser); if(mysql_num_rows($rs) < 1) { $kosong = 'kosong'; $pos_list[] = array( 'no'=>$kosong, 'id'=>$kosong, 'kode'=>$kosong, 'asal'=>$kosong, 'tujuan'=>$kosong, 'jenis'=>$kosong, 'kirim'=>$kosong, 'harga'=>$kosong ); } else { $no = $awal; while($row = (mysql_fetch_assoc($rs))){ ++$no; $pos_list[] = array( 'no'=>$no, 'id'=>$row['id'], 'kode'=>$row['kode'], 'asal'=>$row['asal'], 'tujuan'=>$row['tujuan'], 'jenis'=>$row['jenis'], 'kirim'=>$row['kirim'], 'harga'=>number_format($row['harga']) ); } $nomor = $no; } $smarty->assign("jmlrcd", $nomor); $smarty->assign("pos", $pos_list); $smarty->display("tabelharga.html"); Praktikum Pemrograman Web II-PHP 37 Kemudian buat file tabelharga.html pada folder templates sebagai berikut : tabelharga.html 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>{$title}</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- Bootstrap --> <link href="css/bootstrap.css" rel="stylesheet"> <link href="css/bootstrap-responsive.css" rel="stylesheet"> <link href="css/docs.css" rel="stylesheet"> <link href="css/bootstrap.min.css" rel="stylesheet" media="screen"> <link href="css/prettify.css" rel="stylesheet"> <link href="css/smartpaginator.css" rel="stylesheet" type="text/css" media="screen" charset="utf-8"/> </head> {literal} <script src="js/bootstrap.min.js"></script> <script src="js/jquery-1.4.4.min.js" type="text/javascript"></script> <script src="js/smartpaginator.js" type="text/javascript"></script> <script src="js/paging.js" type="text/javascript"></script> <!--<script src="http://code.jquery.com/jquery.js"></script>--> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-146052-10']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.googleanalytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> {/literal} <body data-spy="scroll" data-target=".bs-docs-sidebar"> <!-- Navbar ================================================== --> <div class="navbar navbar-inverse navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".navcollapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <!--<a class="brand" href="./index.html">Bootstrap</a>--> <div class="nav-collapse collapse"> <ul class="nav"> <li class=""> <a href="index.php?mod=showMenu">Home</a> </li> <li class=""> <a href="kota.php">Master Kota</a> </li> <li class=""> <a href="jenis.php">Master Jenis Kendaraan</a> </li> Praktikum Pemrograman Web II-PHP 38 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 <li class=""> <a href="carakirim.php">Master Cara Kirim</a> </li> <li class="active"> <a href="tabelharga.php">Tabel Harga</a> </li> <li class=""> <a href="tabelorder.php">Tabel Order</a> </li> <li class=""> <a href="yahoo.php">Yahoo Email</a> </li> <li class=""> <a href="index.php?mod=logout">LOGOUT</a> </li> </ul> </div> </div> </div> </div> <!-- Subhead ================================================== --> <header class="jumbotron subhead" id="overview"> <div class="container"> <h1>Tabel Harga</h1> <p class="lead">Daftar Biaya Pengiriman Sesuai Dengan Jenis Pengiriman</p> </div> </header> <div class="container"> <form name="Form"> <input type=hidden name="jmlrcd" value="{$jmlrcd}"> <table class="table" style="margin-bottom:0px;"> <tr> <td align=left><div class="input-append"> <form action=tabelharga.php method=post><input class="span2" type=text name=keyword size=21 value='{$keyword}' placeholder="Cari..."> <input class="btn" type="submit" value="Cari"></form> </div></td> <td><a class="btn" href="tabelharga.php?mod=tambah">Tambah</a></td></tr> </table> <table id="mt" class="table table-striped table-bordered table-hover"> <thead> <!--<button style="margin-bottom:10px;" class="btn" type="button">Tambah</button>--> <!-- style="background-color:silver;" --> <tr> <th>No</th> <th>Kode</th> <th>Kota Asal</th> <th>Kota Tujuan</th> <th>Jenis Cargo</th> <th>Cara Kirim</th> <th>Tarif</th> <th>Actions</th> </tr> </thead> <tbody> {section name=detail loop=$pos} Praktikum Pemrograman Web II-PHP 39 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 <tr> <TD VALIGN=TOP align=center>{$pos[detail].no}</TD> <TD VALIGN=TOP align=center>{$pos[detail].kode}</TD> <TD VALIGN=TOP align=LEFT>{$pos[detail].asal}</TD> <TD VALIGN=TOP align=LEFT>{$pos[detail].tujuan}</TD> <TD VALIGN=TOP align=LEFT>{$pos[detail].jenis}</TD> <TD VALIGN=TOP align=LEFT>{$pos[detail].kirim}</TD> <TD VALIGN=TOP STYLE="text-align:right;">{$pos[detail].harga}</TD> {if $authenticated == 1} <TD align=center> <a class="btn btn-mini btn-success" href="tabelharga.php?mod=ubah&id={$pos[detail].id}">Ubah</a> <a class="btn btn-mini btn-danger" onclick="return confirm('Anda Yakin?');" href="tabelharga.php?mod=hapus&id={$pos[detail].id}">Hapus</a> </TD> </tr> {/if} {/section} </tbody> </table> <div id="green" style="margin: auto;"></div> </div> </body> </html> Soal 12.1. (Program menampilkan data di web page) Susun program yang di dalamnya terdapat class untuk menampilkan data produk dari sebuah database dalam sebuah aplikasi. LEMBAR JAWABAN Praktikum Pemrograman Web II-PHP 40 Bab Menyisipkan data di web page 13 Untuk menyisipkan data kedalam tabel dari sebuah database dalam pemrograman php ini dapat dilakukan dengan perintah/program sebagai berikut : Dalam praktek kali ini kita masih menggunakan tabel yang sama yaitu tabel harga, adapun langkah-langkah yang akan ditempuh sbb: 1. Memodifikasi tabelharga.php dan clstabelharga.php dengan menambahkan beberapa fungsi 2. Membuat User Interface (tampilan layar) form input harga. tabelharga.php 1 <? 2 require_once "clstabelharga.php"; 3 $mharga = new harga(); 4 $mod = $_REQUEST['mod']; 5 switch ($mod) 6 { 7 case "simpan": 8 $mharga -> savePos(); 9 break; 10 11 case "tambah": 12 $mharga -> showAddForm(); 13 break; 14 15 default : 16 $mharga -> showHarga(); 17 break; 18 } 19 ?> Dari program diatas kita tambahkan dua buah case (kasus) yaitu kasus untuk tambah data yang bertujuan untuk menampilkan form input dan kasus simpan yang berguna untuk menyimpan data dari form input kedalam tabel dari sebuah database. clstabelharga.php 1 2 3 4 5 6 7 8 9 10 11 12 <?php require_once("clsUtil.php"); class harga extends Util { function harga() { require_once "koneksi.php"; require_once "user_cek.php"; } Praktikum Pemrograman Web II-PHP 41 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 function showAddForm() { $smarty = new Smarty; $smarty->display("tabelharga_add.html"); } function savePos() { global $db; $kode = $_POST['kode']; $asal = $_POST['asal']; $tujuan = $_POST['tujuan']; $sql = "insert into tab_harga (kode, kotaasal, kotatujuan) values ('$kode','$asal','$tujuan')"; $rs=mysql_query($sql); if($rs) $inserted = 1; else $inserted = 0; if($inserted) { echo "<script language=javascript> alert('Terima Kasih, berhasil menyimpan data'); window.location='tabelharga.php'; </script>"; } else echo "<script language=javascript> alert('Gagal menyimpan data'); window.location='tabelharga.php'; </script>"; } function showHarga() { global $db; global $FOOTER_NOTES,$HEADER_NOTES,$TITLE,$PHP_SELF; global $awal,$jumrow; if ($awal) { $start=$awal; }else{ $start=0; } if ($jumrow) { $numrows=$jumrow; }else{ $numrows=ITEM_PER_PAGE; } $smarty = new Smarty; $USER = $_SESSION[usernamesession]; $smarty->assign("user", $USER); $smarty->assign("HEADER_NOTES", $HEADER_NOTES); $smarty->assign("FOOTER_NOTES", $FOOTER_NOTES); $smarty->assign("title", $TITLE); $smarty->assign("self_url", $PHP_SELF); $keyword = empty($_POST['keyword']) ? $_REQUEST['keyword'] : $_POST['keyword']; $keyword = str_replace("'","",stripslashes($keyword)); $to_search = str_replace("\"","",urlencode($keyword)); Praktikum Pemrograman Web II-PHP 42 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 $smarty -> assign("keyword",$keyword); $smarty -> assign("to_search",$to_search); $sqlUser = "PERNYATAAN SQL STATEMENT UNTUK MENAMPILKAN DATA"; $rs=mysql_query($sqlUser); if(mysql_num_rows($rs) < 1) { $kosong = 'kosong'; $pos_list[] = array( 'no'=>$kosong, 'id'=>$kosong, 'kode'=>$kosong, 'asal'=>$kosong, 'tujuan'=>$kosong, 'jenis'=>$kosong, 'kirim'=>$kosong, 'harga'=>$kosong ); } else { $no = $awal; while($row = (mysql_fetch_assoc($rs))){ ++$no; $pos_list[] = array( 'no'=>$no, 'id'=>$row['id'], 'kode'=>$row['kode'], 'asal'=>$row['asal'], 'tujuan'=>$row['tujuan'], 'jenis'=>$row['jenis'], 'kirim'=>$row['kirim'], 'harga'=>number_format($row['harga']) ); } $nomor = $no; } $smarty->assign("jmlrcd", $nomor); $smarty->assign("pos", $pos_list); $smarty->display("tabelharga.html"); } } ?> Praktikum Pemrograman Web II-PHP 43 Kemudian buat file tabelharga_add.html pada folder templates sebagai berikut : tabelharga_add.html 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="utf-8"> 5 <title>{$title}</title> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <!-- Bootstrap --> 8 <link href="css/bootstrap.css" rel="stylesheet"> 9 <link href="css/bootstrap-responsive.css" rel="stylesheet"> 10 <link href="css/docs.css" rel="stylesheet"> 11 <link href="css/bootstrap.min.css" rel="stylesheet" media="screen"> 12 <link href="css/prettify.css" rel="stylesheet"> 13 </head> 14 {literal} 15 <script src="js/bootstrap.min.js"></script> 16 <!--<script src="http://code.jquery.com/jquery.js"></script>--> 17 <script type="text/javascript"> 18 var _gaq = _gaq || []; 19 _gaq.push(['_setAccount', 'UA-146052-10']); 20 _gaq.push(['_trackPageview']); 21 (function() { 22 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 23 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google24 analytics.com/ga.js'; 25 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 26 })(); 27 </script> 28 {/literal} 29 <body data-spy="scroll" data-target=".bs-docs-sidebar"> 30 <!-- Navbar 31 ================================================== --> 32 <div class="navbar navbar-inverse navbar-fixed-top"> 33 <div class="navbar-inner"> 34 <div class="container"> 35 <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav36 collapse"> 37 <span class="icon-bar"></span> 38 <span class="icon-bar"></span> 39 <span class="icon-bar"></span> 40 </button> 41 <!--<a class="brand" href="./index.html">Bootstrap</a>--> 42 <div class="nav-collapse collapse"> 43 <ul class="nav"> 44 <li class=""> 45 <a href="index.php?mod=showMenu">Home</a> 46 </li> 47 <li class="active"> 48 <a href="kota.php">Master Kota</a> 49 </li> 50 <li class=""> 51 <a href="jenis.php">Master Jenis Kendaraan</a> 52 </li> 53 <li class=""> 54 <a href="carakirim.php">Master Cara Kirim</a> 55 </li> 56 <li class=""> 57 <a href="tabelharga.php">Tabel Harga</a> Praktikum Pemrograman Web II-PHP 44 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 </li> <li class=""> <a href="tabelorder.php">Tabel Order</a> </li> <li class=""> <a href="yahoo.php">Yahoo Email</a> </li> <li class=""> <a href="index.php?mod=logout">LOGOUT</a> </li> </ul> </div> </div> </div> </div> <!-- Subhead ================================================== --> <header class="jumbotron subhead" id="overview"> <div class="container"> <h1>Master Harga</h1> <p class="lead">Daftar Harga dan Wilayah pengiriman</p> </div> </header> <div class="container"> <form style="margin-top:10px;" class="form-horizontal" method="POST" action="tabelharga.php?mod=simpan"> <div class="control-group"> <label class="control-label" for="kota">Kode</label> <div class="controls"> <input type="text" name="kode" placeholder="Kode"> </div> </div> <div class="control-group"> <label class="control-label">Kota Asal</label> <div class="controls"> <input type="text" name="asal" placeholder="Kota Asal"> </div> <div class="control-group"> <label class="control-label">Kota Tujuan</label> <div class="controls"> <input type="text" name="tujuan" placeholder="tujuan"> </div> </div> <div class="control-group"> <div class="controls"> <button type="submit" class="btn btn-primary">Simpan</button> <input type=button value="Batal" onClick="javascript:history.go(-1)" class="btn"> </div> </div> </form> </div> </body> </html> Praktikum Pemrograman Web II-PHP 45 Soal 13.1. (Program menyisipkan data di web page) Susun program yang di dalamnya terdapat class untuk menyisipkan data pada tabel produk dari sebuah database dalam sebuah aplikasi. LEMBAR JAWABAN Praktikum Pemrograman Web II-PHP 46 Bab 14 Mengupdate data di web page Untuk mengupdate data kedalam tabel dari sebuah database dalam pemrograman php ini dapat dilakukan dengan perintah/program sebagai berikut : Dalam praktek kali ini kita masih menggunakan tabel yang sama yaitu tabel harga, adapun langkah-langkah yang akan ditempuh sbb: 1. Memodifikasi tabelharga.php dan clstabelharga.php dengan menambahkan beberapa fungsi 2. Membuat User Interface (tampilan layar) form edit harga. tabelharga.php 1 <? 2 require_once "clstabelharga.php"; 3 $mharga = new harga(); 4 $mod = $_REQUEST['mod']; 5 switch ($mod) 6 { 7 case "ubah": 8 $mharga -> showPosEditForm(); 9 break; 10 11 case "editproses": 12 $mharga -> saveeditpos(); 13 break; 14 15 case "simpan": 16 $mharga -> savePos(); 17 break; 18 19 case "tambah": 20 $mharga -> showAddForm(); 21 break; 22 23 default : 24 $mharga -> showHarga(); 25 break; 26 } 27 ?> Dari program diatas kita tambahkan dua buah case (kasus) yaitu kasus untuk ubah data yang bertujuan untuk menampilkan form input dan kasus editproses yang berguna untuk menyimpan data dari form input kedalam tabel dari sebuah database. Praktikum Pemrograman Web II-PHP 47 clstabelharga.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 <?php require_once("clsUtil.php"); class harga extends Util { function harga() { require_once "koneksi.php"; require_once "user_cek.php"; } function showAddForm() { $smarty = new Smarty; $smarty->display("tabelharga_add.html"); } function savePos() { global $db; $kode = $_POST['kode']; $asal = $_POST['asal']; $tujuan = $_POST['tujuan']; $sql = "insert into tab_harga (kode, kotaasal, kotatujuan) values ('$kode','$asal','$tujuan')"; $rs=mysql_query($sql); if($rs) $inserted = 1; else $inserted = 0; if($inserted) { echo "<script language=javascript> alert('Terima Kasih, berhasil menyimpan data'); window.location='tabelharga.php'; </script>"; } else echo "<script language=javascript> alert('Gagal menyimpan data'); window.location='tabelharga.php'; </script>"; } function showPosEditForm() { global $id,$db; global $FOOTER_NOTES,$HEADER_NOTES,$TITLE; $id=$_GET['id']; $smarty = new Smarty; $USER = $_SESSION[usernamesession]; $smarty->assign("user", $USER); $smarty->assign("HEADER_NOTES", $HEADER_NOTES); $smarty->assign("FOOTER_NOTES", $FOOTER_NOTES); $smarty->assign("title", $TITLE); Praktikum Pemrograman Web II-PHP 48 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 $sql = "SELECT * FROM tab_harga WHERE kode = '$id'"; $rs=mysql_query($sql); if (mysql_num_rows($rs) > 0) { $pos_list = mysql_fetch_array($rs); $asal = $pos_list['kotaasal']; $tujuan = $pos_list['kotatujuan']; $jenis = $pos_list['id_jenis']; $carakirim = $pos_list['id_carakirim']; $smarty->assign("kode", $id); $smarty->assign("asal", $asal); $smarty->assign("tujuan", $pos_list['kotatujuan']); } $smarty->display("tabelharga_edit.html"); } function saveeditpos() { global $db; $kode = $_POST['kode']; $asal = $_POST['asal']; $tujuan = $_POST['tujuan']; $sql = "update tab_harga set kotaasal='$asal', kotatujuan='$tujuan' where kode='$kode'"; $rs=mysql_query($sql); if($rs) $inserted = 1; else $inserted = 0; if($inserted) { echo "<script language=javascript> alert('Terima Kasih, berhasil menyimpan data'); window.location='tabelharga.php'; </script>"; } else echo "<script language=javascript> alert('Gagal menyimpan data'); window.location='tabelharga.php'; </script>"; } function showHarga() { global $db; global $FOOTER_NOTES,$HEADER_NOTES,$TITLE,$PHP_SELF; global $awal,$jumrow; if ($awal) { $start=$awal; }else{ $start=0; } if ($jumrow) { $numrows=$jumrow; }else{ Praktikum Pemrograman Web II-PHP 49 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 $numrows=ITEM_PER_PAGE; } $smarty = new Smarty; $USER = $_SESSION[usernamesession]; $smarty->assign("user", $USER); $smarty->assign("HEADER_NOTES", $HEADER_NOTES); $smarty->assign("FOOTER_NOTES", $FOOTER_NOTES); $smarty->assign("title", $TITLE); $smarty->assign("self_url", $PHP_SELF); $keyword = empty($_POST['keyword']) ? $_REQUEST['keyword'] : $_POST['keyword']; $keyword = str_replace("'","",stripslashes($keyword)); $to_search = str_replace("\"","",urlencode($keyword)); $smarty -> assign("keyword",$keyword); $smarty -> assign("to_search",$to_search); $sqlUser = "PERNYATAAN SQL STATEMENT UNTUK MENAMPILKAN DATA"; $rs=mysql_query($sqlUser); if(mysql_num_rows($rs) < 1) { $kosong = 'kosong'; $pos_list[] = array( 'no'=>$kosong, 'id'=>$kosong, 'kode'=>$kosong, 'asal'=>$kosong, 'tujuan'=>$kosong, 'jenis'=>$kosong, 'kirim'=>$kosong, 'harga'=>$kosong ); } else { $no = $awal; while($row = (mysql_fetch_assoc($rs))){ ++$no; $pos_list[] = array( 'no'=>$no, 'id'=>$row['id'], 'kode'=>$row['kode'], 'asal'=>$row['asal'], 'tujuan'=>$row['tujuan'], 'jenis'=>$row['jenis'], 'kirim'=>$row['kirim'], 'harga'=>number_format($row['harga']) ); } $nomor = $no; } $smarty->assign("jmlrcd", $nomor); $smarty->assign("pos", $pos_list); $smarty->display("tabelharga.html"); } } ?> Praktikum Pemrograman Web II-PHP 50 Kemudian buat file tabelharga_edit.html pada folder templates sebagai berikut : tabelharga_edit.html 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="utf-8"> 5 <title>{$title}</title> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <!-- Bootstrap --> 8 <link href="css/bootstrap.css" rel="stylesheet"> 9 <link href="css/bootstrap-responsive.css" rel="stylesheet"> 10 <link href="css/docs.css" rel="stylesheet"> 11 <link href="css/bootstrap.min.css" rel="stylesheet" media="screen"> 12 <link href="css/prettify.css" rel="stylesheet"> 13 </head> 14 {literal} 15 <script src="js/bootstrap.min.js"></script> 16 <!--<script src="http://code.jquery.com/jquery.js"></script>--> 17 <script type="text/javascript"> 18 var _gaq = _gaq || []; 19 _gaq.push(['_setAccount', 'UA-146052-10']); 20 _gaq.push(['_trackPageview']); 21 (function() { 22 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 23 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google24 analytics.com/ga.js'; 25 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 26 })(); 27 </script> 28 {/literal} 29 <body data-spy="scroll" data-target=".bs-docs-sidebar"> 30 <!-- Navbar 31 ================================================== --> 32 <div class="navbar navbar-inverse navbar-fixed-top"> 33 <div class="navbar-inner"> 34 <div class="container"> 35 <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav36 collapse"> 37 <span class="icon-bar"></span> 38 <span class="icon-bar"></span> 39 <span class="icon-bar"></span> 40 </button> 41 <!--<a class="brand" href="./index.html">Bootstrap</a>--> 42 <div class="nav-collapse collapse"> 43 <ul class="nav"> 44 <li class=""> 45 <a href="index.php?mod=showMenu">Home</a> 46 </li> 47 <li class="active"> 48 <a href="kota.php">Master Kota</a> 49 </li> 50 <li class=""> 51 <a href="jenis.php">Master Jenis Kendaraan</a> 52 </li> 53 <li class=""> 54 <a href="carakirim.php">Master Cara Kirim</a> 55 </li> Praktikum Pemrograman Web II-PHP 51 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 <li class=""> <a href="tabelharga.php">Tabel Harga</a> </li> <li class=""> <a href="tabelorder.php">Tabel Order</a> </li> <li class=""> <a href="yahoo.php">Yahoo Email</a> </li> <li class=""> <a href="index.php?mod=logout">LOGOUT</a> </li> </ul> </div> </div> </div> </div> <!-- Subhead ================================================== --> <header class="jumbotron subhead" id="overview"> <div class="container"> <h1>Master Harga</h1> <p class="lead">Daftar Harga dan Wilayah pengiriman</p> </div> </header> <div class="container"> <form style="margin-top:10px;" class="form-horizontal" method="POST" action="tabelharga.php?mod=editproses"> <div class="control-group"> <label class="control-label" for="kota">Kode</label> <div class="controls"> <input type="text" name="kode" placeholder="Kode" value="{$kode}"> </div> </div> <div class="control-group"> <label class="control-label">Kota Asal</label> <div class="controls"> <input type="text" name="asal" placeholder="Kota Asal" value="{$asal}" > </div> <div class="control-group"> <label class="control-label">Kota Tujuan</label> <div class="controls"> <input type="text" name="tujuan" placeholder="tujuan" value="{$tujuan}"> </div> </div> <div class="control-group"> <div class="controls"> <button type="submit" class="btn btn-primary">Simpan</button> <input type=button value="Batal" onClick="javascript:history.go(-1)" class="btn"> </div> </div> </form> </div> </body> </html> Praktikum Pemrograman Web II-PHP 52 Soal 13.1. (Program mengupdate data di web page) Susun program yang di dalamnya terdapat class untuk mengupdate data pada tabel produk dari sebuah database dalam sebuah aplikasi. Praktikum Pemrograman Web II-PHP 53 LEMBAR JAWABAN Praktikum Pemrograman Web II-PHP 54 FOTO 3X4 KARTU PESERTA PRAKTIKUM PEMROGRAMAN WEB II NAMA MAHASISWA NIM : : TANGGAL NO PERCOBAAN NILAI TANDA TANGA ASISTEN 1 2 3 4 5 6 7 8 9 10 11 12 Praktikum Pemrograman Web II-PHP 55 13 14 Mengetahui, Dosen pengampu ---------------------------- Praktikum Pemrograman Web II-PHP 56