Thumbnail Keep Calm. Ketika Pikiran Tenang, Solusi akan Lebih Mudah Ditemukan

Keep Calm. Ketika Pikiran Tenang, Solusi akan Lebih Mudah Ditemukan

Gue pengin cerita singkat, pengalaman gue ketika ngadepin sebuah bug atau error dadakan.

  • #programmer
  • #pengalaman
  • #kontrol-diri

Yappii

Yappii

Muhammad Naufal Yafi'



Bug vs Error

Jujur sebagai programmer gue lebih suka ngadepin error daripada bug. Error bisa ketauan, ada tanda merah, ada pesan stack trace, dan biasanya ngasih tau dimana letak baris error-nya. Tinggal cek baris, pahami polanya, terus beresin.

Beda kalo bug, lebih tricky. Sintaks aman, aplikasi tetep jalan, tapi hasilnya beda, nggak sesuai harapan. Nggak ada notifikasi, nggak ada stack race, susah nemuin petunjuk. Kita yang harus jeli nyari akar masalahnya dengan cara baca alur kode atau ngecek tiap perilaku fungsi kodenya.

tentu sangat susah nyari akar masalahnya, Editor nggak nggasih indikator ada sintaks mana yang salah? nggak ada log atau stacks trace, padahal aplikasi jalan normal tapi outputnya beda.

Bug tuh sering terjadi karena...

  1. Logic yang salah
    Sebenernya mau bikin umur 18 dan 18 ke atas bisa masuk, tapi karena salah logika, output yang dihasilkan tidak sesuai.

    js
    if (umur < 18) {
      console.log('Boleh masuk');
    }
    
  2. Alur data yang keliru
    Nilai yang masuk ga sesuai. Aplikasi tetep berjalan normal tanpa error.

    js
    function sum(num1, num2) {
      console.log(`${num1} + ${num2} = ${num1 + num2}`);
    }
    
    sum(1, '1'); // 11
    sum(1, 1); // 2 (benar)
    

Kalau error sering terjadi karena...

  1. Sintaks salah

    js
     // Contoh Benar
     if (x > 5) {
       console.log("OK")
     }
    
     // Contoh Salah
     if (x > 5 {   // kurang tutup kurung
       console.log("OK")
     }
    
  2. Null / undefined
    Ketika variabel kosong, tapi tetap memaksa ingin akses data atau object di variabel itu.

    js
    const user = null;
    console.log(user.username); // Error!
    
    // Untuk mencegah error
    console.log(user?.username);
    
  3. Tipe data salah
    Dibeberapa bahasa pemrograman strict mengenai tipe data, apalagi ketika melakukan aritmatika.

    java
    public static int tambah(int a, int b) {
       return a + b;
    }
    
    tambah(1, "2");
    
  4. Array Safety
    Sering kali ga ngecek berapa panjang arraynya. Pada contoh array hanya bisa digunain sampai arr[4], tapi malah gunainnya lebih, pasti akan terjadi error.

    php
    $arr = [0,1,2,3];
    echo $arr[999];
    

Panik Memperburuk Kondisi

Di beberapa kondisi, yang bikin situasi makin kacau bukan kodenya, tapi suasananya. Kadang orang yang report bug atau error datang dalam kondisi panik, ngomong cepat, atau bahkan seolah-olah masalahnya “darurat banget”. Reaksi kayak gitu bisa nular dan bikin kita ikut panik.

Masalahnya, kalau udah panik, cara berpikir jadi pendek. Hal yang sebenarnya simpel jadi terlihat rumit, dan hal yang sebenarnya bisa diselesaikan cepat malah kerasa buntu.

Makanya hal pertama yang gue lakuin ketika nemu masalah adalah nenangin diri dulu, baru pelan-pelan baca alur kodenya. Pahami dulu apa yang sebenarnya terjadi, apa inputnya, apa outputnya, dan di bagian mana kemungkinannya melenceng. Dan jika mentok jangan pernah nyalahin diri sendiri, ngerasa gagal atau ga mampu. Coba diskusi lagi dengan yang report bug tanyain alur gunainnya gimana, setelah itu bisa juga diskusi dengan tech lead atau programmer lain, barang kali bisa ngasih solusi disaat emang dah buntu.

Mungkin itu aja gambaran kecil yang bisa gue bagiin, ketika ada error atau bug dadakan. Semoga bisa ngasih insight baru. Terimakasih.

Sleman, DI Yogyakarta. 06 Desember 2025

Disunting pada 08 Desember 2025