Pendahuluan
Python merupakan bahasa pemrograman yang populer karena sintaksisnya yang sederhana dan fleksibel. Dalam dunia pendidikan dan pelatihan kerja, sering kali dibutuhkan sebuah sistem sederhana untuk mencatat data siswa magang. Artikel ini akan membahas cara membuat aplikasi manajemen data siswa magang berbasis CLI (Command Line Interface) dengan Python, yang dapat menambah, menampilkan, mencari, dan menghapus data siswa.
Aplikasi ini cocok digunakan oleh instansi pendidikan, perusahaan penerima magang, maupun oleh siswa sebagai latihan pemrograman berbasis Python dasar.
Daftar Isi
- Tujuan Program
- Struktur Data yang Digunakan
- Fitur Utama Program
3.1 Tambah Data Siswa
3.2 Tampilkan Semua Data
3.3 Cari Data Siswa
3.4 Hapus Data Siswa - Penjelasan Kode Program
4.1 Inisialisasi List
4.2 Fungsitambah_siswa()
4.3 Fungsitampilkan_siswa()
4.4 Fungsicari_siswa()
4.5 Fungsihapus_siswa()
4.6 Fungsimenu_utama() - Cara Menjalankan Program
- Contoh Output Interaksi Program
- Pengembangan Program Lebih Lanjut
7.1 Menyimpan Data ke File
7.2 Menambahkan Fitur Edit
7.3 Filter Berdasarkan Status
7.4 Tabel Format CLI
7.5 Migrasi ke GUI (Tkinter/PyQt) - Kesimpulan
- Tag SEO Friendly
1. Tujuan Program
Program ini dibuat untuk membantu instansi atau individu mencatat dan mengelola data siswa magang. Dengan memanfaatkan antarmuka berbasis terminal (CLI), pengguna bisa menambahkan, melihat, mencari, dan menghapus data siswa dengan mudah.
Program ini cocok sebagai:
2. Struktur Data yang Digunakan
Semua data siswa disimpan dalam variabel data_siswa, berupa list of dictionary:
python
data_siswa = []
Setiap elemen di dalamnya merupakan dictionary dengan struktur:
python
{
"nis": 10101,
"nama": "Rina",
"jurusan": "TKJ",
"sekolah": "SMK 1",
"status": "Aktif"
}
Struktur ini fleksibel, mudah dimodifikasi, dan cocok untuk manipulasi data secara dinamis.
3. Fitur Utama Program
3.1 Menambahkan Data Siswa
Fungsi tambah_siswa() meminta input dari pengguna, melakukan validasi NIS, dan memastikan tidak ada duplikat.
python
def tambah_siswa():
try:
nis = int(input("Masukkan NIS: "))
...
data_siswa.append({...})
except ValueError:
print("NIS harus angka.")
3.2 Menampilkan Semua Data
Fungsi tampilkan_siswa() menampilkan semua entri dengan format rapi:
python
def tampilkan_siswa():
for siswa in data_siswa:
print(f"{siswa['nis']} - {siswa['nama']} - {siswa['status']}")
3.3 Mencari Data Siswa
Fungsi cari_siswa() mencari data berdasarkan NIS atau nama:
python
keyword = input("Cari berdasarkan nama/NIS: ")
for siswa in data_siswa:
if keyword.lower() in siswa['nama'].lower() or keyword == str(siswa['nis']):
...
3.4 Menghapus Data Siswa
Pengguna menghapus data berdasarkan NIS. Fungsi mencocokkan NIS dan menghapus data jika ditemukan.
4. Penjelasan Kode Program
4.1 Inisialisasi List
python
data_siswa = []
Digunakan sebagai kontainer utama.
4.2 Penjelasan Fungsi tambah_siswa()
- Validasi tipe data NIS
- Cek duplikat
- Validasi status hanya “Aktif” atau “Selesai”
4.3 Penjelasan Fungsi tampilkan_siswa()
- Gunakan
enumerate()untuk memberi nomor - Tampilkan semua field siswa dengan rapi
4.4 Penjelasan Fungsi cari_siswa()
- Periksa apakah keyword cocok dengan nama (tanpa memperhatikan kapitalisasi) atau NIS
- Tampilkan hasil pencarian jika ditemukan
4.5 Penjelasan Fungsi hapus_siswa()
- Input NIS
- Gunakan
remove()untuk menghapus dictionary yang cocok
4.6 Penjelasan Fungsi menu_utama()
python
def menu_utama():
while True:
print("1. Tambah | 2. Tampil | 3. Cari | 4. Hapus | 5. Keluar")
Menghubungkan semua fitur ke dalam antarmuka CLI utama.
5. Cara Menjalankan Program
- Simpan kode ke file bernama
data_siswa.py - Buka terminal/command prompt
- Jalankan:
bash
python data_siswa.py
- Pilih menu dengan angka 1–5
6. Contoh Output Interaksi Program
markdown

7. Pengembangan Program Lebih Lanjut
7.1 Menyimpan Data ke File (JSON)
python
import json
def simpan_data():
with open("data_siswa.json", "w") as f:
json.dump(data_siswa, f)
def load_data():
global data_siswa
try:
with open("data_siswa.json", "r") as f:
data_siswa = json.load(f)
except FileNotFoundError:
data_siswa = []
7.2 Menambahkan Fitur Edit Data
python
def edit_siswa():
nis = int(input("NIS yang ingin diedit: "))
for siswa in data_siswa:
if siswa['nis'] == nis:
siswa['nama'] = input("Nama baru: ")
...
return
7.3 Filter Berdasarkan Status
Tambahkan opsi untuk hanya menampilkan siswa “Aktif” atau “Selesai”.
python
def tampil_status(status):
for siswa in data_siswa:
if siswa['status'] == status:
...
7.4 Tampilan Tabel CLI (dengan tabulate)
bash
pip install tabulate
python
from tabulate import tabulate
print(tabulate(data_siswa, headers="keys", tablefmt="grid"))
7.5 Migrasi ke GUI (Tkinter)
- Gunakan
tkinter.Tk()untuk jendela utama - Gunakan
Entry,Label, danButtonuntuk input dan aksi - Gunakan
Treeviewuntuk daftar siswa
8. Manfaat Edukatif Proyek Ini
Proyek ini cocok untuk:
- Belajar fungsi dan loop
- Memahami list dan dictionary
- Validasi input dengan
try-except - Menyusun program CLI yang rapi
- Fondasi membuat GUI, API, atau aplikasi web
9. Kesimpulan
Membangun program CLI manajemen data siswa magang dengan Python sangat cocok sebagai proyek latihan yang lengkap hingga digunakan dalam kegiatan magang atau PKL secara nyata. Dengan fitur CRUD sederhana, validasi input, dan menu interaktif, pengguna tidak hanya belajar Python, tapi juga praktik terbaik dalam membangun aplikasi nyata.
Dengan membangun aplikasi manajemen data siswa ini, kamu telah menguasai:
- Struktur data dasar Python
- Implementasi CRUD sederhana
- Validasi input
- Menu CLI interaktif
- Pengembangan ke penyimpanan file dan GUI
Dengan sedikit improvisasi dan kreativitas, program ini dapat berkembang menjadi aplikasi profesional!