0% menganggap dokumen ini bermanfaat (0 suara)
22 tayangan

Materi PHP & MySQL-2

Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
22 tayangan

Materi PHP & MySQL-2

Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 176

PHP & MySQL

Jufrisal Humairi / Faisal

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

● PHP singkatan dari PHP : Hypertext Preproseccor


● PHP banyak di gunakan sebagai bahasa pemrograman yang dikhususkan untuk web
development
● PHP sangat mudah di gunakan dan banyak sekali diadopsi oleh programmer web
● Bahkan hampir mayoritas kebanyakan web di dunia dibuat menggunakan PHP
● PHP merupakan bahasa yang open source (gratis)
● Selain open source , PHP juga free untuk digunakan

6
https://www.tiobe.com/tiobe-index/

Kenapa Belajar PHP

7
https://www.tiobe.com/tiobe-index/

Kenapa Belajar PHP

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

● VisualStudio Code https://code.visualstudio.com/


● Sublime Text https://www.sublimetext.com/
● Atom https://atom.io/
● PHPStorm https://www.jetbrains.com/phpstorm/

13
Mencetak Data

PHP & MySQL

14
Mencetak Data

15
Cara Mencetak Data
PHP memiliki beberapa fungsi untuk mencetak teks ke layar

Fungsi-fungsi ini akan sering kita gunakan dalam pemrograman PHP.

● 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

PHP & MySQL

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

PHP & MySQL

20
Tipe Data

21
Apa Itu Tipe Data di PHP

tipe data merupakan jenis nilai yang akan kita simpan dalam variabel.

Di dalam PHP tipe data di bagi menjadi 3 macam yaitu :

● Tipe Data Number


● Tipe Data Boolean
● Tipe Data String

22
Tipe Data Number

Tipe data Number hanya berisikan angka saja dan tidak bisa di isi dengan teks.

Di PHP terdapat 2 jenis tipe data number

● (Int) Bilangan bulat decimal, hexadecimal, octa, binary


● (Float) Bilangan pecahan

untuk angka negatif kita menggunakan tanda -(minus) di depan angka

23
Tipe Data Boolean

● Tipe data boolean adalah tipe data paling sederhana di PHP


● Tipe data boolean adalah tipe data dengan nilai kebenaran (benar atau salah)
● Nilai benar direpresentasikan dengan true (case insensitive)
● Nilai benar direpresentasikan dengan false (case insensitive)

24
Tipe Data String

● Tipe data string adalah tipe data representasi dari teks


● String bisa mengandung kosong atau banyak karakter

25
Single Quote dan Double Quote

● Untuk membuat String di PHP, kita bisa menggunakan single quote


● Selain single quote, kita juga bisa menggunakan double quote
● Salah satu kelebihan menggunakan double quote adalah kita bisa menggunakan
escape sequance untuk beberapa hal, seperti \n untuk ENTER atau \t untuk TAB, \ “
untuk daouble quote, dan lain - lain

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

● Variable di PHP sifatnya mutable, artinya bisa dirubah


● Jika kita ingin membuat variable yang immutable (tidak bisa dirubah), maka tidak bisa
kita lakukan di PHP
● Sebagai gantinya, terdapat fitur yang namanya constant
● Constant adalah tempat untuk menyimpan data yang tidak bisa dirubah lagi setelah di
deklarasikan
● Untuk membuat constant kita bisa menggunakan function define()
● Best practice pembuatan nama constant adalah menggunakan UPPER_CASE

32
Kode : Constant

33
Data NULL

34
Data NULL

● Nilai NULL merepresentasikan sebuah variable tanpa nilai.


● Saat kita membuat variable, lalu ingin menghapus data yang terdapat di variable
tersebut, kita bisa menggunakan NULL untuk mengosongkan variable tersebut
● Untuk membuat data NULL, kita bisa menggunakan kata kunci NULL (case insensitive)

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

$variable + $variable Penambahan

$variable - $variable Pengurangan

$variable * $variable Perkalian

$variable / $variable Pembagian


40
Operator Aritmatika 2

Operator Keterangan

$variable % $variable Sisa bagi

$variable ** $variable Pangkat

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

● Operator perbandingan, seperti namanya, digunakan untuk membandingan dua buah


