• Tidak ada hasil yang ditemukan

4. IMPLEMENTASI SISTEM

N/A
N/A
Protected

Academic year: 2022

Membagikan "4. IMPLEMENTASI SISTEM"

Copied!
26
0
0

Teks penuh

(1)

4. IMPLEMENTASI SISTEM

4.1. Proses Uploading Halaman Web dan Database

Pada implementasi tugas akhir ini dilakukan proses uploading halaman web dan database pada http://www.paski-komedian.org dengan menggunakan cPanel seperti yang dapat dilihat pada gambar 4.1.

Gambar 4.1. Tampilan cPanel

Proses uploading yang dilakukan adalah mengklik menu File Manager dan

memilih menu Public HTML untuk mengupload halaman web seperti yang dilihat

pada gambar 4.2.

(2)

Gambar 4.2. Halaman File Manager

Untuk mengupload halaman web, klik menu Public HTML dan masukkan file yang akan di upload seperti yang dilihat pada gambar 4.3.

Gambar 4.3. Upload File

(3)

Setelah dilakukan upload halaman web selanjutnya adalah mengupload gambar- gambar halaman web dengan membuat folder gambar pada public HTML seperti yang dilihat pada gambar 4.4.

Gambar 4.4. Pembuatan Folder Gambar

Untuk pembuatan database, maka dapat memilih menu MySQl databases

pada cPanel dan mengisikan nama database yang akan dibuat pada form yang

sudah disediakan, kemudian klik tombol create database. Dalam tugas akhir ini

nama database yang akan dibuat adalah ”paskikmd” seperti yang dilihat pada

gambar 4.5.

(4)

Gambar 4.5. Pembuatan Database

Langkah berikutnya adalah pembuatan tabel, untuk menyimpan data

dengan mengklik menu phpMyAdmin. Setelah database dibuat, klik menu SQL

untuk memasukkan nama tabel yang ingin dibuat beserta fields-nya, kemudian

klik tombol ”go”. Contoh tabel yang telah dibuat dapat dilihat pada gambar 4.6.

(5)

Gambar 4.6. Pembuatan Tabel

Perangkat keras yang dipakai untuk implementasi dan pengujian pada tugas akhir ini mempunyai spesifikasi sebagai berkut :

Processor : Intel Pentium M 1,73 GHZ Memory : 256 MB DDR SDRAM Harddisk : 60 GB

Sistem operasi yang digunakan adalah Windows XP Home Edition.

Resolusi layar yang dipakai untuk implementasi program tugas akhir ini adalah 1024 x 768 pixels. Dilakukan proses instalasi pada komputer seperti :

a. Adobe Photoshop CS, yang digunakan untuk melakukan desain gambar.

b. Macromedia Dreamweaver MX, yang digunakan sebagai tempat kerja dan tempat untuk mendesain web yang akan dibuat.

c. Apache, yang digunakan sebagai web server.

d. MySQL, yang digunakan sebagai database server.

e. Mozilla Firefox, yang digunakan sebagi browser.

(6)

4.2. Implementasi Program

Berikut ini akan dijelaskan implementasi program dan proses-proses apa saja yang dilakukan.

Tabel 4.1. Tabel Hubungan Menu dan Segmen Program

Menu Segmen Program

Koneksi Database 4.1.

Pengecekan Hak Akses Halaman Anggota 4.2.

Pengecekan Hak Akses Halaman Komedian 4.3

Pengecekan Hak Akses Halaman Administrator 4.4

Daftar Anggota baru 4.5.

Pencarian Komedian 4.6.

Pembuatan Kalender 4.7.

Pemesanan Komedian 4.8.

Pemesanan Komedian (Ubah Booking) 4.9.

Pemesanan Komedian (Batal Booking) 4.10.

Jadwal Pemesanan Bentrok Dengan Jadwal Show

Komedian 4.11.

Pengiriman PIN Number 4.12.

Pemesanan Jasa Komedian Yang Belum Disetujui 4.13.

Pemesanan Jasa Komedian Yang Telah Disetujui 4.14.

Mengubah Profil Anggota 4.15.

Kirim Salam 4.16.

Reply Salam Komedian 4.17.

Buat Topik Forum Diskusi 4.18.

Reply Topik Forum 4.19.

Jadwal Show Komedian 4.20.

Tambah Administrator 4.21.

Hapus Administrator 4.22.

Ubah Password Administrator 4.23.

(7)

Menampilkan Laporan Data Anggota 4.24.

Menampilkan Laporan Data Komedian 4.25.

Menampilkan Laporan Data Grup Komedian 4.26.

Pengaturan Jadwal Komedian 4.27

Persetujuan Data Booking 4.28.

Menampilkan Laporan Data Pesanan Komedian 4.29.

Buka Dan Tutup Topik Forum 4.30.

Menginputkan Berita 4.31.

Update Berita 4.32.

Delete Berita 4.33.

Menginputkan Polling 4.34.

Tutup Polling 4.35.

Buka Polling 4.36

4.2.1. Koneksi Database

Koneksi ke database digunakan untuk menghubungkan perangkat lunak dengan database dan terdapat pada setiap halaman web yang melakukan operasi database.

Segmen Program 4.1. Coding untuk Koneksi Database

$conn = @mysql_connect("localhost","paskikmd","wnt38fjv") or die ("mysql_connect() : ".mysql_error());

mysql_select_db("paskikmd",$conn);

.

4.2.2. Konfigurasi Database Server

Pada MySQL sebagai database server, dibuat sebuah database baru dengan rincian sebagai berikut :

a. Nama database : paskikmd_paskikmd b. User : paskikmd_root c. Password : root

Database tersebut berisi tabel-tabel dengan nama dan field-field yang telah

didesain oleh penulis sebelumnya.

(8)

4.2.3. Pengecekan Hak Akses Halaman Anggota

Pengecekan ini akan dilakukan pada setiap halaman website yang hanya dapat diakses oleh anggota. Hal ini berguna untuk keamanan, mencegah user yang bukan anggota untuk mengakses halaman tersebut. Apabila username/password yang di-input-kan oleh anggota salah maka tetap menampilkan halaman index.php. Segmen Program 4.2. berfungsi untuk menampilkan halaman anggota apabila user telah memiliki account anggota.

