• Tidak ada hasil yang ditemukan

Perancangan Aplikasi Forum Diskusi Berbasis Web

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perancangan Aplikasi Forum Diskusi Berbasis Web"

Copied!
106
0
0

Teks penuh

(1)

LAMPIRAN

Index.php <?php session_start(); error_reporting(0); include "timeout.php"; include "config/koneksi.php"; if($_SESSION[login]==1){ if(!cek_login()){

$_SESSION[login] = 0; } } if($_SESSION[login]==0){ header('location:logout.php'); } else{

if (empty($_SESSION['namauser']) AND empty($_SESSION['passuser']) AND $_SESSION['login']==0){

header('location:login.php'); }

else{

if($_SESSION[leveluser] == 'admin') { header('location:admin.php'); } else { ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Forum DIskusi - Mari Berdiskusi Disini</title> <!-- Core CSS - Include with every page -->

<link href="assets/plugins/bootstrap/bootstrap.css" rel="stylesheet" /> <link href="assets/font-awesome/css/font-awesome.css" rel="stylesheet" /> <link href="assets/plugins/pace/pace-theme-big-counter.css" rel="stylesheet" />

<link href="assets/css/style.css" rel="stylesheet" /> <link href="assets/css/main-style.css" rel="stylesheet" /> <link rel="shortcut icon" href="#">

<!-- Page-Level CSS -->

<link href="assets/plugins/morris/morris-0.4.3.min.css" rel="stylesheet" />

<link href="assets/plugins/timeline/timeline.css" rel="stylesheet" />

(2)

var auto_refresh = setInterval( function () { $("#refresh").load("timeline.php").fadeIn("slow"); }, 1600); </script> <script src="js/jquery.js"></script> <script src="js/user.js"></script> </head> <body>

<!-- wrapper --> <div id="wrapper"> <!-- navbar top -->

<nav class="navbar navbar-default navbar-fixed-top" role="navigation" id="navbar">

<!-- navbar-header --> <div class="navbar-header">

<a class="navbar-brand" href="index.php"> <img src="assets/img/logo.png" alt="" /> </a>

</div>

<!-- end navbar-header --> <!-- navbar-top-links -->

<ul class="nav navbar-top-links navbar-right"> <!-- main dropdown -->

<li class="dropdown">

<a class="dropdown-toggle" data-toggle="dropdown" href="#">

<i class="fa fa-user fa-3x"></i> </a>

<!-- dropdown-messages -->

<ul class="dropdown-menu dropdown-messages"> <li><a href="index.php?menu=postingan"><i class="fa fa-edit fa-fw"></i> Postingan</a> </li>

<li><a href="index.php?menu=profil"><i class="fa fa-user fa-fw"></i> <?php echo "$_SESSION[namauser]"; ?></a></li> <li class="divider"></li>

<li><a href="logout.php"><i class="fa fa-sign-out fa-fw"></i> Logfa-sign-out</a></li>

</ul>

<!-- end dropdown-messages --> </li>

<!-- end main dropdown --> </ul>

<!-- end navbar-top-links -->

</nav>

(3)

<!-- navbar side -->

<!-- end navbar side --> <?php

switch($_GET['menu']){ default:

?>

<! INDEX --->

<div class="row">

<div class="col-lg-4"> <!--Timeline -->

<div class="panel panel-primary"> <div class="panel-heading">

<i class="fa fa- fa-fw"></i> Diskusi Terbaru

</div>

<div class="panel-body"> <div class="list-group"> <?php

$kompromi=mysql_query("SELECT * FROM komprom ORDER BY id_komprom DESC LIMIT 20");

while($k=mysql_fetch_array($kompromi)) {

echo "<a href=index.php?menu=kompromi&id=$k[id_komprom] class=\"list-group-item\" ><i class=\"fa fa-tasks fa-fw\"></i> $k[judul]

<span class=\"pull-right text-muted small\"> <em>$k[tanggal]</em> </span> </a>"; } ?> </div> </div> </div>

<!--End Timeline --> </div>

</div>

<!--- end INDEX --->

<?php break;

case "kompromi": ?>

<! Menu POSTINGAN --->

<script language="javascript"> function validasi(form){

if (form.komentar.value == ""){

(4)

return (false); } return (true); } </script> <?php

$cekterbuka=mysql_query("SELECT * FROM komprom WHERE id_komprom=$_GET[id]");

$ck=mysql_fetch_array($cekterbuka);

if($ck[status] == 0) { //include "list-user.php"; } else { } ?> <div class="row"> <div class="col-komprom-4"> <!--Timeline -->

<div class="panel panel-primary"> <div class="panel-heading">

<i class="fa fa-comments fa-fw"></i> Ruang Diskusi

</div>

<div class="panel-body"> <?php

$kompromi1=mysql_query("SELECT * FROM komprom WHERE id_komprom=$_GET[id]");

$k=mysql_fetch_array($kompromi1);

$tampilkanjoin=mysql_query("SELECT * FROM `join` WHERE

username_request='$_SESSION[namauser]' AND id_komprom='$_GET[id]'");

$u=mysql_fetch_array($tampilkanjoin);

?>

<div class="panel panel-default"> <div class="panel-heading"> <h4 class="panel-title"> <?php echo "$k[judul] - Oleh: <b>$k[username]</b>"; ?>

</h4> </div>

<div id="collapseOne" class="panel-collapse collapse in">

(5)

</div> </div>

<div id="collapseOne" class="panel-collapse collapse in">

</div> </div> <?php

if($k[username] ==

$_SESSION[namauser] OR $u[status_join]==1 OR $k[status]==1 ) {

?>

<?php include "timeline.php"; ?> <form action="aksi.php?menu=komentar" method="post" onSubmit="return validasi(this)"

enctype="multipart/form-data">

<input type="hidden" name="komprom" value="<?php echo "$_GET[id]"; ?>">

<div class="form-group"> <label>Komentar</label>

<textarea class="form-control" id="tinymce_full" rows="3" name="komentar"></textarea>

</div>

<div class="form-group"> <label>Foto</label>

<input type="file" name="fupload"> </div>

<input type="submit" value="Kirim" class="btn btn-primary btn-lg btn-block">

</form> <?php

// Status join 1=Diterima // Status join 2=Ditolak }

else {

$join=mysql_query("SELECT * FROM `join` WHERE username_request='$_SESSION[namauser]' AND id_komprom='$_GET[id]'");

$cari=mysql_fetch_array($join);

if($cari[username_request] == $_SESSION[namauser]) {

echo "&nbsp;";

if($cari[status_join] == 2)

{

echo "<input type='submit' value='Anda Tidak Diizinkan Untuk Bergabung' class='btn btn-danger btn-lg btn-block'>";

}

else {

(6)

} } else { echo " <form method=post action=aksi.php?menu=join> <input type=hidden name='id_komprom' value='$k[id_komprom]'>

<input type=hidden name='username_join' value='$k[username]'>

<input type=hidden name='username' value='$_SESSION[namauser]'>

<input

type='submit' value='Join' class='btn btn-primary btn-lg btn-block'>

</form>"; } } ?> </div> </div>

<!--End Timeline --> </div>

</div>

<!--- end Menu Postingan ---> <?php break; case "laporkan-obrolan": ?>

<!--- Menu Laporkan Obrolan ---> <script language="javascript">

function validasi(form){

if (form.keterangan.value == ""){

alert("Kotak Laporan Tidak Boleh Kosong."); form.keterangan.focus(); return (false); } return (true); } </script> <div class="row"> <div class="col-lg-4"> <!--Timeline -->

<div class="panel panel-primary"> <div class="panel-heading">

<i class="fa fa-comments fa-fw"></i> Laporkan Komentar

</div>

(7)

$kompromi1=mysql_query("SELECT * FROM komprom AS a, komentar AS b WHERE a.id_komprom=b.id_komprom AND b.id_komentar='$_GET[id]' AND a.id_komprom='$_GET[komprom]' ORDER BY b.username");

$k=mysql_fetch_array($kompromi1);

$tampilkanjoin=mysql_query("SELECT * FROM `join` WHERE username_request='$_SESSION[namauser]'");

$u=mysql_fetch_array($tampilkanjoin); ?>

<div class="panel panel-default"> <div class="panel-heading"> <h4 class="panel-title"> <?php echo "Apa yang salah dengan komentar $k[username]?"; ?>

</h4> </div>

<div id="collapseOne" class="panel-collapse collapse in">

<div class="panel-body"> <form

action="aksi.php?menu=inputlaporan" method="post" onSubmit="return validasi(this)">

<input type="hidden" name="komprom" value="<?php echo "$_GET[komprom]"; ?>">

<input type="hidden" name="komentar" value="<?php echo "$_GET[id]"; ?>">

<input type="hidden" name="pelapor" value="<?php echo "$_SESSION[namauser]"; ?>">

<input type="hidden" name="dilapor" value="<?php echo "$k[username]"; ?>">

<div class="form-group">

<label>Isikan keterangan dibawah ini untuk dilaporkan kepada Administrator</label>

<textarea class="form-control" id="tinymce_full" rows="3" name="keterangan"></textarea> </div>

<input type="submit" value="Kirim Laporan" class="btn btn-primary btn-lg btn-block">

</form> </div> </div> </div> </div> </div>

<!--End Timeline --> </div>

</div>

(8)

<?php break;

case "postingan": ?>

<! Menu POSTINGAN --->

<div class="row">

<div class="col-lg-4"> <!--Timeline -->

<div class="panel panel-primary"> <div class="panel-heading">

<i class="fa fa-edit fa-fw"></i> Postingan

</div>

<div class="panel-body"> <?php

echo "<a class=\"btn btn-primary btn-lg\" href=?menu=tambahpostingan>

<i class=\"glyphicon glyphicon-plus\"></i> Tambah Postingan

</a> <br><br>

<div class=\"table-responsive\">

<table class=\"table striped bordered table-hover\" id=\"dataTables-example\">

<thead>

<tr><th>No</th><th>Judul</th><th>Tanggal

Posting</th><th>Status Forum</th><th>Pilihan</th></tr></thead> <tbody>";

$tampil=mysql_query("SELECT * FROM komprom WHERE username = '$_SESSION[namauser]' ORDER BY id_komprom DESC");

$no=1; while ($r=mysql_fetch_array($tampil)){ echo "<tr><td>$no</td> <td>$r[judul]</td> <td>$r[tanggal]</td>"; if($r[status]==1) { echo "<td>Terbuka</td>"; } else { echo "<td>Tertutup</td>"; } echo"<td>"; if($r[status]==0) {

echo "<a class=\"btn btn-primary\" href=index.php?menu=lihatjoin&id=$r[id_komprom]> Permintaan join

</a>

<a class=\"btn btn-danger\"

(9)

</a>";

} else {

echo "<a class=\"btn btn-danger\"

href=aksi.php?menu=hapuspostingan&id=$r[id_komprom]> Delete </a>"; } echo"</td></tr>"; $no++; } echo "</tbody></table></div>"; ?> </div> </div>

<!--End Timeline --> </div>

</div>

<!--- end Menu Postingan --->

<?php break;

case "tambahpostingan": ?>

<!--- Tambah Postingan --->

<div class="row">

<div class="col-lg-4"> <!--Timeline -->

<div class="panel panel-primary"> <div class="panel-heading">

<i class="fa fa-edit fa-fw"></i> Postingan

</div>

<div class="panel-body"> <?php

echo "<h2>Tambah Postingan</h2>

<form method=POST action='aksi.php?menu=insertpostingan'> <input type=hidden name=username

value='$_SESSION[namauser]'>

<div class=\"form-group\">

<label class=\"control-label\" for=\"inputSuccess1\">Status Kompromi</label>

<div class='controls'>

<select class=\"form-control\" name='status' required='true'>

(10)

<label class=\"control-label\" for=\"inputSuccess1\">Judul</label>

<input name='judul' type=\"text\" class=\"form-control\" id=\"inputSuccess1\"> </div> <div class=\"form-group\"> <label class=\"control-label\" for=\"inputSuccess1\">Keterangan</label> <textarea class=\"form-control\" name=keterangan></textarea> </div> </table>

<input type=submit name=submit value=Simpan class=\"btn btn-primary btn-sm\">

<input type=button value=Batal onclick=self.history.back() class=\"btn btn-danger btn-sm\"></form>";

?>

</div>

</div>

<!--End Timeline --> </div> </div> <!--/.fluid-container--> <script src="vendors/bootstrap-wysihtml5/lib/js/wysihtml5-0.3.0.js"></script> <script src="vendors/jquery-1.9.1.min.js"></script> <script src="bootstrap/js/bootstrap.min.js"></script> <script src="vendors/bootstrap-wysihtml5/src/bootstrap-wysihtml5.js"></script> <script src="vendors/ckeditor/ckeditor.js"></script> <script src="vendors/ckeditor/adapters/jquery.js"></script> <script type="text/javascript" src="vendors/tinymce/js/tinymce/tinymce.min.js"></script> <script src="assets/scripts.js"></script> <script> $(function() { // Bootstrap $('#bootstrap-editor').wysihtml5();

// Ckeditor standard

$( 'textarea#ckeditor_standard' ).ckeditor({width:'98%', height: '150px', toolbar: [

{ name: 'document', items: [ 'Source', '-', 'NewPage', 'Preview', '-', 'Templates' ] }, // Defines toolbar group with name (used to create voice label) and items in 3

subgroups.

(11)

{ name: 'basicstyles', items: [ 'Bold', 'Italic' ] }

]});

$( 'textarea#ckeditor_full' ).ckeditor({width:'98%', height: '150px'});

});

// Tiny MCE tinymce.init({

selector: "#tinymce_basic", plugins: [

"advlist autolink lists link image charmap print preview anchor",

"searchreplace visualblocks code fullscreen", "insertdatetime media table contextmenu paste" ],

toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image"

});

// Tiny MCE tinymce.init({

selector: "#tinymce_full", plugins: [

"advlist autolink lists link image charmap print preview hr anchor pagebreak",

"searchreplace wordcount visualblocks visualchars code fullscreen",

"insertdatetime media nonbreaking save table contextmenu directionality",

"emoticons template paste textcolor" ],

toolbar1: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image",

toolbar2: "print preview media | forecolor backcolor emoticons",

image_advtab: true, templates: [

{title: 'Test template 1', content: 'Test 1'}, {title: 'Test template 2', content: 'Test 2'} ]

});

</script>

(12)

<!--- Menu Lihat Join --->

<div class="row">

<div class="col-lg-4"> <!--Timeline -->

<div class="panel panel-primary"> <div class="panel-heading">

<i class="fa fa-edit fa-fw"></i> Daftar Join </div> <div class="panel-body"> <?php echo " <div class=\"table-responsive\">

<table class=\"table striped bordered table-hover\" id=\"dataTables-example\">

<thead>

<tr><th>No</th><th>Nama</th><th>Pada Judul</th><th>Pilihan</th></tr></thead>

<tbody>";

$tampil=mysql_query("SELECT * FROM `join` a, komprom b WHERE a.username_join = '$_SESSION[namauser]' AND

a.id_komprom=b.id_komprom AND a.status_join='0'"); $no=1; while ($r=mysql_fetch_array($tampil)){ echo "<tr><td>$no</td> <td>$r[username_request]</td> <td>$r[judul]</td> <td>

<a class=\"btn btn-primary\"

href=aksi.php?menu=requestjoin&status=1&id=$r[id_join]> Izinkan

</a>

<a class=\"btn btn-danger\"

href=aksi.php?menu=requestjoin&status=2&id=$r[id_join]> Tolak </a></td></tr>"; $no++; } echo "</tbody></table></div>"; ?> </div> </div>

<!--End Timeline --> </div>

</div>

<! end Lihat Join --->

<?php break;

(13)

<! Menu PROFIL --->

<div class="row">

<div class="col-lg-4"> <!--Timeline -->

<div class="panel panel-primary"> <div class="panel-heading">

<i class="fa fa-user fa-fw"></i> Profil </div>

<div class="panel-body"> <script language="javascript">

function validasi(form){

if (form.password.value == ""){ alert("Password Wajib Diisi."); form.password.focus(); return (false); } return (true); } </script> <?php

$tampil=mysql_query("SELECT * FROM users WHERE username = '$_SESSION[namauser]'");

$r=mysql_fetch_array($tampil);

echo "

<form method=POST action='aksi.php?menu=updateprofil' onSubmit=\"return validasi(this)\" enctype=\"multipart/form-data\">

<div class=\"form-group\">

<label class=\"control-label\" for=\"inputSuccess1\">Username</label>

<input name='username' value= '$r[username]' type=\"text\" class=\"form-control\" id=\"inputSuccess1\" readonly> </div>

<div class=\"form-group\">

<label class=\"control-label\" for=\"inputSuccess1\">Nama Lengkap</label>

<input name='nama' value= '$r[nama_depan]' type=\"text\" class=\"form-control\" id=\"inputSuccess1\"> </div>

<div class=\"form-group\">

<label class=\"control-label\" for=\"inputSuccess1\">E-mail</label>

<input name='email' value= '$r[email]' type=\"text\" class=\"form-control\" id=\"inputSuccess1\"> </div>

<div class=\"form-group\">

<label class=\"control-label\" for=\"inputSuccess1\">Foto</label><br>

";

if($r[foto] == '') {

echo "<img src='assets/img/user.jpg'>"; }

(14)

echo "<img src='assets/img/$r[foto]' width=100px>";

}

echo "<input type=file name=fupload></div> <div class=\"form-group\">

<label class=\"control-label\" for=\"inputSuccess1\">Password (Wajib Diisi)</label>

<input name='password' type=\"password\" class=\"form-control\" id=\"inputSuccess1\">

</div>

<input type=submit name=submit value=Simpan class=\"btn btn-primary btn-sm\">

<input type=button value=Batal onclick=self.history.back() class=\"btn btn-danger btn-sm\"></form>";

?>

</div>

</div>

<!--End Timeline --> </div>

</div>

<!-- end Menu PROFIL ---> <?php break; } ?> </div>

<!-- end wrapper -->

<!-- Core Scripts - Include with every page -->

<script src="assets/plugins/jquery-1.10.2.js"></script> <script src="assets/plugins/bootstrap/bootstrap.min.js"></script> <script src="assets/plugins/metisMenu/jquery.metisMenu.js"></script> <script src="assets/plugins/pace/pace.js"></script> <script src="assets/scripts/siminta.js"></script> <!-- Page-Level Plugin Scripts-->

(15)

Admin.php <?php error_reporting(0); include "config/koneksi.php"; ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Forum Diskusi - admin</title>

<!-- Core CSS - Include with every page -->

<link href="assets/plugins/bootstrap/bootstrap.css" rel="stylesheet" /> <link href="assets/font-awesome/css/font-awesome.css" rel="stylesheet" /> <link href="assets/plugins/pace/pace-theme-big-counter.css" rel="stylesheet" />

<link href="assets/css/style.css" rel="stylesheet" /> <link href="assets/css/main-style.css" rel="stylesheet" /> <link rel="shortcut icon" href="#.png">

<!-- Page-Level CSS -->

<link href="assets/plugins/morris/morris-0.4.3.min.css" rel="stylesheet" />

<link href="assets/plugins/timeline/timeline.css" rel="stylesheet" />

<script type="text/javascript" src="jquery-min.js"></script> <script type="text/javascript">

var auto_refresh = setInterval( function () { $("#refresh").load("timeline.php").fadeIn("slow"); }, 1600); </script> <script src="js/jquery.js"></script> <script src="js/user.js"></script> </head> <body>

<!-- wrapper --> <div id="wrapper"> <!-- navbar top -->

<nav class="navbar navbar-default navbar-fixed-top" role="navigation" id="navbar">

<!-- navbar-header -->

<div class="navbar-header">

<a class="navbar-brand" href="index.php"> <img src="assets/img/logo.png" alt="" /> </a>

</div>

(16)

<!-- navbar-top-links -->

<ul class="nav navbar-top-links navbar-right"> <!-- main dropdown -->

<li class="dropdown">

<a class="dropdown-toggle" data-toggle="dropdown" href="#">

<i class="fa fa-user fa-3x"></i> </a>

<!-- dropdown-messages -->

<ul class="dropdown-menu dropdown-messages"> <li><a href="admin.php?menu=users"><i class="fa fa-edit fa-fw"></i> Daftar User</a> </li>

<li class="divider"></li>

<li><a href="logout.php"><i class="fa fa-sign-out fa-fw"></i> Logfa-sign-out</a></li>

</ul>

<!-- end dropdown-messages --> </li>

<!-- end main dropdown --> </ul>

<!-- end navbar-top-links --> </nav>

<!-- end navbar top -->

<!-- navbar side -->

<!-- end navbar side --> <?php

switch($_GET['menu']){ default:

?>

<! INDEX --->

<div class="row">

<div class="col-lg-4"> <!--Timeline -->

<div class="panel panel-primary"> <div class="panel-heading">

<i class="fa fa-tasks fa-fw"></i> Diskusi Terpopuler

</div>

<div class="panel-body"> <div class="list-group"> <?php

$kompromi=mysql_query("SELECT * FROM laporan WHERE status='0' ORDER BY id_laporan DESC LIMIT 20");

$hitung=mysql_num_rows($kompromi);

if($hitung == '0') { echo "Tidak Ada Laporan"; }

else {

(17)

echo "<a

href=admin.php?menu=laporan&komprom=$k[id_komprom]&komentar=$k[id_ko mentar]&id=$k[id_laporan] class=\"list-group-item\" ><i class=\"fa fa-tasks fa-fw\"></i> $k[pelapor] Melaporkan Komentar $k[dilapor]

<span class=\"pull-right text-muted small\"> <em>$k[tanggal]</em> </span> </a>"; } } ?> </div> </div> </div>

<!--End Timeline --> </div>

</div>

<!--- end INDEX --->

<?php break;

case "laporan": ?>

<!- Menu Laporan --->

<script language="javascript"> function validasi(form){

if (form.komentar.value == ""){

alert("Form Komentar Tidak Boleh Kosong."); form.komentar.focus(); return (false); } return (true); } </script> <div class="row"> <div class="col-lg-4"> <!--Timeline -->

<div class="panel panel-primary"> <div class="panel-heading">

<i class="fa fa-comments fa-fw"></i> Laporan

</div>

<div class="panel-body"> <?php

$kompromi1=mysql_query("SELECT * FROM laporan AS a, komprom AS b, komentar AS c WHERE

a.id_komprom=b.id_komprom AND a.id_komentar=c.id_komentar AND a.id_komprom='$_GET[komprom]' AND a.id_komentar='$_GET[komentar]' AND a.id_laporan='$_GET[id]'");

(18)

$tampilkanjoin=mysql_query("SELECT * FROM `join` WHERE username_request='$_SESSION[namauser]'");

$u=mysql_fetch_array($tampilkanjoin); ?>

<div class="panel panel-default"> <div class="panel-heading"> <h4 class="panel-title"> <?php echo "$k[pelapor] Melaporkan Komentar $k[dilapor]"; ?>

</h4> </div>

<div id="collapseOne" class="panel-collapse collapse in">

<div class="panel-body"> <?php include "config/ClassGost.php"; $data = "$k[komentar]";

$datajudul = "$k[judul]";

$key = "Kriptografi-Metoda-GOST-Ardito!!"; $gost=new ClassGost; //$data_encoded=$gost->Encode($data, $key); $datajudul_encoded=$gost->Encode($datajudul, $key); $data_encoded=$gost->Encode($data, $key); echo " <form method=POST action='aksi.php?menu=nonaktiflaporan'>

<input type=hidden name=dilapor value='$k[dilapor]'> <input type=hidden name=komprom

value='$_GET[komprom]'>

<input type=hidden name=komentar value='$_GET[komentar]'>

<input type=hidden name=laporan value='$_GET[id]'>

Pada diskusi:<br>

<b>$k[judul]</b><br><br>

(19)

<b>$k[komentar]</b><br><br>"; if($c[gambar]!='') {

}

else {

echo "Gambar:<br>";

echo "<img src='gambar/$k[gambar]' width='30%'><br><br>";

}

echo "

Laporan $k[pelapor]:<br> <b>$k[laporan]</b><br><br>

<input type=submit name=submit value='Nonaktifkan Komentar' class=\"btn btn-primary btn-sm\">

<input type=button value=Batal onclick=self.history.back() class=\"btn btn-danger btn-sm\"></form>";?>

</div> </div> </div> </div>

</div>

<!--End Timeline --> </div>

</div>

<!--- end Menu Postingan ---> <?php

break;

case "users": ?>

<! Menu Users --->

<div class="row">

<div class="col-lg-4"> <!--Timeline -->

<div class="panel panel-primary"> <div class="panel-heading">

<i class="fa fa-edit fa-fw"></i> Daftar User Diskusi </div> <div class="panel-body"> <?php echo " <div class=\"table-responsive\">

<table class=\"table striped bordered table-hover\" id=\"dataTables-example\">

<thead>

<tr><th>No</th><th>Nama

Lengkap</th><th>Username</th><th>E-Mail</th></thead> <tbody>";

$tampil=mysql_query("SELECT * FROM tbl_users WHERE level<>'admin' ORDER BY id_users");

$no=1;

(20)

echo "<tr><td>$no</td> <td>$r[nama_depan]</td> <td>$r[username]</td> <td>$r[email]</td> </tr>"; $no++; } echo "</tbody></table></div>"; ?> </div> </div>

<!--End Timeline --> </div>

</div>

<!--- end Menu Postingan --->

<?php break;

case "tambahpostingan": ?>

<!--- Tambah Postingan --->

<div class="row">

<div class="col-lg-4"> <!--Timeline -->

<div class="panel panel-primary"> <div class="panel-heading">

<i class="fa fa-edit fa-fw"></i> Postingan

</div>

<div class="panel-body"> <?php

echo "<h2>Tambah Postingan</h2>

<form method=POST action='aksi.php?menu=insertpostingan'> <input type=hidden name=username

value='$_SESSION[namauser]'> <div class=\"form-group\"> <label class=\"control-label\" for=\"inputSuccess1\">Status Kompromi</label> <div class='controls'> <select class=\"form-control\" name='status'>

<option selected value='2'>- Pilih Status -</option> <option value='1'>Terbuka</option> <option value='0'>Tertutup</option> </select> </div> </div> <div class=\"form-group\"> <label class=\"control-label\" for=\"inputSuccess1\">Judul</label>

<input name='judul' type=\"text\" class=\"form-control\" id=\"inputSuccess1\">

(21)

<div class=\"form-group\"> <label class=\"control-label\" for=\"inputSuccess1\">Keterangan</label> <textarea class=\"form-control\" id=\"tinymce_full\" name=keterangan></textarea> </div> </table>

<input type=submit name=submit value=Simpan class=\"btn btn-primary btn-sm\">

<input type=button value=Batal onclick=self.history.back() class=\"btn btn-danger btn-sm\"></form>";

?>

</div> </div>

<!--End Timeline --> </div> </div> <!--/.fluid-container--> <script src="vendors/bootstrap-wysihtml5/lib/js/wysihtml5-0.3.0.js"></script> <script src="vendors/jquery-1.9.1.min.js"></script> <script src="bootstrap/js/bootstrap.min.js"></script> <script src="vendors/bootstrap-wysihtml5/src/bootstrap-wysihtml5.js"></script> <script src="vendors/ckeditor/ckeditor.js"></script> <script src="vendors/ckeditor/adapters/jquery.js"></script> <script type="text/javascript" src="vendors/tinymce/js/tinymce/tinymce.min.js"></script> <script src="assets/scripts.js"></script> <script> $(function() { // Bootstrap $('#bootstrap-editor').wysihtml5(); // Ckeditor standard

$( 'textarea#ckeditor_standard' ).ckeditor({width:'98%', height: '150px', toolbar: [

{ name: 'document', items: [ 'Source', '-', 'NewPage', 'Preview', '-', 'Templates' ] }, // Defines toolbar group with name (used to create voice label) and items in 3

subgroups.

[ 'Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo' ], // Defines toolbar group without name.

{ name: 'basicstyles', items: [ 'Bold', 'Italic' ] }

]});

$( 'textarea#ckeditor_full' ).ckeditor({width:'98%', height: '150px'});

});

// Tiny MCE tinymce.init({

(22)

"advlist autolink lists link image charmap print preview anchor",

"searchreplace visualblocks code fullscreen", "insertdatetime media table contextmenu paste" ],

toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image"

});

// Tiny MCE tinymce.init({

selector: "#tinymce_full", plugins: [

"advlist autolink lists link image charmap print preview hr anchor pagebreak",

"searchreplace wordcount visualblocks visualchars code fullscreen",

"insertdatetime media nonbreaking save table contextmenu directionality",

"emoticons template paste textcolor" ],

toolbar1: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image",

toolbar2: "print preview media | forecolor backcolor emoticons",

image_advtab: true, templates: [

{title: 'Test template 1', content: 'Test 1'}, {title: 'Test template 2', content: 'Test 2'} ]

});