● value
● Hasil dari operator perbandingan adalah boolean, true jika perbandingannya benar,
false jika perbandingannya salah

46
Operator Perbandingan 1

Operator Nama Keterangan

$a == $b Sama dengan true jika $a sama dengan $b setelah dilakukan


konversi tipe data

$a === $b Identik true jika $a sama dengan $b dan memiliki tipe


data yang sama

$a != $b Tidak sama dengan true jika $a tidak sama dengan $b setelah


dilakukan konversi tipe data

$a <> $b Tidak sama dengan true jika $a tidak sama dengan $b setelah
dilakukan konversi tipe data
47
Operator Perbandingan 2

Operator Nama Keterangan

$a !== $b Tidak identik true jika $a tidak sama dengan $b atau tidak sama
tipe data

$a < $b Kurang dari true jika $a kurang dari $b

$a <= $b Kurang dari atau true jika $a kurang dari atau sama dengan $b
sama dengan

$a > $b Lebih dari true jika $a lebih dari $b

$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

● Operator logika adalah operator untuk membandingkan dua nilai boolean


● Hasil dari operator logika adalah boolean lagi

51
Operator Logika

Operator Nama Hasil

$a && $b And true jika $a dan $b keduanya true

$a and $b And true jika $a dan $b keduanya true

$a || $b Or true jika $a dan $b salah satu atau keduanya true

$a or $b Or true jika $a dan $b salah satu atau keduanya true

! $a Not true jika $a bernilai false

$a xor $b Xor true jika $a dan $b salah satu true, tapi tidak keduanya
52
Increment dan Decrement

53
Increment dan Decrement

● PHP mendukung gaya bahasa pemrograman C untuk menaikkan dan menurunkan


data number sejumlah 1 angka
● Ini bisa mempersingkat kita ketika ingin menaikkan data

54
Operator Increment dan Decrement

Contoh Name Efek

$a++ Post increment Kembalikan $a lalu naikkan 1 angka

++$a Pre increment Naikkan $a satu angka, lalu kembalikan $a

$a-- Post decrement Kembalikan $a lalu turunkan 1 angka

--$a Pre decrement Turunkan $a satu angka, lalu kembalikan $a

55
Percabangan

PHP & MySQL

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

● Blok if akan dieksekusi ketika kondisi if bernilai true


● Kadang kita ingin melakukan eksekusi program tertentu jika kondisi if bernilai false
● Hal ini bisa dilakukan menggunakan else statement

59
Else If Statement

● Kadang dalam If, kita butuh membuat beberapa kondisi


● Kasus seperti ini, di PHP kita bisa menggunakan Else If statement
● Else if di PHP bisa lebih dari satu
● Kode Else if di php bisa menggunakan “else if” atau “elseif” (digabung)

60
Syntax Alternatif If

● Selain menggunakan {} (kurung kurawal), PHP juga menyediakan syntax alternatif


untuk menggunakan if, yaitu dengan menggunakan : (titik dua)
● Namun untuk menggunakan ini, kita harus menggunakan kata kunci endif diakhir if
statement

61
Switch Statement

62
Switch Statement

● Kadang kita hanya butuh menggunakan kondisi sederhana di if statement, seperti


hanya menggunakan perbandingan ==
● Switch adalah statement percabangan yang sama dengan if, namun lebih sederhana
cara pembuatannya
● Kondisi di switch statement hanya untuk perbandingan ==

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

● Kadang ada kasus kita butuh melakukan pengecekan kondisi menggunakan if


statement, lalu jika benar kita ingin memberi nilai terhadap variable dengan nilai X dan
jika salah dengan nilai Y
● Penggunaan if statement pada kasus seperti bisa dipersingkat menggunakan ternary
operator
● Ternary operator menggunakan kata kunci ? dan :

66
Form PHP

PHP DASAR

67
Method Penerima Data
Dari Form

68
Cara Menerima Data Dari Form

ada 4 cara untuk menerima data dari form yaitu

● $_POST hanya menerima data form yang menggunakan method post


● $_GET hanya menerima data form yang menggunakan method get
● $_REQUEST bisa menerima data form yang menggunakan method post atau get
● $_FILES hanya bisa di gunakan untuk menerima data form input type file

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

