• Tidak ada hasil yang ditemukan

Implementasi Program

BAB IV IMPLEMENTASI SISTEM

4.3 Implementasi Program

Setiap formdalam situs web ini rata-rata menggunakan perintah dan listing program manipulasi data yang sama, seperti perintah untuk input

data,edit data, mencari data, dan menghapus data. Berikut adalah contoh-contoh listing program tersebut.

1. Koneksi kedatabase(connect_db.php)

2. Konfigurasi untukdatabase(config.php) $user = "root";

$pass = ""; $db = "anyar"; $server = "localhost"; // membuat koneksi

$koneksi = mysql_connect($server, $user, $pass);

//Konfigurasi untuk database $db_host="localhost"; $db_name="anyar"; $db_user="root"; $db_password="";

$tb_kritiksaran="kritiksaran";

$bt_pph="3";//jumlah pesan yang ditampilkan per halaman $limit=5;

3. Function untuk membuka, menutup, serta untuk melakukan kueri terhadapdatabase(dbfunctions.php).

4. Proses verifikasilogin(user_access.php). function opendb()

{

global $db_host, $db_user, $db_password, $db_name, $db_connection; $db_connection=mysql_connect($db_host, $db_user, $db_password) or die ("Gagal membuka database!");

$db_select=mysql_select_db($db_name); } function closedb() { global $db_connection; mysql_close($db_connection); } function querydb($query) { $result=mysql_query($query)

or die ("Gagal melakukan query=$query"); return $result;

}

include "config.php";

include "dbfunctions.php"; opendb();

$query = "SELECT * FROM user where id='$username'"; $result = querydb($query); $data = mysql_fetch_array($result); closedb(); $USERNAME = $data["id"]; $PASSWORD = $data["pass"]; $NAMA = $data["nama"];

if ($username == $USERNAME AND $password == $PASSWORD) { session_register("SES_USERNAME"); session_register("SES_PASSWORD"); $SES_USERNAME = $USERNAME; $SES_PASSWORD = $PASSWORD; }

5. Function authen, mencegah user untuk masuk ke halaman yang seharusnya tidak boleh diakses sebelum melakukan login

(authentication_user.php). opendb();

$baca=querydb("select * from user where id='$SES_USERNAME'"); $dt=mysql_fetch_array($baca); closedb(); $USERNAME = $dt["id"]; $PASSWORD = $dt["pass"]; function authen() {

global $USERNAME, $PASSWORD, $SES_USERNAME, $SES_PASSWORD;

if ($SES_USERNAME == ""||$SES_PASSWORD==""){ return FALSE;

}

elseif ($USERNAME == $SES_USERNAME and $PASSWORD == $SES_PASSWORD) { return TRUE; } else { return FALSE; } }

6. Halaman situs web diatur menggunakan style.css, berupa class tertentu yang mengatur posisi ataupun bentuk dan warna seluruh content situs web. Berikut contoh penggunaan class untuk mengatur tampilan di halaman index.php.

<div id="main">

<div id="right_side">

<? include ("box_login.php"); ?>

<br /><div align="center"><h3>Direktori Website</h3></div> <? include("direktori.php"); ?>

<div align="center"><br /><h3>PollingHari Ini</h3></div> <?

if(isset($_GET["hal"])) $hal = $_GET["hal"]; else $hal = "polling";

(($hal=="polling")&&(!$_SESSION['status'])){ include("polling.php");}

if (($_SESSION['status']=="pilih")||($hal=="hasil")){ include("polling1.php");}?>

<br /><hr /><div align="center"> <? include ("counter.php"); ?></div>

</div>

<div id="left_side">

<br /><div align="center"><font size="+1">Berita & Informasi</font></div><br />

<?

opendb(); $count=1;

$query=querydb("select no,date_format(waktu, '%e %b %Y at %r')as create_time,judul,isi,gambar from news ORDER BY waktu DESC");

while(($data=mysql_fetch_row($query)) && ($count <= 3 )){ echo" <h3><span> $data[2] </span></h3>

<img src=\"images/$data[4]\" alt=\"$data[4]\" class=\"pic_news\" width=\"100\"

height=\"100\"/>$data[3]

<div class=\"date\"><img src=\"images/ico_date\" class=\"ico_date\" align=\"texttop\">$data[1]</div>";

$count=$count+1; }?> </div>

7. Class dalam style.css ada bermacam-macam, berikut contoh class untuk mengatur tampilan pada halaman situs web.

#main { }

#right_side { float: right; width: 212px; background:#F6F6F6; padding: 5px 10px 5px 10px; margin-bottom: 10px }

#right_side ul { padding: 3px 0 8px 0 }

#right_side li { line-height: 18px; background: #F6F6F6 url(images/cat-li.gif) no-repeat left; list-style: none; padding-left: 20px; }