Segmen Program 4.2. Coding Pengecekan Hak Akses Halaman Anggota

<?php require("global.php"); ?>

case $ROLE_MEMBER :

$_SESSION["user"] = $row["Username"];

redirect("mainFrame", "member_home.php?username=". $username);

redirect("leftFrame", "member_menu.php");

break;

4.2.4. Pengecekan Hak Akses Halaman Komedian

Pengecekan ini akan dilakukan pada setiap halaman website yang hanya dapat diakses oleh komedian. Hal ini berguna untuk keamanan, mencegah user yang bukan komedian untuk mengakses halaman tersebut. Apabila username/password yang di-input-kan oleh komedian salah maka tetap menampilkan halaman index.php. Segmen Program 4.3. berfungsi untuk menampilkan halaman komedian apabila username komedian telah terdaftar.

Segmen Program 4.3. Coding Pengecekan Hak Akses Halaman Komedian

<?php require("global.php"); ?>

case $ROLE_KOMEDIAN :

$_SESSION["komedian"] = $row["Username"];

redirect("mainFrame", "pelawak_home.php?username=". $username);

redirect("leftFrame", "pelawak_menu.php");

break;

4.2.5. Pengecekan Hak Akses Halaman Administrator

Pengecekan ini akan dilakukan pada setiap halaman website yang hanya

dapat diakses oleh administrator. Hal ini berguna untuk keamanan, mencegah

user yang bukan administrator untuk mengakses halaman tersebut. Apabila

username/password yang di-input-kan oleh administrator salah maka tetap

(9)

menampilkan halaman index.php. Segmen Program 4.4. berfungsi untuk menampilkan halaman administrator apabila account user terdaftar sebagai administrator.

Segmen Program 4.4. Coding Pengecekan Hak Akses Halaman Administrator

<?php require("global.php"); ?>

case $ROLE_ADMIN :

$_SESSION["admin"] = $row["Username"];

redirect("mainFrame", "admin_home.php?username=". $username);

redirect("leftFrame", "admin_menu.php");

break;

4.2.6. Menu Daftar Anggota Baru

Menu daftar anggota baru digunakan oleh user yang ingin mendaftar menjadi anggota website tersebut dengan mengklik tombol ”Daftar Sekarang”.

Proses pertama yang dilakukan adalah memperoleh kode customer dengan mengambil 3 digit pertama dari username customer dan ditambah dengan 6 digit angka yang diperoleh dari kode yang telah ada ditambah satu. Kemudian dilakukan proses penambahan customer baru dengan kode customer baru yang telah di-generate ke dalam tabel member. Jika proses daftar anggota baru selesai maka customer dapat masuk ke halaman anggota dengan memasukkan username dan password yang telah dibuat pada menu sign in. Segmen Program 4.5.

berfungsi untuk memasukkan data anggota setelah mengisi form pendaftaran anggota ke dalam tabel member.

Segmen Program 4.5. Coding untuk Daftar Anggota Baru

<?php require("global.php"); ?>

if ($username == "") { $msg .= "Username kosong <br>" ; }

if ($password == "")

{

if ($mode == $ACT_NEW)

{

$msg .= "Password kosong <br>" ;

}

if ($password != $password2) { $msg .= "Password konfirmasi tidak cocok <br>" ; } if ($alamat == "") { $msg .= "Alamat kosong <br>" ; }

if ($kota == "") { $msg .= "Kota kosong <br>" ; } if ($negara == "") { $msg .= "Negara kosong <br>" ; } if ($email == "") { $msg .= "E-Mail kosong <br>" ; }

if (!checkdate($bln,$tgl,$thn)) { $msg .= "Tanggal tidak valid <br>" ; } if ($jawab == "") { $msg .= "Jawaban pertanyaan rahasia kosong <br>" ; }

$count = 0;

do {

$kodemember = strtoupper(substr($username,0,3)). str_repeat("0",7- strlen($count+1)).($count+1) ;

$row = getRow("select * from member where kodemember = '". $kodemember. "'");

$count++;

(10)

} while (!empty($row));

$strsql = "insert into member (username, password, kodemember, nama, alamat, kota, negara, telepon, email, tanggallahir, kelamin, tanya, jawab) values (";

$strsql = $strsql. "'". $username. "'," ;

$strsql = $strsql. "'". base64_encode($password2). "'," ;

$strsql = $strsql. "'". $kodemember. "'," ;

$strsql = $strsql. "'". $nama. "'," ; $strsql = $strsql. "'". $alamat. "'," ;

$strsql = $strsql. "'". $kota. "'," ;

$strsql = $strsql. "'". $negara. "'," ;

$strsql = $strsql. "'". $telepon. "'," ;

$strsql = $strsql. "'". $email. "'," ;

$strsql = $strsql. "'". $thn."-".$bln."-".$tgl. "'," ;

$strsql = $strsql. $kelamin. "," ;

$strsql = $strsql. $tanya. "," ;

$strsql = $strsql. "'". $jawab. "'" ;

$strsql = $strsql. ")";

$sql = @mysql_query($strsql,$conn);

4.2.7. Menu Cari Komedian

Menu cari komedian (search) merupakan menu yang sangat membantu dan mempermudah customer dalam mencari informasi mengenai siapa saja komedian yang dapat di-booking pada waktu yang diinginkan oleh anggota.

Pencarian data sesuai dengan keyword yang di-input-kan ke field cari komedian.

Dari hasil pencarian data yang ditemukan, customer dapat langsung mengklik untuk melihat informasinya secara lebih lengkap dan lebih jelas.

Segmen Program 4.6. Coding untuk Pencarian Komedian

<?

$tgl = date("d"); $bln = date("m"); $thn = date("Y");

$vp = "";

if (!empty($_POST["editPelawak"]) && trim($_POST["editPelawak"]) != "") {

$vperson = " a.nama like '". strtoupper(trim($_POST["editPelawak"])). "%' ";

$vp = trim($_POST["editPelawak"]);

} else

{ $vperson = " 1=1 ";}

$vk = 0;

if (!empty($_POST["comboKota"]) && trim($_POST["comboKota"]) != "") {

$vkota = " a.kota = '". $KOTA[trim($_POST["comboKota"])]. "' ";

$vk = trim($_POST["comboKota"]);

} else

{ $vkota = " 1=1 ";}

if (!empty($_POST["tgl"])) {

$tgl = $_POST["tgl"];

$bln = $_POST["bln"];

$thn = $_POST["thn"];

$vtgl = " a.TanggalAcara = '".date("Y-m-d", mktime(0, 0, 0, $bln, $tgl, $thn))."' ";

} else

{ $vtgl = " 1=1 ";}

$vjaw = "00:00"; $vjak = "00:00";

if (!empty($_POST["jammulai"]))

(11)

{

$vjam="(('".$_POST["jammulai"]."'>=a.JamMulai AND '".$_POST["jammulai"]."' <= a.JamAkhir)

OR ('".$_POST["jamakhir"]."' >= a.JamMulai AND '".$_POST["jamakhir"]."' <=

a.JamAkhir)) ";

$vjaw = $_POST["jammulai"];

$vjak = $_POST["jamakhir"];

} else

