MODUL PRAKTIKUM
PEMROGRAMAN WEB 2
1
DAFTAR ISI
Tujuan Khusus
1. Mahasiswa dapat mendeklarasikan dan menggunakan array.
2. Mahasiswa dapat membuat fungsi dan menggunakannya
Array merupakan sebuah tipe data terstruktur yang berguna untuk menyimpan
sejumlah data yang bertipe sama. Bagian yang menyusun array disebut elemen
array, yang masing-masing elemen dapat diakses tersendiri melalui index array.
Index array dapat berupa bilangan integer atau string.
Array yang indexnya berupa angka disebut dengan array numeric. Index array ini
dimulai dengan angka 0. Ada 2 cara untuk mendeklarasikan array numeric, yaitu
a. $var = array(“Mobil”,”Motor”,”Sepeda”);
Dengan cara di atas deklarasi array langsung diikuti dengan menyebutkan
value/nilai array. Mobil memiliki index 0, Motor index 1 dan Sepeda index 2
b. $var = array();
$var[] =
“Mobil”;
$var[] =
“Motor”;
$var[] = “Sepeda”;
Dengan cara di atas dibuat sebuah variabel dengan tipe data array yang
isinya masih kosong. Kemudian untuk mengisinya dengan menulis nama
variable diikuti []. Mobil memiliki index 0, Motor index 1 dan Sepeda index 2
b. $var = array();
$var[„PG065‟] = “PW1”;
$var[„PG066‟] = “PW2”;
Dengan cara di atas dibuat sebuah variabel dengan tipe data array yang
isinya masih kosong. Kemudian untuk mengisinya dengan menulis nama
variable diikuti [].PW1 memiliki index PG065 dan PW2 memiliki index PG066
Untuk mencetak seluruh isi sebuah array bisa menggunakan fungsi perulangan for()
dan foreach(). Bentuk umum fungsi for untuk mencetak seluruh isi array numeric
for($i=0;$i<count($var);$i++){
echo $var[$i];
Bentuk umum fungsi foreach untuk mencetak seluruh isi array numeric
foreach($var as$data){
echo $data;
Bentuk umum fungsi foreach untuk mencetak seluruh isi array string
foreach($var as $index=>$value){
Untuk mencetak struktur array bisa menggunakan fungsi print_r(). Fungsi ini akan
menampilkan index array dan valuenya sehingga mudah dibaca
1.2.2 Fungsi
Fungsi atau function adalah bagian program yang dirancang untuk menyelesaikan
tugas tertentu. Sebuah fungsi bisa dibuat dengan menggunakan keyword
function(). Sebuah fungsi bisa dibuat tanpa parameter, maupun dengan parameter.
Function nama_fungsi(parameter1,parameter2,…,parameter2){
Statement;
}
Fungsi yang dibuat bisa dipanggil dari bagian lain dengan cara menyebutkan nama
fungsinya. Jumlah parameter saat pemanggilan fungsi, sesuai dengan jumlah
parameter saat deklarasi fungsi.
2) Apa yang tercetak di browser jika pada baris 12 program di atas ditambahkan
kode berikut:
Echo $var[5];
3) Di bawah ini adalah contoh menampilkan array string dan array numeric.
Ketik menggunakan notepad++ dan jalankan pada browser.
4) Apa yang tercetak di browser jika pada baris 12 program di atas ditambahkan
kode berikut:
Echo $var[„pg066‟];
Modul Praktikum Pemrograman Web 2 (PG066)
5) Di bawah ini adalah contoh menampilkan isi array numeric dan array string.
Ketik menggunakan notepad++ dan jalankan pada browser.
6) Modifikasi program 1.3 di atas sehingga tampilan array $var2 pada browser
menjadi sebagai berikut :
8) Apa yang tercetak di layar jika pada baris 17 program di atas ditambahkan
perintah :
Cetakbiodata($a)
9) Di bawah ini adalah contoh pendeklarasian sebuah fungsi yang memiliki
return value serta cara pemanggilannya.
Jawab no 3 :
3) Buatlah sebuah form untuk menginput jam masuk dan jam keluar sebuah
kendaraan pada tempat parkir. Buatlah fungsi untuk menghitung tarif
parkirnya jika aturannya sebagai berikut
• 2 jam pertama Rp 2000
• 1 jam berikutnya Rp 500
• Maksimal Rp 10000
Jawab No 3:
4) Diketahui sebuah array sebagai berikut
$mhs[] = array(„nim‟=>„1611500121‟,‟nama‟=>‟wahyu‟,‟grade‟=>‟A‟);
$mhs[] = array(„nim‟=>„1611500122‟,‟nama‟=>‟yudi‟,‟grade‟=>‟B‟);
$mhs[] = array(„nim‟=>„1611500123‟,‟nama‟=>‟dimas‟,‟grade‟=>‟C‟);
$mhs[] = array(„nim‟=>„1611500124‟,‟nama‟=>‟udin‟,‟grade‟=>‟D‟);
Tujuan Khusus
1. Mahasiswa dapat menggunakan fungsi untuk penanganan file
2. Mahasiswa dapat menggunakan fungsi untuk penanganan direktori
3. Mahasiswa dapat membuat form untuk upload file
Dalam management file dan direktori, PHP menyediakan lebih dari 70 fungsi.
Beberapa fungsi utama yang berhubungan dengan management file (create, write,
append, dan delete), antara lain :
Fungsi fgets() akan membaca isi file tiap baris. Sedangkan fungsi fread() akan
membaca isi file setiap jumlah byte tertentu.
Beberapa fungsi yang berhubungan dengan informasi file bisa dilihat pada table
berikut
ENCTYPE="multipart/form-data"
2. Form inputan upload file dapat menggunakan tag <input> dengan value
atribut TYPE=”FILE”.
4. Destination folder file upload harus bisa writable (bisa diakses), biasanya dengan
permission 777 atau 775.
4) Di bawah ini adalah contoh program membaca isi file. Ketik menggunakan
notepad++ dan jalankan pada browser.
Program 2.3 file3.php
Pada program di atas fungsi fgets akan membaca sebanyak 2048 karakter
dan fungsi fread akan membaca sebanyak 20 karakter saja.
Hasil pada browser
5) Apa yang terjadi pada program di atas, jika pada baris ke-3 mode akses file
diganti menjadi “a”?
6) Di bawah ini adalah contoh program membaca isi file baris hingga baris
sampai selesai.
Program 2.4 file4.php
7) Di bawah ini adalah contoh program untuk membuat user counter yang
disimpan ke dalam file
Program 2.5 file5.php
Program akan menampilkan di layar, semua file dan direktori yang berada
dalam direktori “images”. Fungsi opendir() pada baris ke-3 adalah untuk
membuka direktori. Sedangkan fungsi readdir() akan membaca file dalam
direktori satu per satu secara urut. Fungsi closedir() pada baris ke-9 adalah
untuk menutup pembukaan direktori.
2) Apa yang dimaksud dengan mode permission 777 pada sebuah direktori?
Jawab :
- DBMS mengurangi dataganda (data redundancy) dengan cara
menghilangkan unsur-unsur data yang
sama.-
- Ini merupakan salah satu keunggulan dari pengelolaan data dengan
sistem database, dimana anda dapat saling berbagi dalam penggunaan
file, baik bersifat jaringan maupun client server.
- Untuk manajemen data Database lebih unggul,
Tujuan Khusus
1. Mahasiswa dapat membuat sebuah class
2. Mahasiswa dapat membuat method
3. Mahasiswa dapat membuat object dari sebuah class dan memanggil method
yang ada di dalamnya
3. Polymorphisme
Bagian dasar dari sebuah program yang berorientasi objek adalah objects. Secara
mudah kita dapat memahami mengenai object ini. Sebagai contoh, sebuah mobil
adalah objek. Sebuah mobil mempunyai properties atau bagian-bagian di dalamnya,
seperti warna, mesin, roda, pintu dsb. Sebuah mobil juga dapat melakukan sesuatu
(ada sesuatu yang bisa dilakukan dengan mobil), seperti mengisi bensin,
menyalakan mesin, berjalan, mengerem dsb.
Biasanya object adalah sebuah kata benda. Orang adalah object. Demikian juga
mobil, pohon, bunga, komputer, TV, buku dsb. Namun, object tidak selamanya
sebuah objek fisik. Bisa saja sebuah benda abstrak, seperti account bank, sebuah
file di komputer, database, pesan email, acara TV, dsb.
Class merupakan penjelasan atau deskripsi dari object. Di dalam class, terdapat
penjelasan tentang suatu object termasuk properties yang dimilikinya serta kelakuan
atau method yang bisa dilakukan oleh object. Sebagai contoh, class Orang. Class
Orang tentu setidaknya memiliki beberapa bagian seperti tangan, kaki, mata, telinga
dsb. Class Orang juga setidaknya harus bisa jalan, bisa loncat, bisa lari, bisa melihat,
bisa bicara dsb.
Salah satu keuntungan program didefinisikan dengan konsep OOP adalah adanya
pengkapsulan (encapsulation) program dalam class dan object, dimana programmer
yang menggunakan class tidak perlu mengetahui isi dan jalannya class secara detail,
hanya perlu tahu bagaimana cara menggunakannya. Sama halnya dengan sebuah
mobil misalnya. Seorang pemilik mobil tentunya tidak perlu mengetahui bagian-
bagian mobil secara menyeluruh. Dia tidak perlu mengetahui bagaimana mesin
mobil melakukan pembakaran dan bagaimana mesin mobil bisa menggerakkan roda,
dsb. Dia hanya perlu tahu bagaimana cara menjalankan mobil, bagaimana
menghentikan mobil, dan fungsi mobil lainnya.
Setiap class memiliki properties yang kadang disebut juga attributes. Properties dari
sebuah mobil misalnya warna, ukuran, harga dsb. Di dalam class, properties
dinyatakan dengan sebuah variabel. Misalnya $warna, $harga, dsb.
Method merupakan sesuatu yang bisa dilakukan oleh object. Method dalam PHP
sama artinya dengan sebuah fungsi. Method yang mungkin dipunyai dari sebuah
mobil misalnya, method untuk menghidupkan mobil, menjalankan mobil,
menghentikan mobil, dsb.
Penamaan properties dan method memiliki aturan yang sama dengan penamaan
sebuah variabel atau fungsi. Akan tetapi berdasarkan kesepakatan (convention),
penamaan properties dan method harus menggunakan camel Caps, dimana tiap kata
diawali dengan huruf besar kecuali kata pertama, setiap kata digabung tanpa spasi
atau under-score (_).
class namaClass
{
Deklarasikan dan definisikan properties di
sini
Class namaClass
Var $var1;
Var $var2;
Var $var3 =
10;
Pendeklarasian variabel dalam class seperti pada contoh di atas, bukanlah suatu
keharusan, karena dalam PHP variabel tidak perlu dideklarasikan, cukup digunakan
saja. Namun demikian, pendeklarasian variabel yang digunakan sangat dianjurkan
untuk kemudahan pembacaan dan pemahaman program. Variabel class juga dapat
langsung diinisialisasi dengan sebuah nilai.
Menambahkan Method
Class namaClass
Function namafunction()
Statement;
Menambahkan Konstruktor
Class namaClass
Function construct()
{
Statement;
Untuk menggunakan sebuah objek, harus dibentuk objek dari classnya. Dari sebuah
class bisa dibentuk beberapa objek sekaligus. Bentuk umum pembentukan objek
adalah sbb :
Sedangkan untuk memanggil anggota (member) dari class dapat dengan format
sbb :
$namaObjek->variabel;
$namaObjek->namaMethod();
3.4 LATIHAN
1) Sebuah class bernama pegawai memiliki properties
nip,nama,alamat,notelp dan tgllahir. Dalam class tersebut terdapat
method untuk menampilkan data pegawai dan method untuk mengubah
data pegawai.
Tuliskan program untuk class tersebut
2) Berdasarkan soal no 1, buatlah sebuah object berdasarkan class
pegawai yang menggunakan kedua method tersebut.
b. Kecepatan pengembangan
d. Adanya Konsistensi
Tujuan Khusus
1. Mahasiswa mengetahui konsep framework
2. Mahasiswa mengetahui konsep MVC
3. Mahasiswa mengetahui cara kerja framework
Secara bahasa, framework berarti kerangka kerja. Framework adalah kerangka kerja
yang berupa perangkat lunak ini bertujuan memudahkan programmer untuk
membangun aplikasi.
• Laravel (https://laravel.com/)
• Zend (http://framework.zend.com/)
• Symfony (https://symfony.com/)
• CakePHP (http://cakephp.org/)
• Yii (http://www.yiiframework.com/)
• Model mewakili struktur data. Umumnya kelas model akan berisikan fungsi
untuk retrieve, insert, dan update informasi di database.
• View adalah informasi yang akan ditampilkan ke user.
• Controller bertindak sebagai perantara antara Model, View dan resource lain
yang dibutuhkan untuk memroses request HTTP dan men-generate halaman
web
Penerapan MVC pada CodeIgniter tidak terlalu ketat, jika Model tidak dibutuhkan,
maka aplikasi minimal akan terdiri dari Controller dan View
Tujuan Khusus
1. Mahasiswa mengetahui cara membuat Controller, View dan Model
2. Mahasiswa mengetahui cara menginput data ke database
example.com/index.php/blog
Pada contoh di atas, CodeIgniter akan mencari Controller yang bernama Blog.php
a. Method
Example.com/index.php/NAMACONTROLLER/NAMAMETHOD
Jika pada URL tidak terdapat NAMAMETHOD, maka method yang digunakan
adalah index().
example.com/index.php/blog sama
dengan
example.com/index.php/blog/index
Jika URI lebih dari 2 bagian, maka akan dijadikan parameter untuk sebuah
method
b. Private Method
Untuk membuat method yang tidak dapat diakses oleh publik dengan
mendeklarasikannya sebagai private atau protected, sehingga tidak dapat
ditampilkan lewat URL request
http://localhost/budiluhur/index.php/test/_checkSetting
5.2.2 Views
View bisa berupa halaman web sederhana maupun yang kompleks. View dipanggil di
Controller, tidak dapat dijalankan langsung melalui URL. Halaman web bisa terdiri
dari header, footer, menu dll. View disimpan pada folder application/views/
$this->load->view('name_view')
Sebuah view bisa ditambahkan dynamic data yang berasal dari controller. Data
dikirimkan dari Controller ke View menggunakan Array ataupun Object, diletakkan
pada bagian parameter kedua di pemanggilan View
$this->load->view('name_view',$data)
5.2.3 Model
Models merupakan kelas yang dirancang untuk bekerja dengan Database. Models
disimpan dalam direktori application/models. Model dapat dipanggil ketika proses
inisialiasi sistem berjalan dengan menambahkannya di file
application/config/autoload.php
Bentuk umum sebuah model sebagai berikut
parent:: construct();
Pada bentuk di atas, Model_name adalah nama dari kelas, diawali oleh huruf besar
dan pastikan extends dari CI_Model . Nama file model di atas adalah
Model_name.php dan disimpan di application/models
$this->load->model('model_name');
$this->load->model('direktori/model_name');
Untuk mengakses method di dalam model, menggunakan nama kelas dari Model tsb
$this->load->model('model_name');
$this->model_name->method();
Index page, biasanya berisikan index.php dan dapat dihilangkan jika menggunakan
mod_rewrite
Insert
Bentuk umum :
$this->db->insert
$data = array(
'title' => 'My title',
'name' => 'My Name',
'date' => 'My date'
);
$this->db->insert('mytable', $data);
Perintah di atas akan menghasilkan query:
INSERT INTO mytable (title, name, date) VALUES ('My title', 'My name', 'My date')
Update
Bentuk umum
$this->db->update()
$data = array(
'title' => $title,
'name' => $name,
'date' => $date
);
$this->db->where('id', $id);
$this->db->update('mytable', $data);
UPDATE mytable
DELETE
Bentuk umum :
$this->db->delete();
Bentuk umum
$this->db->select();
80
12) Jalankan http://localhost/budiluhur/index.php/mahasiswa/ sehingga
tampil seperti ini
81
5.4 LATIHAN
1) Buatlah sebuah halaman untuk menampilkan rata-rata dari 3 nilai yang
dikirimkan melalui parameter URL. Gunakan view dan controller
Contoh URL
http://localhost/budiluhur/index.php/hitung/rata/60/70/80
Output :
Rata-rata dari 60,70,80 adalah 70
5.5 TUGAS MANDIRI
1) Buatlah sebuah aplikasi untuk menginput data mitra yang disimpan ke
dalam table mitra!
Struktur table mitra sebagai berikut
Nama Field Tipe data Keterangan
idmitra varchar(10) Primary Key
nama varchar(100)
jenkel varchar(1) isinya L/P
alamat text
nohp varchar(20)
PRAKTIKUM 6
PHP FRAMEWORK #3
Tujuan Khusus
1. Mahasiswa mengetahui cara penggunaan library validation
2. Mahasiswa mengetahui cara penggunaan library email
Skenario yang biasa terjadi saat validasi form adalah sebagai berikut :
1. Form ditampilkan
2. Form diisi kemudian disubmit
3. Jika terdapat kesalahan atau ada yang belum diisi, form akan ditampilkan
kembali dengan menampilkan data serta pesan kesalahan
4. Proses akan berlanjut hingga form yang disubmit sudah valid
CodeIgniter memiliki kelas untuk menangani upload file yang dapat diset untuk
beberapa keperluan seperti membatasi tipe dan ukuran file. Library ini bisa dipanggil
menggunakan
$this->load->library(‘upload’);
Proses Upload:
1. Form upload ditampilkan sehingga user dapat memilih file dan
menguploadnya
2. Ketika form disubmit, file akan diupload ke direktori yang sudah ditentukan
3. File yang diupload divalidasi berdasarkan aturan yang diset sebelumnya
4. Setelah diupload akan tampil pesan sukses
$this->load->library(‘email);
Jika valid akan muncul pesan sukses yang berasal dari view form_success.php
Untuk menampilkan isian form kembali ketika error terjadi, dapat digunakan
method set_value(„field_name‟); Ubah file views myform.php sehingga
menjadi seperti ini
Validation rules dapat diset dengan menggunakan array kemudian dilewatkan
sebagai parameter pada method set_rules() seperti contoh berikut
Beberapa rule dapat digabung menggunakan tanda pipa ( | ), contoh:
$this->form_validation->set_rules(
'username', 'Username',
'required|min_length[5]|max_length[12]|is_unique[users.username]',
array(
'required' => 'You have not provided %s.',
'is_unique' => 'This %s already exists.'
)
);
$this->form_validation->set_rules('password', 'Password', 'required');
$this->form_validation->set_rules('passconf', 'Password Confirmation',
'required|matches[password]');
$this->form_validation->set_rules('email', 'Email',
'required|valid_email|is_unique[users.email]');
'required|min_length[5]|max_length[12]|is_unique[users.userna
me]',
array(
'required' => 'You have not provided %s.',
'is_unique' => 'This %s already exists.'
)
);
• Field password harus sama dengan field confirmation password
$this->form_validation->set_rules('passconf', 'Password
Confirmation', 'required|matches[password]');
6.4 LATIHAN
1) Buat sebuah form untuk menginput nim, nama, umur. Tambahkan validasi
sebagai berikut
• Nim harus diisi dan panjang 10 karakter
• Nama harus diisi dan panjang maksimal 50 karakter
• Umur harus diisi angka dan antara 20-30
2) Buatlah sebuah form untuk menginput email tujuan, judul pesan dan isi
pesan. Jika diklik tombol submit, kirim email ke tujuan dengan judul dan isi
pesan yang dimasukkan.
10
PRAKTIKUM 7
PHP FRAMEWORK #4
Tujuan Khusus
1. Mahasiswa mengetahui cara penggunaan library table
2. Mahasiswa mengetahui cara penggunaan library pagination
3. Mahasiswa mengetahui cara penggunaan library session
Table Class menyediakan fungsi-fungsi yang dapat menghasilkan tabel HTML dari
array atau database. Untuk memanggil library table gunakan :
$this->load->library('table');
$this->table
Session merupakan salah satu cara untuk mengetahui aktivitas serta keadaan dari
pengguna system.
$this->load->library(‘session');
$this->session
$_SESSION[‘key’] = value;
$this->session->set_userdata(‘key', 'value');
Method set_userdata() memiliki dua parameter yaitu nama variabel session dan
nilainya. Dapat juga menggunakan array sebagai berikut
$newdata = array(
'username' => ‘budiluhur',
'email' => ‘admin@budiluhur.ac.id',
'logged_in' => TRUE
);
$this->session->set_userdata($newdata);
unset($_SESSION[‘var’]);
$this->session->unset_userdata(‘var');
$this->session->unset_userdata($var_array);
$name = $this->session->userdata(‘var');
2) Di bawah ini adalah contoh program menggunakan library table dan data
pada table diambil dari table mhs yang sudah dibuat pada pertemuan
sebelumnya.
Simpan controller Table.php di application/controllers
100
Berikut ini tampilannya pada browser
(http://localhost/budiluhur/index.php/table
$template = array(
'table_open' => '<table border="1" cellpadding="2"
cellspacing="1" class="mytable">'
);
$this->table->set_template($template);
Bedakan tampilan menu user yang sudah berhasil login berdasarkan hak
akses yang dimiliki.
Jika hak akses user, munculkan menu berikut
• Home
• Profile
• Ganti Password
• Berita Terbaru
Tujuan Khusus
1. Mahasiswa mengetahui konsep AJAX
2. Mahasiswa mengetahui implementasi AJAX dan JQUERY pada Codeigniter
JQuery merupakan library open source dengan lisensi GNU General Public License
dan MIT License. Dari sisi ukurannya, framework JQuery sungguh ramping, hanya
sekitar 20 KB dan hanya terdiri dari satu file. Namun demikian, bagi yang
menginginkan fungsi lebih, JQuery memungkinkan penambahan fungsionalitas
dalam bentuk plugin. Saat ini tersedia ribuan plugin yang dapat diperoleh secara
gratis di internet.
Mengambil informasi dari server tanpa refresh halaman merupakan salah satu
konsep dasar dari yang namanya AJAX (Asynchronous Javascript and XML).
Pada penerapannya, cukup ribet jika harus membangun website dengan
konsep AJAX, saat ini banyak library khusus yang berusaha
mempermudahnya. JQuery merupakan salah satunya.
Download JQuery
Biasanya file jquery dipanggil di bagian <head>, tetapi ada juga yang
meletakkannya sebelum </body>. Pemanggilan dilakukan melalui
<script src=‟lokasifile/jquery.js‟></script>
Konsep dasar dari JQuery adalah untuk memilih beberapa element dan melakukan
sesuatu terhadapnya. Selector adalah fungsi utama pada jQuery. semua fungsi
lainnya di jQuery dapat diakses melalui selector.
fungsi selector adalah $(„ekspressi‟). untuk penggunaan $() yang aman sebaiknya
dilakukan setelah semua page DOM selesai terbaca semua. jadi webpagenya sudah
lengkap baru script di eksekusi. kita dapat melakukannya dengan pada fungsi
$(document).ready().
Adapun parameter yang bisa digunakan pada jquery adalah Id element, class
element dan element itu sendiri. Selector juga bisa mengenali hirarki sebagai
parameter inputnya dan bisa memfilternya langsung dari ekspressi.
Selector Deskripsi
Tag HTML digunakan untuk menunjuk tag HTML. Misalnya $(„p‟) artinya
memilih semua paragraph dalam dokumen
Tag ID Digunakan untuk menunjuk tag yang memiliki atribut ID
tertentu. Misalnya $(„#menu‟) artinya memilih sebuah tag
HTML yang memiliki atribut ID=‟menu‟
tag CLASS Digunakan untuk menunjuk tag yang memiliki atribut CLASS
tertentu. Misalnya $(„.judul) artinya memilih sebuah tag HTML
yang memiliki atribut class=‟judul‟
Contoh Penggunaan
• $('#div1').css('background‐color','red')
memilih tag HTML yang memiliki atribut ID=‟div1‟ dan mengubah warna
backgroundnya menjadi merah
• $('.big').css('background‐color', 'yellow')
memilih tag HTML yang memiliki atribut class=‟big‟ dan mengubah warna
backgroundnya menjadi kuning
• $('#div3').css('background‐color','green')
memilih tag HTML yang memiliki atribut ID=‟div3‟ dan mengubah warna
background menjadi hijau
• $('p').css('background‐color','blue')
memilih tag <p> dan mengubah warna background menjadi biru
• $('div,p').css('color','orange')
memilih tag <div> atau <p> dan mengubah warna huruf menjadi orange
• $('a.strong').css('font‐size','20px')
memilih <a> yang memiliki atribut CLASS=‟strong‟ dan mengubah ukuran
huruf menjadi 20px
9.2.4 AJAX
Asynchronous JavaScript and XMLHTTP, atau disingkat AJaX, adalah suatu teknik
pemrograman berbasis web untuk menciptakan aplikasi web interaktif. Tujuannya
adalah untuk memindahkan sebagian besar interaksi pada komputer pengguna,
melakukan pertukaran data dengan server di belakang layar, sehingga halaman web
tidak harus dibaca ulang secara keseluruhan setiap kali seorang pengguna
melakukan perubahan. Hal ini akan meningkatkan interaktivitas, kecepatan, dan
usability. AJAX merupakan kombinasi dari:
• DOM (Document Object Model) yang diakses dengan client side scripting
language, seperti JavaScript, berguna untuk menampilkan secara dinamis dan
berinteraksi dengan informasi yang ditampilkan
• Objek XMLHTTP dari Microsoft atau XMLHttpRequest yang lebih umum di
implementasikan pada beberapa browser. Objek ini berguna sebagai
kendaraan pertukaran data asinkronus dengan web server.
• XML (eXtensible Markup Language) umumnya digunakan sebagai dokumen
transfer, walaupun format lain juga memungkinkan, seperti HTML, plain text.
XML dianjurkan dalam pemakaian teknik AJaX karena kemudahan akses
penanganannya dengan memakai DOM
• JSON (Javascript Object Notation) dapat menjadi pilihan alternatif sebagai
dokumen transfer, mengingat JSON adalah JavaScript itu sendiri sehingga
penanganannya lebih mudah
Jika diklik tulisan “klik donk” dan “klik lagi donk” akan muncul sebagai berikut
Jika diklik 2 kali (double click) tulisan “jangan diklik” akan muncul sebagai
berikut
2) Di bawah ini adalah contoh program sederhana yang menggunakan JQuery.
Untuk File Controller tetap menggunakan TestJQuery.php
Untuk File View, ubah testjquery_view.php menjadi seperti di bawah ini
125
PRAKTIKUM 10
CRUD DENGAN AJAX DAN JQUERY
Mahasiswa mengetahui cara membuat aplikasi untuk create read update delete
(CURD) sebuah table menggunakan AJAX dan Jquery
Tujuan Khusus
1. Mahasiswa mengetahui cara membuat aplikasi yang memiliki kemampuan
CRUD menggunakan AJAX dan JQuery
CRUD merupakan singkatan dari Create Read Update Delete. Sebuah aplikasi yang
memiliki kemampuan CRUD berarti aplikasi tersebut bisa menyimpan data, membaca
data, mengubah data dan menghapus data dari sebuah table.
2) Selanjutnya kita buat form untuk menginput data ke dalam table tersebut.
Ada 3 file yang diperlukan dalam aplikasi ini yaitu
• Controller datauser.php yang disimpan di application/controllers
• View datauser_view.php yang disimpan di application/views
126
• Model datausermodel.php yang disimpan di application/models
Pada bagian awal akan dimunculkan form untuk input data ke dalam table
user.
3) Berikutnya adalah data yang ada di table akan ditampilkan pada bagian
bawah form. Data ini diambil dari database dengan konsep AJAX dengan
data JSON.
Jika tombol ubah diklik, username dan nama masuk ke form. Data bisa
diubah dengan mengklik tombol Save.
5) Berikutnya akan dibuat fungsi untuk hapus data. Pada halaman di atas, saat
link “hapus” diklik, data akan dihapus dengan konsep AJAX
139
10.4 LATIHAN
1) Buatlah aplikasi CRUD untuk table dosen yang memiliki struktur sebagai
berikut
Nama Field Tipe Data Keterangan
kddosen varchar(5) Primary Key
namadosen varchar(100)
alamat varchar(100)
email varchar(100)
notelp varchar(20)
140
10.5 TUGAS MANDIRI
1) Apa perbedaan antara fungsi .ajax dan .post pada jquery?
2) Apa kegunaan fungsi removeClass pada jquery?
3) Apa perbedaan antara html(„‟) dan html() pada jquery?
PRAKTIKUM 11
LAPORAN GRAFIK
Tujuan Khusus
1. Mahasiswa mengetahui cara membuat laporan grafik menggunakan library
yang sudah ada
Untuk membuat laporan terkadang digunakan bentuk grafik seperti grafik batang,
grafik garis maupun lingkaran. Ada beberapa library yang bisa digunakan untuk
membuat grafik, yaitu
Masing-masing library memiliki kekurangan dan kelebihan. Untuk praktikum ini kita
akan menggunakan library chartjs.
11.2.2 Chartjs
• Opensource
• Dapat mendukung beberapa jenis chart yaitu line chart, bar chart, radar
chart, polar area chart, pie chart, bubble chart, scatter dan horizontal bar
• Ukurannya kecil dan ringan
• Berbasis HTML5 sehingga tidak memerlukan plugin tambahan di browser
• responsive
Kemudian buat object menggunakan class tersebut. Gunakan salah satu cara
berikut
type:….,
data :….,
options :….,
});
Penjelasan
• type => berisi jenis grafik seperti apa yang akan buat. Isinya „bar‟, „pie‟,
atau „line‟
• data => berisi array untuk menampilkan data pada grafik.
o Labels => judul masing-masing grafik.
o datasets => menentukan data yang akan ditampilkan
▪ label => label grafik
▪ data => nilai masing-masing grafik
▪ backgroundColor => warna background untuk masing-
masing grafik. Isinya nilai rgb atau nama warna
▪ borderColor => warna border untuk masing-masing grafik.
Isinya nilai rbg atau nama warna
▪ borderWidth => ketebalan border grafik
Untuk membuat grafik hasil vote diperlukan file controller, model dan view.
Buat Controller bernama Chart2.php yang isinya sebagai berikut
Buat view chart2_view.php yang isinya sebagai berikut
2) Dari soal di atas, tampilkan juga 5 barang dengan stok paling banyak
menggunakan grafik bar!
PRAKTIKUM 12
LAPORAN PDF
Tujuan Khusus
1. Mahasiswa mengetahui cara membuat laporan pdf menggunakan library yang
sudah ada
Laporan PDF diperlukan agar laporan dapat disimpan di harddrive komputer. laporan
dalam bentuk PDF memiliki keunggulan karena memiliki format standar, keamanan
terhadap perubahan data serta dukungan berbagai browser dan sistem operasi
dalam membuka file PDF. Ada beberapa library yang bisa digunakan untuk membuat
laporan PDF yaitu
• FPDF http://fpdf.org
• Mpdf http://mpdf.github.io
• Dompdf https://github.com/dompdf/dompdf
• Wkhtmltopdf https://github.com/wkhtmltopdf/wkhtmltopdf
• Tcpdf https://tcpdf.org/
library memiliki kekurangan dan kelebihan. Untuk praktikum ini kita akan
menggunakan library fpdf.
12.2.2 FPDF
FPDF (http://fpdf.org) merupakan salah satu library PHP yang memungkinkan untuk
membuat / generate file PDF secara langsung dari PHP (on-the-fly) tanpa harus
menginstall atau mengaktifkan modul PHP tertentu (seperti PDFLib). dari nama FPDF
merupakan singkatan dari Free, jadi FPDF dapat didownload, digunakan dan
dikembangkan secara bebas. FPDF dapat didownload secara gratis di
http://fpdf.org/en/download.php beserta dokumentasi lengkapnya di
http://fpdf.org/en/doc/index.php. Tersedia juga dokumentasi dalam bahasa
Indonesia.
Tabel Barang
Kdbarang namabarang merek stok harga
B0001 Mie instan indomie 100 2000
B0002 Air mineral aqua 50 1500
B0003 minyak goreng bimoli 10 23000
B0004 kecap abc 30 8500
Tabel Penjualan
idtransaksi tgltransaksi
1 2016-07-12
2 2016-07-13
3 2017-07-13
Tabel detilpenjualan
iddetil idtransaksi kdbarang jumlah
1 1 B0001 2
2 1 B0003 3
3 2 B0002 4
4 2 B0003 3
5 3 B0002 1
6 3 B0003 2
7 3 B0004 3
Tujuan Khusus
1. Mahasiswa mengetahui cara membuat laporan Spreadsheet menggunakan
library yang sudah ada
Laporan bisa disajikan dalam bentuk spreadsheet/excel. Ada beberapa library yang
bisa digunakan untuk membuat laporan spreadsheet yaitu
• PHPExcel https://github.com/PHPOffice/PHPExcel
• PHPSpreadsheet https://github.com/PHPOffice/PhpSpreadsheet
PHPSpreadsheet merupakan versi terbaru dari PHPExcel. Untuk praktikum ini kita
akan menggunakan library PHPSpreadsheet.
13.2.2 PHPSpreadsheet
PHPSpreadsheet adalah library PHP yang berfungsi untuk mengelola file Spreadsheet
dengan PHP. Menurut dokumentasinya yang tersedia di
https://phpspreadsheet.readthedocs.io/ ada beberapa jenis file spreadsheet yang
bisa dibaca dan ditulis oleh PHPSpreadsheet yaitu
Format Reading Writing
Gnumeric ✓
HTML ✓ ✓
SYLK ✓
CSV ✓ ✓
Ketikkan perintah berikut (Anda butuh koneksi ke internet ) lalu tekan Enter
$config['composer_autoload'] = 'vendor/autoload.php';
5) Modifikasi program di atas untuk membuat file xlsx yang isinya sebagai berikut
7) Membuat spreadsheet dengan data dari database
• Buatlah sebuah table dengan nama pegawai yang strukturnya
sebagai berikut
Struktur table pegawai
Nama Field Tipe Data Keterangan
kdpgw varchar(5) Primary Key
namapgw varchar(100)
alamat varchar(100)
nohp varchar(50)
email varchar(100)
13.4 LATIHAN
1) Buatlah table bernama gaji dengan struktur table sebagai berikut
Struktur table gaji
Nama Field Tipe Data Keterangan
id int(5) Primary Key, auto increment
kdpgw varchar(5) foreign key dari table pegawai
gapok int(10)
tunjangan int(10)
bulan varchar(2) isinya index bulan 01-12
tahun varchar(4)
header('Content-Type:application/vnd.openxmlformats-
officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="Laporan
Pegawai.xlsx"');
header('Cache-Control: max-age=0');
2) Buatlah laporan Excel untuk data dari tabel polling yang sudah dibuat pada
praktikum sebelumnya!
3) Buatlah laporan Excel untuk data penjualan yang sudah dibuat pada
praktikum sebelumnya!
PRAKTIKUM 14
APLIKASI PHP FRAMEWORK #1
Tujuan Khusus
1. Mahasiswa mempraktekkan cara membuat aplikasi penjualan berbasis
framework yang menggunakan beberapa library jquery, css dan PHP
a. Table kategori
Nama Field Tipe Data Keterangan
idkategori int(3) primary key, auto
increment
namakategori varchar(50)
b. Tabel user
Nama Field Tipe Data Keterangan
user varchar(50) primary key
nama varchar(50)
password varchar(100)
c. Table produk
Nama Field Tipe Data Keterangan
idproduk varchar(5) primary key
idkategori int(3) foreign key kategori
namaproduk varchar(100)
harga int(10)
d. Table customer
Nama Field Tipe Data Keterangan
idcustomer varchar(5) primary key
namacustomer varchar(50)
alamat varchar(100)
nohp varchar(20)
email varchar(100)
e. Table penjualan
Nama Field Tipe Data Keterangan
idtransaksi int(3) primary key, auto
increment
tgltransaksi date
idcustomer varchar(5) foreign key customer
f. Tabel detilpenjualan
Nama Field Tipe Data Keterangan
iddetil int(3) primary key, auto
increment
idtransaksi int(3) foreign key transaksi
idproduk varchar(5) foreign key produk
jumlah int(3)
hargajual int(5) harga jual produk
4) Halaman login
a. File Controller login.php simpan di application/controllers
b. File Loginmodel.php simpan di application/models
c. File view login.php simpan di application/views/pages
d. Buka http://localhost/cisimplecommerce sehingga tampil sebagai berikut
192
c. Buat file model dataUsermodel.php, simpan di application/models. Isinya
sebagai berikut
193
d. Jika dijalankan hasilnya seperti di bawah ini
7) Tambahkan tombol Print PDF dan Print Excel pada master user di atas untuk
mencetak file PDF dan Excel!
14.4 LATIHAN
1) Buatlah program CRUD untuk halaman kategori produk, produk dan
customer.
14.5 TUGAS MANDIRI
1) Apa kelebihan halaman web yang menggunakan CSS bootstrap?
2) Apa kegunaan dari library font-awesome?
3) Pada halaman master user, tambahkan library datatable untuk memberikan
fitur sort pada table HTML data user!
PRAKTIKUM 15
APLIKASI PHP FRAMEWORK #2
Tujuan Khusus
1. Mahasiswa mempraktekkan cara membuat aplikasi penjualan berbasis
framework yang menggunakan beberapa library jquery, css dan PHP
198
Penjelasan
• Baria 6-10 : membuat variable untuk menampung nama table database
yang digunakan
• Baris 12-20 : untuk menginput data ke dalam table penjualan.
Kembalikan status penyimpanan (gagal atau sukses) ke controller
• Baris 21-28 : untuk menginput data ke dalam table detilpenjualan.
• Baris 29-41 : untuk mengambil data barang dari table produk dan join ke
table kategori. Kembalikan data ke controller
• Baris 42-40 : untuk mengambil data barang dari table customer.
Kembalikan data ke controller
199
Penjelasan
• Baris 8 : memberikan variable dataheader yang akan digunakan pada
views template header.php
• Baris 11-12 : Memanggil function yang ada di controller ini
• Baris 17-19 : mengambil data customer dan disimpan ke dalam variable
$this->data[„listdatacust‟];
• Baris 20-29 : mengambil data barang dan disipman ke dalam varaiabel
$this->data[„listdatabarangtoko‟];
• Baris 35-36 : untuk mengambil data tanggal dan nama customer
• Baris 37 : pengecekan jika tombol tblsimpan diklik
• Baris 38 : memanggil function save pada model Penjualanmodel
• Baris 40 : jika save success, siapkan data untuk simpan ke table
detailpenjualan
• Baris 47 : looping untuk menyimpan ke table det
202
Modul Praktikum Pemrograman Web 2 (PG066)
203
Penjelasan
• Baris 16-19 : digunakan untuk menampilkan semua data customer ke
dalam dropdown
• Baris 20 : tombol yang digunakan untuk memanggil fungsi popbarang().
Fungsi popbarang akan menampilkan semua data barang untuk dipilih
• Baris 28-35 : table HTML untuk menampung data barang yang sudah
dipilih
• Baris 41-44 : tombol untuk menyimpan, menghitung ulang dan mereset
form
• Baris 49-76 : table HTML untuk menampilkan data barang. Awalnya table
ini tidak muncul di layar, tapi akan menjadi modal jika tombol “Pilih
Barang” di klik
204
• Baris 88-117 : fungsi javascript yang akan berfungsi saat modal pilih
barang muncul dan tombol “Pilih” diklik. Fungsi ini akan memanggil detail
nama barang untuk dimunculkan pada table HTML data barang yang
sudah dipesan.
• Baris 119-121 : fungsi javascript untuk menampilkan modal data barang
• Baris 122-128 :fungsi javascript yang berfungsi saat salah satu barang di
table HTML pesanan diklik
• Baris 129-136 : fungsi javascript untuk menghitung ulang nilai pesanan
jika ada data pada table HTML pesanan yang diklik Save
• Baris 137-147 : fungsi javacript untuk mengecek data sebelum disubmit
• Baris 148-162 : fungsi javacsript untuk menghitung ulang nilai pesanan
Berikut tampilan jika tombol “Pilih Barang” diklik kemudian diisi quantity barang
yang akan dipesan dan klik pilih
Berikut hasilnya pada table HTML detil pesanan
Jika tanggal dan customer sudah diisi kemudian diklik Save, tampilannya seperti
ini
6) Tambahkan tombol Print PDF dan Print Excel pada master user di atas untuk
mencetak file PDF dan Excel!
15.4 LATIHAN
1) Buatlah controller untuk laporan yang akan menampilkan data penjualan
yang terjadi selama 30 hari terakhir.
Data tersebut berisi no penjualan, nama customer dan total penjualan
2) Buat tombol PDF dan XLS pada halaman laporan untuk menampilkan data
laporan dalam bentuk PDF dan XLS
15.5 TUGAS MANDIRI
1. Buatlah sebuah tabel bernama masterdosen yang di dalamnya terdapat field
sebagai berikut
Nama field Tipe data Keterangan
nidn Varchar (10) Primary key, cth : 0307038501
namalengkap Varchar (100)
gelardepan Varchar(10) Gelar di depan nama, cth Ir, H
gelarbelakang Varchar(10) Gelar di belakang nama cth
S.Kom,M.Kom
jeniskelamin Varchar(1) P = Pria, W= Wanita
fakultas Varchar(5) FTI,ASTRI, FE, FISIP, FIKOM, FT
nomorhp Varchar(12)
tanggallahir Date Format YYYY-MM-DD
alamat Varchar(100)
Note :
Note :
- Nama dengan gelar merupakan gabungan dari gelardepan + namalengkap
+ gelarbelakang
- untuk jenis kelamin tampilkan wanita / pria (Gunakan if else)
- untuk tanggal lahir tampilkan dalam format DD/MM/YYYY
- untuk fakultas, tampilan nama fakultas lengkap (Gunakan if else)