#right_side a { background: #F6F6F6; text-decoration: none } #right_side h3 { color: #404040; font: bold; }

#right_side table { max-width:212px; }

.rt{background: url(images/rt.gif) no-repeat; height: 9px; width:212px;} .rb{background: url(images/rb.gif) no-repeat; height: 10px;

width:212px;}

.rbox{background: #FFFFFF ; left: 1px solid #666666; border-right: 1px solid #666666; width:212px}

#left_side { margin-bottom: 10px; width: 560px; }

#left_side h3 { background: #FFF url(images/hbg.gif) repeat-x; height:30px; padding: 5px 0 0 0px; margin: 0; font: bold; }

#left_side h3 span { background: url(images/h-art.gif) no-repeat left; padding: 1px 10px 0 23px; line-height: 22px; margin: 0}

#left_side p { color: #454545; padding: 0 5px 0 5px; text-align: justify; vertical-align: top}

/*#left_side img {padding: 0 10px 5px 0 }*/

.pic_news{background:#fafbfc;border:1px solid #b0b0b0;margin-right:5px;margin-top:5px;margin-bottom:5px;padding:2px; float:left}

#left_side blockquote { padding-left: 10px; border-left: 2px solid #DA4040; margin: 10px 0 10px 25px; }

.date { border-top: 1px dotted #ccc; padding: 5px 0; margin: 10px 0 25px 0; text-align: right }

.ico_date{ margin: 3px 5px 0 0; }

#left_side .rs { float: right; margin: 0 10px; border: 1px solid #ddd; padding: 5px; background: #f5f5f5 }

#left_side ul { list-style-position: inside; margin-left: 2px } #left_side ul li { list-style-type: square; margin-left: 15px; } #left_side ul ul li { list-style: none; margin-left: 10px; list-style-type: lower-alpha; list-style-position: inside }

#left_sideform{ margin:0px auto; max-width:300px;} #guestbook{color:#000000;}

#left_side .product{ background-color:#000000; color:#FFFFFF; text-align:center}

/* The footer */

#footer { clear: both; border-top: 1px solid #DCDCDC; margin: 0 0 3em 0; color: #777; background: #fff }

#footer .right { float: right; text-align: right; background: #FFF; } #footer a { text-decoration: none; background: #FFF }

8. Menampilkan pesan sistem. 9. Forward halaman. 10. Insert data. 11. Update data. 12. Delete data if($berhasil){

echo"Data user berhasil dimasukkan."; }

else{

echo"Data user gagal dimasukkan."; } <?php echo("<script language=\"javascript\"> location='index_user.php'; </script>"); ?> opendb();

$sql = "INSERT INTO pesanan

VALUES(null,'$no_user','$waktu','$produk','$detail',null)"; $simpan = querydb ($sql);

closedb();

opendb();

$sql = "INSERT INTO pesanan

VALUES(null,'$no_user','$waktu','$produk','$detail',null)"; $simpan = querydb ($sql);

closedb();

$query = "delete from pesanan where no='$dt_pesanan'"; opendb();

$kueriberhasil=querydb($query); closedb();

if($kueriberhasil){echo"Data pesanan berhasil dihapus.";} else{echo"Data pesanan tamu gagal dihapus.";}

13. Cari data.

14. Upload file

15. Hapus file

16. Membaca file txt dan memisah string di dalamnya.

17. Membaca dan menulis ke dalam file txt opendb();

$query = mysql_query("select * from pesanan where id_user='$dt_user'"); $ada=mysql_num_rows($query); closedb(); copy($b,"C:/apache/htdocs/anyar/files/".$index); unlink("images/$gambarnye"); $file = fopen("polling.txt",'r'); $poll = fgets($file,4000); fclose($file); $data = explode("+",$poll); $file = fopen("polling.txt",'w'); $isipolling=""; $isipolling .= $data1; $isipolling .= " +"; $isipolling .= $data2; $isipolling .= " +"; $isipolling .= $data3; $tumpuk=fwrite($file,$isipolling); fclose($file);

18. Update jumlah pemilih pilihan tertentu padapolling 19. Logout $file = fopen("polling.txt",'r'); $poll = fgets($file,4000); fclose($file); $data = explode("+",$poll); $pilihan = explode(";",$data[1]); $counter = explode(";",$data[2]); if (!$_SESSION['status']) { $_SESSION['status']="pilih"; $counter[$opt]++; $file = fopen("polling.txt",'w'); $poll = $data[0]."+".$data[1]."+"; for($i = 0;$i < count($pilihan);$i++) {

$poll .= $counter[$i].";"; } fputs($file,$poll); fclose($file); $_SESSION['jawaban']=$pilihan[$opt]; } session_name("AUTHEN"); session_start(); session_destroy();

echo'Anda telah berhasil logout sebagai user. Klik';?><a href="index.php"> disini </a>

4.3.1 Implementasi Program dari SisiUser

1. Proses mengisi buku tamu & kritik saran

Pertama dari halaman_buku_tamu yang di dalamnya terdapat frm_tamu.php, user menginputkan data berupa nama, email, dan komentar. Data tersebut kemudian dikirimkan ke form tamu.php, dimana di tamu.php data akan dimasukkan ke database dan dicatat dalam session sehingga data tidak dapat dimasukkan lebih dari 1x. Pada proses input kritik saran juga sama, data dari frm_kritik.php di post ke inputkritik.php untuk kemudian dimasukkan ke database dan dicatat sessionnya.

2. Proses mengisipolling

Database polling yang digunakan disini adalah tipe txt. Semua halaman memanggil polling.php, dimana jika user belum memasukkan pilihan dan belum terdaftar menjadi session, maka pertanyaan dan pilihan jawaban akan tetap ditampilkan. Setelah user

memilih jawaban, nilai jawaban akan di pass ke polling1.php untuk menulis ulang nilai yang ada di file polling.txt (sama seperti menulis ke database pada dasarnya) sehingga nilai polling akan terupdate, sekaligus tercatat dalam session hingga user tidak bisa memilih lebih dari 1x.

3. Proseslogin

Proses dari login adalah user memasukkan id dan pass di page user_access.php, kemudian nilai tersebut di post ke user_access.php

juga. Di user_access.php akan dicocokkan datanya dengan data user

yang ada di database. Jika ada yang cocok maka login bernilai TRUE, dan akan di register sessionnya sebagai username tersebut untuk kemudian selanjutnya di forward ke halaman index_user.php 4. Proses mengisi pemesananonline

Nilai yang dimasukkan oleh user di frm_order.php akan di pass ke halaman order.php, untuk kemudian dimasukkan ke database. Jika terdapat file, maka file tersebut akan di copy ke folder “/files” dan sekaligus di rename menjadi sama dengan no urut data di database

pesanan. Misal di database no pesanannya adalah ke 7, maka nama filenya akan menjadi 7 juga, ditambah dengan 4 digit tipe file misalnya “7.jpg”.

4.3.2 Implementasi Program dari SisiAdministrator

1. Proseslogin

Administrator melakukan login dengan cara menuju ke cms_access.php. Nilai darilogin akan di post ke cms_access.php juga untuk kemudian dicocokkan dengan data di database. Jika benar, makauserakan di forward ke halamanadministrator.

2. Proses lihat data

Proses lihat data semua pada dasarnya sama, yaitu melakukan kueri terhadap database yang bersangkutan kemudian menampilkannya dalam bentuk tabel. Misal lihat data user di halaman admin_lu.php,

maka dilakukan kueri terhadap tabel user, kemudian ditampilkan hasilnya dalam bentuk tabel.

3. Proseseditdata

Proses edit data pada intinya adalah dengan menggunakan key dari tabel yang datanya akan di edit, kemudian data yang akan diedit dipanggil dan ditampilkan dalam bentuk inputtext. Data yang relevan untuk diubah dibiarkan tidak di disable, sedangkan data yang jika dirubah dapat merusak integritas basis data dibuat tidak dapat diedit atau di disable. Setelah itu nilai baru yang diinputkan dimasukkan ke

databasedengan perintah update tabel.

Misal edit data user, ketika link edit ditekan, otomatis nilai key user

akan dikirimkan, key ini kemudian dicocokkan dengan database user

untuk memanggil data yang tepat, missal key 6, akan dipanggil data urutan 6. Kemudian data dimunculkan, dan setelah dilakukan pengeditan data maka tabel diupdate dengan kueri update tabel dimana data yang dituju adalah data dengan key 6.

4. Proses delete data

Proses pemanggilan data yang akan di delete sama dengan metode yang digunakan untuk pemanggilan data di menu edit data. Misal delete data user, etika link delete di klik, maka key akan dikirimkan ke hapus_user.php untuk kemudian dilakukan kueri deletion dengan key yang dikirimkan tadi. Jika berhasil maka akan muncul pesan bahwa delete data berhasil. Proses deletion yang lain pada dasarnya

sama, kecuali pada deletionuseryang memiliki daftar pesananonline, maka akan dilakukan cascading deletion yaitu mendelete record di tabel pesanan dahulu sebelum mendelete datauseritu sendiri.

5. Proses updatepolling

Proses update polling agak berbeda dengan yang lain karena databasenya berupa file .txt. Pertama dengan perintah fopen file

polling.txt dibuka, kemudian data ditulis ulang sesuai masukan

administrator yang baru. Setelah file polling.txt diupdate, dengan perintah fclose file tersebut ditutup. Coding untuk proses update

pollingada di halaman admin_kpoll.php.

Dokumen terkait