PEMROGRAMAN WEB
TEKNIK INFORMATIKA
FAKULTAS TEKNIK UNIVERSITAS SILIWANGI
Jl. Siliwangi No. 24 Tasikmalaya Kotak Pos 164 Tlp. (0265) 323537
2017
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
MODUL 1
PEMROGRAMAN WEB : PHP ( 1 )
A. Tujuan:
1. Memahami tentang PHP
2. Memahami instalasi Apache dan PHP
3. Memahami tag-tag dalam PHP
4. Memahami tentang struktur kontrol
B. Dasar Teori
PENGENALAN PHP
PHP merupakan akronim dari ”PHP : Hypertext Presprocessor”. PHP merupakan
bahasa script yang biasa digunakan untuk web development yang dapat diselipkan
dalam HTML.
Berbeda dengan script-script lainnya seperti Java Script atau VB script, PHP dieksekusi
di lingkungan server, client hanya menerima hasil dari script yang telah dieksekusi, tanpa
bisa mengetahui kode yang digunakan.
Apa saja yang dapat dilakukan PHP?
PHP difokuskan pada scripting server-side, jadi Anda dapat melakukan apa yang bisa
dilakukan CGI dengan menggunakan PHP seperti mengambil data inputan form,meng-
generate konten halaman dinamis, mengirim dan menerima cookies dan masih banyak
lagi. Kemampuan dan supportnya untuk database juga sangat dapat diandalkan.
Sekarang ini, PHP bahkan dikembangkan untuk menjadi bahasa pemrograman. Untuk
lebih jelasnya, Anda dapat mencari informasi lebih lanjut di distro-distro Linux keluaran
baru.
Di lingkungan mana PHP bekerja?
Awalnya, PHP bekerja di lingkungan Linux, karena merupakan ’turunan’ bahasa PEARL
yang merupakan bahasa pemrograman native di lingkungan Linux dan Unix. Namun
seiring perkembangan dan kebutuhan maka PHP dibuat secara cross platform. PHP dapat
bekerja di lingkungan Windows maupun Linux.
PHP mengeksekusi server script lebih cepat dari server script manapun. PHP menempati
ranking pertama dalam hal kecepatan eksekusi, diikuti oleh ASP dan JSP.
Dengan kemampuannya, apakah PHP gratis?
PHP dapat anda Download secara free atau cuma-cuma. Kunjungi saja situs
www.php.net, dan download versi terbarunya.
1
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
2
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Tipe Data
Tipe data yang dapat diolah menggunakan PHP, antara lain :
1. Boolean
Nilai boolean menyatakan nilai kebenaran.
2. Integer
5
-9
1500
0123 octal
0xfb hexadecimal
3. Floating Point
0.8998
23e2
4. String
’Teks menggunakan aphostof’ ...menggunakan tanda petik tunggal
”Teks menggunakan quote” ...menggunakan tanda kutip
Pada tipe data string, terdapat escape character, yaitu karakter khusus yang digunakan
mewakili karakter ASCII dengan fungsi khusus. Untuk mendefinisikan karakter yang
akan ditampilkan jika karakter tersebut merupakan escape character
yaitu dengan mengawali karakter tersebut dengan tanda \ (backslash).
Daftar escape character:
\n linefeed (LF or 0x0A (10) in ASCII)
\r carriage return (CR or 0x0D (13) in ASCII)
\t horizontal tab (HT or 0x09 (9) in ASCII)
\\ backslash
\$ dollar sign
\" double-quote
\[0- the sequence of characters matching the regular expression is a
7]{1,3} character in octal notation
\x[0-9A- the sequence of characters matching the regular expression is a
Fa-f]{1,2} character in hexadecimal notation
5. Array
Tipe data array akan dibahas pada suatu bab tersendiri.
6. Object
Ini merupakan pengembangan PHP berorientasi objek. Tipe data objek merupakan
tipe data yang didalamnya mempunyai data dan method. Data tersebut didefinisikan
sebagai class terlebih dahulu.
Operator
Operator merupakan suatu tool/alat untuk keperluan manipulasi data. Operator dapat
dibedakan menjadi :
1. Operator Aritmetika
3
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
3. Operator Increment/Decrement
Contoh Nama Keterangan
Pre- Increment $a dengan 1, mengembalikan
++$a
increment $a.
Post- Mengembalikan $a, lalu increments $a
$a++
increment dengan 1
Pre- Decrements $ dengan 1, lalu
--$a
decrement mengembalikan $a.
Post- Mengembalikan $a, lalu decrements $a
$a--
decrement dengan 1
4. Operator Logika
Contoh Name Hasil
! $a Not TRUE jika $a bukan TRUE .
$a && $b And TRUE jika $a dan $b TRUE.
$a || $b Or TRUE jika $a atau $b TRUE.
5. Operator Ternary
Menggunakan tanda ’?’, dengan syntax : (ekspresi1) ? (ekspresi2) : (ekspresi3)
Operator ternary malakukan pengujian pada ekspresi1, jika hasilnya TRUE,
maka ekspresi 2 yang dijalankan, jika hasil ekspresi1 FALSE, maka ekspresi3
yang dijalankan.
Contoh :
<?
$a = 2;
$hasil = ($a<4) ? ($a*2) : ($a*3)
echo ”$hasil”;
?>
Dari contoh di atas, maka hasil yang terlihat adalah 4, namun jika nilai $a
diganti 5, maka hasilnya adalah 15.
6. OperatorPerbandingan
Contoh Nama Hasil
$a == $b Equal TRUE jika $a sama dengan $b.
ontoh Nama Hasil
$a != $b Not equal TRUE jika $a tidak sama dengan $b.
$a <> $b Not equal TRUE jika $a tidak sama dengan $b.
$a < $b Less than TRUE jika $a kurang dari $b.
$a > $b Greater than TRUE jika $a lebih dari $b.
4
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Less than or
$a <= $b TRUE jika $a lebih kecil sama dengan $b.
equal to
Greater than
$a >= $b TRUE jika $a lebih besar sama dengan $b.
or equal to
7. Operator Assignment
Contoh :
$a = 4; //$a diisi dengan nilai 4
$a += 5; //sama dengan $a = $a + 5;
Untuk menampilakan data dapat digunakan print maupun echo. Sintaks yang digunakan
antara lain :
print(data);
atau
print data;
atau
echo(data);
atau
echo data;
Kedua perintah baik print maupun echo adalah sama saja, tergantung kebiasaan atau
kesukaan anda dalam menggunakannya. Yang perlu diperhatikan di sini adalah bahwa
untuk data string gunakanlah aphostophe (petik tunggal ‘) atau quote (petik ganda “).
Namun untuk pencetakan variabel, agar ditampilkan isinya, gunakan quote. Seperti pada
contoh di bawah ini.
Contoh :
<?
$a = 10;
$b = “test”;
echo “Dengan quote -> ”;
echo “nilai $b ku $a ”;
echo “Dengan aphostrophe -> ”;
echo ‘nilai $b ku $a’
?>
Hasil dari script di atas adalah :
Dengan quote -> nilai test ku 10Dengan aphostrophe -> nilai $b
ku $a
STRUKTUR KONTROL
Struktur kontrol merupakan inti dari logika pemrograman. Secara mendasar ada 3
struktur kontrol yaitu :
Sequence atau urutan
Selection atau pilihan
Iteration atau pengulangan
5
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
if / if else
Sintaks untuk stuktur kontrol menggunakan if else/ifelse :
if (ekspresi) {
perintah1;
perintah2;
...
}
Struktur kontrol if memeriksa isi ekspresi, dimana jika terpenuhi atau bernilai benar,
maka ia akan menjalankan perintah-perintah yang ada dalam blok.
Untuk banyak kondisi, bisa dilakukan dengan sintaks :
if (ekspresi1) {
perintah1;
...
}
elseif(ekspresi2) {
perintah2;
...
}
else {
perintah3;
...
}
switch
while
Sintaks :
while(ekspresi) {
perintah1;
...
}
do .. while
Sintaks :
do {
perintah1;
...
} while (ekspresi);
6
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
for
Sintaks :
for(nilai_awal ;syarat_terjadinya_loop ; inc_atau_dec)
{
perintah1;
...
}
break
Perintah break digunakan untuk keluar dari suatu pengulangan/loop.
Contoh :
for($a = 0; $a < 100 ; $a++)
{
if($a == 30) { break; }
else echo ”$a ,”;
}
Pada contoh di atas, akan memunculkan tulisan berupa nilai variabel a, mulai dari
0,1,2,3...hingga ketika mencapai nilai 30 maka loop akan berhenti karena perintah
break.
continue
Perintah continue digunakan untuk menuju step atau iterasi berikutnya dari suatu loop.
Contoh :
for($a = 0; $a<10; $a++)
{
if($a%2==0) continue;
echo “$a ”;
}
Pada contoh di atas, hasil yang akan didapat adalah “1 3 5 7 9”
LATIHAN 1.
1. Pemakaian Variabel
<HTML>
<HEAD>
<TITLE> Contoh Skrip PHP </TITLE>
<BODY>
<?
$nama = "Valentino Rossi";
echo "$nama berkata \"Katakan namamu!\"";
?>
</BODY>
</HTML>
7
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
2. Operator Penugasan
<?
$a = 3;
$b = 7;
$a += 5;
$b = ($c = 11) + 3;
echo "Nilai variabel a adalah = $a";
echo "<BR>";
echo "Nilai variabel b adalah = $b";
echo "<BR>";
echo "Nilai variabel c adalah = $c";
?>
<?
$a = 5;
switch ($a) {
case 0:
echo '$a sama dengan 0';
break;
case 1:
echo '$a sama dengan 1';
break;
case 2:
echo '$a sama dengan 2';
break;
default:
echo '$a tidak sama dengan 0, 1, atau 2';
}
?>
8
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
LATIHAN 2.
LATIHAN 3.
1. Buatlah program untuk mengurutkan data dari 5 buah data yang acak!
9
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
MODUL 2
PEMROGRAMAN WEB : PHP (2)
A. Tujuan
1. Memahami tentang Array di PHP
2. Memahami penggunaan Fungsi dalam PHP
3. Memahami tentang String dan Date
4. Memahami tentang Modularisasi dalam PHP
B. Dasar Teori
I. ARRAY
Array merupakan variabel yang berisi lebih dari 1 variabel, atau dapat dikatakan sebagai
variabel jamak.
Sebagai analogi, ketika kita mempunyai banyak nama buah (kita anggap ini sebagai
variabel), maka daripada kita menyatakan tiap nama buah dengan variabel $buah1,
$buah2, $buah3, ...dst. Maka akan lebih baik dan efisien jika kita menggunakan variabel
$buah yang berupa array.
Variabel array pada PHP, kadang tidak perlu kita definisikan. Namun untuk indeks
array, kita menggunakan indeks mulai dari 0 hingga sejumlah elemen array dikurang 1.
Assignment Array
Ada beberapa cara untuk memberi nilai pada suatu variabel array, antara lain :
Contoh 1 :
$buah[0] = “nanas”;
$buah[1] = “mangga”;
$buah[2] = “jambu”;
Contoh 2 :
$buah[] = “nanas”;
$buah[] = “mangga”;
$buah[] = “jambu”;
Pada contoh ini, PHP secara otomatis akan memberi indeks sesuai nilai indeks
terakhir dari array. Maka pada variabel $buah indeks 0 berisi ”nanas”, indeks 1
berisi ”mangga” dan indeks 2 akan berisi ”jambu”.
Contoh 3 :
$buah = array(”nanas”, ”mangga”, ”jambu”);
Pada contoh ini, suatu array dideklarasikan dengan memberi nilai secara
langsung. Hasilnya akan sama dengan contoh-contoh sebelumnya.
Array Asosiatif
Array asosiatif tidak menggunakan integer sebagai indeks, namun menggunakan string
sebagai indeks.
Contoh 1:
$hobi[”nanang”] = ”renang”;
$hobi[”eko”] = ”merokok”;
10
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Contoh 2 :
$hobi = array(”nanang” => ”renang”, ”eko” => ”merokok”);
II. FUNGSI
Fungsi terbagi menjadi 3 :
1. Built-in
2. User Defined Function (UDF)
3. External
Fungsi Built-in
Fungsi yang sudah disediakan oleh PHP dan pemrogram dapat langsung memakainya.
Contoh :
Fungsi Matematika : sin, cos, tan, asin, deg2rad, dll.
Fungsi Tanggal & waktu : date, checkdate
Fungsi String : strlen, strpos, strtolower, strtoupper, substr, dll.
Fungsi UDF
Fungsi yang dibuat sendiri oleh pemrogram. Dapat diletakkan dimana saja dalam script
PHP, tapi sebaiknya diletakkan paling atas agar memudahkan dalam proses debugging
dalam tahap pembuatan dan pengembangan program.
Deklarasi UDF
function namafungsi([parameter]) {
Statement;
Statement;
….
}
Pemanggilan UDF
Sintaks :
$varhasil = &namafungsi ([parameter]);
Penggunaan tanda & tidak mutlak, karena PHP secara otomatis akan menganggap
sebagai fungsi karena tidak didahului dengan tanda $.
III. MODULARISASI
Modularisasi dalam pemrograman umum dilakukan dan sangat diperlukan untuk
mempermudah debugging dan pengembangan program. Modularisasi berarti melakukan
pembuatan program berdasarkan modul-modul. Setiap modul dikembangkan untuk
tujuan atau fungsi khusus. Modul dibuat secara general (umum). Modul dapat berupa
fungsi atau prosedur.
Require
Statement Require digunakan untuk membaca nilai variable dan fungsi-fungsi dari
sebuah file lain.
11
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Teknik ini cocok untuk membuat template (pola) yang memudahkan proses
pengembangan aplikasi dengan menggunakan pola tampilan. Misal dalam membuat
design web yang dilakukan dengan kerja tim, pola dan gambar-gambar yang dibutuhkan
dapat dibuat dengan teknik ini.
Statement Require ini tidak dapat dimasukkan diadalam suatu struktur looping misalnya
while atau for. Karena hanya memperbolehkan pemangggilan file yang sama tersebut
hanya sekali saja.
Include
Statement Include akan menyertakan isi suatu file tertentu. Include dapat diletakkan di
dalam suatu looping misalkan dalam statement for atau while.
Syntak penulisan :
include (namafile);
LATIHAN 1.
<?
$anak[0] = "Faruq";
$anak[1] = "Alya";
$anak[2] = "Zahro";
echo "Isi array 0 adalah $anak[0]";
echo "<br>";
echo "Isi array 1 adalah $anak[1]";
echo "<br>";
echo "Isi array 2 adalah $anak[2]";
echo "<br>";
?>
12
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
13
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
LATIHAN 2.
1. Buat program untuk mencari nilai max dan rata-rata dari 3 buah nilai, gunakan
fungsi dengan 3 nilai tsb dikirimkan dalam bentuk array sebagai parameter ke
fungsi. Berikan juga return value ke program utama
Misal :
Input :
4 6 2
Output :
Nilai max = 6
LATIHAN 3.
1. Buatlah program dengan menggunakan array untuk menghitung penjumlahan
antara 2 matriks dimensi 2x2.
14
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
MODUL 3
PEMROGRAMAN WEB : PHP ( 3)
A. Tujuan:
1. Memahami tentang penggunaan Form
2. Memahami tentang perbedaan antara metode GET & POST
3. Memahami tentang pemrosesan validasi form
B. Dasar Teori
PENGOLAHAN DATA DARI FORM
Web menerima input dari user atau pengunjung menggunakan metode GET dan POST.
GET akan mengirimkan data bersama dengan URL, sedangkan POST mengirimkannya
secara terpisah.
User mengirimkan data input dengan mengisi teks atau pilihan pada attribut form html.
Apa saja yang merupakan komponen form html diantaranya :
Form
<FORM ACTION=action base> form tags </FORM>
<FORM METHOD=method> form tags </FORM>
<FORM ENCTYPE=media type> form tags </FORM>
<FORM ACTION=action base TARGET="target window name"> form tags </FORM>
<FORM SCRIPT=URL> form tags </FORM>
15
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Form Select
<SELECT NAME=name> option entries </SELECT>
<SELECT NAME=name MULTIPLE> option entries </SELECT>
<SELECT NAME=name SIZE=size> option entries </SELECT>
<SELECT NAME=name SRC=URL WIDTH=width HEIGHT=height UNITS=units> option entries </SELECT>
<OPTION> content
<OPTION SELECTED> content
<OPTION VALUE=value> content
<OPTION SHAPE=shape>
FORM VALIDATION
Validasi proses merupakan hal yang harus diperhatikan dalam pembuatan web. Untuk
melakukan validasi bisa menggunakan Javascript maupun PHP script. Perbedaannya
dari keduanya, jika Javascript akan diproses disisi client, PHP script akan diproses disisi
server.
16
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
LATIHAN 1.
1. Perbandingan 2 bilangan menggunakan metode : POST
a. Untuk membuat inputan, dan beri nama file : bandingnilai.php
<html>
<head>
<title>Contoh Form dengan POST</title>
</head>
<body>
<form action="proc_post.php" method="post">
Bil I :
<input type="text" name="bil1">
<br>
Bil II:
<input type="text" name="bil2">
<br>
<input type="submit" value="Bandingkan">
</form>
</body>
</html>
17
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
<html>
<head>
<title>Buku Tamu</title>
</head>
<body>
<?
$nama=$_POST["nama"];
$email=$_POST["email"];
$komentar=$_POST["komentar"];
?>
<h1>Data Buku Tamu </h1>
<hr>
Nama anda : <?echo $nama?>
<br>
Email address : <?echo $email?>
<br>
Komentar :
<textarea name="komentar" cols="40"
rows="5"><?echo $komentar?> </textarea>
<br>
</body>
</html>
18
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
6. Form Validation
a. Berbasis Javascript
<SCRIPT LANGUAGE="JavaScript">
function pesan() {
var ceknama = document.forms[0].elements[0].value;
var cekumur = document.forms[0].elements[1].value;
var cekemail = document.forms[0].elements[2].value;
if (ceknama.length == 0)
window.alert("Anda belum memasukkan nama Anda");
else if ((cekumur < 0) || (isNaN(cekumur)) ||
(cekumur.length == 0))
window.alert("Input umur Anda salah");
else if ((cekemail.length == 0) || (cekemail.indexOf("@",1)
== -1))
window.alert("Periksa kembali alamat email Anda");
else
document.forms[0].submit();
}
</SCRIPT>
19
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
LATIHAN 2.
Buat web untuk penjualan handphone seperti berikut ini :
a. Produk : gunakan checkbox
b. ID Customer, Nama, Email, Alamat : gunakan text
c. Member : gunakan radio button
d. Pembayaran : gunakan combo box yang terdiri dari VISA, Master Card, Debit
BCA.
Lakukan validasi sebagai berikut :
ID Customer : harus sebagai bilangan, dan tidak boleh kosong.
Nama : tidak boleh kosong
Email : tidak boleh kosong, dan sesuai dengan format email
Alamat : tidak boleh kosong
20
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
LATIHAN 3.
1. Buatlah program untuk melakukan proses perhitungan dibawah ini, dengan POST.
21
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
MODUL 4
PEMROGRAMAN WEB : MySQL
A. Tujuan:
1. Memahami tentang sistem database
2. Memahami dasar-dasar MySQL.
3. Memahami relasi di MySQL
B. Dasar Teori
PENGENALAN DATABASE
Basis Data
Himpunan kelompok data (arsip) yang saling berhubungan, yang diorganisasi
sedemikian rupa, sehingga kelak dapat dimanfaatkan kembali dengan cepat.
Komponen Sistem Basis Data:
a. Perangkat Keras (Hardware)
Komputer, memori, storage (Harddisk), peripheral, dll.
b. Sistem Operasi (Operating System)
Program yang menjalankan sistem komputer, mengendalikan resource komputer
dan melakukan berbagai operasi dasar sistem komputer.
c. Basis Data (Database)
Menyimpan berbagai obyek database (struktur tabel, indeks,dll)
d. DBMS (Database Management System)
Perangkat lunak yang memaintain data dalam jumlah besar.
e. Pemakai (User)
Para pemakai database.
f. Aplikasi (perangkat lunak) lain.
Program lain dalam DBMS.
Bahasa Basis Data
DBMS merupakan perantara antara user dengan database.
Cara komunikasi diatur dalam suatu bahasa khusus yang telah ditetapkan oleh
DBMS.
Contoh: SQL, dBase, QUEL, dsb.
Bahasa database, dibagi dalam 2 bentuk:
- Data Definition Language (DDL)
Digunakan dalam membuat tabel baru, indeks, mengubah tabel, menetukan
struktur tabel, dsb.
- Data Manipulation Language (DML)
a.Digunakan dalam memanipulasi dan pengambilan data pada database.
b.Manipulasi data, dapat mencakup:
- Pemanggilan data yang tersimpan dalam database (query)
- Penyisipan/penambahan data baru ke database
- Penghapusan data dari database
- Pengubahan data pada database
22
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
DASAR-DASAR MySQL
Dalam bahasa SQL pada umumnya informasi tersimpan dalam tabel-tabel yang secara
logik merupakan struktur dua dimensi terdiri dari baris (row atau record) dan kolom
(column atau field). Sedangkan dalam sebuah database dapat terdiri dari beberapa table.
Beberapa tipe data dalam MySQL yang sering dipakai:
23
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Atau juga bisa dari phpmyadmin, kemudian pilih tab SQL untuk mengetikkan perintah-
perintah DML.
Ketikkan : http://localhost/phpmyadmin
Contoh:
create database informatika;
24
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Constraint
Constraint adalah batasan atau aturan yang ada pada table.
MySQL menyediakan beberapa tipe constraint berikut :
• NOT NULL
Suatu kolom yang didefinisikan dengan constraint NOT NULL tidak boleh berisi
nilai NULL. Kolom yang befungsi sebagai kunci primer (primary key) otomatis
tidak boleh NULL.
• UNIQUE
Mendefinisikan suatu kolom menjadi bersifat unik, artinya antara satu data dengan
data lainnya namanya tidak boleh sama, misal alamat email.
• PRIMARY KEY
Constraint PRIMARY KEY membentuk key yang unik untuk suatu table.
• FOREIGN KEY
FOREIGN KEY constraint didefinisikan pada suatu kolom yang ada pada suatu
table, dimana kolom tersebut juga dimiliki oleh table yang lain sebagai suatu
PRIMARY KEY, biasa dipakai untuk menghubungkan antara 2 tabel.
Contoh Pembuatan Tabel :
Misalkan kita ingin menyimpan data anggota yaitu: nomor, nama, email, alamat, kota.
Sedangkan strukturnya seperti tabel dibawah ini :
25
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Perintah MySQL untuk membuat tabel seperti diatas bisa dengan 2 cara sbb :
create table anggota ( create table anggota (
nomor int(6) not null primary key, nomor int(6) not null,
nama char(40) not null, nama char(40) not null,
email char(255) not null, email char(255) not null,
alamat char(80) not null, alamat char(80) not null,
kota char(20) not null kota char(20) not null,
); primary key (nomor)
);
Contoh :
Insert into anggota (nomor,nama,email,alamat,kota) values
(100,’Adi’,’adi@yahoo.com’,’Jl. Keputih 2A no 5’,’Surabaya’);
atau
Insert into anggota values (100,’Adi’,’adi@yahoo.com’,’Jl. Keputih 2A no 5’,
’Surabaya’);
Latihan:
Masukkan data-data berikut ini ke tabel anggota :
B. Menghapus Record
Untuk menghapus suatu record dengan kondisi tertentu digunakan perintah sebagai berikut:
26
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Contoh :
a. Untuk menghapus record dengan no = 107
Delete from anggota where no=107;
C. Memodifikasi Record
Untuk memodifikasi (merubah) isi record tertentu adalah dengan menggunakan perintah
sebagai berikut:
UPDATE table
SET column = value [, column = value, ...]
[WHERE condition];
Contoh :
Untuk meng-update data email di tabel anggota, nomor 107.
update anggota set email=’hari_s@hotmail.com’ where
nomor=107;
Latihan:
1. Untuk menampilkan semua kolom(field) pada tabel anggota
select * from anggota;
2. Untuk menampilkan kolom (field) nomor dan nama pada tabel anggota
select nomor, nama from anggota;
3. Untuk menampilkan semua kolom pada tabel anggota yang berada pada kota
‘Surabaya’
select * from anggota where kota=’Surabaya’;
4. Untuk menampilkan semua kolom pada tabel anggota dengan urut nama
select * from anggota order by nama;
6. Untuk menampilkan kota dengan tidak menampikan kota yang sama pada tabel
anggota
select distinct kota from anggota;
27
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
8. Untuk menampilkan nomor, nama dan email yang nomornya diatas 103 dan yang
berawalan dengan huruf S.
select nomor, nama, email from anggota where nomor >=
103 AND nama like ‘S%’;
LATIHAN 1.
1. Buatlah database baru dengan nama lat_mysql
2. Buatlah tabel dengan nama pegawai yang memiliki field sebagai berikut :
28
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
b. Tabel Departemen
Kolom / Field Tipe data Keterangan
ID_Dept varchar (5) not null Primary Key
Nama_Dept varchar(20) not null
2. Isikan data untuk kedua tabel diatas :
a. Tabel Pegawai b. Tabel Departemen
ID_Dept Nama_Dept
ID_Peg Nama_Peg Alamat ID_Dept A001 IT
100 Arif Surabaya A001 A002 Produksi
101 Andi Jakarta A002 A003 HRD
102 Burhan Malang A001 A004 Engineering
3. Buatlah perintah SQL berikut :
a. Menampilkan nama pegawai, alamat pegawai dan nama departemen.
b. Menampilkan id pegawai, nama pegawai dan nama departemen.
LATIHAN 3.
1. Buatlah 3 buah tabel dengan relasi sebagai berikut :
29
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
MODUL 5
KONEKTIVITAS PHP DENGAN MySQL
A. Tujuan:
1. Memahami langkah-langkah koneksi PHP dengan MySQL.
2. Memahami perbedaan pengambilan record dari database.
B. Dasar Teori:
Langkah-langkah koneksi PHP-MySQL
1. Membuka koneksi ke server MySQL
mysql_connect()
Digunakan untuk melakukan uji dan koneksi kepada server database MySQL.
Sintaks :
$conn adalah nama variabel penampung status hasil koneksi kepada database.
host adalah nama host atau alamat server database MySQL.
username adalah nama user yang telah diberi hak untuk dapat mengakses server
database.
password adalah kata sandi untuk username untuk dapat masuk ke dalam database.
Sintaks :
$pilih = mysql_select_db(”namadatabase”,$conn);
$hasil akan berupa record set apabila SQL Statement berupa perintah select.
30
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Sintaks :
$row = mysql_fetch_array($hasil);
$row adalah array satu record dari record $hasil yang diproses nomor record
sesuai dengan nomor urut dari proses mysql_fetch_array yang sedang dilakukan.
$hasil adalah record set yang akan diproses.
b. mysql_fetch_assoc()
Fungsi ini hampir sama dengan fungsi mysql_fetch_array(), hanya saja array yang
dihasilkan hanya array asosiatif.
Sintaks :
$row = mysql_fetch_assoc($hasil);
c. mysql_fetch_row()
Fungsi ini hampir sama dengan fungsi mysql_fetch_array(), hanya saja array yang
dihasilkan hanya array numeris.
Sintaks :
$row = mysql_fetch_row($hasil);
d. mysql_num_rows()
Fungsi ini digunakan untuk menghitung jumlah record yang ada pada database.
Sintaks :
$jml = mysql_num_rows($hasil);
$jml akan memiliki nilai sesuai dengan jumlah record yang ada.
31
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
LATIHAN 1.
a. Buatlah tabel liga berikut ini, dengan 3 field : kode, negara, champion.
Create table liga (
kode char(3) not null,
negara char(15),
champion int
);
32
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
<HTML>
<HEAD>
<title>Koneksi Database MySQL</title>
</HEAD>
<BODY>
<h1>Koneksi database dengan mysql_fetch_array</h1>
<?
$conn=mysql_connect ("localhost","root","")
or die ("koneksi gagal");
mysql_select_db("database",$conn);
$hasil = mysql_query("select * from liga",$conn);
while ($row=mysql_fetch_array($hasil)) {
echo "Liga " .$row["negara"]; //array asosiatif
echo " mempunyai " .$row[2]; //array numeris
echo " wakil di liga champion <br>";
}
?>
</BODY>
</HTML>
<HTML>
<HEAD>
<title>Koneksi Database MySQL</title>
</HEAD>
<BODY>
<h1>Koneksi database dengan mysql_fetch_assoc</h1>
<?
$conn=mysql_connect ("localhost","root","")
or die ("koneksi gagal");
mysql_select_db("database",$conn);
$hasil = mysql_query("select * from liga",$conn);
while ($row=mysql_fetch_row($hasil)) {
echo "Liga " .$row[1];
echo " mempunyai " .$row[2];
echo " wakil di liga champion <br>";
}
?>
</BODY>
</HTML>
33
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
<HTML>
<HEAD>
<title>Buku Tamu</title>
</HEAD>
<BODY>
<h1>Buku Tamu untuk database MySQL</h1>
<form action="prosesTambah.php" method="post">
Nama : <input type="text" name="nama" size="35"
maxlength="50"> <br>
Email : <input type="text" name="email" size="35"
maxlength="50"> <br>
Komentar : <textarea name="komentar" rows="5"
cols="30"></textarea> <br>
<input type="submit" value="Simpan">
<input type="reset" value="Reset">
</form>
</BODY>
</HTML>
c. Buat file prosesTambah.php untuk memproses data dari bukutamu.htm dan
menambahkan data ke tabel bukutamu.
<HTML>
<HEAD>
<title>Simpan Buku Tamu</title>
</HEAD>
<BODY>
<h1>Simpan Buku Tamu MySQL</h1>
<?
$nama = $_POST["nama"];
$email = $_POST["email"];
$komentar = $_POST["komentar"];
$conn=mysql_connect ("localhost","root","")
or die ("koneksi gagal");
mysql_select_db("database",$conn);
echo "Nama : $nama <br>";
echo "Email : $email <br>";
echo "Komentar : $komentar <br>";
$sqlstr="insert into bukutamu (nama,email,komentar)
values ('$nama','$email','$komentar')";
$hasil = mysql_query($sqlstr,$conn);
echo "Simpan bukutamu berhasil dilakukan";
?>
</BODY>
</HTML>
34
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
<HTML>
<HEAD>
<title>Cari Database</title>
</HEAD>
<BODY>
<h1>Searching Buku Tamu untuk database MySQL</h1>
<form action="hasilsearch.php" method="post">
<select name="kolom">
<option value="nama">nama</option>
<option value="email">email</option>
</select>
Masukkan kata yang anda cari
<input type ="text" type ="text" name="cari">
<input type ="submit" value="cari" >
</form>
</BODY>
</HTML>
35
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
LATIHAN 2.
Modifikasilah program diatas, sehingga memiliki 3 tombol yaitu,
1. Bukutamu untuk inputkan data
2. Tampilkan untuk menampilkan database bukutamu dalam bentuk tabel.
3. Search untuk melakukan searching database bukutamu dalam bentuk tabel.
36
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
MODUL 6
INSTALASI LARAVEL
A. Tujuan:
1. Memahami apa itu laravel.
2. Mampu melakukan installasi laravel di xampp maupun web server lainnya.
B. Dasar Teori
Laravel adalah sebuah Framework PHP yang bersifat opensource yang ditulis oleh
Taylor Otwell dengan lisensi dibawah MIT License. Laravel dibuat untuk membatu para
developer khususnya dalam membuat sebuah web dengan sintak yang sederhana, elegan,
ekspresif dan menyenangkan. Seperti yang ditulis dalam website nya.
Laravel sebuah framework yang terbilang baru dalam PHP. Berbeda dengan
framework sebelumnya. Laravel dibuat supaya kegiatan memprograman sebuah aplikasi
web menjadi lebih menyenangkan versi baru Laravel, yaitu Laravel 5 diadaptasi
framework yang telah telah ada sebelumnya yaitu simfony, hanya tentu saja Laravel
lebih expressif dalam hal syntax.
37
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
2. Double klik file tersebut sehingga muncul dialog setup install composer
kemudian klik Next.
3. Kemudian masukan path php yang sudah diiintal di komputer. Disini dicontohkan
path php nya yaitu di “D:/xampp/php/php.exe”kemudian klik next.
38
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
4. Jika versi php sudah memenuhi standar instalasi laravel, maka akan muncul
tampilan sebagai berikut. Kemudian klik Install.
6. Jika sudah berhasil instal composer, untuk mengecek apakan composer sudah
berjalan dengan baik, buka Command Promt kemudian tuliskan “composer”. Jika
berhasil composer akan tampil sebagai berikut .
39
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
40
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Untuk mengecek apakah laravel sudah terinstal yaitu dengan cara buka xampp-
control kemudian centang apache dan mysql. Buka browser kemudian ketik
http://localhost/laravel/public . Jika tampilan sebagai berikut, berarti package laravel
yang diinstal sudah berjalan.
LATIHAN
Kerjakan ulang seluruh percobaan pada modul ini, dengan parameter yang berbeda!
(penentuan parameter latihan ditentukan oleh asisten lab.)
41
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
MODUL 7
BASIC ROUTING PADA LARAVEL
A. Tujuan:
1. Memahami konsep dasar routing pada laravel.
2. Mampu melakukan basic routing pada laravel
B. Dasar Teori
Dalam routing kita akan mengenal yaitu GET dan POST, pastinya sudah tidak asing lagi
bagi yang terbiasa belajar atau membuat website. Secara gamblang kita bisa melihat
perbedaannya, GET data dan parameter akan terlihat di url sedangkan POST tidak
terlihat di url. Tapi framework laravel bagian routing GET dan POST ini mempunyai
cara kerja yang berbeda dan yang dimaksud bukan $_GET maupun $_POST kalau
dilaravel $_GET dan $_POST ini bisa kita pelajari di bagian basic input di laravel.com
contohnya Input::get(‘name’); . Tapi di modul ini atau didalam routing laravel GET
disini digunakan untuk menampilkan, parsing atau mengirimkan data. Sedangkan POST
digunakan untuk menangani sebuah form untuk menerima hasil inputan data.
Di laravel maupun di dunia programming kita pasti mengenal istilah RESTful. RESTful
mempunyai beberapa method selain $_GET dan $_POST
yaitu PUT/PATCH dan DELETE. Apa itu RESTful, RESTful merupakan sebuah teknik
di arsitektur software untuk sistem terdistribusi seperti World Web Wide. Contoh nyata
penggunaan Restful itu sendiri seperti kita berkunjung di sebuah web contohnya saja
4.shared lalu kita bisa login dengan akun facebook.Tapi ditutorial ini kita tidak akan
membahas lebih dalam mengenai RESTful.
Di modul ini tidak akan membahas mengenai method POST, karena method ini akan
dibahas pada moduk form laravel. Sedangkan RESTful akan dibahas pada modul
pembuatan crud. Pada modul ini kita hanya akan membahas penggunaan GET.
Catatan : routing dapat didefinisikan atau dituliskan di folder app lalu file routes.php.
GET
Method ini dalam laravel biasanya digunakan untuk menampilkan view maupun data.
Buka Project yang telah di install pada modul sebelumnya.kemudian cari file routes.php
yang berada dalam folder app.
BASIC ROUTE
Secara dasar penggunaan dasar route sebagai berikut, silahkan buka file routes.php anda
akan menemukan code seperti dibawah ini.
Route::get('/', function()
{
return View::make('hello');
});
Route::get adalah method digunakan untuk route dengan method get seperti yang
dijelaskan diatas.
42
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Tanda '/', menunjukan route yang di definisikan atau dibuat untuk route utama atau
halaman utama contoh seperti seputarpmrograman.com bukan
seputarpmrograman.com/tutorial-laravel.
return'Ini Contoh Halaman Home'; menunjukan mengembalikan suatu nilai yang
berisi “Ini Contoh Halaman Home”.
Untuk cara menjalankan hasil route diatas silahkan ketik url :
<a href="projectlaravel/public/">
http://localhost/projectlaravel/public/</a>
Hasilnya menampilkan
ROUTE PARAMETERS
Fungsi route parameters ini adalah mengirimkan sebuah nilai atau parameter ke route
atau ke controller. Di route parameters kita dibagi menjadi beberapa bagian :
1. Basic Route Parameters (Dasar Route Berparameter)
2. Route Parameters (Route Berparameter Lebih dari Satu)
3. Optional Route Parameters (Opsional Route Parameter)
4. Optional Route Parameters with Defaults (Opsional Route Parameter dengan Nilai
Default).
Lebih jelasnya lihat contoh dibawah ini dan bandingkan dengan contoh sebelumnya.
Tambahkan code berikut ini ke routes.php
Route::get('profile/{id}/{nama}',function($id, $nama)
{
return'Profile ID / Nama : '.$id.' / '.$nama;
});
43
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Sekarang mari kita lihat contoh dari opsional route parameter ini.
Route::get('profile/{nama?}', function($nama = null)
{
return $nama;
});
maka hasilnya akan blank page / kosong, jika dijalankan seperti ini
http://localhost/projectlaravel/public/profile/Andri
Optional Route Parameters With Defaults (Opsional Route Parameter dengan Nilai
Default)
Opsional Route Parameter dengan Nilai Default ini hampir sama dengan Opsional Route
Parameter Cuma perbedaannya yaitu kita bisa memberikan nilai default pada suatu
parameter jika parameternya tidak ditemukan, contohnya :
Route::get('profile/{nama?}', function($nama = 'Andri')
{
return $nama;
});
maka yang ditampilkan “Profile Nama : Andri” karena defaultnya Andri jika kita ubah
menjadi Rudi maka yang dihasilkan “Profile Nama : Rudi”.
LATIHAN
Kerjakan ulang seluruh percobaan pada modul ini, dengan parameter yang berbeda!
(penentuan parameter latihan ditentukan oleh asisten lab.)
45
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
MODUL 7
MEMAHAMI DASAR CONTROLLER
DAN VIEW PADA LARAVEL
A. Tujuan:
1. Memahami konsep dasar routing pada laravel.
2. Mampu melakukan basic controller dan view pada laravel
B. Dasar Teori
Setelah mempelajari routing laravel pada modul sebelumnya. Selanjutnya bagaimana
memahami cara kerja controllers dan views di Framework Laravel. Bagaimana cara
kerja antara routing, controller, view dan model. Sebelumnya kita harus tahu konsep
MVC. M adalah Model, Model digunakan untuk query atau proses mengambil data
dari database. V adalah View, View digunakan untuk tampilan user berupa html, css, js
dan data yang bersifat client. Sedangkan C adalah Controller, yang digunakan untuk
mangatur atau menjembatani antara model dan view juga bisa digunakan untuk
mengatur alur program.
Pada modul hanya akan dibahas Controller dan View. Dari percobaan pada modul
sebelumnya kita akan menggabungkan dengan controller dan view.
Untuk persiapan buka file routes.php , dan didalam folder controllers buat file dengan
nama ProfileController.php.
46
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Syntax code ini terletak di file routes.php, seperti yang dijelaskan sebelumnya di
modul routing, routing digunakan untuk menentukan uri atau format url. Pada
percobaan modul sebelumnya, string Ini Contoh Halaman Home berada dirouting itu
sendiri, apabila di dalam fungsi Route::get('/',function() ini terdapat banyak baris,
puluhan atau sampai ratusan baris, tentu tidak akan efisien, ditambah lagi fungsi –
fungsi yang lainnya. Maka dari itu controller ini berfungsi memecah syntax, bagaimana
caranya agar fungsi – fungsi yang puluhan bahkan ratusan itu kita pindah ke controller.
Lihat syntax code sederhana dibawah ini.
Route::get('/',function()
{
return'Ini Contoh Halaman Home';
});
Syntax code diatas dapat diganti dengan syntax code dibawah ini.
Route::get('/', 'ProfileController@index');
Penjelasan dari syntax code didalam routes.php yang telah diganti sebelumnya;
Route::get('/', 'ProfileController@index');
Untuk mencoba menajalankan program sama seperti sebelumnya ketikan url seperti ini
http://localhost/projectlaravel/public/
Hasilnya pun sama seperti modul routing, Itu adalah Cara Dasar menggunakan
Controller.
47
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Menjadi
Route::get('profile/{nama}', 'ProfileController@profile');
Dan didalam controller file ProfileController.php tambah fungsi berikut ini dibawah
fungsi index.
public function profile($nama)
{
return'Profile Nama : '.$nama;
}
48
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Syntax code diatas digunakan untuk menyimpan nilai dari variabel id dan nama ke dalam
variabel data berbentuk array.
return View::make('profile',$data); , digunakan untuk memanggil atau menampilkan
file di folder views dan data. 'profile' disini adalah nama file yang berada didalam folder
views.
$data adalah data berbentuk array yang dikirim ke dalam view atau profile.php di folder
views.
LATIHAN
Kerjakan ulang seluruh percobaan pada modul ini, dengan parameter yang berbeda!
(penentuan parameter latihan ditentukan oleh asisten lab.)
49
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
MODUL 8
MEMANFAATKAN TEMPLATE BLADE
PADA LARAVEL
A. Tujuan:
1. Memahami konsep dasar template pada laravel dengan blade.
2. Mampu melakukan menerapkan blade templating pada laravel
B. Dasar Teori
Di bagian ini kita akan mempelajari blade dan cara memanfaatkannya. Blade adalah
template engine yang disediakan oleh framework laravel atau bawaan dari framework
laravel. Blade adalah konversi dari bahasa pemrograman PHP ke Blade itu sendiri agar
lebih mudah dipahami dan lebih singkat. Kenapa kita harus menggunakan Blade ?
Karena dengan menggunakan blade dalam mengatur layout web yang kita bangun akan
lebih mudah. Mudah disini jika anda sudah mengetahui dasar – dasar blade itu sendiri.
50
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Menggunakan If Elseif
@if ('A'==='A')
@{{ Betul ini adalah A }}
@elseif ('B'==='B' )
@{{ Betul ini adalah B }}
@else
@{{ Ini Bukan A dan B }}
@endif
Foreach
@foreach ($users as $user)
ID user {{ $user->id }}
@endforeach
While
@while (true)
I'm looping forever.
@endwhile
Memberikan Komentar
Untuk memberikan komentar pada blade caranya berikut ini
{{-- Dengan begini kalimat ini tidak tampil --}}
51
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Untuk persiapan membuat templating sederhana menggunakan laravel ini, berikut yang
perlu dipersiapkan :
Pada tahap pertama didalam folder sb-admin hasil template download bootstrap, copy
folder css, js, font awesome dan folder font, lihat gambar dibawah ini.
Folder diatas pindahkan ke folder assets didalam folder public, atau yang pada modul
sebelumnya adalah projectlaravel. Jika belum ada folder assets buat dahulu. Jika sudah
buka file bernama blank-page.html di folder template boostrap, copy semua syntax
code paste ke file master.blade.php.
Selanjutnya syntax code di master.blade.php kita bagi ke dalam beberapa bagian yaitu
header, sidebar dan content. Pertama kali kita ambil syntax code untuk header.
Ambil atau cut code di master.blade.php diantara tanda <! -- Brand and toggle get
grouped for better mobile display --> sampaidengan tanda <! -- Sidebar Menu Items -
These collapse to the responsive navigation menu on small screens --> dan paste ke
header.blade.php.
Jadi di file header.blade.php ada sekitar kurang lebih 113 baris syntax code.
52
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Di dalam file master.blade.php yang syntax codenya kita ambil tadi ganti syntax
codenya menjadi seperti dibawah ini.
@include('includes.header')
Masih di master.blade.php kali ini kita akan mengambil syntax code untuk
sidebar.blade.php
Ambil syntax code diantara <! -- Sidebar Menu Items - These collapse to the responsive
navigation menu on small screens --> sampai dengan <! -- /.navbar-collapse --> paste
atau taruh dalam file sidebar.blade.php. tempat syntax code yang baru kita ambil
ditambahkan code berikut:
@include('includes.sidebar')
Tampilan syntax code di master.blade.php akan menjadi seperti gambar dibawah ini.
Untuk selanjutnya yaitu cari di folder views file yang bernama profile.php lalu ubah
namanya / rename menjadi profile.blade.php. Kemudian isi file itu ganti dengan syntax
code dibawah ini:
@extends('layouts.master')
@section('content')
< div class="row">
< div class="col-lg-12">
< h1 class="page-header">
Halaman
< small>Profile< /small>
< /h1>
Profile ID / Nama : {{{ $id }}} / {{{ $nama }}}
< /div>
< /div>
@stop
//Untuk spasi diantara tanda < dan div, /div, h1 ,/h1 ,small, /small
silahkan dihapus
53
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Dari tahap ini kita sudah dapat melihat hasil percobaan. Pada browser ketik url berikut ini.
http://localhost/projectlaravel/public/profile/1/Andri
Sekarang kita ubah sedikit didalam file controller yang bernama ProfileController.php.
Silahkan diubah menjadi seperti:
< ?php
class ProfileController extends BaseController {
public function index()
{
return View::make('home');
}
Kemudian buka file profile.blade.php yang berada dalam folder views. Ubah syntax code
dibawah ini:
Profile ID / Nama : {{{ $id }}} / {{{ $nama }}}
54
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Selanjutnya buat file bernama home.blade.php dan tempatkan di dalam folder views,
kemudian isi dengan syntax code berikut ini:
@extends('layouts.master')
@section('content')
< div class="row">
< div class="col-lg-12">
< h1 class="page-header">
Halaman
< small>Beranda< /small>
< /h1>
Ini Halaman Home / Beranda
< /div>
< /div>
@stop
//Untuk spasi diantara tanda < dan div, /div, h1, /h1, small, /small
silahkan dihapus
Untuk selanjutnya buka file sidebar.blade.php di dalam folder includes. Dan ganti syntax
codenya menjadi seperti dibawah ini.
< div class="collapse navbar-collapse navbar-ex1-collapse">
< ul class="nav navbar-nav side-nav">
< li>
< a href="{{ URL::to('/') }}">< i class="fa fa-
fw fa-dashboard">< /i> Home< /a>
< /li>
< li>
< a href="{{ URL::to('profile/Andri') }}"><
i class="fa fa-fw fa-user">< /i> Profile< /a>
< /li>
< /ul>
< /div>
//Untuk spasi diantara tanda < dan div, /div, ul, /ul, li, /li, a, /a,
i, i/ silahkan dihapus
LATIHAN
Kerjakan ulang seluruh percobaan pada modul ini, dengan parameter yang berbeda!
(penentuan parameter latihan ditentukan oleh asisten lab.)
55
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
MODUL 9
DASAR FORM SEDERHANA PADA LARAVEL
A. Tujuan:
1. Memahami konsep dasar form pada laravel.
2. Mampu membuat form sederhana pada laravel
B. Dasar Teori
Form biasanya digunakan untuk menginputkan, menampung, memasukan data. Di
laravel terdapat class form yang akan mempermudah dalam pembuatan form
DASAR – DASAR FORM LARAVEL
Pembuka Form
Biasanya untuk membuat form kita memerlukan seperti code dibawah ini.
< form method="POST" action="…" >
…
< /form>
Kita juga pada modul sebelumnya juga sudah belajar tentang blade, syntax code form
pun menerapkan konsep penulisan yang sama. Form diatas method default nya adalah
POST, untuk mengganti method menjadi GET, Lihat syntax code dibawah ini.
Form::open(array('url' => 'user', 'method' => 'GET'))
Tidak hanya POST dan GET yang bisa kita gunakan, selain itu juga seperti PUT dan
DELETE pun juga bisa.
Label
Dalam membuat label dengan form bawaan laravel, syntax codenya seperti dibawah ini.
Form::label('nama', 'Nama')
56
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Agar secara default tercentang atau Checked dapat menggunakan true seperti ini.
Form::checkbox('nama', ' SeputarPemrograman ', true);
Form::radio('nama', ' SeputarPemrograman ', true);
File Input
Digunakan syntax code berikut:
Form::file('image')
Drop-Down List
Jika biasanya anda membuat dropd-down list dengan syntax code berikut:
< select name="jeniskelamin">
< option value="L">Laki - Laki< /option>
< option value="P">Perempuan< /option>
< /select>
Itu adalah dasar – dasar form dari fungsi bawaan framework laravel, masih sangat
banyak fungsi lainnya, silahkan langsung kunjungi website laravel.com
57
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Pertama buat dahulu file didalam folder views bernama formsederhana.blade.php dan
isikan dengan syntax code berikut ini.
@extends('layouts.master')
@section('content')
< div class="row">
< div class="col-lg-12">
< h1 class="page-header">
Halaman
Form Sederhana
< /h1>
{{ Form::open(array('url' => 'formsederhana')) }}
< div class="form-group">
{{ Form::label('nama', 'Nama') }}
{{ Form::text('nama',
null, array('class' => 'form-control','placeholder'=>'masukkan
nama')) }}
< /div>
< div class="form-group">
{{ Form::label('jeniskelamin', 'Jenis
Kelamin') }}
{{ Form::select('jeniskelamin', array('L' => 'Laki
- Laki', 'P' => 'Perempuan'), null, array('class' => 'form-
control','placeholder'=>'Pili Jenis Kelamin')) }}
< /div>
< div class="form-group">
{{ Form::label('alamat', 'Alamat') }}
{{ Form::textarea('alamat', null, array('class'
=> 'form-control','placeholder'=>'masukkan alamat')) }}
< /div>
{{ Form::submit('Kirim', array('class' => 'form-
control')) }}
{{ Form::close() }}
< /div>
< /div>
@stop
Setelah itu buka controller ProfileController.php dan tambahkan syntax code/ fungsi
berikut ini, dibawah fungsi profile.
public function formsederhana()
{
return View::make('formsederhana');
}
public function postformsederhana()
{
$nama = Input::get('nama');
$jeniskelamin = Input::get('jeniskelamin');
$alamat = Input::get('alamat');
return 'Nama : '.$nama.'< br/> Jenis Kelamin :
'.$jeniskelamin.'< br/> Alamat '.$alamat;
}
Dan yang terakhir buka file sidebar.blade.php dan tambahkan syntax code ini.
< li>
< a href="{{ URL::to('formsederhana') }}">
< i class="fa fa-fw fa-edit">< /i> Form Sederhana< /a>
< /li>
// Hilangkan spasi antara < dan li, /li, a, /a, i, i/
58
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
LATIHAN
Kerjakan ulang seluruh percobaan pada modul ini, dengan parameter yang berbeda!
(penentuan parameter latihan ditentukan oleh asisten lab.)
59
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
MODUL 10
MENGGUNAKAN MIGRATIONS DAN SCHEMA
BUILDER PADA LARAVEL
A. Tujuan:
1. Memahami konsep migration dan schema builder pada laravel.
2. Mampu menerapkan konsep migration dan schema builder pada laravel.
B. Dasar Teori
Migrations (migrasi) adalah sebuah fasilitas di laravel yang digunakan untuk
mempermudah dalam melakukan perubahan database. Schema Builder digunakan untuk
membuat sebuah skema database. Dengan menggunakan migrations dan schema builder
kita tidak direpotkanuntuk membuka phpmyadmin, sqlyog, ataupun aplikasi lain untuk
membuat database. Dengan menerapkan konsep migrations dan schema builder akan
sangat mempermudah dalam pembuatan project dengan skala besar yang melibatkan
banyak developer.
Perintah diatas akan membuat file didalam folder php app/database/migrations. Nanti
di file itulah kita bisa membuat schema databasenya.
create_users_table dapat diganti sesuai dengan kebutuhan.
Perintah diatas hanya merollback data terakhir saja jika ingin merollback keseluruhan dapat
menggunakan perintah berikut ini.
php artisan migrate:reset
60
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Jika memiliki lebih dari satu koneksi database dapat menggunakan perintah ini dan dipilih
menurut koneksi yang diinginkan.
Schema::connection('koneksi1')->create(' profiles ', function($table)
{
});
Untuk menghapus tabel yang telah dibuat bisa menggunakan perintah dibawah ini.
Schema::drop(' profiles ');
atau
Schema::dropIfExists(' profiles ');
Untuk mengubah kolom bisa menggunakan perintah renameColumn seperti dibawah ini.
Schema::table('profiles', function($table)
{
$table->renameColumn('from', 'to');
});
Menjadi:
$table->dropColumn(array('notlep', 'email'));
61
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Kita buka dahulu project laravel yang telah dibuat di modul sebelumnya, dan buat
database bernama belajarlaravel. Buka folder app/config dan cari file bernama
database.php. silahkan cari code seperti dibawah ini.
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'database',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
Ubah menjadi:
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'belajarlaravel', // nama database yang telah
dibuat
'username' => 'root', // user
'password' => '', //password untuk xampp default kosong.
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
62
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Jika sudah berhasil seperti gambar diatas lihat di folder projectlaravel di folder
app/database/migrations dan akan terdapat file seperti ini:
2014_09_25_145940_create_profiles_table.php
Selanjutnya didalam syntax code diatas ubah menjadi seperti dibawah ini.
< ?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateProfilesTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('profiles', function($table)
{
$table->increments('id');
$table->string('nama')->length(100);
$table->enum('jeniskelamin', array('L', 'P'));
$table->string('alamat')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('profiles');
}
}
63
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Selanjutnya kemudian cek apakah tabel profiles yang telah dibuat masuk ke dalam
database belajarlaravel seperti ini.
LATIHAN
Kerjakan ulang seluruh percobaan pada modul ini, dengan parameter yang berbeda!
(penentuan parameter latihan ditentukan oleh asisten lab.)
64
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
MODUL 10
MEMBANGUN CREATE, READ, UPDATE DAN
DELETE MENGGUNAKAN QUERY BUILDER DI
LARAVEL
A. Tujuan:
1. Memahami konsep dasar C.R.U.D pada laravel.
2. Mampu melakukan operasi dasar C.R.U.D menggunakan query builder pada laravel
B. Dasar Teori
Create, read, update dan delete biasanya disingkat CRUD. Operasi CRUD ini digunakan
untuk membuat, membaca, mengubah dan menghapus data dalam database. Operasi
CRUD adalah operasi umum untuk mengolah data.
Apa itu query builder, jika pernah mempelajari framework codeigniter pasti sudah tidak
asing lagi, di framework codeigniter biasa disebut active record. Sedangkan di
framework laravel disebut sebagai query builder. Dengan query builder syntax code
yang dibuat akan ringkas sehingga memudahkan dalam hal penulisan. Disamping itu
ketika akan migrasi ke database lain kita tidak perlu mengubah query. Query builder
sama dengan sql / query yang biasa digunakan, contoh select * from tabel; Tetapi, di
query builder lebih dipersingkat lagi dan dibuat agar support dengan beberapa database.
Pada modul ini akan membuat operasi crud sederhana seperti tampilan gambar dibawah
ini
65
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Jika telah selesai membuat database diatas, lakukan konfigurasi database.php didalam
folder app/config.
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'belajarlaravel',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
Letakkan dalam folder app/controllers. Kemudian isi dengan syntax code dibawah ini.
< ?php
class CrudController extends \BaseController {
public function index()
{
$profiles = DB::table('profiles')->paginate(5);
$profiles =
[
'profiles' => $profiles
];
return View::make('crud.index', $profiles);
}
}
Selanjutnya buat folder bernama crud didalam folder app/views. Setelah itu di dalam
folder crud buat file bernama index.blade.php dan isikan dengan syntax code dibawah ini.
@extends('layouts.master')
@section('content')
< div class="row">
< div class="col-lg-12">
< h1 class="page-header">
Halaman
< small>Daftar Profile< /small>
< /h1>
@if (Session::has('message'))
{{ Session::get('message') }}
@endif
< p>< a href="{{ URL::to('crud/create') }}" class="btn btn-
primary" role="button">Tambah Profile Baru< /a>< /p>
< div class="table-responsive">
< table class="table table-bordered table-hover">
< thead>
< tr>
< th>ID< /th>
< th>Nama< /th>
< th>Jenis Kelamin< /th>
< th width="146">Aksi< /th>
< /tr>
< /thead>
66
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
< tbody>
@foreach($profiles as $value)
< tr>
< td>{{{ $value->id }}}< /td>
< td>{{{ $value->nama }}}< /td>
< td>{{{ $value->jeniskelamin
== 'L' ? 'Laki - laki' : 'Perempuan' }}}< /td>
< td>
< div class="btn-group">
< a href="{{ URL::to('crud/edit/'.$value->id)
}}" class="btn btn-primary">Ubah< /a>
< a href="{{ URL::to('crud/destroy/'.$value-
>id) }}" class="btn btn-primary">Hapus< /a>
< /div>
< /td>
< /tr>
@endforeach
< /tbody>
< /table>
< /div>
{{$profiles->links()}}
< /div>
< /div>
@stop
Selanjutnya buka file routes.php didalam folder app tambahkan syntax code dibawah ini.
Route::get('crud', 'CrudController@index');
Untuk menjalankan hasil syntax code diatas ketikan url seperti ini.
http://localhost/projectlaravel/public/crud
(sebelumnya isikan terlebih dahulu data ke dalam table secara manual di phpmyadmin,
diisikan isian data bebas.)
Selanjutnya kita akan membuat form tambah data profile. Tambahkan syntax code berikut ini
di contoller bernama CrudController.php dibawah function index.
public function create()
{
return View::make('crud.create');
}
public function store()
{
$rules = array(
'nama' => 'required',
'jeniskelamin' => 'required',
);
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
return Redirect::to('crud/create')->withErrors($validator)-
>withInput();
} else {
DB::table('profiles')->insert(
array(
67
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Kemudian buat file bernama create.blade.php didalam folder crud yang sebelumnya sudah
dibuat dan isikan syntax code dibawah ini.
@extends('layouts.master')
@section('content')
< div class="row">
< div class="col-lg-12">
< h1 class="page-header">
Halaman
< small>Tambah Profile< /small>
< /h1>
{{ Form::open(array('url' => 'crud/create')) }}
< div class="form-group">
{{ Form::label('nama', 'Nama') }}
{{ Form::text('nama', null, array('class' => 'form-
control','placeholder'=>'masukkan nama')) }}
{{ '< div>'.$errors->first('nama').'< /div>' }}
< /div>
< div class="form-group">
{{ Form::label('jeniskelamin', 'Jenis Kelamin') }}
{{ Form::select('jeniskelamin', array('L' => 'Laki
- Laki', 'P' => 'Perempuan'), null, array('class' => 'form-
control','placeholder'=>'Pili Jenis Kelamin')) }}
{{ '< div>'.$errors->first('jeniskelamin').'<
/div>' }}
< /div>
< div class="form-group">
{{ Form::label('alamat', 'Alamat') }}
{{ Form::textarea('alamat', null, array('class'
=> 'form-control','placeholder'=>'masukkan alamat')) }}
< /div>
{{ Form::submit('SIMPAN', array('class' => 'form-
control')) }}
{{ Form::close() }}
< /div>
< /div>
@stop
Selanjutnya jalankan dengan menekan tombol tambah profile baru atau ketikan url berikut:
http://localhost/projectlaravel/public/crud/create
68
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Setelah membuat tambah data kita akan membuat update atau ubah data. Untuk itu
tambahkan syntax code dibawah ini didalam controller CrudController.php dibawah
function store.
public function edit($id)
{
$profilesbyid = DB::table('profiles')->where('id',$id)-
>first();
$profilesbyid =
[
'profilesbyid' => $profilesbyid
];
return View::make('crud.edit', $profilesbyid);
}
public function update($id)
{
$rules = array(
'nama' => 'required',
'jeniskelamin' => 'required',
);
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
echo "string";
return Redirect::to('crud/edit/'.$id)-
>withErrors($validator)->withInput();
} else {
DB::table('profiles')
->where('id', $id)
->update(array(
'nama' => Input::get('nama'),
'jeniskelamin' => Input::get('jeniskelamin'),
'alamat' => Input::get('alamat')
));
Session::flash('message', 'Data Berhasil Diubah');
return Redirect::to('crud');
}
}
Kemudian dibuat file bernama edit.blade.php didalam folder crud dan isikan syntax code
dibawah ini.
@extends('layouts.master')
@section('content')
< div class="row">
< div class="col-lg-12">
< h1 class="page-header">
Halaman
< small>Ubah Profile< /small>
< /h1>
{{ Form::model($profilesbyid, array('route'
=> array('crud.update', $profilesbyid->id))) }}
< div class="form-group">
69
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
{{ Form::label('nama', 'Nama') }}
{{ Form::text('nama', null, array('class' => 'form-
control','placeholder'=>'masukkan nama')) }}
{{ '< div>'.$errors->first('nama').'< /div>' }}
< /div>
< div class="form-group">
{{ Form::label('jeniskelamin', 'Jenis Kelamin') }}
{{ Form::select('jeniskelamin', array('L' => 'Laki -
Laki', 'P' => 'Perempuan'), null, array('class' => 'form-
control','placeholder'=>'Pili Jenis Kelamin')) }}
{{ '< div>'.$errors->first('jeniskelamin').'< /div>' }}
< /div>
< div class="form-group">
{{ Form::label('alamat', 'Alamat') }}
{{ Form::textarea('alamat', null, array('class'
=> 'form-control','placeholder'=>'masukkan alamat')) }}
< /div>
{{ Form::submit('SIMPAN', array('class' => 'form-control'))
}}
{{ Form::close() }}
< /div>
< /div>
@stop
Sekarang coba jalankan untuk mengubah data dengan menekan tombol ubah maka akan
tampil form seperti gambar ini.
Ubah data apapun dan klik tombol simpan dan amati apa yang terjadi.
70
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Yang terakhir adalah membuat fungsi untuk menghapus data, tambahkan syntax code berikut
di controller CrudController.php dibawah function update.
public function destroy($id)
{
DB::table('profiles')->where('id', '=', $id)->delete();
Session::flash('message', 'Data Berhasil Dihapus');
return Redirect::to('crud');
}
Selanjutnya klik menu hapus untuk menghapus data, dan amati apa yang terjadi.
LATIHAN
Kerjakan ulang seluruh percobaan pada modul ini, dengan parameter yang berbeda!
(penentuan parameter latihan ditentukan oleh asisten lab.)
71
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
MODUL 11
C. R. U. D. MENGGUNAKAN ELOQUENT ORM DAN
RESTFUL RESOURCE CONTROLLERS LARAVEL
A. Tujuan:
1. Memahami konsep dasar C.R.U.D dalam Eloquent dan RESTfull laravel.
2. Mampu menerapkan konsep eloquent ORM dan RESTfull pada laravel
B. Dasar Teori
Pada modul ini akan sedikit dibahas lagi apa itu CRUD. Create, read, update dan delete
biasanya disingkat CRUD. Operasi CRUD digunakan untuk membuat, membaca,
mengubah dan menghapus data dalam database. Untuk CRUD pada modul ini kita akan
memanfaatkan Eloquent ORM dan RESTful Resource Controllers. Eloquent ORM
adalah ORM (Object Relational Mapping) yang dibundling bersama Laravel Framework.
Dengan ORM kita akan lebih mudah dalam membuat proses CRUD. Sedangkan
RESTful Resource Controllers adalah untuk mempermudah dalam membuat RESTful
controllers. RESTful resource adalah semua hal yang bisa diakses dan ditransfer melalui
web antara client dan server.
Contohnya saja pada aplikasi facebook atau google plus. Untuk login pada suatu website
tertentu dapat digunakan data pihak ketiga yaitu facebook dan google plus.
Sebelum melanjutkan membuat CRUD dengan Eloquent ORM dan RESTful Resource
Controllers, buat database terlebih dahulu sesuai modul sebelumnya:
Nama Database : belajarlaravel
Nama Tabel : profiles
Lakukan konfigurasi pada file database.php didalam folder app/config. Untuk isinya disesuaikan
dengan pengaturan pada modul sebelumnya.
Kemudian buka project yang telah diinstall, selanjutnya buat file bernama IvudController.php
didalam folder app/controllers.
Cara yang lebih cepat dapat menggunakan peritah berikut ini pada artisan.
php artisan controller:make IvudController
72
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Apabila dibuat secara manual file controller IvudController.php nya, dengan menggunakan
controller:make isikan dengan syntax code berikut:
< ?php
class IvudController extends \BaseController {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @return Response
*/
public function store()
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param int $id
* @return Response
73
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
*/
public function update($id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return Response
*/
public function destroy($id)
{
//
}
}
Masih dalam file IvudController.php , ganti function index diatas menjadi seperti dibawah
ini.
public function index()
{
$profiles = Profile::paginate(5);
$profiles =
[
'profiles' => $profiles
];
return View::make('ivud.index', $profiles);
}
Kemudian buat file bernama Profile.php didalam folder app/models dan isikan dengan
syntax code dibawah ini.
< ?php class Profile extends Eloquent {
}
Langkah selanjutnya adalah membuat folder bernama ivud didalam folder app/views.
Setelah itu di dalam folder ivud buat file bernama index.blade.php dan isikan dengan syntax
code dibawah ini.
@extends('layouts.master')
@section('content')
< div class="row">
< div class="col-lg-12">
< h1 class="page-header">
Halaman
< small>Daftar Profile< /small>
< /h1>
@if (Session::has('message'))
{{ Session::get('message') }}
@endif
< p>< a href="{{ URL::to('ivud/create') }}" class="btn btn-
primary" role="button">Tambah Profile Baru< /a>< /p>
< div class="table-responsive">
< table class="table table-bordered
table-hover">
< thead>
< tr>
< th>ID< /th>
< th>Nama< /th>
< th>Jenis Kelamin< /th>
< th width="146">Aksi< /th>
< /tr>
< /thead>
< tbody>
@foreach($profiles as $value)
< tr>
< td>{{{ $value->id }}}< /td>
< td>{{{ $value->nama }}}<
/td>
74
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
< /div>
< /div>
@stop
Selanjutnya buka file routes.php pada folder app dan tambahkan syntax code dibawah ini.
Route::resource('ivud', 'IvudController');
Dengan syntax code route diatas kita tidak perlu membuat route masing-masing, cukup satu
baris sudah mewakili satu CRUD.
Selanjutnya ganti syntax code function create dan store di dalam file IvudController.php
menjadi seperti berikut:
public function create()
{
return View::make('ivud.create');
}
public function store()
{
$rules = array(
'nama' => 'required',
'jeniskelamin' => 'required',
);
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
return Redirect::to('ivud/create')-
>withErrors($validator)->withInput();
} else {
$profile = new Profile;
$profile->nama = Input::get('nama');
75
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
$profile->jeniskelamin = Input::get('jeniskelamin');
$profile->alamat = Input::get('alamat');
$profile->save();
Session::flash('message', 'Data Berhasil Ditambahkan');
return Redirect::to('ivud');
}
}
Kemudian buat file didalam folder app/views bernama create.blade.php dan isikan
syntax code dibawah ini.
@extends('layouts.master')
@section('content')
< div class="row">
< div class="col-lg-12">
< h1 class="page-header">
Halaman
< small>Tambah Profile< /small>
< /h1>
{{ Form::open(array('url' => 'ivud')) }}
< div class="form-group">
{{ Form::label('nama', 'Nama') }}
{{ Form::text('nama', null, array('class' => 'form-
control','placeholder'=>'masukkan nama')) }}
{{ '< div>'.$errors->first('nama').'< /div>' }}
< /div>
< div class="form-group">
{{ Form::label('jeniskelamin', 'Jenis Kelamin') }}
{{ Form::select('jeniskelamin', array('L' => 'Laki -
Laki', 'P' => 'Perempuan'), null, array('class' => 'form-
control','placeholder'=>'Pili Jenis Kelamin')) }}
{{ '< div>'.$errors->first('jeniskelamin').'< /div>'
}}
< /div>
< div class="form-group">
{{ Form::label('alamat', 'Alamat') }}
{{ Form::textarea('alamat', null, array('class'
=> 'form-control','placeholder'=>'masukkan alamat')) }}
< /div>
{{ Form::submit('SIMPAN', array('class' => 'form-
control')) }}
{{ Form::close() }}
< /div>
< /div>
@stop
76
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Isikan data lalu klik tombol simpan dan amati apa yang terjadi.
Selanjutnya silahkan ganti syntax code function edit dan update pada file
IvudController.php seperti dibawah ini.
public function edit($id)
{
$profilesbyid = Profile::findOrFail($id);
$profilesbyid =
[
'profilesbyid' => $profilesbyid
];
return View::make('ivud.edit', $profilesbyid);
}
public function update($id)
{
$rules = array(
'nama' => 'required',
'jeniskelamin' => 'required',
);
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
return Redirect::to('ivud/'.$id.'/edit')-
>withErrors($validator)->withInput();
} else {
$profile = Profile::findOrFail($id);
$profile->nama = Input::get('nama');
$profile->jeniskelamin = Input::get('jeniskelamin');
$profile->alamat = Input::get('alamat');
$profile->save();
Session::flash('message', 'Data Berhasil Diubah');
return Redirect::to('ivud');
}
}
Kemudian buat file bernama edit.blade.php didalam folder app/views/ivud dan isikan
dengan syntax code dibawah ini.
@extends('layouts.master')
@section('content')
< div class="row">
< div class="col-lg-12">
< h1 class="page-header">
Halaman
< small>Ubah Profile< /small>
< /h1>
{{ Form::model($profilesbyid, array('route'
=> array('ivud.update', $profilesbyid->id),'method' => 'PUT')) }}
< div class="form-group">
{{ Form::label('nama', 'Nama') }}
{{ Form::text('nama', null, array('class' => 'form-
control','placeholder'=>'masukkan nama')) }}
{{ '< div>'.$errors->first('nama').'< /div>' }}
< /div>
< div class="form-group">
77
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
atau bisa klik tombol ubah maka hasilnya seperti gambar dibawah ini.
Selanjutnya membuat syntax code untuk delete data, syntax code function destroy dalam
file IvudController.php diganti menjadi seperti dibawah ini.
public function destroy($id)
{
$profile = Profile::findOrFail($id);
$profile->delete();
Session::flash('message', 'Data Berhasil Dihapus');
return Redirect::to('crud');
}
78
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Terakhir tambahkan syntax code dibawah ini di folder app/views/includes lalu cari
file sidebar.blade.php
< li>
< a href="{{ URL::to('ivud') }}">< i class="fa fa-fw fa-edit">< /i>
CRUD Eloquent ORM< /a>
< /li>
LATIHAN
Kerjakan ulang seluruh percobaan pada modul ini, dengan parameter yang berbeda!
(penentuan parameter latihan ditentukan oleh asisten lab.)
79
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
MODUL 12
MEMBUAT AUTHENTICATION USER SEDERHANA
A. Tujuan:
1. Memahami konsep authentication pada laravel.
2. Mampu menerapkan authentication sederhana pada laravel
B. Dasar Teori
Authentication yang akan dibahas pada modul ini adalah auth basic atau dasar, dan bukan bukan
berbasis ACL (Access Control List) maupun RBAC (Role Based Access ControL). Di
Framework laravel telah disediakan komponen atau fungsi - fungsi yang kita perlukan untuk
membuat authentication. Sebelum membahasa lebih jauh tentang auth laravel, kita harus paham
apa itu auth. Auth dalam aplikasi adalah digunakan untuk membatasi user tertentu dalam
mengakses aplikasi atau program bahkan menu tertentu. Dalam membuat auth kita biasanya
memerlukan form login yang berisi inputan username atau email dan password. Sebelum belajar
membuat auth akan saya perkenalan dahulu fungsi – fungsi auth yang ada dilaravel.
Untuk mengecek password sama atau tidak anda bisa menggunakan code dibawah ini.
if (Hash::check('secret', isikanpasswordyangtelahdihash))
{
}
$hashed = Hash::make('secret');
Authenticating Users
Untuk masuk dalam aplikasi bisa digunakan syntax code dibawah ini.
if (Auth::attempt(array('email' => $email, 'password' => $password)))
{
return Redirect::intended('dashboard');
}
Sedangkan untuk mengecek apakah pengguna sudah benar – benar login dapat
menggunakan syntax code dibawah ini.
if (Auth::check())
{
}
Atribut remember me atau ingat saya, di laravel bisa menggunakan syntax code:
if (Auth::attempt(array('email' => $email, 'password' => $password), true))
{
}
80
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Untuk mengecek apakah remember me atau ingat saya sudah bekerja apa belum bisa dicoba
dengan menuliskan syntax code dibawah ini.
if (Auth::viaRemember())
{
}
Untuk menampilkan status user, apakah aktif atau tidak bisa menggunakan syntax code dibawah
ini.
if (Auth::attempt(array('email' => $email, 'password' => $password, 'active'
=> 1)))
{
}
Untuk mengakses data user yang telah login bisa menggunakan seperti ini.
$email = Auth::user()->email;
Langkah awal yaitu konfigurasi file database.php di dalam folder app/config. Buat database
dengan tabel bernama users. Disini kita akan memanfaatkan migration yang ada dilaravel dan
juga sudah kita bahas di modul sebelumnya.
81
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Jika selesai simpan dan di command prompt / cmd jalankan perintah ini.
php artisan migrate
Disini kita juga memanfaatkan seeder laravel fungsinya untuk membuat / memasukan data,
dibuat untuk testing aplikasi atau web yang dibuat.
Buat file bernama UserTableSeeder.php didalam folder app/seeds dan isikan syntax code
dibawah ini.
< ?php
class UserTableSeeder extends Seeder
{
public function run()
{
DB::table('users')->delete();
User::create(array(
'name' => 'Andri Riantana',
'username' => 'seputarpemrograman',
'email' => 'seputarpemrograman@gmail.com',
'password' => Hash::make('qwerty'),
));
}
}
82
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Kemudian buka file DatabaseSeeder.php yang berada di app/seeds ubah syntax codenya
menjadi seperti ini.
public function run()
{
Eloquent::unguard();
$this->call('UserTableSeeder');
}
Jika berhasil maka di database sudah terdapat tabel bernama users beserta isinya.
Atau, dapat juga membuat tabel secara manual dengan struktur tabel seperti dibawah ini.
83
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Buat file lagi bernama login.blade.php letakkan di folder app/views dan isikan syntax code
berikut:
< !DOCTYPE html>
< html lang="en">
< head>
< title>Halaman Login< /title>
{{ HTML::style('assets/css/bootstrap.min.css') }}
{{ HTML::style('assets/css/sb-admin.css') }}
{{ HTML::style('assets/font-awesome-4.1.0/css/font-awesome.min.css') }}
< /head>
< body>
< div class="row">
< div class="col-lg-4 text-center">
< /div>
< div class="col-lg-4 text-center">
< div class="panel panel-default">
< div class="panel-body">
{{ Form::open(array('url' => 'login')) }}
< h1>Login< /h1>
< p>
{{ $errors->first('email') }}
{{ $errors->first('password') }}
< /p>
< p>
{{ Form::label('email', 'Email') }}
{{ Form::text('email',
Input::old('email'), array('class' => 'form-
control','placeholder'=>'Masukkan Email')) }}
< /p>
< p>
84
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
{{ Form::label('password', 'Password')
}}
{{
Form::password('password', array('class' => 'form-
control','placeholder'=>'Masukkan Password')) }}
< /p>
< p>{{ Form::submit('Login', array('class' => 'form-
control')) }}< /p>
{{ Form::close() }
< /div>
< /div>
< /div>
< div class="col-lg-4 text-center">
< /div>
< /div>
< /body>
< /html>
Selanjutnya buka file routes.php yang berada dalam folder app. Dan tambahkan syntax code
dibawah ini.
Route::group(array('before' => 'auth'), function()
{
Route::get('logout', array('uses' => 'UserController@logout'));
Route::get('formsederhana', 'ProfileController@formsederhana');
Route::post('formsederhana', 'ProfileController@postformsederhana');
Route::get('crud', 'CrudController@index');
Route::get('crud/create','CrudController@create');
Route::post('crud/create','CrudController@store');
Route::get('crud/edit/{id}', 'CrudController@edit');
Route::post('crud/update/{id}', array('as' => 'crud.update', 'uses'
=> 'CrudController@update'));
Route::get('crud/destroy/{id}','CrudController@destroy');
Route::resource('ivud', 'IvudController');
Route::get('logout', array('uses' => 'UserController@logout'));
});
85
Modul Praktikum Pemrograman Web |
Teknik Informatika |
Universitas Siliwangi |
Yang terakhir pastikan terdapat file bernama User.php didalam folder app/models.
Sekarang coba jalankan dengan mengetikan url seperti ini.
http://localhost/projectlaravel/public/login
Kemudian tambahkan syntax code dibawah ini dalam file sidebar.blade.php dalam
folder app/views/includes.
< li>
< a href="{{ URL::to('logout') }}">< i class="fa fa-fw fa-power-off"><
/i> Logout< /a>
< /li>
LATIHAN
Kerjakan ulang seluruh percobaan pada modul ini, dengan parameter yang berbeda!
(penentuan parameter latihan ditentukan oleh asisten lab.)
86