The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

[BD-XII] 310.410 - Penggunaan SQL untuk Multi Tabel

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by Perpustakaan SMK Telkom Banjarbaru, 2022-01-12 01:04:25

Operasi File dan Penanganan Kesalahan pada Program

[BD-XII] 310.410 - Penggunaan SQL untuk Multi Tabel

Operasi File dan
Penanganan
Kesalahan pada
Program

Setyo Wahyu Saputro, S.Kom, M.Kom

Kompetensi Dasar

3.16 Menerapkan operasi file
4.16 Membuat kode program untuk operasi file
-----
3.17 Menganalisis penanganan kesalahan pada program
4.17 Melakukan perbaikan penanganan kesalahan pada
program
-----

Buku Referensi

Pemrograman Web dan Perangkat Bergerak
Program Keahlian Teknik Komputer dan Informatika
Kompetensi Keahlian Rekayasa Perangkat Lunak

SMK/MAK Kelas XI dan XII
Penerbit Andi.

Operasi File

KD 16

Operasi File

• Data dan program pada memori komputer hanya dapat
bertahan selama komputer yang bersangkutan masih
menyala

• Tempat atau media penyimpanan yang lebih lama maka
komputer dapat menggunakan file sebagai sebuah
kumpulan data yang disimpan dalam hard drive

1. Perintah untuk menangani File
dalam PHP

No Set Mode Keterangan

1 {r dan r +} Untuk membaca file yang ada

2 {w dan w +} Untuk mengubah keseluruhan isi file

3 {a dan a +} Untuk menambahkan konten setelah
konten file yang ada

4 {x dan x +} Untuk membuat file baru dan bekerja
dengannya

2. Program Membaca dan
Menyimpan File

File pointer pada dasarnya akan menunjuk ke awal file. Jenis-jenis mode penanganan
file di PHP yang digunakan untuk membaca file dilihat pada tabel berikut.

Mode of File Mode File Pointer Position
Operation
read-only Mulai dari isi file
r read-write Mulai dari isi file
r+

2.a. Membuka Sebuah File

• Untuk membuka file dengan nama dan mode yang sesuai dapat
menggunakan fungsi fopen().

• Penggunaan fungsi fopen() memiliki syarat utama, yaitu berkas yang ditentukan
harus benar-benar ada. Jika tidak ditemukan, jenis kesalahan yang dijumpai dapat
dilihat sebagai berikut.

$file = fopen("hello.txt","r");
while (!feof ($file)) {
echo fgets ($file). "<br>";

}

2.b. Menulis ke Sebuah File

• Untuk melakukan operasi penulisan dapat menggunakan fwrite()
• Terdapat dua pilihan untuk memilih mode file yang akan dibuka, yaitu w dan w+.
• Dengan menggunakan mode tersebut, seluruh isi file akan dihapus dan pointer akan

memfokuskan posisi awal konten file.
• Metode tersebut digunakan untuk mengubah isi file yang ada secara lengkap.

Mode of File Mode File Pointer Position
Operation
write-only Mulai dari isi file
w read-write Mulai dari isi file
w+

$file = fopen("hello.txt","w");
echo fwrite($file,"Tulis sesuatu!");

2.c. Menambahkan Konten ke File

• Dalam operasi ini, isi file yang ada tidak akan dihapus sehingga bisa menambahkan
konten baru secara terus-menerus.

• File pointer akan menunjukkan akhir file.
• Write dan Append mode pada pemrograman PHP akan membuka file yang ditentukan jika

ada. Jika tidak ada, maka file baru akan dibuat untuk melakukan penulisan dan
penambahan file. Mode file yang dimaksud dapat dilihat pada Tabel berikut.

Mode of File Mode File Pointer Position
Operation
write-only Mulai dari isi file
a read-write Mulai dari isi file
a+

