diff --git a/addKalender.php b/addKalender.php
index 44e61fcbb379152f3258e495ef97dcae8689b061..a9f45e59b14d8786dde85a3547a586d62369cafc 100755
--- a/addKalender.php
+++ b/addKalender.php
@@ -20,4 +20,4 @@ $stmt->execute();
 $stmt->close();
 $conn->close();
 
-echo "Sukses, agenda " .  $nama . " berhasil ditambahkan.";
+echo "Agenda " .  $nama . " berhasil ditambahkan.";
diff --git a/addKegiatan.php b/addKegiatan.php
index ef2db4450c1737262ee6bc720761feca6fe7b522..15de130a656dd787afd3f3e373f80921a131e8a4 100755
--- a/addKegiatan.php
+++ b/addKegiatan.php
@@ -35,4 +35,4 @@ $stmt->execute();
 $stmt->close();
 $conn->close();
 
-echo 'Sukses, kegiatan ' . $nama_kegiatan . ' berhasil ditambahkan.';
+echo 'Kegiatan ' . $nama_kegiatan . ' berhasil ditambahkan.';
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..e8a2d4605c367ffd801c107b94512fab7b3af20e 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"]);
-echo 'Sukses, pengumuman ' . $judul . ' berhasil ditambahkan.';
+//\pmotraining\FirebaseNotif::sendNotif("Ada pengumuman baru", $judul, 0, $row["max"]);
+echo 'Pengumuman ' . $judul . ' berhasil ditambahkan.';
diff --git a/addQuote.php b/addQuote.php
index 4c4c59917e22d2eeb455a99df1b4c2eec3705087..730152049a07d4bb43aac191bd4463ac15a0edab 100755
--- a/addQuote.php
+++ b/addQuote.php
@@ -29,12 +29,10 @@ $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);
 $date = date_create($temp_tanggal);
 date_add($date, date_interval_create_from_date_string('7 days'));
 
 //$date = strtotime("+1 week", date_create_from_format('Y-m-d H:i:s',$temp_tanggal));
-//print($date);
 $temp_tanggal = $date->format('Y-m-d H:i:s');
 
 $tanggal = $temp_tanggal;
@@ -47,4 +45,4 @@ $stmt->close();
 
 $conn->close();
 
