diff --git a/src/app/ui/detail_acara_window_ui.py b/src/app/ui/detail_acara_window_ui.py
index 42afa081d7d9c9610f89ef1ed8263dfd520b6b81..d2fa1515d24e48bd3e78ef5d88a439bbc5d3966a 100644
--- a/src/app/ui/detail_acara_window_ui.py
+++ b/src/app/ui/detail_acara_window_ui.py
@@ -61,13 +61,21 @@ class Ui_Dialog(object):
         return self.spinBox.value()
 
 class Ui_DetailAcaraWindow(object):
-    def setupUi(self, MainWindow, content, kategori, isMember):
+    def setupUi(self, MainWindow, content, isMember):
         MainWindow.setObjectName("MainWindow")
         MainWindow.resize(813, 600)
 
-        self.idAcara = content[0]
-        self.idUser = content[11]
+        self.idAcara = content["id_acara"]
+        self.idUser = content["id_user"]
         self.isMember = isMember
+        self.ordered = True
+
+        if not self.isMember:
+            conn = db.init_db()
+            cur = conn.cursor()
+            cur.execute("SELECT id_member FROM mengikuti WHERE id_acara = "+str(content["id_acara"]))
+            already = [i[0] for i in cur.fetchall()]
+            self.ordered = self.idUser in already
 
         self.centralwidget = QtWidgets.QWidget(MainWindow)
         self.centralwidget.setObjectName("centralwidget")
@@ -103,7 +111,7 @@ class Ui_DetailAcaraWindow(object):
         self.scrollArea.setWidget(self.scrollAreaWidgetContents)
 
         self.idxPhoto = 0
-        self.photos = content[12]
+        self.photos = content["foto"]
         self.label_5 = QtWidgets.QLabel(self.centralwidget)
         if len(self.photos)!=0:
             self.label_5.setGeometry(QtCore.QRect(230, 10, 311, 211))
@@ -235,14 +243,14 @@ class Ui_DetailAcaraWindow(object):
 
         self.MainWindow = MainWindow
 
-        self.retranslateUi(MainWindow,content,kategori)
+        self.retranslateUi(MainWindow,content)
         QtCore.QMetaObject.connectSlotsByName(MainWindow)
 
-    def retranslateUi(self, MainWindow, content, kategori):
+    def retranslateUi(self, MainWindow, content):
         _translate = QtCore.QCoreApplication.translate
         MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
 
