Anda di halaman 1dari 16

TUGAS TEORI ONLINE

PEMROGRAMAN WEB

LAPORAN RESMI DAY 11

FILE HANDLING WITH PHP

Oleh :

I Gede Raka Sadiantara

D3 Teknik Informatika A

2103191002

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

TAHUN AJARAN

2019/2020
Tugas Praktikum
Buat Tampilan web seperti gambar dibawah, kemudian simpan datanya kedalam file text, isi
file text yang telah disimpan juga dapat ditampilkan kedalam layar. Seperti pada percobaan
diatas.
Contoh : Tampilan

Jawab :
Jadi hal yang pertama kali siapkan untuk membuat skrip PHP itu adalah lingkungan
pengembangan webnya. Karena PHP tidak client side namun server side maka harus
menyiapkan webserver, php dan data basenya. Tapi untuk memudahkan nya kita disini
langsung menggunakan all in one packages application, dan kali ini kita menggunakan
XAMPP. Untuk menjalankan webnya nanti aplikasi dari XAMPP ini harus senantiasa berjalan.
Berikut adalah contoh tampilannya :

21031910002 | I Gede Raka Sadiantara 2


Kita dapat menggunakan module yang ada, dan kali ini saya menggunakan apache
sebagai webservernya. Pastikan untuk background dari body itu berwarna hijau yang
menandakan aplikasi sudah berjalan sempurna sehingga nantinya tidak ada malasah saat
menjalankan web.
Langkah selanjutnya adalah dengan membuat file php nya yang kali ini saya
menggunakan visual studio untuk menuliskan source codenya. Untuk script lengkap tidak saya
berikan disini karena sudah dicantumkan pada google class room. Disini saya akan
menjelaskan bagian perbagian dari codingan saya, di mulai dari bagian pertama yakni sebagai
berikut :

File form_mahasiswa.php :

<html>
<head>
<title>Formulir DATA MAHASISWA</title>
</head>
<body>
<form name="form1" method="POST" action="save.php">
<table border="0">
<tr>
<td colspan="6"><h3><center> Homepage DATA ENTRY </center></h1
></td><br>
</tr>
<tr>
<td colspan="6"><h2><center> FORMULIR DATA MAHASISWA </center>
</h1></td><br>
</tr>

<tr>
<td><b>1. Nama :</b> </td>
<td colspan="5"><input name="nama" type="text" id="nama"></td>
</tr>
21031910002 | I Gede Raka Sadiantara 3
<tr>
<td><b>2. NRP : </b></td>
<td colspan="5"><input name="nrp" type="text" id="nrp"></td>
</tr>
<tr>
<td><b>3. Kelas :</b> </td>
<td colspan="5"><input name="kelas" type="text" id="kelas" ></
td>
</tr>
<tr>
<td><b>4. Jenis Kelamin :</b> </td>
<td><input type="radio" name="gender" value="L">Laki-Laki</td>
<td><input type="radio" name="gender"value="P">Perempuan</td>
</tr>

Analisa :

Kita tahu bahwa Struktur umum dari html itu sendiri adalah sebagai berikut :

<html>

<head>

</head>

<body>

</body>

</html>

Maka dari itu saya membuat struktur awal seperti itu dahulu, saya mengawali listing
program saya tersebut dengan tag html yang tujuannya adalah memberi tahu browser bahwa
yang ada dikedua tag <html> dan </html> adalah document dari html.

Bentuk penulisan HTML secara umum terdiri dari elemen, attribute, dan value serta
kali ini : Yang tulisan berwarna biru merupakan elemennya. Lalu untuk tulisan yang berwarna
hijau merupakan attribute dan yang berwarna orange merupakan value atau nilainya.

Selanjutnya terdapat tag <head> yang biasanya di tag ini akan memuat tag <tittle> yang
berfungsi untuk menampilkan judul dari halaman web. Dan nanti jika kita lihat dibrowser akan
ditampilkan pada bagian tab. Dan seperti biasa tag dari header akan ditutup dengan tag
</head>.

21031910002 | I Gede Raka Sadiantara 4


Pada bagian selanjutnya saya gunakan tag <body> dengan attribute bgcolor dan
memiliki nilai value sesuai file yang kita ingin tampilkan yakni pada kesempatan kali ini saya
menggunakan warna azure dengan kode warna #F0FFFF sebagi backgroundnya. Tag <body>
berfungsi untuk menampilkan text, image, link, serta semua yang akan kita tampilkan di web
page.

Sebuah form didefinisikan dengan tag <form>. <form> …</form>.


