diff --git a/addMateri.php b/addMateri.php
index 1fade7c88091860c3b5b1b2e3d02fd399a8941b1..ebe93ce8b504e57b7de5b89aa73fd1618f5fdba5 100755
--- a/addMateri.php
+++ b/addMateri.php
@@ -122,4 +122,4 @@ $stmt->execute();
 $stmt->close();
 $conn->close();
 
-echo 'Sukses, materi ' . $judul . 'berhasil ditambahkan';
+echo 'Materi ' . $judul . ' berhasil ditambahkan';
diff --git a/addPengumuman.php b/addPengumuman.php
index d545f54f93e239a226d3fd9ac1ecb9d5cf497fe1..d5e4b36894506af0446ad3a3c57e18876366e59a 100755
--- a/addPengumuman.php
+++ b/addPengumuman.php
@@ -96,5 +96,5 @@ $row = $stmt->fetch_assoc();
 
 $conn->close();
 
-\pmotraining\FirebaseNotif::sendNotif("Ada pengumuman baru", $judul, 0, $row["max"]);
+//\pmotraining\FirebaseNotif::sendNotif("Ada pengumuman baru", $judul, 0, $row["max"]);
 echo 'Sukses, pengumuman ' . $judul . ' berhasil ditambahkan.';
diff --git a/addQuote.php b/addQuote.php
index 4c4c59917e22d2eeb455a99df1b4c2eec3705087..773a131d61ed45a8ce59702ee5fb8362fc63c4c1 100755
--- a/addQuote.php
+++ b/addQuote.php
@@ -29,7 +29,7 @@ $konten = $_POST["konten"];
 date_default_timezone_set(date_default_timezone_get());
 $date = date('Y/m/d H:i:s', time());
 $temp_tanggal = implode("", $res[0]);
-print($temp_tanggal);
+//print($temp_tanggal);
 $date = date_create($temp_tanggal);
 date_add($date, date_interval_create_from_date_string('7 days'));
 
diff --git a/admin/css/alert.css b/admin/css/alert.css
new file mode 100644
index 0000000000000000000000000000000000000000..06e12d108b2a2f4f1048bd179dc32bb152df29be
--- /dev/null
+++ b/admin/css/alert.css
@@ -0,0 +1,65 @@
+#alert-modal {
+  min-width: fit-content;
+}
+
+.alert {
+  display: none; /* Hidden by default */
+  position: fixed; /* Stay in place */
+  z-index: 1; /* Sit on top */
+  left: 0;
+  top: 0;
+  width: 100%; /* Full width */
+  height: 100%; /* Full height */
+  overflow: auto; /* Enable scroll if needed */
+  background-color: rgb(0,0,0); /* Fallback color */
+  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
+}
+
+.alert-content {
+  background-color: #fefefe;
+  margin: 15% auto; /* 15% from the top and centered */
+  padding: 20px;
+  border: 1px solid #888;
+  width: 50%;
+}
+
+.align-right {
+  text-align: right;
+}
+
+.alert-close {
+  color: gray;
+  font-size: 100%;
+  font-weight: bold;
+}
+
+.alert-image {
+  width: 80%;
+}
+
+.alert-close:hover,
+.alert-close:focus {
+    color: black;
+    text-decoration: none;
+    cursor: pointer;
+}
+
+#alert-modal .grid-layout {
+  grid-template-columns: 125px 1fr;
+  text-align: center;
+}
+
+#alert-cross {
+  margin-left: auto;
+  margin-right: auto;
+}
+
+#alert-message {
+  margin-top: auto;
+  margin-bottom: auto;
+  font-size: 80%;
+}
+
+#alert-header {
+  font-weight: bold;
+}
\ No newline at end of file
diff --git a/admin/css/dashboard.css b/admin/css/dashboard.css
index a7697c2c55483b2c499bf129bf5e72aa05df1b93..60ac91abb15da50435f3188f6ee93aa3798527fe 100755
--- a/admin/css/dashboard.css
+++ b/admin/css/dashboard.css
@@ -11,6 +11,11 @@ body {
     height: 16px;
     vertical-align: text-bottom;
   }
+
+  .img-thumbnail{
+    padding: 5px;
+    border: none;
+  }
   
   /*
    * Sidebar
@@ -31,7 +36,7 @@ body {
     position: sticky;
     top: 48px; /* Height of navbar */
     height: calc(100vh - 48px);
-    padding-top: .5rem;
+    padding-top: 48px;
     overflow-x: hidden;
     overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
   }
@@ -88,6 +93,34 @@ body {
     border-color: transparent;
     box-shadow: 0 0 0 3px rgba(255, 255, 255, .25);
   }
