Form Processing
Form digunakan untuk mengumpulkan data dari pengunjung web, mulai
dari login form, pendaftaran dan mengirimkan data antar halaman web.
Penggunaan form dengan html tidak akan terlalu berguna, form biasanya
hanya berupa interface yang disediakan untuk mengumpulkan data dari
user, dan akan diproses dengan bahasa pemograman web lainnya.
Method post biasanya digunakan untuk data yang lebih sensitif seperti
yang berisi password, atau registrasi user –data hasil form tidak akan
terlihat pada browser.
Komponen Form
Dalam FORM HTML terdapat beberapa komponen yang bisa digunakan, antara lain :
a. Form
<FORM ACTION=action METHOD=method> </FORM>
Pengolahan Data Dari Form
Form di HTML dikenal dengan adanya tag <FORM> dan ditutup dengan
tag </FORM>. Di dalam tag pembuka <FORM> diikuti dengan atribut
action dan method. Action menjelaskan ke halaman yang digunakan
untuk memproses input, sementara method digunakan untuk mengatur
cara mem-parsing konten Web menerima input dari user atau pengunjung
menggunakan metode GET dan POST. GET akan mengirimkan data
bersama dengan URL, sedangkan POST akan mengirimkannya secara
terpisah. User mengirimkan data input dengan mengisi teks atau pilihan
pada atribut form html
Membuat form input di Laravel.
Ubah Route pada file web.php dengan menambahkan kode berikut ini
kemudian disimpan:
Route::get('formulir', 'DasarController@formulir');
Untuk melihat hasil luarannya ketik pada web browser url
http://localhost:8000/formulir, seperti gambar dibawah ini.
Membuat tampilan output di Laravel.
Ubah Route pada file web.php dengan menambahkan kode berikut ini
kemudian disimpan:
Route::get('formulir/output', 'DasarController@output');
Hasil luaran form input yang sudah diisi diatas akan mengarahkan ke
url http://localhost:8000/output seperti gambar dibawah ini.
CSRF_FIELD() Token
Pada kode untuk input formulir terdapat satu script yang bertuliskan {{
csfr_field() }}, fungsi dari perintah tersebut adalah untuk memproteksi
aplikasi Laravel dari serangan CSRF. CSRF merupakan kependenkan
dari Cross Site Request Forgery adalah sebuah serangan terhadap
aplikasi web yang memanfaatkan bug atau vulnerability pada aplikasi
web yang bekerja dengan cara mengeksploitasi suatu task dari sebuah
web dengan memanfaatkan Autentikasi yang dimiliki oleh korbannya.
CSFR_FIELD() sangatlah penting dan wajib diimplementasikan pada
setiap aksi post, put atau patch pada form input.
Latihan Pembuatan Form Biodata Mahasiswa
Route::get('register', 'DasarController@register’);
Route::post('register/tampil', 'DasarController@tampil');
Kode Output Biodata Mahasiswa:
Ubah file DasarController.php dengan menambahkan kode berikut
ini kemudian disimpan:
public function tampil(Request $request)
{
$nim = $request->input('nim');
$nama = $request->input('nama');
$tmplahir = $request->input('tmplhr');
$tgllahir = $request->input('tgllhr');
$jk = $request->input('jk');
$kerja = $request->input('kerja');
$email = $request->input('email');
$hobi1 = $request->input('hobi1');
$hobi2 = $request->input('hobi2');
$hobi3 = $request->input('hobi3');
$hobi4 = $request->input('hobi4');
If ( kondisi )
{
Statement;
}
Prinsip kerjanya adalah perintah di atas akan dikerjakan apabila kondisi bernilai
TRUE atau benar, sedangkan jika kondisi salah / FALSE maka statement di atas
tidak akan dikerjakan.
Pernyataan IF dan Else
Pernyataan ELSE merupakan bagian dari pernyataan if. Else digunakan untuk
memberikan alternative perintah apabila kondisi bernilai salah / FALSE.
Bentuk umum :
Contoh:
Buat file kode baru dengan nama ifthen.blade.php dan simpan pada folder
resources/views, kemudian ketikkan kode berikut ini.
<!DOCTYPE html>
<html>
<head>
<title>Percabangan</title>
</head>
<body>
<h1>Percabangan</h1><hr>
@if($nilai>=60)
<h3>
Nama : {{ $nama }}<br>
Nilai : {{ $nilai }}<br>
Keterangan : Selamat Anda Dinyatakan Lulus !
</h3>
@else
<h3>
Nama : {{ $nama }}<br>
Nilai : {{ $nilai }}<br>
Keterangan : Mohon Maaf Anda Dinyatakan Gagal !
</h3>
@endif
</body>
</html>
Ubah file DasarController.php dengan menambahkan kode berikut ini
kemudian disimpan:
public function ifthen()
{
$nama = "Arsakha";
$nilai = 100;
return view('ifthen', compact('nama','nilai'));
}
Ubah Route pada file web.php dengan menambahkan kode berikut ini kemudian
disimpan:
Route::get('ifthen', 'DasarController@ifthen’);
Ubah Route pada file web.php dengan menambahkan kode berikut ini
kemudian disimpan:
Route::get('nested', 'DasarController@nestedif');
Untuk melihat hasil luarannya ketik pada web browser url
http://localhost:8000/nestedif, seperti gambar dibawah ini.
Statement Switch
Statement untuk pengatur alur program berikutnya adalah switch. Salah satu
keuntungan switch adalah ada bisa langsung mengevaluasi satu statement dan
memerintahkan aksi dalam jumlah yang lebih banyak.
Bentuk umum :
Switch ( nilai_ekspresi ){
Case nilai_1 : statement_1; break;
Case nilai_2 : statement_2; break;
Default: statement_n;}
Endswitch
Contoh:
Buat file kode baru dengan nama switchcase.blade.php dan simpan pada
folder resources/views, kemudian ketikkan kode berikut ini.
<!DOCTYPE html>
<html>
<head>
<title>Percabangan</title>
</head>
<body>
<h1>Percabangan Switch Case</h1><hr>
@switch($jurusan)
@case(11)
<h3>Program Studi Sistem Informasi Akuntansi</h3>
@break
@case(12)
<h3>Program Studi Sistem Informasi</h3>
@break
@case(13)
<h3>Program Studi Teknologi Komputer</h3>
@break
@default
<h3>Program Studi Teknologi Informasi</h3>
@endswitch
</body>
</html>
Ubah file DasarController.php dengan menambahkan kode berikut ini kemudian
disimpan:
public function switchcase()
{
$jurusan = "11";
return view('switchcase', compact('jurusan'));
}
Ubah Route pada file web.php dengan menambahkan kode berikut ini kemudian
disimpan:
Route::get('switchcase', 'DasarController@switchcase');
Untuk melihat hasil luarannya ketik pada web browser url
http://localhost:8000/switchcase, seperti gambar dibawah ini.
Latihan Form Percabangan 1
Ketentuan Soal :
1. Ketentuan untuk kota tujuan dan harganya :
a. Jika Solo, maka harga 450000
b. Jika Semarang, maka harga 350000,
c. Jika Yogyakarta, maka harga 400000
d. Jika Surabaya, maka harga 550000
2. Ketentuan untuk jumlah beli dan diskon :
a. Jika jumlah beli lebih dari sama dengan 3, maka diskon 10% dari
harga tiket.
b. Jika kurang dari 3, maka tidak dapat diskon.
3. Total Harga : (harga x jumble) – diskon
4. Jika klik Kembali, maka akan kembali ke halaman input