diff --git a/src/app/modules/tambah_acara.py b/src/app/modules/tambah_acara.py
index a9727c49a43f21ac2439c9e8f2f27ff5abf22de4..de23d80fd84f85df1b51294460b33bf02cac1a27 100644
--- a/src/app/modules/tambah_acara.py
+++ b/src/app/modules/tambah_acara.py
@@ -2,9 +2,9 @@
 Modul untuk operasi edit dan tambah acara
 '''
 from datetime import datetime
-from app.db import init_db
 import mariadb
 
+
 def __add_foto(photos, id_acara, cur):
     '''
     Fungsi untuk menambahkan foto-foto ke database
@@ -32,6 +32,7 @@ def __add_foto(photos, id_acara, cur):
                 INSERT INTO foto_acara (id_acara, foto)
                 VALUES (?, ?)''', (id_acara, foto))
 
+
 def __add_kategori(kategori, id_acara, cur):
     '''
     Fungsi untuk menambahkan kategori acara ke database
@@ -49,9 +50,12 @@ def __add_kategori(kategori, id_acara, cur):
     ------
     mariadb.Error
     '''
-    cur.execute('''DELETE FROM kategori_acara WHERE id_acara = ?''', (id_acara,))
+    cur.execute('''DELETE FROM kategori_acara WHERE id_acara = ?''',
+                (id_acara,))
     for kateg in kategori:
-        cur.execute('''INSERT INTO kategori_acara VALUES (?, ?)''', (id_acara, kateg))
+        cur.execute('''INSERT INTO kategori_acara VALUES (?, ?)''',
+                    (id_acara, kateg))
+
 
 def remove_foto(id_acara, id_foto, conn) -> bool:
     '''
@@ -72,13 +76,16 @@ def remove_foto(id_acara, id_foto, conn) -> bool:
     '''
     cur = conn.cursor()
     try:
-        cur.execute('''DELETE FROM foto_acara WHERE id_acara = ? AND id_foto = ?''', (id_acara, id_foto))
+        cur.execute('DELETE FROM foto_acara\
+                        WHERE id_acara = ? AND id_foto = ?',
+                    (id_acara, id_foto))
         conn.commit()
         return True
     except mariadb.Error as e:
         print(e)
         return False
 
+
 def remove_category(id_acara, kateg, conn) -> bool:
     '''
     Fungsi untuk menghapus kategori suatu acara