-        syarat = content[3] if content[3] != None else "Tidak ada syarat"
+        syarat = content["syarat"] if content["syarat"] != None else "Tidak ada syarat"
         htmlSyarat = '''<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n
 <html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n
 p, li {0}\n
@@ -252,9 +260,9 @@ p, li {0}\n
         
         self.label_2.setText(_translate("MainWindow", "Syarat"))
         
-        desc = content[5] if content[5] != None else "-"
-        contact = content[9]
-        link = content[8] if content[8]!="" else "Belum ada"
+        desc = content["desc"] if content["desc"] != None else "-"
+        contact = content["contact"]
+        link = content["link"] if content["link"]!="" and content["link"]!=None else "N/A (Silahkan kontak CP jika ada kesalahan)" if self.ordered else "Silahkan pesan tiketnya terlebih dahulu"
         htmlInfo = """<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n
 <html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n
 p, li {0}\n
@@ -275,29 +283,24 @@ p, li {0}\n
         if not self.isMember:
             self.pushButton.setText(_translate("MainWindow", "Edit Acara"))
         else:
-            conn = db.init_db()
-            cur = conn.cursor()
-
-            cur.execute("SELECT id_member FROM mengikuti WHERE id_acara = "+str(content[0]))
-            already = [i[0] for i in cur.fetchall()]
-
-            if self.idUser in already:
+            if self.ordered:
                 self.pushButton.setEnabled(False)
                 self.pushButton.setText(_translate("MainWindow", "Pemesanan Berhasil!"))
             else:
                 self.pushButton.setText(_translate("MainWindow", "Pesan Tiket"))
 
-        tanggal = content[6].strftime("%d %b %Y %H:%M:%S")
+        tanggal = content["waktu"].strftime("%d %b %Y %H:%M:%S")
         self.label_3.setText(_translate("MainWindow", tanggal))
 
-        self.maxQ = str(content[4])
-        self.quantity = content[13] if content[13] != None else 0
+        self.maxQ = str(content["kuota"])
+        self.quantity = content["jml_order"] if content["jml_order"] != None else 0
         kuota = "Kuota: " + str(self.quantity) + "/" + str(self.maxQ)
         self.label_4.setText(_translate("MainWindow", kuota))
 
-        nama = content[1]
+        nama = content["nama_acara"]
         self.label.setText(_translate("MainWindow", nama))
 
+        kategori = content["kategori"]
         kat1 = kategori[0]
         self.label_6.setText(_translate("MainWindow", kat1))
 
@@ -310,10 +313,10 @@ p, li {0}\n
         kat4 = kategori[3] if len(kategori) > 3 else ""
         self.label_9.setText(_translate("MainWindow", kat4))
 
-        organisasi = content[10]
+        organisasi = content["organisasi"]
         self.label_10.setText(_translate("MainWindow", organisasi))
 
-        price = "Harga: Rp." + str(content[7])
+        price = "Harga: " + ("Rp." + str(content["harga"]) if content["harga"]!=None and content["harga"]!=0 else "Gratis")
         self.label_11.setText(_translate("MainWindow", price))
 
         self.pushButton_3.setText(_translate("MainWindow", u"Next", None))
@@ -363,7 +366,7 @@ p, li {0}\n
             self.w.show()
 
 class DetailAcaraWindow(QMainWindow, Ui_DetailAcaraWindow):
-    def __init__(self, idAcara, idMember, isMember, parent=None):
+    def __init__(self, idAcara, idUser, isMember, parent=None):
         super().__init__(parent)
 
         conn = db.init_db()
@@ -376,33 +379,54 @@ class DetailAcaraWindow(QMainWindow, Ui_DetailAcaraWindow):
         # Ambil kontak penanggungjawab
         cur.execute("SELECT penanggung_jawab,no_wa,nama_organisasi FROM penyelenggara WHERE id_penyelenggara = "+str(content[9]))
         val = cur.fetchone()
-        contact = val[0] + ": " + val[1]
-        contact = (contact,val[2])
-        content = tuple([content[i] for i in range(9)])
-        content += contact
+        content = {
+            "id_acara": content[0],
+            "nama_acara": content[1],
+            "video": content[2],
+            "syarat": content[3],
+            "kuota": content[4],
+            "desc": content[5],
+            "waktu": content[6],
+            "harga": content[7],
+            "link": content[8],
+            "contact": content[9],
+            "organisasi": None,
+            "id_user": idUser,
+            "foto": [],
+            "jml_order": 0,
+            "kategori": []
+        }
+
+        # Ambil kontak penanggungjawab
+        cur.execute("SELECT penanggung_jawab,no_wa,nama_organisasi FROM penyelenggara WHERE id_penyelenggara = "+str(content["contact"]))
+        val = cur.fetchone()
+        content["contact"] = val[0] + ": " + val[1]
+        content["organisasi"] = val[2]
 
         # Ambil foto acara
-        cur.execute("SELECT id_foto,foto FROM foto_acara WHERE id_acara ="+str(idAcara))
+        cur.execute("SELECT foto FROM foto_acara WHERE id_acara ="+str(idAcara))
         files = cur.fetchall()
         images = []
         for aFile in files:
-            images.append(aFile[1])
+            images.append(aFile[0])
+        content["foto"] = images
 
         # Ambil kategori acara
         cur.execute("SELECT nama_kategori FROM kategori_acara WHERE id_acara = "+str(idAcara))
         query = cur.fetchall()
-        kategori = ()
+        kategori = []
         for val in query:
-            kategori += val
+            kategori.append(val[0])
+        content["kategori"] = kategori
 
         # Ambil jumlah tiket yang udah dipesan
         cur.execute("SELECT SUM(jumlah) FROM mengikuti WHERE id_acara = "+str(idAcara))
         jmlPesanan = cur.fetchone()
         jmlPesanan = jmlPesanan[0]
-        content += (idMember,images,jmlPesanan)
+        content["jml_order"] = jmlPesanan
 
         # content = (idAcara,namaAcara,linkVideo,syarat,kuota,desc,waktu,harga,link,namapenanggungjwb: noWA,namaOrganisasi,idMember,foto,jmlPesanan)
-        self.setupUi(self,content,kategori,isMember)
+        self.setupUi(self,content,isMember)
 
     def about(self):
         QMessageBox.about(
diff --git a/src/app/ui/linimasa_ui.py b/src/app/ui/linimasa_ui.py
index c13504208c75f28effe640f3610815165d227ab9..4f664e732ad215235d81358963957a2b2c792d03 100644
--- a/src/app/ui/linimasa_ui.py
+++ b/src/app/ui/linimasa_ui.py
@@ -49,7 +49,7 @@ class LinimasaPenggunaWindow(QMainWindow):
       layout.addWidget(QLabel(f'Kuota Pendaftar: {r[2]}'))
       layout.addWidget(QLabel(f'{r[4]}'))
       button = QPushButton('Lihat acara')
-      button.clicked.connect(lambda self,aid=aid: self.showDetails(aid))
+      button.clicked.connect(lambda _,aid=aid: self.showDetails(aid))
       layout.addWidget(button)
       self.linimasa.addWidget(container)
 
@@ -108,7 +108,7 @@ class LinimasaPenyelenggaraWindow(QMainWindow):
       layout.addWidget(QLabel(f'Kuota Pendaftar: {r[2]}'))
       layout.addWidget(QLabel(f'{r[4]}'))
       button = QPushButton('Lihat acara')
-      button.clicked.connect(lambda self,aid=aid: self.showDetail(aid))
+      button.clicked.connect(lambda _,aid=aid: self.showDetails(aid))
       layout.addWidget(button)
       self.linimasa.addWidget(container)
 
diff --git a/src/app/ui/tambah_acara_ui.py b/src/app/ui/tambah_acara_ui.py
index 3aba5d8712c8454f0c0fe4d920a59a3238316ecf..e7d85cf45ae72323a28579211f0f3af5fd70d2d7 100644
--- a/src/app/ui/tambah_acara_ui.py
+++ b/src/app/ui/tambah_acara_ui.py
@@ -44,7 +44,7 @@ class TambahAcaraWindow(QtWidgets.QMainWindow):
             link=None,
             deskripsi=None,
             syarat=None,
-            id_acara=None,
+            id_acara=self.__id_acara,
         )
         if id_acara is not None:
             cur = conn.cursor()