Ini adalah seri tutorial belajar PHP 7 dasar, semua materi pada seri ini disesuaikan untuk
pemula yang ingin memulai perjalanannya sebagai programmer PHP.
Kita akan mempelajari bahasa pemrograman PHP dari bagiannya yang paling dasar. Mulai
dari file PHP, variabel, tipe data, logika, pembahasan tentang fungsi, pembahasan tentang
string, array dan lain sebagainya.
Jika sebelumnya anda pernah belajar bahasa Java, C++, atau bahasa pemrograman yang
lainnya, mempelajari bahasa pemrograman PHP akan lebih mudah karena ia masih memiliki
beberapa struktur yang sama.
Akan tetapi jika PHP adalah bahasa pemrograman yang pertama kali anda pelajari, anda
tidak perlu khawatir. Dengan mengikuti tutorial PHP ini, insyaallah anda akan bisa
menguasainya dengan mudah.
1. Hello World
Daftar Isi
o Persiapan
o Hasil Akhir
o Pembahasan Selanjutnya
Dalam seri tutorial Belajar PHP Dasar ini, kita akan mempelajari bahasa pemrograman PHP
dari bagiannya yang paling dasar. Mulai dari file PHP, variabel, tipe data, logika, fungsi dan
hal-hal lainnya.
Pada pertemuan pertama ini kita akan membahas mulai dari persiapan yang harus
dilakukan sebelum memulai pemorgaman PHP, kita juga akan membahas tentang apa itu
file PHP dan cara menjalankannya.
Persiapan
1. Anda sudah paham garis besar apa itu web server dan bagaimana kerjanya
2. Anda sudah paham garis besar tentang cara kerja protokol HTTP/HTTPS
3. Anda sudah menyiapkan perangkat anda untuk menjalankan PHP
4. Tutorial ini menggunakan PHP 7.4, anda disarankan untuk senantiasa menggunakan
versi paling baru PHP untuk mengikuti tutorial ini
Kita masuk dari pembahasan yang pertama, yaitu tentang file PHP.
File PHP adalah file yang berekstensi *.php, diawali dengan sintaks <?php dan diakhiri
dengan sintaks ?>.
Contoh:
<?php
Jika file kita murni PHP saja, tidak bercampur dengan file yang lain. Kita boleh untuk tidak
menutup file tersebut dengan ?> seperti contoh pada Kode 1 di atas. Dan ini adalah cara
yang disarankan.
Ada pun jika kode program kita bercampur dengan “konten” non-php. Maka kita perlu
menggunakan sintaks penutup (?>) untuk memperjelas mana yang harus dieksekusi
sebagai file php, dan mana yang bukan.
Perhatikan kode program pada Kode 2 di bawah di mana sintaks PHP bercampur dengan
sintaks HTML.
<!DOCTYPE html>
<html>
<body>
<h1>Halaman HTML</h1>
<?php
?>
PHP Dasar | 3
</body>
</html>
Kode 2: Hello world php yang bercampur dengan konten non php
Kode program pada contoh Kode 2 di atas harus disimpan dengan ekstensi .php. Jika tidak,
maka itu akan dianggap teks HTML biasa.
Kita telah mengetahui dari contoh di atas bahwasanya sintaks php adalah semua yang diapit
oleh tag <?php dan ?>. Akan tetapi, ada satu bagian file php yang keberadaannya seperti
tidak ada, alias tidak dianggap: yaitu baris komentar.
Baris komentar dalam php ada 2 jenis: inline dan multiple lines. Anda bisa memanfaatkan
komentar dalam PHP untuk menulis catatan tentang fungsi atau alur dari kode program
yang anda tulis.
Pada PHP, ada dua cara untuk mendefinisikan komentar inline. Yang pertama seperi
umumnya komentar pada bahasa pemrograman yang lain, yaitu menggunakan
sintaks double slash (//). Dan cara yang kedua adalah dengan menggunakan tanda pagar
atau hashtag (#).
<?php
// ini juga komentar satu baris tapi dengan tanda double-slash (//)
Jenis komentar yang kedua adalah komentar multiple lines. Ia diawali tanda /** dan diakhiri
dengan tanda */.
Agar lebih bagus, biasanya setiap baris komentar akan ditambahkan tanda bintang *.
<?php
PHP Dasar | 4
/**
* NB: Ini biasa digunakan untuk menjelaskan logika/alur program yang cukup panjang
*/
Seperti yang anda saksikan pada Kode 3 dan Kode 4, kita bisa menambahkan komentar
pada file php kita tanpa mempengaruhi program kita sama sekali. Untuk komentar inline, kita
bisa menggunakan tanda # mau pun tanda //. Ada pun untuk multiple lines, anda bisa
menggunakan tanda /** dan ditutup dengan tanda */.
Anda bisa menggunakan berbagai macam teks editor untuk membuat file php. Semisal
sublime text, atom, visual code, vim, nano, nodepad++ dan sebagainya. Bahkan anda juga
bisa menggunakan notepad pada windows. Yang terpenting adalah: anda harus menyimpan
file tersebut dengan ekstensi .php.
Setelah anda menyiapkan teks editor yang akan anda gunakan, lakukan langkah-langkah
berikut:
Secara umum ada dua cara untuk menjalankan atau mengeksekusi file php. Anda bisa
melakukannya dengan:
CLI
Untuk CLI, artinya anda mengeksekusi file php lewat terminal atau command line. Tidak
dieksekusi dengan HTTP Request melalui Browser atau pun media lainnya. Hal ini sangat
PHP Dasar | 5
berguna untuk tugas-tugas yang dijalankan secara otomatis misal mengirim tagihan
perpanjangan domain setiap tahun.
Anda bisa melakukannya dengan perintah php, diikuti dengan nama file setelahnya.
php hello-world.php
Atau misal:
php kirim-tagihan-yang-sudah-jatuh-tempo.php
Web Server
Menjalankan file php melalui Web Server artinya melalui HTTP Request. Contoh paling
sederhana adalah seorang user membuka url localhost:8000/hello-world.php. Lalu web
server menangkap request tersebut dan mem-bypass ke interpreter php untuk
mengeksekusinya. Untuk kemudian mengembalikan output kepada browser sebagai HTTP
Response.
Untuk Web Server, anda bisa menggunakan Nginx atau pun Apache. Atau cara yang paling
simpel adalah dengan menggunakan php built in server. Yaitu server kecil sederhana
bawaan PHP untuk kebutuhan selama proses pengembangan aplikasi PHP.
php -S localhost:8000
Untuk mengeksekusi file php dengan Nginx, anda bisa membaca tutorialnya di cara install
nginx dan php di Ubuntu.
Hasil Akhir
Hasil akhir dari tutorial ini bisa anda lihat pada rekaman layar Video 1. Di dalam video
tersebut saya mendemonstrasikan cara menjalankan file yang telah kita buat
menggunakan php built-in server.
Dalam video tersebut Saya menggunakan Arch Linux, cara yang sama juga bisa anda
lakukan pada OS yang lainnya.
Pembahasan Selanjutnya
Dalam tutorial ini kita telah mengetahui apa itu file PHP, bagaimana cara membuatnya dan
bagaimana cara menjalankannya. Pada pertemuan selanjutnya, kita akan mempelajari
tentang variabel dan tipe data dalam PHP.
PHP Dasar | 6
Ikuti terus setiap seri dari Tutorial PHP Dasar, jika anda mendapati pertanyaan atau
masalah, silakan tulis di kolom komentar.
o Persiapan
o Apa Itu Tipe Data?
o Macam-Macam Tipe Data Dalam PHP
o Apa itu Variabel?
o Peraturan Penamaan Variabel
o Pembuatan Variabel
o Hasil Akhir
o Pembahasan Selanjutnya
o Referensi
Persiapan
Tutorial ini adalah pertemuan ke-2 dari seri Tutorial PHP Dasar. Pastikan anda telah
mengikuti tutorial sebelumnya yang membahas tentang: cara membuat file PHP dan
bagaimanca cara menjalankannya.
Pada pertemuan ini, kita akan membahas sesuatu yang sangat penting dan sangat
mendasar dalam bahasa pemrograman PHP: yaitu tentang tipe data dan variabel.
Tipe data adalah klasifikasi jenis data atau bentukan dari suatu data. Ia menjelaskan suatu
data: dari jenis apakah ia tersusun? Apakah bilangan riil? Atau kah bilangan pecahan? Atau
kah ia data yang tersusun dari bentukan karakter?
Intinya tipe data adalah klasifikasi jenis dari data yang kita ingin simpan dalam sebuah
variabel. Hampir seluruh bahasa pemrograman yang ada mendukung berbagai macam jenis
tipe data, seperti: integer untuk bilangan rill, boolean untuk true dan false, string untuk
kumpulan karakter, dan sebagainya [1].
Ada berbagai macam tipe data: mulai dari tipe data asli dan tipe data buatan. Untuk PHP
sendiri, ia mendukung setidaknya 8 tipe data skalar. Akan tetapi dalam tutorial ini,
PHP Dasar | 7
sementara kita akan fokuskan dahulu pada pembahasn 5 tipe data saja, karena 5 tipe data
ini adalah tipe data yang paling dasar.
PHP adalah bahasa pemrograman yang bersifat dinamic typing, yang artinya ia tidak
memiliki aturan ketat terhadap pendefinisian tipe data pada setiap variabel. PHP akan
otomatis menentukan tipe data dari suatu variabel tertentu ketika program dijalankan.
Sebentar lagi, kita akan mempelajari cara pembuatan variabel PHP untuk semua tipe data di
atas.
Variabel adalah suatu “wadah” yang digunakan untuk menyimpan suatu data atau nilai. Kita
bisa menyimpan berbagai macam data dari berbagai macam tipe, misalkan kita menyimpan
data teks untuk nama mahasiswa, atau data desimal untuk nilai ipk mahasiswa, dan
seterusnya.
Untuk menyimpan suatu data pada variabel, kita perlu memberi nama terhadap variabel
tersebut.
Dalam PHP, terdapat beberapa peraturan dalam pemberian nama variabel sebagaimana
pada tabel berikut:
Peraturan Keterangan
diawali tanda $ Setiap nama variabel dalam bahasa pemrograman PHP didefinisikan dengan
tanda $ lalu diikuti oleh nama variabel itu sendiri
nama diawali huruf Nama variabel PHP harus diawali huruf, atau tanda underscore (_).
atau underscore (_) Kita bisa membuat variabel dengan nama $_nilai atau $nilai123 akan
tetapi tidak bisa membuat variabel dengan nama $1nilai
case sensitive PHP membedakan huruf besar dan kecil dalam penamaan variabel. Maka
variabel $nilai, $niLai dan juga $nIlAi dianggap 3 variabel yang berbeda
hanya boleh huruf dan nama variabel hanya boleh tersusun dari huruf [a-z] atau [A-Z], dan juga
angka angka [0-9]. Kita tidak bisa memberi nama variabel misalkan dengan
tanda ^ atau & dan lain sebagainya. Kita juga tidak bisa
menggunakan spasi dalam penamaan variabel di PHP
inisiasi dengan tanda = Kita bisa memberi nilai terhadap suatu variabel dengan menggunakan operator
sama dengan (=).
NB: Penamaan suatu variabel disarankan agar menggunakan nama yang sesuai
dengan tugas variabel tersebut. Misalkan menggunakan
nama $nilaiMatematika untuk menyimpan nilai matematika, dan tidak menggunakan
nama $a untuk menyimpan nama hari misalnya.
Pembuatan Variabel
Untuk pembuatan variabel dalam PHP, kombinasi sintaksnya adalah sebagai berikut:
<?php
Nilai variabel ini lah yang menentukan tipe data dari variabel itu sendiri. Jika anda
memasukkan angka, maka tipe datanya menjadi tipe data numeric (integer/float), jika anda
masukkan true/false maka jadinya adalah boolean, dan seterusnya.
Tipe data yang pertama adalah integer. Ia adalah tipe data yang digunakan untuk
menyimpan bilangan bulat.
<?php
$a = 10;
$b = 5;
$c = $a + 5;
$d = $b + (10 * 5);
$e = $d - $c;
var_dump($e);
Variable a: 10
Variable b: 5
Variable c: 15
Variable d: 55
Variable e: 40
int(40)
Untuk tipe data float, caranya sama saja dengan integer. Hanya saja, ia menerima data
desimal dengan angka . sebagai pembaginya.
<?php
$nilaiMatematika = 5.1;
$nilaiIPA = 6.7;
$nilaiBahasaIndonesia = 9.3;
# Tampilkan data
var_dump($rataRata);
Matematika: 5.1
IPA: 6.7
Rata-rata: 7.0333333333333
float(7.0333333333333)
Tipe data ini adalah tipe data yang paling simpel, akan tetapi butuh logika yang kuat untuk
bisa memanfaatkannya dengan benar.
<?php
$apakahSiswaLulus = true;
$apakahSiswaSudahUjian = false;
var_dump($apakahSiswaLulus);
PHP Dasar | 11
echo "<br>";
var_dump($apakahSiswaSudahUjian);
Output:
bool(true)
bool(false)
Tipe data string adalah tipe data yang digunakan untuk menyimpan teks. Semua teks
tersebut diapit oleh tanda petik satu ('') mau pun tanda pentik dua ("").
Pada contoh-contoh di atas, sebenarnya kita telah menggunakan tipe data ini ketika kita
memanggil fungsi echo yang diikuti setelahnya dengan teks.
Akan tetapi data string tersebut tidak kita simpan ke dalam sebuah variabel. Akan tetapi
langsung kita tampilkan dengan perintah echo.
Sekarang, saya akan beri contoh bagaimana membuat variabel, lalu mengisinya dengan
data string.
<?php
# petik dua
# anda juga bisa menggabungkan string dengan menggunakan tanda titik (.)
# [Tampilkan Data]
PHP Dasar | 12
# kita bisa memasukkan variabel lain jika menggunakan tanda petik dua
# ada pun jika pakai tanda petik satu, kita tidak bisa memasukkan variabel
echo $namaLengkap;
Output:
Ibnu Jakaria
Terdapat beberapa hal yang perlu dibahas terkait tipe data string. Seperti misalnya
memotong teks string, me-replace suatu kata dalam string, mengubah string menjadi
UPPERCASE atau menjadi lowercase, dan sebagainya.
Hal tersebut akan kita pelajari pada akhir-akhir tutorial PHP dasar ini pada
pembahasan: Belajar Memanipulasi String Dalam PHP.
Tipe data array berfungsi untuk menyimpan himpunan data. Himpunan data tersebut diapit
oleh tanda kurung siku ([]).
Sebagai contoh, saya memiliki 3 mahasiswa, dan saya ingin menyimpan ketiga nama
mahasiswa dalam variabel.
Maka saya bisa melakukan hal tersebut dengan menggunakan tipe data array sebagai
berikut:
<?php
Untuk mengakses isi dari variabel array, kita bisa menggunakan indeks. Indeks dimulai
dari 0. Sehingga jika saya akan menampilkan nama pertama dari variabel $listMahasiswa,
saya akan menggunakan indeks 0 seperti di bawah:
PHP Dasar | 13
<?php
Contoh di atas masih sangat sederhana sekali. Array merupakan tipe data yang cukup
kompleks. Kita tidak akan mempelajarinya sampai detil pada tahap ini agar tidak terlalu
membingungkan.
Sebagai gantinya, kita akan membahas lebih lanjut tentang array pada akhir-akhir
pertemuan Tutorial PHP Dasar ini pada pembahasan tentang: Bekerja Dengan Array Pada
PHP.
Hasil Akhir
Semua kode program di atas hanyalah potongan-potongan saja. Untuk kode program
secara utuh anda bisa lihat di bawah ini:
Pembahasan Selanjutnya
Pada pertemuan ini, kita telah mempelajari tentang pengertian tipe data, macam-macamnya
pada PHP. Kita juga telah mempelajari apa itu variabel, bagaimana cara pembuatannya,
peraturan penamaan dan sebagainya.
Tutorial ini adalah tutorial ke-3 dari seri Tutorial PHP Dasar. Pada tutorial sebelumnya kita
telah membahas tentang tipe data dan variabel dalam PHP. Pada pertemuan ini, kita akan
membahas tentang macam-macam operator dan contoh penggunaannya dalam PHP.
Kita telah mengerti apa itu variabel dengan berbagai macam tipe datanya. Akan tetapi
variabel saja tanpa adanya sentuhan lain, itu kurang bermanfaat.
Kita bisa memanipulasi variabel dengan berbagai cara menggunakan operator. Operator
berfungsi untuk berinteraksi dengan variabel, seperti misalnya menambahkan 2
variabel integer, atau mengalikan satu variabel dengan variabel lainnya. Semua itu
membutuhkan penggunaan operator.
Di dalam PHP, terdapat berbagai macam operator yang bisa kita gunakan. Kita akan
membahas beberapa operator yang paling dasar di dalam PHP dan juga bagaimana cara
penggunaannya.
Operator Aritmatika
Operator aritmatika adalah operator untuk menghitung operasi matematika dasar. Mulai dari:
penjumlahan (+)
pengurangan (-)
perkalian (*)
dan pembagian (/).
Bentuk paling sederhananya, ekspresi aritmatika terdiri dari dua buah operan dan satu buah
operator. Misalnya kita akan menjumlah kan angka 10 dan angka 5, kita bisa menulisnya
seperti berikut:
<?php
PHP Dasar | 15
$a = 10 + 5;
Tidak hanya 2 operan seperti contoh di atas. Di dalam PHP, kita juga bisa mendefinisikan
ekpsresi aritmatika yang lebih kompleks. Misalnya:
<?php
Selain operator aritmatika dasar yang telah disebutkan di atas, masih ada operator
aritmatika lainnya di dalam PHP. Operator tersebut adalah:
<?php
$a = 5;
$b = 10;
# modulus
# eksponensial
# negasi
5 + 10 = 15
5 - 10 = -5
5 * 10 = 50
5 / 10 = 0.5
5 % 10 = 5
5 ** 10 = 9765625
-a = -5
Operator penugasan dalam PHP adalah operator =. Kita telah menggunakan operator
tersebut sejak awal ketika mulai membuat variabel di dalam PHP.
<?php
$nilaiMatematika = 8;
$namaDepan = "Nurul";
$a = 5;
int(15)
int(-5)
int(-500)
int(-50)
Operator Perbandingan
Operator perbandingan digunakan untuk membandingkan antara dua nilai. Hasil yang
didapatkan dari operator perbandingan adalah suatu nilai dengan tipe data boolean,
yaitu true atau false.
Jika pernyataan perbandingannya benar, nilai yang dikembalikan adalah true. Dan jika
pernyataan perbandingannya salah, nilai yang akan didapatkan pun menjadi false.
Berikut adalah operator perbandingan yang bisa kita gunakan dalam PHP:
Simbol Keterangan
> Lebih dari
>= Lebih dari atau sama dengan
< Kurang dari
<= Kurang dari atau sama dengan
Berikut ini contoh penggunaan operator perbandingan pada PHP. Silakan dipraktikkan agar
bisa lebih paham.
<?php
PHP Dasar | 18
$nilai = 90;
# membanding variabel
var_dump($lulus);
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo '<br>';
echo '<br>';
Output:
90 > 80 = bool(true)
3 >= 3 = bool(true)
3 < 6 = bool(true)
5 <= 3 = bool(false)
Dalam PHP, selain perbandingan seperti di atas. Kita juga bisa menggunakan perbandingan
equal dan juga identik. Perbandingan equal tidak memperdulikan tipe data sehingga ia
menganggap sama antara 10 dan "10". Sedangkan perbandingan yang bersifat identik, ia
menganggap penting tipe data sehingga dua nilai akan dikatakan sama jika dia sama dari
sisi nilai dan sama dari sisi tipe datanya.
Simbol Keterangan
== sama secara equal
=== sama secara identik
!= tidak sama secara equal
!== tidak sama secara identik
<> sama dengan operator !=
Berikut ini kode program yang harus anda praktikkan agar lebih mudah memahami
perbedaan antara operator perbandingan == dan === atau antara operator != dan !==.
<?php
var_dump(10 == "10");
echo "<br>";
echo "<br>";
PHP Dasar | 20
echo "<br>";
var_dump(10 != "10");
echo "<br>";
echo "<br>";
echo "<br>";
Output:
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
Operator Logika
Operator logika membutuhkan dua operan dan satu operator. Operator yang paling sering
digunakan adalah operator and (&& / and), operator or (|| / or) dan operator negasi atau not
(!).
# negasi
$g = !true;
Output:
bool(true)
bool(true)
bool(false)
PHP Dasar | 22
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)
Operator increment (++) atau decrement (--) adalah jalan pintas dari operator += atau -
= yang telah berlalu penjelasannya pada bagian operator penugasan. Dan kedua operator
tersebut hanya berfungsi pada variabel saja.
Anda bisa mencoba kode program di bawah agar lebih jelas bagaimana cara kerja kedua
operator tersebut:
<?php
/**
* Increment
*/
$a = 1;
$a++;
$a++;
$b = $a++;
/**
* Decrement
*/
$a--;
$a--;
$b = $a--;
<?php
$a = 5;
--$a;
$b = --$a;
$c = ++$b;
Hasil Akhir
Hasil akhir dari tutorial ini bisa anda lihat pada kode program di bawah:
Ketika file operator.php saya eksekusi, berikut ini adalah output yang saya dapatkan:
Pembahasan Selanjutnya
Sampai disini, kita telah belajar tentang php file, variabel dan tipe data, macam-macam
operator.
Dan pada tutorial selanjutnya, kita akan mempelajari salah satu struktur kontrol pada PHP,
yaitu: Logika Percabangan dan Macam-Macamnya.
4. Logika Percabangan
Daftar Isi
o Struktur Kontrol
o Macam-Macam Percabangan Pada PHP
o Percabangan If
o Contoh Menampilkan Nilai Huruf Menggunakan If
o Hal-Hal yang dianggap true atau false
PHP Dasar | 25
Sampai sini kita telah belajar tentang php file, variabel dan tipe data, dan macam-macam
operator.
Pada tutorial kali ini, kita akan mempelajari tentang sesuatu yang sangat penting:
yaitu logika percabangan pada PHP.
Jika anda merasa tutorial ini bermanfaat, anda bisa membagikan seri tutorial belajar PHP
dasar ini ke teman-teman anda, rekan kerja, atau ke grup sosial media.
Struktur Kontrol
Kita telah mempelajari beberapa unsur dasar dalam PHP. Kita sudah bisa membuat
variabel, memanipulasinya dengan operator, mengetahui tipe datanya, dan juga kita bisa
menampilkannya dengan perintah echo.
Akan tetapi, program yang kita tulis sejauh ini masih sangat sederhana. Semua baris
berjalan begitu saja dari atas ke bawah. Nah, bagaimana jika kita akan menampilkan
sesuatu berdasarkan kondisi? Seperti misalnya: kita akan menampilkan string “lulus” jika
variabel $nilai lebih dari 70, dan kita akan menampilkan string “tidak lulus” jika nilainya di
bawah itu?
Itu lah fungsi control structure atau struktur kontrol. Struktur kontrol memungkinkan kita
untuk melakukan tindakan di luar alur default pengeksekusian program (yaitu dari atas ke
bawah). Dengan menggunakan struktur kontrol, kita bisa mengeksekusi sebagian kode
program, dan tidak mengeksekusi sebagian yang lain.
Di dalam PHP, terdapat dua jenis struktur kontrol: yaitu logika percabangan, dan juga blok
kode perulangan.
Dalam kesempatan ini kita akan mempelajari dan mempraktikkan logika percabangan pada
PHP. Ada pun pada tutorial selanjutnya, kita akan ambil pembahasan tentang perulangan.
Untuk struktur kontrol percabangan pada PHP, terdapat beberapa macam. Ada if else,
ada switch case, dan ada ternary. Dalam tutorial ini kita akan membahas ketiga jenis
percabangan tersebut.
Percabangan If
Jika suatu variabel atau suatu ekspresi logika bernilai true, maka proses yang ada di dalam
blok kode if akan dijalankan. Jika tidak, maka perintah/kode yang ada di dalam blok if tidak
akan dijalankan.
Contoh:
<?php
$lulus = true;
if ($lulus) {
Coba anda ganti variabel $lulus pada Kode 1 di atas menjadi false, lalu jalankan lagi
programnya.
Bagaimana jika ternyata kondisi yang didefinisikan di dalam if ternyata tidak terpenuhi alias
bernilai false?
Kita bisa menangani hal tersebut dengan membuat blok kode else. Kita ubah Kode 1 di atas
menjadi seperti berikut:
<?php
$nilai = 60;
} else {
echo "<br>";
$nilai = 60;
} else {
echo "<br>";
Sebagai contoh, kita akan menampilkan peringkat huruf berdasarkan variabel $nilai. Kondisi
yang akan kita gunakan adalah seperti pada Tabel 1.
PHP Dasar | 28
Perlu dipahami, bisa jadi PHP adalah bahasa pemrograman pertama yang anda
pelajari, sehingga anda masih beranggapan bahwa menulis kode program adalah
proses yang kaku. Bagaimana maksudnya? Yaitu anda beranggapan: untuk
membuat seperti ini caranya harus seperti ini, untuk membuat seperti itu, caranya
harus seperti itu.
Itu padangan yang salah, karena proses penulisan kode sangat bersifat fleksibel.
Tergantung dengan logika masing-masing penulisnya. Karena satu masalah yang
sama jika dikerjakan oleh orang yang berbeda, bisa menghasilkan solusi yang
berbeda pula.
<?php
$nilai = 56;
} else {
Coba ubah isi dari variabel $nilai lalu refresh halaman web untuk memeriksa apakah
pengkondisian yang kita buat sudah benar atau tidak.
<?php
$nilai = 0;
if ($nilai) {
} else {
Kode 5: numeric bernilai 0 dianggap false dan selain itu maka dianggap true
PHP Dasar | 30
Anda bisa mengganti isi dari variabel $nilai menjadi angka negatif mau pun positif dan lihat
seperti apa hasilnya.
String kosong juga dianggap akan dianggap false, dan string yang tidak kosong akan
dianggap true.
<?php
$nama = "";
if ($nama) {
} else {
Coba ganti isi dari variabel $nama menjadi nilai string yang lain, lalu lihat seperti apa
hasilnya.
<?php
$nilai = null;
if ($nilai) {
} else {
}
PHP Dasar | 31
if (@$namaLengkap) {
echo "Jika variabel namaLengkap telah didefinisikan sebelumnya dan ia bukan 0 atau
} else {
Ini membuat program kita tidak error, karena menampilkan atau menggunakan sebuah
variabel yang sebelumnya tidak pernah didefinisikan akan menyebabkan error.
Percabangan yang kedua adalah switch .. case. Ini adalah alternatif yang bisa kita gunakan
untuk memecahkan permasalahan logika dalam PHP.
<?php
$url = '/about';
switch ($url) {
case '/':
break;
case '/about':
PHP Dasar | 32
break;
case '/contact':
break;
default:
echo '<br>';
Silakan anda ubah nilai dari variable $url pada Kode 7 di atas, lalu refresh halaman web.
Dan lihat apakah percabangan kita dengan switch case telah berfungsi dengan benar atau
tidak.
<?php
$url = '/about';
switch ($url) {
case '/':
case '/about':
case '/contact':
default:
echo '<br>';
Kita telah memiliki kondisi peringkat nilai huruf pada Tabel 1 di atas. Kita juga telah
menyelesaikannya menggunakan if else.
Bagaimana caranya?
Serius?
Ya!
Karena switch ... case hanya menerima satu variabel saja, dan ia hanya mengeksekusi
setiap case dengan nilai yang sesuai.
Ternary
<?php
PHP Dasar | 34
$nilai = 50;
} else {
echo "<br>";
<?php
$nilai = 50;
echo $nilai > 70 ? "Selamat, anda lulus!" : "Mohon maaf, anda harus mengulang";
Anda juga bisa menggunakannya untuk mengisi sebuah nilai ke dalam variabel seperti
pada Kode 10 berikut:
<?php
$nilai = 50;
$pesan = $nilai > 70 ? "Selamat, anda lulus!" : "Mohon maaf, anda harus mengulang";
PHP Dasar | 35
<?php
Menjadi:
<?php
Ketika anda memiliki logika yang cukup rumit. Melibatkan lebih dari satu variabel
atau juga membutuhkan ekspresi logika yang panjang, maka gunakanlah if.
Ketika anda memiliki blok if sederhana yang hanya terdiri dari if dan else saja, anda
bisa menggunakan ternary untuk mengubah kode anda menjadi lebih singkat.
Sejujurnya saya pribadi sangat jarang sekali menggunakan switch case. Anda bisa
menggunakan switch case jika cabang pengkondisian anda hanya melibatkan satu
variabel saja dan tidak mengandung operator logika semisal lebih dari ( >) atau
kurang dari (<) dan sebagainya.
Kesimpulan
Di dalam PHP, terdapat dua jenis struktur kontrol: yaitu logika percabangan, dan juga blok
kode perulangan.
Untuk logika percabangan, terdapat dua jenis utama: yaitu if .. else dan switch .. case. Juga
ada alternatif lain seperti ternary dan null colleasing operator yang kesemuanya telah kita
dalam artikel ini.
Pembahasan Selanjutnya
Pada tutorial selanjutnya, kita masih berada dalam pembahasan struktur kontrol pada PHP.
Dan yang akan kita bahas adalah: Struktur Kontrol Blok Perulangan.
5. Perulangan
Daftar Isi
o Struktur Kontrol
o Fungsi Perulangan
o Jenis-Jenis metode perulangan pada PHP
o Perulangan for
o Perulangan while
o Perulangan do while
o Perulangan Foreach
o Perulangan Rekursif
o Pembahasan Selanjutnya
Struktur Kontrol
Di tutorial kali ini, kita akan membahas jenis lain dari struktur kontrol pada PHP: yaitu
perulangan.
PHP Dasar | 37
Fungsi Perulangan
Pada tutorial tentang variabel PHP, kita telah mencoba membuat array lalu menampilkan
salah satu item dari array tersebut dengan menggunakan indeks.
Nah, pertanyaannya, jika array tersebut memiliki ratusan atau ribuan item, bagaimana kita
akan menampilkannya?
Apakah kita akan menulis perintah echo sebanyak jumlah item pada array tersebut?
Oke, itu kalau kita tahu jumlah item pada array tersebut. Kalau tidak tahu, bagaimana?
Dengan blok kode perulangan, kita bisa membuat suatu statement atau perintah dalam PHP
dengan satu kali tulis. Untuk kemudian kita biarkan sistem yang akan menjalankannya
berulang kali.
Sebelum menjawab pertanyaan tersebut. Kita ketahui dulu bahwa di dalam PHP, terdapat
beberapa metode perulangan yang bisa kita gunakan. Mulai dari:
PHP Dasar | 38
perulangan for
perulangan while
perulangan do-while
perulangan foreach
purulangan rekursif
Perulangan for
Perulangan for adalah perulangan yang paling simpel. Kita bisa menggunakan metode ini
dengan menentukan jumlah perulangan yang kita inginkan. Misalkan saya ingin
menampilkan tulisan “Saya berjanji tidak akan mengulangi” sebanyak 100x, saya bisa
melakukannya seperti ini:
<?php
Penjelasan:
<?php
<?php
<?php
<?php
<?php
}
PHP Dasar | 40
echo "<br>";
Menampilkan Array
Kita juga bisa menampilkan seluruh isi dari suatu array menggunakan perulangan for.
<?php
<?php
if ($i % 10 === 0) {
Contoh di atas akan men-skip pada setiap kelipatan 10. Dan dia juga akan berhenti secara
paksa sebelum variabel $i kurang dari atau sama dengan 50.
Dengan mempraktikkan contoh-contoh di atas, kita sekarang sudah memahami dan juga
punya gambaran yang jelas tentang bagaimana cara kerja perulangan for di dalam bahasa
pemrograman PHP.
Perulangan while
Ia hampir sama dengan for. Akan tetapi ia lebih ditujukan untuk kasus-kasus di mana kita
tidak mengetahui secara pasti ada berapa jumlah perulangan yang harus dilakukan.
Contohnya adalah: ketika kita membuat game seperti Flappy Bird, maka kita akan selalu
menggambar pipa baru selama user belum mati.
Kondisi “selama user belum mati”, membuat kita tidak benar-benar tahu berapa kali pipa
baru akan di-generate dan ditampilkan pada layar. Bisa jadi 100 kali, 500 kali atau bahkan
hanya 3 kali saja.
Nah, dalam kasus-kasus yang tidak jelas seperti itu, perulangan yang cocok untuk kita
gunakan adalah perulangan while.
<?php
$i = 0;
$i++;
Penjelasan:
Contoh berikut akan menampilkan nilai $i selama ia bukan kelipatan 3. Dan kita akan
mengubah nilai $i secara random pada setiap perulangan dilakukan.
Silakan praktikkan kode berikut, lalu refresh halaman berkali-kali (kita tidak tahu berapa kali
sistem akan melakukan perulangan yang kita minta).
<?php
$i = 1;
$i = rand(1, 100);
Dengan perulangan while, kita bisa memerintahkan sistem untuk melakukan perulangan
tanpa batas.
Bagaimana bisa? Itu bisa terjadi jika ekspresi boolean yang kita tulis selalu bernilai true.
Entah nilai true secara langsung, atau nilai true yang tidak langsung misalkan ekspresi: 1 >
0 (satu lebih dari nol).
<?php
while (true) {
<?php
$i = 1;
if ($i % 5 === 0) {
# jangan lupa di-random dulu agar tidak terjadi perulangan tanpa batas
$i = rand(1, 500);
continue;
break; # jika $i bernilai lebih dari 50 dan kurang dari 60 maka stop paksa
PHP Dasar | 44
$i = rand(1, 500);
Perulangan do while
Apa konsekuensinya?
Pada while, jika kondisi pertama kali bernilai false, perulangan tidak akan dieksekusi
sama sekali.
Sedangkan pada do...while, perulangan akan tetap dilakukan satu kali jika kondisi
pertama sudah bernilai false.
<?php
while (false) {
do {
} while (false);
PHP Dasar | 45
Sedangkan dalam perulangan do ... while, perintah tersebut akan dieksekusi terlebih dahulu,
baru setelah itu ia akan mengevaluasi kondisi boolean, jika true dia akan melakukan
perulangan selanjutnya, dan jika tidak, dia akan berhenti.
Perulangan Foreach
Kita bisa melakukan perulangan pada setiap elemen array tanpa harus tahu berapa panjang
dari array itu sendiri.
Sintaksnya ada dua versi, kita bisa menggunakan yang mana saja sesuai dengan
kebutuhan.
Sintaks singkat
<?php
Penjelasan:
Kelebihan menggunakan foreach:
Sintaks lengkap
<?php
Penjelasan:
Kelebihan:
Dengan menggunakan sintaks lengkap, kita bisa mengetahui urutan iterasi dari
perulangan yang sedang dilakukan.
Sehingga kita bisa memanfaatkannya untuk proses pengkondisian tertentu.
Perulangan Rekursif
Jenis perulangan terakhir yang bisa kita gunakan dalam bahasa pemrograman PHP adalah:
perulangan rekursif.
Semua metode perulangan yang telah kita coba di atas adalah metode perulangan iteratif.
Sifatnya sama: yaitu melakukan perulangan pertama, kedua, ketiga, dan seterusnya.
Berbeda dengan perulangan rekursif yang memiliki cara kerja yang sangat berbeda.
Sebagai ilustrasi, bayangkan kita memiliki 2 buah cermin. Lalu kita letakkan 2 cermin
tersebut saling berhadapan.
Apa yang akan terjadi? Bayangan yang dihasilkan akan saling berpantulan tanpa akhir,
bukan?
PHP Dasar | 47
Atau, sebagai ilustrasi yang lain: misalkan kita me-remote komputer yang sedang me-
remote kita dengan Team Viewer. Kita akan mendapatkan hasil yang kira-kira seperti efek
cermin tadi:
Pembahasan Selanjutnya
Pada tutorial selanjutnya, insyaallah kita akan membahas tentang Fungsi. Fungsi adalah
suatu kumpulan baris kode untuk melakukan suatu tugas tertentu. Yang mana tugas
tersebut bisa kita eksekusi berkali-kali di banyak tempat yang berbeda.
Lebih jelasnya: langsung saja buka pembahasan tentang Belajar Fungsi pada PHP.
o Pengertian Fungsi
PHP Dasar | 48
Kita masih berada di seri tutorial belajar php dasar. Kita telah mempelajari beberapa unsur
penting pada PHP: mulai dari variabel dan tipe data, macam-macam operator,
hingga control structure pada PHP.
Pengertian Fungsi
Fungsi adalah suatu kumpulan blok kode, yang menerima suatu inputan, melakukan satu
tugas tertentu, dan secara opsional ia bisa mengembalikan suatu nilai. Dalam tutorial-tutorial
sebelumnya, kita telah mencoba beberapa fungsi bawaan php seperti var_dump dan count.
PHP memang sudah datang dengan berbagai macam fungsi untuk memudahkan pekerjaan
kita. Akan tetapi kita tetap bisa membuat fungsi sendiri, untuk menyelesaikan tugas-tugas
tertentu sehingga kita bisa menggunakan fungsi tersebut tanpa harus menulis kode program
berulang-ulang.
Mendefinisikan fungsi baru pada PHP berarti kita menuliskan suatu tugas tertentu, yang bisa
kita eksekusi kemudian.
Fungsi pada PHP memiliki nama, dan juga bisa menerima parameter.
<?php
function namaFungsi () {
Peraturan pemberian nama fungsi, sama dengan nama variabel. Hanya saja ia tidak bisa
menggunakan nama fungsi yang sama seperti fungsi bawaan php seperti
misalnya var_dump, empty, count, dan lain-lain. Kita juga tidak bisa mendefinisikan satu
nama fungsi yang sama sebanyak 2 kali.
PHP Dasar | 49
Contoh yang lain, berikut ini adalah fungsi yang bertugas untuk menampilkan teks
dengan echo.
<?php
function sapaPengunjung () {
Di atas, kita telah membuat satu fungsi dengan nama sapaPengunjung(). Kita juga telah
mendefinisikan tugas apa yang harus fungsi tersebut lakukan.
Caranya sangat mudah, kita tinggal menulis nama fungsi tersebut lalu diiringi dengan tanda
kurung () setelahnya.
<?php
sapaPengunjung();
Kita sudah singgung pada bagian pengertian fungsi, bahwa fungsi pada PHP bisa menerima
suatu nilai atau input. Nilai atau input tersebut, kita katakan sebagai parameter fungsi.
Parameter fungsi adalah suatu nilai yang kita lempar kedalam sebuah fungsi, nilai tersebut
bisa berupa apa saja. Bisa berupa string, boolean, integer, bahkan ia juga bisa berupa
fungsi yang lainnya (bagian ini insyaallah kita bahas pada tutorial fungsi bagian 2).
Sebagai contoh, kita akan mengubah fungsi sapaPengunjung() yang telah kita buat di atas.
<?php
Dan saat memanggil fungsi tersebut, kita harus memasukkan parameter yang diminta. Kalau
tidak, maka PHP akan menampilkan pesan error.
<?php
sapaPengunjung("Nurul Huda");
Kita juga bisa memanggil fungsi yang telah kita buat tersebut berkali-kali, bahkan juga
dengan parameter yang berbeda-beda!
<?php
sapaPengunjung("Nurul Huda");
sapaPengunjung("Ibnu Zakariyya");
sapaPengunjung("Anshori Akbar");
Kita telah mencoba fungsi dengan satu parameter. Sebenarnya, kita juga bisa
mendefinisikan lebih dari satu parameter.
Misal pada fungsi sapaPengunjung() di atas, kita akan memberikan ucapan khusus bagi
pengunjung yang telah telah mengunjungi situs kita lebih dari 10 kali.
Bagaimana kita tahu bahwa pengunjung tersebut telah mengunjungi lebih dari 10 kali? Kita
akan menambahkan parameter ke-2, yaitu jumlah kunjungan.
<?php
echo "<p>Kami memiliki hadiah ebook gratis untuk anda karena anda telah mengunjungi
<?php
Kita telah membuat fungsi yang menerima 2 buah parameter. Parameter pertama kita beri
nama $nama, ia dimaksudkan untuk menerima tipe data string. Dan parameter kedua kita
beri nama $jumlahKunjungan, ia dimaksudkan untuk menerima tipe data integer.
Akan tetapi.
Jika kita mau perhatikan, sebenarnya kita bisa memasukkan tipe data apa pun di situ.
Bisa string, integer, boolean, dan sebagainya.
<?php
Itu terjadi karena kita tidak membatasi tipe data apa yang harus dimasukkan ketika
memanggil fungsi sapaPengunjung.
Tentu saja dengan memasukkan parameter dengan tipe data yang tidak sesuai keinginan,
akan membuat fungsi yang telah kita buat tersebut menjadi bekerja tidak seperti yang kita
harapkan.
Akan tetapi tenang saja. Karena sejak PHP 7, kita bisa membatasi dan menentukan tipe
data untuk masing-masing parameter pada fungsi yang kita buat.
PHP Dasar | 52
<?php
# ...
Coba anda lakukan perintah berikut dan perhatikan pesan error yang anda dapatkan:
<?php
Parameter Default
Terkadang kita ingin bahwa suatu fungsi memiliki parameter opsional atau parameter yang
tidak wajib diisi. Seperti untuk me-resize gambar, kita mungkin akan membuat fungsi
dengan nama resize() yang menerima tiga parameter: yaitu
parameter $urlGambar, $lebar dan $tinggi.
Akan tetapi yang kita inginkan, parameter $tinggi ini opsional, tidak wajib diijisi. Jika
variabel $tinggi tidak diisi, maka otomatis gambar akan di-resize sesuai dengan ukuran
rasionya.
Untuk melakukan hal tersebut, kita bisa melakukan kurang lebih seperti ini:
<?php
if (!$tinggi) {
} else {
<?php
echo "<p>Kami memiliki hadiah ebook gratis untuk anda karena anda telah mengunjungi
Pembahasan Selanjutnya
Anda bisa istirahat sebentar sambil menyeduh kopi karena pembahasan kita tentang fungsi
masih belum selesai. Kita masih memiliki dua part lagi.
o Arrow Function
o Pembahasan Selanjutnya
Pada tutorial kali ini, kita masih dalam pembahasan fungsi. Kita akan mempelajari
tentang return function, fungsi anonim, callback dan juga arrow function.
Dan insyaallah pada tutorial selanjutnya akan ada pembahasan fungsi bagian ke-3 yang
akan membahas tentang perulangan rekursif.
Untuk fungsi yang tidak mengembalikan nilai, sudah kita pelajari pada tutorial fungsi bagian
1.
Sedangkan fungsi yang mengembalikan nilai, ia adalah suatu fungsi yang jika dipanggil, dia
akan mengembalikan suatu nilai tertentu yang bisa kita simpan pada variabel.
Berikut ini adalah contoh beberapa fungsi bawaan PHP yang mengembalikan suatu nilai
tertentu:
<?php
$panjangA = count($a); # 3
$passwordTerenkripsi = md5('12345');
PHP Dasar | 55
var_dump($apakahVariabelABernilaiNull);
echo "<br>";
var_dump($apakahVariabelABertipeArray);
echo "<br>";
var_dump($panjangA);
echo "<br>";
var_dump($passwordTerenkripsi);
echo "<br>";
Misalkan kita akan membuat suatu fungsi untuk menghitung volume balok dengan
rumus: panjang * lebar * tinggi.
Dan ketika fungsi tersebut dipanggil, ia akan mengembalikan hasil perhitungan rumus
volume balok berdasarkan tiga parameter yang kita lemparkan.
<?php
return $luasBalok;
}
PHP Dasar | 56
Atau bisa kita singkat dengan langsung me-return hasil kali dari kesemua parameter:
<?php
Saat memanggil fungsi tersebut, kita bisa menyimpan nilai yang dikembalikan ke dalam
sebuah variabel, atau kita juga bisa lakukan untuk hal yang lainnya semisal menjadikan hasil
kembaliannya sebagai parameter untuk fungsi yang lain.
<?php
Kita bisa memperjelas tipe data kembalian fungsi dengan menambahkan sintaks : lalu diikuti
setelahnya oleh tipe data yang kita inginkan.
<?php
return $p * $l * $t;
Jika anda berusaha untuk mereturn selain float, maka PHP akan menyatakan statemen
tersebut sebagai error.
PHP Dasar | 57
Dari yang telah kita pelajari, kita tahu bahwasanya fungsi pada PHP harus memiliki nama.
Peraturan penamaannya kurang lebih sama dengan penamaan variabel, hanya saja kita
tidak bisa memberi nama fungsi kita dengan nama yang telah digunakan oleh PHP sebagai
fungsi bawaan.
<?php
# kode program
Akan tetapi di dalam PHP, terdapat anonymous function alias fungsi tanpa nama. Kita bisa
mendefinisikan suatu fungsi tanpa nama dan menaruhnya di dalam variabel, atau bahkan
kita bisa menjadikannya sebagai parameter pada fungsi yang lain.
<?php
};
Seperti yang telah kita coba di atas: bahwa fungsi anonim bisa kita simpan pada suatu
variabel.
Logikanya, sesuatu yang bisa disimpan pada variabel, ia juga bisa kita gunakan sebagai
parameter pada suatu fungsi.
Sekarang kita akan mencoba untuk membuat suatu fungsi, yang mana fungsi tersebut
menerima fungsi anonim sebagai salah satu parameternya.
Silakan praktikkan contoh kode program berikut dengan perlahan. Saya sudah memberikan
komentar pada setiap baris kode yang penting agar lebih mudah dipahami.
<?php
/**
* Fungsi ini untuk melakukan foreach pada setiap item pada array.
* Lalu parameter ke-2 adalah fungsi anonim untuk menangani item array
*/
# di sini kita tidak tahu fungsi anonim ini tugasnya seperti apa
# sebagai parameter 2
});
echo "{$nama}";
});
echo "<br>";
Inti callback adalah sebuah fungsi anonim yang dijadikan parameter pada fungsi yang lain
(seperti yang sudah kita praktikkan di atas). Akan tetapi pada penggunaannya,
umumnya callback adalah sesuatu yang dilakukan setelah suatu tugas tertentu telah selesai.
<?php
# save to database
# ...
PHP Dasar | 60
$callback();
saveToDatabase($dataInvoice, function () {
kirimNotifikasiViaEmail();
});
Kode program di atas hanya sekedar contoh. Ketika anda semakin mendalami PHP dan
mulai menggunakan framework tertentu, anda akan terbiasa dengan penggunaan calback.
Arrow Function
Arrow function adalah fitur baru yang ada pada PHP 7.4. Ia merupakan versi singkat dari
sintaks fungsi anonim yang mereturn sebuah nilai tertentu.
Arrow function sendiri sudah populer di bahasa pemrograman lain semisal javascript dan
juga di java (kalau tidak salah sejak versi 8).
Akan tetapi di PHP, arrow function hanya sederhana sekali, ia hanya support satu baris
ekspresi saja. Sehingga untuk tugas yang kompleks, kita tetap harus menggunakan sintaks
fungsi anonim konvensional.
<?php
$faktor = 10;
return $n * $faktor;
}, $himpunanAsli);
var_dump($himpunanAsli);
PHP Dasar | 61
echo "<br>";
var_dump($himpunanKelipatan10);
Kita bisa mengubahnya ke dalam versi arrow function yang hanya satu baris saja:
<?php
$faktor = 10;
var_dump($himpunanAsli);
echo "<br>";
var_dump($himpunanKelipatan10);
Arrow function juga menggunakan scope variabel parent-nya, sehingga kita tidak perlu
menggunakan perintah use($variable) untuk menggunakan variable dari scope yang berada
di luar fungsi.
Pembahasan Selanjutnya
Pembahasan kita tentang fungsi sudah semakin advanced. Sehingga sekarang kita sudah
memiliki cukup banyak senjata untuk bisa menggunakan bahasa pemrograman PHP.
Pada pembahasan selanjutnya, kita masih akan membahas tentang fungsi bagian ke-3,
yaitu tentang fungsi rekursif –Insyaallah–.
Ia adalah metode perulangan dengan mengeksekusi suatu fungsi, yang mana fungsi
tersebut akan memanggil dirinya sendiri.
Bagaimana caranya?
Daftar Isi
Ini adalah pembahasan fungsi bagian ke-3 dari seri tutorial belajar PHP 7. Kita telah
mempelajari tentang fungsi mulai dari cara pendeklarasiannya, cara memanggilnya,
parameter pada fungsi, fungsi anonim, callback dan arrow function.
Pada pertemuan kali ini, yang akan kita pelajari adalah mengenai fungsi rekursif.
Kita telah menyinggung tentang fungsi rekursif pada pembahasan konsep perulangan pada
PHP.
Fungsi rekursif adalah metode perulangan yang terjadi akibat pengeksekusian suatu fungsi
yang mana fungsi tersebut memanggil dirinya sendiri. Bisa jadi ia terus memanggil dirinya
sendiri tanpa batas, atau mungkin dia akan berhenti jika kondisi tertentu terpenuhi.
Ilustrasinya adalah: seperti anda memiliki 2 buah cermin. Anda letakkan kedua cermin
tersebut sedemikian rupa hingga saling berhadapan. Lalu anda coba berdiri di depannya,
dan ya! Anda akan melihat pantulan diri anda tidak terbatas.
Ilustrasi yang lainnya adalah: PC anda sedang di-remote oleh PC lain. Lalu anda meremote
PC yang sedang meremote PC anda, al-hasil anda akan melihat PC anda berkali-kali tanpa
ujung seperti pada gambar berikut:
PHP Dasar | 63
Tidak ada cara khusus dalam pendeklarasian fungsi rekursif. Ia hanyalah fungsi biasa.
Sama saja apakah ia adalah fungsi yang mengembalikan sebuah nilai atau tidak.
Yang membedakan adalah: ia akan memanggil dirinya sendiri sehingga terjadilah suatu
perulangan.
Contoh:
<?php
function tampilkanHaloDunia () {
tampilkanHaloDunia();
tampilkanHaloDunia();
Dan ia tentu saja akan membuat komputer anda hank. Jadi, jangan coba-coba dilakukan,
ya!
Untuk menampilkan angka 1 sampai 100, kita bisa dengan mudah menggunakan
perulangan for seperti berikut:
<?php
Akan tetapi jika anda ingin menggunakan konsep fungsi rekursif untuk menjalankan tugas
yang sama, anda perlu sedikit berfikir.
<?php
<?php
PHP Dasar | 65
<?php
tampilkanAngka(20);
Sekarang untuk menguji pemahaman, kita coba balik kode program pada
fungsi tampilkanAngka.
Jika kita melakukan proses rekursif setelah perintah echo, sekarang kita balik: kita lakukan
proses rekursif terlebih dahulu, setelah itu kita lakukan perintah echo.
Seperti ini:
<?php
}
PHP Dasar | 66
Perulangan ke-20
Perulangan ke-19
Perulangan ke-18
Perulangan ke-17
...
Perulangan ke-4
Perulangan ke-3
Perulangan ke-2
Perulangan ke-1
Kalau masih agak bingung, silakan ubah kode program di atas menjadi seperti ini:
<?php
</strong><br>";
} else {
Proses terakhir.
</strong><br>";
</strong><br>";
Sekarang saya hanya panggil dengan parameter $jumlah = 5 agar tidak terlalu outputnya
lebih ringkas:
<?php
tampilkanAngka(5);
Output:
Sampai sini, sudah mulai jelas bagaimana proses dan alur fungsi rekursif bekerja.
Selanjutnya kita coba contoh kasus paling populer dalam penggunakan metode perulangan
rekursif.
Kasus tersebut adalah kasus pemecahan faktorial. Dimana faktorial dari n sama dengan n *
faktorial(n-1).
Misalkan faktorial dari angka 5, maka kita bisa sederhanakan caranya seperti ini:
faktorial(5) = 5 * faktorial(4)
faktorial(4) = 4 * faktorial(3)
faktorial(3) = 3 * faktorial(2)
faktorial(2) = 2 * faktorial(1)
faktorial(1) = 1
faktorial 5 = 5 * 4 * 3 * 2 * 1
# hasil = 120
Penyelesaian
Dengan rumus seperti di atas, kita bisa mulai memecahkannya dengan fungsi rekursif.
<?php
PHP Dasar | 69
if ($n > 2) {
faktorial($n - 1);
# panggil
faktorial(5);
faktorial(5) = faktorial(4)
faktorial(4) = faktorial(3)
faktorial(3) = faktorial(2)
faktorial(2) = faktorial(1)
Setelah kita berhasil mendapatkan perulangan yang benar, kita ubah fungsi faktorial di atas
dengan mengembalikan suatu nilai seperti berikut:
<?php
if ($n > 2) {
} else {
return $n;
}
PHP Dasar | 70
$hasil = faktorial(5);
echo $hasil;
Jika anda menjalankan program di atas lalu output hasilnya adalah 120, berarti program
anda telah berjalan dengan benar.
Silakan perhatikan kode program di bawah. Karena selanjutnya kita akan coba menampilkan
semua item dari array $menu menggunakan fungsi rekursif.
<?php
$menu = [
],
"subMenu" => [
"subMenu" => [
],
],
],
],
],
],
];
<?php
echo "<ul>";
echo "<li>{$item['nama']}</li>";
echo "</ul>";
<?php
tampilkanMenuBertingkat($menu);
Beranda
Berita
Tentang
Kontak
Sekarang kita buat fungsi di atas menjadi rekursif dengan memanggil dirinya sendiri ketika
suatu item dari menu memiliki attribut subMenu.
<?php
echo "<ul>";
echo "<li>{$item['nama']}</li>";
tampilkanMenuBertingkat($item['subMenu']);
}
PHP Dasar | 73
echo "</ul>";
Kita coba jalankan lagi dan… ya! Kita berhasil mendapatkan hasil seperti ini:
Beranda
Berita
o Olahraga
Bola
Bulu Tangkis
o Politik
o Manca Negara
Tentang
Pembahasan Selanjutnya
Dengan selesainya tutorial ini, berarti kita telah selesai dengan pembahasan Fungsi pada
PHP.
Jika anda merasa seri tutorial php dasar ini bermanfaat, silakan bagikan kepada yang
lainnya.
9. Manipulasi String
Daftar Isi
o Merangkai String
o Escape Character
o Panjang Karakter String
o Menghitung Jumlah Kata
o Memotong String
o Uppercase
o Lowercase
PHP Dasar | 74
o Membalik String
o Pencarian String
o Replace Karakter String
o Pembahasan Selanjutnya
Kita telah mempelajari bagian-bagian penting dari PHP. Mulai dari apa itu PHP file, variabel
dan tipe data, logika percabangan, perulangan, macam-macam operator pada PHP,
hingga fungsi yang telah kita pelajari sebanyak 3 bagian.
Pada kesempatan kali, kita akan melanjutkan kembali pelajaran kita di Tutorial PHP
Dasar ini. Ada pun materi yang akan kita ambil adalah: manipulasi string.
Di dalam bahasa pemrograman PHP, kita bisa melakukan banyak hal dalam rangka
memanipulasi string. Sekarang, kita akan coba hal-hal yang sekiranya penting untuk
diketahui terkait bekerja menggunakan string di PHP.
Merangkai String
Untuk merangkai string dalam PHP, kita bisa menggunakan tanda petik satu mau pun tanda
petik dua. Keduanya hampir sama akan tetapi cara kerjanya sedikit berbeda.
Tanda petik dua akan mengisi variabel dengan nilai aslinya, ada pun dengan tanda petik
satu, kita tidak bisa melakukan hal tersebut.
Pada seri tutorial PHP ini, kita telah mencoba keduanya di tempat yang berbeda berkali-kali.
<?php
# ketika di-echo
Jika anda eksekusi potongan kode program di atas, anda akan mendapati bahwa isi dari
variabel $pesan berbeda dengan isi pada variabel $pesan2.
Untuk merangkai string pada PHP, kita bisa menggunakan menggunkan operator ..
<?php
$namaDepan = "Nurul";
$namaBelakang = "Huda";
<?php
$namaLengkap = "Nurul";
Kita harus jeli dalam menggunakan tipe data dan operator. Karena jika kita salah, alih-alih
mendapatkan hasil yang kita inginkan, kita justru mendapatkan sesuatu yang tidak
terprediksi.
<?php
PHP Dasar | 76
$i = 5;
Kenapa?
Karena di situ kita menggunakan tanda +. Sedangkan PHP akan menyelesaikan ekspresi di
atas secara berurutan dari kiri kenan, sehingga:
<?php
$i = 5;
Escape Character
Selanjutnya adalah escape character. Ia adalah karakter-karakter khusus yang tidak bisa
ditampilkan secara langsung, melainkan harus diikuti dengan tanda \.
PHP Dasar | 77
String yang dirangkai dengan tanda petik dua akan mengganti escape character dengan
karakter yang merepresentasikannya. Hal ini berbeda dengan string yang dirangkai dengan
tanda petik satu. Yang mana ia hanya akan menampilkan apa adanya tanpa mereplace apa
pun dengan apa pun (kecuali sedikit kasus).
Kode Keterangan
\n Baris baru
\r Karakter carriage-return
\t Karakter tab
\$ Karakter $ itu sendiri
\" Untuk menampilkan tanda petik dua
\\ Untuk menampilkan tanda slash \ itu sendiri
Agar lebih mudah untuk dipahami, anda bisa eksekusi kode program berikut:
<?php
echo "Katakanlah \"Tidak pada narkoba!\" <br>"; # Katakanlah "Tidak pada narkoba!"
echo 'Katakanlah \'Tidak pada narkoba!\' <br>'; # Katakanlah 'Tidak pada narkoba!'
Dari kode program di atas, kita bisa mengetahui perbedaan antara tanda petik dua dan
tanda petik satu dari segi cara kerjanya menangani escape string.
Untuk mengetahui panjang karakter dari sebuah string, kita bisa menggunakan fungsi
bawaan PHP bernama strlen().
<?php
echo "<p>{$loremIpsum}</p>";
Untuk menghitung jumlah kata dalam suatu string, kita bisa menggunakan fungsi bawaah
PHP bernama str_word_count().
<?php
Memotong String
Terkadang kita butuh untuk memotong sebuah string yang panjang. Misal kita hanya
membutuhkan 200 karakter pertama dari suatu artikel, atau kita membutuhkan 10 karakter
terakhir dari sebuah artikel, maka kita bisa melakukan itu semua menggunakan fungsi
bawaan PHP bernama substr().
3. length: panjang karakter yang akan dipotong. Ini bersifat opsional. Jika tidak
didefinisikan, ia akan mengambil sisa panjang string.
Contoh:
<?php
Uppercase
Di dalam PHP, kita bisa mengubah semua karakter dari suatu string ke dalam
bentuk uppercase dengan fungsi bawaan bernama strtoupper().
<?php
Lowercase
Sebaliknya untuk mengubah semua karakter pada suatu string menjadi lowercase, kita bisa
menggunakan perintah strtolower().
<?php
Membalik String
Ketika mempelajari algoritma pemrograman atau pun struktur data, mungkin kita akan
mendapatkan tugas untuk membalikan suatu teks string. Tugas tersebut harus kita
PHP Dasar | 80
selesaikan dengan menggunakan perulangan mundur. Bagi pemula, tugas seperti ini cukup
melatih logika.
Akan tetapi, kebanyakan bahasa pemrograman sudah datang dengan fungsi bawaan untuk
membalikkan string sehingga kita tidak perlu repot-repot untuk membuatnya sendiri.
Di dalam PHP, untuk membalikkan sebuah teks string, kita bisa menggunakan
perintah strrev().
<?php
Pesan di atas akan membalik semua karakter: yang depan menjadi di belakang, yang
belakang menjadi di depan sehingga string "saya sudah makan" menjadi "nakam hadus
ayas".
Ada pun untuk membalik string per kata, kita bisa melakukan hal berikut:
<?php
Perintah di atas akan mengubah teks “saya sudah makan” menjadi “ayas hadus nakam”.
Penjelasan:
Pencarian String
Kedua fungsi tersebut akan mengembalikan indeks dari kata kunci yang kita cari. Apabila
kata kunci yang kita cari dalam suatu string ternyata tidak ada, ia akan mengembalikan nilai
boolean false.
<?php
Jalankan perintah di atas agar semakin mudah mendapatkan gambaran cara kerjanya.
Yang terakhir dalam pembahasan kita kali ini adalah: me-replace karakter dari suatu string.
Misalkan kita memiliki variabel $judulBerita seperti pada kode program di atas. Lalu kita
ingin ubah kata “membeli” menjadi “menjual”. Kita bisa menggunakan
fungsi str_replace bawaan PHP.
<?php
Pembahasan Selanjutnya
Kita telah selesai mempelajari beberapa hal penting yang bisa kita lakukan berkaitan
dengan string pada PHP. Mulai dari cara merangkai string, escape character, cara
membalikkan string, me-replace, dan sebagainya.
Sekarang kita bisa ambil rehat sejenak. Menyeduh kopi. Sambil membaca-baca lagi tutorial
yang telah kita pelajari agar kita tidak lupa.
Dan pada pertemuan yang akan datang, insyaallah kita akan membahas tentang Bekerja
Dengan Array Pada PHP.
Jika anda menyukai tutorial PHP dasar ini, jangan lupa share kepada yang lainnya, ya!
Terima kasih banyak.
Selamat datang kembali di lanjutan tutorial belajar PHP Dasar. Setelah kita belajar
tentang cara memanipulasi string dalam PHP, pada pertemuan kali ini kita akan membahas
tentang: bekerja dengan Array di PHP.
Kita pernah mempelajari sekilas tentang array pada pembahasan tipe data dan variabel.
Ia adalah suatu tipe data yang bersifat spesial dalam PHP, ia bisa menyimpan himpunan
beberapa nilai dalam satu variabel saja.
Misalkan kita memiliki 3 buah variabel yang menyimpan data nama mahasiswa.
Dari pada kita membuat satu variabel untuk tiap nama mahasiswa seperti ini:
<?php
Lebih baik kita simpan ketiga variabel di atas dalam satu array saja seperti berikut:
<?php
$listMahasiswa = [
"Nurul Huda",
"Wahid Abdullah",
"Renza Ilhami"
];
Untuk menampilkan array, kita bisa menggunakan indeks. Indeks pertama dimulai dari 0 dan
seterusnya.
<?php
<?php
Array Terindeks
Di dalam PHP, ada dua jenis array: array terindeks dan array asosiatif. Array terindeks
adalah array yang setiap itemnya terbedakan dengan indeks tertentu. Indeks tersebut
bertipe data integer dan selalu dimulai dari angka 0.
Array $listMahasiswa yang kita buat dalam contoh di atas adalah termasuk jenis array
terindeks.
Array jenis ini ada di hampir semua bahasa pemrograman, kalau pun tidak ada, maka itu
hanya perbedaan nama saja, akan tetapi fungsi dan bentuknya sama saja.
Array Asosiatif
Jenis kedua dari array dalam bahasa pemrograman PHP adalah: array asosiatif.
<?php
$mahasiswa = [
];
PHP Dasar | 85
Untuk menampilkan item yang berada di dalam array asosiatif, kita bisa melakukannya
dengan memanggil key-nya. Hal ini sama persis dengan array terindeks, hanya saja jika
pada array terindeks key-nya bertipe data integer, maka pada array asosisatif, key-nya
bertipe data string.
<?php
Array Multidimensi
Array multidimensi adalah suatu istilah untuk sebuah array, yang mana ia memiliki item
berupa array yang lain. Contohnya seperti ini:
<?php
$histogram = [
[1, 2, 3, 4, 5],
[6, 7, 3, 9, 2],
[3, 5, 1, 0, 5],
[5, 8, 1, 3, 1]
];
Pada contoh di atas, indeks ke-0 dari array $histogram adalah suatu array. Begitu juga
indeks ke-1, ke-2, dan ke-3.
Misal kita ingin menampilkan anga 0 pada array tersebut, maka kita harus memanggil array
terluarnya dahulu, baru indeks dari array yang didalam.
<?php
echo $histogram[2][3]; // 0
PHP Dasar | 86
Array multidimensi tidak mengharuskan setiap item dari array adalah suatu array dengan
panjang yang sama, bahkan tidak harus semua item dari suatu array bertipe data sama. Hal
itu karena array dalam PHP bisa memiliki himpunan nilai dari tipe data yang berbeda-beda.
<?php
$arrayMultidimensi = [
"Nurul Huda",
"Lendis Fabri",
[1, 2, 3, 4, 5],
[3.4, 10.93],
true,
false
];
Pada variabel $arrayMultidimensi di atas, kita saksikan bahwa item dari array tersebut
berbeda-beda dari segi tipe data. Ada yang bertipe data string, ada yang bertipe
data boolean, dan ada yang bertipe data array. Array dalam array seperti inilah yang
dimaksud dengan array multidimensi.
Saya akan beri contoh yang kemungkinan besar akan anda dapati dalam kasus real: yaitu
menu bertingkat tak terbatas.
Beranda
Berita
o Olahraga
Bola
Bulu Tangkis
o Politik
o Manca Negara
Tentang
<?php
$menu = [
PHP Dasar | 87
],
"subMenu" => [
"subMenu" => [
],
],
],
],
],
PHP Dasar | 88
],
];
Dalam banyak kasus, kita butuh menambahkan suatu nilai ke dalam array yang sebelumnya
sudah pernah kita buat.
Kasus ini bisa kita selesaikan dengan mudah sekali menggunakan 2 cara:
<?php
array_push($buah, 'Nanas');
Oiya, jika anda ingin menambahkan item baru di urutan pertama array, anda bisa
menggunakan fungsi array_shift sebagai ganti dari array_push.
PHP Dasar | 89
Cara yang kedua adalah dengan menggunakan tanda kurung siku ([]) ketika menambahkan
satu nilai baru ke dalam array.
<?php
$buah[] = 'Nanas';
$buah[] = 'Anggur'
Terkadang kita butuh untuk menghapus suatu nilai atau suatu item dari variabel array. Kita
bisa melakukan hal tersebut dengan fungsi bawaan array yang bernama array_pop.
Fungsi array_pop akan menghapus item terakhir dari suatu array.
Dari segi parameter, ia hanya menerima satu parameter saja yaitu array target yang akan
dihapus item terakhirnya.
Contoh:
<?php
array_pop($buah);
echo "<br>";
PHP Dasar | 90
Misalkan kita memiliki 2 buah array atau lebih. Lalu kita ingin menggabungkannya menjadi
1, kita bisa menggunakan fungsi bawaah PHP bernama array_merge().
<?php
$semuaWarna = array_merge(
$warnaTerang,
$warnaGelap,
);
Array Unpacking
Array unpacking adalah fitur baru pada versi PHP 7.4. Ia memiliki fungsi yang sama
dengan array_merge yaitu untuk menggabungkan suatu array dalam array lainnya.
Hanya saja kita bisa menempatkan hasil gabungan tersebut pada indeks tertentu dalam
array yang lain.
PHP Dasar | 91
<?php
Jika kita perhatikan, sintaks di atas sangat mirip dengan yang kita temukan pada bahasa
pemrograman javascript.
Dalam kasus-kasus tertentu, kita terkadang butuh untuk mengubah array asosiatif ke dalam
bentuk array terindeks.
<?php
# asosiatif array
$listBuah = [
];
var_dump(array_values($listBuah));
Fungsi Explode
Kita bisa memecah-mecah string lalu mengubahnya ke dalam array dengan fungsi explode.
Fungsi explode menerima 2 paramter:
<?php
<?php
Kita juga bisa menggunakan delimiter yang tersusun dari lebih satu karakter, seperti contoh
berikut:
<?php
Fungsi Implode
glue: artinya perekat. Ia adalah string yang akan menjadi perekat antar item pada
array
array: array sasaran yang akan diubah menjadi string
<?php
echo implode(" wkwk ", $mahasiswa) . "<br>"; // Huda wkwk Lendis wkwk Elmo
Pencarian Array
Untuk mencari suatu data dari array, kita bisa menggunakan fungsi bawaan PHP yang
bernama array_search().
Contoh:
<?php
PHP Dasar | 94
// 1
$mahasiswa = [
];
var_dump(array_search('Lamongan', $mahasiswa));
// 'asal'
Fungsi array_search() bisa bekerja sama saja apakah di array terindeks mau pun di array
asosiatif. Pada contoh di atas variabel $distroLinux merupakan array terindeks, sedangkan
variabel $mahasiswa mereupakan array asosiatif.
Filter Array
Bayangkan kita memiliki suatu array. Lalu dari sekian banyak item pada array tersebut, kita
hanya ingin mendapatkan beberapa item dengan kondisi tertentu.
Kita bisa melakukan hal tersebut dengan memanggil fungsi bawaan PHP
bernama array_filter().
Contoh
Misalkan kita memiliki array yang menyimpan nilai ujian setiap siswa. Lalu:
<?php
$nilaiSiswa = [
];
});
});
<?php
PHP Dasar | 96
$nilaiDiatas30Dan80Kebawah = array_filter(
$nilaiSiswa,
);
Pemetaan Array
Pemetaan array digunakan jika kita ingin memodifikasi semua item pada suatu array. Untuk
melakukan hal tersebut kita bisa menggunakan fungsi bawaan PHP bernama array_map().
Contoh
Misalkan anda mempunyai suatu array yang berisi sekumpulan nilai integer. Lalu anda ingin
mengkalikan semua item array tersebut dengan angka 100.
Maka anda bisa melakukan hal tersebut sebagaimana contoh di bawah ini:
<?php
});
Pembahasan Selanjutnya
Kita telah mempelajari banyak hal sejauh ini. Seri tutorial belajar php dasar sudah berada di
ujung dan akan segera berakhir.
PHP Dasar | 97
Masih ada sedikit pembahasan lagi, insyallah beberapa kita akan mengambil beberapa
latihan tentang fungsi matematika pada PHP, dan juga tentang fibonacci.
Setelah seri tutorial ini selesai, insyaallah kita akan mulai lagi seri belajar php selanjutnya:
yaitu php tingkat menengah, lalu PHP untuk pemrograman web dinamis, pemrograman
OOP pada PHP, dan MVC pada PHP.
Jika anda merasa tutorial ini bermanfaat, silakan share ke kawan-kawan anda di sosial
media!
o Fungsi Absolut: abs()
o Fungsi Pi: pi()
o Perpangkatan Bilangan: pow()
o Akar Bilangan: sqrt()
o Pembulatan Pecahan: round()
o Pembulatan Kebawah: floor()
o Pembulatan Keatas: ceil()
o Pembahasan Selanjutnya
Bahasa pemrograman PHP datang dengan membawa banyak fungsi-fungsi yang berkaitan
dengan matematika, seperti fungsi absolut, perpangkatan, akar kuadrat, konversi sudut
derajat ke bentuk radian, dan sebagainya. Pada pertemuan kali ini kita akan mempelajari
beberapa hal penting tentang fungsi-fungsi matematika pada PHP.
Fungsi Absolut: abs()
Fungsi abs() akan mengembalikan nilai absolut dari nilai negatif mau pun positif. Nilai
absolut adalah suatu keadaan yang mana nilai akan senantiasa dianggap positif.
<?php
$a = 10;
$b = 33;
PHP Dasar | 98
Output:
Selisih: 23
Fungsi Pi: pi()
<?php
Output:
Nilai pi = 3.1415926535898
Perpangkatan Bilangan: pow()
<?php
Output:
2 pangkat 2 = 4
2 pangkat 3 = 8
PHP Dasar | 99
5 pangkat 3 = 125
3 pangkat 5 = 243
Akar Bilangan: sqrt()
Fungsi sqrt() bertugas untuk menghitung akar kuadrat dari suatu bilangan. Dan ditinjau dari
segi parameter, ia hanya membutuhkan satu parameter.
<?php
Output:
Akar 0 = 0
Akar 1 = 1
Akar 4 = 2
Akar 9 = 3
Di dalam PHP, terdapat dua fungsi yang bisa kita gunakan untuk membuat angka secara
acak. Dua fungsi tersebut adalah rand() dan mt_rand(). Pada versi PHP lawas, keduanya
adalah dua fungsi yang berbeda. Ada pun setelah versi PHP 7.1, dua-duanya sama saja.
Yang satu adalah alias dari yang lainnya.
min: bersifat opsional. Dia adalah nilai terendah yang akan dikembalikan dari
fungsi rand(). Jika tidak didefinisikan, nilai default-nya adalah 0
max: ia juga bersifat opsional. Adalah nilai terbesar yang akan dikembalikan dari
fungsi rand(). Jika tidak didefinisikan, nilai default-nya adalah hasil kembalian dari
fungsi getrandmax().
<?php
PHP Dasar | 100
echo rand(0, 10) . '<br>'; # kemungkinan angka yang muncul adalah 0-10
Pada pembahasan tentang perulangan while, kita telah menggunakan fungsi ini sebagai
contoh. Anda bisa kembali lagi ke pembahasan tersebut jika dirasa perlu.
<?php
Output:
2.0943951023932
0.5235987755983
3.9269908169872
Pembulatan Pecahan: round()
Jika kita memiliki angka desimal dengan angka di belakang koma yang sangat panjang
sekali, kita pasti perlu untuk membulatkannya. Entah kita bulatkan dengan mengurangi
jumlah angka di belakang koma, atau pun dengan membulatkan angka ke bilangan bulat
terdekat.
Untuk melakukan hal tersebut, PHP telah menyediakan fungsi bawaan yang
bernama round().
Fungsi round() menerima 3 parameter:
number: bersifat required. Ini adalah angka yang akan kita bulatkan.
precision: berisfat opsional. Ini adalah jumlah angka di belakang koma, jika
dikosongkan maka nilai default-nya adalah 0.
mode: bersifat opsional. Kita tidak bahas parameter ini karena berkaitan dengan
konstanta.
<?php
PHP Dasar | 101
Output:
3.14
3.1416
Pembulatan Kebawah: floor()
<?php
Output:
Pembulatan Keatas: ceil()
<?php
Pembahasan Selanjutnya
Pembahasan kita kali ini cukup sederhana akan tetapi sangat penting. Beberapa fungsi di
atas akan sering kita jumpai dalam kasus-kasus sehari-hari.
Untuk pembahasan yang akan datang, insyaallah kita akan membahas tentang membuat
dan memecahkan teka-teki bilangan fibonacci dengan PHP. Dan insyaallah juga
pembahasan tersebut akan menjadi penutup seri tutorial php dasar ini sebelum kita lanjut ke
seri tutorial PHP yang berikutnya yaitu seri tutorial php tingkat menengah.
o Persiapan
o Apa itu Fibonacci?
o Pemecahan Masalah
o Solusi 1: Menggunakan array
o Solusi 2: Menggunakan variabel bantuan
o Solusi 3: Menggunakan fungsi rekursif
o Kesimpulan
o Pembahasan Selanjutnya
Fibonacci adalah salah satu kasus logika yang cukup menantang bagi orang-orang yang
sedang belajar logika pemrograman. Kita bisa dengan mudah memahami fibonacci, tapi
untuk memecahkannya dalam bentuk logika pemrograman, ternyata cukup bikin pusing
juga.
PHP Dasar | 103
Di dalam tutorial ini, kita akan mencoba 3 buah solusi pemecahan teka-teki fibonacci dengan
menggunakan PHP. Ketiga solusi tersebut adalah: menggunakan array, menggunakan
variabel bantuan, dan yang terakhir adalah menggunakan fungsi rekursif.
Persiapan
Sebelum mengikuti tutorial ini, saya anggap anda telah mengikuti tutorial-tutorial
sebelumnya pada Seri Tutorial Belajar PHP 7 Dasar Untuk Pemula. Lebih khususnya adalah
pembahasan tentang:
Perulangan
Manipulasi String
Bekerja dengan Array
dan Fungsi Rekursif
Karena jika anda belum memahami 4 pembahasan di atas, anda mungkin akan
mendapatkan kesulitan di beberapa bagian pada tutorial ini.
Fibonacci adalah deretan bilangan yang mana setiap bilangan adalah hasil penjumlahan
dari dua angka sebelumnya.
Fibonacci selalu diawali oleh 2 bilangan pertama yaitu 0 dan 1. Setelah dua bilangan
tersebut, barulah pada bilangan ke-3, nilainya diambil dari hasil penjumlahan dari dua
bilangan sebelumnya, dan seterusnya.
01
0112358
Pemecahan Masalah
Bagi yang baru belajar algoritma pemrograman, kasus ini sangat menantang sekali. Melatih
pikiran dan mengasah logika.
Setiap orang bisa berhasil memecahkan teka-teki bilangan fibonacci ini dengan cara yang
berbeda-beda. Dan ini normal.
Sehingga saya sarankan bagi anda semua, agar berjuang sendiri terlebih dahulu untuk
memecahkan kasus ini. Setelah berhasil, anda bisa kembali lagi ke artikel ini untuk
membandingkan apakah penyelesaian yang anda lakukan sama atau tidak dengan yang
saya lakukan.
Tapi jika anda ingin cepat-cepat, anda bisa langsung mencoba 3 solusi di bawah.
PHP Dasar | 104
Saat saya berada di awal-awal semester perkuliahan, saya berhasil menyelesaikan kasus
fibonacci dengan memanfaatkan array. Waktu itu bahasa pemrograman yang saya gunakan
adalah java.
Akan tetapi karena saat itu pelajaran di kelas masih belum sampai pada materi array, dosen
saya terlihat tidak terlalu senang ketika saya menggunakan array untuk memecahkan kasus
fibonacci.
Apa pun itu, dengan menggunakan array, anda bisa menyelesaikan kasus fibonacci dengan
sangat mudah.
Kita buat sebuah fungsi dengan nama fibonacci. Fungsi ini menerima satu parameter
yaitu $jumlahBilangan dengan tipe data integer.
Di dalam fungsi ini, kita buat sebuah array dengan nama $fibonacci lalu me-return-nya.
Nantinya array tersebut akan kita isi dengan himpunan deret bilangan fibonacci. Untuk
sekarang, kita biarkan dulu ia tetap kosong.
<?php
$fibonacci = [];
return $fibonacci;
<?php
PHP Dasar | 105
Setelah kita membuat sebuah fungsi dan juga sebuah perulangan for, sekarang saatnya kita
mulai menyusun bilangan deret fibonacci.
Alurnya adalah:
<?php
if ($i < 2) {
$bilangan = $i;
} else {
array_push($fibonacci, $bilangan);
4. Hasil akhir
<?php
$fibonacci = [];
if ($jumlahBilangan < 0) {
return $fibonacci;
# mulai perulangan
if ($i < 2) {
$bilangan = $i;
} else {
array_push($fibonacci, $bilangan);
return $fibonacci;
<?php
Output:
01123
0 1 1 2 3 5 8 13
0 1 1 2 3 5 8 13 21 34
0 1 1 2 3 5 8 13 21 34 55 89 144
Solusi kedua ini tidak jauh berbeda dengan sebelumnya. Hanya saja di sini kita tidak
menggunakan array sama sekali. Akan tetapi kita menggunakan 2 buah variabel untuk
menyimpan 2 bilangan sebelum bilangan yang sedang aktif.
<?php
$fibonacci = "";
$satuBilanganSebelumnya = 0;
$duaBilanganSebelumnya = 1;
if ($jumlahBilangan < 0) {
}
PHP Dasar | 108
if ($i < 1) {
$bilangan = $i;
} else {
$duaBilanganSebelumnya = $satuBilanganSebelumnya;
$satuBilanganSebelumnya = $bilangan;
return $fibonacci;
<?php
Berikut adalah output yang kita dapatkan, hasilnya tetap sama dengan solusi sebelumnya:
PHP Dasar | 109
01123
0 1 1 2 3 5 8 13
0 1 1 2 3 5 8 13 21 34
0 1 1 2 3 5 8 13 21 34 55 89 144
Solusi 3 adalah menggunakan fungsi rekursif. Solusinya sangat simpel. Akan tetapi fungsi di
bawah ini hanya untuk mendapatkan angka ke-n saja dari deret fibonacci.
Sehingga jika kita ingin mendapatkan keseluruhan deret fibonacci, fungsi di bawah ini tidak
efektif karena ia akan melakukan perulangan berkali-kali.
<?php
if ($n <= 1) {
return $n;
Lalu panggil fungsi di atas beberapa kali untuk memeriksa apakah fungsi tersebut sudah
benar atau tidak.
<?php
Output:
011235
<?php
Output:
0 1 1 2 3 5 8 13 21 34
Kesimpulan
Fibonacci adalah salah satu kasus logika yang cukup menantang bagi orang-orang yang
sedang belajar logika pemrograman. Fibonacci bisa kita pecahkan dengan berbagai macam
cara, tergantung pada masing-masing penulis kodenya.
Di dalam tutorial ini, kita telah mencoba 3 buah solusi pemecahan teka-teki fibonacci dengan
menggunakan PHP. Ketiga solusi tersebut adalah: menggunakan array, menggunakan
variabel bantuan, dan yang terakhir adalah menggunakan fungsi rekursif.
Dari ketiga cara tersebut, saya lebih rekomendasikan cara yang pertama.
Pembahasan Selanjutnya
Akhirnya kita telah selesai juga dari seri tutorial PHP 7 dasar. Kita telah membahas berbagai
hal penting mulai dari berkenalan dengan file PHP, variabel dan tipe data, pembahasan
struktur kontrol PHP seperti percabangan dan perulangan, fungsi, dan lain sebagainya.
PHP Dasar | 111
Tutorial tentang fibonacci ini adalah akhir dari seri belajar php 7 dasar, insyaallah pada
pertemuan selanjutnya kita akan memasuki seri baru untuk tutorial PHP. Yaitu belajar PHP
untuk tingkat menengah!
Jika anda rasa tutorial ini bermanfaat, silakan share ke teman-teman anda!