@@ -98,13 +105,16 @@ def remove_category(id_acara, kateg, conn) -> bool:
     '''
     cur = conn.cursor()
     try:
-        cur.execute('''DELETE FROM kategori_acara WHERE id_acara = ? AND nama_kategori = ?''', (id_acara, kateg))
+        cur.execute('DELETE FROM kategori_acara\
+                        WHERE id_acara = ? AND nama_kategori = ?',
+                    (id_acara, kateg))
         conn.commit()
         return True
     except mariadb.Error as e:
         print(e)
         return False
 
+
 def tambah_acara(id_penyelenggara,
                  nama_acara,
                  waktu,
@@ -195,18 +205,18 @@ def tambah_acara(id_penyelenggara,
                 ))
 
             # Dapetin id acara
-            cur.execute('''SELECT id_acara FROM acara WHERE
-                    nama_acara = ? AND
-                    kuota_pendaftar = ? AND
-                    waktu  = ? AND
-                    harga = ? AND
-                    id_penyelenggara = ?''', (
-                        nama_acara,
-                        kuota_pendaftar,
-                        waktu,
-                        harga,
-                        id_penyelenggara
-                    ))
+            cur.execute('''SELECT id_acara FROM acara
+                            WHERE nama_acara = ? AND
+                                  kuota_pendaftar = ? AND
+                                  waktu  = ? AND
+                                  harga = ? AND
+                                  id_penyelenggara = ?''', (
+                            nama_acara,
+                            kuota_pendaftar,
+                            waktu,
+                            harga,
+                            id_penyelenggara
+                        ))
             id_acara = cur.fetchone()[0]
 
             # Tambah kategori
diff --git a/src/app/ui/detail_acara_window_ui.py b/src/app/ui/detail_acara_window_ui.py
index 88469d9a9772848636131a8c57369b4fa1cbe254..5877582475df6f02ad4a6bf51d8f3044dd2dd40a 100644
--- a/src/app/ui/detail_acara_window_ui.py
+++ b/src/app/ui/detail_acara_window_ui.py
@@ -399,7 +399,6 @@ class DetailAcaraWindow(QMainWindow, Ui_DetailAcaraWindow):
         jmlPesanan = jmlPesanan[0]
         content += (idMember,images,jmlPesanan)
 
-        print(content)
         # content = (idAcara,namaAcara,linkVideo,syarat,kuota,desc,waktu,harga,link,namapenanggungjwb: noWA,namaOrganisasi,idMember,foto,jmlPesanan)
         self.setupUi(self,content,kategori,isMember)
 
diff --git a/src/app/ui/tambah_acara.ui b/src/app/ui/tambah_acara.ui
index 7f288942d282b9a3f51496e4b0751c1a78842f97..da109be2ae131dfe1fc17e919698f52c701ee1a9 100644
--- a/src/app/ui/tambah_acara.ui
+++ b/src/app/ui/tambah_acara.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>1197</width>
-    <height>888</height>
+    <width>1654</width>
+    <height>1063</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -44,8 +44,8 @@
          <property name="geometry">
           <rect>
            <x>0</x>
-           <y>-333</y>
-           <width>1432</width>
+           <y>0</y>
+           <width>1629</width>
            <height>1196</height>
           </rect>
          </property>
@@ -235,6 +235,18 @@
               </property>
              </spacer>
             </item>
+            <item>
+             <widget class="QPushButton" name="button_remove_image">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="text">
+               <string>Hapus Gambar</string>
+              </property>
+             </widget>
+            </item>
             <item>
              <widget class="QPushButton" name="button_add_image">
               <property name="sizePolicy">
@@ -257,7 +269,7 @@
                </font>
               </property>
               <property name="text">
-               <string>Add Image</string>
+               <string>Tambah Gambar</string>
               </property>
              </widget>
             </item>
@@ -317,7 +329,7 @@
               <rect>
                <x>0</x>
                <y>0</y>
-               <width>1387</width>
+               <width>1584</width>
                <height>388</height>
               </rect>
              </property>
diff --git a/src/app/ui/tambah_acara_ui.py b/src/app/ui/tambah_acara_ui.py
index a1c465fb68f21379278e58171cbe2526d6db3660..36cf9a7b3609774aae92c0ab1caef4aa45a241e6 100644
--- a/src/app/ui/tambah_acara_ui.py
+++ b/src/app/ui/tambah_acara_ui.py
@@ -1,8 +1,7 @@
 from PyQt5 import uic, QtWidgets, QtGui, QtCore
-import sys, os
+import os
 from app.modules.tambah_acara import tambah_acara
-from app.db import init_db
-from file_input_dialog import FileInput
+from app.ui.file_input_dialog import FileInput
 
 
 class TambahAcaraWindow(QtWidgets.QMainWindow):
@@ -23,14 +22,16 @@ class TambahAcaraWindow(QtWidgets.QMainWindow):
             - id_acara: str
         '''
         super(TambahAcaraWindow, self).__init__()
-        uic.loadUi(os.path.join(os.path.dirname(__file__), 'tambah_acara.ui'), self)
+        uic.loadUi(os.path.join(os.path.dirname(__file__), 'tambah_acara.ui'),
+                   self)
 
         default_img_content = b''
-        with open(os.path.join(os.path.dirname(__file__), 'assets/no-image-available.jpeg'), 'rb') as f:
+        with open(os.path.join(os.path.dirname(__file__),
+                               'assets/no-image-available.jpeg'), 'rb') as f:
             default_img_content = f.read()
 
         self.__conn = conn