● FILTER_SANITIZE_STRING Tag pemotongan, opsional memotong atau meng-encode


karakter khusus.
● FILTER_SANITIZE_SPECIAL_CHARS Melepaskan karakter dari HTML encode ‘”<>&
dan karakter dengan nilai ASCII kurang dari 32.

76
Validating Filters

Filter disini digunakan untuk memvalidasi data yang diinputkan oleh user melalui inputan
data, diantaranya adalah :

● FILTER_VALIDATE_EMAIL ini filter yang digunakan untuk memvalidasi email yang


diinput oleh pengguna.
● FILTER_VALIDATE_INT Memfilter data yang diinputkan oleh pengguna, apakah data
tersebut bilangan bulat atau tidak.
● FILTER_VALIDATE_BOOLEAN memfilter data yang diinputkan adalah data logika
(boolean).
● FILTER_VALIDATE_FLOAT Menyaring data yang diinputkan oleh user harus data yang
memiliki tipe float atau bilangan decimal atau bilangan bulat.
● FILTER_VALIDATE_URL Menyaring data yang diinputkan harus data yang berbentuk
URL seperti http://www.google.com
● FILTER_VALIDATE_IP menyaring data yang diinputkan harus data yang beerbentuk IP.

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()

● Fungsi htmlentities() akan mengkonversi seluruh karakter khusus di dalam sebuah


string menjadi entity, tidak hanya karakter <, >, & dan ” seperti pada fungsi
htmlspecialchars(). Fungsi htmlentities() akan memproses karakter khusus lain
seperti: ™, ©, ®, atau Σ menjadi named entity.
Perulangan

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.

Ada 2 jenis perulangan dalam bahasa pemrograman yaitu :

● Counted loop adalah perulangan yang sudah jelas banyak pengulangnya.


● Uncounted loop perulangan yang tidak pasti berapa banyak dia akan mengulang.

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

for(init statement; kondisi; post statement; increment){


// block perulangan
}

● Init statement akan dieksekusi hanya sekali di awal sebelum perulangan


● Kondisi akan dilakukan pengecekan dalam setiap perulangan, jika true perulangan
akan dilakukan, jika false perulangan akan berhenti
● Post statement akan dieksekusi setiap kali diakhir perulangan
● Init statement, Kondisi dan Post Statement tidak wajib diisi, jika Kondisi tidak diisi,
berarti kondisi selalu bernilai true

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

● Do While loop adalah perulangan yang mirip dengan while


● Perbedaannya hanya pada pengecekan kondisi
● Pengecekan kondisi di while loop dilakukan di awal sebelum perulangan dilakukan,
sedangkan di do while loop dilakukan setelah perulangan dilakukan
● Oleh karena itu dalam do while loop, minimal pasti sekali perulangan dilakukan
walaupun kondisi tidak bernilai true

96
Perulangan Bersarang

97
Perulangan Bersarang

● Perulangan bersarang adalah istilah untuk menyebut perulangan di dalam


perulangan. Dalam bahasa inggris, perulangan bersarang disebut nested loop.

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

PHP & MySQL

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] Mengakses data di array pada nomor index

$array[index] = value Mengubah data di array pada nomor index dengan value
baru

$array[] = value Menambah data di array pada posisi paling belakang

unset($array[index]) Menghapus data di array, index otomatis hilang dari array

count($array) Mengambil total data di array


106
For Each Loop

107
For Each

● Kadang kita biasa mengakses data array menggunakann perulangan


● Mengakses data array menggunakan perulangan sangat bertele-tele, kita harus
membuat counter, lalu mengakses array menggunakan counter yang kita buat
● Namun untungnya, di PHP terdapat perulangan for each, yang bisa digunakan untuk
mengakses seluruh data di Array secara otomatis

108
Array Assosiatif

● Array asosiatif adalah array yang indeksnya tidak menggunakan nomer atau angka.
Indeks array asosiatif berbentuk kata kunci.

109
Array Multidimensi

● Seperti dijelaskan di awal, Array di PHP bisa berisikan data apapun


● Sehingga kita juga bisa membuat array di dalam array jika memang dibutuhkan

110
Database

PHP & MySQL