{ $vjam = " 1=1 ";}

$sqlselect = " SELECT a.*, b.KodeGroup, b.nama AS NGroup

FROM Komedian a LEFT OUTER JOIN mGroup b ON a.IDGroup = b.IDGroup WHERE ".$vperson." AND ".$vkota."

AND a.IDKomedian NOT IN

(SELECT IDKomedian FROM Pesan a, PesanDtl b

WHERE a.IDPesan = b.IDPesan AND ".$vtgl." AND

".$vjam.")";

if ($vtgl == " 1=1 ") {

$sqlselect = " SELECT a.*, b.KodeGroup, b.nama AS NGroup

FROM Komedian a LEFT OUTER JOIN mGroup b ON a.IDGroup = b.IDGroup WHERE ".$vperson." AND ".$vkota;

}

$sql = @mysql_query($sqlselect);

?>

4.2.8. Menu Booking Komedian

Pemesanan komedian dapat dilakukan dengan dua cara yaitu dengan memilih menu booking komedian atau menu profil komedian. Bedanya di menu profil komedian, anggota dapat melihat tentang profil komedian sekaligus jadwal show komedian melalui kalender. Sedangkan di menu booking komedian, anggota dapat langsung mengisi form pemesanan komedian dengan cara memilih komedian mana yang dipilih, meng-input-kan waktu, lokasi, dan format acara yang diinginkan anggota. Kalender merupakan alat bantu untuk anggota dalam melihat jadwal show komedian. Anggota dapat melihat jadwal show komedian yang sudah dipesan oleh anggota sendiri maupun jadwal show yang sudah dipesan oleh orang lain.

Dari kalender, anggota dapat memilih waktu kosong komedian yang secara otomatis akan digunakan untuk pengisian form pemesanan komedian agar anggota dapat memesan jasa komedian tersebut. Setelah pengisian form pemesanan komedian anggota akan menerima konfirmasi PIN Number ke alamat email anggota yang terdaftar dan data booking anggota dapat dilihat di menu History.

Segmen Program 4.7. berfungsi untuk menampilkan format kalender pada

halaman anggota.

(12)

Segmen Program 4.7. Coding Pembuatan Kalender

function makeCalendar($cbulan, $ctahun, $addr) {

echo "

<center>

<table width=80%> " ;

$ctglakhir = date("t", mktime(0, 0, 0, $cbulan, 1, $ctahun));

$chari = date("w", mktime(0, 0, 0, $cbulan, 1, $ctahun));

$ctr=0;

$nexttahun = $ctahun;

$nextbulan = $cbulan + 1;

if ($nextbulan == 13) { $nexttahun++; $nextbulan=1; }

$prevtahun = $ctahun;

$prevbulan = $cbulan - 1;

if ($prevbulan == 0) { $prevtahun--; $prevbulan=12; }

echo "

<tr>

<th colspan=1><a

href=".$addr."&cbulan=".$prevbulan."&ctahun=".$prevtahun.">&lt;</a></th>

<th colspan=5>". getBulanStr($cbulan)." ".$ctahun ."</th>

<th colspan=1><a

href=".$addr."&cbulan=".$nextbulan."&ctahun=".$nexttahun.">&gt;</a></th>

</tr>

<tr>

<th>M</th>

<th>S</th>

<th>S</th>

<th>R</th>

<th>K</th>

<th>J</th>

<th>S</th>

</tr> ";

echo "<tr>";

for ($i=0; $i<$chari; $i++) {

echo "<td>&nbsp;</td>";

$ctr++;

}

for ($i=1; $i<=$ctglakhir; $i++) {

if (date("Y-m-d") == date("Y-m-d", mktime(0, 0, 0, $cbulan, $i,

$ctahun))) {

echo "<td align=right bgcolor=aqua><font color=white><b>".

"<a

href=".$addr."&cbulan=".$cbulan."&ctahun=".$ctahun."&ctanggal=".$i."

>".$i."</a>&nbsp;

</b></font></td>";

} else

{

echo "<td align=right><b>".

"<a

href=".$addr."&cbulan=".$cbulan."&ctahun=".$ctahun."&ctanggal=".$i."

>".$i."</a>&nbsp;

</b></td>";

}

$ctr++;

if ($ctr % 7 == 0) {

echo "</tr><tr>";

} }

for ($i=($ctr % 7); $i<7 && ($ctr % 7 != 0); $i++) {

(13)

echo "<td>&nbsp;</td>";

$ctr++;

}

echo "</tr>";

echo "

</table>

</center> ";

}

Segmen program 4.8. Coding Pemesanan Komedian

<?php require("global.php"); ?>

<?php require("global_member.php"); ?>