</script>

<!---- end Tambah Postingan ---> <?php break; case "lihatjoin": ?>

<!--- Menu Lihat Join --->

<div class="row">

<div class="col-lg-4"> <!--Timeline -->

<div class="panel panel-primary"> <div class="panel-heading">

<i class="fa fa-edit fa-fw"></i> Daftar Join

</div>

<div class="panel-body"> <?php

(23)

<div class=\"table-responsive\">

<table class=\"table striped bordered table-hover\" id=\"dataTables-example\">

<thead>

<tr><th>No</th><th>Nama</th><th>Pada Judul</th><th>Pilihan</th></tr></thead>

<tbody>";

$tampil=mysql_query("SELECT * FROM `join` a, komprom b WHERE a.username_join = '$_SESSION[namauser]' AND

a.id_komprom=b.id_komprom AND a.status_join='0'"); $no=1; while ($r=mysql_fetch_array($tampil)){ echo "<tr><td>$no</td> <td>$r[username_request]</td> <td>$r[judul]</td> <td>

<a class=\"btn btn-primary\"

href=aksi.php?menu=requestjoin&status=1&id=$r[id_komprom]> Izinkan

</a>

<a class=\"btn btn-danger\"

href=aksi.php?menu=requestjoin&status=2&id=$r[id_komprom]> Tolak </a></td></tr>"; $no++; } echo "</tbody></table></div>"; ?> </div> </div>

<!--End Timeline --> </div>

</div>

<! end Lihat Join --->

<?php break;

case "profil": ?>

<! Menu PROFIL --->

<div class="row">

<div class="col-lg-4"> <!--Timeline -->

<div class="panel panel-primary"> <div class="panel-heading">

<i class="fa fa-user fa-fw"></i> Profil </div>

<div class="panel-body"> <script language="javascript">

function validasi(form){

(24)

return (false); } return (true); } </script> <?php