Database
● Database adalah tempat kita menyimpan table di MySQL
● Jika kita misalkan table di MySQL adalah sebuah file, maka database adalah folder nya, dimana
kita bisa menyimpan banyak table di sebuah database
● Biasanya pembuatan kita akan membuat satu database untuk satu jenis aplikasi, walaupun
satu aplikasi bisa menggunakan lebih dari satu database, namun lumrahnya, satu aplikasi akan
menggunakan satu database
SQL
● Structured Query Language
● Merupakan bahasa yang digunakan untuk mengirim perintah ke DBMS
● SQL adalah bahasa yang mudah karena hanya berisi instruksi untuk menyimpan, mengubah,
menghapus atau mengambil data melalui DBMS
● Secara garis besar, semua perintah SQL di Relational Database itu hampir sama, namun
biasanya tiap DBMS ada improvement yang membedakan hal-hal kecil dalam perintah SQL,
namun secara garis besar perintahnya tetap sama
Table
Table
● Data biasanya disimpan di dalam tabel di MySQL
● Tiap tabel biasanya menyimpan satu jenis data, misal ketika kita membuat aplikasi toko online,
kita akan membuat tabel barang, tabel pelanggan, tabel penjual, dan lain-lain
● Sebelum kita bisa memasukkan data ke tabel, kita wajib terlebih dahulu membuat tabelnya
terlebih dahulu
● Dan tiap tabel yang kita buat, wajib ditentukan kolom-kolom nya, dan tipe data tiap kolom nya
● Kita juga bisa mengubah tabel yang sudah terlanjur dibuat, seperti menambah kolom baru,
mengubah kolom yang sudah ada, atau menghapus kolom
Tipe Data
Tipe Data
● Saat kita membuat tabel di Excel, kita bisa menentukan tipe data apa yang kita masukkan ke
tiap kolom di Excel
● Di MySQL, kita juga bisa menentukan tipe data tiap kolom yang kita buat di sebuah tabel
● Ada banyak sekali tipe data yang tersedia di MySQL, dari yang sederhana, sampai yang
kompleks.
● Biasanya kita akan menggunakan tipe data sesuai dengan kebutuhan kolom yang perlu kita
buat
Tipe Data per Kolom

Id (number) Nama (text) Harga (number) Jumlah (number)

1 Apel 5000 100

2 Jeruk 2000 200

3 Semangka 10000 50

... ... ... ...


Tipe Data Number
Tipe Data Number
● Secara garis besar, tipe data number di MySQL ada dua jenis;
● Integer, atau tipe number bilangan bulat
● Floating Point, atau tipe data number pecahan
Tipe Data Integer
Tipe Data Floating Point
Tipe Data String
Tipe Data String
● Selain number, biasanya kita sering menyimpan data di dalam tabel dalam bentuk tulisan
● Tipe data ini namanya tipe data String atau Text
● Ada banyak tipe data String di MySQL
CHAR dan VARCHAR
● Pertama tipe data String di MySQL adalah CHAR dan VARCHAR
● Kita bisa menentukan jumlah panjang maksimal karakter yang bisa ditampung oleh CHAR dan
VARCHAR dengan menggunakan kurung buka lalu masukan jumlah maksimal karakter dan
diakhiri kurung tutup
● Misal, CHAR(10) atau VARCHAR(10) artinya tipe data String dengan maksimal jumlah
karakternya adalah 10 karakter
● Maksimum ukuran CHAR atau VARCHAR adalah 65535 karakter
Perbedaan CHAR dan VARCHAR
TEXT
● Selain CHAR dan VARCHAR, tipe data String yang lainnya adalah TEXT
● Berbeda dengan CHAR dan VARCHAR yang kita bisa tentukan panjang maksimum nya, TEXT
tidak sudah memiliki maksimum panjang nya
● Terdapat 4 tipe data TEXT
○ TINYTEXT dengan maksimum 255 karakter (~256 bytes)
○ TEXT dengan maksimum 65535 karakter ( ~64 kb)
○ MEDIUMTEXT dengan maksimum 16777215 karakter (~16MB)
○ dan LONGTEXT dengan maksimum 4294967295 karakter (~4GB)
ENUM
● ENUM adalah tipe data String yang bisa kita tentukan pilihan pilihannya
● Misal kita bisa membuat
○ ENUM(‘Pria’, ‘Wanita’), artinya hanya bisa menerima data Pria atau Wanita
○ ENUM(‘Programmer’, ‘Zaman’, ‘Now’), artinya hanya bisa menerima data Programmer, Zaman atau Now
Tipe Data Date dan Time
Tipe Data Date dan Time
● Selain tipe data Number dan String, biasanya kadang kita sering menyimpan data waktu atau
tanggal
● Sebenarnya bisa kita gunakan String untuk menyimpan data waktu atau tanggal, namun itu
tidak di rekomendasikan, karena akan menyulitkan kita ketika nanti butuh melakukan
manipulasi waktu atau tanggal di MySQL
https://stackoverflow.com/questions/409286/should-i-use-the-datetime-or-timestamp-data-type-in-mysql