-        self.__id_penyelenggara = id_penyelenggara # ga boleh None
+        self.__id_penyelenggara = id_penyelenggara
         self.__id_acara = id_acara
         data_acara = dict(
             id_penyelenggara=self.__id_penyelenggara,
@@ -57,8 +58,8 @@ class TambahAcaraWindow(QtWidgets.QMainWindow):
         self.__id_acara = data_acara['id_acara']
 
         # setting default image
-        self.__default_img = QtGui.QImage()
-        assert self.__default_img.loadFromData(default_img_content)
+        self.__default_img =\
+            self.__convert_bytes_to_qimage(default_img_content)
 
         self.__fill_data(data_acara)
         self.__init_button()
@@ -66,13 +67,14 @@ class TambahAcaraWindow(QtWidgets.QMainWindow):
         self.show()
 
     def __get_data_from_db(self, data_acara, cur):
-        cur.execute('SELECT * FROM acara WHERE id_acara = ?', (self.__id_acara,))
+        cur.execute('SELECT * FROM acara WHERE id_acara = ?',
+                    (self.__id_acara,))
 
         for (_, nama_acara,
-            _, syarat_pendaftaran,
-            kuota_pendaftar, deskripsi,
-            waktu, harga,
-            link, _) in cur:
+             _, syarat_pendaftaran,
+             kuota_pendaftar, deskripsi,
+             waktu, harga,
+             link, _) in cur:
             data_acara['nama_acara'] = nama_acara
             data_acara['kuota_pendaftar'] = kuota_pendaftar
             data_acara['waktu'] = waktu
@@ -82,9 +84,9 @@ class TambahAcaraWindow(QtWidgets.QMainWindow):
             data_acara['link'] = link
 
         cur.execute('SELECT foto FROM foto_acara WHERE id_acara = ?',
-            (self.__id_acara,))
+                    (self.__id_acara,))
         for foto in cur:
-            data_acara['foto'].append(foto[0])
+            data_acara['foto'].append(self.__convert_bytes_to_qimage(foto[0]))
 
         cur.execute(
             'SELECT nama_kategori FROM kategori_acara WHERE id_acara = ?',
@@ -174,6 +176,7 @@ class TambahAcaraWindow(QtWidgets.QMainWindow):
         self.button_batal.clicked.connect(self.close)
         self.button_simpan.clicked.connect(self.__save_data)
         self.button_add_image.clicked.connect(self.__input_image)
+        self.button_remove_image.clicked.connect(self.__remove_current_image)
 
     def __get_checked_kategori(self):
         kategs = ['motivasi', 'teknologi', 'ekonomi', 'kompetisi']
@@ -183,7 +186,7 @@ class TambahAcaraWindow(QtWidgets.QMainWindow):
         return dict(
             id_penyelenggara=self.__id_penyelenggara,
             id_acara=self.__id_acara,
-            foto=self.__photos,
+            foto=self.__convert_photos_to_bytes(),
             kategori=self.__get_checked_kategori(),
             nama_acara=self.input_nama_acara.text(),
             kuota_pendaftar=self.input_kuota.value(),
@@ -216,11 +219,16 @@ class TambahAcaraWindow(QtWidgets.QMainWindow):
             content = b''
             with open(file, 'rb') as f:
                 content = f.read()
-            img = QtGui.QImage()
-            assert img.loadFromData(content)
-            self.__photos.append(img)
+            self.__photos.append(self.__convert_bytes_to_qimage(content))
         self.__set_image()
 
+    def __remove_current_image(self):
+        if len(self.__photos) > 0:
+            self.__photos.remove(self.__photos[self.__current_image_counter])
+            self.__current_image_counter -= 1
+            self.__current_image_counter %= len(self.__photos)
+            self.__set_image()
+
     def __is_form_valid(self):
         return self.input_nama_acara is not None\
                and self.input_nama_acara.text() != ""\
@@ -228,6 +236,21 @@ class TambahAcaraWindow(QtWidgets.QMainWindow):
                and self.input_harga is not None\
                and len(self.__get_checked_kategori()) != 0
 
+    def __convert_bytes_to_qimage(self, byte):
+        img = QtGui.QImage()
+        assert img.loadFromData(byte)
+        return img
+
+    def __convert_photos_to_bytes(self):
+        png = list()
+        for qi in self.__photos:
+            bytes_array = QtCore.QByteArray()
+            buffer = QtCore.QBuffer(bytes_array)
+            buffer.open(QtCore.QIODevice.WriteOnly)
+            qi.save(buffer, "png", quality=100)
+            png.append(bytes(bytes_array))
+        return png
+
     def __alert(self, text, info, title):
         msg = QtWidgets.QMessageBox()
         msg.setIcon(QtWidgets.QMessageBox.Warning)