+
+  .navbar-collapse .nav-link {
+    color: #fff;
+  }
+
+  .navbar-collapse .nav-link.active {
+    color: #007bff;
+  }
+
+  .navbar-collapse .nav-link .feather {
+    margin-right: 4px;
+    color: #999;
+  }
+
+  .navbar-collapse .nav-link:hover .feather,
+  .navbar-collapse .nav-link.active .feather {
+    color: inherit;
+  }
+  
+  .small-nav-dark {
+    background-color: #343a40;
+    box-shadow: inset 0px 0 0 rgba(0, 0, 0, 0);
+  }
+
+  .unstyled-button {
+    border: none;
+    background: none;
+  }
   
   /*
    * Utilities
diff --git a/admin/images/cross-red.jpg b/admin/images/cross-red.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..aaa628222112007c66a017ac86f57a8ba8a29410
Binary files /dev/null and b/admin/images/cross-red.jpg differ
diff --git a/admin/images/green-check.jpg b/admin/images/green-check.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..d80d16104b0bfeb43c6de602e7e08fffd8ddd656
Binary files /dev/null and b/admin/images/green-check.jpg differ
diff --git a/admin/index.html b/admin/index.html
index 0e70decfa268d544163204aa60862df475f9313f..0d1eba528f569a76600556a89fcc7c2c88bcb920 100755
--- a/admin/index.html
+++ b/admin/index.html
@@ -18,13 +18,63 @@
   </head>
 
   <body>
-    <nav class="navbar navbar-dark sticky-top bg-dark flex-md-nowrap p-0">
-      <a class="navbar-brand col-sm-3 col-md-2 mr-0" href="#">Komunitas PMO</a>
+
+    <!-- Menu untuk mobile-->
+    <nav class="navbar navbar-dark sticky-top bg-dark flex-md-nowrap p-0 d-block d-sm-block d-md-none">   
+      <button class="navbar-toggler unstyled-button" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
+        <span class="navbar-toggler-icon"></span>
+      </button>
+      <a class="navbar-brand small-nav-dark" href="#">Komunitas PMO</a>
+      <div class="collapse navbar-collapse" id="navbarSupportedContent">
+        <ul class="nav flex-column">
+          <li class="nav-item">
+            <a class="nav-link active" href="#" id="home-click">
+              <span data-feather="home"></span>
+              Dashboard <span class="sr-only">(current)</span>
+            </a>
+          </li>
+          <li class="nav-item">
+            <a class="nav-link" href="#" id="materi-click">
+              <span data-feather="file"></span>
+               Materi
+            </a>
+          </li>
+          <li class="nav-item">
+            <a class="nav-link" href="#" id="pengumuman-click">
+              <span data-feather="clipboard"></span>
+              Pengumuman
+            </a>
+          </li>
+          <li class="nav-item">
+            <a class="nav-link" href="#" id="kegiatan-click">
+              <span data-feather="star"></span>
+              Kegiatan
+            </a>
+          </li>
+          <li class="nav-item">
+            <a class="nav-link" href="#" id="kalender-click">
+              <span data-feather="calendar"></span>
+              Kalender
+            </a>
+          </li>
+          <li class="nav-item">
+            <a class="nav-link" href="#" id="quotes-click">
+              <span data-feather="hash"></span>
+              Quotes
+            </a>
+          </li>
+        </ul>
+      </div>
+    </nav>
+
+    <!-- navbar untuk desktop -->
+    <nav class="navbar navbar-dark sticky-top bg-dark flex-md-nowrap p-0 d-none d-sm-none d-md-block">
+      <a class="navbar-brand col-lg-2 col-md-3 mr-0" href="#">Komunitas PMO</a>
     </nav>
 
     <div class="container-fluid">
       <div class="row">
-        <nav class="col-md-2 d-none d-md-block bg-light sidebar" id="navigation-panel">
+        <nav class="col-lg-2 col-md-3 d-none d-sm-none d-md-block bg-light sidebar" id="navigation-panel">
           <div class="sidebar-sticky">
             <ul class="nav flex-column">
               <li class="nav-item">
@@ -87,30 +137,23 @@
     
     <!-- <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
     <script src="js/bootstrap.min.js"></script> -->
-    <script  src="https://code.jquery.com/jquery-3.3.1.min.js"
-  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
-  crossorigin="anonymous"></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
-<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
-<script src="https://unpkg.com/feather-icons/dist/feather.min.js"></script>
-<script src="http://malsup.github.com/jquery.form.js"></script> 
-      <script>
+    <script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
+    <script src="https://unpkg.com/feather-icons/dist/feather.min.js"></script>
+    <script src="http://malsup.github.com/jquery.form.js"></script> 
+    <script>
       $(document).ready(function(){
-    
-        
         feather.replace();
-        
       });
-      </script>
-    <script src="js/main.js"></script>
-    
 
-    <!-- Icons -->
-    
-    <script>
-      
-    </script>
+      // close toggle if item clicked
+      $('#navbarSupportedContent').on('click', function() {
+        $('.navbar-toggler').click();
+      })
+      </script>
 
+    <script src="js/main.js"></script>
     
   </body>
 </html>
diff --git a/admin/kalender.html b/admin/kalender.html
index 3a7ca77acfe11ed177859a49f80b05af0f16dd27..f71d89bf2fdd597ef5929d2cc2f8b345a019112f 100755
--- a/admin/kalender.html
+++ b/admin/kalender.html
@@ -1,3 +1,7 @@
+<head>
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <link rel="stylesheet" href="css/alert.css" type="text/css">
+</head>
 <div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pb-2 mb-3 border-bottom">
     <h1 class="h2" id="title">Kalender</h1>
     <div class="btn-toolbar mb-2 mb-md-0">
@@ -5,6 +9,24 @@
     </div>
   </div>
 
+<!-- Modal -->
+<div id="alert-modal" class="alert">
+  <div class="alert-content">
+    <div class="align-right">
+      <span class="alert-close">&times;</span>
+    </div>
+    <div class="grid-layout">
+      <div id="alert-cross">
+        <img id="alert-image">
+      </div>
+      <div id="alert-message">
+        <div id="alert-header"></div>
+        <div id="alert-text"></div>
+      </div>
+    </div>
+  </div>
+</div>
+
   <form method="POST" id="upload_form" enctype="multipart/form-data">
     <div class="form-group">
       <label for="usr">Nama:</label>
@@ -19,11 +41,50 @@
   </form>
   
   <script>
-    $('#upload_form').on('submit', function(e){
+    var nama = document.getElementById("nama");
+    var tanggal = document.getElementById("tanggal");
+    var alertModal = document.getElementById('alert-modal');
+    var alertCloseBtn = document.getElementsByClassName('alert-close')[0];
+    var alertText = document.getElementById('alert-text');
+    var alertImage = document.getElementById('alert-image');
+    var alertHeader = document.getElementById('alert-header');
+
+    $('#upload_form').on('submit', function (e) {
       e.preventDefault();
-      $.post("../addKalender.php", $("#upload_form").serialize() ).done(function (data) {
-        alert(data);
-        $("#upload_form")[0].reset();
-      });
+      var teks ="";
+      alertHeader.innerHTML = "Gagal!";
+      alertImage.src="images/cross-red.jpg";
+      if(!nama.value){
+        teks+="Nama";
+      }
+      if(!tanggal.value){
+        if(teks!=""){
+          teks+=", ";
+        }
+        teks+="Tanggal";
+      }
+      if(teks!=""){
+        alertText.innerHTML = teks + " tidak boleh kosong.";
+        alertModal.style.display = 'block';
+      }
+      else{
+        $.post("../addKalender.php", $("#upload_form").serialize()).done(function (data) {
+          alertImage.src="images/green-check.jpg";
+          alertHeader.innerHTML = "Sukses!";
+          alertText.innerHTML = data;
+          alertModal.style.display = 'block';
+          $("#upload_form")[0].reset();
+        });
+      }
+    });
+
+    alertCloseBtn.addEventListener('click', function() {
+      alertModal.style.display = 'none';
     });
+  
+    window.onclick = function(event) {
+      if (event.target == alertModal) {
+        alertModal.style.display = "none";
+      }
+    }
   </script>
\ No newline at end of file
diff --git a/admin/kegiatan.html b/admin/kegiatan.html
index a855d71ef725447dd9581fb94cfb2764573cea0e..82d417bf141cd638818a429862c412d9d20d99bf 100755
--- a/admin/kegiatan.html
+++ b/admin/kegiatan.html
@@ -1,11 +1,15 @@
+<head>
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <link rel="stylesheet" href="css/alert.css" type="text/css">
+</head>
 <div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pb-2 mb-3 border-bottom">
   <h1 class="h2">Kegiatan</h1>
   <div class="btn-toolbar mb-2 mb-md-0">
-    
+
   </div>
 </div>
 
-<form action="../addKegiatan.php" method="POST" id="upload_form" enctype="multipart/form-data">
+<form method="POST" id="upload_form" enctype="multipart/form-data">
   <div class="form-group">
     <label for="usr">Nama Kegiatan:</label>
     <input type="text" class="form-control" id="nama_kegiatan" name="nama_kegiatan">
@@ -19,45 +23,123 @@
     <textarea class="form-control" rows="5" id="deskripsi_acara" name="deskripsi_acara" value="" placeholder="Kosongkan bila tidak ada deskripsi acara"></textarea>
   </div>
   <div class="form-group">
-      <label><input type="checkbox" value="" id="isTanggal">Sudah ada tanggal? </label>
-      <input type="hidden" class="form-control" id="chx-helper" name="isTanggal" value="0">
-      <input type="date" class="form-control" id="tanggal_kegiatan" name="tanggal_kegiatan" disabled>
+    <label><input type="checkbox" value="" id="isTanggal">Sudah ada tanggal? </label>
+    <input type="hidden" class="form-control" id="chx-helper" name="isTanggal" value="0">
+    <input type="date" class="form-control" id="tanggal_kegiatan" name="tanggal_kegiatan" disabled>
   </div>
   <div class="form-group">
-      <label><input type="checkbox" value="" id="isTempat">Sudah ada tempat? </label>
-      <input type="hidden" class="form-control" id="chx2-helper" name="isTempat" value="0">
-      <input type="text" class="form-control" id="lokasi_kegiatan" name="lokasi_kegiatan" disabled>
+    <label><input type="checkbox" value="" id="isTempat">Sudah ada tempat? </label>
+    <input type="hidden" class="form-control" id="chx2-helper" name="isTempat" value="0">
+    <input type="text" class="form-control" id="lokasi_kegiatan" name="lokasi_kegiatan" disabled>
   </div>
   <button type="submit" class="btn btn-default">Kirim</button>
 
 </form>
 
+<!-- Modal -->
+<div id="alert-modal" class="alert">
+  <div class="alert-content">
+    <div class="align-right">
+      <span class="alert-close">&times;</span>
+    </div>
+    <div class="grid-layout">
+      <div id="alert-cross">
+        <img id="alert-image">
+      </div>
+      <div id="alert-message">
+        <div id="alert-header"></div>
+        <div id="alert-text"></div>
+      </div>
+    </div>
+  </div>
+</div>
+
 <script>
-   $('#isTanggal').change(function(){
+  var nama_kegiatan = document.getElementById("nama_kegiatan");
+  var target_peserta = document.getElementById("target_peserta");
+  var deskripsi_acara = document.getElementById("deskripsi_acara");
+  var isTanggal = document.getElementById("isTanggal");
+  var tanggal_kegiatan = document.getElementById("tanggal_kegiatan");
+  var isTempat = document.getElementById("isTempat");
+  var lokasi_kegiatan = document.getElementById("lokasi_kegiatan");
+  var alertModal = document.getElementById('alert-modal');
+  var alertCloseBtn = document.getElementsByClassName('alert-close')[0];
+  var alertText = document.getElementById('alert-text');
+  var alertImage = document.getElementById('alert-image');
+  var alertHeader = document.getElementById('alert-header');
+
+  $('#isTanggal').change(function () {
     if (this.checked) {
       $("#tanggal_kegiatan").removeAttr("disabled");
       $("#chx-helper").val(1);
     } else {
-      $("#tanggal_kegiatan").attr("disabled","true");
+      $("#tanggal_kegiatan").attr("disabled", "true");
       $("#chx-helper").val(0);
     }
   });
 
-  $('#isTempat').change(function(){
+  $('#isTempat').change(function () {
     if (this.checked) {
       $("#lokasi_kegiatan").removeAttr("disabled");
       $("#chx2-helper").val(1);
     } else {
-      $("#lokasi_kegiatan").attr("disabled","true");
+      $("#lokasi_kegiatan").attr("disabled", "true");
       $("#chx2-helper").val(0);
     }
   });
 
-  $('#upload_form').on('submit', function(e){
+  $('#upload_form').on('submit', function (e) {
     e.preventDefault();
-    att = $("upload_form").attr("action") ;
-    $.post("../addKegiatan.php", $("#upload_form").serialize() ).done(function (data) {
-      alert(data);
-    });
+    var teks="";
+    alertHeader.innerHTML = "Gagal!";
+    alertImage.src="images/cross-red.jpg";
+    if(!nama_kegiatan.value){
+      teks+="Nama Kegiatan";
+    }
+    if(!target_peserta.value){
+      if(teks!=""){
+        teks+=", ";
+      }
+      teks+="Target Peserta";
+    }
+    if(isTanggal.checked){
+      if(!tanggal_kegiatan.value){
+        if(teks!=""){
+          teks+=", ";
+        }
+        teks+="Tanggal Kegiatan";
+      }
+    }
+    if(isTempat.checked){
+      if(!tanggal_kegiatan.value){
+        if(teks!=""){
+          teks+=", ";
+        }
+        teks+="Lokasi Kegiatan";
+      }
+    }
+    if(teks!=""){
+      alertText.innerHTML = teks + " tidak boleh kosong.";
+      alertModal.style.display = 'block';
+    }
+    else{
+      $.post("../addKegiatan.php", $("#upload_form").serialize()).done(function (data) {
+        alertImage.src="images/green-check.jpg";
+        alertHeader.innerHTML = "Sukses!";
+        alertText.innerHTML = data;
+        alertModal.style.display = 'block';
+        $("#upload_form")[0].reset();
+      });
+    }
   });
-</script>
+
+  alertCloseBtn.addEventListener('click', function() {
+    alertModal.style.display = 'none';
+  });
+  
+  window.onclick = function(event) {
+    if (event.target == alertModal) {
+      alertModal.style.display = "none";
+    }
+  }
+</script>
\ No newline at end of file
diff --git a/admin/materi.html b/admin/materi.html
index 4807e5887518545adc088d9f1101a35364998c4c..f389e40c42eefe93409893efa5d2c0777932a6c1 100755
--- a/admin/materi.html
+++ b/admin/materi.html
@@ -1,3 +1,7 @@
+<head>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <link rel="stylesheet" href="css/alert.css" type="text/css">
+  </head>
 <div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pb-2 mb-3 border-bottom">
   <h1 class="h2">Materi</h1>
   <div class="btn-toolbar mb-2 mb-md-0">
@@ -5,16 +9,16 @@
   </div>
 </div>
 
-<form action="../addMateri.php" method="POST" id="upload_form" enctype="multipart/form-data">
+<form method="POST" id="upload_form" enctype="multipart/form-data">
   <div class="form-group">
     <label for="usr">Topik:</label>
     <div class="radio">
-      <label><input type="radio" name="optradio" value="new">Tambah Baru</label>
+      <label><input type="radio" name="optradio" id="optradio" value="new">Tambah Baru</label>
 
       <input type="text" id="new" name="topik" disabled>
     </div>
     <div class="radio">
-      <label><input type="radio" name="optradio" value="exist">Pilih dari yang sudah ada</label>
+      <label><input type="radio" name="optradio" id="optradio1" value="exist">Pilih dari yang sudah ada</label>
       <select id="sel1" name="topik" disabled>
 
       </select>
@@ -48,7 +52,36 @@
 </div>
 </div>
 
+<!-- Modal -->
+<div id="alert-modal" class="alert">
+    <div class="alert-content">
+      <div class="align-right">
+        <span class="alert-close">&times;</span>
+      </div>
+      <div class="grid-layout">
+        <div id="alert-cross">
+          <img id="alert-image">
+        </div>
+        <div id="alert-message">
+          <div id="alert-header"></div>
+          <div id="alert-text"></div>
+        </div>
+      </div>
+    </div>
+  </div>
+
 <script>
+  var optradio = document.getElementById("optradio");
+  var _new = document.getElementById("new");
+  var optradio1 = document.getElementById("optradio1");
+  var sel1 = document.getElementById("sel1");
+  var judul = document.getElementById("judul");
+  var alertModal = document.getElementById('alert-modal');
+  var alertCloseBtn = document.getElementsByClassName('alert-close')[0];
+  var alertText = document.getElementById('alert-text');
+  var alertImage = document.getElementById('alert-image');
+  var alertHeader = document.getElementById('alert-header');
+
   $.getJSON("../getAllTopik.php",function(data){
     var select = document.getElementById("sel1");
     $.each(data, function(){
@@ -108,24 +141,56 @@
       complete: function(xhr) {
         $('#progbar').addClass('d-none');
         $('#upload_form').removeClass('d-none');
-        alert(xhr.responseText);
+        //alert(xhr.responseText);
       }
     }); 
-  // $("#upload_form").on("submit", function(e){
-  //   e.preventDefault();
-  //   $.ajax({
-  //     url: "../addMateri.php", // Url to which the request is send
-  //     type: "POST",             // Type of request to be send, called as method
-  //     data: new FormData(this), // Data sent to server, a set of key/value pairs (i.e. form fields and values)
-  //     contentType: false,       // The content type used when sending data to the server.
-  //     cache: false,             // To unable request pages to be cached
-  //     processData:false,        // To send DOMDocument or non processed data file it is set to false
-  //     success: function(data)   // A function to be called if request succeeds
-  //     {
-  //       // lakukan pemanggilan api notifikasi
-  //       alert(data);
-  //     }
-  //   });
-  // });
+
+   $("#upload_form").on("submit", function(e){
+     e.preventDefault();
+     var teks="";
+     alertHeader.innerHTML = "Gagal!";
+     alertImage.src="images/cross-red.jpg";
+     if((!optradio.checked && !optradio1.checked) || (optradio.checked && !_new.value)) {
+      teks+="Topik";
+    }
+    if(!judul.value){
+      if(teks!=""){
+        teks+=", ";
+      }
+      teks+="Judul";
+    }
+    if(teks!=""){
+      alertText.innerHTML = teks + " tidak boleh kosong.";
+      alertModal.style.display = 'block';
+    }
+    else {
+     $.ajax({
+       url: "../addMateri.php", // Url to which the request is send
+       type: "POST",             // Type of request to be send, called as method
+       data: new FormData(this), // Data sent to server, a set of key/value pairs (i.e. form fields and values)
+       contentType: false,       // The content type used when sending data to the server.
+       cache: false,             // To unable request pages to be cached
+       processData:false,        // To send DOMDocument or non processed data file it is set to false
+       success: function(data)   // A function to be called if request succeeds
+       {
+         // lakukan pemanggilan api notifikasi
+         alertImage.src="images/green-check.jpg";
+          alertHeader.innerHTML = "Sukses!";
+          alertText.innerHTML = data;
+          alertModal.style.display = 'block';
+          $("#upload_form")[0].reset();
+       }
+     });
+    }
+   });
     
+  alertCloseBtn.addEventListener('click', function() {
+    alertModal.style.display = 'none';
+  });
+  
+  window.onclick = function(event) {
+    if (event.target == alertModal) {
+      alertModal.style.display = "none";
+    }
+  }
 </script>
\ No newline at end of file
diff --git a/admin/peng-tambah.html b/admin/peng-tambah.html
index b93f2af7265a01b0edeff3b32aad8640757acce5..400f2e06b4e8433b950003936b997f7f57263ad4 100755
--- a/admin/peng-tambah.html
+++ b/admin/peng-tambah.html
@@ -1,94 +1,163 @@
+<head>
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <link rel="stylesheet" href="css/alert.css" type="text/css">
+</head>
 <form action="../addPengumuman.php" method="POST" id="upload_form" enctype="multipart/form-data">
   <div class="form-group">
     <label for="usr">Judul:</label>
     <input type="text" class="form-control" id="judul" name="judul">
   </div>
   <div class="form-group">
-      <label for="comment">Kegiatan terkait:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</label>
-      <input type="hidden" name="kegiatan_id" value="-1">
-      <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown" id="list-button">Empty
-          <span data-feather="calendar"></span></button>
-          <ul class="dropdown-menu" id="list">
+    <label for="comment">Kegiatan terkait:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</label>
+    <input type="hidden" name="kegiatan_id" value="-1">
+    <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown" id="list-button">Empty
+      <span data-feather="calendar"></span></button>
+    <ul class="dropdown-menu" id="list">
 
-          </ul>  
-    </div>
+    </ul>
+  </div>
   <div class="form-group">
     <label for="comment">Konten:</label>
     <textarea class="form-control" rows="5" id="konten" name="konten_text" value="" placeholder="Kosongkan bila tidak ada konten"></textarea>
   </div>
   <div class="form-group">
-      <label><input type="checkbox" value="" id="isUpload">Upload gambar? </label>
-      <input type="hidden" class="form-control" id="chx-helper" name="isUpload" value="0">
-      <input class="input-file d-none" id="fileInput" type="file" name="file">
+    <label><input type="checkbox" value="" id="isUpload">Upload gambar? </label>
+    <input type="hidden" class="form-control" id="chx-helper" name="isUpload" value="0">
+    <input class="input-file d-none" id="fileInput" type="file" name="file" onchange="previewFile()">
+  </div>
+  <div class="form-group">
+    <img src="" class="img-thumbnail d-none col-sm-2 col-md-3 col-lg-2" id="imgThumbnail">  
   </div>
-  <button type="submit" class="btn btn-default">Kirim</button>
+  <button type="submit" class="btn btn-default" onsubmit="return validate()">Kirim</button>
 
 </form>
 
+<!-- Modal -->
+<div id="alert-modal" class="alert">
+  <div class="alert-content">
+    <div class="align-right">
+      <span class="alert-close">&times;</span>
+    </div>
+    <div class="grid-layout">
+      <div id="alert-cross">
+        <img id="alert-image">
+      </div>
+      <div id="alert-message">
+        <div id="alert-header"></div>
+        <div id="alert-text"></div>
+      </div>
+    </div>
+  </div>
+</div>
+
 <script>
-  $('#isUpload').change(function(){
+  var judul = document.getElementById("judul");
+  var alertModal = document.getElementById('alert-modal');
+  var alertCloseBtn = document.getElementsByClassName('alert-close')[0];
+  var alertText = document.getElementById('alert-text');
+  var alertImage = document.getElementById('alert-image');
+  var alertHeader = document.getElementById('alert-header');
+
+  function previewFile() {
+    var preview = document.querySelector('img');
+    var file    = document.querySelector('input[type=file]').files[0];
+    var reader  = new FileReader();
+
+    reader.onloadend = function () {
+      preview.src = reader.result;
+    }
+
+    if (file) {
+      reader.readAsDataURL(file);
+      $("#imgThumbnail").removeClass("d-none");
+    } else {
+      preview.src = "";
+    }
+  }
+
+  $('#isUpload').change(function () {
     if (this.checked) {
       $("#fileInput").removeClass("d-none");
       $("#chx-helper").val(1);
     } else {
       $("#fileInput").addClass("d-none");
+      $("#imgThumbnail").addClass("d-none");
       $("#chx-helper").val(0);
     }
   });
-    
-  $("#upload_form").on("submit", function(e){
+
+  $("#upload_form").on("submit", function (e) {
     e.preventDefault();
-    $.ajax({
-      url: "../addPengumuman.php", // Url to which the request is send
-      type: "POST",             // Type of request to be send, called as method
-      data: new FormData(this), // Data sent to server, a set of key/value pairs (i.e. form fields and values)
-      contentType: false,       // The content type used when sending data to the server.
-      cache: false,             // To unable request pages to be cached
-      processData:false,        // To send DOMDocument or non processed data file it is set to false
-      success: function(data)   // A function to be called if request succeeds
-      {
-        // lakukan pemanggilan api notifikasi
-        alert(data);
-      }
-    });
+    if (judul.value.trim() === "") { // mengecek apakah judul kosong
+      alertHeader.innerHTML = "Gagal!";
+      alertImage.src="images/cross-red.jpg";
+      alertText.innerHTML = "Judul Kegiatan tidak boleh kosong.";
+      alertModal.style.display = 'block';
+    } else {
+      $.ajax({
+        url: "../addPengumuman.php", // Url to which the request is send
+        type: "POST",             // Type of request to be send, called as method
+        data: new FormData(this), // Data sent to server, a set of key/value pairs (i.e. form fields and values)
+        contentType: false,       // The content type used when sending data to the server.
+        cache: false,             // To unable request pages to be cached
+        processData: false,        // To send DOMDocument or non processed data file it is set to false
+        success: function (data)   // A function to be called if request succeeds
+        {
+          // lakukan pemanggilan api notifikasi
+          alertImage.src="images/green-check.jpg";
+          alertHeader.innerHTML = "Sukses!";
+          alertText.innerHTML = data;
+          alertModal.style.display = 'block';
+        }
+      });
+    }
   });
 
-    $.getJSON("../getAllKegiatan.php",function(data){
-                // bikin buat data empty
-                var newJudul = document.createElement("li");
-                var ahref = document.createElement("a");
-                ahref.innerHTML = "Empty";
-                var nama_kegiatan = "Empty"
-                var id_kegiatan = -1;
-                ahref.href = "#";
-                var id = this.id;
-                $("input[name=kegiatan_id").val(id_kegiatan);
-                $("#list-button").html(nama_kegiatan);
-                ahref.onclick = function(e) {
-                  e.preventDefault();
-                }
-                newJudul.appendChild(ahref);
-                $("#list").append(newJudul);
-                    
-                $.each(data, function(){
-                    newJudul = document.createElement("li");
-                    ahref = document.createElement("a");
-                    ahref.innerHTML = this.nama_kegiatan;
-                    nama_kegiatan = this.nama_kegiatan;
-                    id_kegiatan = this.id_kegiatan;
-                    ahref.href = "#";
-                    id = this.id;
-                    ahref.onclick = function(e) {
-                        e.preventDefault();
-                        $("input[name=kegiatan_id").val(id_kegiatan);
-                        $("#list-button").html(this.innerHTML);
-                        
-                        
-                    }
-                    newJudul.appendChild(ahref);
-                    $("#list").append(newJudul);
-                    
-                })
-            }); 
+  $.getJSON("../getAllKegiatan.php", function (data) {
+    // bikin buat data empty
+    var newJudul = document.createElement("li");
+    var ahref = document.createElement("a");
+    ahref.innerHTML = "Empty";
+    var nama_kegiatan = "Empty"
+    var id_kegiatan = -1;
+    ahref.href = "#";
+    var id = this.id;
+    $("input[name=kegiatan_id").val(id_kegiatan);
+    $("#list-button").html(nama_kegiatan);
+    ahref.onclick = function (e) {
+      e.preventDefault();
+    }
+    newJudul.appendChild(ahref);
+    $("#list").append(newJudul);
+
+    $.each(data, function () {
+      newJudul = document.createElement("li");
+      ahref = document.createElement("a");
+      ahref.innerHTML = this.nama_kegiatan;
+      nama_kegiatan = this.nama_kegiatan;
+      id_kegiatan = this.id_kegiatan;
+      ahref.href = "#";
+      id = this.id;
+      ahref.onclick = function (e) {
+        e.preventDefault();
+        $("input[name=kegiatan_id").val(id_kegiatan);
+        $("#list-button").html(this.innerHTML);
 
+
+      }
+      newJudul.appendChild(ahref);
+      $("#list").append(newJudul);
+
+    })
+  });
+
+  alertCloseBtn.addEventListener('click', function() {
+    alertModal.style.display = 'none';
+  });
+  
+  window.onclick = function(event) {
+    if (event.target == alertModal) {
+      alertModal.style.display = "none";
+    }
+  }
 </script>
\ No newline at end of file
diff --git a/admin/quotes.html b/admin/quotes.html
index 1f5cc99443def1cb8e6dd165710f82ac839a4596..b8cd32d376770743f47d4c42fd30a5c09c375165 100755
--- a/admin/quotes.html
+++ b/admin/quotes.html
@@ -1,7 +1,11 @@
+<head>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <link rel="stylesheet" href="css/alert.css" type="text/css">
+  </head>
 <div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pb-2 mb-3 border-bottom">
   <h1 class="h2">Quote</h1>
   <div class="btn-toolbar mb-2 mb-md-0">
-    
+
   </div>
 </div>
 
@@ -18,14 +22,55 @@
 
 </form>
 
+<!-- Modal -->
+<div id="alert-modal" class="alert">
+    <div class="alert-content">
+      <div class="align-right">
+        <span class="alert-close">&times;</span>
+      </div>
+      <div class="grid-layout">
+        <div id="alert-cross">
+          <img id="alert-image">
+        </div>
+        <div id="alert-message">
+          <div id="alert-header"></div>
+          <div id="alert-text"></div>
+        </div>
+      </div>
+    </div>
+  </div>
+
 <script>
+  var konten = document.getElementById('konten');
+  var author = document.getElementById('author');
+  var alertModal = document.getElementById('alert-modal');
+    var alertCloseBtn = document.getElementsByClassName('alert-close')[0];
+    var alertText = document.getElementById('alert-text');
+    var alertImage = document.getElementById('alert-image');
+    var alertHeader = document.getElementById('alert-header');
 
-$('#upload_form').on('submit', function(e){
-  e.preventDefault();
-  $.post("../addQuote.php", $("#upload_form").serialize() ).done(function (data) {
-    alert(data);
-    $("#upload_form")[0].reset();
+  $('#upload_form').on('submit', function (e) {
+    e.preventDefault();
+    alertHeader.innerHTML = "Gagal!";
+      alertImage.src="images/cross-red.jpg";
+    if (author.value.trim() === "" && konten.value.trim() === "") {
+      // BootstrapDialog.alert('Author dan konten tidak boleh kosong!');
+      alertText.innerHTML = "Author dan konten tidak boleh kosong.";
+        alertModal.style.display = 'block';
+    } else if (author.value.trim() === "") {
+      alertText.innerHTML = "Author tidak boleh kosong.";
+        alertModal.style.display = 'block';
+    } else if (konten.value.trim() === "") {
+      alertText.innerHTML = "Konten tidak boleh kosong.";
+        alertModal.style.display = 'block';
+    } else {
+      $.post("../addQuote.php", $("#upload_form").serialize()).done(function (data) {
+        alertImage.src="images/green-check.jpg";
+          alertHeader.innerHTML = "Sukses!";
+          alertText.innerHTML = data;
+          alertModal.style.display = 'block';
+        $("#upload_form")[0].reset();
+      });
+    }
   });
-});
-
 </script>
\ No newline at end of file
diff --git a/admin/sidebar.html b/admin/sidebar.html
index 1794b83323d0c956006a666fcc82eca18d88236e..9cbef19c914bcb270a3cd09732efaa4e30177c8e 100755
--- a/admin/sidebar.html
+++ b/admin/sidebar.html
@@ -1,4 +1,5 @@
 <div class="sidebar-sticky">
+	<div class="row d-none d-sm-none d-md-block">
   <ul class="nav flex-column">
     <li class="nav-item">
       <a class="nav-link active" href="#">
@@ -69,5 +70,5 @@
         Year-end sale
       </a>
     </li>
-  </ul>
+  </ul></div>
 </div>
\ No newline at end of file
diff --git a/dbConnect.php b/dbConnect.php
index f3f89e90ee21aa26a946c2e040d62e5b8b52f31e..831052b11d6c87e04ca05010ff478be08587bc91 100755
--- a/dbConnect.php
+++ b/dbConnect.php
@@ -11,8 +11,8 @@
  */
 
 $servername = "localhost";
-$username = "pmo_training";
-$password = "bukan ayam";
+$username = "root";
+$password = "";
 $dbname = "pmo_training";
 
 // Create connection