-echo 'Sukses, penambahan quotes "' . $konten . '" berhasil';
+echo 'Penambahan quotes "' . $konten . '" berhasil';
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..ac6ccbe93381ad3f305f956c49f9d81627a57cd7 100755
--- a/admin/css/dashboard.css
+++ b/admin/css/dashboard.css
@@ -1,97 +1,125 @@
 body {
-    font-size: .875rem;
-  }
-
-  .btn {
-    margin-right: 5px;
-  }
-  
-  .feather {
-    width: 16px;
-    height: 16px;
-    vertical-align: text-bottom;
-  }
-  
-  /*
-   * Sidebar
-   */
-  
-  .sidebar {
-    position: fixed;
-    top: 0;
-    bottom: 0;
-    left: 0;
-    z-index: 100; /* Behind the navbar */
-    padding: 0;
-    box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
-  }
-  
-  .sidebar-sticky {
-    position: -webkit-sticky;
-    position: sticky;
-    top: 48px; /* Height of navbar */
-    height: calc(100vh - 48px);
-    padding-top: .5rem;
-    overflow-x: hidden;
-    overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
-  }
-  
-  .sidebar .nav-link {
-    font-weight: 500;
-    color: #333;
-  }
-  
-  .sidebar .nav-link .feather {
-    margin-right: 4px;
-    color: #999;
-  }
-  
-  .sidebar .nav-link.active {
-    color: #007bff;
-  }
-  
-  .sidebar .nav-link:hover .feather,
-  .sidebar .nav-link.active .feather {
-    color: inherit;
-  }
-  
-  .sidebar-heading {
-    font-size: .75rem;
-    text-transform: uppercase;
-  }
-  
-  /*
-   * Navbar
-   */
-  
-  .navbar-brand {
-    padding-top: .75rem;
-    padding-bottom: .75rem;
-    font-size: 1rem;
-    background-color: rgba(0, 0, 0, .25);
-    box-shadow: inset -1px 0 0 rgba(0, 0, 0, .25);
-  }
-  
-  .navbar .form-control {
-    padding: .75rem 1rem;
-    border-width: 0;
-    border-radius: 0;
-  }
-  
-  .form-control-dark {
-    color: #fff;
-    background-color: rgba(255, 255, 255, .1);
-    border-color: rgba(255, 255, 255, .1);
-  }
-  
-  .form-control-dark:focus {
-    border-color: transparent;
-    box-shadow: 0 0 0 3px rgba(255, 255, 255, .25);
-  }
-  
-  /*
-   * Utilities
-   */
-  
-  .border-top { border-top: 1px solid #e5e5e5; }
-  .border-bottom { border-bottom: 1px solid #e5e5e5; }
\ No newline at end of file
+  font-size: .875rem;
+}
+
+.btn {
+  margin-right: 5px;
+}
+
+.feather {
+  width: 16px;
+  height: 16px;
+  vertical-align: text-bottom;
+}
+
+/*
+ * Sidebar
+ */
+
+.sidebar {
+  position: fixed;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 100; /* Behind the navbar */
+  padding: 0;
+  box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
+}
+
+.sidebar-sticky {
+  position: -webkit-sticky;
+  position: sticky;
+  top: 48px; /* Height of navbar */
+  height: calc(100vh - 48px);
+  padding-top: 48px;
+  overflow-x: hidden;
+  overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
+}
+
+.sidebar .nav-link {
+  font-weight: 500;
+  color: #333;
+}
+
+.sidebar .nav-link .feather {
+  margin-right: 4px;
+  color: #999;
+}
+
+.sidebar .nav-link.active {
+  color: #007bff;
+}
+
+.sidebar .nav-link:hover .feather,
+.sidebar .nav-link.active .feather {
+  color: inherit;
+}
+
+.sidebar-heading {
+  font-size: .75rem;
+  text-transform: uppercase;
+}
+
+/*
+ * Navbar
+ */
+
+.navbar-brand {
+  padding-top: .75rem;
+  padding-bottom: .75rem;
+  font-size: 1rem;
+  background-color: rgba(0, 0, 0, .25);
+  box-shadow: inset -1px 0 0 rgba(0, 0, 0, .25);
+}
+
+.navbar .form-control {
+  padding: .75rem 1rem;
+  border-width: 0;
+  border-radius: 0;
+}
+
+.form-control-dark {
+  color: #fff;
+  background-color: rgba(255, 255, 255, .1);
+  border-color: rgba(255, 255, 255, .1);
+}
+
+.form-control-dark:focus {
+  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
+ */
+
+.border-top { border-top: 1px solid #e5e5e5; }
+.border-bottom { border-bottom: 1px solid #e5e5e5; }
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..dc8a8e0d29b691b8cf7a7f05760efe399fd776dd 100755
--- a/admin/index.html
+++ b/admin/index.html
@@ -1,4 +1,3 @@
-
 <!doctype html>
 <html lang="en">
   <head>
@@ -18,13 +17,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 +136,25 @@
     
     <!-- <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..cd565042ca3087558a611891e627ae1aa9a435b3 100755
--- a/admin/kalender.html
+++ b/admin/kalender.html
@@ -1,10 +1,33 @@
-<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pb-2 mb-3 border-bottom">
+<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">
       
     </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>
@@ -17,13 +40,52 @@
     <button type="submit" class="btn btn-default">Kirim</button>
   
   </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..b779415ff2f7debf0237e2346bb1eb823c16e619 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..c09ec65b0ea81979df819628a66840b281e713a1 100755
--- a/admin/materi.html
+++ b/admin/materi.html
@@ -1,3 +1,8 @@
+<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 +10,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 +53,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(){
@@ -88,44 +122,75 @@
     }
   });
 
-    var bar = $('.bar');
+  var bar = $('.bar');
        
-    $('form').ajaxForm({
-        beforeSend: function() {
-            $('#progbar').removeClass('d-none');
-            $('#upload_form').addClass('d-none');
-            var percentVal = '0%';
-            bar.width(percentVal)
-        },
-        uploadProgress: function(event, position, total, percentComplete) {
-            var percentVal = percentComplete + '%';
-            bar.width(percentVal)
-        },
-        success: function() {
-            var percentVal = '100%';
-            bar.width(percentVal)
-        },
-      complete: function(xhr) {
-        $('#progbar').addClass('d-none');
-        $('#upload_form').removeClass('d-none');
-        alert(xhr.responseText);
+  $('form').ajaxForm({
+    beforeSend: function() {
+      $('#progbar').removeClass('d-none');
+      $('#upload_form').addClass('d-none');
+      var percentVal = '0%';
+      bar.width(percentVal)
+    },
+    uploadProgress: function(event, position, total, percentComplete) {
+      var percentVal = percentComplete + '%';
+      bar.width(percentVal)
+    },
+    success: function() {
+      var percentVal = '100%';
+      bar.width(percentVal)
+    },
+    complete: function(xhr) {
+      $('#progbar').addClass('d-none');
+      $('#upload_form').removeClass('d-none');
+    }
+  });
+
+  $("#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+=", ";
       }
-    }); 
-  // $("#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);
-  //     }
-  //   });
-  // });
+      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..a0e466d7095559f3ce5e9698be5e7e0d5682ff4e 100755
--- a/admin/peng-tambah.html
+++ b/admin/peng-tambah.html
@@ -1,32 +1,61 @@
+<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">
   </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');
+
+  $('#isUpload').change(function () {
     if (this.checked) {
       $("#fileInput").removeClass("d-none");
       $("#chx-helper").val(1);
@@ -35,60 +64,79 @@
       $("#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) {
+    // membuat 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..99914ce3e01eff3acd6b030676cd2b52c4a45ef7 100755
--- a/admin/quotes.html
+++ b/admin/quotes.html
@@ -1,31 +1,85 @@
-<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">
-    
+  <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>
-</div>
-
-<form method="POST" id="upload_form">
-  <div class="form-group">
-    <label for="usr">Author:</label>
-    <input type="text" class="form-control" id="author" name="author">
+  
+  <form method="POST" id="upload_form">
+    <div class="form-group">
+      <label for="usr">Author:</label>
+      <input type="text" class="form-control" id="author" name="author">
+    </div>
+    <div class="form-group">
+      <label for="comment">Konten:</label>
+      <textarea class="form-control" rows="5" id="konten" name="konten"></textarea>
+    </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>
-  <div class="form-group">
-    <label for="comment">Konten:</label>
-    <textarea class="form-control" rows="5" id="konten" name="konten"></textarea>
-  </div>
-  <button type="submit" class="btn btn-default">Kirim</button>
-
-</form>
-
-<script>
-
-$('#upload_form').on('submit', function(e){
-  e.preventDefault();
-  $.post("../addQuote.php", $("#upload_form").serialize() ).done(function (data) {
-    alert(data);
-    $("#upload_form")[0].reset();
-  });
-});
-
-</script>
\ No newline at end of file
+  
+  <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();
+      alertHeader.innerHTML = "Gagal!";
+      alertImage.src="images/cross-red.jpg";
+      if (author.value.trim() === "" && konten.value.trim() === "") {
+        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();
+        });
+      }
+    });
+  
+    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/sidebar.html b/admin/sidebar.html
index 1794b83323d0c956006a666fcc82eca18d88236e..216652f3120760450a37ec8cf2655dddc7883cc2 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>
-</div>
\ No newline at end of file
+  </ul></div>
+</div>