$tampil=mysql_query("SELECT * FROM users WHERE username = '$_SESSION[namauser]'");

$r=mysql_fetch_array($tampil);

echo "

<form method=POST action='aksi.php?menu=updateprofil' onSubmit=\"return validasi(this)\" enctype=\"multipart/form-data\">

<div class=\"form-group\">

<label class=\"control-label\" for=\"inputSuccess1\">Username</label>

<input name='username' value= '$r[username]' type=\"text\" class=\"form-control\" id=\"inputSuccess1\" readonly> </div>

<div class=\"form-group\">

<label class=\"control-label\" for=\"inputSuccess1\">Nama Lengkap</label>

<input name='nama' value= '$r[nama_depan]' type=\"text\" class=\"form-control\" id=\"inputSuccess1\"> </div>

<div class=\"form-group\">

<label class=\"control-label\" for=\"inputSuccess1\">E-mail</label>

<input name='email' value= '$r[email]' type=\"text\" class=\"form-control\" id=\"inputSuccess1\"> </div>

<div class=\"form-group\">

<label class=\"control-label\" for=\"inputSuccess1\">Foto</label><br>

";

if($r[foto] == '') {

echo "<img src='assets/img/user.jpg'>"; }

else {

echo "<img src='assets/img/$r[foto]' width=100px>";

}

