Penanganan Kesalahan
Pada Program
Muh. Taufiq Rustan, S. Kom
Kompetensi Dasar
3.17 Menganalisis penanganan kesalahan pada program
4.17 Melakukan perbaikan penanganan kesalahan
pada program
Tujuan pembelajaran
1. Melalui brainstorming peserta didik diharapkan mampu
menerapkan penangananan kesalahan dari program dengan
tepat
2. Melalui brainstorming peserta didik menentukan prosedur
yang tepat dalam penanganan kesalahan pada program
3. Melalui hasil praktik diharapkan mampu menguji prosedur
dalam penangangan kesalahan program dengan benar
4. Melalui praktik peserta didik diharapkan mampu menangani
kesalahan agar tercapai program yang berjalan dengan benar
Penanganan Kesalahan
pada Program
KD 3. 17
Penanganan Kesalahan
• 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 Kesalahan dalam
Program
• 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).
1. a. Undefined Variable
• Pesan kesalahan jenis ini disebabkan oleh nama variabel yang
disebutkan pada baris yang ditunjuk tidak dikenal.
• 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.
//Error Notice Undefined variable
$nama = ”Fulan Fulano";
echo "Nama saya adalah $name"; //<- Nama variabel salah
ketik
1. b. Undefined Index
• Pesan kesalahan jenis ini lebih terfokus pada index di baris
yang bersangkutan. Secara mendasar, index sering dipakai
sebagai array.
method yang disebutkan di PHP.
• Berikut ini beberapa penyebab terjadinya eror tersebut.
– 1) Atribut method atau method pada form HTML tidak sesuai dengan
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 [textarea) 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 hatihati dalam menggunakan besar kecilnya huruf yang
digunakan.
1. c. Undefined
Constant
• Notice Undefined constant muncul ketika di 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 (0) fungsinya sama petik 1 (), tetapi di dalam petik 2 (0) tersebut masih
bisa diisi variabel lainnya. Misalnya, echo "Nama saya adalah $nama".
3) Tanpa petik digunakan untuk string yang biasanya menggunakan petik 1 (),
tetapi sedang diapit oleh petik 2 (TM). Misalnya echo "nama saya adalah
$_POST[nama]”
1. 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)[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 1.
Untuk mengatasi error warning tersebut, Anda harus
menggunakan fungsi yang ada dengan baik dan
benar.
1. d. Pesan Error
Warning
2) 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.
1. d. Pesan Error
Warning
• 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.
1. 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 menampilkan 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 (baris
coding) dan pesan kesalahan muncul pada output-nya ketika dijalankan.
1. e. Pesan Parse
Error
1) Syntax Error
<?php
echo "kucing";
echo "tikus"
echo "harimau";
?>
1. e. Pesan Parse
Error
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
mengecek semua tanda kurung buka dan kurung tutup satu per satu.
1. f. Pesan Fatal
Error
• Berkaitan dengan nama fungsi
• Pesan eror jenis dapat diatasi dengan
meneliti ulang semua coding yang ada,
misalnya salah menyebutkan atau salah
mengetik pada nama fungsi yang digunakan
1. g. Pesan Blank
Error
• Penyebab utama terjadinya blank error adalah
kesalahan logika atau kesalahaan dalam
membuat IF tanpa ELSE.
• 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
• Jarang sekali 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
2. a. Menggunakan 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.
2. a. Menggunakan Fungsi
die()
<?php
if(!file_exists (”hello.txt"))
{
die ("File tidak ditemukan");
}
else {
$file=fopen(”hello.txt","r");
while(! feof ($file))
echo fgets ($file). "<br />";
}
fclose($file);
?>
Fungsi die() diletakkan
pada kondisi jika fungsi
file_existo 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.
2. b. Menggunakan Custom Error
Handler dan Trigger Error
1) Membuat Custom Error
Format Custom Error:
error_function (error_level, error_message, error_file, error_line,
error_context)
2. b. Menggunakan Custom Error
Handler dan Trigger Error
No. Jenis Error Status Keterangan
1 error_level Wajib diisi Level error untuk mendefinisikan
error pada pengguna berupa
nomor yang mengacu pada error
2 error_message Wajib diisi Pesan error untuk
mendefinisikan error pada
pengguna
3 error_file Opsional Nama file yang
memunculkan error
4 error_line Opsional Nomor baris yang
memunculkan error
5 error_context Opsional Array yang berisi semua
variable dan error yang
dihasilkan pada saat error itu
1) Membuat Custom Error
2. b. Menggunakan Custom Error
Handler dan Trigger Error
2) Membuat Custom Error
function customError($errno, $errstr) {
echo "<b>Error:</b> [$errno] $errstr <br>";
echo "Ending Script";
die();
}
2. b. Menggunakan Custom Error
Handler dan Trigger Error
fungsi custom error
<?php
//membuat
functioncustomError($errno, $errstr) {
echo "<b>Error:</b> [$errno] $errstr";
}
//mengeset error handler
set_error_handler("customError");
//trigger (memicu) terjadinya error
echo($test);
?>
2) Mengeset Error Handler dengan set_error_handler()
2. 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
<?php
//fungsi error handler ke email
function customError($errno, $errstr) {
echo "<b>Error:</b> [$errno]
$errstr<br>";
echo ”Eror ini telah disampaikan ke Webmaster";
error_log("Error: [$errno] $errstr",1,
"someone@domain.com","From: webmaster@domain.com");
}
//mengeset error handler
set_error_handler("customError",E_USER_WARNING);
//trigger (memicu) terjadinya error
$test=2;
if ($test>=1) {
trigger_error(”Nilai harus 1 atau lebih
kecil",E_USER_WARNING);
2. c. Menangani Error dengan Sistem
Reporting Melalui E-Mail
E_USER_WARNING
Peringatan yang dihasilkan pengguna tidak fatal. Ini seperti E_WARNING,
kecuali dihasilkan dalam kode PHP dengan menggunakan fungsi PHP
trigger_error ().
Selengkapnya :
https://www.w3schools.com/php/php_ref_error.asp
Internal Server Error
Internal server error adalah pesan yang web server ditampilkan karena tidak mampu memenuhi apa
yang diminta pengunjung web karena terdapat kesalahan untuk akses URL yang diminta pengunjung
karena terjadi kesalahan.
Penyebabnya:
a.File .htaccess yang salah, atau seting disebut hak akses yang salah untuk cara mengatasinya dengan
mengubah atau membuat .htaccess baru
b. Kesalahan coding di .htaccess
c. Kesalahan terjadi pada konfigurasi file atau file dengan awalan (.) contohnya: .htaccess
d. Limit memori pada paket hosting yang melebihi batas untuk cara mengatasinya dengan menaikkan
memori limit pada website. Jika memori limit sudah maksimal bisa menambah memori limit dengan cara
menghubungi pihak hosting. e. File index yang tidak ada tempatnya
f. Komputer terserang virus/trojan/spoofing cara mengatasi dengan scan virus.
Cara pengecekkan:
Untuk lebih baiknya kita bisa cek error log yang terjadi pada website karena web server juga
meninggalkan error log.
Di cpanel kita bisa cek melalui
cpanel =
>error log atau bisa lewat file manager =
>public_html =
> error_log.
Apa
itu .htaccess?
File .htaccess adalah file text sederhana dalam format ASCII.
Pada umumnya kita bisa menggunakan file .htaccess untuk
merubah beberapa konfigurasi untuk mengarahkan pada web server
Apache.
File .htaccess dapat ditaruh dimapun pada folder website Anda.
Ada beberapa hal yang dapat dilakukan dengan .htaccess,
Diantara yaitu:
• Mencegah pengunjung melakukan browsing direktori
• Me-redirect pengunjung dari satu halaman ke halaman lain
• Memberi proteksi password pada direktori
• Mengubah default halaman index pada folder tertentu
• Mencegah hot-linking of images dari website
SEKIAN

Penanganan Kesalahan pada Program aplikasi

  • 1.
  • 2.
    Kompetensi Dasar 3.17 Menganalisispenanganan kesalahan pada program 4.17 Melakukan perbaikan penanganan kesalahan pada program
  • 3.
    Tujuan pembelajaran 1. Melaluibrainstorming peserta didik diharapkan mampu menerapkan penangananan kesalahan dari program dengan tepat 2. Melalui brainstorming peserta didik menentukan prosedur yang tepat dalam penanganan kesalahan pada program 3. Melalui hasil praktik diharapkan mampu menguji prosedur dalam penangangan kesalahan program dengan benar 4. Melalui praktik peserta didik diharapkan mampu menangani kesalahan agar tercapai program yang berjalan dengan benar
  • 4.
  • 5.
    Penanganan Kesalahan • Ketikamembuat 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.
  • 6.
    1. Konsep PenampilanKesalahan dalam Program • 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).
  • 7.
    1. a. UndefinedVariable • Pesan kesalahan jenis ini disebabkan oleh nama variabel yang disebutkan pada baris yang ditunjuk tidak dikenal. • 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. //Error Notice Undefined variable $nama = ”Fulan Fulano"; echo "Nama saya adalah $name"; //<- Nama variabel salah ketik
  • 8.
    1. b. UndefinedIndex • Pesan kesalahan jenis ini lebih terfokus pada index di baris yang bersangkutan. Secara mendasar, index sering dipakai sebagai array. method yang disebutkan di PHP. • Berikut ini beberapa penyebab terjadinya eror tersebut. – 1) Atribut method atau method pada form HTML tidak sesuai dengan 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 [textarea) 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 hatihati dalam menggunakan besar kecilnya huruf yang digunakan.
  • 9.
    1. c. Undefined Constant •Notice Undefined constant muncul ketika di 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 (0) fungsinya sama petik 1 (), tetapi di dalam petik 2 (0) tersebut masih bisa diisi variabel lainnya. Misalnya, echo "Nama saya adalah $nama". 3) Tanpa petik digunakan untuk string yang biasanya menggunakan petik 1 (), tetapi sedang diapit oleh petik 2 (TM). Misalnya echo "nama saya adalah $_POST[nama]”
  • 10.
    1. d. PesanError 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)[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 1. Untuk mengatasi error warning tersebut, Anda harus menggunakan fungsi yang ada dengan baik dan benar.
  • 11.
    1. d. PesanError Warning 2) 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.
  • 12.
    1. d. PesanError Warning • 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.
  • 13.
    1. e. PesanParse 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 menampilkan 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 (baris coding) dan pesan kesalahan muncul pada output-nya ketika dijalankan.
  • 14.
    1. e. PesanParse Error 1) Syntax Error <?php echo "kucing"; echo "tikus" echo "harimau"; ?>
  • 15.
    1. e. PesanParse Error 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 mengecek semua tanda kurung buka dan kurung tutup satu per satu.
  • 16.
    1. f. PesanFatal Error • Berkaitan dengan nama fungsi • Pesan eror jenis dapat diatasi dengan meneliti ulang semua coding yang ada, misalnya salah menyebutkan atau salah mengetik pada nama fungsi yang digunakan
  • 17.
    1. g. PesanBlank Error • Penyebab utama terjadinya blank error adalah kesalahan logika atau kesalahaan dalam membuat IF tanpa ELSE. • 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.
  • 18.
    2. Prosedur Program PenangananKesalahan • Jarang sekali 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
  • 19.
    2. a. MenggunakanFungsi 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.
  • 20.
    2. a. MenggunakanFungsi die() <?php if(!file_exists (”hello.txt")) { die ("File tidak ditemukan"); } else { $file=fopen(”hello.txt","r"); while(! feof ($file)) echo fgets ($file). "<br />"; } fclose($file); ?> Fungsi die() diletakkan pada kondisi jika fungsi file_existo 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.
  • 21.
    2. b. MenggunakanCustom Error Handler dan Trigger Error 1) Membuat Custom Error Format Custom Error: error_function (error_level, error_message, error_file, error_line, error_context)
  • 22.
    2. b. MenggunakanCustom Error Handler dan Trigger Error No. Jenis Error Status Keterangan 1 error_level Wajib diisi Level error untuk mendefinisikan error pada pengguna berupa nomor yang mengacu pada error 2 error_message Wajib diisi Pesan error untuk mendefinisikan error pada pengguna 3 error_file Opsional Nama file yang memunculkan error 4 error_line Opsional Nomor baris yang memunculkan error 5 error_context Opsional Array yang berisi semua variable dan error yang dihasilkan pada saat error itu 1) Membuat Custom Error
  • 23.
    2. b. MenggunakanCustom Error Handler dan Trigger Error 2) Membuat Custom Error function customError($errno, $errstr) { echo "<b>Error:</b> [$errno] $errstr <br>"; echo "Ending Script"; die(); }
  • 24.
    2. b. MenggunakanCustom Error Handler dan Trigger Error fungsi custom error <?php //membuat functioncustomError($errno, $errstr) { echo "<b>Error:</b> [$errno] $errstr"; } //mengeset error handler set_error_handler("customError"); //trigger (memicu) terjadinya error echo($test); ?> 2) Mengeset Error Handler dengan set_error_handler()
  • 25.
    2. c. MenanganiError 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 <?php //fungsi error handler ke email function customError($errno, $errstr) { echo "<b>Error:</b> [$errno] $errstr<br>"; echo ”Eror ini telah disampaikan ke Webmaster"; error_log("Error: [$errno] $errstr",1, "someone@domain.com","From: webmaster@domain.com"); } //mengeset error handler set_error_handler("customError",E_USER_WARNING); //trigger (memicu) terjadinya error $test=2; if ($test>=1) { trigger_error(”Nilai harus 1 atau lebih kecil",E_USER_WARNING);
  • 26.
    2. c. MenanganiError dengan Sistem Reporting Melalui E-Mail E_USER_WARNING Peringatan yang dihasilkan pengguna tidak fatal. Ini seperti E_WARNING, kecuali dihasilkan dalam kode PHP dengan menggunakan fungsi PHP trigger_error (). Selengkapnya : https://www.w3schools.com/php/php_ref_error.asp
  • 27.
    Internal Server Error Internalserver error adalah pesan yang web server ditampilkan karena tidak mampu memenuhi apa yang diminta pengunjung web karena terdapat kesalahan untuk akses URL yang diminta pengunjung karena terjadi kesalahan. Penyebabnya: a.File .htaccess yang salah, atau seting disebut hak akses yang salah untuk cara mengatasinya dengan mengubah atau membuat .htaccess baru b. Kesalahan coding di .htaccess c. Kesalahan terjadi pada konfigurasi file atau file dengan awalan (.) contohnya: .htaccess d. Limit memori pada paket hosting yang melebihi batas untuk cara mengatasinya dengan menaikkan memori limit pada website. Jika memori limit sudah maksimal bisa menambah memori limit dengan cara menghubungi pihak hosting. e. File index yang tidak ada tempatnya f. Komputer terserang virus/trojan/spoofing cara mengatasi dengan scan virus. Cara pengecekkan: Untuk lebih baiknya kita bisa cek error log yang terjadi pada website karena web server juga meninggalkan error log. Di cpanel kita bisa cek melalui cpanel = >error log atau bisa lewat file manager = >public_html = > error_log.
  • 28.
    Apa itu .htaccess? File .htaccessadalah file text sederhana dalam format ASCII. Pada umumnya kita bisa menggunakan file .htaccess untuk merubah beberapa konfigurasi untuk mengarahkan pada web server Apache. File .htaccess dapat ditaruh dimapun pada folder website Anda. Ada beberapa hal yang dapat dilakukan dengan .htaccess, Diantara yaitu: • Mencegah pengunjung melakukan browsing direktori • Me-redirect pengunjung dari satu halaman ke halaman lain • Memberi proteksi password pada direktori • Mengubah default halaman index pada folder tertentu • Mencegah hot-linking of images dari website
  • 29.