<table> element merepresentasikan data dengan lebih dari satu dimensi dalam bentuk sebuah
tabel (table). Diawal saya menggunakan block level h2 dan h3 untuk membuat judul dari form
dan juga menggunakan colspan agar tersedia ruang untuk menuliskan judul tersebut. Dan tag
center yang berguna untuk menaruh tulisan berada di tengah tengah table atau form.

Lalu saya menggunakan tag <tr></tr> yang digunakan untuk menambah baris pada
table, sehingga nanti akan muncul baris untuk bagian nama. Didalam tag <tr> saya memberikan
2 tag <td> yang bertujuan untuk membuat 2 kolom dalam satu baris nama itu, kolom satu saya
beri tulisan nama, lalu untuk kolom 2 saya menggunakan tag input dengan attribute type dengan
value text yang bertujuan untuk membuat kotak inputan untuk teks saja. Lalu untuk kolom ini
saya juga menggunakan attribute colspan yang bertujuan untuk menggabungkan beberapa
kolom menjadi satu. Lalu seperti biasa saya menutup tag tag tersebut dengan </(tag
yangdigunakan)>. Lalu untuk setiap informasi pada form saya tuliskan dengan huruf cetak
tebal agar memudahkan para user untuk membaca form yang kita buat dengan menggunakan
tag <b>.

Untuk informasi nama, NRP, dan Kelas mirip dengan yang saya jelaskan diatas. Namun
untuk iinformasi jenis kelamin sedikit berbeda dengan sebelumnya. Tepatnya pada bagian
inputnya, disini saya menggunakan type radio button. Sehingga nanti user hanya bisa memilih
satu dari pilihan yang ada.

<tr>
<td><b>5. Agama :</b> </td>
<td colspan="5"> <select name="agama" id="agama">
<option name="agama1" value="Islam" id="agama1">Islam<
/option>
<option name="agama2" value="Kristen" id="agama2">Kris
ten</option>
<option name="agama3" value="Hindu" id="agama3">Hindu<
/option>
<option name="agama4" value="Budha" id="agama4">Budha<
/option>
</select>
</td>
</td>
</tr>
<tr>

21031910002 | I Gede Raka Sadiantara 5


<td><b>6.Tempat/Tgl Lahir:</b> </td>
<td colspan="5"><input name="tempat" type="text" id="tempat">/
<input name="tanggal" type="text" id="tanggal"></td>
</tr>

<tr>
<td><b>7. Alamat : </b></td>
</tr>
<tr>
<td></td>
<td><textarea name="alamat" id="alamat"></textarea> </td>
</tr>
<tr>

<td><b>8. Pendidikan : </b></td>


</tr>
<tr>
<td></td>
<td > A. SD : </td>
<td colspan="5"><input name="sd" type="text" id="sd" ></td>
</tr>
<tr>
<td></td>
<td > B. SMP :</td>
<td colspan="5"><input name="smp" type="text" id="smp" ></td>
</tr>
<tr>
<td></td>
<td > C. SMA : </td>
<td colspan="5"><input name="sma" type="text" id="sma" ></td>
</tr>
<tr>
<td><b>9. Email :</b> </td>
<td colspan="5"><input name="email" type="text" id="email" ></
td>
</tr>
<tr>
<td><b>10. Homepage : </b></td>
<td colspan="5"><input name="homepage" type="text" id="homepag
e"></td>
</tr>

Hampir sama dengan bagian sebelumnya disini saya menggunakan tag tr dan td untuk
membuat baris dan kolomnya. Perbedaanya kembali terletak pada jenis inputan pada informasi
yang kelima. Disini saya menggunakan combo box. Dengan tag yang digunakan yakni
<select>, dan untuk isi dari boxnya tersebut kita dapat isi dengan tag option.

Untuk informasi yang keenam cara pembuatannya sama dengan pembuatan informasi
nama, hanya menggunakan tag tr dan td serta untuk type inputannya adalah text box.

Lalu untuk informasi yang ketujuh, yang membedakannya adalah type inputannya
yakni ia menggunakan textbox multiline, sehingga kita bisa menginputkan beberapa baris
21031910002 | I Gede Raka Sadiantara 6
kalimat atau informasi pada box yang disediakan. Untuk tag nya sendiri kita bisa menggunakan
tag <textarea>

Disini untuk informasi 9 dan 10 pembuatannya sama dengan pembuatan form informasi
yang nomer satu yakni bagian nama. Disini saya hanya menggunakan tag td dan tr untuk
membuat baris dan juga kolom pada formulir, lalu saya juga menggunakan colspan dengan
value lima yang digunakan untuk menggabungkan 5 kolom menjadi satu, dan type dari inputan
nya adalah text box.

