
PENANGANAN KESALAHAN PADA PROGRAM
KOMPETENSI INTI
3. Memahami, menerapkan, menganalisis,
dan mengevaluasi tentang pengetahuan faktual, konseptual, operasional dasar,
dan metakognitif sesuai dengan bidang dan lingkup kerja Rekayasa Perangkat
Lunak pada tingkat teknis, spesifik, detail, dan kompleks, berkenaan dengan
ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dalam konteks
pengembangan potensi diri sebagai bagian dari keluarga, sekolah, dunia kerja,
warga masyarakat nasional, regional, dan internasional.
4. Melaksanakan tugas spesifik dengan
menggunakan alat, informasi, dan prosedur kerja yang lazim dilakukan serta
memecahkan masalah sesuai dengan bidang kerja Rekayasa Perangkat Lunak.
Menampilkan kinerja di bawah bimbingan dengan mutu dan kuantitas yang terukur
sesuai dengan standar kompetensi kerja. Menunjukkan keterampilan menalar,
mengolah, dan menyaji secara efektif, kreatif, produktif, kritis, mandiri,
kolaboratif, komunikatif, dan solutif dalam ranah abstrak terkait dengan
pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas
spesifik di bawah pengawasan langsung. Menunjukkan keterampilan mempersepsi,
kesiapan, meniru, membiasakan, gerak mahir, menjadikan gerak alami dala ranah
konkret terkait dengan pengembangan dari yang dipelajarinya di sekolah serta
mampu melaksanakan tugas spesifik di bawah pengawasan langsung.
KOMPETENSI DASAR
3.17 Menganalisis
penanganan kesalahan pada program
4.17 Melakukan
perbaikan penanganan kesalahan pada program
APERSEPSI
Dalam pemrograman PHP
sering dijumpai eror karena ada kesalahan pada salah satu proses. Kesalahan
tersebut bisa dikarenakan suatu komponen yang dibutuhkan program tidak ada atau
syarat yang diminta tidak terpenuhi. Misalnya, sebuah program untuk membuka
file, namun file yang dimaksud ternyata tidak ada maka otomatis browser akan
menampilkan eror. Jika tampil pesan eror pada browser, program yang dibuat
tersebut akan membuat celah yang membahayakan bagi keamanan program itu
sendiri. Untuk itu, perlu dibuat sebuah penanganan eror yang menghentikan
program dan menampilkan pesan eror sesuai kondisi yang terjadi.
MENGAMATI
Pelajarilah buku teks
maupun sumber lain tentang operasi file dan penanganan kesalahan pada program
dengan baik dan benar!
AYO PAHAMI
B. Penanganan
Kesalahan pada Program
Ketika membuat script dan
aplikasi web, penanganan kesalahan adalah bagian penting. Jika sebuah kode
program tidak memiliki prosedur kesalahan kode pada pengecekan, program
tersebut akan membuka risiko keamanan. Default error handling di PHP sangat
simpel, di mana pesan kesalahan dengan nama file, nomor baris, dan pesan yang
menjelaskan kesalahan tersebut dikirim ke browser. Misalnya, dengan banyaknya
simbol/kode dalam bahasa PHP, terdapat kemungkinan membuat kesalahan atau lupa.
Secara umum, browser dan text editor akan memberi warning jika ada kesalahan
penulisan selama prosedur error_reporting() diaktifkan ataupun mendapatkan
error yang tidak sesuai dengan baris sesungguhnya. Hal tersebut dapat terjadi
karena lupa memberikan kurung tutup pada saat mendeklarasikan kondisi IF..ELSE,
looping FOR, WHILE, dan lain-lain.

1.
Konsep Penampilan
Keselahan dalam Pemrograman
Seperti bahasa pemrograman lainnya, PHP juga memiliki
mekanisme penanganan kesalahan dengan menampilkan pesan-pesan kesalahan sesuai
dengan jenis kesalahannya. secara umum, sebuah kode PHP hanya membutuhkan waktu
beberapa detik untuk menjalankan kode program. Apabila lebih dari waktu
tersebut, dapat dipastikan terdapat kode yang salah, misalnya terjadinya
infinity loop (kode perulangan yang tidak pernah berhenti).
a.
Undefined
Variable
Pesan kesalahan jenis ini
disebabkan oleh nama variable yang disebutkan pada baris yang ditunjuk tidak
dikenal. Perhatikan potongan code berikut.
saat dieksekusi, berikut ini
hasilnya.

