Upload
vuongngoc
View
242
Download
5
Embed Size (px)
Citation preview
Membuat Web dengan PHP 7 dan Database PDO MySQLi
Membuat Web dengan PHP 7 dan Database PDO MySQLi
Anton Subagia
PENERBIT PT ELEX MEDIA KOMPUTINDO
Membuat Web dengan PHP 7 dan Database PDO MySQLi
Anton Subagia 2016, PT Elex Media Komputindo, Jakarta Hak cipta dilindungi undang-undang Diterbitkan pertama kali oleh Penerbit PT Elex Media Komputindo Kelompok Gramedia, Anggota IKAPI, Jakarta 2016
716051567
ISBN: 978-602-02-9286-1
Dilarang keras menerjemahkan, memfotokopi, atau memperbanyak sebagian atau seluruh isi buku ini tanpa izin tertulis dari penerbit.
Dicetak oleh Percetakan PT Gramedia, Jakarta
Isi di luar tanggung jawab percetakan
v
PERSEMBAHAN
I believe every human being has a desire to be truthful, has a noble heart, do my best and will ultimately die in a state of pride.
Although to do that we have to be patient and sacrifice all our desires, including our dreams. (Crimson’s)
Dengan mengucapkan puji syukur kepada Allah SWT, buku ini
kupersembahkan untuk: Kedua orang tuaku yang telah membesarkan aku dan selalu membimbing,
mendukung, memotivasi, memberi apa yang terbaik bagiku serta selalu mendoakan aku untuk meraih kesuksesanku.
Eka Herawati yang selalu setia dan memberikan semangat. Sahabat-sahabat Komunitas Pemrograman PHP yang telah memberikan
curahan pikiran dan ilmunya.
Tanpa mereka, aku dan karya ini tak akan pernah ada
vii
KATA PENGANTAR Perkembangan teknologi semakin hari semakin cepat, mulai dari perangkat
keras komputer hingga perangkat lunak. Begitupun juga dengan aplikasi-
aplikasi berbasis web, bila tidak mengikuti perkembangan zaman teknologi
aplikasi akan semakin usang. Aplikasi usang memang sudah tak layak lagi
untuk di pakai sehingga para pembuat aplikasi dituntut untuk memperbarui
aplikasi tersebut.
Aplikasi web yang dibuat menggunakan bahasa pemrograman php memang
lebih banyak dipakai oleh seseorang, instansi, atau perusahaan. Hingga saat
ini, PHP sudah meluncurkan versi ke-7, tepatnya php 7.0.6.
Ada beberapa hal penting. Jika Anda merupakan salah satu pengembang
(depelover) web mengapa Anda harus beralih ke php 7, Apa saja yang ada di
php 7? Apa saja kehebatan php 7 dibanding php versi sebelumnya?. Semua
pertanyaan Anda akan terjawab di buku ini.
Buku ini penulis susun sedemikian rupa agar pembaca lebih mengenali php 7.
Disamping itu, juga tidak lupa penulis gambarkan step by step membuat
aplikasi berbasis web dengan php 7 dengan studi kasus. Dan, ada juga bab
membuat database menggunakan aplikasi ringan yang lebih cepat ketimbang
Anda menggunakan fitur bawaan database (Xampp) di localhost.
Sebagai tools bahasa pemrograman untuk pengembangan web maupun
aplikasi desktop, PHP sudah sangat diandalkan. Dengan adanya PHP 7 yang
meningkat terutama dari sisi kecepatan dan penggunaan memory yang
efisien, maka kita perlu bersiap-siap memodifikasi kode sesuai dengan style
php 7, bila ingin mengalami peningkatan performa.
viii
Akhir kata, penulis berharap agar buku ini dapat memberikan manfaat
kepada Anda para pembaca. Apabila ada hal-hal yang kurang berkenan,
penulis mohon maaf yang setulus-tulusnya.
Semoga bermanfaat,
Bekasi, Mei 2016
Anton Subagia
ix
DAFTAR ISI PERSEMBAHAN ......................................................................................... v
KATA PENGANTAR ............................................................................... vii
DAFTAR ISI ............................................................................................... ix
INSTALASI APLIKASI
BAB 1 PENGENALAN PHP ..................................................................... 3
1.1 Perkembangan PHP ...................................................................... 3
1.2 PHP 7.............................................................................................. 4
1.3 Keunggulan dan Fitur PHP 7 ........................................................ 5
1.4 Kriteria PHP 7 .............................................................................. 10
INSTALASI APLIKASI
BAB 2 PENGENALAN DATABASE ..................................................... 15
2.1 MySQLi ........................................................................................ 15
2.2 PDO .............................................................................................. 17
BAB 3 PERSIAPAN SOFTWARE .......................................................... 24
3.1 Mozilla Firefox ............................................................................. 24
3.2 Xampp Versi 3 (Support PHP7) ................................................. 25
3.3 HeidiSQL ...................................................................................... 29
3.4 Sublime Text ................................................................................ 30
BAB 4 PENGOLAHAN DATABASE ..................................................... 33
4.1 Aplikasi HeidiSQL ....................................................................... 33
x
4.2 Pembuatan Database ................................................................... 34
4.3 Pembuatan Table ......................................................................... 36
4.4 Pembuatan Table dengan Query ................................................ 37
4.5 Penerapan Query ......................................................................... 38
4.5.1 Memilih Semua Kolom ..................................................... 44
4.5.2 Menampilkan Data dengan Atribut/Kolom Tertentu ..... 45
4.5.3 Mengganti Nama Kolom .................................................. 47
4.5.4 Operator Aritmatika .......................................................... 48
BAB 5 KREASI CANTIK PHP ............................................................... 49
5.1 Trik Simple Jquery ....................................................................... 50
5.1.1 Klonisasi ............................................................................. 50
5.1.2 Scroll Top ........................................................................... 51
5.1.3 Check All ............................................................................ 52
5.1.4 Top Message ...................................................................... 53
5.1.5 Hover Button ..................................................................... 55
5.1.6 Number Mask .................................................................... 56
5.1.7 Disable Select ..................................................................... 57
5.1.8 Layout Kolom .................................................................... 58
5.1.9 Limit Karakter ................................................................... 59
5.1.10 Validasi Angka ................................................................... 61
5.1.11 Password Strong ................................................................ 62
5.1.12 Tampilkan Password ......................................................... 63
5.2 Style Layout .................................................................................. 64
5.2.1 Tabs .................................................................................... 64
5.2.2 Modal ................................................................................. 65
5.2.3 Menu .................................................................................. 68
5.2.4 Paging ................................................................................. 73
5.2.5 PopUp Window ................................................................. 75
5.2.6 Editor WYSIWYG ............................................................. 76
xi
5.3 Kolaborasi CSS dan Jquery .......................................................... 78
5.3.1 Clock .................................................................................. 79
5.3.2 Tree Menu .......................................................................... 81
5.3.3 Datepicker .......................................................................... 82
5.3.4 DataTables ......................................................................... 83
5.3.5 Validation Form ................................................................ 87
5.3.6 DropDown Menu .............................................................. 90
5.3.7 Responsive Calendar ......................................................... 93
5.4 Desain dengan Bootstrap ............................................................ 94
5.4.1 Memahami Grid Design .................................................... 96
5.4.2 Membuat Kolom ............................................................... 96
5.4.3 Mengatur Ukuran Kolom ................................................. 98
5.4.4 Kolom dengan Ukuran Berbeda ....................................... 99
5.4.5 Membagi Kolom Menjadi Beberapa Anak Kolom .......... 99
5.4.6 Login Form ...................................................................... 100
5.4.7 Layout Visitor .................................................................. 102
5.4.8 Layout Administrator ...................................................... 105
BAB 6 RANCANGAN APLIKASI LOGIN DAN CRUD ....................107
6.1 Membuat Database .................................................................... 108
6.2 Membuat Aplikasi Login dengan Mysqli ................................. 109
6.2.1 Koneksi ............................................................................. 110
6.2.2 Form Daftar ..................................................................... 110
6.2.3 Form Login ...................................................................... 112
6.2.4 Form Logout .................................................................... 114
6.3 Membuat Aplikasi Login dengan PDO .................................... 115
6.3.1 Koneksi ............................................................................. 115
6.3.2 Form Daftar ..................................................................... 116
6.3.3 Form Login ...................................................................... 116
6.4 Membuat Aplikasi CRUD ......................................................... 117
6.4.1 Koneksi ............................................................................. 117
6.4.2 Form Input ...................................................................... 118
xii
6.4.3 Form Update .................................................................... 120
6.4.4 Form Delete ..................................................................... 122
INSTALASI APLIKASI
BAB 7 STUDY KASUS MEMBUAT WEB ..........................................127
7.1 Membuat Web Blog ................................................................... 127
7.1.1 Perancangan Database .................................................... 128
7.1.2 Desain Form .................................................................... 129
7.1.3 Membuat Koneksi ........................................................... 130
7.1.4 Form Input Data .............................................................. 131
7.1.5 Form View Data .............................................................. 134
7.1.6 Form Edit Data ................................................................ 138
7.1.7 Delete Data ....................................................................... 140
7.2 Membuat Toko Online .............................................................. 141
7.2.1 Perancangan Database .................................................... 141
7.2.2 Membuat Koneksi ........................................................... 146
7.2.3 Desain Form Administrator ............................................ 147
7.2.4 Kategori dan Brand ......................................................... 149
7.2.5 Posting Product ............................................................... 156
7.2.6 Pemberitahuan Order ..................................................... 165
7.2.7 Manajemen User ............................................................. 166
7.2.8 Desain Form Visitor ........................................................ 170
7.2.9 Query Menampilkan Product ......................................... 172
7.2.10 Modal Detail Product ...................................................... 173
7.2.11 Add To Cart ..................................................................... 177
7.2.12 Check Out ........................................................................ 178
PENUTUP ................................................................................................183
DAFTAR PUSTAKA ..............................................................................184
TENTANG PENULIS ..............................................................................185
INSTALASI APLIKASI
Buku ini tidak disertai CD proyek aplikasi yang siap pakai. Maka dari itu,
penulis memberikan link download beserta tata cara instalasinya agar
Anda mengerti alur dari aplikasi yang dibuat.
1. Download semua file di:
venus-multimedia.com/the_arthology_of_web_base_php7
Setelah itu, ekstrak menggunakan password: spectrum-shop-17
2. Pastikan Anda sudah menginstal web server (Xampp) dan software
lain yang diperlukan.
- Mozilla firefox dapat di-download di:
https://www.mozilla.org/en-US/firefox/all/
- HeidiSQL dapat di-download di:
http://www.heidisql.com/download.php
- Sublime Text dapat di-download di: https://www.sublimetext.com/download
- Xampp yang support PHP7 dapat di-download di: https://www.apachefriends.org/download.html
3. Kopi semua file yang telah di-download di venus-multimedia.com ke
directory xampp.
3
PENGENALAN PHP
PHP merupakan sebuah bahasa pemrograman yang berjalan dalam
sebuah web server (server side). PHP diciptakan oleh programmer Unix
dan Perl bernama Rasmus Lerdoft pada bulan Agustus-September 1994.
Pada awalnya, Rasmus mencoba menciptakan sebuah script dalam
website pribadinya dengan tujuan untuk memonitor siapa saja yang
pernah mengunjungi website-nya.
1.1 Perkembangan PHP
Pada awalnya, PHP merupakan kependekan dari Personal Home Page
(situs personal). Selanjutnya, Rasmus merilis kode sumber tersebut untuk
umum dan menamakannya PHP/FI pada sekitar tahun 1995, dan
diperkenalkan kepada beberapa programmer pemula dengan alasan
bahasa yang digunakan oleh PHP cukup sederhana dan mudah dipahami.
Kemudian, Rasmus merilis ulang PHP dengan bahasa C untuk mening-
katkan kecepatan aksesnya.
Mulai bulan September sampai Oktober 1995, kode PHP ditulis ulang
dan digabungkan menjadi PHP/FI. Baru di akhir tahun 1995 dirilis bagi
umum secara gratis. Mengapa Rasmus membagikan ke publik secara
gratis? Rasmus beranggapan bahwa apabila kode PHP ini berguna bagi
4
dirinya, tentu akan bermanfaat untuk orang lain sehingga pada akhirnya,
akan kembali bermanfaat bagi dirinya sendiri.
Pada November 1997, dirilis PHP/FI 2.0. Pada perilisan kali ini,
interpreter PHP sudah diimplementasikan dalam program C. Disertakan
juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI
secara signifikan.
Pada tahun 1997 pula, sebuah perusahaan bernama Zend menulis ulang
interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat.
Kemudian, pada Juni 1998, perusahaan tersebut merilis interpreter baru
untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan
PHP diubah menjadi akronim berulang PHP, Hypertext Preprocessing.
Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis
tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling
banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai karena
kemampuannya membangun aplikasi web kompleks tetapi tetap memiliki
kecepatan dan stabilitas yang tinggi.
Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari
interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan
model pemrograman berorientasi objek ke dalam PHP untuk menjawab
perkembangan bahasa pemrograman ke arah paradigma berorientasi
objek. Hingga penghunjung tahun 2013, dikutip dari salah satu forum,
PHP sudah merilis versi 5.6.2, tepatnya pada tanggal 19 November.
1.2 PHP 7
PHP.net melalui situs resminya telah mengumumkan versi terbaru dari
PHP, yakni PHP 7.0.0 resmi dirilis tanggal 3 Desember 2015. Ada banyak
perubahan signifikan, seperti namespace di PHP 5.3 dan trait di PHP 5.4,
tetapi versi yang masih dipakai masih tetap 5.x belum menjadi PHP 7.
5
Lantas, ke manakah PHP 6? Di manakah dia berada? Kenapa dari PHP 5.x
langsung update ke PHP 7.x? Apakah para core developer PHP salah tulis?
Rasanya itu tidak mungkin. Lalu, kenapa?
Beberapa tahun yang lalu, presentasi dan publikasi rencana pengem-
bangan PHP 6 dengan beberapa perubahan terutama pada bagian
pendukung terhadap unicode dengan menggunakan encoding UTF-16
sudah dilakukan di banyak tempat. User sudah terlanjur mengenal PHP 6
sebagai PHP yang mendukung unicode, meskipun belum secara resmi
dirilis. Namun, implementasi pada level interpreter agar mendukung
UTF-16 tidak mudah dilakukan. Sudah 4 tahun berlalu tanpa ada
perkembangan berarti dan pada akhirnya PHP 6 menyerah. Selang
beberapa tahun, PHP 5.6 belum mendukung unicode. Ketika kemudian
versi mayor akan dirilis, timbu pertanyaan, apakah akan dinamai versi 6
atau versi 7.
Jika mengikuti kaidah penamaan yang normal, tentunya dari PHP 5
dilanjutkan ke PHP 6. Akan tetapi, karena pada kenyataannya PHP 6
pernah ada (meski tidak pernah dirilis secara resmi), pernah menjadi
perbincangan di mana-mana, dan menjadi referensi versi PHP yang
mendukung UTF-16, maka akhirnya diputuskanlah PHP 7 sebagai nama
untuk versi Mayor.
1.3 Keunggulan dan Fitur PHP 7
Di bawah ini adalah beberapa keunggulan pada PHP 7 untuk menjadi
pertimbangan Anda agar segera beralih ke PHP 7.
1. Peningkatan kecepatan
Kecepatan adalah alasan utama mengapa perlu meng-upgrade ke
PHP 7 bila nanti sudah rilis versi PHP 7 yang sudah stabil. PHP 7
menggunakan PHPNG (NG = New Generation), sebuah pengem-
6
bangan dari Zend Engine yang mampu meningkatkan kecepatan PHP
penggunaan memory dengan efisien. Bahasa pemrograman PHP juga
akan berjalan lebih cepat lagi dengan adanya JIT Engine yang dapat
meng-compile PHP secara dinamis menjadi bahasa mesin.
2. Mengurangi penggunaan memory yang signifikan
Pada PHP 7 memory digunakan secara efisien, sehingga penggunaan
memory tidak terlalu berlebihan. Tentu saja, hal ini tidak akan
membebani resource server dan mempercepat prosesnya.
3. Mendukung 64 bit secara konsisten
PHP 7 mendukung 64-bit secara konsisten, dukungan Anonymous
class, isset ternary operator, abstract, syntax tree, null coalesce operator,
lots of libraries, generator return expressions, generator delegation, dan
sebagainya.
4. Beberapa "fatal errors" dikonversi ke dalam "exceptions"
Perubahan terjadi pada beberapa "fatal error", kita dapat mengguna-
kannya dengan exception.
5. Menghapus beberapa SAPIs dan ekstensi kedaluwarsa
Beberapa SAPIs dan ekstensi yang usang dan tidak digunakan lagi
sudah dihapuskan.
6. The null coalescing operator (??)
Fitur ini ditambahkan sebagai penyempurna masalah yang perlu
menggunakan terner yang berhubungan dengan isset(). Fitur ini akan
mengembalikan nilai operan pertama jika ada dan tidak kosong
(null). Jika tidak, maka akan mengembalikan nilai operan kedua.
<php //mengambil value dari $_GET[]user’) dan //tentunya ‘noguest’ $username=$_GET[‘user’] ?? ‘noguest’;
7
//penulisan pada PHP versi sebelumnya $username=isset($_GET(‘user’)) ? $_GET[‘user’] : ‘noguest’; ?>
7. Return and scalar type declarations
Tipe parameter fungsi dapat dideklarasikan, apakah itu integer,
string, float, maupun boolean. Akibatnya, bila mengirimkan sebuah
nilai float ke parameter bertipe integer, akan mengubah nilai tersebut
menjadi integer tanpa adanya warning atau error.
Akan tetapi, bila diinginkan adanya error atau warning, mode strict
dapat diaktifkan supaya menghasilkan exception. Untuk mengaktif-
kan mode strict, gunakan directive declare(strict_types = 1); pada
awal program.
Dengan PHP 7, tipe return sebuah fungsi dapat dideklarasikan.
Seperti pada deklarasi tipe skalar, tipe return juga akan mengonversi
nilai return sesuai dengan yang dideklarasikan tanpa warning atau
error, kecuali mode strict diaktifkan.
<php function hi(): string { return “hi, php7 is coming”; } <php function arraysSum(array .. $arrays): array { return array_map(function(array $array): int { return array_sum($array); }, $arrays); } print_r(arraysSum([1,2,3],[4,5,6],[7,8,9]));
Output
Array ( [0] => 6 [1] => 15 [2] => 24 )
185
TENTANG PENULIS
Anton Subagia adalah seorang desainer dan
programming web, sarjana studi Sistem
Informasi di salah satu perguruan tinggi swasta
Jakarta.
Penulis pernah bekerja di beberapa perusahaan
dengan menjabat sebagai staff admin dan IT
maupun merangkap keduanya. Banyak hobi
penulis yang dilakukan hingga saat ini, terutama
di dalam bidang Teknologi Informasi, membaca artikel di web maupun
membaca buku, desain, dan editing foto di waktu senggang.
Bila ada pertanyaan atau komentar-komentar, kritik dan saran yang
membangun, penulis dapat dihubungi melalui email:
Catatan:
Untuk melakukan pemesanan buku, hubungi
Layanan Langsung PT Elex Media Komputindo:
Gramedia Direct
Jl. Palmerah Barat No. 29-37, Jakarta 10270
• Telemarketing/CS: 021-53650110/111
ext: 3901/3902/329