1. Pendahuluan
Rekayasa Perangkat Lunak (RPL) merupakan salah satu bidang utama dalam informatika yang berfokus pada proses pengembangan perangkat lunak secara sistematis dan terstruktur. Dalam lingkungan akademik, pengelolaan jadwal perkuliahan sering kali menjadi permasalahan karena masih dilakukan secara manual atau menggunakan media yang terpisah.
Artikel ini membahas penerapan Rekayasa Perangkat Lunak melalui studi kasus pengembangan aplikasi manajemen jadwal perkuliahan, disertai contoh implementasi dan hasil praktik nyata.
2. Rekayasa Perangkat Lunak dalam Bidang Informatika
Dalam konteks informatika, Rekayasa Perangkat Lunak berperan sebagai jembatan antara teori komputasi dan kebutuhan dunia nyata. RPL memastikan bahwa perangkat lunak:
- Dibangun sesuai kebutuhan pengguna
- Mudah dikembangkan dan dipelihara
- Memiliki struktur yang jelas dan terdokumentasi
Pendekatan ini sangat penting untuk sistem informasi akademik yang digunakan oleh banyak pengguna dengan peran berbeda.
3. Metodologi Pengembangan Perangkat Lunak
Metode yang digunakan adalah Software Development Life Cycle (SDLC) model Waterfall, dengan tahapan:
- Analisis kebutuhan
- Perancangan sistem
- Implementasi
- Pengujian
- Pemeliharaan
Model ini dipilih karena alurnya jelas dan mudah diterapkan pada pengembangan aplikasi akademik.
4. Analisis Kebutuhan Sistem
Sistem dirancang untuk tiga jenis pengguna:
Kebutuhan Fungsional:
- Admin
- Menambah, mengubah, dan menghapus jadwal
- Dosen
- Melihat jadwal mengajar
- Mahasiswa
- Melihat jadwal perkuliahan (read-only)
Kebutuhan Non-Fungsional:
- Sistem mudah digunakan
- Data tersimpan secara terstruktur
- Akses pengguna dibatasi berdasarkan peran
5. Perancangan Sistem
5.1 Desain Basis Data
Struktur tabel jadwal perkuliahan:
| Field | Tipe Data | Deskripsi |
|---|---|---|
| id | Integer | Primary Key |
| mata_kuliah | Varchar | Nama mata kuliah |
| dosen | Varchar | Nama dosen |
| hari | Varchar | Hari perkuliahan |
| jam_mulai | Time | Jam mulai |
| jam_selesai | Time | Jam selesai |
| ruang | Varchar | Ruang kelas |
6. Implementasi Sistem (Hasil Praktik Lengkap)
Bagian ini adalah hasil praktik nyata, bukan sekadar potongan kode.
6.1 Alur Sistem (Practical Workflow)
- Admin login ke sistem
- Admin menginput jadwal perkuliahan
- Data disimpan ke basis data
- Dosen login dan melihat jadwal mengajar
- Mahasiswa login dan melihat seluruh jadwal
6.2 Contoh Source Code (Implementasi Backend Sederhana)
class Jadwal:
def __init__(self, id, mata_kuliah, dosen, hari, jam_mulai, jam_selesai, ruang):
self.id = id
self.mata_kuliah = mata_kuliah
self.dosen = dosen
self.hari = hari
self.jam_mulai = jam_mulai
self.jam_selesai = jam_selesai
self.ruang = ruang
def tampilkan(self):
return {
"Mata Kuliah": self.mata_kuliah,
"Dosen": self.dosen,
"Hari": self.hari,
"Jam": f"{self.jam_mulai} - {self.jam_selesai}",
"Ruang": self.ruang
}
6.3 Contoh Data Input (Hasil Praktik)
jadwal_db = []
jadwal_db.append(
Jadwal(
1,
"Rekayasa Perangkat Lunak",
"Dr. Andi",
"Senin",
"08:00",
"10:00",
"R101"
)
)
6.4 Implementasi Hak Akses Pengguna
def cek_akses(role):
if role == "Admin":
return "CRUD Jadwal"
elif role == "Dosen":
return "Lihat Jadwal Mengajar"
else:
return "Lihat Jadwal"
6.5 Contoh Output Sistem (Hasil Nyata)
Mata Kuliah : Rekayasa Perangkat Lunak
Dosen : Dr. Andi
Hari : Senin
Jam : 08:00 - 10:00
Ruang : R101
6.6 Tampilan Logis Aplikasi (Deskriptif)
- Admin Dashboard
Menampilkan tabel jadwal + tombol tambah, edit, dan hapus - Dosen View
Menampilkan jadwal yang sesuai dengan nama dosen - Mahasiswa View
Menampilkan seluruh jadwal tanpa fitur edit
Ini mencerminkan penerapan role-based access control dalam Rekayasa Perangkat Lunak.
7. Pengujian dan Evaluasi
Pengujian dilakukan dengan metode Black Box Testing, meliputi:
- Pengujian input data jadwal
- Pengujian hak akses pengguna
- Pengujian tampilan output
Hasil pengujian menunjukkan sistem berjalan sesuai kebutuhan fungsional.
8. Kesimpulan
Berdasarkan hasil implementasi dan pengujian, dapat disimpulkan bahwa penerapan prinsip Rekayasa Perangkat Lunak dalam pengembangan aplikasi manajemen jadwal perkuliahan mampu menghasilkan sistem yang terstruktur, aman, dan mudah digunakan. Studi kasus ini menunjukkan bahwa teori informatika dapat diimplementasikan secara nyata dalam pengembangan perangkat lunak.
9. Referensi
- Pressman, R. S. Software Engineering: A Practitioner’s Approach
- Sommerville, I. Software Engineering
- Jogiyanto. Analisis dan Desain Sistem Informasi
