Ketika Kode Kehilangan Makna: Kematian Utilitarian Programming
AW
Axel W

Dipublikasikan 28 Mei 2026

Ketika Kode Kehilangan Makna: Kematian Utilitarian Programming

Kapan terakhir kali kode yang kamu tulis benar-benar langsung menyentuh hidup seseorang?

Bukan sekadar mengoptimasi query database yang lebih cepat 12 milidetik. Bukan memperbarui dependency versi 2.4.1 ke 2.4.2. Bukan juga menulis wrapper library yang nantinya akan digunakan oleh developer lain untuk menulis library lain. Maksud saya kode yang benar-benar menyelesaikan masalah nyata bagi manusia nyata. Kode yang ketika berhenti berjalan, ada seseorang di dunia ini yang langsung merasakan konsekuensinya.

Jika kamu kesulitan menjawabnya, kamu tidak sendirian.

Abstraksi yang Menjebak

Beberapa waktu lalu, sebuah diskusi di Hacker News menarik perhatian saya. Seorang developer mengklaim bahwa utilitarian programming - paradigma di mana kode yang ditulis harus secara langsung berguna atau melayani kepentingan setidaknya satu manusia nyata - telah mati sekitar tahun 2014-2015. Bukan karena tidak ada lagi yang membutuhkannya, tapi karena kita, para developer, sengaja menceraikan diri dari kehidupan nyata.

Saya menemukan diri saya mengangguk membaca argumennya. Era desktop programming memang utilitarian dalam sifatnya. Kamu membangun aplikasi WinForms untuk klien dengan textbox, dropdown, dan button yang disesuaikan dengan domain bisnis mereka. Kamu belajar tentang inventory management, payroll, atau supply chain. Kamu tidak hanya menjadi Python coder atau PHP scripter - kamu menjadi problem solver yang memahami dunia nyata.

Lalu datanglah cloud. Microservices. Container orchestration. CI/CD pipelines. Sebuah lapisan abstraksi demi lapisan abstraksi menumpuk di antara programmer dan pengguna akhir. Kita mulai mengidentifikasi diri bukan berdasarkan masalah yang kita selesaikan, tapi berdasarkan teknologi yang kita kuasai. I am a Kubernetes engineer. I am a React developer. Seolah-olah teknologi itu sendiri adalah tujuan, bukan alat.

Programming sebagai Theory Building

Peter Naur, ilmuwan komputer Denmark yang terkenal dengan notasi BNF, pernah menulis sebuah esai klasik berjudul Programming as Theory Building. Inti argumennya sederhana namun mendalam: programming bukan sekadar menulis kode, melainkan membangun teori mental tentang domain masalah yang komprehensif. Programmer yang baik adalah programmer yang memahami kenapa sistem berjalan demikian, bukan hanya bagaimana.

Namun di era modern, berapa banyak dari kita yang masih membangun teori tersebut?

Kita mengonsumsi framework tanpa memahami fundamentalnya. Kita men-deploy microservices untuk aplikasi yang penggunanya belum sampai seribu orang. Kita menulis API wrapper di atas API wrapper, menciptakan indirection demi indirection sampai jarak antara programmer dan manusia yang seharusnya dilayani semakin tak terhingga.

Pada titik tertentu, kita berhenti menjadi engineer yang membangun solusi. Kita menjadi assembler yang menyusun komponen orang lain, tanpa pernah benar-benar memahami konteks kehidupan yang coba kita ubah.

AI dan Keterasingan Baru

Kemudian datanglah AI. Vibe coding. Prompt engineering.

Jika sebelumnya kita terpisah dari pengguna akhir karena lapisan abstraksi teknis, kini kita ditawari pemisahan yang lebih radikal lagi: kita bisa menulis kode tanpa benar-benar menulis kode. Tanpa benar-benar berpikir. Sebuah LLM menghasilkan boilerplate, kita mengoreksi sedikit, lalu men-deploy.

Ada yang bilang ini revolusi produktivitas. Tapi revolusi untuk siapa?

Saya bukan anti-AI. Saya menggunakan Copilot, Claude, dan berbagai tool AI setiap hari. Tapi saya khawatir tentang arah yang dituju. Ketika kode menjadi begitu mudah diproduksi, kita berisiko kehilangan hal terakhir yang masih menghubungkan kita dengan makna: proses berpikir itu sendiri. Seperti yang ditunjukkan oleh Naur, keahlian senior tidak terletak pada kecepatan mengetik, melainkan pada kedalaman pemahaman terhadap domain dan konteks.

Kode yang dihasilkan AI tanpa teori mental yang kuat di baliknya adalah kode tanpa jiwa. Ia berjalan, mungkin bahkan berjalan dengan baik, tapi ia tidak tahu apa yang sedang ia lakukan. Dan programmer di belakangnya pun ikut tidak tahu.

Mencari Kembali Utilitarian Coding

Jadi apa solusinya? Saya tidak punya jawaban sempurna. Tapi saya punya beberapa pertanyaan yang saya coba tanyakan pada diri sendiri setiap kali memulai proyek baru:

Pertama, siapa manusia terakhir yang akan merasakan dampak kode ini? Jika jawabannya adalah developer lain di tim saya, maka saya mungkin sedang menulis abstraksi, bukan solusi. Tidak apa-apa, tapi saya harus jujur tentangnya.

Kedua, apakah saya memahami domain masalah ini cukup untuk menjelaskannya kepada orang awam? Jika tidak, saya mungkin sedang bersembunyi di balik teknologi.

Ketiga, jika AI bisa menulis 90% kode ini, apakah 10% sisanya adalah tempat di mana nilai saya sebagai manusia benar-benar terletak?

Programming utilitarian bukan berarti kita harus kembali menulis aplikasi desktop dengan WinForms. Cloud, AI, dan abstraksi adalah kemajuan yang nyata. Tapi kemajuan teknis tanpa hubungan dengan kehidupan nyata adalah hobi yang mahal, bukan pekerjaan yang bermakna.

Mungkin saatnya kita berhenti mengejar teknologi untuk teknologi itu sendiri. Mungkin saatnya kita kembali menjadi problem solver yang kebetulan menggunakan kode, bukan sebaliknya.

Kapan terakhir kali kode yang kamu tulis benar-benar menyentuh hidup seseorang? Dan bisakah kamu membuatnya terjadi lagi besok?