Apa itu Kode Tidak Terjangkau?

Kode yang tidak dapat dijangkau adalah kode pemrograman yang tidak dapat dieksekusi dalam konteks apa pun. Ada berbagai alasan mengapa hal ini dapat terjadi, dan banyak bahasa komputer tidak mengizinkan eksekusi program jika bagian kode tidak dapat dijangkau. Masalah yang dihasilkan oleh kode yang tidak dapat dijangkau dapat diperbaiki dengan menghapus bagian kode yang bermasalah atau menulis ulang bagian kode untuk membuat bagian tersebut dapat dijangkau kembali.

Saat merekayasa perangkat lunak, relatif mudah untuk secara tidak sengaja membuat kode yang tidak dapat dijangkau. Setiap gangguan signifikan dalam aliran program berpotensi menyebabkan bagian kode tidak dapat dijangkau. Misalnya, pembuatan infinite loop secara tidak sengaja dapat membuat semua kode yang datang setelahnya tidak dapat dijangkau karena tidak akan ada cara untuk keluar dari loop dan melanjutkan program. Cara lain yang mungkin terjadi adalah jika suatu fungsi dikodekan untuk kembali sebelum semua kodenya dieksekusi. Dalam hal ini, kode setelah pernyataan pengembalian tidak dapat dijangkau.

Ada dua cara di mana kode unreachable dapat dihasilkan. Pertama, penanganan struktur kontrol yang tidak tepat saat menulis kode mentah dapat mengakibatkan bagian kode tidak dapat dijangkau. Kedua, kesalahan dalam struktur kontrol yang tidak terlihat selama proses pengkodean, tetapi muncul saat program dijalankan, juga dapat menyebabkan kode tidak dapat dijangkau. Jenis kesalahan pertama memiliki berbagai nama, termasuk kesalahan pengkodean atau kesalahan sintaksis, dan jenis kesalahan kedua adalah kesalahan runtime. Kesalahan pengkodean biasanya ditangkap oleh parser atau kompiler, tetapi kesalahan runtime hanya dapat dideteksi dengan menguji dan menjalankan program setelah selesai.

Kode yang tidak dapat dijangkau sering dikacaukan dengan kode mati, tetapi keduanya adalah hal yang sangat berbeda. Kode mati adalah kode yang mengeksekusi perhitungan tertentu, tetapi kemudian tidak melakukan apa-apa dengan hasil perhitungan tersebut. Ini tidak sama dengan kode yang tidak dapat dijangkau, yang tidak pernah dieksekusi sama sekali. Baik kode yang tidak dapat dijangkau maupun yang sudah mati sering kali dapat dihapus dari program tanpa merugikan, atau mereka dapat diintegrasikan kembali ke dalam program dengan memperhatikan alur kontrol program dengan cermat. Selain itu, kode yang tidak dapat dijangkau dan yang mati biasanya dapat dideteksi selama pengkodean dan sebelum menjalankan program.

Terlepas dari definisi yang tampaknya mengerikan, kode yang tidak dapat dijangkau seringkali relatif mudah untuk diperbaiki. Kehadiran kode yang tidak dapat dijangkau selalu menunjukkan masalah aliran kontrol, jadi analisis yang cermat dari aliran kontrol program biasanya akan mengidentifikasi kode yang melanggar dalam waktu singkat. Jika aliran kontrol program dipantau secara hati-hati selama proses pengkodean, kemungkinan menghasilkan kode yang tidak dapat dijangkau sangat rendah.