Materi PHP & MySQL-2
Materi PHP & MySQL-2
1
Jufrisal Humairi / Faisal
● Telegram : @faisalkun18
● Facebook : https://www.facebook.com/faisal.ajo.97/
● Instagram : faisal_daulay18
● Email : [email protected]
● Github : https://github.com/Laravel-EX
2
Silabus Materi
● Pengenalan PHP
● Mecetak Data
● Variable
● Tipe Data
● Operator
● Form PHP
● Percabangan
● Perulangan
● Array
● Dll
3
Pengenalan
PHP DASAR
4
Pengenalan PHP
5
Pengenalan PHP
6
https://www.tiobe.com/tiobe-index/
7
https://www.tiobe.com/tiobe-index/
8
Apa yang Bisa Dibuat Menggunakan PHP?
● Server-side scripting. Ini adalah salah satu fokus utama web, untuk membuat aplikasi
server side. Biasanya digunakan sebagai aplikasi web menggunakan bantuan web
server, dan kita bisa melihat output aplikasi menggunakan web browser (Internet
Explorer, Chrome, Firefox, dan lain-lain)
● Command line scripting. PHP juga bisa digunakan untuk membuat program berbasis
command line, tanpa harus menggunakan web server
● Desktop application, walaupun jarang digunakan, tapi PHP juga bisa digunakan untuk
membuat aplikasi desktop menggunakan PHP-GTK
9
Menginstall PHP
10
Menginstall PHP
● PHP bisa di install di sistem operasi apapun, Windows, Mac ataupun Linux
● Namun menginstall PHP secara manual tidak terlalu mudah
● Oleh karena itu untuk belajar, direkomendasikan menginstall PHP dengan bantuan
tool-tool yang sudah mem-bundle PHP dengan teknologi pendukungnya
11
Menginstall XAMPP
● Pada Materi kali ini, kita akan menggunakan aplikasi XAMPP, dimana aplikasi ini telah
mem-bundle PHP, MySQL/MariaDB, Apache HTTPD, dan lain-lain
● https://www.apachefriends.org/
12
Text Editor
13
Mencetak Data
14
Mencetak Data
15
Cara Mencetak Data
PHP memiliki beberapa fungsi untuk mencetak teks ke layar
● Fungi echo() adalah fungsi untuk menampilkan teks ke layar. Fungsi ini dapat
digunakan dengan tanda kurung maupun tanpa tanda kurung.
● Fungsi print() sama seperti fungsi echo(). Dia juga digunakan untuk menampilkan teks
ke layar. Fungsi print() juga bisa digunakan tanpa tanda kurung.
● fungsi var_dump() digunakan untuk mencetak output ke browser, lebih tepatnya
mengetahui informasi pada suatu nilai variabel
● print_r() ini digunakan untuk mencetak output ke browser, namun bedanya, print_r ini
ditujukan untuk mencetak nilai variabel dengan format yang lebih mudah dibaca.
16
Variable
17
Variable
18
Variable
● Variable adalah tempat untuk menyimpan data sehingga bisa kita gunakan lagi di
kode program selanjutnya
● Di PHP variable bisa menampung berbagai jenis tipe data dan bisa merubah tipe data
● Untuk membuat variable kita bisa menggunakan $(dolar) diikuti dengan nama variable
● penamaan variable tidak boleh mengandung spasi
19
Tipe Data
20
Tipe Data
21
Apa Itu Tipe Data di PHP
tipe data merupakan jenis nilai yang akan kita simpan dalam variabel.
22
Tipe Data Number
Tipe data Number hanya berisikan angka saja dan tidak bisa di isi dengan teks.
23
Tipe Data Boolean
24
Tipe Data String
25
Single Quote dan Double Quote
26
Manipulasi String
27
Dot Operator
● Dot (titik) operator adalah operator yang bisa kita gunakan untuk menambahkan
string dengan data lain (bisa string atau tipe data lainnya)
● Sebenarnya kita bisa menggunakan + (plus) untuk menambahkan string, namun jika
kita coba tambahkan string dengan tipe data number, maka akan terjadi error. Oleh
karena itu direkomendasikan menggunakan . (dot) untuk menambahkan string dengan
data lain
28
Konversi ke Number dan Sebaliknya
● Kadang kita sering melakukan konversi tipe data dari string ke number (int / float) atau
sebaliknya
● Di PHP untuk melakukan konversi cukup mudah, kita hanya perlu menggunakan tanda
kurung ( tipe data )
● Tipe data untuk string adalah string, untuk number bisa menggunakan int untuk
integer dan float untuk floating point
29
Konversi ke Number dan Sebaliknya
30
Constant
31
Constant
32
Kode : Constant
33
Data NULL
34
Data NULL
35
Mengecek Apakah Data NULL
● Kadang kita ingin tahu apakah sebuah data bernilai null atau tidak
● Untuk mengecek apakah sebuah data bernilai null, kita bisa menggunakan function
is_null($variable)
36
Menghapus Variable
● Selain mengubah menjadi NULL, di PHP juga kita bisa menghapus sebuah variable,
caranya dengan menggunakan function unset($variable)
● Namun hati-hati, ketika kita hapus variable, kita tidak bisa lagi mengakses variable
tersebut, bahkan function is_null($variable) pun akan menjadi error jika mengakses
variable tersebut.
● Agar lebih aman, kita bisa menggunakan function isset($variable) untuk mengeccek
apakah sebuah variable ada dan nilainya tidak NULL
37
Operator
PHP MySQL
38
Operator Aritmatika
39
Operator Aritmatika 1
Operator Keterangan
+$variable Positif
-$variable Negatif
Operator Keterangan
41
Operator Penugasan
42
Operator Penugasan
● Operator penugasan di PHP sama seperti bahasa pemrograman lain, yaitu dengan
menggunakan karakter = (sama dengan)
● Operator penugasan sudah sering kita gunakan, terutama ketika mengubah value
sebuah variable
● Namun selain hal itu, operasi penugasan juga bisa digunakan untuk operasi aritmatika
43
Operator Penugasan Aritmatika
Penugasan Keterangan
$a += $b $a = $a + b
$a -= $b $a = $a - b
$a *= $b $a = $a * b
$a /= $b $a = $a / b
$a %= $b $a = $a % b
44
Operator Pembanding
45
Operator Perbandingan
46
Operator Perbandingan 1
$a <> $b Tidak sama dengan true jika $a tidak sama dengan $b setelah
dilakukan konversi tipe data
47
Operator Perbandingan 2
$a !== $b Tidak identik true jika $a tidak sama dengan $b atau tidak sama
tipe data
$a <= $b Kurang dari atau true jika $a kurang dari atau sama dengan $b
sama dengan
$a >= $b Lebih dari sama true jika $a lebih dari atau sama dengan $b
dengan
48
Kode : Operator Perbandingan
49
Operator Logika
50
Operator Logika
51
Operator Logika
$a xor $b Xor true jika $a dan $b salah satu true, tapi tidak keduanya
52
Increment dan Decrement
53
Increment dan Decrement
54
Operator Increment dan Decrement
55
Percabangan
56
If Statement
57
If Statement
● Dalam PHP, if adalah salah satu kata kunci yang digunakan untuk percabangan
● Percabangan artinya kita bisa mengeksekusi kode program tertentu ketika suatu
kondisi terpenuhi
● Hampir di semua bahasa pemrograman mendukung if expression
58
Else Statement
59
Else If Statement
60
Syntax Alternatif If
61
Switch Statement
62
Switch Statement
63
Syntax Alternatif Switch
● Sama seperti if statement, switch statement juga bisa tanpa menggunakan {} (kurung
kurawal)
● Namun diakhir switch statement, kita harus menambahkan kata kunci endswitch
64
Ternary Operator
65
Ternary Operator
66
Form PHP
PHP DASAR
67
Method Penerima Data
Dari Form
68
Cara Menerima Data Dari Form
69
Validasi Form
Mengenal Validasi Form
● Validasi form adalah suatu informasi atau pemberitahuan yang digunakan oleh form.
Dimana informasi yang keluar dari form berupa pesan error atau pesan sukses.
● Validasi yang sering kita jumpai saat melakukan input data atau registrasi data
biasanya adalah validasi bahwa input tidak boleh kosong
5 Jenis Validasi di PHP
● filter_input()
● real_escape_string()
● htmlspecialchars()
● stript_tags()
● htmlentities()
filter_input()
filter_Input()
● Fungsi filter_input() merupakan fungsi yang disediakan pada PHP Versi 5.5 atau yang
lebih baru yang digunakan untuk menyaring data inputan dan untuk mengambil data
dari form, filter input akan menghapus sintaks html yang di ketik oleh user.
Method Penerima Untuk filter_input()
● INPUT_GET yaitu inputan ini digunakan ketika kita menggunakan method GET pada
form
● INPUT_POST yaitu inputan yang digunakan ini ketika kita menggunakan method
POST
● INPUT_COOKIE yaitu inputan yang akan digunakan adalah data yang disimpan
didalam COOKIE yang disimpan pada browser client
● INPUT_SERVER ini inputan yang digunakan data yang disimpan disisi server,yaitu
semua atribut yang ada didalam server.
● INPUT_SESSION merupakan inputan data yang diambil dari data sesi yang tersimpan
didalam server.
● INPUT_REQUEST merupakan data inputan yang bisa digunakan ketika kita
menggunakan Method POST atau GET
75
Sinitizing Filters
adalah filter yang digunakan untuk membersihkan karakter pada string. Sanitizing filters
bekerja dengan mengijinkan atau melarang penggunaan karakter tertentu pada string.
Sanitizing filter mengembalikan nilai string
76
Validating Filters
Filter disini digunakan untuk memvalidasi data yang diinputkan oleh user melalui inputan
data, diantaranya adalah :
77
real_escape_string()
real_ecsape_string()
● Fungsi real_escape_string() merupakan salah satu kegunaan function php yang dapat
mencegah sql injection sehingga dapat menghambat serangan penyusup atau
intruder.
htmlspecialchars()
htmlspecialchars()
● Fungsi htmlspecialchars() akan mengkonversi 4 karakter ’khusus’ HTML menjadi named entity
sehingga tidak akan di ’proses’ oleh web browser. Keempat karakter tersebut adalah: <, >, &
dan “.
stript_tags()
stript_tags()
● Fungsi strip_tags() akan menghapus seluruh tag HTML dari inputan user.
● Fungsi strip_tags() memiliki argumen kedua yang bisa diisi dengan tag-tag HTML apa saja
yang ’dibolehkan’. Jika kita membolehkan tag <a>, <b> dan tag <i> untuk variabel $komentar,
maka penulisannya bisa dibuat menjadi:
htmlentities()
htmlentities()
PHP &MySQL
86
Perulangan
87
Apa Itu Perulangan
Perulangan atau yang sering disebut dengan “looping”, merupakan proses yang dilakukan
secara berulang-ulang dalam batas yang telah ditentukan.
88
4 Jenis Perulangan Di Dalam PHP
● For
● While
● Do While
● Foreach
89
For Loop
90
For Loop
● Perulangan For adalah perulangan yang termasuk dalam counted loop, karena kita
bisa menentukan jumlah perulangannya.
● For adalah salah satu kata kunci yang bisa digunakan untuk melakukan perulangan
● Blok kode yang terdapat di dalam for akan selalu diulangi selama kondisi for terpenuhi
91
Sintak Perulangan For
92
While Loop
93
While Loop
● Perulangan while adalah perulangan yang termasuk dalam uncounted loop. Karena
biasanya digunakan untuk mengulang sesuatu yang belum jelas jumlah
pengulangannya.
● Namun, perulangan while juga bisa digunakan seperti perulangan for sebagai counted
loop.
● While loop adalah versi perulangan yang lebih sederhana dibanding for loop
● Di while loop, hanya terdapat kondisi perulangan, tanpa ada init statement dan post
statement
94
Do While Loop
95
Do While Loop
96
Perulangan Bersarang
97
Perulangan Bersarang
98
Break & Continue
99
Break & Continue
● Pada switch statement, kita sudah mengenal kata kunci break, yaitu untuk
menghentikan case dalam switch
● Sama dengan pada perulangan, break juga digunakan untuk menghentikan seluruh
perulangan.
● Namun berbeda dengan continue, continue digunakan untuk menghentikan
perulangan saat ini, lalu melanjutkan ke perulangan selanjutnya
100
Example Continue dan Break
● Continue ● Break
101
Type Data Array
102
Tipe Data Array
103
Tipe Data Array
● Array adalah salah satu struktur data yang berisi sekumpulan data dan memiliki
indeks. Indeks digunakan untuk mengakses nilai array.
● Array di PHP bisa berisikan data dengan jenis berbeda-beda
● Array di PHP memiliki panjang dinamis, artinya kita bisa menambah data ke Array
sebanyak-banyaknya, tidak dibatasi kapasitasnya
104
Cara Kerja Array
105
Operasi Array
Operasi Keterangan
$array[index] = value Mengubah data di array pada nomor index dengan value
baru
107
For Each
108
Array Assosiatif
● Array asosiatif adalah array yang indeksnya tidak menggunakan nomer atau angka.
Indeks array asosiatif berbentuk kata kunci.
109
Array Multidimensi
110
Database
3 Semangka 10000 50
138
Halaman Dinamis
139
Apa Itu Halaman Dinamis
● Web dinamis bisa di sebutkan sebagai jenis web yang kaya akan informasi, karena
setiap halaman informasi yang dibangun dapat ditambahkan dihapus dan diubah
setiap saat tanpa perlu mengubah struktur kode di dalam web itu sendiri. Berbeda
dengan web statis yang sangat terbatas dalam pemanfaatannya.
● Secara umum web dinamis memiliki fitur penyimpanan data yang kita sebut database,
fungsinya untuk menyimpan semua data atau informasi dalam website itu sendiri.
Terdapat banyak jenis database yang biasanya digunakan seperti postgreSQL, Oracle,
dan MySQL.
140
Parameters
143
Apa Itu Partial Template
144
CRUD
145
CRUD
(Create, Read, Update, Delete)
146
Apa Itu CRUD
● CRUD adalah singkatan dari Create, Read, Update, dan Delete. Proses ini sangat
berkaitan dengan pengambilan atau transaksi data dari atau ke database.
● Bagi PHP Developer, operasi CRUD biasanya menjadi pillar untuk mempelajari proses
pengelolaan data menggunakan PHP dan tentu saja MySQL database.
● CRUD ini bisa diibaratkan sebagai jalur atau koneksi yang menghubungkan antara
bahasa pemrograman PHP dengan MySQL.
147
CRUD Dengan PHP dan MySQL
● Developer aplikasi web sering menggunakan PHP dan MySQL sebagai komponen
utamanya
● Bahasa pemrograman PHP memproses berbagai fungsi untuk menjalankan operasi
CRUD. Sedangkan MySQL bertugas untuk menyimpan database dari website.
● MySQL sebenarnya tidak hanya bisa diakses menggunakan PHP saja, bahasa
pemrograman lain seperti Python, JavaScript, dan sejenisnya juga bisa untuk
mengakses MySQL.
● Sedangkan PHP juga bisa menggunakan server database lain seperti PostgreSQL,
MongoDB, dan sejenisnya.
148
Koneksi Database
149
Koneksi Database
150
MySQLi Extension
151
Apa Itu MySQLi Extension
● Mysqli extension ini pada dasarnya adalah perbaikan dari mysql extension dan
dikembangkan untuk mendukung fitur-fitur terbaru untuk MySQL 4.1 keatas.
● Hampir semua fungsi yang ada pada mysql extension juga tersedia pada mysqli.
Syntax (aturan penulisan) mysqli sangat mirip dengan mysql extension. Sehingga jika
anda telah lama menggunakan mysql extension, akan sangat mudah untuk beralih
menggunakan mysqli extension.
152
Beberapa Jenis MySQLi Extension
● mysqli_connect() fungsi ini diibaratkan sebagai cara untuk login kedalam MySQL Server.
Fungsi mysql_connect() membutuhkan 4 argumen, dan mengembalikan nilai fungsi berupa
‘variabel koneksi’ ke MySQL.
● mysqli_query() fungsi ini digunakan untuk mengirimkan perintah SQL ke server MySQL untuk
melakukan aktivitas CRUD yaitu CREATE, READ, UPDATE, DELETE
● mysqli_fetch_array() fungsi ini akan menangkap data dari hasil perintah query dan
membentuknya ke dalam array asosiatif dan array numerik
● mysql_fetch_assoc() digunakan untuk menghasilkan array dari tabel hanya dalam bentuk
associative array.
● mysqli_num_rows() merupakan fungsi yang digunakan untuk mengambil jumlah baris hasil
eksekusi query
153
Where Clause
Where Clause
● Saat mengambil data menggunakan perintah SQL SELECT, kadang kita ingin melakukan
pencarian data
● Misal, kita ingin mengambil data barang yang harganya 1jt, atau mengambil data barang yang
quantity nya 0 (stok nya kosong)
● Hal ini bisa kita lakukan dengan WHERE clause setelah perintah SELECT
Table Relationship
● INNER JOIN
● LEFT JOIN
● RIGHT JOIN
● CROSS JOIN
Inner Join
● INNER JOIN adalah mekanisme JOIN, dimana terdapat relasi antara tabel pertama dan tabel
kedua
● Jika ada data di tabel pertama yang tidak memiliki relasi di table kedua ataupun sebaliknya,
maka hasil INNER JOIN tidak akan ditampilkan
● Ini adalah default JOIN di MySQL
● Jika kita menggunakan JOIN seperti yang sudah kita praktekan sebelumnya, sebenarnya itu
akan melakukan INNER JOIN
Inner Join Diagram
Left Join
● LEFT JOIN adalah mekanisme JOIN seperti INNER JOIN, namun semua data di table pertama
akan diambil juga
● Jika ada yang tidak memiliki relasi di table kedua, maka hasilnya akan NULL
Left Join Diagram
Right Join
● RIGHT JOIN adalah mekanisme JOIN seperti INNER JOIN, namun semua data di table kedua
akan diambil juga
● Jika ada yang tidak memiliki relasi di table pertama, maka hasilnya akan NULL
Right Join Diagram
Cross Join
● CROSS JOIN adalah salah satu JOIN yang sangat jarang sekali digunakan
● CROSS JOIN melakukan join dengan cara mengkalikan data di tabel pertama dengan data di
table kedua
● Artinya jika ada 5 data di tabel pertama, dan 5 data di tabel kedua, akan menghasilkan 25
kombinasi data (5 x 5)
● Sekali lagi perlu diingat, ini adalah JOIN yang sangat jarang sekali digunakan