Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
  • Elearning
  • Blog
Daftar
Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
  • Elearning
  • Blog

Tutorial Lengkap Membuat Program Manajemen Data Siswa Magang dengan Python CLI

  • July 30, 2025
  • oleh Edusoft Center

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

  1. Tujuan Program
  2. Struktur Data yang Digunakan
  3. Fitur Utama Program
      3.1 Tambah Data Siswa
      3.2 Tampilkan Semua Data
      3.3 Cari Data Siswa
      3.4 Hapus Data Siswa
  4. Penjelasan Kode Program
      4.1 Inisialisasi List
      4.2 Fungsi tambah_siswa()
      4.3 Fungsi tampilkan_siswa()
      4.4 Fungsi cari_siswa()
      4.5 Fungsi hapus_siswa()
      4.6 Fungsi menu_utama()
  5. Cara Menjalankan Program
  6. Contoh Output Interaksi Program
  7. 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)
  8. Kesimpulan
  9. 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

  1. Simpan kode ke file bernama data_siswa.py
  2. Buka terminal/command prompt
  3. Jalankan:
bash
python data_siswa.py
  1. 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, dan Button untuk input dan aksi
  • Gunakan Treeview untuk 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!

Tags: #EdusoftCenter#KursusKomputerSoloCRUD pythondata siswa pythonmanajemen data siswapemrograman python sekolahprogram magang pythonprogram python CLIproyek python sederhanapythonsimpan data JSON pythontutorial python pemula
Previous Post
Next Post

Post comment

Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Basis Data: Pengertian, Konsep, Contoh, dan Langkah Praktis Menggunakan SQL
  • Di Balik Rekomendasi Aplikasi: Mengapa Teknologi Selalu Tahu Apa yang Kita Mau?
  • Membuat Aplikasi Otomatisasi Menggunakan Google Apps Script: Pendekatan Praktis untuk Data Analyst Pemula
  • Mengapa Data Analyst Pemula Lebih Butuh Cara Berpikir daripada Tools
  • Mengapa dan Bagaimana Cara Berkontribusi pada Proyek Open Source di Platform seperti GitHub?

Arsip

  • January 2026
  • September 2025
  • August 2025
  • July 2025
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • February 2016
  • January 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • January 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012
  • July 2012
  • June 2012
  • May 2012
  • April 2012
  • December 2011
  • November 2011

Tags

apache web server dns server kursus android kursus database kursus dns dan web server kursus dns server kursus ethical hacking kursus hacking kursus jaringan kursus jaringan linux Kursus Komputer kursus komputer di solo kursus komputer di solo / surakarta kursus komputer di surakarta kursus linux Kursus Linux Forensics kursus linux networking kursus linux security kursus linux server kursus mikrotik kursus mysql kursus networking kursus network security kursus php Kursus PHP dan MySQL kursus php mysql kursus proxy kursus security kursus ubuntu kursus ubuntu server kursus web kursus web security kursus web server kursus wordpress kursus wordpress theme linux MySQL pelatihan komputer di solo PHP security training komputer training komputer di solo tutorial php ubuntu wordpress

© Edusoft Center - Kursus Komputer di Solo | 2010 - 2025 | Privacy Policy | Site Map

All Right Reserved

WhatsApp us