Praktikum Pemasaran Berbasis Web MODUL 4 PHP (DATABASE) Laboratorium Komputer STIMIK PPKIA Pradnya Paramita Malang 2016 [email protected] Praktikum Pemasaran Berbasis Web Pertemuan 4 4.1 Tujuan : 1. Mahasiswa dapat memahami mengenai database 2. Mahasiswa dapat mengaplikasikan penggunaan Database untuk penambahan, pengeditan dan penghapusan data. 4.2 Materi : 1. Xampp 2. Sql 3. form 4.3 Dasar Teori Database Hampir semua aplikasi web yang dikembangkan saat ini membutuhkan teknokogi database untuk menyimpan dan mengelola data – data yang digunakan di dalamnya. PHP memberikan dukungan terhadap banyak jenis database, baik yang bersifat komersial maupun yang tidak. Dalam modul ini kita akan memilih paket web server XAMPP, yang dimana MySql sebagai aplikasi basisdatanya. Mysql merupakan software system manajemen database (Database Management System – DBMS) berbasis client-server. MySQL sangat mudah untuk digunakan dan banyak dipakai pada sistem database menengah MySql juga banyak dijumpai dipasaran dan mudah berinteraksi dengan bahasa aplikasi lain baik berbasis desktop maupun web. Untuk dapat menggunakan MySql tersedia driver/connector atau fungsi fungsi khusus Yang disiapkan oleh bahasa pemrograman pendukungnya. Sebagai IDE (integrated development Environtment) MySql dapat menggunakan command line via commandprompt, Texpad atau yang sudah disiapkan oleh PHP PhpMyAdmin 4.4 Perintah dasar SQL 1. Membuat database = CREATE DATABASE database_name 2. Menghapus database = DROP DATABASE database_name 3. Membuat table CREATE TABLE table_name ( column_name1 data_type, column_name2 data_type, ....... ) Tipe Data (data type) yang dapat disimpan oleh database secara garis besar dibedakan menjadi: a. Tipe data numerik Tipe data numerik digunakan untuk semua data bilangan (angka) yang dapat diperhitungkan. Tipe ini dibedakan menjadi tipe data yang lebih rinci, antara lain : Integer, float, double, dan lainnya b. Tipe data karakter Tipe data ini digunakan untuk semua data huruf, angka, dan tanda baca. Dibedakan menjadi char, varchar, text, dan lainnya c. Tipe data tanggal Tipe data ini digunakan untuk mendefinisikan waktu. Dibedakan menjadi time, timestamp, date, datetime, year, dan lainnya. [email protected] Praktikum Pemasaran Berbasis Web 4. Menghapus table = DROP TABLE table_name 5. Menambahkan field kedalam tabel ALTER TABLE table_name ADD column_name data_type; 6. Menghapus Field ALTER TABLE table_name drop column_name 7. Memasukan data ke tabel INSERT INTO table_name VALUES (value1, value2,....) Selain sintak diatas anda juga dapat menyebutkan nama–nama filed (kolomnya). INSERT INTO table_name (column1, column2,...) VALUES (value1, value2,....) 8. Menampilkan data SELECT (column1, coloumn2…) from table_name Atau jika akan menampilkan semua kolom maka dapat menggunakan tanda *. SELECT * from table_name 9. Merubah data / menganti data UPDATE table_name SET column1 = expr1, column2 = expr2 WHERE where_definition 10. Menghapus data DELETE FROM table_name WHERE where_definition Untuk dapat menampilkan hasil query pada browser, PHP memerlukan fungsi API (Application Programming Interface). Berikut beberapa daftar PHP untuk MySQL : Nama fungsi mysql_connect mysql_close mysql_select_db mysql_create_db mysql_drop_db mysql_query mysql_fetch_array mysql_fetch_row mysql_num_rows mysql_error Kegunaan Membuka koneksi kepada server MySQL Memutuskan koneksi database Memilih database yang akan digunakan setelah melakukan koneksi ke server Membuat database baru pada MySQL Menghapus sebuah database Mengirimkan perintah SQL ke server MySQL Menampilkan sebuah baris hasil query sebagai array assosiatif Menampilkan baris hasil dalam bentuk array satu persatu Menghitung jumlah record / baris hasil suatu query Menampilkan teks berupa pesan error dari operasi [email protected] Praktikum Pemasaran Berbasis Web Mysql_result Mysql_fetch_field Mysql_fetch_length yang dilakukan Memberikan data hasil query Menghasilkan informasi kolom dari hasil dan ditampilkan sebagai obyek Menampilkan panjang pada beberapa kolom baris terakhir 4.5 XAMPP Sebelum kita menjalankan program mysql yang ada di dalam paket web server xampp, maka kita perlu menginstall xampp tersebut. Langkah – langkah instalasi xampp sebagai berikut : 1. siapkan file master xampp yang akan diinstall 2. kemudian bukalah file tersebut dengan melakukan double klik , sehingga akan menampilkan jendela seperti ini : 3. setelah itu pilih bahasa instalasi yang akan digunakan kemudian pilih OK. Maka akan menuju jendela berikut : 4. setelah itu klik next, maka akan menampilkan seting peletakan folder tempat xampp berada, sebagai berikut : 5. Kemudian klik next, maka akan menampilkan jendela permintaan section service yang akan kita install yang terdiri dari apache, mysql, dan filezilla, yaitu sebagai berikut : [email protected] Praktikum Pemasaran Berbasis Web 6. kemudian klik next, maka akan menampilkan proses instalasi sebagai berikut : 7. setelah selesai, klik next maka akan menampilkan konfigurasi apache sebagai berikut : 8. Kemudian akan ditampilkan jendela konfirmasi bahwa xampp selesai diinstall seperti gambar berikut : 9. Kemudian melakukan proses checking port untuk mempersiapkan setting mysql, seperti pada gambar : [email protected] Praktikum Pemasaran Berbasis Web 10. Kemudian akan muncul jendela informasi penggunaan control panel, seperti gambar berikut : 11. Jika berhasil akan muncul jendela konfirmasi setting control panel sukses dan sekaligus permintaan akan membuka control panel 12. Jika menekan yes maka akan menampilkan jendela control xampp, warna hijau dengan tulisan running itu menandakan bahwa apache dan mysql sudah dapat digunakan. 13. Untuk melihat apakah apache sudah bisa digunakan, kita dapat membuka browser mozila firefox , kemudian pada address bar ketikkan http ://localhost kemudain tekan enter , maka akan muncul tampilan sebagai berikut : 14. Kemudian untuk melihat apakah mysql sudah bisa digunakan ketikkan http://localhost/phpmyadmin . Sehingga menampilkanjendela seperti berikut : [email protected] Praktikum Pemasaran Berbasis Web 4.4.1 Menggunakan phpmyadmin (Tab SQL) Setelah selesai menginstall xampp dan control xampp sudah dihidupkan, maka kita akan belajar membuat database berserta isinya melalui phpmyadmin menu tab sql pada phpmyadmin. Langkah – langkahnya sebagai berikut : 1. Pertama ketikkan http://localhost/phpmyadmin kemudian enter dan pilih tab SQL pada menu 2. Kemudian ketikkan perintah create database nama database, untuk membuat sebuah database, pada contoh : create database contohdb; kemudian klik go. 3. Jika sukses nama database yang kita buat akan tampil pada sisi kiri phpmyadmin [email protected] Praktikum Pemasaran Berbasis Web 4. Kemudian untuk membuat table anda harus mendeklarasikan beserta kolom tabelnya dengan cara create table nama_tabel(field_typedata); Contoh : create table bukutamu(nama varchar(25) not null, alamat varchar(50), email varchar(25)); kemudian klik go. 5. Jika suskses maka akan muncul seperti jendela seperti berikut : 6. Setelah database dan table sudah terbentuk maka langkah selanjutnya yaitu mengisi table dengan data yang ada dengan cara INSERT INTO `nama tabel`(`field1`, `field2`, `field3`) VALUES ([value-1],[value-2],[value-3]); contoh : INSERT INTO `bukutamu`(`nama`, `alamat`, `email`) VALUES (‘linda suvi rahmawati’,’malang’,’[email protected]’); [email protected] Praktikum Pemasaran Berbasis Web 7. Setelah anda klik go dan sukses maka jika ada melihat table buku tamu akan terisi data sesuai dengan data yang anda isikan 4.4.2 Menggunakan phpmyadmin Pada sub bab sebelumnya telah dijelaskah langkah – langkah pembuatan database beserta table dan pengisian data melalui tab sql, sekarang pada sub bab ini kita akan membuat database dan yang lainnya menggunakan phpmyadmin. Langkah – langkahnya sebagai berikut : 1. Pertama ketikkan http://localhost/phpmyadmin kemudian enter . 2. Untuk membuat database silahkan klik tab database, isi nama database yang akan anda buat pada kolom create database kemudian klik tombol create. Pada contoh membuat database dengan nama buku. [email protected] Praktikum Pemasaran Berbasis Web 3. Setelah database sudah ada maka langkah selanjutnya yaitu membuat table, dengan cara dobel klik pada database yang kita gunakan maka akan muncul jendela seperti berikut, kemudian isi nama table dan sekalian tentukan berapa kolom yang akan dibutuhkan. 4. Kemudian isi nama kolom tersebut, type , length/values dan yang lainnya lalu klik save 5. Klik menu insert untuk mengisi data pada table yang telah kita buat sebelumnya, entrikan data pada kolom value jangan lupa klik tombol save. [email protected] Praktikum Pemasaran Berbasis Web 6. Jika sudah selesai mengisi table dengan data maka hasilnya bisa dilihat dengan cara dobel klik pada nama table. Di bawah data tersebut juga ada fasilitas untuo edit/update, delete data table. 4.4.3 Membangun Koneksi antara PHP dan Xampp Pada saat kita bekerja dengan web server di dalam PHP, anda harus menggunakan tahap – tahap berikut : 1. Buka koneksi ke sever database 2. Bekerja dengan data di dalam database server 3. Tutup koneksi PHP menyediakan fungsi mysql_connect() untuk membangun koneksi antara PHP dan database server. Bentuk umum fungsi tersebut adalah : $config = mysql_connect ( hostname, username, password, database) Keterangan : Variable $config adalah variable yang digunakan sebagai indicator sukses atau tidaknya koneksi database yang dibangun. Jika koneksi gagal, variable ini bernilai false. Contoh : $config = mysql_connect ( “localhost”, “prass”, “s3cr3t”, “sipegdb”); If($config){ Echo “koneksi sukses”; //perintah – perintah yang akan dilakukan //…. }else{ Die (“error :”.mysql_connect_error()) } [email protected] Praktikum Pemasaran Berbasis Web Keterangan : Fungsi mysql_connect_error akan mengembalikan string yang merupakan pesan kesalahan yang terjadi pada saat anda memanggil mysql_connect(). 4.4.4 Menampilkan data ke halaman web Setelah koneksi berhasil terbangun, langkah selanjutnya yaitu mengakses data dalam database, apakah akan dimanipulasi atau hanya sekedar ditampilkan saja ke halaman web. Untuk menampilkan data table yang telah kita buat ke halaman web terdapat beberapa langkah : 1. Buat koneksi ke web server database menggunakan fungsi mysql_connect(). 2. Jalankan query (dalam hal ini statemen SELECT) menggunakan fungsi mysql_query. Proses ini menghasilkan suatu result set (kumpulan record), Tampunglah result set tersebut ke dalam variable bantu. 3. Gunakan pengulangan untuk menangkap setiap baris data dari result set yang dihasilkan. Untuk keperluan ini anda dapat menggunakan mysql_fetch_array(). Untuk mempermudah proses, tampunglah baris data yang ditangkap tersebut ke dalam variable bantu. 4. Melalui variable bantu tersebut anda dapat menampilkan setiap kolom (field) yang ada dari baris yang ditangkap. Data yang sudah kita inputkan tadi Jadi untuk menampilkan data dalam table yang telah kita buat, maka yang kita butuhkan adalah koneksi, kita buatkan dulu file koneksinya : <?php $server = "localhost"; $username = "root"; $password = ""; $database = "contohdb"; //koneksi dan memilih database di server mysql_connect($server, $username, $password) or die ("koneksi gagal"); mysql_select_db ($database) or die ("database tidak bisa dibuka"); ?> [email protected] Praktikum Pemasaran Berbasis Web Simpan dengan nama koneksi1.php, pastikan ketika anda menjalankan file tidak ada pesan erornya Kemudian untuk menampilkan datanya kita butuh file untuk membuka data <?php include "koneksi.php"; $konek = mysql_query("SELECT * FROM anggota "); if (!$konek){ echo 'query tidak bisa dijalankan:' . mysql_error(); exit;} while ($row = mysql_fetch_array($konek)){ echo (" $row[0] | $row[1] | $row[2] | $row[3] <br> "); } ?> Simpan dengan nama buka.php, ketika file buka.php sukses dan data berhasil dikeluarkan pada halama web. Maka akan keluar seperti berikut : 4.4.5 Membuat database, table beserta isinya dengan PHP Untuk membuat database beserta tabelnya tidak harus dikerjakan langsung melalui database servernya. Dengan beberapa fungsi mysql yang digabungkan di PHP maka kita bisa membuatnya lewat skrip PHP. Yang harus dilakukan pertama yaitu tetap membuat koneksi antara file kita dengan database server . File koneksi.php <?php $host = "localhost"; $user = "root"; $password = ""; $config = mysql_connect($host, $user, $password); if (!$config) { echo "koneksi ke database gagal"; }; ?> Table.php <?php include ("koneksi.php"); $create_database = mysql_query ("CREATE Database praktikum"); $select_db = mysql_select_db ("praktikum"); if (!$select_db){ die ("database tidak terseleksi"); } $tabel = "CREATE TABLE data_mhs ( nomor int not null primary key auto_increment, nim int not null, nama varchar (30) not null, alamat varchar (20) not null)"; $isi = "INSERT INTO data_mhs VALUES (1,'10.31.0010','linda','kediri'), (2,'10.51.0010','sari','malang'), (3,'10.52.0010','sony','blitar')"; $buat_tabel = mysql_query ($tabel); if (!$buat_tabel){ [email protected] Praktikum Pemasaran Berbasis Web echo "proses pembuatan tabel gagal"; }else{ $isi_tabel = mysql_query ($isi); echo "pembuatan database dan tabel berhasil"; }; ?> Jangan lupa jalankan dahulu file koneksi.php sampai tanpa eror, kemudian jalankan table.php jika berhasil hasilnya seperti berikut : Dan pada phpmyadmin akan terdapat database dan table yang sudah kita buat 4.4.6 Memasukkan Data melalui Form Pada praktiknya , proses memasukkan data ke dalam database dilakukan melalui form, bukan dimanipulasi langsung melalui phpmyadmin. Contoh yang sering kita jumpai adalah seperti pada registrasi email. Pada proses tersebut , kita disuguhi form registrasi dan diminta untuk memasukkan data – data pribadi kita. Data – data tersebut selanjutnya akan disimpan kedalam database server yang mereka kelola. Pada bagian ini kita akan mempraktikan cara membuat form (inputan) pada halaman web yang dapat berinteraksi dengan data yang ada di dalam database server. Bentuk umum fungsinya : Insert inro NamaTabel(field1,field2,…)values(nilai1,nilai2,…); [email protected] Praktikum Pemasaran Berbasis Web Contoh : INSERT INTO `anggota`(`no_anggota`, `Nama`, `alamat`, `email`) VALUES (‘00001, linda suvi rahmawati’,’perum nanggala regency blok G no 6 kab Malang’,’[email protected]’) Sebelum kita membahas tentang bagaimana caranya memasukkan data melalui form, sebaiknya kita membuat koneksi dan formnya terlebih dahulu. <html> <body> <form action = "simpan.php" method="POST"> Nama : <input type = "text" name="nama"><br> Alamat : <input type = "text" name="alamat"><br> Email : <input type = "text" name="email"><br> <input type = submit value = "simpan"> </form> </body> </html> Simpan dengan nama form.php, form ini mempunyai tiga entrian data yaitu nama, alamat dan email dan mempunya satu tombol submit. Form tersebut memakai metode POST dan action ke file simpan.php, yang dimana file simpan.php adalah file yang isinya memproses penyimpanan data dari form. <?php include "koneksi1.php"; $simpan = mysql_query("INSERT INTO bukutamu(nama, alamat,email) VALUES('$_POST[nama]', '$_POST[alamat]','$_POST[email]')"); if ($simpan == true){ ?> <script> alert('penyimpanan data berhasil'); </script> <?php }else { ?> <script> alert('penyimpanan data gagal'); </script> <?php } ?> <meta http-equiv="refresh" content="0; url=tampil_data.php" /> Simpan file dengan nama simpan.php, untuk proses menyimpan data dari form kita membutuhkan jalan untuk masuk ked lam database dan table yang akan kita isi melalui [email protected] Praktikum Pemasaran Berbasis Web include "koneksi1.php";. Kemudian untuk memasukkan data ke dalam table kita memakai fungsi mysql_query dan kita tamping dengan variable bantu $simpan jadi pada skrip $simpan = mysql_query("INSERT INTO bukutamu(nama, alamat,email) VALUES('$_POST[nama]', '$_POST[alamat]','$_POST[email]')");. Untuk mengetahui apakah data benar – benar tersimpan dalam table atau belum maka kita memakai pemilihan if yaitu : if ($simpan == true){ ?> <script> alert('penyimpanan data berhasil'); </script> <?php }else { ?> <script> alert('penyimpanan data gagal'); </script> <?php } ?> <meta http-equiv="refresh" content="0; url=tampil_data.php" /> ini adalah untuk mengembalikan tampilan ke list data Setelah berhasil disimpan maka kita tampilkan datanya : <?php echo "<h2>BUKU TAMU</h2>";?> <a href='form.php'>Tambah</a> <table> <tr bgcolor = '#ccc'> <th>No</th><th>Nama</th><th>Alamat</th><th>Email</th><th>Action</th> </tr> <?php include "koneksi1.php"; $tampilkan = mysql_query("SELECT * FROM bukutamu"); $no=1; while($r = mysql_fetch_array($tampilkan)){ ?> <tr> <td> <?php echo $no;?></td> <td><?php echo $r['nama']?></td> <td><?php echo $r['alamat']?></td> <td><?php echo $r['email']?></td> <td><ahref='form_update.php?id=<?php echo $r['id'];?>'>Edit</a> |<a href='hapus.php?id=<?php echo $r['id'];?>' onclick="return confirm('apakah anda akan menghapus data ?')">Hapus</td> </tr> <?php $no++; [email protected] Praktikum Pemasaran Berbasis Web } echo"</table>"; ?> 4.4.7 Mengubah data dari form web Sebelum kita mengupdate atau melakukan proses editing, maka kita memilih data yang akan diupdate dan dikeluarkan di form untuk diupdate. Maka kita bikin form upatenya. <html> <body> <?php //mengambil primary key yang dipilih $id = $_GET ['id']; include "koneksi1.php"; $tampilkan = mysql_query("SELECT * FROM bukutamu where id = '$id'"); while($r = mysql_fetch_array($tampilkan)){ $nama = $r['nama']; $alamat = $r['alamat']; $email = $r['email']; } ?> <form action = "edit.php" method="POST"> Nama : <input type = hidden name = id value = '<?php echo $id ?>'> <input type = "text" name="nama" value = '<?php echo $nama ?>'><br> Alamat : <input type = "text" name="alamat" value = '<?php echo $alamat?>'><br> Email : <input type = "text" name="email" value = '<?php echo $email ?>'><br> <input type = submit value = "simpan"> </form> </body> </html> Simpan dengan form_update.php. kemudian untuk proses update atau editnya <?php include "koneksi1.php"; //untuk mengambil variabel dari form edit $id = $_POST['id']; $nama = $_POST['nama']; $alamat = $_POST['alamat']; $email = $_POST['email']; $edit = mysql_query("UPDATE bukutamu set nama = '$nama', alamat = '$alamat',email = '$email' where id = '$id' "); if ($edit == true){ ?> <script> alert('update data berhasil'); </script> <?php [email protected] Praktikum Pemasaran Berbasis Web }else { ?> <script> alert('update data gagal'); </script> <?php } ?> <meta http-equiv="refresh" content="0; url=tampil_data.php" /> 4.4.8 Menghapus data dari form web <?php include "koneksi1.php"; $id = $_GET ['id']; $hapus = mysql_query("DELETE from bukutamu where id = '$id'"); if ($hapus == true){ ?> <script> alert('penghapusan data berhasil'); </script> <?php }else { ?> <script> alert('penghapusan data gagal'); </script> <?php } ?> <meta http-equiv="refresh" content="0; url=tampil_data.php" /> 4.4.9 Tugas 1. Buatlah database dengan nama Data 2. Buatlah Tabel dengan nama data_diri dengan field (nama, alamat, email,no_telp, jenis_kelamin, hobi, jumlah_saudara,orang_tua, foto, komentar) 3. Buatlah formnya untuk menginputkan data, menyimpan, mengupdate dan menghapus [email protected]