BAB IV IMPLEMENTASI DAN ANALISA
4.1
Implementasi Sistem Tahap
implementasi
merupakan
tahap
kelanjutan
dari
kegiatan
perancangan sistem. Tahapan ini juga merupakan tahap meletakkan sistem supaya siap untuk dioperasikan dan dapat dipandang sebagai usaha untuk mewujudkan sistem yang telah dirancang. Pada bab ini akan diuraikan mengenai implementasi dari program sistem pelayanan informasi yang dibuat. Pada sistem ini pengakses dibedakan menjadi dua yaitu admin dan user. Dalam proses mengimplementasi ini ada beberapa langkah-langkah yang dilakukan, yaitu: 1. Membuat database. 2. Menuliskan kode program (coding), tahap ini dilakukan dengan menggunakan program pengembangan aplikasi PHP. 3. Menguji program. 4. Analisis jalanya program, serta melakukan debuging atau perbaikan program jika perlu.
4.2
Tampilan Antarmuka Sistem Pengertian antarmuka (interface) adalah salah satu layanan yang
disediakan sistem operasi sebagai sarana interaksi antara pengguna dengan sistem operasi. Antarmuka adalah komponen sistem operasi yang bersentuhan langsung dengan pengguna.
4.2.1
Halaman Home dan Login Pada halaman home memuat informasi mengenai sistem dan login. Login
memiliki dua hak akses yaitu admin dan user dengan cara memasukkan email dan password. Jika user belum memiliki akun bias mendaftar dengan mengklik menu buat akun. 29
30
Gambar 4.1 Halaman Home dan Login Coding dalam login function check_member_login() { $err = array(); $email = clean( $_POST['email'] ); $password = clean( $_POST['password'] ); if( empty( $email ) ) { $err[] = '- Mohon untuk memasukkan email Anda'; } if( empty( $password ) ) { $err[] = '- Mohon untuk mengisi password Anda'; } if( !count( $err ) ) { $sql = fetch( query( "SELECT * FROM ".TABLE_USER." WHERE email='$email' AND password='".md5( $password )."'" ) ); if( $sql ) { $_SESSION['user_id'] = $sql['user_id']; $_SESSION['level'] = $sql['level']; query( "UPDATE ".TABLE_USER." SET status=1 WHERE user_id='".$_SESSION['user_id']."'" );} else { $err[] = '- Maaf, email dan password Anda salah. Coba ulangi lagi...'; } } if( count( $err ) ) { $_SESSION['msg-error-login-member']['wrong-member-
31
account'] = implode( '
', $err ); } header( "Location: ".SITE_URL ); exit; }
4.2.2
Halaman Informasi Halaman Informasi berisi info terbaru mengenai informasi umum yang
dapat di akses oleh semua user.
Gambar 4.2 Halaman Informasi Coding dalam halaman informasi function view_infos() { echo "
"; $sql = fetch( query( "SELECT * FROM ".TABLE_TOPIK.",".TABLE_USER."WHERE".TABLE_TOPIK.".user_id=".TA BLE_USER.".user_id AND ".TABLE_TOPIK.".topik_id=".$_GET['topikid'] ) ); $sensor_judul = sensor($sql['title']); $sensor_detail = sensor($sql['descript']); if( isset( $_SESSION['user_id'] ) && $_SESSION['level'] == 'admin') {
32
echo "
Judul: $sensor_judul | EDIT
"; }
else{ echo "
Judul : $sensor_judul
";} $date = date_create($sql['date']); echo "
| "; echo "
Pengirim: ".$sql['fullname']." | Tanggal :
".date_format($date,'d/m/Y')."
"; echo "
Kategori :
".$sql['kategori']."
"; echo "
Seksi :
".$sql['seksi']."
"; echo "
Detail :
$sensor_detail
"; echo "
"; }
4.2.3
Halaman Buat Akun Halaman Buat Akun memuat form untuk membuat akun baru dengan
mengisi nama lengkap, password dan email.
Gambar 4.3 Halaman Buat Akun
33
Coding dalam Buat Akun function add_new_member() { $err = array(); $fullname = clean( $_POST['fullname'] ); $password = clean( $_POST['password'] ); $email = clean( $_POST['email'] ); if( empty( $fullname ) ) { $err[] = '- Maaf, mohon untuk mengisi nama Anda'; } if( empty( $password ) ) { $err[] = '- Mohon untuk mengisi password Anda'; } if( empty( $email ) ) { $err[] = '- Isi alamat email Anda'; } if( !count( $err ) ) { if( num( query( "SELECT * FROM ".TABLE_USER." WHERE email='$email'" ) ) == 0 ) { query( "INSERT INTO ".TABLE_USER." VALUES( '$user_id', '$fullname', '".md5( $password )."', '$email', 'user', NOW(), '".time()."', '0' )" ); } else { $err[] = '- Email ini sudah terpakai sebelumnya'; } } if( count( $err ) ) { $_SESSION['msg-error-registration']['reg-error'] = implode( '
', $err ); } if( count( $err ) ) { header( "Location: ".SITE_URL."/?option=createaccount" ); } else { header( "Location: ".SITE_URL."/?email=$email" ); } exit; }
34
4.2.4
Halaman Admin Setelah admin melakukan login maka halaman admin akan terbuka, pada
halaman admin tersedia tiga menu yaitu beranda yang menampilkan daftar pesan dari user, daftar user dan cetak laporan. Di menu beranda admin bisa menghapus pesan.
Gambar 4.4 Halaman Admin Coding dalam Halaman Admin function get_user_name( $id ) { $sql = fetch( query( "SELECT * FROM ".TABLE_USER." WHERE user_id='$id'" ) ); return $sql['fullname']; } function front_end_user() { echo "
"; echo "
Selamat Datang, ".get_user_name( $_SESSION['user_id'] ). "
"; view_category(); echo ""; }
35
4.2.5
Halaman Daftar User Halaman daftar user menampilkan daftar akun user yang telah mendaftar,
pada halaman ini admin bisa menghapus akun user.
Gambar 4.5 Halaman Daftar User Coding dalam Halaman User function view_member() { $url1=$_SERVER['REQUEST_URI']; $per_hal=5; $jumlah_record=mysql_query("select count(*) from ".TABLE_USER.""); $jumlah=mysql_result($jumlah_record, 0); $jum=ceil($jumlah / $per_hal); $page=(isset($_GET['page']))? (int)($_GET['page']) : 1; $awal=($page - 1) * $per_hal; echo "
"; echo "
Selamat Datang, ".get_user_name( $_SESSION['user_id'] ). "
"; echo "
Daftar User
"; search();
36
if(isset($_POST['key'])) {$cari=$_POST['key']; $sql = query( "SELECT * FROM ".TABLE_USER." WHERE fullname LIKE '%$cari%' OR member_date LIKE '%$cari%' OR level LIKE '%$cari%' limit $awal,$per_hal" ); }else{$sql = query( "SELECT * FROM ".TABLE_USER." ORDER BY ".TABLE_USER.".member_date DESC limit $awal,$per_hal" );} echo "
"; echo " "; echo " NO | "; echo " Nama | "; echo " Email | "; echo " Level | "; echo " Tanggal daftar | "; echo " Aksi | "; echo "
"; if( num( $sql ) == 0 ) { echo "Belum ada data user saat ini. |
"; } else { $no = 1; $a = 0; while( $row = fetch( $sql ) ) { if( $a == 0 ) { $bg = "#F2F9FD"; $a = 1; } else { $bg = "#F5F4EC"; $a = 0; } echo ""; echo " {$no}. | "; echo " {$row['fullname']} | "; echo " {$row['email']} | "; echo " {$row['level']} | ";
37
$date = date_create($row['member_date']); echo " ".date_format($date,'d/m/Y')." | "; echo " <span style=\"text-transform: uppercase; fontweight: bold; \">Hapus | Edit | "; echo "
"; $no++; } } echo "
"; echo "Halaman: "; echo "
"; for($x=1;$x<=$jum;$x++){ echo "
$x "; } echo "
"; }
38
4.2.6
Halaman Cetak Laporan Pada halaman ini admin bisa mencetak laporan berdasarkan tanggal
dengan menginputkan tanggal awal dan tanggal akhir.
Gambar 4.6 Halaman Cetak Laporan
Coding dalam cetak laporan function form_cetak() { echo "
"; echo "
Pilih Tanggal Cetak
"; echo "
"; echo "
";}
39
4.2.7
Halaman User Setelah user melakukan login maka halaman user akan tertampil, pada
halaman user hanya tersedia dua menu yaitu beranda dan buat pesan. pada halaman beranda akan tertampil daftar semua pesan yang telah dibuat oleh user.
Gambar 4.7 Halaman User Coding dalam Halaman User function get_user_name( $id ) { $sql = fetch( query( "SELECT * FROM ".TABLE_USER." WHERE user_id='$id'" ) ); return $sql['fullname']; } function front_end_user() { echo "
"; echo "
Selamat Datang, ".get_user_name( $_SESSION['user_id'] ). "
"; view_category();
echo ""; }
40
4.2.8
Halaman Buat Pesan Halaman ini berisi form untuk membuat pesan baru dengan menginputkan
judul dan detail pesan.
Gambar 4.7 Halaman Buat Pesan Coding dalam Buat Pesan function update_topik() { $err = array(); $title = clean( $_POST['title'] ); $descript = clean( $_POST['descript'] ); if( empty( $title ) ) { $err[] = '- Maaf, mohon untuk mengisi judul pesan Anda'; } if( empty( $descript ) ) { $err[] = '- Maaf, mohon untuk mengisi detail pesan Anda'; } if( !count( $err ) ) { query( "UPDATE ".TABLE_TOPIK." SET title='$title', descript='$descript' WHERE topik_id=".$_GET['topikid']."" ); } if( count( $err ) ) { $_SESSION['msg-error-topik']['topik-err'] = implode( '
', $err ); }
41
if( count( $err ) ) { header( "Location: ".SITE_URL."/topik.php?option=create-topik"); } else { header( "Location: ".SITE_URL.""); } exit;}
4.2.9
Halaman Detail Pesan Dengan mengklik judul pada tabel daftar pesan maka otomatis halaman ini
akan muncul, halaman ini berisi detail pesan dan komentar yang ada pada pesan serta form untuk membalas pesan. pada halaman ini user juga bisa mengedit pesan jika terjadi kesalahan pengetikan.
Gambar 4.8 Halaman Detail Pesan Coding Detail Pesan function view_topik() { echo "
"; $sql = fetch( query( "SELECT * FROM ".TABLE_TOPIK.",".TABLE_USER." WHERE ".TABLE_TOPIK.".user_id=".TABLE_USER.".user_id AND ".TABLE_TOPIK.".topik_id=".$_GET['topikid'] ) ); if( isset( $_SESSION['user_id'] ) && $_SESSION['level'] == 'user') { echo "
".$sql['title']." |
42
EDIT
"; }
else{ echo "
Judul : ".$sql['title']."
";
} $date = date_create($sql['member_date']); echo "
| "; echo "
Pengirim: ".$sql['fullname']." | Tanggal: ".date_format($date,'d/m/Y | J\a\m : H : i A')."
"; echo "
Detail :
".$sql['descript']."
"; echo "
"; get_comment( $_GET['topikid'] ); reply_topik_form(); }