if ($mode == $ACT_NEW) { // input ke tabelpesan

$strsql = "insert into pesan (IDMember, Nomer, PIN, Tanggal, Alamat, TanggalAcara, JamMulai, JamAkhir, FormatAcara, IsDeal)

values (".$idmember.",

".quotedStr($nomer).", ".quotedStr($pin).", ".quotedStr($tanggal).", ".quotedStr($alamat).", ".quotedStr($tanggalacara).", ".quotedStr($jammulai).", ".quotedStr($jamakhir).", ".$formatacara.",

".$isdeal.")" ;

$sql = @mysql_query($strsql,$conn);

//input ke tabelpesandtl

$rowheader = getRow("select max(IDPesan) as IDPesan from pesan");

reset($_SESSION["detailbook"]);

while (list($key, $val) = each($_SESSION["detailbook"])) {

$strsql = "insert into pesandtl(IDPesan, IDKomedian) values (

".$rowheader["IDPesan"].", ".$val.")" ;

$sql = @mysql_query($strsql,$conn);

}

Keterangan:

Segmen Program 4.8. berfungsi untuk memasukkan data pemesanan yang belum disetujui ke tabel pesan dan pesandtl

Segmen Program 4.9. Coding Pemesanan Komedian (Ubah Booking)

<?php require("global.php"); ?>

<?php require("global_member.php"); ?>

