18

Membuat Web dengan PHP 7 dan Database PDO MySQLi · Membuat Web dengan PHP 7 dan Database PDO MySQLi Anton Subagia 2016, PT Elex Media Komputindo, Jakarta Hak cipta dilindungi undang-undang

Embed Size (px)

Citation preview

Page 1: Membuat Web dengan PHP 7 dan Database PDO MySQLi · Membuat Web dengan PHP 7 dan Database PDO MySQLi Anton Subagia 2016, PT Elex Media Komputindo, Jakarta Hak cipta dilindungi undang-undang
Page 2: Membuat Web dengan PHP 7 dan Database PDO MySQLi · Membuat Web dengan PHP 7 dan Database PDO MySQLi Anton Subagia 2016, PT Elex Media Komputindo, Jakarta Hak cipta dilindungi undang-undang

Membuat Web dengan PHP 7 dan Database PDO MySQLi

Page 3: Membuat Web dengan PHP 7 dan Database PDO MySQLi · Membuat Web dengan PHP 7 dan Database PDO MySQLi Anton Subagia 2016, PT Elex Media Komputindo, Jakarta Hak cipta dilindungi undang-undang

Membuat Web dengan PHP 7 dan Database PDO MySQLi

Anton Subagia

PENERBIT PT ELEX MEDIA KOMPUTINDO

Page 4: Membuat Web dengan PHP 7 dan Database PDO MySQLi · Membuat Web dengan PHP 7 dan Database PDO MySQLi Anton Subagia 2016, PT Elex Media Komputindo, Jakarta Hak cipta dilindungi undang-undang

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

[email protected]

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

Page 5: Membuat Web dengan PHP 7 dan Database PDO MySQLi · Membuat Web dengan PHP 7 dan Database PDO MySQLi Anton Subagia 2016, PT Elex Media Komputindo, Jakarta Hak cipta dilindungi undang-undang

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

Page 6: Membuat Web dengan PHP 7 dan Database PDO MySQLi · Membuat Web dengan PHP 7 dan Database PDO MySQLi Anton Subagia 2016, PT Elex Media Komputindo, Jakarta Hak cipta dilindungi undang-undang

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.

Page 7: Membuat Web dengan PHP 7 dan Database PDO MySQLi · Membuat Web dengan PHP 7 dan Database PDO MySQLi Anton Subagia 2016, PT Elex Media Komputindo, Jakarta Hak cipta dilindungi undang-undang

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

Page 8: Membuat Web dengan PHP 7 dan Database PDO MySQLi · Membuat Web dengan PHP 7 dan Database PDO MySQLi Anton Subagia 2016, PT Elex Media Komputindo, Jakarta Hak cipta dilindungi undang-undang

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

Page 9: Membuat Web dengan PHP 7 dan Database PDO MySQLi · Membuat Web dengan PHP 7 dan Database PDO MySQLi Anton Subagia 2016, PT Elex Media Komputindo, Jakarta Hak cipta dilindungi undang-undang

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

Page 10: Membuat Web dengan PHP 7 dan Database PDO MySQLi · Membuat Web dengan PHP 7 dan Database PDO MySQLi Anton Subagia 2016, PT Elex Media Komputindo, Jakarta Hak cipta dilindungi undang-undang

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

Page 11: Membuat Web dengan PHP 7 dan Database PDO MySQLi · Membuat Web dengan PHP 7 dan Database PDO MySQLi Anton Subagia 2016, PT Elex Media Komputindo, Jakarta Hak cipta dilindungi undang-undang

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

Page 12: Membuat Web dengan PHP 7 dan Database PDO MySQLi · Membuat Web dengan PHP 7 dan Database PDO MySQLi Anton Subagia 2016, PT Elex Media Komputindo, Jakarta Hak cipta dilindungi undang-undang

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.

Page 13: Membuat Web dengan PHP 7 dan Database PDO MySQLi · Membuat Web dengan PHP 7 dan Database PDO MySQLi Anton Subagia 2016, PT Elex Media Komputindo, Jakarta Hak cipta dilindungi undang-undang

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

Page 14: Membuat Web dengan PHP 7 dan Database PDO MySQLi · Membuat Web dengan PHP 7 dan Database PDO MySQLi Anton Subagia 2016, PT Elex Media Komputindo, Jakarta Hak cipta dilindungi undang-undang

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.

Page 15: Membuat Web dengan PHP 7 dan Database PDO MySQLi · Membuat Web dengan PHP 7 dan Database PDO MySQLi Anton Subagia 2016, PT Elex Media Komputindo, Jakarta Hak cipta dilindungi undang-undang

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-

Page 16: Membuat Web dengan PHP 7 dan Database PDO MySQLi · Membuat Web dengan PHP 7 dan Database PDO MySQLi Anton Subagia 2016, PT Elex Media Komputindo, Jakarta Hak cipta dilindungi undang-undang

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’;

Page 17: Membuat Web dengan PHP 7 dan Database PDO MySQLi · Membuat Web dengan PHP 7 dan Database PDO MySQLi Anton Subagia 2016, PT Elex Media Komputindo, Jakarta Hak cipta dilindungi undang-undang

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 )

Page 18: Membuat Web dengan PHP 7 dan Database PDO MySQLi · Membuat Web dengan PHP 7 dan Database PDO MySQLi Anton Subagia 2016, PT Elex Media Komputindo, Jakarta Hak cipta dilindungi undang-undang

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:

[email protected]

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