Yang berbeda disini adalah bagian no. 8, karena disini terdapat penjabaran dari
informasi riwayat Pendidikan. Agar form riwayat Pendidikan disamping kanannya kosong kita
bisa memberikan kolom kosong sehingga disamping tulisan Pendidikan tidak terdapat text box.
Lalu untuk memberikan jarak antara batas kiri dengan tulisan sd smp smanya kita hanya perlu
membuat kolom yang kosong sehingga tulisan dan text boxnya dapat lebih menjorok ke tengah.

<tr>
<td><b>11. Hobby :</b> </td>
</tr>
<tr>
<td></td>
<td><textarea name="hobby" id="hobby"></textarea> </td>
</tr>
<tr>

<tr>
<td><b>12. Interest : </b></td>
<td><input name="minat1" type="checkbox" id="minat1" value="ch
eckbox">Komputer</td>
<td><input name="minat2" type="checkbox" id="minat2" value="ch
eckbox">Sport</td>
<td><input name="minat3" type="checkbox" id="minat3" value="ch
eckbox">Traveling</td>
<td><input name="minat4" type="checkbox" id="minat4" value="ch
eckbox">Writing</td>
<td><input name="minat5" type="checkbox" id="minat5" value="ch
eckbox">Reading</td>
</tr>
<tr></tr>
<tr></tr>
<tr>
<td></td>
<td><input type="submit" name="submit" value="SIMPAN"> </td>
<td><input type="reset" name="reset" value="RESET" > </td>
</tr>

</table>
<br><br>
</form>
</body>
</html>

21031910002 | I Gede Raka Sadiantara 7


Untuk hobby sama pembuatannya dengan alamat yang ada pada bagian sebelumnya,
menggunakan tipe inputan yakni text box. Namun pada bagian ini yang membedakan adalah
pada bagian interst menggunakan inputan type check box dengan menggunakan attribute type
dan value : checkbox.
Lalu untuk bagian bawah yang mirip seperti button itu kita bisa menggunakan type
inputan yakni submit dan juga reset dengan value sesuai dengan tulisan yang kita ingin
tampilkan , disini saya memberi tulisan/ valuenya yakni SIMPAN & RESET.

File save.php

<head>
<title>FORM MAHASISWA</title>
</head>
<body>
<?php
if (isset($_POST ["minat1"]))
$kode_minat1 ="v";
else
$kode_minat1 ="-";
if (isset($_POST ["minat2"]))
$kode_minat2 ="v";
else
$kode_minat2 ="-";
if (isset($_POST ["minat3"]))
$kode_minat3 ="v";
else
$kode_minat3 ="-";
if (isset($_POST ["minat4"]))
$kode_minat4 ="v";
else
$kode_minat4 ="-";
if (isset($_POST ["minat5"]))
$kode_minat5 ="v";
else
$kode_minat5 ="-";
$kode_minat = $kode_minat1 . $kode_minat2 . $kode_minat3 . $kode_minat4 .
$kode_minat5;

Nah, pada file save.php saya gunakan untuk mengatur penyimpanan data yang nantinya
akan disimpan dalam bentuk .txt seperti gambar dibawah :

21031910002 | I Gede Raka Sadiantara 8


Diatas adalah tampilan dari data yang telah diinputkan pada bagian form mainpage
sehingga data tersebut dapat disimpan secara permanen. Untuk penulisannya sendiri saya awali
dengan membuat head dan title dengan memberi title dengan nama FORM MAHASISWA.

Lalu saya lanjutkan dengan membuat bodynya yang berisikan script php yang diawali
dengan <?php yang menunjukkan itu asalah script php. Disini saya menggunakan fungsi isset
yang kegunaa Fungsi isset sendiri pada PHP adalah Fungsi isset () digunakan untuk memeriksa
apakah suatu variabel sudah diatur atau belum. Fungsi isset () mengembalikan false jika
variabel pengujian berisi nilai NULL. Fungsi isset () akan menghasilkan nilai true jika sebuah
variabel telah didefenisikan, dan false jika variabel tersebut belum dibuat.

Disini jika variable minat1 telah diatur maka akan dimasukkan valuenya ke variable
$kode_minat1 dengan terdapat string yakni v. namun jika belum atau bernilai false maka value
yang masuk pada variable $kode_minat 1 adalah – begitu pula seterusnya sampai dengan
variable minat5. Yang nantinya kode minat 1 sampai dengan 5 disimpan pada variable baru
yakni kode minat. Yang akan dicetak pada bagian selanjutnya.