Pada
pesan eror di atas, terdapat nama variabel "name" yang tidak dikenal
pada baris ke-4. Ada dua kemungkinan yang menjadi penyebabnya sebagai berikut.
1)
Belum deklarasi
variabel dengan nama tersebut.
2)
Variabel sudah
dideklarasi, tetapi terjadi kesalahan dalam menulis. Misalnya, mendeklarasikan $nama,
tetapi yang dipanggil justru $name. Cara memperbaikinya adalah dengan
menyamakan nama variabel yang dideklarasikan dengan yang disebut.
b.
Undefined Index
Pesan
kesalahan jenis ini lebih terfokus pada index di baris yang bersangkutan.
Secara mendasar, index sering dipakai sebagai array.
Informasi
eror seperti gambar di atas dapat terjadi karena sering menggunakan pengiriman
data lewat form HTML ke PHP. Berikut ini beberapa penyebab terjadinya eror
tersebut.
1)
Atribut method
atau method pada form HTML tidak sesuai dengan method yang disebutkan di PHP.
Misalnya, di HTML membuat [form action="..." method="post"]
tetapi di PHP justru memanggilnya dengan
perintah $_GET[...].
2)
Tidak adanya nama
di tag-tag input yang akan dikirim. Hal tersebut harus diteliti ulang pada tag
[input], [select], ataupun [textareal yang belum diberikan atribut
name="…".
3)
Nama atribut di
HTML berbeda dengan yang dipanggil di PHP. Jika sebuah coding di HTML membuat
[input name="nim"], pada PHP membuat kode panggil $_POST['NIM']. Hal
yang perlu dipahami adalah PHP menggunakan sistem Case Sensitive sehingga harus
hati-hati dalam menggunakan besar kecilnya huruf yang digunakan.
c.
Undefined Constant
Notice
Undefined Constant muncul ketika dl bagian yang seharusnya diberikan tanda
petik (baik petik 1 atau petik 2), tetapi lupa mengisinya. Berikut ini aturan
dalam penggunaan tanda petik.
1)
Petik 1 ( ‘ )
digunakan untuk mendefinisikan sebuah string maupun sebuah index. Misalnya pada
echo 'komputer', atau $_POST[‘komputer’].
2)
Petik 2 ( “ )
fungsinya sama petik 1( ‘ ) , tetapi di dalam petik 2 tersebut masih bisa diisi
variabel lainnya. Misalnya, echo "Nama saya adalah $nama".
3)
Tanpa petik
digunakan untuk string yang biasanya menggunakan petik I ( ‘ ), tetapi sedang
diapit oleh petik 2 ( “ ). Misalnya echo "nama saya adalah
$_POST[nama]".

d.
Pesan error
WARNING
Secara umum, pesan error notice di PHP hanya berupa
peringatan dan script tetap dilanjutkan seperti biasa. Beberapa jenis eror
dengan level penanganan lebih tinggi, di antaranya sebagai berikut.
1)
Pesan kesalahan:
[nama fungsi] Expect at least (n) parameter
Pesan kesalahan tersebut
biasanya muncul pada saat memanggil sebuah function, terlepas function tersebut
buatan sendiri maupun function bawaan PHP. Fungsi explode() pada PHP seharusnya
diinputkan minimal 2 parameter, tetapi hanya diinputkan l. Untuk mengatasi
error warning tersebut, Anda harus menggunakan fungsi yang ada dengan baik dan
benar.
2)
Pesan kesalahan:
Warning mysql_fetch_array() expects parameter 1 to be resourcen dan Invalid
Arguments Suplied for Foreach
Pesan eror jenis ini pada
dasarnya berkaitan erat dengan database, baik menggunakan engine mysql maupun
PDO. Dua eror peringatan tersebut bisa muncul hanya karena sebuah penyebab yang
sama. yaitu SQL yang tidak valid. Cara memperbaikinya adalah dengan memastikan
SQL inputan di perulangan while maupun foreach sudah benar. Perhatikan bentuk
pesan eror berikut.

e.
Pesan Parse Error
Secara umum, pesan parse error dikategorikan sebagai
berikut.
1)
Syntax Error
Jenis
kesalahan yang paling sering ditemukan pada saat membuat program adalah
kesalahan syntax error, di mana perintah (statement) yang diketikkan menyalahi
aturan pengodean yang dimiliki oleh bahasa pemrograman yang digunakan. Syntax
Error merupakan jenis kesalahan yang paling sering ditemui, tetapi juga pada
umumnya paling mudah untuk ditanggulangi. Syntax Error cukup mudah diketahui
dan diperbaiki jika bahasa pemrograman yang digunakan menunjukkan baris
kesalahan dengan tepat dan menarnpilkan pesan kesalahan yang benar. Beberapa
penyebab terjadinya pesan parse error, antara lain adanya kurung kurawal yang
tidak ditutup, kutipan yang tidak ditutup, kurang titik koma, dan kelebihan
atau kekurangan tanda kurung. Parse Error jenis ini dapat terjadi karena adanya
kesalahan sintaks dalam script (bans coding) dan pesan kesalahan muncul pada
output-nya ketika dijalankan. Dengan adanya pesan parse error, proses eksekusi
script akan menghentikan. Ada banyak alasan ketika terjadinya parse error di
PHP. Perhatikan contoh berikut.