echo "<input type=file name=fupload></div> <div class=\"form-group\">

<label class=\"control-label\" for=\"inputSuccess1\">Password (Wajib Diisi)</label>

<input name='password' type=\"password\" class=\"form-control\" id=\"inputSuccess1\">

</div>

<input type=submit name=submit value=Simpan class=\"btn btn-primary btn-sm\">

<input type=button value=Batal onclick=self.history.back() class=\"btn btn-danger btn-sm\"></form>";

(25)

</div>

</div>

<!--End Timeline --> </div>

</div>

<!-- end Menu PROFIL --->

<?php break; } ?>

</div>

<!-- end wrapper -->

<!-- Core Scripts - Include with every page -->

<script src="assets/plugins/jquery-1.10.2.js"></script> <script

src="assets/plugins/bootstrap/bootstrap.min.js"></script> <script

src="assets/plugins/metisMenu/jquery.metisMenu.js"></script> <script src="assets/plugins/pace/pace.js"></script> <script src="assets/scripts/siminta.js"></script> <!-- Page-Level Plugin Scripts-->

<script src="assets/plugins/morris/raphael-2.1.0.min.js"></script>

<script src="assets/plugins/morris/morris.js"></script> <script src="assets/scripts/dashboard-demo.js"></script> </body>

(26)

