A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property CI_URI::$config is deprecated
Filename: core/URI.php
Line Number: 101
Backtrace:
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property CI_Router::$uri is deprecated
Filename: core/Router.php
Line Number: 127
Backtrace:
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property Welcome::$benchmark is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property Welcome::$hooks is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property Welcome::$config is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property Welcome::$log is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property Welcome::$utf8 is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property Welcome::$uri is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property Welcome::$exceptions is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property Welcome::$router is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property Welcome::$output is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property Welcome::$security is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property Welcome::$input is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property Welcome::$lang is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property Welcome::$load is deprecated
Filename: core/Controller.php
Line Number: 78
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property Welcome::$db is deprecated
Filename: core/Loader.php
Line Number: 396
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property CI_DB_mysqli_driver::$failover is deprecated
Filename: database/DB_driver.php
Line Number: 371
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Return type of CI_Session_files_driver::open($save_path, $name) should either be compatible with SessionHandlerInterface::open(string $path, string $name): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 132
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Return type of CI_Session_files_driver::close() should either be compatible with SessionHandlerInterface::close(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 292
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Return type of CI_Session_files_driver::read($session_id) should either be compatible with SessionHandlerInterface::read(string $id): string|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 166
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Return type of CI_Session_files_driver::write($session_id, $session_data) should either be compatible with SessionHandlerInterface::write(string $id, string $data): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 235
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Return type of CI_Session_files_driver::destroy($session_id) should either be compatible with SessionHandlerInterface::destroy(string $id): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 315
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Return type of CI_Session_files_driver::gc($maxlifetime) should either be compatible with SessionHandlerInterface::gc(int $max_lifetime): int|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 356
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: ini_set(): Session ini settings cannot be changed after headers have already been sent
Filename: Session/Session.php
Line Number: 282
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: session_set_cookie_params(): Session cookie parameters cannot be changed after headers have already been sent
Filename: Session/Session.php
Line Number: 289
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: ini_set(): Session ini settings cannot be changed after headers have already been sent
Filename: Session/Session.php
Line Number: 304
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: ini_set(): Session ini settings cannot be changed after headers have already been sent
Filename: Session/Session.php
Line Number: 314
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: ini_set(): Session ini settings cannot be changed after headers have already been sent
Filename: Session/Session.php
Line Number: 315
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: ini_set(): Session ini settings cannot be changed after headers have already been sent
Filename: Session/Session.php
Line Number: 316
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: ini_set(): Session ini settings cannot be changed after headers have already been sent
Filename: Session/Session.php
Line Number: 317
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: ini_set(): Session ini settings cannot be changed after headers have already been sent
Filename: Session/Session.php
Line Number: 375
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: ini_set(): Session ini settings cannot be changed after headers have already been sent
Filename: drivers/Session_files_driver.php
Line Number: 108
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: session_set_save_handler(): Session save handler cannot be changed after headers have already been sent
Filename: Session/Session.php
Line Number: 110
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: session_start(): Session cannot be started after headers have already been sent
Filename: Session/Session.php
Line Number: 143
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property Welcome::$session is deprecated
Filename: core/Loader.php
Line Number: 1283
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property Welcome::$form_validation is deprecated
Filename: core/Loader.php
Line Number: 1283
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 8
Function: __construct
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property Welcome::$m_data is deprecated
Filename: core/Loader.php
Line Number: 358
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 11
Function: model
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property CI_Loader::$benchmark is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 187
Function: view
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property CI_Loader::$hooks is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 187
Function: view
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property CI_Loader::$config is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 187
Function: view
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property CI_Loader::$log is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 187
Function: view
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property CI_Loader::$utf8 is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 187
Function: view
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property CI_Loader::$uri is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 187
Function: view
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property CI_Loader::$exceptions is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 187
Function: view
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property CI_Loader::$router is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 187
Function: view
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property CI_Loader::$output is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 187
Function: view
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property CI_Loader::$security is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 187
Function: view
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property CI_Loader::$input is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 187
Function: view
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property CI_Loader::$lang is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 187
Function: view
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property CI_Loader::$load is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 187
Function: view
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property CI_Loader::$db is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 187
Function: view
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property CI_Loader::$session is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 187
Function: view
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property CI_Loader::$form_validation is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 187
Function: view
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: 8192
Message: Creation of dynamic property CI_Loader::$m_data is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /home/alfe6346/public_html/application/controllers/Welcome.php
Line: 187
Function: view
File: /home/alfe6346/public_html/index.php
Line: 315
Function: require_once
alf-printing Digital-Printing dan Media Pembelajaran
Cepat, Berkualitas, dan Terjangkau
Indonesia
Materi Penjelasan GUI Python
Materi Praktikum: Penjelasan Program GUI Python
Studi Kasus: Manajemen Data Siswa Menggunakan Python dan Struktur Data Dasar
Materi ini menjelaskan kode program Python berbasis GUI (Tkinter) yang menerapkan struktur data list dan dictionary .
1. Import Library
import tkinter as tk
from tkinter import messagebox
tkinter → library bawaan Python untuk membuat GUI (Graphical User Interface)
messagebox → digunakan untuk menampilkan popup peringatan atau notifikasi
2. Struktur Data Utama
data_siswa = []
data_siswa adalah sebuah list
Setiap elemen di dalam list berupa dictionary
Konsep ini disebut list of dictionary
Contoh isi data_siswa:
[
{"nama": "Andi", "nim": "123", "umur": 20, "nilai": 85.5},
{"nama": "Budi", "nim": "124", "umur": 21, "nilai": 90.0}
]
3. Fungsi tambah_data()
Fungsi ini digunakan untuk mengambil input dari GUI, melakukan validasi data, dan menyimpannya ke dalam struktur data.
a. Mengambil Input
nama = entry_nama.get()
nim = entry_nim.get()
umur = entry_umur.get()
nilai = entry_nilai.get()
Method .get() digunakan untuk mengambil nilai dari widget Entry
Semua data input awalnya bertipe string
b. Validasi Input
if nama == "" or nim == "" or umur == "" or nilai == "":
messagebox.showwarning("Peringatan", "Semua data harus diisi!")
return
Validasi ini bertujuan untuk memastikan seluruh field input telah diisi sebelum data diproses.
c. Membuat Dictionary Siswa
siswa = {
"nama": nama,
"nim": nim,
"umur": int(umur),
"nilai": float(nilai)
}
Data siswa disimpan dalam bentuk dictionary
umur dikonversi menjadi int
nilai dikonversi menjadi float
d. Menyimpan ke List
data_siswa.append(siswa)
Dictionary siswa dimasukkan ke dalam list data_siswa dengan kompleksitas waktu O(1) .
e. Update Tampilan
tampilkan_data()
bersihkan_entry()
Data siswa ditampilkan ulang dan field input dibersihkan untuk pengisian berikutnya.
4. Fungsi tampilkan_data()
Fungsi ini menampilkan seluruh data siswa serta menghitung jumlah dan rata-rata nilai.
a. Membersihkan Output
text_output.delete("1.0", tk.END)
b. Perulangan Data
for i, siswa in enumerate(data_siswa, start=1):
enumerate() digunakan untuk memberi nomor urut
Mengakses setiap dictionary dalam list
c. Menampilkan Data
text_output.insert(
tk.END,
f"{i}. {siswa['nama']} | {siswa['nim']} | Umur: {siswa['umur']} | Nilai: {siswa['nilai']}\n"
)
d. Menghitung Rata-rata
jumlah = len(data_siswa)
rata_rata = total_nilai / jumlah if jumlah > 0 else 0
Menggunakan len() untuk menghitung jumlah siswa
Menghindari kesalahan division by zero
Kompleksitas algoritma: O(n)
e. Menampilkan Informasi Ringkasan
label_info.config(
text=f"Jumlah Siswa: {jumlah} | Rata-rata Nilai: {rata_rata:.2f}"
)
5. Fungsi bersihkan_entry()
Fungsi ini digunakan untuk menghapus isi seluruh field input guna meningkatkan kenyamanan pengguna.
6. Pembuatan Window Utama
root = tk.Tk()
root.title("Manajemen Data Siswa")
root.geometry("500x500")
7. Komponen Input (Label & Entry)
tk.Label(root, text="Nama").pack()
entry_nama = tk.Entry(root)
entry_nama.pack()
Label → teks keterangan
Entry → input data
.pack() → layout manager sederhana
8. Tombol Aksi
tk.Button(root, text="Tambah Data", command=tambah_data).pack(pady=10)
Tombol ini menghubungkan event GUI dengan fungsi algoritma tambah_data().
9. Komponen Output
text_output = tk.Text(root, height=10)
label_info = tk.Label(root, text="Jumlah Siswa: 0 | Rata-rata Nilai: 0")
10. Menjalankan Aplikasi
root.mainloop()
Menjalankan event loop sehingga aplikasi GUI aktif hingga ditutup.
Kesimpulan:
Program ini menerapkan konsep struktur data dasar, algoritma sederhana, serta pemrograman berbasis GUI yang sesuai untuk praktikum tingkat S1.