Tidak adanya titik koma di
baris kedua pada kode di atas akan mengakibatkan terjadinya parse error atau
syntax error yang menghentikan eksekusi script.
2)
Unexpected End of
File
Pesan
eror jenis ini disebabkan oleh kurangnya tanda kurung tutup (biasanya kurung
kurawal) yang lupa diberikan. Cara mengatasinya adalah dengan membuat coding
dari awal atau mengeeek semua tanda kurung buka dan kurung tutup satu per satu.
Perhatikan bentuk pesan eror berikut.

f.
Pesan Fata/ Error
Pesan eror jenis dapat
diatasi dengan meneliti ulang semua coding yang ada, misalnya salah menyebutkan
atau salah mengetik pada nama fungsi yang digunakan.
g.
Pesan Blank
Penyebab utama terjadinya
blank error adalah kesalahan logika atau kesalahaan dalam membuat IF tanpa
ELSE. Jadi, ketika menjalankan sebuah coding tiba-tiba terjadi masalah yang
tidak diketahui, bahkan di bagian di coding sendiri juga membuat sebuah kondisi
untuk mengantisipasi kesalahan tersebut, yang terjadi adalah pesan blank error

2.
Prosedur Program
Penanganan Kesalahan
Sulit dibayangkan jika seorang web programmer dapat
mengetikkan ratusan baris kode program tanpa ditemukan kesalahan pada saat
dijalankan atau dikompilasi untuk pertama kalinya. Penyebabnya adalah hampir
tidak ada aplikasi yang berjalan sempurna sebelum melewati berbagai rentetan
kesalahan. Makin besar aplikasi yang dibuat, makin banyak kesalahan yang dapat
timbul.
a.
Menangani Error pada PHP dengan Fungsi die()
Dari berbagai cara dan
metode dalam menangani eror yang dimiliki oleh PHP, terdapat satu cara yang
paling praktis dan simple, yaitu menggunakan fungsi die(). Caranya adalah
dengan menyeleksi kondisi lalu, jika tidak terpenuhi dapat menaruh fungsi
die(). Jika fungsi die() dieksekusi, program akan berhenti dan script program
di bawahnya tidak akan dijalankan. Berikut ini bentuk penggunaan fungsi die().

Fungsi die() diletakkan pada
kondisi jika fungsi file_exist() membalikkan nilai FALSE karena file tidak ada.
Dengan fungsi die(), eksekusi script akan dihentikan dan kode program di
bawahnya (baris ke-7 sampai akhir) tidak dijalankan.
b.
Menangani Error
dengan Custom Error Handler dan Trigger Error
Guna menangani eror pada PHP
dapat menggunakan fungsi Custom Error dam membuat Handler untuk menanganinya.
1)
Membuat Custom
Error
Untuk membuat custom error
digunakan aturan penulisan sebagai berikut.
Beberapa hal yang berhubungan dengan parameter dapat dilihat pada
2)
Membuat Custom Error
Berikut ini pembuatan custom
error dengan coding.

3)
Mengeset Error Handler
Pengesetan
Error Handler dapat menggunakan fungsi set_error_handler("Custom
Error"). Berikut ini bentuk penulisan
Script Custom Error dan Set
Error Handler.

c.
Menangani Error
dengan Sistem Reporting Melalui E-mail
Selain
menggunakan fungsi Custom Error dan membuat Handler cara dalam menangani eror
adalah melaporkan eror tersebut yang akan dikirimkan melalui e-mail. Bentuk
penulisan script membuat error reporting melalui e-mail adapat dilihat sebagai
berikut.
MENGEKSPLORASI
Buatlah sebuah kelompok kemudian
kumpulkan data tentang infinity loop (kode perulangan yang tidak pernah
berhenti) terutama yang berkaitan dengan solusi penanganan kesalahannya!
MENGASOSIASIKAN
DAN MENGOMUNIKASIKAN
·
Uraikan kembali
informasi yang diperoleh tentang masalah prosedur program penanganan kesalahan
terutama menangani eror pada PHP dengan fungsi die()!
· Presentasikan kesimpulan masalah menangani eror dengan custom error handler dan trigger error terutama pada implementasinya!
Assessmen !
Klik Link Berikut Ini
Tidak ada komentar:
Posting Komentar
Thank you for visiting Edu High School. This comment is an Auto Answer from our system please wait if your comment needs to be replied to urgently.
Greetings from us Edu High School.