
OPERASI FILE 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.16 Menerapkan
operasi file
4.16 Membuat
kode program untuk operasi file
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
A. Operasi File
Data dan
program pada memori komputer hanya bisa bertahan selama komputer yang
bersangkutan masih menyala. Sementara itu, tempat atau media penyimpanan yang
lebih lama maka komputer dapat menggunakan file sebagai sebuah kumpulan data
yang disimpan dalam hard drive, disket, CDROM, USB, dan lain-lain. File disusun
dalam direktori (atau sering juga disebut folder). Direktori bisa terdiri atas
direktori lain atau file lain, sedangkan nama direktori dan file digunakan
untuk mencari suatu file dalam komputer.
Dengan menggunakan mekanisme penanganan file PHP, Anda bisa mendapatkan sumber file eksternal untuk dijadikan referensi. Modus operasi berhubungan dengan keterbatasan akses file yang akan dibuka• Untuk membuka file, perlu menentukan nama file dan mode yang digunakan• Pada dasarnya, ada empat set mode operasi yang digunakan dalam penanganan file PHP, yang dapat dilihat pada Tabel 8.1 berikut.
No |
Set Mode |
Keterangan |
1 |
{r dan r + } |
Untuk membaca file yang ada |
2 |
{w dan w + } |
Untuk men ubah 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
denganyna |
Mode of Operation |
File Mode |
File Pointer Position |
r |
read-only |
Mulai dari isi file |
r + |
read-write |
Mulai dari isi file |
$filePointer = fopen ( "hello . txt" , "r") ;
while ( ! feof ($filePointer) ) {
echo fgets ($filePointer).”<br>”;
Warning: fopen (hello . txt) [function. fopen]
: failed to open
stream: No such file or directory in …
Warning: fgets ( ) expects parameter 1 to be
resource , boolean given in …
a.
Menulis ke sebuah
File
Untuk melakukan operasi penulisan, 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
memiòkuskan posisi awal konten file. Metode tersebut digunakan untuk mengubah
isi file yang ada seeara lengkap. Mode file yang dimaksud dapat dilihat pada
Tabel 8.3 berikut.
Tabel 8.3
Mode of Operation |
File Mode |
File Pointer Position |
w |
write-only |
Mulai dari isi file |
w + |
read-write |
Mulai dari isi file |
Misalnya
sebagai berikut
$fi1ePointer = fopen ("hello.txt" ,
"w";
fwrite( $fi1ePointer, "PHP POT: MySQL
Query\n" );
b.
Tambahkan Konten
ke File
Dalam operasi ini, isi file yang ada tidak akan
dihapus sehingga bisa menambahkan konten baru secara terus-menerus. Dalam hal
ini, 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 8.4 berikut.
Tabel 8.4
Mode of Operation |
File Mode |
File Pointer Position |
a |
write-only |
Mulai dari isi file |
a + |
read-write |
Mulai dari isi file |
Kode akan mirip dengan file-write, kecuali mode yang
ditentukan untuk membuka file, misalnya sebagai berikut.
$filePointer
= fopen ("hello.txt" "a");
c.
Buat File Baru
Di sini juga tersedia dua mode penanganan file yang
digunakan untuk menulis ke file yang baru dibuat. Mode file yang dimaksud dapat
dilihat pada Tabel 8.5 berikut.
Tabel 8.5
Mode of Operation |
File Mode |
File Pointer Position |
x |
write-only |
- |
x + |
read-write |
- |
Misalnya sebagai berikut
$filePointer = fopen ("hello.txt"
"x");
fwrite( $fi1ePointer, "PHP POT:
FUNCTIONS\n" );
Eksekusi akan dihentikan
jika menjumpai error berikut.
Warning: fopen (hello . txt) [function. fopen]
: failed to open
stream: File exists in ... on line ...
Warning: fwrite ( ) expects parameter 1 to be
resource , boolean given in …
d.
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. Penggunaan fclose () di program PHP pada dasarnya menggunakan
format sebagai berikut.
fclose(
$fiIePointer);
Guna menambah fungsi edit, update, dan delete data
diawali dengan mempersiapkan 3 buah file berekstensi *.PHP, beri nama dari
masingmasing file tersebut dengan nama edit.php, update.php, dan delete.php.
a.
File edit.php
File edit.php digunakan untuk menampilkan form update.
Selanjutnya,
membuka file edit.php dan memasukkan skrip berikut.
<?php
include "dua.php";
$id=$_REQUEST['ID'];
$sql=("SELECT * FROM input_tabel WHARE ID='$id'");
$result=mysql_query($sql);
$show=mysql_fetch_array($result);
?>
<html>
<head>
<title></title>
</head>
<body>
<form method= "post" action="update.php">
<input type="hidden" name= ' ID' value="<?php echo
$show['ID']; ?>" / > <br
/>
Nama : <input type=" text" name="nama"
value="<?php echo $show['nm' ] ; ?>" /> <br / >
Alamat : <input type=" text" name=" alamat" echo
$show[ ' addr'] ; ?>" / > <br / >
Telepon : <input type=" text" name=" telp'
value="<?php echo $show[' tlp' ] ; ?>" /> <br/>
<input type=" submit" value="Update" / >
</form>
</body>
</html>
Berdasarkan coding di atas, prosedur menggunakan edit
atau update berdasarkan pada 'ID' Oleh karena itu, perlu menambahkan query ID
pada saat pembuatan tabel sebelumnya karena setiap ID di seting Auto Increment
akan mendapatkan value yang berbeda-beda. Dalam hal ini, value berupa penomoran
dari 1—10 dan terinput otomatis setiap kali memasukkan data baru. Oleh karena
itu, ditambahkan fungsi WHERE ID='$id' agar sistem dapat mengidentifikasi data
yang ingin di-update berdasarkan ID. Fungsi tersebut diperlukan karena jika
tidak, semua data akan ikut berubah padahal Anda hanya menginginkan satu data
saja yang ingin diubah. Selanjutnya, pada form <input> di dalamnya diberi
tambahan berupa value='<?php echo $show[']; ?> sehingga pada saat
dieksekusi form-nya tidak blank, tetapi terisi default-nya dan isi inilah yang
bisa diedit.
b.
File update.php
File update.php berfungsi dalam memproses data yang
dikirim dari file edit.php lalu di-input lilang ke database sebagai data baru.
Di dalam file tersebut berisi skrip yang bertugas melakukan update, teknisinya
pada file edit.php digunakan untuk melakukan edit data yang sudah ada. Setelah
diklik tombol Submit maka action akan memanggil file update.php untuk memproses
datanya. Berikut ini skrip yang digunakan untuk update.php.
<?php
include
"dua.php";
$name=$_REQUEST['nama'];
$alm=$_REQUEST['alamat'];
$telp=$_REQUEST['telp'];
$id=$_REQUEST['ID'];
$sql= ("UPDATE input_tabel SET
nm='$name', addr='$alm', tlp='$telp' WHERE ID='$id'");
$result=mysql_query($sql);
if
($result) {
include
"show.php";
echo
"Data berhasil di update";
}
else {
echo
"Gagal update data";
}
?>
c.
File delete.php
Delete.php yang bertugas dalam menghapus data yang
sudah diinput di dalam database. Berikut ini skrip yang digunakan untuk
delete.php.
<
?php
include "dua.php";
$id=$_REQUEST['ID'] ;
FROM input_tabel WHERE ID='$id';
$result=mysql_query ($sql);
if ($result) {
include "show.php";
echo "Data berhasil di
hapus";
} else {
echo "Data gagal di hapus";
}
?>
d.
Menampilkan Tombol
Edit dan Delete
Langkah terakhir adalah menampilkan tombol Edit dan
Delete dengan cara membuka file show.php seperti skrip berikut.
echo "$n. $a — $b — $c <br
/>";
Selaniutnya, menambahkan skrip tertentu schingga
hasilnya akan seperti tersebut.
echo
"$n. $a — $b — $c <br />";
?>
<a
href="edit.php?ID=<?php echo $show['ID'];
?>">EDIT</a>
<a href="delete.php?ID=<?php echo $show['ID'];
?>">DELETE</a><br/>
<
?php
Pada akhirnya, lakukan refresh kembali browser Anda
pada halaman file show.php. Jika berhasil, seharusnya opsi EDIT dan DELETE akan
tampil di setiap data yang sudah dimasukkan.
MENANYA
Masing-masing siswa membuat beberapa pertanyaan tentang program membaca dan menyimpan file yang kurang dimengerti kemudian saling tukar dengan teman sebangku. Mintalah mereka untuk menjawabnya. Apabila mengalami kesulitan, bertanyalah pada guru!
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.