Login.php <?php session_start(); error_reporting(0); include 'config/koneksi.php'; if(!empty($_POST)){

$username = $_POST['username']; $password = md5($_POST['password']);

$sql = "select * from tbl_users where username='".$username."' and password='".$password."'";

#echo $sql."<br />";

$query = mysql_query($sql) or die (mysql_error());

// pengecekan query valid atau tidak if($query){

$row = mysql_num_rows($query); $r = mysql_fetch_array($query);

// jika $row > 0 atau username dan password ditemukan if($row > 0){

session_start();

include "timeout.php";

$_SESSION[namauser] = $r[username]; $_SESSION[namalengkap] = $r[nama_depan]; $_SESSION[passuser] = $r[password]; $_SESSION[leveluser] = $r[level];

// session timeout $_SESSION[login] = 1; timer();

$sid_lama = session_id();

session_regenerate_id();

$sid_baru = session_id();

mysql_query("UPDATE tbl_users SET id_session='$sid_baru' WHERE username='$username'");

header('location:index.php'); }

else{

(27)

<head>

<meta charset="utf-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Forum DIskusi - Mari Berdiskusi Disini</title> <!-- Core CSS - Include with every page -->

<link href="assets/plugins/bootstrap/bootstrap.css" rel="stylesheet" /> <link href="assets/font-awesome/css/font-awesome.css" rel="stylesheet" /> <link href="assets/plugins/pace/pace-theme-big-counter.css" rel="stylesheet" />

<link href="assets/css/style.css" rel="stylesheet" /> <link href="assets/css/main-style.css" rel="stylesheet" /> <link rel="shortcut icon" href="">

<!-- Page-Level CSS -->

<link href="assets/plugins/morris/morris-0.4.3.min.css" rel="stylesheet" /> </head> <body class="body-Login-back"> <div class="container"> <div class="row">

<div class="col-md-4 col-md-offset-4 text-center logo-margin ">

<a href="index.php"><img src="assets/img/logo.png" alt=""/></a>

</div>

<div class="col-md-4 col-md-offset-4">

<div class="login-panel panel panel-default"> <div class="panel-heading">

<h3 class="panel-title">Please Sign In</h3> </div>

<div class="panel-body">

<form role="form" method="post" action=""> <fieldset>

<div class="form-group">

<input class="form-control" placeholder="ID Login Anda" name="username" type="text" autofocus required autocomplete="off">

</div>

<div class="form-group">

<input class="form-control" placeholder="Password" name="password" type="password" required> </div>

Belum punya akun? Klik <a href="registrasi.php">Disini</a> Untuk Registrasi.<br><br>

<!-- Change this to a button or input when using this as a form -->

(28)

</fieldset> </form>

<?php echo "<div align='center'><font color='#ff0000'><b>$error</b></font></div>"; ?>

</div> </div> </div> </div> </div>

<!-- Core Scripts - Include with every page -->

<script src="assets/plugins/jquery-1.10.2.js"></script> <script

src="assets/plugins/bootstrap/bootstrap.min.js"></script> <script

src="assets/plugins/metisMenu/jquery.metisMenu.js"></script>

</body>

</html>

Cek_login.php

<?php

include "config/koneksi.php";

function anti_injection($data){

$filter =

mysql_real_escape_string(stripslashes(strip_tags(htmlspecialchars($d ata,ENT_QUOTES))));

return $filter;

}

$username = anti_injection($_POST['username']);

$pass = anti_injection(md5($_POST['password']));

(29)

$login=mysql_query("SELECT * FROM tbl_users WHERE username='$username' AND password='$pass'");

$ketemu=mysql_num_rows($login);

$r=mysql_fetch_array($login);

// Apabila username dan password ditemukan

if ($ketemu > 0){

session_start();

include "timeout.php";

$_SESSION[namauser] = $r[username];

$_SESSION[namalengkap] = $r[nama_depan];

$_SESSION[passuser] = $r[password];

$_SESSION[leveluser] = $r[level];

// session timeout

$_SESSION[login] = 1;

timer();

$sid_lama = session_id();

session_regenerate_id();

$sid_baru = session_id();

mysql_query("UPDATE tbl_users SET id_session='$sid_baru' WHERE username='$username'");

(30)

}

else{

$error="

<link href=config/adminstyle.css rel=stylesheet type=text/css>

<center><font face='tahoma' size='3'><b>LOGIN GAGAL ! </b></font><br><hr><br>

<font size='8' color='red' face='comic sans ms'><blink>Username atau Password Anda tidak benar !!!</blink></font><br>

Atau account Anda sedang diblokir.<br>

<a href=login.php><b>ULANGI LAGI</b></a></center>

<div align='center'>

</div>";

}

(31)

Logout.php <?php session_start(); session_destroy(); error_reporting(0); include "config/koneksi.php"; header('location:login.php'); ?> Registrasi.php <!DOCTYPE html> <html> <head> <meta charset="utf-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>KomproM.NET - Kompromikan Semuanya Disini</title> <!-- Core CSS - Include with every page -->

<link href="assets/plugins/bootstrap/bootstrap.css" rel="stylesheet" /> <link href="assets/font-awesome/css/font-awesome.css" rel="stylesheet" /> <link href="assets/plugins/pace/pace-theme-big-counter.css" rel="stylesheet" />

<link href="assets/css/style.css" rel="stylesheet" /> <link href="assets/css/main-style.css" rel="stylesheet" /> <link rel="shortcut icon" href="icon.png">

<!-- Page-Level CSS -->

<link href="assets/plugins/morris/morris-0.4.3.min.css" rel="stylesheet" /> </head> <body class="body-Login-back"> <div class="container"> <div class="row">

<div class="col-md-4 col-md-offset-4 text-center logo-margin ">

<a href="index.php"><img src="assets/img/logo.png" alt=""/></a>

</div>

<div class="col-md-4 col-md-offset-4">

<div class="login-panel panel panel-default"> <div class="panel-heading">

<h3 class="panel-title">Form Registrasi</h3> </div>

<div class="panel-body">

(32)

<fieldset>

<div class="form-group">

<input class="form-control" placeholder="Nama Lengkap" name="nama" autofocus required> </div>

<div class="form-group">

<input class="form-control" placeholder="E-mail" name="email" autofocus required>

</div>

<div class="form-group">

<input class="form-control" placeholder="ID Komprom" name="username" autofocus required> </div>

<div class="form-group">

<input class="form-control" placeholder="Password" name="password" type="password" required> </div>

<!-- Change this to a button or input when using this as a form -->

<input type="submit" value="Daftar" class="btn btn-lg btn-success btn-block">

</fieldset> </form>

</div> </div> </div> </div> </div>

<!-- Core Scripts - Include with every page -->

<script src="assets/plugins/jquery-1.10.2.js"></script> <script

src="assets/plugins/bootstrap/bootstrap.min.js"></script> <script

src="assets/plugins/metisMenu/jquery.metisMenu.js"></script>

</body>

(33)

Aksi.php

<?php

session_start();

error_reporting(0);

include "config/koneksi.php";

include "config/fungsi_thumb.php";

include('config/ClassGost.php');

$key = "Kriptografi-Metoda-GOST-Ardito!!";

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

$menu=$_GET[menu];

if($menu=='insertpostingan') {

mysql_query("INSERT INTO komprom (username,

judul,

keterangan,

tanggal,

status)

VALUES ('$_POST[username]',

'$_POST[judul]',

'$_POST[keterangan]',

'$tgl',

'$_POST[status]')");

header('location:index.php?menu=postingan');

(34)

elseif($menu=='hapuspostingan') {

mysql_query("DELETE FROM komprom WHERE id_komprom = '$_GET[id]'");

header('location:index.php?menu=postingan');

}

elseif($menu=='komentar') {

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

$lokasi_file = $_FILES['fupload']['tmp_name'];

$tipe_file = $_FILES['fupload']['type'];

$nama_file = $_FILES['fupload']['name'];

$acak = rand(1,99);

$nama_file_unik = $acak.$nama_file;

if (empty($lokasi_file)){

mysql_query("INSERT INTO komentar (id_komprom,

username,

komentar,

tanggal)

VALUES ('$_POST[komprom]',

'$_SESSION[namauser]',

'$_POST[komentar]',

'$tgl')");

}

else {

UploadGambar($nama_file_unik);

(35)

username,

komentar,

tanggal,

gambar)

VALUES ('$_POST[komprom]',

'$_SESSION[namauser]',

'$_POST[komentar]',

'$tgl',

'$nama_file_unik')");

}

header('location:index.php?menu=kompromi&id='.$_POST[komprom]);

}

// Update Profil

elseif ($menu == 'updateprofil'){

$lokasi_file = $_FILES['fupload']['tmp_name'];

$tipe_file = $_FILES['fupload']['type'];

$nama_file = $_FILES['fupload']['name'];

$acak = rand(1,99);

$nama_file_unik = $acak.$nama_file;

$pass_baru=md5($_POST[password]);

if (empty($lokasi_file)){

mysql_query("UPDATE users SET

(36)

email='$_POST[email]',

password='$pass_baru'

WHERE username = '$_POST[username]'");

}

else{

UploadImage($nama_file_unik);

mysql_query("UPDATE users SET

nama_depan='$_POST[nama]',

email='$_POST[email]',

password='$pass_baru',

foto ='$nama_file_unik'

WHERE username = '$_POST[username]'");

}

header('location:index.php?menu=profil');

}

elseif ($menu=='join')

{

mysql_query("INSERT INTO `join`(`id_komprom`, `username_join`, `username_request`)

VALUES ('$_POST[id_komprom]',

'$_POST[username_join]',

(37)

header('location:index.php?menu=kompromi&id='.$_POST[id_komprom]);

}

elseif ($menu=='requestjoin')

{

mysql_query("UPDATE `join` SET status_join='$_GET[status]' WHERE id_join='$_GET[id]'");

header('location:index.php?menu=postingan');

}

elseif ($menu=='inputlaporan')

{

mysql_query("INSERT INTO `laporan`

(`id_komentar`,`id_komprom`,`pelapor`,`dilapor`,`laporan`)

VALUES ('$_POST[komentar]',

'$_POST[komprom]',

'$_POST[pelapor]',

'$_POST[dilapor]',

'$_POST[keterangan]')");

echo "<script>alert('Komentar $_POST[dilapor] Telah Dilaporkan Kepada Administrator'); window.location = 'index.php' </script>";

}

elseif ($menu=='nonaktiflaporan')

{

mysql_query("UPDATE laporan SET status = '1' WHERE

id_komprom='$_POST[komprom]' AND id_komentar='$_POST[komentar]' AND id_laporan='$_POST[laporan]'");

mysql_query("UPDATE komentar SET status = '1' WHERE

id_komprom='$_POST[komprom]' AND id_komentar='$_POST[komentar]'");

(38)

}

(39)

Timeline.php <ul class="timeline"> <?php session_start(); error_reporting(0); include "config/koneksi.php"; include "config/fungsi_indotgl.php"; $panggil =

mysql_query("SELECT a.username, a.id_komentar, a.komentar, a.tanggal, a.id_komprom, a.gambar, b.username, b.foto, a.status

FROM komentar AS a, tbl_users AS b

WHERE a.username = b.username AND a.id_komprom = '$_GET[id]' ORDER BY a.id_komentar");

$no=1;

while($c=mysql_fetch_array($panggil)) {

$tgl=tgl_indo($c[tanggal]);

if(($no % 2) == 0){ $li = "<li class='timeline-inverted'>";

} else{

$li = "<li>"; }

?>

<?php echo "$li"; ?>

<div class="timeline-badge"> <?php if($c[foto] == '') { echo "<img src='assets/img/user.jpg' class='gambar'>"; } else { echo "<img src='assets/img/$c[foto]' class='gambar'>";

(40)

</div>

<div class="timeline-panel"> <?php

if($c[username] <> '$_SESSION[namauser]' AND $c[status] == '1') {

} else { ?> <div class="box-tools pull-right"> <div class="btn-group">

<a href="#" data-toggle="dropdown"><i class="fa fa-sort-down"></i></a>

<ul class="dropdown-menu" role="menu"> <li><a href="<?php echo "?menu=laporkan-obrolan&komprom=$c[id_komprom]&id=$c[id_komentar]"; ?>">Laporkan Komentar</a></li> </ul> </div> </div> <?php } ?> <div class="timeline-heading"> <h4 class="timeline-title"><?php echo "$c[username]"; ?></h4>

<p>

<small class="text-muted"><i class="fa fa-time"></i><?php echo "$tgl"; ?></small> </p>

</div>

<div class="timeline-body"> <?php

if($c[status] == '1') {

echo "<font color='#ff0000'>Komentar Ini Telah Di Nonaktifkan Oleh Administrator.</font>";

} else {

echo "$c[komentar] <br>"; if($c[gambar]!='') {

(41)

<?php

(42)

DAFTAR PUSTAKA

Alexander F.K. Sibero, 2011, Kitab Suci Web Programing, MediaKom,

Yogyakarta.

Arief M Rudianto. 2011. Pemrograman Web Dinamis menggunakan PHP

dan MySQL.C.V ANDI OFFSET.Yogyakarta.

Indrajani. 2011. Perancangan Basis Data All in 1 . J a k a r t a : A l e x

M e d i a Komputindo.

I Putu Heryawan, Keamanan Data. Bali, 2010.

Jogianto HM, Analisis dan Desain, Andi Yogyakarta, 2010

Kromodimoeljo, S. 2010. Teori dan Aplikasi Kriptografi. SPK IT Consulting.

Rinaldi Munir : Analisis Perbandingan Algoritma AES dan GOST. Penerbit

Yudistira, Bandung. 2012.

Rinaldi Munir : Kriptografi. Penerbit Informatika, Bandung. 2010.

(43)

16

BAB 3

ANALISA DAN PERANCANGAN SISTEM

3.1

Analisa Sistem

Analisa sistem merupakan kegiatan penguraian suatu sistem yang utuh dan

nyata ke dalam bagian-bagian yang bertujuan untuk mengidentifikasikan serta

mengevaluasi masalah-masalah yang muncul, hambatan-hambatan yang

mungkin terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga

mengarah kepada suatu solusi untuk perbaikan maupun pengembangan ke

arah yang lebih baik dan sesuai dengan kebutuhan serta perkembangan

teknologi yang diantaranya membahas mengenai sistem yang terdapat dalam

sistem yang telah diterapkan saat ini, baik dari segi kelebihan dan

kekurangannya.

3.1.1

Kelemahan Sistem

(44)

17

3.1.2

Analisa Keunggulan Sistem

Sistem tidak hanya terdapat kelemahan, akan tetapi Analisa keunggulan sistem

yang akan dibangun adalah, dengan adanya sistem enkripsi pada setiap

komentar diskusi, para pengguna/anggota diskusi akan dapat lebih tenang

dalam penyampaian informasi pada dunia maya, dikarenakan apabila terjadi

sesuatu seperti tindakan kejahatan pada basis data (hack, crack dan

sebagainya), maka setiap komentar diskusi tidak akan dapat didefinisikan oleh

para pelaku tersebut. Hasil enkripsi data tersimpan dengan baik pada database

yang terhubung pada sistem tersebut.

3.2

Rancangan Penelitian

Sebelum membuat program aplikasi, terlebih dahulu dilakukan proses

perancangan sistem untuk memodelkan perancangan yang telah ditetapkan

berdasarkan analisa, sehingga menghasilkan informasi yang dibutuhkan.

1.

Data Flow Diagram Konteks

Context diagram merupakan diagram pertama dalam rangkaian suatu DFD,

yang menggambarkan entitas-entitas yang berhubungan dengan suatu sistem.

Pada context diagram rancang bangun sistem diskusi yang akan dibangun

terdapat 2 external entity, yaitu user/anggota dan admin. Entity tersebut

memberikan input dan oleh sistem akan diberikan keluaran atau output yang

berupa data atau yang lainnya.

(45)

18

Gambar 3.3 Diagram Konteks Aplikasi Forum Diskusi Online

2.

Data Flow Diagram Level 0

Setelah context diagram maka digambarkan diagram yang lebih rinci, yang

disebut dengan DFD Level 0. DFD level 0 membentuk semua aliran proses

input dan output yang ada pada context diagram sebelumnya. Tiap-tiap proses

tersebut akan membuat hubungan yang saling terkait sehingga membentuk

aliran proses yang menggambarkan proses dari rancang bangun sistem diskusi

online.

(46)
[image:46.595.116.509.83.513.2]

19

Gambar 3.4 DFD Level 0 Aplikasi Forum Diskusi Online

3.3

Rancangan Database

(47)

20

3.3.1 Struktur database

Database terdiri dari beberapa tabel yang di dalamnya terdapat nama-nama

field yang telah ditentukan, beserta primary key nya. Berikut struktur tabel

dari aplikasi:

a.

Tabel join

[image:47.595.106.513.301.522.2]

Tabel join adalah tabel yang berisikan status join username yang dapat

dilihat pada tabel 3.1 dibawah ini :

Tabel 3.1 Tabel join

Field

Type

Null

Default

Extra

id_join

Int(10)

No

None

Auto Increment

Id_komprom

Int(10)

No

None

Username_join

Varchar(100)

No

None

Username_request

Varchar(100)

No

None

Status_join

Int(2)

No

None

b.

Tabel komentar

Tabel komentar adalah tabel yang berisikan komentar yang di kirim

oleh user yang dapat dilihat pada tabel 3.2 dibawah ini :

Tabel 3.2 Tabel komentar

Field

Type

Null

Default

Extra

id_komentar

Int(10)

No

None

Auto Increment

(48)

21

Username

Varchar(100)

No

None

Komentar

Text

No

None

Tanggal

Date

No

None

Status

Int(2)

No

None

Gambar

Varchar(250)

No

None

c.

Tabel Diskusi

Tabel diskusi adalah tabel yang berisikan topik postingan yang dapat

dilihat pada tabel 3.3 dibawah ini :

Tabel 3.3 Tabel Diskusi

Field

Type

Null

Default

Extra

Id_komprom

Int(10)

No

None

Username

Varchar(100)

No

None

Judul

text

No

None

Keterangan

Text

No

None

Tanggal

Date

No

None

Status

Int(2)

No

None

d.

Tabel users

(49)

22

Tabel 3.4 Tabel users

Field

Type

Null

Default

Extra

Id_users

Int(5)

No

None

Auto Increment

Username

Varchar(50)

No

None

Password

Varchar(50)

No

None

Nama_depan

Varchar(50)

No

None

Email

Varchar(100)

No

None

Foto

Varchar(100)

No

None

Level

Varchar(20)

No

None

Id_session

Varchar(100)

No

None

e.

Tabel Laporan

tabel laporan adalah tabel yang berisi laporan komentar yang dilaporkan user

kepada admin yang dapat dilihat pada tabel 3.5.

Tabel 3.5 Tabel Laporan

Field

Type

Null

Default

Extra

Id_laporan

Int(10)

No

None

Auto Increment

Id_komentar

Int(10)

No

None

Id_komprom

Int(10)

No

None

Pelapor

Varchar(100)

No

None

dilapor

Varchar(100)

No

None

[image:49.595.108.513.109.393.2]
(50)

23

Status

Int(2)

No

None

3.3.2 Relasi Tabel

[image:50.595.126.514.264.669.2]

Relasi antar tabel dalam sistem ini digunakan untuk memperlihatkan

hubungan dari tiap-tiap tabel yang ada. Pembuatan relasi antar tabel dapat dilihat

pada gambar 3.5 dibawah ini :

(51)

24

3.4

Flowchart

Flowchart merupakan bagan alir sistem yang menunjukkan atau menggambarkan

rangkaian kegiatan proses atau langkah-langkah proses dari program dari awal

sampai akhir.

1.

Flowchart Login

[image:51.595.105.512.278.687.2]

Flowchart login dapat dilihat pada gambar 3.6 berikut ini :

(52)

25

2.

Flowchart Admin

Flowchart admin dapat dilihat pada gambar 3.7 dibawah ini :

[image:52.595.185.451.141.363.2]

Gambar 3.7 Flowchart Admin

3.

Flowchart Menu Admin

Flowchart menu admin dapa dilihat pada gambar 3.8 dibawah ini :

[image:52.595.215.446.451.712.2]
(53)

26

4.

Flowchart Laporan Komentar

[image:53.595.217.414.168.412.2]

Flowchart laporan komentar dapat dilihat pada gambar 3.9 dibawah ini :

Gambar 3.9 Flowchart Laporan Komentar

5.

Flowchart Menu Utama User

Flowchart menu utama user dapat dilihat pada gambar 3.10 dibawah ini :

[image:53.595.179.456.504.724.2]
(54)

27

6.

Flowchart Sub Menu User

[image:54.595.168.468.136.502.2]

Flowchart sub menu utama user dapat dilihat pada gambar 3.11 berikut ini:

(55)

28

7.

Flowchart Postingan

[image:55.595.143.490.135.660.2]

Flowchart postingan dapat dilihat pada gambar 3.12 di bawah ini :

(56)

29

8.

Flowchart Profil User

[image:56.595.176.472.139.427.2]

Flowchart profil user dapat dilihat pada gambar 3.13 di bawah ini:

(57)

30

9.

Flowchart Diskusi

[image:57.595.123.521.128.652.2]

Flowchart diskusi dapat dilihat pada gambar 3.14 di bawah ini :

(58)

31

3.5

Rancangan Tampilan Aplikasi

Dalam pembuatan aplikasi ini diperlukan desain antar muka (interface). Desain

antar muka harus dilakukan karena mempunyai bagian yang berhubungan

langsung dengan user, yaitu semua hal yang dilihat oleh user. Adapun rancangan

tampilan aplikasi seperti yang tertera pada gambar pada halaman berikut:

1.

Rancangan Tampilan Login

Rancangan tampilan login dapat dilihat pada gambar 3.15 di bawah ini :

Gambar 3.15 Rancangan Tampilan Login

2.

Rancangan Tampilan Registrasi

Rancangan tampilan registrasi dapat dilihat pada gambar 3.16 dibawah ini:

(59)

32

[image:59.595.142.490.137.346.2]

Rancangan tampilan menu utama admin dapat dilihat pada gambar 3.17 di

bawah ini :

Gambar 3.17 Rancangan Tampilan Menu Utama Admin

4.

Rancangan Tampilan Submenu Admin

Rancangan tampilan submenu admin dapat dilihat pada gambar 3.18 di

bawah ini :

[image:59.595.120.468.489.702.2]
(60)

33

5.

Rancangan Tampilan Daftar User

[image:60.595.122.474.154.370.2]

Rancangan tampilan daftar user dapat dilihat pada gambar 3.19 dibawah

ini:

Gambar 3.19 Rancangan Tampilan Daftar User

6.

Rancangan Tampilan Laporan Komentar User

Rancangan tampilan laporan komentar user dapat dilihat pada gambar 3.20

dibawah ini :

[image:60.595.127.468.512.728.2]
(61)

34

7.

Rancangan Tampilan Menu Utama User

Rancangan tampilan menu utama user dapat dilihat pada gambar 3.21 di

bawah ini :

Gambar 3.21 Rancangan Tampilan Menu Utama User

8.

Rancangan Tampilan Submenu User

[image:61.595.124.481.156.381.2]

Rancangan tampilan submenu user dapat dilihat pada gambar 3.22 di

bawah ini:

(62)

35

9.

Rancangan Tampilan Halaman Postingan

[image:62.595.122.477.162.367.2]

Rancangan tampilan halaman postingan dapat di lihat pada gambar 3.23 di

bawah ini :

Gambar 3.23 Rancangan Tampilan Halaman Postingan

10.

Rancangan Tampilan Halaman Tambah Postingan

Rancangan tampilan halaman tambah postingan dapat dilihat pada gambar

3.24 di bawah ini :

[image:62.595.123.480.515.722.2]
(63)

36

11.

Rancangan Tampilan Halaman Daftar Permintaan Join

Rancangan tampilan halaman daftar permintaan join dapat dilihat pada

gambar 3.25 di bawah ini :

Gambar 3.25 Rancangan Tampilan Halaman Daftar Permintaan Join

12.

Rancangan Tampilan Halaman Minta Join

[image:63.595.121.475.500.729.2]

Rancangan tampilan halaman minta join dapat dilihat pada gambar 3.26 di

bawah ini :

(64)

37

13.

Rancangan Tampilan Halaman Ruang Diskusi Terbuka

[image:64.595.122.482.159.526.2]

Rancangan tampilan halaman ruang diskusi terbuka dapat dilihat pada

gambar 3.27 di bawah ini :

(65)

38

14.

Rancangan Tampilan Halaman Laporkan Komentar

Rancangan tampilan halaman laporkan komentar dapat dilihat pada

gambar 3.29 di bawah ini :

Gambar 3.29 Rancangan Tampilan Halaman Laporkan Komentar

15.

Rancangan Tampilan Halaman Komentar Yang Di Blokir

Rancangan tampilan halaman komentar yang di blokir dapat dilihat pada

gambar 3.30 di bawah ini :

(66)

39

16.

Rancangan Tampilan Halaman Edit Profil User

[image:66.595.121.469.152.376.2]

Rancangan tampilan halaman edit profil user dapat dilihat pada gambar

3.31 di bawah ini :

(67)

40

BAB 4

Gambar

Gambar 3.4 DFD Level 0 Aplikasi Forum Diskusi Online
Tabel 3.1 Tabel join
Tabel Laporan
Gambar 3.5 Relasi Tabel
+7

Referensi

Dokumen terkait

Pada Tugas Akhir ini telah dibuat suatu sistem yang memiliki fasilitas login, beranda, mading atau berita, update status, galeri foto, dan forum diskusi..

Di halaman ini User bisa melihat daftar Galeri yang sudah di upload oleh.. Admin atau User yang

Gambar 3.66 State Transition Diagram Halaman Admin-Forum Buat Ubah.

desain logo, user mengirimkan pesan ke admin untuk informasi mengubah atau mengedit. User bisa memesan logo, lalu melakukan pembayaran dan user harus konfirmasi pembayaran jika

Setelah admin memasukkan user id dan password yang benar maka admin akan masuk ke menu utama dari web tersebut dapat dilihat pada gambar 4 berikut. Pada halaman ini terdapat

Pada halaman user member dapat mengisi formulir online penarikan uang, cek saldo, dan mengirim testimonial, sedangkan pada halaman admin dapat digunakan untuk melihat

Forum diskusi pada media e-learning ini dapat meningkatkan interaksi antara peserta didik dengan pengajar yang lebih dibandingkan dengan pendidikan konvensional,

Gambar 3.3 Activity Diagram Laporan Dalam gambar 3.3 dijelaskan bahwa user dapat melihat jadwal yang sudah dilakukan approval oleh admin dengan cara login ke