Galat logika


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

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

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

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 */
}


A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: wikipedia/wikipediareadmore.php

Line Number: 5

A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: wikipedia/wikipediareadmore.php

Line Number: 70

 

A PHP Error was encountered

Severity: Notice

Message: Undefined index: HTTP_REFERER

Filename: controllers/ensiklopedia.php

Line Number: 41