
Dalam praktikum pengembangan sistem di Lab Komputer Universitas Ma’soem, sering kali kita melihat fenomena di mana sebuah aplikasi berhasil berjalan dengan lancar saat didemonstrasikan, namun memiliki “jeroan” yang sangat berantakan. Fenomena ini dikenal dengan istilah Spaghetti Code—kode yang saling melilit, tidak terstruktur, dan sulit dilacak alurnya. Bagi pengembang amatir, semboyan “yang penting jalan” mungkin terdengar cukup, namun bagi mahasiswa Sistem Informasi MU yang sedang menangani proyek serius seperti sistem Purchasing PT Jaya Putra Semesta, kode yang berantakan adalah ancaman nyata bagi keberlanjutan sistem.
Spaghetti Code terjadi ketika seorang pengembang mencampuradukkan semua logika dalam satu file besar: logika database, aturan bisnis, hingga tampilan antarmuka disatukan tanpa sekat. Hasilnya? Saat lu ingin mengubah satu fitur kecil, lu justru merusak sepuluh fitur lainnya karena semua bagian saling ketergantungan secara ilegal. Matakuliah “daging” di MU—seperti Analisis dan Perancangan Sistem atau Rekayasa Perangkat Lunak—hadir untuk membongkar rahasia Clean Architecture, sebuah disiplin yang memisahkan tanggung jawab kode agar sistem tetap sehat, mudah dirawat, dan skalabel untuk jangka panjang.
Mengenal Clean Architecture: Membedah Lapisan ‘Bawang’ dalam Sistem
Clean Architecture yang diajarkan di MU mengadopsi prinsip pemisahan kepentingan (Separation of Concerns). Bayangkan sistem lu seperti bawang yang berlapis-lapis. Inti terdalam adalah logika bisnis murni yang tidak boleh terpengaruh oleh perubahan teknologi di luar, seperti pergantian database atau framework.
Berikut adalah tabel pembagian lapisan dalam arsitektur bersih yang harus diterapkan mahasiswa agar kodingannya tidak lagi berantakan:
| Lapisan (Layer) | Fokus Utama | Contoh Implementasi di Lab MU |
|---|---|---|
| Entities | Logika Bisnis Inti | Objek “Barang” atau “Transaksi” (Plain Code) |
| Use Cases | Aturan Bisnis Spesifik | Logika “Cara Menghitung Diskon Member” |
| Interface Adapters | Konverter Data | Controller Laravel atau API Formatter |
| Frameworks & Drivers | Alat Eksternal | Database MySQL, Web Browser, atau UI |
Ekspor ke Spreadsheet
Dengan pembagian ini, mahasiswa diajarkan untuk menjaga agar lapisan dalam tidak pernah tahu apa yang terjadi di lapisan luar. Jika suatu saat PT Jaya Putra Semesta memutuskan pindah dari MySQL ke PostgreSQL, lu hanya perlu mengubah lapisan terluar tanpa menyentuh sedikit pun logika perhitungan bisnis di lapisan inti. Inilah yang disebut dengan sistem yang decoupled atau tidak saling mengikat secara kaku.
Kasus Nyata: Tragedi ‘Copy-Paste’ pada Proyek Event-Hub
Kasus nyata yang sering ditemui adalah saat mahasiswa membangun fitur autentikasi di proyek “Event-Hub”. Karena malas membuat struktur yang bersih, mereka menyalin (copy-paste) kode koneksi database ke setiap file. Saat password database berubah, mereka harus mengedit ratusan file secara manual. Ini adalah tanda nyata bahwa kode lu “bau” (code smell).
- Prinsip DRY (Don’t Repeat Yourself): Jangan menulis kode yang sama berulang kali. Jika lu butuh fungsi yang sama di dua tempat, buatlah satu fungsi terpusat.
- Single Responsibility: Satu fungsi atau kelas hanya boleh melakukan satu tugas. Jangan membuat fungsi “super” yang bisa melakukan simpan data, kirim email, sekaligus cetak struk dalam satu waktu.
- Keterbacaan (Readability): Gunakan penamaan variabel yang manusiawi. Gunakan
$totalHargadaripada$th, agar saat lu membaca kode itu lagi tiga bulan kemudian, lu tidak merasa sedang membaca bahasa alien. - Dependency Injection: Memasukkan ketergantungan dari luar, bukan membuatnya di dalam fungsi, sehingga kode lebih mudah diuji (testable).
Penerapan prinsip ini di Lab MU memastikan bahwa proyek skripsi lu tidak akan menjadi beban bagi pengembang berikutnya. Mahasiswa yang paham Clean Architecture adalah mereka yang sangat dicari industri karena kode mereka dianggap sebagai aset, bukan beban teknis (technical debt).
Pentingnya Refactoring: Seni Memperbaiki Tanpa Merusak
Di matakuliah tingkat lanjut MU, mahasiswa diajarkan teknik Refactoring—yaitu proses mengubah struktur internal kode tanpa mengubah perilaku eksternalnya. Lu tidak menambah fitur baru, lu hanya merapikan “kabel-kabel” yang berantakan di dalam. Di dunia profesional, kodingan pertama jarang sekali langsung bersih. Rahasia pengembang pro di MU adalah mereka selalu meluangkan waktu 10-20% dari total pengerjaan untuk merapikan kembali apa yang sudah mereka tulis.
Jejak audit dan dokumentasi kode menjadi sangat mudah jika arsitekturnya bersih. Saat lu melakukan sidang skripsi, lu bisa dengan percaya diri menjelaskan alur data tanpa perlu takut sistem mendadak error karena lu salah hapus satu baris kode. Kepercayaan diri ini lahir dari pemahaman mendalam tentang di mana letak setiap komponen sistem lu berada. Lu bukan lagi sekadar mengikuti tutorial di internet, tapi sudah mampu mendesain sistem yang elegan.
Menuju Karier Senior Developer: Mentalitas ‘Clean Code’
Menguasai Clean Architecture adalah lompatan besar dari seorang Junior Coder menjadi Senior Engineer. Perusahaan teknologi besar tahun 2026 tidak lagi tertarik pada orang yang hanya bisa membuat program cepat jadi tapi berantakan. Mereka mencari lulusan Sistem Informasi Universitas Ma’soem yang paham cara membangun infrastruktur digital yang kokoh dan mudah dikembangkan.
Budaya koding bersih di Lab Komputer MU mendidik lu untuk menghargai rekan kerja lu di masa depan—yang mungkin saja adalah diri lu sendiri. Jangan biarkan masa depan lu terhambat oleh kode berantakan yang lu tulis hari ini. Mulailah merancang dengan lapisan yang benar, terapkan prinsip-prinsip “daging” yang sudah dipelajari, dan jadikan setiap baris kodingan lu sebagai bukti bahwa lu adalah arsitek sistem yang kompeten. Kode yang bersih mencerminkan pikiran yang jernih, dan di Ma’soem University, kita tidak hanya belajar koding, tapi kita belajar membangun integritas melalui teknologi.