$file = fopen("hello.txt",”a");

2.d. Membuat File Baru

• Tersedia dua mode penanganan file yang digunakan untuk menulis ke file
yang baru dibuat.

Mode of File Mode File Pointer Position
Operation
write-only -
x read-write -
x+

$file = fopen("hello.txt",”x");
echo fwrite($file,"Tulis sesuatu lagi!");

2.e. File Penutup

• Setelah melakukan berbagai jenis operasi file PHP, fungsi fclose() dapat
digunakan untuk mengakhirinya.

• Pada dasarnya, fungsi fclose() digunakan untuk menahan file pointer yang
berperan sebagai referensi sumber file.

$file = fopen("hello.txt","w");
echo fwrite($file,"Tulis sesuatu!");
fclose(file)

Penangan Kesalahan
pada Program

KD 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.

//Error Notice Undefined variable
$nama = ”Fulan Fulano";
echo "Nama saya adalah $name"; //<- Nama variabel salah ketik

• 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.

1. b. Undefined Index

• Pesan kesalahan jenis ini lebih terfokus pada index di baris yang bersangkutan.
Secara mendasar, index sering dipakai sebagai array.

• Berikut ini beberapa penyebab terjadinya eror tersebut.
1) Atribut method atau method pada form HTML tidak sesuai dengan
– Mmeistahlondyyaa, ndigHdiTsMebLutmkaemn bdui aPtH[Pfo. rm 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 Fungsi die() diletakkan pada
if(!file_exists (”hello.txt")) kondisi jika fungsi file_existo
{ membalikkan nilai FALSE
die ("File tidak ditemukan"); karena file tidak ada.
} Dengan fungsi die(), eksekusi
else { script akan dihentikan dan
$file=fopen(”hello.txt","r"); kode program di bawahnya
while(! feof ($file)) (baris ke-7 sampai akhir)
echo fgets ($file). "<br />"; tidak dijalankan.
}
fclose($file);

?>

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

1) Membuat Custom Error

No. Jenis Error Status Keterangan
1 error_level Wajib diisi
Level error untuk mendefinisikan
2 error_message Wajib diisi error pada pengguna berupa
3 error_file Opsional nomor yang mengacu pada error
4 error_line Opsional
5 error_context Opsional Pesan error untuk mendefinisikan
error pada pengguna

Nama file yang memunculkan
error

Nomor baris yang memunculkan
error

Array yang berisi semua variable
dan error yang dihasilkan pada
saat error itu muncul

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

2) Mengeset Error Handler dengan set_error_handler()

<?php
//membuat fungsi custom error
function customError($errno, $errstr) {

echo "<b>Error:</b> [$errno] $errstr";
}

//mengeset error handler
set_error_handler("customError");

//trigger (memicu) terjadinya error
echo($test);
?>

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,
"[email protected]","From: [email protected]");
}

//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
kyaanregndaimteirnjatadipkeensgaulnahjuanng. web karena terdapat kesalahan untuk akses URL yang diminta pengunjung
Penyebabnya:
ma.eFnigleub.hathaactcaeussmyeamnbgusaatla.hht,aactacuesssetbianrgudisebut hak akses yang salah untuk cara mengatasinya dengan
b. Kesalahan coding di .htaccess
c. Kesalahan terjadi pada konfigurasi file atau file dengan awalan (.) contohnya: .htaccess
md.eLmimoriit lmimeimt opraidpaawdaebpsaiktee.tJhikosatimnegmyaorniglimmeiltesbuihdiahbamtaaskusinmtuakl bciasraammeennagmatbaashinmyaemdeonriglainmimt edneanigkaknancara
menghubungi pihak hosting. e. File index yang tidak ada tempatnya
f. Komputer terserang virus/trojan/spoofing cara mengatasi dengan scan virus.

Cara pengecekkan:
Umnentuinkglgeablikhabnaeikrrnoyralokgit.a bisa cek error log yang terjadi pada website karena web server juga
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

Setyo Wahyu Saputro, S.Kom, M.Kom


Click to View FlipBook Version