Jenis-Jenis Tipe Data Date dan Time


Tipe Data Date dan Time Format Contoh

DATE YYYY-MM-DD 2020-10-10

DATETIME YYYY-MM-DD HH:MM:SS 2020-10-10 10:10:10

TIMESTAMP YYYY-MM-DD HH:MM:SS 2020-10-10 10:10:10

TIME HH:MM:SS 10:10:10

YEAR YYYY 2020


Tipe Data Boolean
Tipe Data Boolean
● BOOLEAN adalah tipe data kebenaran, yang artinya datanya hanya ada dua jenis, benar atau
salah
● Benar direpresentasikan dengan data TRUE, sedangkan salah direpresentasikan dengan data
FALSE
Primary Key
Primary Key
● Saat kita membuat tabel, idealnya tiap tabel memiliki Primary Key
● Primary key adalah sebuah kolom yang kita tunjuk sebagai id dari tabel tersebut
● Primary key adalah identitas untuk tiap baris data di dalam tabel
● Primary key harus unik, tidak boleh ada data dengan primary key yang sama
● Kita bisa menunjuk kolom yang akan kita jadikan primary key
Auto Increment
Auto Increment
● Kadang kita butuh angka yang berurut untuk membuat primary key, misal 1, 2, 3, dan
seterusnya.
● Untuk melakukan hal ini secara manual bukanlah hal bijak, apalagi jika aplikasi yang kita buat
diakses oleh banyak orang secara bersamaan
● MySQL memiliki fitur yang bernama auto increment, fitur ini bisa kita gunakan untuk menandai
bahwa suatu primary key datanya diisi secara otomatis dari angka terakhir + 1
● Dengan menggunakan auto increment, kita tidak perlu lalu memasukkan data primary key, ini
akan otomatis dibuat oleh MySQL
HALAMAN DINAMIS

PHP & MySQL

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

PHP & MySQL


Parameters
● Selanjutnya, dalam URL juga bisa terdapat informasi parameters, namun ini tidak wajib
● Parameter dipisah oleh karakter ? setelah Authority atau Path
● Parameter merupakan informasi tambahan yang berisi key=value, jika ingin menambahkan
lebih dari satu parameter, kita bisa tambahkan parameter dengan menggunakan karakter &
Partial Template

143
Apa Itu Partial Template

● Partial adalah pecahan-pecahan kode atau komponen dari template.


● Adanya partial memungkinkan kita untuk menggunakan ulang komponen yang sudah
ada.

144
CRUD

PHP & MySQL

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

● Sebelum kita melakukan manipulasi data ke database dengan mengirimkan perintah


SQL, hal yang perlu kita lakukan terlebih dahulu adalah membuat koneksi ke database
● Untuk membuat koneksi antara PHP dengan MySQL kita bisa menggunakan mysqli
extension, PHP menyediakan fungsi mysqli_connect().

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

PHP & MySQL


