Galat logika

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Loncat ke navigasi Loncat ke pencarian

Dalam pemrograman komputer, galat logika adalah kutu (bug) dalam program yang menyebabkan kesalahan operasi, namun tidak menyebabkan penghentian secara tidak normal (atau crash). Galat logika menghasilkan keluaran yang tidak dimaksudkan atau tidak diinginkan atau perilaku lain, walaupun mungkin tidak dapat seketika dikenali sebagai hal tersebut.

Galat logika terjadi baik dalam bahasa kompilator (kompiler) maupun penerjemah. Tidak seperti program dengan kekeliruan sintaks, program dengan galat logika adalah program yang sah dalam bahasa tersebut, meskipun tidak berlaku seperti yang dimaksudkan. Satu-satunya petunjuk adanya galat logika adalah hasil penyelesaian yang salah.

Penyebab umum[sunting | sunting sumber]

Kekeliruan dapat berupa galat logika dalam sebuah pernyataan (misalnya, rumus yang salah atau kurang tepat), kesalahan dalam algoritme, atau bahkan kekeliruan pemilihan algoritme.

Cara memperbaiki galat logika[sunting | sunting sumber]

Salah satu cara untuk menemukan kesalahan jenis ini adalah untuk mencetak variabel program ke dalam berkas atau pada layar dengan tujuan menentukan letak galat dalam kode. Meskipun ini tidak berlaku dalam semua kasus, misalnya saat pemanggilan subrutin yang keliru, ini adalah cara yang paling mudah untuk menemukan masalah jika program menggunakan hasil yang salah dalam perhitungan matematika.

Contoh[sunting | sunting sumber]

Fungsi dalam C ini digunakan untuk menghitung rata-rata dua bilangan yang mengandung galat logika. Galat tersebut adalah kurangnya tanda kurung dalam perhitungan, maka program dapat dikompilasi dan berjalan namun tidak memberikan jawaban yang benar.

int rata_rata(int bil1, int bil2)
{
    return bil1 + bil2 / 2;     /* seharusnya (bil1 + bil2) / 2 */
}