Bagi kita yang sudah malang-melintang di dunia programming, termasuk PHP, tentunya sudah tidak asing lagi dengan yang namanya “error”
di dalam program. Ibaratnya itu sudah menjadi kudapan sehari-hari.
Hehe. Sedangkan bagi kita yang baru terjun di dunia programming,
terutama PHP, seringkali “error” merupakan sesuatu yang menakutkan dan
membingungkan. Banyak yang akhirnya nyerah dengan programming. Tahun
2008 lalu, saya pernah menulis artikel di website ini mengenai tingkatan error dalam program. Terdapat 3 (tiga) tingkatan error program yaitu error tata bahasa (sintaks), error runtime
dan error logika. Dari ketiga jenis error program tersebut, sebenarnya
yang paling mudah ditangani adalah error yang pertama yaitu error tata
bahasa (sintaks) karena compiler atau interpreter
langsung memberitahukannya saat program dikompilasi atau dijalankan.
Namun demikian, tetap saja diperlukan pengalaman, ketelitian dan
kegigihan dalam menangani atau mencari penyebab error yang muncul.
Dalam tutorial ini, berdasarkan pengalaman selama menjadi programmer dan mengajar di Universitas Budi Luhur, saya mencoba mengumpulkan berbagai macam error program PHP yang paling sering ditemui oleh programmer, terutama yang masih dalam tahap belajar. Setidaknya saya menyajikan 19 macam error program PHP yang terbagi menjadi 10 kategori berdasarkan penyebabnya masing-masing. Untuk setiap error program, disertakan contoh program sederhana yang disertai penjelasan solusi dan cara menangani error yang muncul. Kenapa
19 macam dan 10 kategori? Karena artikel ini mulai ditulis pada tanggal
19-10-2012 bertepatan dengan Hari Ulang Tahun ke-4 putra tercinta
Muhammad Lintang. 
Diharapkan dengan tutorial ini, kita semua akan
terbantu dalam memperbaiki berbagai error program PHP yang mungkin
ditemui saat membuat program. Memang untuk menjadi terbiasa menghadapi
berbagai error program, diperlukan proses pembelajaran dan pengalaman
yang cukup banyak. Oleh karena itu, perbanyaklah belajar dan mencoba
sebanyak-banyaknya program jika Anda ingin menguasai pemrograman web dengan PHP. Semoga tutorial ini bermanfaat untuk kita semua.
1. Kurang Titik-Koma
Jenis error program ini merupakan error yang paling
sering ditemui. Penyebabnya karena kurang menambahkan titik-koma ( ; )
pada akhir suatu perintah (statement). Solusi dalam mencari
letak kesalahan programnya membutuhkan kejelian dan ketelitian. Namun
demikian, umumnya akan ditunjukkan baris dimana error tersebut muncul.
Mulailah dari baris tersebut, namun tidak selamanya penyebab kesalahan
berada pada baris yang ditunjukkan. Terkadang penyebab kesalahan justru
berada di baris atas atau sebelumnya.
Berikut ini beberapa contoh program beserta tampilan error yang akan muncul jika program dijalankan:
-
<?php
-
$nim = "1111500111";
-
$nama = "Achmad Solichin"
-
echo $nim;
-
echo $nama;
-
?>
Jika program di atas dijalankan maka akan ditampilkan error sebagai berikut:
Parse error: syntax error, unexpected T_ECHO in /home/achmatim/public_html/artikel_demo/error-php/error1.1.php on line 4
Baris yang ditunjukkan pada tampilan error di atas
adalah baris ke-4, namun jika diperhatikan program 1.1 di atas ternyata
penyebab error justru bukan di baris ke-4. Penyebab error berada pada
baris 3, dimana statement tidak diakhiri dengan titik-koma ( ; ).
Mengapa PHP justru menunjuk ke baris 4? Hal ini disebabkan karena proses
pemeriksaan sintaks oleh PHP dilakukan secara berurutan (sekuensial)
dari baris pertama hingga terakhir. Pada baris ketiga belum terjadi
error, namun statement masih memerlukan adanya titik-koma ( ; ). Saat
PHP berada di baris 4, bukan titik-koma ( ; ) yang ditemukan, namun
justru perintah “echo”, sehingga disinilah PHP akan menunjukkan
errornya. PHP tidak akan mengetahui penyebab errornya dimana, namun PHP
akan menunjukkan pada baris mana error mulai terjadi. Tips:
periksa program pada baris yang ditunjukkan oleh pesan error, jika
tidak ditemukan, periksa baris atasnya. Demikian dan seterusnya hingga
penyebab error ditemukan.
-
<?php
-
$user = "achmatim";
-
$pass = "123"
-
if ($user == "achmatim" && $pass == "123") {
-
echo "Login Berhasil";
-
} else {
-
echo "Login Gagal";
-
}
-
?>
Jika program di atas dijalankan maka akan ditampilkan error sebagai berikut:
Parse error: syntax error, unexpected T_IF in /home/achmatim/public_html/artikel_demo/error-php/error1.2.php on line 4
Sama seperti program 1.1, penyebab errornya adalah
kurang titik-koma. Pada program 1.1, letak kesalahan diikuti dengan
perintah echo sehingga pesan kesalahan mengatakan “unexpected T_ECHO”.
Sedangkan pada program 1.2, letak kesalahan diikuti dengan perintah if,
sehingga pesan kesalahan yang ditampilkan adalah “unexpected T_IF”.
Dari pesan kesalahan tersebut, kita dapat mengetahui letak kesalahan
pasti berada sebelum perintah if, tepatnya pada baris ke-3, statement tidak diakhiri dengan titik-koma ( ; ).
-
<?php
-
-
switch ($day) {
-
case 'Sun' : $hari = "Minggu"; break;
-
case 'Mon' : $hari = "Senin"; break;
-
case 'Tue' : $hari = "Selasa"; break;
-
case 'Wed' : $hari = "Rabu"; break;
-
case 'Thu' : $hari = "Kamis"; break;
-
case 'Fri' : $hari = "Jum'at"; break;
-
case 'Sat' : $hari = "Sabtu"; break;
-
default : $hari = "Kiamat";
-
}
-
echo "Hari ini hari <b>$hari</b>";
-
?>
Jika program di atas dijalankan maka akan ditampilkan error sebagai berikut:
Parse error: syntax error, unexpected T_SWITCH in /home/achmatim/public_html/artikel_demo/error-php/error1.3.php on line 3
Seperti dua contoh sebelumnya, jelas bahwa pada program 1.3 letak kesalahan berada sebelum perintah switch,
tepatnya pada baris ke-2, statement tidak diakhiri dengan titik-koma ( ;
). Jadi, jika muncul pesan kesalahan yang mirip seperti di atas,
langsung saja cari perintah switch dan perhatikan baris perintah sebelumnya.
-
<?php
-
/* contoh 1 */
-
$i = 1
-
while ($i <= 10) {
-
echo $i++;
-
}
-
?>
Jika program di atas dijalankan maka akan ditampilkan error sebagai berikut:
Parse error: syntax error, unexpected T_WHILE in /home/achmatim/public_html/artikel_demo/error-php/error1.4.php on line 4
Pada contoh program 1.4 di atas, letak kesalahan berada tepat di atas perintah while, tepatnya di baris ke-3. Statement seharusnya diakhiri dengan titik-koma.
-
<?php
-
function cetak_ganjil ($awal, $akhir) {
-
for ($i=$awal; $i<$akhir; $i++) {
-
if ($i%2 == 1) {
-
echo "$i ";
-
}
-
}
-
}
-
//pemanggilan fungsi
-
$a = 10;
-
$b = 50;
-
echo "<b>Bilangan ganjil dari $a sampai $b : </b><br>"
-
cetak_ganjil($a, $b);
-
?>
Jika program di atas dijalankan maka akan ditampilkan error sebagai berikut:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/achmatim/public_html/artikel_demo/error-php/error1.5.php on line 13
Pada contoh program 1.5 di atas, sudah jelas bahwa
letak kesalahannya pada baris ke-12 dimana statement tidak diakhiri
titik-koma. Error dengan pesan “unexpected T_STRING” perlu dicermati
dengan lebih teliti karena error tidak hanya terjadi karena kurangnya
titik-koma, namun dapat juga karena kurang koma ( , ) atau operator
penggabungan string berupa titik ( . ). Namun demikian, umumnya terjadi
karena penulisan string yang tidak lengkap.
-
<?php
-
echo "test"
-
function cetak_ganjil ($awal, $akhir) {
-
for ($i=$awal; $i<$akhir; $i++) {
-
if ($i%2 == 1) {
-
echo "$i ";
-
}
-
}
-
}
-
//pemanggilan fungsi
-
$a = 10;
-
$b = 50;
-
echo "<b>Bilangan ganjil dari $a sampai $b : </b><br>";
-
cetak_ganjil($a, $b);
-
?>
Parse error: syntax error, unexpected T_FUNCTION, expecting ',' or ';' in /home/achmatim/public_html/artikel_demo/error-php/error1.6.php on line 3
Contoh program 1.6 di atas mirip dengan contoh
program sebelumnya, hanya saja letak kesalahannya sekarang berada pada
baris ke-2, sebelum pendefinisian fungsi. Pada baris tersebut,
seharusnya diakhiri dengan titik-koma ( ; ).
-
<?php
-
$nim = "0411500400";
-
$nama = 'Chotimatul Musyarofah';
-
$umur = 23;
-
$nilai = 82.25;
-
$status = TRUE;
-
echo "NIM : " . $nim . "<br>";
-
echo "Nama : $nama<br>";
-
print "Umur : " . $umur; print "<br>";
-
-
-
if ($status)
-
echo "Status : Aktif"
-
else
-
echo "Status : Tidak Aktif";
-
?>
Parse error: syntax error, unexpected T_ELSE, expecting ',' or ';' in /home/achmatim/public_html/artikel_demo/error-php/error4.1.php on line 14
Letak kesalahan pada contoh program 1.7 bukanlah pada
baris ke-14 seperti ditunjukkan di atas, namun terletak di baris ke-13
(sebelum perintah ELSE) dimana statement tidak diakhiri dengan
titik-koma.
2. Kekurangan atau Kelebihan Kutip
Penyebab error program yang kedua berkaitan dengan
tanda kutip, baik kutip tunggal (‘) maupun kutip ganda (“). Seperti kita
ketahui bahwa di PHP, string dapat dituliskan dengan diapit oleh tanda
kutip tunggal (‘) dan kutip ganda (“). Error program akan terjadi jika
penyajian tanda kutip yang tidak tepat, misalnya tidak ditutup (kurang
kutip) atau kelebihan kutip.
Berikut ini beberapa contoh program PHP yang error karena permasalahan tanda kutip:
-
<?php
-
$nim = "0411500400;
-
$nama = 'Chotimatul Musyarofah';
-
echo "NIM : " . $nim . "<br>";
-
echo "Nama : $nama";
-
?>
Parse error: syntax error, unexpected T_STRING in /home/achmatim/public_html/artikel_demo/error-php/error2.1.php on line 4
Perhatikan contoh program 2.1 di atas. Pesan
kesalahan menunjuk pada baris ke-4, tetapi penyebab kesalahan justru ada
di baris ke-2. Hal tersebut terjadi karena pada baris ke-2 terdapat
string yang dibuka dengan kutip ganda (“) namun tidak ada penutup atau
pasangannya. Pada proses kompilasi, PHP akan memeriksa sintaks program
secara berurutan. Saat ditemukan tanda kutip, maka program akan
menganggap teks berikutnya sebagai sebuah string hingga ketemu
pasangannya. Seperti pada contoh program 2.1 di atas, program tidak
menemukan pasangan dari kutip ganda (“) yang ada di baris kedua pada
baris yang sama, namun justru ditemukan kutip ganda (“) pada baris ke-4.
Kutip ganda pada baris keempat dianggap sebagai pasangan (penutup)
kutip ganda pada baris kedua. Setelah ditemukan penutup dari kutip
tersebut, maka program akan menganggap bahwa penyajian string
(statement) sudah lengkap dan harus ditutup dengan titik-koma atau
operator penggabungan string. Ternyata program tidak menemukan penutup
statement setelahnya, sehingga terjadilah error di baris ke-4.
Untuk mengatasi error pada program 2.1 di atas
tentunya cukup dengan menambahkan kutip ganda sebelum titik-koma pada
baris kedua. Menemukan letak kesalahan yang berkaitan dengan tanda kutip
memang terkadang agak sulit dilakukan, terutama pada program yang cukup
panjang. Letak kesalahan seringkali berada pada baris yang sama sekali
berbeda dengan petunjuk pada pesan kesalahannya. Oleh karena itu,
pemahaman terhadap penanganan string menjadi cukup penting dan sangat
membantu kita dalam menemukan letak kesalahan dengan cepat. Jika perlu,
pelajari kembali buku gratis Pemrograman Web dengan PHP & MySQL terutama Bab 6 mengenai String dan Tanggal.
Selain itu, penggunaan editor program yang baik dan sesuai juga sangat
membantu menemukan kesalahan dengan cepat, karena pada umumnya editor
memiliki pewarnaan yang berbeda antara string, nama variabel maupun
perintah bawaan PHP. Sebagai contoh, bandingkan contoh program 1.7 dan
2.1 di atas. Perintah echo pada program 1.7 semuanya berwarna kuning,
namun perintah echo pada program 2.1 berwarna biru. Hal tersebut
menunjukkan bahwa pada program 2.1 pasti terjadi kesalahan.
-
<?php
-
$nim = "0411500400";
-
$nama = 'Chotimatul Musyarofah;
-
echo "NIM : " . $nim . "<br>";
-
echo "Nama : $nama";
-
?>
Jika program di atas dijalankan maka akan ditampilkan pesan kesalahan sebagai berikut:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE in /home/achmatim/public_html/artikel_demo/error-php/error2.2.php on line 3
Penyebab error pada program 2.2 di atas sudah cukup
jelas, yaitu kurangnya pasangan tanda kutip tunggal ( ‘ ) pada baris
ketiga. Sama seperti error pada program sebelumnya, kita juga dapat
menganalisa kesalahan program dengan memperhatikan warna source code yang ditampilkan oleh editor.
-
<?php
-
$nim = 0411500400";
-
$nama = 'Chotimatul Musyarofah';
-
echo "NIM : " . $nim . "<br>";
-
echo "Nama : $nama";
-
?>
Jika program di atas dijalankan maka akan ditampilkan pesan kesalahan sebagai berikut:
Parse error: syntax error, unexpected '"' in /home/achmatim/public_html/artikel_demo/error-php/error2.3.php on line 2
Perhatikan baris kedua program 2.3 di atas. Terlihat bahwa nilai dari variabel $nim bertipe string, sehingga harus diapit dengan tanda kutip. Inisialisasi variabel $nim tidak diawali dengan tanda kutip ganda ( “ ) sehingga menyebabkan error program.
3. Kurang Operator Penggabungan String
Seperti kita ketahui bahwa suatu string dapat
digabungkan dengan variabel atau string lainnya menggunakan operator
penggabungan titik ( . ). Error akan ditampilkan jika pada penggabungan
string yang tidak menggunakan operator tersebut. Berikut ini contoh
program PHP yang error dalam hal penggabungan string.
-
<?php
-
$nim = "0411500400";
-
$nama = 'Chotimatul Musyarofah';
-
echo "NIM : " $nim . "<br>";
-
echo "Nama : $nama";
-
?>
Jika program di atas dijalankan maka akan ditampilkan pesan kesalahan sebagai berikut:
Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in /home/achmatim/public_html/artikel_demo/error-php/error3.1.php on line 4
Perhatikan baris keempat program 3.1 di atas. Antara string “NIM : “ dan variabel $nim
seharusnya terdapat operator penggabungan titik ( . ), seperti pada
penggabungan $nim dan string “<br>”. Selain dengan menggunakan
operator penggabungan, string dan variabel juga dapat digabungkan dengan
memasukkan nama variabel ke dalam string yang diapit dengan kutip
ganda, seperti pada contoh baris ke-5 program 3.1 di atas.
4. Kurang atau Kelebihan Kurung Kurawal
Pada bahasa pemrograman PHP, kurung kurawal, baik {
maupun }, digunakan untuk mengelompokkan suatu blok perintah tertentu,
seperti pada struktur kondisi IF-ELSE, perulangan WHILE, pendefinisian
fungsi, dan sebagainya. Penanganan error program yang berkaitan dengan
kelengkapan kurung kurawal terkadang sedikit sulit dilakukan, terutama
jika program sudah cukup kompleks dan gaya penulisan program (coding style)
tidak baik dan teratur. Kerapihan dalam penulisan program sangat
berguna bagi programmer dalam mengelola program di kemudian hari, maupun
dalam melakukan penelusuran kesalahan (error).
Gaya penulisan program atau coding style
memang setiap programmer memang berbeda, namun demikian biasakanlah
untuk mengikuti coding style yang baik. Di antara coding style yang baik
adalah konsistensi dalam penulisan nama variabel, fungsi dan class,
penggunaan indentasi (indenting) untuk blok dengan level yang
berbeda, penambahan keterangan atau komentar program dan sebagainya.
Kita dapat mengikuti salah satu coding standard yang sudah ada dan banyak digunakan oleh programmer di seluruh dunia, seperti Zend Framework Coding Standard dan PEAR Coding Standard.
Beberapa contoh program berikut ini akan mempermudah pemahaman kita dalam menangani kesalahan program terkait kurung kurawal.
-
<?php
-
-
switch ($day) {
-
case 'Sun' : $hari = "Minggu"; break;
-
case 'Mon' : $hari = "Senin"; break;
-
case 'Tue' : $hari = "Selasa"; break;
-
case 'Wed' : $hari = "Rabu"; break;
-
case 'Thu' : $hari = "Kamis"; break;
-
case 'Fri' : $hari = "Jum'at"; break;
-
case 'Sat' : $hari = "Sabtu"; break;
-
default : $hari = "Kiamat";
-
-
echo "Hari ini hari <b>$hari</b>";
-
?>
Jika program di atas dijalankan maka akan ditampilkan pesan kesalahan sebagai berikut:
Parse error: syntax error, unexpected $end in /home/achmatim/public_html/artikel_demo/error-php/error4.1.php on line 15
Saat kita menemukan pesan kesalahan seperti di atas,
terkadang kita bingung sendiri karena kesalahan justru menunjuk pada
baris yang tidak ada perintah apapun yaitu baris ke-15. Error tersebut
merupakan salah satu indikasi bahwa penyebab error adalah kurangnya
kurung kurawal penutup. Yang harus dilakukan adalah dengan memeriksa
setiap blok dalam program dan pastikan bahwa setiap kurawal buka {
memiliki pasangan }. Disinilah kerapihan penulisan program akan sangat
membantu penelusuran. Pada contoh program 4.1 di atas letak kesalahannya
ada di baris ke-12 dimana kurawal buka pada blok SWITCH-CASE belum memiliki pasangan (belum ditutup).
-
<?php
-
function cetak_ganjil ($awal, $akhir) {
-
for ($i=$awal; $i<$akhir; $i++) {
-
if ($i%2 == 1) {
-
echo "$i ";
-
}
-
}
-
}
-
}
-
//pemanggilan fungsi
-
$a = 10;
-
$b = 50;
-
echo "<b>Bilangan ganjil dari $a sampai $b : </b><br>";
-
cetak_ganjil($a, $b);
-
?>
Jika program di atas dijalankan maka akan ditampilkan pesan kesalahan sebagai berikut:
Parse error: syntax error, unexpected '}' in /home/achmatim/public_html/artikel_demo/error-php/error4.2.php on line 9
Berbeda dengan contoh program 4.1, pada contoh
program 4.2 justru kelebihan kurung kurawal penutup sehingga ditampilkan
error program seperti di atas. Pada pesan kesalahan ditunjukkan bahwa
error berada pada baris ke-9, namun sebenarnya kelebihan kurawal berada
di baris ke-8. Hapus kurawal } pada baris ke-8. Sekali lagi disini gaya
penulisan program yang baik akan sangat membantu proses identifikasi
kesalahan. Jika salah dalam menghapus kurung kurawal seringkali akan
menimbulkan error yang lain, sehingga diperlukan ketelitian dan
pengalaman dalam menangani error serupa.
5. Kesalahan Nama Variabel
Variabel merupakan tempat penyimpanan suatu nilai dalam program. Variabel terdiri dari 2 (dua) jenis, yaitu variabel bawaan (built-in) dari PHP dan variabel yang didefinisikan oleh programmer.
Untuk jenis yang kedua, kita dapat mendefinisikan variabel sesuai
kebutuhan, namun penamaannya harus mengikuti aturan-aturan yang telah
ditetapkan PHP. Beberapa aturan dasar antara lain harus diawali dengan
tanda $ dan diikuti dengan huruf atau garis bawah ( _ ), tidak boleh
diawali dengan angka, tidak boleh mengandung karakter khusus seperti
spasi, tanda ‘$’ dan tanda ‘+’, dan seterusnya. Kesalahan dalam penamaan
variabel dapat menyebabkan error program.
Berikut ini contoh error program yang disebabkan karena kesalahan penamaan variabel.
-
<?php
-
$nim = "0411500400";
-
$nama = 'Chotimatul Musyarofah';
-
$umur = 23;
-
$3nilai = 82.25;
-
$status = TRUE;
-
echo "NIM : " . $nim . "<br>";
-
echo "Nama : $nama<br>";
-
print "Umur : " . $umur; print "<br>";
-
-
-
if ($status)
-
echo "Status : Aktif";
-
else
-
echo "Status : Tidak Aktif";
-
?>
Jika program di atas dijalankan maka akan ditampilkan pesan kesalahan sebagai berikut:
Parse error: syntax error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in /home/achmatim/public_html/artikel_demo/error-php/error5.1.php on line 5
Pada baris ke-5 program 5.1 di atas terdapat
pendefinisian variabel $3nilai. Nama variabel tersebut tidak diijinkan
karena setelah tanda $ terdapat karakter angka. Seharusnya setelah tanda
$ diikuti oleh huruf atau karakter garis-bawah ( _ ). Untuk memperbaiki
program di atas, tentu dengan mengganti nama variabel sesuai dengan
ketentuan penamaan variabel yang benar.
6. Variabel Belum Didefinisikan
Dalam hal penanganan variabel, PHP memang memiliki
keleluasaan seperti variabel tidak perlu dideklarasikan. Kita dapat
langsung mendefinisikan isi dari variabel tanpa perlu dipusingkan dengan
deklarasi atau tipe data dari variabel. Tipe data akan ditentukan oleh
PHP berdasarkan isi dari variabelnya. Namun demikian, kita tetap perlu
memahami bahwa pada suatu kondisi, penggunaan variabel yang belum
terdefinisikan sebelumnya dapat menyebabkan munculnya error program.
Sebagai contoh dalam program 6.1 berikut ini.
-
<?php
-
for($i=1; $i<=10; $i++) {
-
$total = $total + $i;
-
}
-
echo $total;
-
?>
Jika program di atas dijalankan maka akan ditampilkan pesan kesalahan sebagai berikut:
Notice: Undefined variable: total in /home/achmatim/public_html/artikel_demo/error-php/error6.1.php on line 3
Maksud dari program 6.1 di atas adalah ingin
menghitung dan menampilkan total dari 10 bilangan bulat yang dimulai
dari 1. Dengan demikian terdapat variabel $total yang akan diisikan
hasil penjumlahan untuk setiap bilangan dari 1 hingga 10. Perhatikan
baris ke-3 program dimana terdapat perintah $total = $total + $i;.
Pesan kesalahan muncul karena pada saat perulangan baru dimulai ($i =
1) nilai awal dari $total yang ditambahkan dengan nilai $i belum
terbentuk atau belum ada. Untuk mengatasi error tersebut, kita perlu
mendefinisikan nilai awal dari $total sebelum perulangan untuk
menghitung total. Karena $total pasti akan bernilai bilangan bulat, maka
kita dapat memberi nilai awal $total dengan 0, sehingga perintah yang
perlu ditambahkan adalah $total = 0.
7. Mengakses Index Array yang Tidak Ada
Seperti halnya variabel, dalam hal penanganan array,
PHP juga tidak memerlukan pendeklarasian awal maupun penentuan jumlah
elemen dari array. Akan tetapi, pengaksesan elemen array yang tidak ada
atau belum terbentuk akan menyebabkan error seperti pada contoh program
7.1 berikut ini.
-
<?php
-
-
echo $arrBuah[0]; //Mangga
-
echo $arrBuah[4]; //Jeruk
-
?>
Jika program di atas dijalankan maka akan ditampilkan pesan kesalahan sebagai berikut:
Notice: Undefined offset: 4 in /home/achmatim/public_html/artikel_demo/error-php/error7.1.php on line 4
Pada program 7.1 diatas terdapat sebuah variabel array dengan nama $arrBuah
yang didefinisikan berisi 4 elemen. Index dari elemen array secara
default diawali dengan 0, sehingga elemen array tersebut dapat diakses
dengan index 0, 1, 2 dan 3. Pesan kesalahan terjadi karena pada baris
ke-4, program mengakses elemen dengan index 4, dimana index array
tersebut tidak ada atau belum terbentuk. Jika ingin mengakses elemen
terakhir dari $arrBuah tersebut, maka seharusnya menggunakan index 3.
8. Pembagian dengan Nol
Perhitungan matematika di dalam program seringkali
diperlukan, misalnya dalam kaitannya dengan perhitungan gaji,
perhitungan total pemesanan barang, dan sebagainya. Terkait dengan
perhitungan matematis tersebut, kita perlu jeli dalam penerapannya,
terutama jika berkaitan dengan pembagian. Dalam matematika, pembagian
dengan bilangan 0 akan menghasilkan nilai yang tidak terdefinisi. Dalam
program, pembagian dengan bilangan 0 akan menyebabkan adanya error “Division by zero”. Berikut ini contoh sederhananya:
-
<?php
-
$a = 10;
-
$b = 0;
-
-
echo $a / $b;
-
?>
Jika program di atas dijalankan maka akan ditampilkan pesan kesalahan sebagai berikut:
Warning: Division by zero in /home/achmatim/public_html/artikel_demo/error-php/error8.1.php on line 5
Perhatikan program 8.1 di atas. Nilai variabel $a
adalah 10, $b adalah 0. Pada baris ke-5 terdapat perintah untuk
menampilkan hasil pembagian $a / $b, yang berarti 10 / 0. Tentu hal
tersebut akan menyebabkan error seperti terlihat pada contoh di atas.
9. Memanggil Fungsi yang Belum Terdefinisi
Setiap fungsi, baik fungsi built-in maupun fungsi
buatan, yang dipanggil dalam program PHP, harus sudah didefinisikan
terlebih dahulu. Fungsi built-in sudah didefinisikan oleh PHP sehingga
tidak perlu didefinisikan lagi, contohnya fungsi strlen(), addslashes(),
explode(), date() dan sebagainya. Sementara itu, fungsi buatan harus
didefinisikan sendiri oleh programmer dan letak pendefinisian fungsi
dapat diakses oleh bagian program yang memanggilnya. Pemanggilan fungsi
yang belum terdefinisi atau kesalahan penulisan nama fungsi saat
pemanggilan sering terjadi sehingga menyebabkan pesan kesalahan.
Pada contoh program berikut ini terdapat kesalahan penulisan fungsi addslashes() sehingga menyebabkan error “Call to undefined function”.
-
<?php
-
$str = "Is your name O'Reilly ?";
-
$str2 = addlashes ($str);
-
-
echo "<b>String asli</b> : $str";
-
echo "<br><b>addslashes()</b> : $str2";
-
echo "<br><b>stripslashes()</b> : $str3";
-
?>
Jika program di atas dijalankan maka akan ditampilkan pesan kesalahan sebagai berikut:
Fatal error: Call to undefined function addlashes() in /home/achmatim/public_html/artikel_demo/error-php/error9.1.php on line 3
10. Menyertakan File (Include) yang Tidak Ada
Pada aplikasi berbasis PHP, menyertakan (include)
file sudah biasa dilakukan. Misalnya pada saat program harus menyertakan
library seperti Smarty, FPDF, JPGraph dan sebagainya. Untuk menyertakan
file lain dalam PHP dapat menggunakan fungsi include(), include_once(),
require() atau require_once(). Masing-masing memiliki perbedaan
penggunaannya. Penyertaan file yang tidak benar, baik karena filenya
tidak ada, path atau lokasi file yang salah maupun akses terhadap file
tidak diijinkan, dapat menyebabkan error program. Contohnya pada program
10.1 berikut ini.
-
<?php
-
include "koneksi.php";
-
echo "testing";
-
?>
Jika program di atas dijalankan maka akan ditampilkan pesan kesalahan sebagai berikut:
Warning: include(koneksi.php): failed to open stream: No such file or directory in /home/achmatim/public_html/artikel_demo/error-php/error10.1.php on line 2 Warning: include(): Failed opening 'koneksi.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/achmatim/public_html/artikel_demo/error-php/error10.1.php on line 2
File koneksi.php yang disertakan
dalam program 10.1 di atas tidak ada sehingga pesan kesalahan “failed to
open stream” muncul. Dengan demikian, kita harus pastikan bahwa file
yang kita include-kan benar-benar ada dan diakses dengan benar.
Demikianlah 10 Penyebab Error Program dalam PHP
beserta 19 contoh programnya. Semoga dengan artikel ini, kita semua
dapat lebih memahami bagaimana menangani pesan kesalahan atau error
program yang terjadi dalam proses pembelajaran kita. Dan yang terpenting
dalam proses pembelajaran PHP adalah konsistensi serta kesungguhan kita
dalam mencoba sebanyak-banyaknya contoh program sehingga kemampuan PHP
akan semakin meningkat.
Semoga tutorial ini
bermanfaat untuk kita semua. Selamat hari Sumpah Pemuda, 28 Oktober
2012. Satu Nusa, Satu Bangsa, Satu Bahasa, Satu Karya untuk Indonesia!
0 comments:
Post a Comment