//simpan
$nama = $_POST['nama'];
$handle = fopen("form_mahasiswa.txt", "a");
fputs($handle, $nama . "\n");
fputs($handle, $_POST['nrp'] . "\n");
fputs($handle, $_POST['kelas']. "\n");
fputs($handle, $_POST['gender']. "\n");
fputs($handle, $_POST['agama']. "\n");
fputs($handle, $_POST['tempat'] . "\n");
fputs($handle, $_POST['tanggal']. "\n");
fputs($handle, $_POST['alamat']. "\n");
fputs($handle, $_POST['sd']. "\n");
fputs($handle, $_POST['smp']. "\n");
fputs($handle, $_POST['sma']. "\n");
fputs($handle, $_POST['email']. "\n");
fputs($handle, $_POST['homepage']. "\n");
fputs($handle, $_POST['hobby']. "\n");//
fputs($handle, $kode_minat."\n");
fputs($handle, "*-*\n");

21031910002 | I Gede Raka Sadiantara 9


fputs($handle, "*-*\n");
fputs($handle, "*-*\n");
fclose($handle);
print("Halo, $nama. Data Anda telah Disimpan");
print("<br>Terimakasih");
?>
</body>

Disini saya membuat variable penampung yakni nama yang akan menerima nilai dari
file formmahasiswa.php. selanjutnya saya juga menggunakan variable handle dengan valuenya
yakni nilai dari fungsi fopen. Fopen sendiri adalah sebuah fungsi yang bertujuan untuk
membuka sebuah file yang kali ini merupakan file.txt yang digunakan untuk menyimpan
datanya. Karena kita sudah membuka datanya dengan fopen maka kita juga wajib menutupnya
dengan menggunakan fungsi fclose. Lalu saya disini menggunakan mode a dalam membuka
file ini yang berarti saya sapat menambah isi file tanpa mengubah isi file yang lama.

Lalu saya menggunakan fungsi fputs yang sebenarnya sama dengan fwrite yang
berfungsi untuk menulis pada file yang telah dibuka, karena value dari fungsi fopen sudah
terdapat pada variable handler kita tinggal sertakan variable handle tersebut dan juga data yang
telah dikirim melalu variable $_POST. Mulai dari nama sampai dengan interest nya. Lalu
diakhir penulisan saya beri tanda – yang bertujuan untuk memisakan data 1 dengan data kedua
dan seterusnya

Terakhir saya menggunakan print yang bertujuan agar setelah kita mengirimkan data
maka akan memunculkan Halo, (namainputan) . Data Anda telah disimpan. Terimakasih.
Sebagai tanda data telah tersimpan pada file .txt. tidak lupa untuk menutup script php dengan
?>.

File datamahasiswa.php