if ($mode == $ACT_EDIT) {

$strsql = " UPDATE Pesan SET

TanggalAcara = ".quotedStr($tanggalacara).", JamMulai = ".quotedStr($jammulai).", JamAkhir = ".quotedStr($jamakhir).", Alamat = ".quotedStr($alamat).", FormatAcara = ".$formatacara."

WHERE IDPesan = ". $idp ;

$sql = @mysql_query($strsql,$conn);

Keterangan:

Segmen Program 4.9. berfungsi untuk melakukan update pada pengisian form

pemesanan komedian.

(14)

Segmen Program 4.10. Coding Pemesanan Komedian (Batal Booking)

<?php require("global.php"); ?>

<?php require("global_member.php"); ?>

$strsql = " DELETE FROM PesanDtl WHERE IDPesan = ". $idp ;

$sql = @mysql_query($strsql,$conn);

Keterangan:

Segmen Program 4.10. berfungsi untuk melakukan pembatalan terhadap data pesanan komedian selama belum disetujui.

Segmen Program 4.11. Coding Pengecekan Jadwal Pemesanan Bentrok Dengan Jadwal Show Komedian

<?php require("global.php"); ?>

<?php require("global_member.php"); ?>

reset($_SESSION["detailbook"]);

while (list($key, $val) = each($_SESSION["detailbook"])) {

$rowjadwal = getRow("SELECT a.Nomer, a.TanggalAcara, a.JamMulai, a.JamAkhir,c.KodeKomedian, c.Nama

FROM Pesan a, PesanDtl b, Komedian c

WHERE a.IDPesan = b.IDPesan and b.IDKomedian = c.IDKomedian and c.IDKomedian = ".$val."

and((".quotedStr($jammulai).">=a.JamMulai and ".quotedStr($jammulai)." <= a.JamAkhir) or

(".quotedStr($jamakhir)." >= a.JamMulai ".quotedStr($jamakhir)." <=

a.JamAkhir) or

(".quotedStr($jammulai)." <= a.JamMulai and ".quotedStr($jamakhir)." >=

a.JamAkhir))

and a.TanggalAcara = ".quotedStr($tanggalacara)." and a.IDPesan <> ".$idp."

ORDER BY a.Nomer, c.KodeKomedian ");

if (!empty($rowjadwal)) {

$msg .= $rowjadwal["KodeKomedian"] ." - ". $rowjadwal["Nama"] ." berhalangan hadir. <br>";

} }

Keterangan:

Segmen Program 4.11. berfungsi untuk mengecek apakah jadwal booking yang diinginkan oleh anggota tidak bentrok dengan jadwal pesanan orang lain.

Segmen Program 4.12. Coding Pengiriman PIN Number

////////////////// KIRIM EMAIL /////////////////////////////

$penerima = $rowmember["Email"] ;

$subject = "[PASKI-JATIM] PIN Booking" ;

$headers = "From: PASKI-JATIM <[email protected]>\n" ;

$headers .= "X-Sender: < [email protected] >\n" ;

$headers .= "X-Mailer: PHP\n" ;

$headers .= "X-Priority: 1\n" ;

$pesan =

"

Pemesanan jasa komedian pada tanggal : ".displayTanggal(date("Y-m-d"))."

Tanggal : ".$tanggalacara."

Tempat : ".$alamat."

Waktu : ".$jammulai." - ".$jamakhir."

Acara : ".$FORMAT_ACARA[$formatacara]."

(15)

PIN anda adalah : ".$pin."

Silahkan hubungi pihak PASKI-Jatim untuk keterangan selanjutnya.

";

mail($penerima, $subject, $pesan, $headers);

///////////////////////////////////////////////////////////////

4.2.9. Menu History

Halaman ini menampilkan data pemesanan yang telah dilakukan oleh anggota namun masih dalam status belum disetujui yaitu isdeal=0.

Di halaman ini, anggota yang telah melakukan booking komedian masih dapat diubah atau dibatalkan. Selain dapat dilihat pada menu History, jadwal yang telah di-booking oleh anggota dapat dilihat pada kalender komedian yang di-booking.

Jadwal yang telah dipesan oleh anggota ditandai dengan warna biru, sedangkan jadwal yang telah dipesan oleh anggota lain ditandai dengan warna merah.

Segmen Program 4.13. Coding Pemesanan Jasa Komedian Yang Belum Disetujui

<?php require("global.php"); ?>

<?php require("global_member.php"); ?>

$rowmember = getMember($_SESSION["user"]);

$sql = @mysql_query("SELECT * FROM Pesan

WHERE ISDeal = 0 AND IDMember = ".$rowmember["IDMember"]."

ORDER BY Nomer

LIMIT ". (($currpage1-1)*$DATA_PER_HALAMAN). ",". $DATA_PER_HALAMAN);

Bila pesanan anggota telah disetujui maka data booking anggota akan berpindah ke bagian data pesanan komedian dengan status isdeal=1.

Segmen Program 4.14. Coding Pemesanan Jasa Komedian Yang Telah Disetujui

<?php require("global.php"); ?>

<?php require("global_member.php"); ?>

$rowmember = getMember($_SESSION["user"]);

$sql = @mysql_query("SELECT * FROM Pesan

WHERE ISDeal = 1 AND IDMember = ".$rowmember["IDMember"]."

ORDER BY Nomer

LIMIT ". (($currpage2-1)*$DATA_PER_HALAMAN). ",". $DATA_PER_HALAMAN);

4.2.10. Menu Profil Anggota

Halaman ini menampilkan profil anggota yang sudah memasukkan

username dan password pada panel sign in. Pada halaman ini anggota dapat

mengganti data anggota. Sebelum memasuki halaman ini akan diperiksa apakah

username yang login tersebut merupakan variable session yang telah di register

saat pengecekan username. Jika ingin mengubah data anggota maka cukup

(16)

menekan tombol. ubah yang telah disediakan pada halaman member_data.php?mode=$ACT_EDIT.

Kode anggota dan username tidak dapat diubah. Apabila anggota ingin mengubah password maka masukkan terlebih password lama, kemudian masukkan password baru dan ulangi password baru tersebut. Jika password yang dimasukkan benar maka password akan diubah. Perubahan akan disimpan jika member menekan tombol “Simpan”.

Segmen Program 4.15. Coding Mengubah Profil Anggota

<?php require("global.php"); ?>

if ($mode == $ACT_EDIT) {

strsql = "update member set password = ". quotedStr(base64_encode($password2)) .",

nama = ". quotedStr($nama) .", alamat = ". quotedStr($alamat) .", kota = ". quotedStr($kota) .", negara = ". quotedStr($negara) .", telepon = ". quotedStr($telepon) .", email = ". quotedStr($email) .",

tanggallahir = ". quotedStr($thn."-".$bln."-".$tgl) .", kelamin = ". $kelamin .",

tanya = ". $tanya .",

jawab = ". quotedStr($jawab) ."

where username = ". quotedStr($username);

$sql = @mysql_query($strsql,$conn);

4.2.11. Menu Kirim Salam Anggota dan Komedian

Halaman ini digunakan oleh anggota dan komedian untuk mengirim salam. Anggota dapat mengirimkan salam kepada komedian yang dipilih dengan memilih komedian yang dipilihnya dari menu profil komedian. Anggota hanya dapat mengirimkan salamnya saja kepada komedian tetapi tidak dapat menerima reply salam dari komedian. Selain anggota, komedian juga dapat mengirim salam kepada komedian yang lain dan dapat menerima reply salam dari komedian yang lain.

Segmen Program 4.16. Coding Kirim Salam

<?php require("global.php"); ?>

if (isset($_SESSION["user"]) || isset($_SESSION["komedian"]) &&

$_SESSION["komedian"] != $row["Username"])) {

if (!empty($_POST["salam_submit"])) {

if (isset($_SESSION["user"])) {

(17)

$rowpengirim = getMember($_SESSION["user"]);

$dari = $rowpengirim["IDMember"];

$tabel = " SalamMember " ; }

else

if (isset($_SESSION["komedian"])) {

$rowpengirim = getKomedian("Username", quotedStr($_SESSION["komedian"]));

$dari = $rowpengirim["IDKomedian"];

$tabel = " SalamKomedian " ; }

$sql = @mysql_query("INSERT INTO ".$tabel." (Dari, Kepada, Tanggal, Subject, Isi) VALUES (

".$dari.",

".$row["IDKomedian"].", ".quotedStr(date("Y-m-d")).",

".quotedStr($_POST["salam_subjek"]).", ".quotedStr($_POST["salam_isi"]).") ",$conn);

displayInfo("Salam terkirim.");

}

.

Segmen Program 4.17. Coding Reply Salam Komedian

<?php require("global.php"); ?>

<?php require("global_pelawak.php"); ?>

if (!empty($_POST["btnreply"])) {

$sql = @mysql_query("

INSERT INTO SalamKomedian (Dari, Kepada, Tanggal, Subject, Isi) VALUES (

".$rowkomedian["IDKomedian"].", ".$_POST["idk"].",

".quotedStr(date("Y-m-d")).", ".quotedStr($_POST["subject"]).", ".quotedStr($_POST["isi"]).") ",$conn);

displayInfo("Balasan terkirim.");

}

.

4.2.12. Menu Forum Diskusi Anggota dan Komedian

Halaman ini merupakan suatu forum diskusi dimana anggota dan komedian dapat memperoleh pengetahuan seputar organisasi dan komedian.

Anggota dapat membuat topik dan me-reply topik. Segmen Program 4.18. tersebut

berfungsi untuk memasukkan topik baru forum diskusi ke tabel forum. Segmen

Program 4.18. merupakan segmen program untuk anggota, komedian, dan

administrator. Segmen Program 4.19. tersebut berfungsi untuk memasukkan topik

baru forum diskusi ke tabel forumdtl. Segmen program 4.19. juga merupakan

segmen program untuk anggota, komedian, dan administrator.

(18)

Segmen Program 4.18. Coding Buat Topik Forum Diskusi

<?php require("global.php"); ?>

$strsql = "INSERT INTO Forum (Username, Tanggal, Subject, Isi, IsClosed) values (";

$strsql = $strsql. "'". $rowvisitor["Username"]. "'," ;

$strsql = $strsql. "now()," ;

$strsql = $strsql. "'". trim($_POST["topik_subject"]). "'," ;

$strsql = $strsql. "'". trim($_POST["topik_isi"]). "'," ;

$strsql = $strsql. "0" ;

$strsql = $strsql. ")";

$sql = @mysql_query($strsql,$conn);

Segmen Program 4.19. Coding Reply Topik Forum

$strsql = "INSERT INTO ForumDtl (IDForum, Username, Tanggal, Balasan) VALUES (".$_GET["t"].",

".quotedStr($rowvisitor["Username"]).", now(),

".quotedStr(trim($_POST["balasan_isi"])).")";

$sql = @mysql_query($strsql,$conn);

4.2.13. Menu Jadwal Show

Halaman ini menampilkan jadwal tampil komedian setelah permohonan pemesanan terhadap komedian tersebut disetujui.

Segmen Program 4.20. Coding Jadwal Show Komedian

<?php require("global.php"); ?>

<?php require("global_pelawak.php"); ?>

<?

$rowkomedian = getKomedian("Username", quotedStr($_SESSION["komedian"]));

$sql = @mysql_query("

SELECT a.*, c.Nama

FROM Pesan a, PesanDtl b, Member c

WHERE a.IDPesan = b.IDPesan AND a.IDMember = c.IDMember

AND a.IsDeal = 1 AND b.IDKomedian = ".$rowkomedian["IDKomedian"]."

AND a.TanggalAcara >= ".date("Y-m-d")."

ORDER BY a.TanggalAcara");

while ($row = @mysql_fetch_array($sql)) {

echo "<tr>";

echo "<td>". $row["Nama"]. "</td>";

echo "<td>". displayTanggal($row["TanggalAcara"]). "</td>";

echo "<td>". $row["JamMulai"] ." - ". $row["JamAkhir"] ."</td>";

echo "<td>". $row["Alamat"]. "</td>";

echo "<td>". $FORMAT_ACARA[$row["FormatAcara"]]. "</td>";

echo "</tr>";

} ?>

4.2.14. Menu Tambah Administator

Halaman ini digunakan oleh administrator untuk memasukkan data

administrator baru,

(19)

Segmen Program 4.21. Coding Tambah Administrator

<?php require("global.php"); ?>

<?php require("global_admin.php"); ?>

if (!empty($_POST["btnSubmit"])) //save admin {

$username = $_POST["username"];

$password = $_POST["password"];

$password2 = $_POST["password2"];

$row = getLogin($username);

if (!empty($row)) {

$msg = "Username sudah ada";

} else {

if ($username == "") { $msg .= "Username kosong <br>" ; } if ($password == "") { $msg .= "Password kosong <br>" ; }

if ($password != $password2) { $msg .= "Password konfirmasi tidak cocok

<br>" ; }

if ($msg == "") {

$strsql = "insert into admin (username, password) values (";

$strsql = $strsql. "'". $username. "'," ;

$strsql = $strsql. "'". base64_encode($password2). "'" ;

$strsql = $strsql. ")";

$sql = @mysql_query($strsql,$conn);

$msg = "Data sukses disimpan.";

$username = "";

$password = "";

$password2 = "";

} }

}

4.2.15. Menu Hapus Administrator

Halaman ini digunakan oleh administrator untuk menghapus data administrator yang ada.

Segmen Program 4.22. Coding Hapus Administrator

<?php require("global.php"); ?>

<?php require("global_admin.php"); ?>

<?

if (!empty($_POST["username"])) {

$sql = @mysql_query("DELETE FROM Admin WHERE Username =

".quotedStr($_POST["username"]), $conn);

}

?>

4.2.16. Menu Ubah Password

Halaman ini digunakan oleh administrator untuk mengubah password administrator. Proses pertama yang dilakukan adalah melakukan pengecekan apakah password baru dan ulang password telah sama dilakukan pertama kalinya.

Jika tidak sama maka akan muncul pesan “password tidak cocok”, jika sama maka

(20)

dilakukan pengecekan apakah password kosong atau tidak. Jika tidak maka dilakukan pengecekan terhadap password lama apakah sesuai atau tidak dengan password pada saat administrator login. Jika tidak sama maka akan muncul pesan error, dan jika sama maka akan dilakukan pengubahan terhadap password administrator pada tabel administrator.

Segmen Program 4.23. Coding Ubah Password Administrator

<?php require("global.php"); ?>

<?php require("global_admin.php"); ?>

<?

$admin = $_SESSION["admin"];

$row = getAdmin($admin);

if (!empty($_POST["btnSubmit"]) && $_POST["btnSubmit"]=="Simpan") {

if ($_POST["password"] == base64_decode($row["Password"])) {

if ($_POST["password_baru"] == $_POST["password_ulang"])

{

$sql = @mysql_query("UPDATE Admin SET Password=

".quotedStr(base64_encode($_POST["password_baru"]))."

WHERE Username= ". quotedStr($admin),$conn);

displayInfo("Data sukses disimpan");

} else {

displayInfo("Password yang diulang tidak sesuai");

}

} else

{

displayInfo("Password salah");

} }

?>

4.2.17. Menu Pengaturan Anggota

Halaman ini digunakan oleh administrator untuk melakukan perubahan- perubahan data anggota. Perubahan yang dapat dilakukan antara lain menambah, mengubah, dan menghapus data anggota. Selain itu terdapat menu laporan anggota yang menampilkan semua data anggota.

Segmen Program 4.24. Coding untuk Menampilkan Laporan Data Anggota

<?php require("global.php"); ?>

<?php require("global_admin.php"); ?>

$sql = @mysql_query("select * from member order by kodemember limit ". (($currpage-1)*

$DATA_PER_HALAMAN);

while ($row = @mysql_fetch_array($sql)) {

echo "<tr>";

echo "<td>". $row["KodeMember"]. "</td>";

echo "<td>". $row["Nama"]. "</td>";

echo "<td>". $row["Alamat"]. "</td>";

echo "<td>". $row["Kota"]. "</td>";

echo "<td>". $row["Negara"]. "</td>";

echo "<td>". $row["Telepon"]. "</td>";

(21)

echo "<td><a href=mailto:".$row["Email"].">". $row["Email"]. "</a></td>";

echo "<td>". displayTanggal($row["TanggalLahir"]). "</td>";

if ($row["Kelamin"] == $SEX_MALE) {

echo "<td>Pria</td>";

} else

if ($row["Kelamin"] == $SEX_FEMALE) {

echo "<td>Wanita</td>";

} echo"<td

align=center><a href=member_data.php?mode=".$ACT_EDIT."&user=".base64_encode($row["Username"]).">[Uba <a

href=member_profile.php?act=".$ACT_DEL."&user=".base64_encode($row["Username"])."&fr=admin_reportmemb echo "</tr>";

}

?>

4.2.18. Menu Pengaturan Komedian

Halaman ini digunakan oleh administrator untuk melakukan perubahan- perubahan data anggota. Perubahan yang dapat dilakukan antara lain menambah, mengubah, dan menghapus data komedian baik personal maupun grup. Selain itu terdapat menu laporan komedian yang menampilkan semua data komedian dan menu untuk melakukan perubahan terhadap jadwal available komedian yang dapat di booking oleh anggota.

Segmen Program 4.25. Coding untuk Menampilkan Laporan Data Komedian

<?php require("global.php"); ?>

<?php require("global_admin.php"); ?>

<?

$sql = @mysql_query($strsql);

while ($row = @mysql_fetch_array($sql)) {

echo "<tr>";

echo

"<td><a

href=pelawak_profile.php?act=".$ACT_SHOW."&komedian=".base64_encode($row["Username"])."&fr=admin_repo

"</td>";

echo "<td>". $row["Nama"]. "</td>";

echo "<td>". $row["Alamat"]. "</td>";

echo "<td>". $row["Kota"]. "</td>";

echo

"<td><a href=group_profile.php?act=".$ACT_SHOW."&group=".base64_encode($row["KodeGroup"])."&fr=admin

"</a></td>";

echo

<td lign=center lass=fontsmall><a href=pelawak_data.php?mode=".$ACT_EDIT."&komedian=".base64_encode($

<a

href=pelawak_profile.php?act=".$ACT_DEL."&komedian=".base64_encode($row["Username"])."&fr=admin_repor echo "</tr>";

}

?>

.

Segmen Program 4.26. Coding untuk Menampilkan Laporan Data Grup Komedian

<?php require("global.php"); ?>

<?php require("global_admin.php"); ?>

$sql = @mysql_query("select * from mgroup order by kodegroup");

(22)

$sqlkom = @mysql_query ("select * from komedian where idgroup=".$row["IDGroup"]."

order by kodekomedian");

.

Segmen Program 4.27. Coding Pengaturan Jadwal Komedian

reset($_SESSION["detailbook"]);

while (list($key, $val) = each($_SESSION["detailbook"])) {

$rowjadwal = getRow("SELECT a.Nomer, a.IDMember, a.TanggalAcara, a.JamMulai, a.JamAkhir, a.IsDeal, c.KodeKomedian, c.Nama

FROM Pesan a, PesanDtl b, Komedian c

WHERE a.IDPesan = b.IDPesan and b.IDKomedian = c.IDKomedian and c.IDKomedian = ".$val."

and ((".quotedStr($jammulai)." >= a.JamMulai and

".quotedStr($jammulai)." <= a.JamAkhir) or

(".quotedStr($jamakhir)." >= a.JamMulai and ".quotedStr($jamakhir)." <=

a.JamAkhir) or

(".quotedStr($jammulai)." <= a.JamMulai and ".quotedStr($jamakhir)." >=

a.JamAkhir))

and a.TanggalAcara = ".quotedStr($tanggalacara)."

ORDER BY a.Nomer, c.KodeKomedian ");

if (!empty($rowjadwal)) {

if ($rowjadwal["IDMember"] != $rowmember["IDMember"]) {

if ($rowjadwal["IsDeal"] == 1) {

$msg .= $rowjadwal["KodeKomedian"] ." - ". $rowjadwal["Nama"] ."

Sudah dibooking. <br>”;

}

} else

{

$msg .= $rowjadwal["KodeKomedian"] ." - ". $rowjadwal["Nama"] ."

sudah dibooking. <br>";

} } }

if ($msg == "") {

$idmember = 0;

$alamat = "";

$pin = "0";

$tanggal = date("Y-m-d");

$isdeal = 1;

if ($mode == $ACT_NEW) {

$strsql = "insert into Pesan

(IDMember, Nomer, PIN, Tanggal, Alamat, TanggalAcara, JamMulai, JamAkhir, IsDeal)values (

".$idmember.",

".quotedStr($nomer).", ".quotedStr($pin).", ".quotedStr($tanggal).", ".quotedStr($alamat).", ".quotedStr($tanggalacara).", ".quotedStr($jammulai).", ".quotedStr($jamakhir).", ".$isdeal.")" ;

$sql = @mysql_query($strsql,$conn);

$rowheader = getRow("select max(IDPesan) as IDPesan from Pesan");

reset($_SESSION["detailbook"]);

while (list($key, $val) = each($_SESSION["detailbook"])) {

$strsql = "insert into PesanDtl

(IDPesan, IDKomedian)

values (

(23)

".$rowheader["IDPesan"].", ".$val.")" ;

$sql = @mysql_query($strsql,$conn);

} }

}

4.2.19. Menu Data Booking Komedian

Halaman ini berfungsi untuk menampilkan data booking yang telah dilakukan oleh anggota, menyetujui data booking dan menolak data booking.

Halaman ini menampilkan nota pemesanan komedian setelah meng-input-kan PIN Number anggota. Halaman ini juga dapat digunakan administrator untuk melakukan persetujuan terhadap data booking.

Segmen Program 4.28. Coding Persetujuan Data Booking

<?php require("global.php"); ?>

<?php require("global_admin.php"); ?>

if (!empty($_POST["btnsetuju"])) {

$sql = @mysql_query(

" UPDATE Pesan SET IsDeal= 1 WHERE IDPesan = ".$_POST["idpesan"]

,$conn);

displayInfo("Transaksi berhasil.");

} else

if (!empty($_POST["btnbatal"])) {

$sql = @mysql_query(

" DELETE FROM PesanDtl WHERE IDPesan = ".$_POST["idpesan"]

,$conn);

$sql = @mysql_query(

" DELETE FROM Pesan WHERE IDPesan = ".$_POST["idpesan"]

,$conn);

displayInfo("Transaksi batal.");

}

?>

4.2.20. Menu Data Pesanan Komedian

Halaman ini berfungsi untuk menampilkan data pesanan yang telah disetujui. Bila administrator telah menyetujui data pesanan milik anggota tersebut maka akan ditampilkan pada laporan data pesanan komedian di halaman admin_reportpesan.php dan data pesanan komedian tersebut berfungsi sebagai jadwal show komedian.

Segmen Program 4.29. tersebut berfungsi untuk menampilkan data pesanan yang telah disetujui.

Segmen Program 4.29. Coding Menampilkan Laporan Data Pesanan Komedian

$sql = " SELECT a.*, b.KodeMember FROM Pesan a, Member b

(24)

WHERE a.IDMember = b.IDMember AND a.IsDeal = 1 AND ".$ftgl."

ORDER BY Nomer";

4.2.21. Menu Forum Diskusi Administrator

Halaman ini digunakan untuk menampilkan topik dan reply topik seputar organisasi. Administrator dapat meng-input-kan topik forum diskusi yang dapat dilihat oleh anggota dan komedian saat mengakses halaman forum diskusi.

Segmen program membuat topik baru forum diskusi pada administrator sama dengan segmen program 4.18.

Administrator dapat membuat status topik forum diskusi ditutup atau dibuka. Bila status topik forum diskusi ditutup maka anggota, komedian dan administrator tidak dapat me-reply topik sampai topik forum diskusi tersebut kembali dibuka oleh administrator.

Segmen Program 4.30. Coding Buka Dan Tutup Topik Forum

if ($rowvisitor["Role"] == $ROLE_ADMIN) {

if (!empty($_GET["act"])) {

$act = $_GET["act"];

if ($act == "LOCK") {

$strsql = "UPDATE Forum SET IsClosed = 1 WHERE IDForum = ". $_GET["t"];

$sql = @mysql_query($strsql,$conn);

} else

if ($act == "UNLOCK") {

$strsql = "UPDATE Forum SET IsClosed = 0 WHERE IDForum = ". $_GET["t"];

$sql = @mysql_query($strsql,$conn);

}

}

}

4.2.22. Menu Berita

Halaman ini digunakan untuk menampilkan berita-berita seputar organisasi, seperti berita acara atau kegiatan yang sedang dan akan berlangsung di organisasi. Segmen Program 4.30. tersebut berfungsi untuk menambahkan berita baru.

Segmen Program 4.31. Coding Menginputkan Berita

$strsql = "insert into berita (Tanggal, Subject, Berita) values (";

$strsql = $strsql. "now()," ;

$strsql = $strsql. "'". $_POST["subject"]. "'," ; $strsql = $strsql. "'". $_POST["berita"]. "'" ; $strsql = $strsql. ")";

(25)

$sql = @mysql_query($strsql,$conn);

Segmen Program 4.32. Coding Update Berita

$strsql = "UPDATE Berita SET

Subject = ".quotedStr($_POST["updsubject"]).", Berita = ".quotedStr($_POST["updberita"]).

WHERE IDBerita=". $_POST["updidberita"] ;

$sql = @mysql_query($strsql,$conn);

Keterangan:

Segmen Program 4.32. tersebut berfungsi untuk mengubah berita yang ada..

Segmen Program 4.33. Coding Delete Berita

$strsql = "delete from berita where idberita=". $_GET["idn"];

$sql = @mysql_query($strsql,$conn);

Keterangan:

Segmen Program 4.33. tersebut berfungsi untuk menghapus berita yang ada.

4.2.23. Menu Polling

Untuk membuat polling digunakan radio button untuk memudahkan pengunjung web memilih jawaban yang dikehendaki. Untuk menampilkan hasil polling digunakan grafik yang berwarna-warni yang mewakili masing-masing prosentase pilihan jawaban.

Administrator dapat membuat status polling ditutup atau dibuka. Bila status polling ditutup maka anggota tidak dapat memilih pilihan jawaban polling sampai polling tersebut kembali dibuka oleh administrator.

Segmen Program 4.34. Coding Menginputkan Polling

$strsql = "INSERT INTO Polling (Tanggal, Subject, Pertanyaan, IsClosed) VALUES (now(),

".quotedStr($_POST["subject"]).", ".quotedStr($_POST["pertanyaan"]).", 0)";

$sql = @mysql_query($strsql,$conn);

$maxID = getRow("SELECT MAX(IDPolling) AS count FROM Polling");

for ($i=1;$i<=10;$i++) {

if (!empty($_POST["jawaban".$i]) && trim($_POST["jawaban".$i]) != "") {

$strsql = "INSERT INTO PollingDtl1(IDPolling, Jawaban, Terpilih) VALUES (".$maxID["count"].",

".quotedStr($_POST["jawaban".$i]).", 0)";

$sql = @mysql_query($strsql,$conn);

}

Keterangan:

(26)

Segmen Program 4.34. tersebut berfungsi untuk memasukkan pertanyaan polling ke tabel polling dan memasukkan pilihan jawaban polling ke tabel pollingdtl1.

Segmen Program 4.35. Coding Tutup Polling

if ($_GET["act"]==$ACT_LOCK) {

$strsql = "UPDATE Polling SET IsClosed = 1 WHERE IDPolling=". $_GET["idp"];

$sql = @mysql_query($strsql,$conn);

Keterangan:

Segmen Program 4.35 tersebut berfungsi untuk menutup polling.

Segmen Program 4.36. Coding Buka Polling

if ($_GET["act"]==$ACT_UNLOCK) {

$strsql = "UPDATE Polling SET IsClosed = 0 WHERE IDPolling=". $_GET["idp"];

$sql = @mysql_query($strsql,$conn);

}

Keterangan:

Segmen Program 4.36. tersebut berfungsi untuk membuka polling.

Referensi

Dokumen terkait

Berdasarkan hasil wawancara tersebut dapat dijelaskan bahwa pengawasan internal inspektorat dalam pelaksanaan good governance di Kabupaten Waropen Provinsi

Soekartawi (1984), menyatakan pendapatan usahatani dibedakan menjadi dua, yaitu 1) pedapatan kotor (gross farm income) dan 2) pendapatan bersih (net farm income).

Dengan demikian, tujuan penelitian ini yaitu untuk mendeskripsikan gaya kepemimpinan yang diterapkan oleh Kepala Sekolah di MAN 2 Jember,

besar untuk memasarkan produk olahan pertanian melalui media sosial, karena pengguna internet lebih tinggi pada penggunaan media sosial terlihat pada pengguna yang

Sektor pertanian memiliki peranan penting dalam kehidupan masyarakat Indonesia. Sektor pertanian menghasilkan berbagai bahan yang digunakan untuk menunjang

Rumusan masalah dari penulisan karya tulis ini yaitu Bagaimana upaya Kantor Pos Cabang Kota Palu memberikan perlindungan hukum pada konsumen yang merasa dirugikan

Ingl.[r]

peserta didik dengan bentuk lingkaran; 2) Pendidik mengucapkan salam secara Islami; 3) Pendidik menanyakan kepada peserta didik apakah peserta didik sudah makan dan minum