Table Relationship
● Dalam Relational DBMS, salah satu fitur andalan nya adalah table relationship. Yaitu relasi
antar tabel
● Kita bisa melakukan relasi dari satu tabel ke tabel lain.
● Dalam kehidupan nyata pun pasti kita akan sering membuat relasi antar tabel
● Misal, saat kita membuat aplikasi penjualan, di laporan penjualan pasti ada data barang. Jika di
tabel artinya tabel penjualan akan berelasi dengan tabel barang
● Misal dalam aplikasi kampus, tabel mahasiswa akan berelasi dengan tabel mata kuliah, dan
tabel dosen
● Dan lain-lain
Foreign Key
● Saat membuat relasi tabel, biasanya kita akan membuat sebuah kolom sebagai referensi ke
tabel lainnya
● Misal saat kita membuat tabel penjualan, di dalam tabel penjualan, kita akan menambahkan
kolom id_produk sebagai referensi ke tabel produk, yang berisi primary key di tabel produk
● Kolom referensi ini di MySQL dinamakan Foreign Key
● Kita bisa menambah satu satu lebih foreign key ke dalam sebuah tabel
● Membuat foreign key sama seperti membuat kolom biasanya, hanya saja kita perlu memberi
tahu MySQL bahwa itu adalah foreign key ke tabel lain
Join

PHP & MySQL


Join
● MySQL mendukung query SELECT langsung ke beberapa tabel secara sekaligus
● Namun untuk melakukan itu, kita perlu melakukan JOIN di SQL SELECT yang kita buat
● Untuk melakukan JOIN, kita perlu menentukan tabel mana yang merupakan referensi ke tabel
lain
● Join cocok sekali dengan foreign key, walaupun di MySQL tidak ada aturan kalau JOIN harus
ada foreign key
● Join di MySQL bisa dilakukan untuk lebih dari beberapa tabel
● Tapi ingat, semakin banyak JOIN, maka proses query akan semakin berat dan lambat, jadi harap
bijak ketika melakukan JOIN
● Idealnya kita melakukan JOIN jangan lebih dari 5 tabel, karena itu bisa berdampak ke performa
query yang lambat
One to One Relationship
Jenis-Jenis Relasi Tabel
● Sekarang kita sudah tau untuk melakukan relasi antar tabel, kita bisa menggunakan FOREIGN
KEY
● Dan untuk melakukan SELECT beberapa tabel, kita bisa menggunakan JOIN
● Dalam konsep relasi, ada banyak jenis-jenis relasi antar tabel
● Sekarang kita akan bahas dari yang pertama yaitu One to One relationship
One to One Relationship
● One to One relationship adalah relasi antar tabel yang paling sederhana
● Artinya tiap data di sebuah tabel hanya boleh berelasi ke maksimal 1 data di tabel lainnya
● Tidak boleh ada relasi lebih dari 1 data
● Contoh misal, kita membuat aplikasi toko online yang terdapat fitur wallet, dan 1 customer,
cuma boleh punya 1 wallet
One to Many Relationship
One to Many Relationship
● One to many relationship adalah relasi antar tabel dimana satu data bisa digunakan lebih dari
satu kali di tabel relasinya
● Berbeda dengan one to one yang cuma bisa digunakan maksimal 1 kali di tabel relasinya, one
to many tidak ada batasan berapa banyak data digunakan
● Contoh relasi antar tabel categories dan products, dimana satu category bisa digunakan oleh
lebih dari satu product, yang artinya relasinya nya one category to many products
● Pembuatan relasi one to many sebenarnya sama dengan one to one, yang membedakan
adalah, kita tidak perlu menggunakan UNIQUE KEY, karena datanya memang bisa berkali-kali
ditambahkan di tabel relasi nya
Many to Many Relationship
Many to Many Relationship
● Many to Many adalah table relationship yang paling kompleks, dan kadang membingungkan
untuk pemula
● Many to Many adalah relasi dimana ada relasi antara 2 tabel dimana table pertama bisa punya
banyak relasi di table kedua, dan table kedua pun punya banyak relasi di table pertama
● Ini memang sedikit membingungkan, bagaimana caranya bisa relasi kebanyakan secara bolak
balik, sedangkan di table kita cuma punya 1 kolom?
● Contoh relasi many to many adalah relasi antara produk dan penjualan, dimana setiap produk
bisa dijual berkali kali, dan setiap penjualan bisa untuk lebih dari satu produk
Jenis-Jenis Join

PHP & MySQL


Jenis-Jenis Join
Sebelumnya kita sudah bahas tentang JOIN table, tapi sebenarnya ada banyak sekali jenis-jenis JOIN
table di MySQL, diantaranya :

● 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

Anda mungkin juga menyukai