<html>
<head>
<title>Data Mahasiswa</title>
</head>
<body>
<?php
$no_data = 1;
$handle= fopen("form_mahasiswa.txt","r");
while ( ! feof($handle)){
$nama = trim(fgets($handle,255));
if ($nama == FALSE)
break;
$nrp = trim(fgets($handle,255));

21031910002 | I Gede Raka Sadiantara 10


if ($nrp == FALSE)
break;
$kelas = trim(fgets($handle,255));
if ($kelas == FALSE)
break;
$agama = trim(fgets($handle,255));
$gender = trim(fgets($handle,255));
$tempat = trim(fgets($handle,255));
$tanggal = trim(fgets($handle,255));
$alamat = trim(fgets($handle,255));
$sd = trim(fgets($handle,255));
$smp = trim(fgets($handle,255));
$sma = trim(fgets($handle,255));
$email = trim(fgets($handle,255));
$homepage = trim(fgets($handle,255));
$hobby = trim(fgets($handle,255));
$kode_minat = trim(fgets($handle,255));

Selanjutnya adalah saya membuat file datamahasiswa.php yang bertujuan untuk


menampilkan data yang sebelumnya sudah dimasukkan kedalam file formmahasiswa.txt
sehinga muncul pada tampilan web. Saya disini memulai dengan tag html laluu dilanjutkan
dengan tag head dan title dengan tulisan yakni Data Mahasiswa.

Lalu pada bagian body lalu saya beri script php yang diawali dengan <?php. dilanjutkan
dengan membuat variable no_data yang nilai awal saya beri dengan 1. Yang nantinya akan
menunjukkan data berapa yang saya tampilkan.

Selanjutnya kembali saya menggunakan variable penampung yang saya gunakan untuk
menampung nilai dari fungsi fopen yang bertujuan untuk membuka file dengan mode
membuka file yakni “r” yang berarti saya hanya dapat membaca file yang dimulai dari awal
file, yang seperti tujuan awal saya membuat file datamahasiswa.php ini.

Lalu saya menggunakan perulangan while yang memiliki fungsi untuk mengecek
apakah pointer atau kursornya berakhir pada akhir file. Parameter r pada fopen meletakkan
kursor diawal dan while tersebut akan terus mengecek apakah kursornya sudah sampai akhir
file, jika sudah sampai akhir file maka perulangan akan berhenti.

Lalu saya membuat variable nama yang berisikan fungsi trim yang
berfungsi digunakan untuk ‘membersihkan’ hasil input form dari karakter spasi yang sengaja
atau tidak sengaja ditambahkan pengguna. Sehingga memungkinkan nilai true lebih besar
terjadi daripada false. Namun jika false maka akan langsung diberhentikkan. Begitu pula
dengan nrp dan kelas. Lalu fgets yang berungsi untuk mengambil isi dari baris demi baris
menggunakan memory 255 byte. Begitu pula berlanjut sampai dengan variable kode minat.

21031910002 | I Gede Raka Sadiantara 11


$minat = "";
for ($i=0;$i<5;$i++){
if (substr($kode_minat,$i,1)== "v")
switch($i){
case 0:
$minat .= "Komputer<br>\n";
break;
case 1;
$minat .= "Sport<br>\n";
break;
case 2;
$minat .= "Travelling<br>\n";
break;
case 3;
$minat .= "Writing<br>\n";
break;
case 4;
$minat .= "Reading<br>\n";
break;
}
}
$ket = "";
while ( ! feof($handle))
{
$tmp = trim(fgets($handle, 255));
if ($tmp == "*-*")
break;

$ket .= ($tmp . "<BR>\n");


}

$ket = "";
while ( ! feof($handle))
{
$tmp = trim(fgets($handle, 255));
if ($tmp == "*-*")
break;

$ket .= ($tmp . "<BR>\n");


}

Lalu saya membuat variable minat dengan dilanjutkan degan perulangan for dan juga
decision if dan juga switch dengan menggunakan for pengecekan akan dilakukan sebanyak
kurang dari 5 kali. Sebelumnya juga dicek jika perbandingan minat tersebut sama dengan v
maka akan dilakukan pengecekan switch case. Untuk setiap case case nya yakni seperti pada
script diatas yang jika casenya terpenuhi maka variabel minat akan diisi string sesuai dengan
setiap casenya. Lalu terakhit untuk ket tersebut digunakan untuk kondisi akhir dan memberikan
keterangan bahwa data sudah selesai

//tampilkan
21031910002 | I Gede Raka Sadiantara 12
print("<BR> Data ke-$no_data : </br>\n");
printf("Nama : %s <br>\n", $nama);
printf("NRP : %s <br>\n", $nrp);
printf("Kelas : %s <br>\n", $kelas);
printf("Jenis Kelamin : %s <br>\n",
$gender == "L" ? "Pria" : "Wanita");
printf("Agama : %s <br>\n", $agama);
printf("Tempat Lahir : %s <br>\n", $tempat);
printf("Tanggal Lahir : %s <br>\n", $tanggal);
printf("Alamat : %s <br>\n", $alamat);
printf("SD : %s <br>\n", $sd);
printf("SMP : %s <br>\n", $smp);
printf("SMA : %s <br>\n", $sma);
printf("Email : %s <br>\n", $email);
printf("Homepage : %s <br>\n", $homepage);
printf("Hobby : %s <br>\n", $hobby);
print("\n");
if( ! empty($minat))
{
print("Interest : \n");
print("$minat \n");
}
print("<br>\n");
$no_data++;
}
?>
</body>
</html>

Pada bagian ini lah saya meampilakn seluruh value dari variable variable yang
sebelumnya dapat diolah terlebih dahulu. Diawal saya mencetak tulisan Data ke-(sesuai dengan
value variable no_data). Lalu untuk sisanya menggunakan fungsi printf dengan menggunakan
tipe tampilan string %s dan diiisi sesuai dengan variable apa yang ingin ditampilkan seperti
script diatas. Terakhir jika data lebih dari 1 maka no data akan di increment.

21031910002 | I Gede Raka Sadiantara 13


Hasil Tampilan Program :

21031910002 | I Gede Raka Sadiantara 14


21031910002 | I Gede Raka Sadiantara 15
21031910002 | I Gede Raka Sadiantara 16

Anda mungkin juga menyukai