Cara menggunakan php array_map anonymous function

Tutorial dasar PHP untuk pemula. Pelajari dasar-dasar pemrograman PHP mulai dari variable, tipe data, operator, percabangan, perulangan, fungsi, hingga Closure.

//koding.blog/img/php-small.png

pathwidthheight

//koding.blog/img/php.png

1200

800

PHP—akronim rekursif dari PHP: Hypertext Preprocessor)—merupakan bahasa pemrograman untuk web yang mulanya dikembangkan oleh Rasmus Lerdorf pada tahun 1994. PHP berjalan di sisi server (peladen) dan umumnya digunakan untuk membuat aplikasi berbasis web yang dinamis.

Meski sintaksis dan fiturnya kadang dikritik oleh programmer lain, PHP tetap populer dan mendominasi jagad internet. Perusahaan-perusahaan berbasis teknologi ternama mulai dari Facebook, Automattic (Wordpress), Slack, hingga masih setia dengan PHP yang sudah berumur lebih dari dua dekade ini. PHP pun kerap menjadi pilihan pertama untuk para pemula yang ingin belajar pemrograman.

Tutorial kali ini diperuntukan untuk pemula yang ingin belajar PHP serta dasar-dasar pemrograman. Apakah kamu siap menjadi pengembang PHP yang handal?

Sepanjang tutorial ini kita akan menemui sejumlah kotak dengan emoji seperti berikut:

  • ⚠️Peringatan: Berisi peringatan penting seputar keamanan, performa, dan potensi bug.
  • 💡Informasi: Berisi informasi tambahan seputar topik yang tengah dibahas.
  • 👍🏻 Tips & Trick: Berisi tips dan trik yang berguna dalam membantu pekerjaan programming sehari-hari.
  • 🎨Clean Code: Berisi panduan penulisan kode yang baik.
  • 📘Dokumentasi: Berisi tautan ke dokumentasi atau artikel lain yang membahas lebih dalam suatu topik.

Daftar Isi

Hello World

![Hello World]({{ "/img/2018-03-08-tutorial-php-untuk-pemula/hello-world-meme.jpg" | absolute_url }})

Langkah pertama, mari kita membuat program "Hello World" dalam PHP. Buka alamat website berikut: repl.it/languages/php. Situs ini memungkinkan kita untuk menulis dan menjalankan program PHP secara online (daring). Tidak hanya PHP, situs ini juga mendukung sejumlah bahasa pemrograman lainnya: Java, Ruby, Python, hingga Haskell.

Tikan baris kode PHP berikut pada input (masukan) di sebelah kiri:

echo 'Hello World!';

Selanjutnya, klik tombol dengan simbol "play" di bagian atas untuk menjalankan kode tersebut. Output (keluaran) dari program akan muncul di sebelah kanan layar. Jika berhasil, kita akan mendapatkan output teks berupa PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies17.

![Output program Hello World]({{ "/img/2018-03-08-tutorial-php-untuk-pemula/01-output-repl.png" | absolute_url }})

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies18 merupakan keyword dalam PHP untuk mencetak string. String adalah serangkaian karakter—dapat berupa huruf, angka, juga simbol. Dalam PHP, string harus diapit oleh tanda kutip tunggal (PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies19) ataupun kutip ganda (PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies20). Perbedaan keduanya akan dibahas lebih lanjut pada . Penggunaan string tanpa kutip akan membuahkan syntax error.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;

⚠️Jangan lupa titik koma!

PHP mengharuskan setiap statement (baris instruksi) diakhiri dengan titik koma (PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies21). Tanpa titik koma, program "Hello World" yang kita buat akan menghasilkan syntax error.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'

Menginstal PHP

Sebelum mempelajari PHP lebih lanjut, mari kita menginstal PHP di komputer.

![You are still using PHP 5]({{ "/img/2018-03-08-tutorial-php-untuk-pemula/php-5-meme.jpg" | absolute_url }})

Menginstal PHP di macOS

Beruntung macOS sudah menyertakan PHP di dalam sistem operasinya. Untuk mengecek instalasi PHP, buka aplikasi iTerm atau Terminal. Tikan perintah berikut di dalam terminal untuk mengecek versi PHP yang sudah terpasang:

$ php -v

Perintah di atas akan mencetak PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies22 berupa versi PHP yang terpasang:

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies

Menginstal Homebrew

Biasanya versi PHP bawaan macOS sedikit tertinggal. Untuk menginstal versi teranyar, salah satu cara yang paling mudah adalah dengan menggunakan Homebrew. Homebrew ini merupakan package manager untuk macOS—layaknya dpkg pada Debian atau RPM pada Redhat.

Pertama, kita perlu menginstal aplikasi Command Line Tools dari Apple. Jalankan perintah berikut pada terminal:

$ xcode-select --install

Selanjutnya, tikan perintah berikut untuk menginstal Homebrew:

$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"

Setelah sukses menginstal Homebrew, kita bisa menggunakan perintah-perintah berikut:

# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update

Sementara untuk mengorganisir formula (istilah package dalam Homebrew), kita bisa menjalankan peritah-perintah berikut:

# Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list

Memperbarui Homebrew

Untuk kamu yang sudah menginstal Homebrew sebelumnya, jangan lupa untuk menjalankan perintah berikut untuk memperbarui instalasi Homebrew beserta daftar formulanya:

$ brew update

Menginstal PHP dengan Homebrew

Jalankan perintah berikut di terminal untuk menginstal PHP:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;0

Setelah instalasi tuntas, restart terminal atau buka tab baru. Jalankan perintah berikut untuk memverifikasi versi PHP yang terpasang:

$ php -v

Pada saat artikel ini ditulis formula PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies23 akan menginstall PHP versi PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies24.

💡Saat tutorial ini ditulis, formula-formula pada PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies25 tengah dalam proses penyatuan ke dalam repository utama PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies26. Dengan penyatuan ini kita tidak perlu lagi men-PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies27 PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies25 untuk menginstall PHP. Ikuti diskusinya lebih lanjut di sini.

Menginstal PHP di Ubuntu

Instalasi PHP pada Ubuntu dan distro Linux lainnya sangatlah mudah. Package PHP umumnya sudah tersedia pada repository bawaan. Pun begitu, versi PHP yang tersedia biasanya sedikit tertinggal.

Untuk mendapatkan PHP versi teranyar, kita bisa menambahkan PPA (Personal Package Archive) dari PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies29. Buka terminal dan jalankan perintah berikut:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;2

Setelah PPA ini berhasil ditambahkan, jangan lupa untuk memperbarui daftar package pada komputer dengan menjalankan perintah berikut:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;3

Gunakan perintah PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies30 untuk mencari versi PHP yang diinginkan:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;4

Jalankan perintah berikut untuk menginstall PHP versi 7.2:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;5

Untuk memverifikasi versi PHP yang terpasang, jalankan perintah berikut di terminal:

$ php -v

Menginstal PHP di Windows

Sayangnya penulis tidak berpengalaman dengan sistem operasi Windows. Untungnya ada sejumlah bundle aplikasi yang mudah untuk dipasang dan umumnya menyertakan paket komplit mulai dari PHP, web server, hingga database. Berikut beberapa pilihan populer:

XAMPP

XAMPP merupakan salah satu bundle aplikasi yang populer untuk bekerja dengan PHP di Windows. Selain PHP, dalam bundle-nya ia turut menyertakan Apache sebagai web server dan MariaDB (fork dari MySQL yang dikembangkan komunitas) untuk database-nya. XAMPP juga menyertakan phpMyAdmin untuk mempermudah kerja dengan database.

📘Cek tutorial Cara Menggunakan XAMPP untuk Menjalankan PHP & MySQL dari Niagahoster.

Laragon

![Website Laragon]({{ "/img/2018-03-08-tutorial-php-untuk-pemula/02-laragon-website.jpg" | absolute_url }})

Dibandingkan dengan XAMPP, Laragon relatif lebih modern dan menawarkan banyak fitur. Untuk web server, Laragon menyertakan Apache dan Nginx. Untuk database-nya, Laragon mengandalkan MySQL. Selain itu Laragon menyediakan beragam tools esensial: Git, Composer, Node.js hingga Yarn. Dengan Laragon kita juga dapat dengan mudah membuat proyek berbasis Wordpress, Symfony, Laravel hingga Drupal. Fitur lainnya yang menggiurkan adalah kemampuannya untuk membuat virtual host secara otomatis.

Cek dokumentasi resmi Laragon untuk mempelajari cara menginstal dan ragam fitur yang ditawarkan.

Aplikasi Alternatif Lainnya

Selain dua bundle aplikasi di atas, masih banyak alternatif lainnya yang bisa kamu coba:

  • MAMP - bundle aplikasi PHP, Apache, Nginx, MySQL dan Python.
  • WampServer - bundle aplikasi PHP, Apache dan MySql.
  • PHP for Windows - jika kamu ingin menginstal PHP langsung dari binaries nya.

Memilih Text Editor

![Website Laragon]({{ "/img/2018-03-08-tutorial-php-untuk-pemula/vim-tweet.png" | absolute_url }})

Yang kita butuhkan selanjutnya adalah text editor (editor teks) yang mumpuni. Ada banyak pilihan text editor di luar sana. Berikut adalah dua text editor yang cocok untuk pemula:

Sublime Text

Sublime Text merupakan salah satu text editor yang sangat populer. Ia tersohor karena ringan dan cepat, bahkan saat membuka file dengan ukuran yang sangat besar. Meski tak sepenuhnya gratis, ia memberikan waktu trial selamanya. Sayangnya, karena dikembangkan seorang diri, pembaruan aplikasinya sangat jarang.

![Sublime Text]({{ "/img/2018-03-08-tutorial-php-untuk-pemula/03-sublime-text-website.png" | absolute_url }})

Visual Studio Code

Visual Studio Code atau VSCode merupakan text editor open source dari Microsoft yang akhir-akhir ini popularitasnya kian menanjak. Ia dikembangkan berdasarkan text editor Atom besutan Github. VSCode menawarkan fitur yang mutakhir untuk sebuah text editor: auto-completion dengan IntelliSense, debugger, integrasi Git, serta built-in terminal yang sangat responsif.

Dukungan komunitasnya juga sangat besar. Pengembangan text editor-nya sangat aktif serta banyak extension yang tersedia untuk mempermudah pekerjaan coding sehari-hari.

![Visual Studio Code]({{ "/img/2018-03-08-tutorial-php-untuk-pemula/04-vscode-website.png" | absolute_url }})

Hello Again, World

Pada bagian sebelumnya, kita telah berhasil menjalankan kode PHP di situs repl.it. Dengan PHP yang sudah terpasang, mari kita belajar menjalankan kode PHP di komputer kita sendiri.

PHP Interactive Shell

REPL sebenarnya merupakan akronim dari: Read–Eval–Print Loop. Ia berupa interactive shell dimana kita bisa memasukan kode yang akan langsung dieksekusi dan ditampilkan hasilnya di dalam shell itu sendiri. Banyak bahasa pemrograman yang menyediakan fitur seperti REPL ini, termasuk PHP.

Untuk menjalankan interactive shell dari PHP, buka terminal dan jalankan perintah berikut:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;7

Jika perintah di atas berhasil, kita akan mendapati kursor berada di sebelah kanan teks PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies31. Tanda PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies31 ini berarti PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies33 siap untuk menerima masukan kode.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;8

📘Tidak berhasil di Windows?

Bila perintah di atas tidak berjalan di Windows, ada kemungkinan lokasi dari aplikasi PHP yang terpasang tidak tidak terdaftar di environtment variables. Sayangnya penulis tidak familiar dengan sistem operasi yang satu ini. Sila baca tulisan dari web Petani Kode berikut: Cara Menjalankan PHP Melalui CMD.

Tikan kode "Hello World" yang kita buat sebelumnya. Namun kali ini ganti teksnya dengan PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies34. Tekan PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies35 untuk menjalankan kode. Jika berhasil kita akan mendapati teks tersebut tercetak di layar terminal:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;9

👍🏻 Tab completion pada interactive shell

Jika hanya ada satu kemungkinan untuk auto-completion, menekan tombol tab satu kali akan otomatis melengkapi kode kita. Jika ada beberapa kemungkinan, tekan tombol PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies36 dua kali untuk mencetak semua kemungkinan auto-completion.

Menyimpan Kode PHP dalam File

Sekarang kita belajar menyimpan kode PHP di dalam file. Buka text editor yang telah kita pasang. Dengan text editor, buatlah sebuah file baru dan tikan kode PHP berikut:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'0

Simpan file tersebut di lokasi yang mudah dicari; misalnya dalam direktori PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies37 di PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies38. Beri nama file tersebut: PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies39. Pastikan file tersimpan dengan ekstensi PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies40.

PHP Tags

Berbeda saat di dalam interactive shell, kode PHP dalam sebuah file harus diapit di antara tag pembuka PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies41 dan tag penutup PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies42. Ini karena di dalam PHP, kita diperbolehkan untuk menyisipkan jenis dokumen lain; dokumen HTML misalnya. Tag pembuka dan penutup ini akan memberitahu parser di mana kode PHP di mulai dan berakhir.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'1

Bila kode PHP di antara kedua tag hanya terdiri dari satu baris statement, kita bisa menempatkan tag pembuka dan penutup di baris yang sama seperti ini:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'2

📘Baca lebih lanjut di dokumentasi: PHP Tags.

⚠️Mencampurkan kode PHP dan HTML adalah praktik yang buruk

Seperti contoh di atas, mencampurkan kode PHP dan HTML dianggap praktik yang tidak baik. Ia bisa menjadi indikasi kurangnya separation of concerns. Serta merupakan salah satu celah keamanan yang bisa dieksploitasi—misalnya saat meng-PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies18 data masukan dari pengguna lantas kita lalai men-sanitize input & tidak meng-escape output.

Untuk saat ini, kita kesampingkan dulu. Karena topik ini relatif lebih sulit untuk pemula.

Lupakan Tag Penutup

Jika file tersebut hanya ada kode PHP di dalamnya, kita tidak perlu menuliskan tag penutup PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies42. Dan umumnya, ini yang dipraktikan sejumlah developer PHP. Mari kita hilangkan tag penutup dari file PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies39 kita:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'3

Jangan lupa simpan perubahan di atas. Tugas kita sekarang adalah menjalankan file PHP tersebut!

💡 Tag pembuka tidak akan disertakan pada contoh kode

Pada contoh-contoh kode berikutnya, kita sengaja tidak akan menyertakan tag pembuka PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies41 agar lebih ringkas. Jadi jika kamu menyalin contoh kode, jangan lupa untuk menambahkan kode pembuka.

Menjalankan file PHP dengan Command Line

Salah satu cara untuk menjalankan file PHP adalah dengan melalui command line atau terminal. Buka terminal dan masuk ke dalam direktori tempat kamu menyimpan file PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies39.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'4

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies48 (akronim dari change directory) adalah perintah untuk merubah lokasi dari direktori kerja pada terminal. Arahkan pada direktori tempat kita menyimpan file PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies39. Penulis menggunakan sistem operasi macOS dan menyimpan file PHP tersebut di dalam direktori PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies37 pada PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies51. Jika kamu menggunakan Windows dan menyimpannya pada PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies52, secara PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies53 lokasi PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies52 berada di:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'5

Setelah berada di dalam direktori PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies37, tikan perintah berikut di terminal untuk menjalankan file PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies39:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'6

Jika berhasil, kita akan mendapatkan teks PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies57 tercetak di layar. Sebenarnya kita juga bisa menggunakan absolute path tanpa harus PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies48 ke direktory PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies37:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'7

📘 Baca lebih lanjut di dokumentasi: Executing PHP files.

Menjalankan file PHP dengan Web Server

Cara kedua untuk menjalankan file PHP adalah dengan web server. Cara inilah yang paling umum digunakan.

![Diagram client-server]({{ "/img/2018-03-08-tutorial-php-untuk-pemula/05-client-server-diagram.png" | absolute_url }})

Bila disederhanakan, alurnya seperti ini:

  1. Client memasukan alamat dari sebuah web pada peramban atau browser. Lalu browser mengirimkan request untuk sebuah laman web atau dokumen ini ke server.
  2. Request dari client diterima web server. Apabila dokumen yang diminta berupa file statis (seperti file HTML, gambar, CSS, atau Javascript), umumnya web server dapat melayani permintaan dokumen tersebut secara langsung. Web server kemudian akan mengirimkan respon kepada client berupa dokumen yang diminta.
  3. Namun bila dokumen yang diminta tersebut adalah file PHP, web server akan meneruskan file tersebut ke PHP interpreter untuk diproses terlebih dahulu.
  4. Hasil keluaran dari file PHP inilah yang kemudian akan dikirimkan ke client oleh web server. Keluarannya dapat berupa teks, laman HTML, XML, JSON, hingga dokumen berupa PDF atau JPEG.

Ada banyak pilihan web server yang bisa kita gunakan. Sejak versi 5.4, PHP sendiri sudah menyertakan web server bawaan yang siap digunakan untuk kepentingan development. Untuk mempermudah, dalam tutorial ini kita cukup menggunakan web server bawaan PHP.

⚠️ Web server bawaan PHP bukan untuk production!

Web server bawaan PHP ini berjalan dalam single-threaded process sehingga hanya mampu mengolah satu request dalam satu waktu. Web server bawaan ini hanya diperuntukan untuk kepentingan development. Untuk production gunakanlah web server yang performanya sudah teruji seperti Nginx atau Apache.

Buka kembali terminal, dan arahkan lokasi dari direktori kerja ke direktori tempat kita menyimpan file PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies39:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'4

Kemudian tikan perintah berikut untuk menjalankan web server bawaan PHP:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'9

Bila berhasil, web server akan berjalan pada alamat PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies61 dan port PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies62. Keluaran seperti berikut akan tercetak pada layar terminal:

$ php -v0

Buka browser dan masukan alamat localhost:8000/01_hello.php. Kita akan mendapati teks PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies57 tercetak pada layar browser.

![Tampilan pada browser]({{ "/img/2018-03-08-tutorial-php-untuk-pemula/06-hello-again-world.png" | absolute_url }})

📘 Baca lebih lanjut di dokumentasi: Built-in web server.

Dengan PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies18, kita juga bisa mencetak tag HTML. Ubah file PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies39 seperti kode berikut dan coba jalankan kembali di browser. Teks PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies57 akan tercetak besar sekarang.

$ php -v1

Dalam jaringan komputer, PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies61 berarti "komputer ini"—komputer yang tengah kita pakai. Secara default, PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies61 akan di-resolve ke dalam IP PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies69. Dalam skema ini komputer kita menjadi client sekaligus server-nya.

Nomor PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies70 yang digunakan pun tidak harus PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies62, bisa PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies72, PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies73 atau PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies74. Selama nomor port yang digunakan PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies75 dan tidak sedang digunakan oleh aplikasi lain.

💡 Default Port untuk HTTP & HTTPS

Mungkin kamu bertanya-tanya: mengapa saat membuka laman facebook, kita tidak perlu mencantumkan nomor port? Cukup: PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies76. Mengapa kita perlu mencantumkan nomor port pada contoh di atas?

Ini karena web server Facebook dan situs-situs lainya menggunakan port default yang disediakan untuk HTTP & HTTPS. HTTP merupakan protokol yang menjadi fondasi komunikasi data pada jaringan internet. Layanan HTTP ini menggunakan port 80 sementara HTTPS menggunakan port 443.

Apabila web server kita menggunakan port diluar PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies77 atau PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies78, maka kita perlu mencantumkan nomor port yang digunakan; seperti pada contoh di atas: PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies79. Kamu bisa saja mengakses Facebook dengan mencantumkan port-nya: PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies80.

🎉 Selamat kamu telah berhasil menjalankan file PHP dengan web server!

Latihan Membuat File PHP

Untuk latihan, buatlah file baru dengan nama PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies81. Tikan kode berikut:

$ php -v2

Perhatikan kembali bagaimana kita menyisipkan dokumen HTML ke dalam file PHP. Juga cermati tag penutup php yang tidak disertakan di bagian akhir file.

Jangan lupa simpan file PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies81 di atas dan coba jalankan pada browser, kita akan mendapatkan tampilan seperti berikut:

![Output latihan 1]({{ "/img/2018-03-08-tutorial-php-untuk-pemula/07-exercise-1.png" | absolute_url }})

Rangkuman Membuat File PHP

Dari subbab ini kita bisa menyimpulkan beberapa poin:

  1. Kita bisa mencampurkan file PHP dengan dokumen lain (HTML misalnya).
  2. Mencampurkan file PHP dengan dokumen HTML dianggap sebagai praktik yang buruk.
  3. File PHP tidak butuh tag penutup (PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies42), kecuali kita ingin menyisipkan dokumen lain setelahnya.
  4. Kita bisa mencetak tag HTML dalam kode PHP.
  5. Server bawaan PHP hanya untuk kepentingan pengembangan, jangan gunakan untuk production!

Pengetahuan Dasar Syntax PHP

Komentar dalam PHP

Comment atau komentar adalah bagian yang tidak diikutsertakan dalam eksekusi sebuah program. Ia bertujuan sebagai catatan atau pengingat untuk pengembang.

Umumnya ia digunakan untuk:

  • Menjelaskan alur program yang rumit.
  • Justifikasi atau alasan mengapa kita menerapkan suatu algoritma atau solusi tertentu.
  • Sebagai dokumentasi untuk sebuah kelas atau fungsi (akan kita bahas nanti).

Dalam PHP sendiri, komentar bisa satu baris ataupun lebih. Untuk komentar satu baris yang pendek, gunakan dua garis miring: PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies84

$ php -v3

Untuk komentar satu baris, PHP juga mendukung komentar ala shell-style dengan tanda pagar: PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies85. Pun begitu umumnya developer PHP jarang menggunakannya.

$ php -v4

Bila komentarnya cukup panjang, kita bisa menuliskannya dalam beberapa baris; mengapitnya dengan tanda PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies86 dan PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies87:

$ php -v5

Komentar multi-baris ini umumnya digunakan untuk mendokumentasikan suatu kelas atau metode seperti berikut:

$ php -v6

🎨Hati-hati dalam menuliskan komentar!

Meski berguna sebagai catatan atau pengingat, komentar pada kode bisa jadi sebuah indikasi kurangnya tingkat readibility (keterbacaan) dari kode yang kita tulis. Kode yang baik harus mudah dibaca dan mudah dipahami tujuannya, meski tanpa komentar.

Baca lebih lanjut di buku Clean Code karya Robert C. Buku ini sangat direkomendasikan untuk para programmer. Salah satu bahasannya adalah tentang penggunaan komentar.

PHP itu Case Insensitive, Tapi

Hampir semua penulisan syntax pada PHP itu case insensitive—huruf kecil atau huruf besar tidak berpengaruh. Mulai dari keywords (seperti PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies18, PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies89, PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies90, dan lainnya), nama-nama fungsi, hingga nama-nama kelas; semuanya case insensitive. Perhatikan ragam penulisan kode-kode berikut (tak perlu khawatir jika kodenya tidak dimengerti).

$ php -v7

Tapi lain halnya dengan variable. Variable pada PHP itu case sensitive—di mana besar kecilnya huruf berpengaruh.

$ php -v8

🎨Konsistensi dalam penulisan kode itu penting

Meski hampir semua syntax dalam PHP itu case insensitive. Konsistensi penulisan besar-kecilnya huruf juga penting. Untuk keywords seperti PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies18 juga fungsi-fungsi bawaan seperti PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies92, selalu gunakan huruf kecil. Untuk nama-nama kelas, gunakan studly caps seperti PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies93. Sementara untuk nama method, gunakan camel case seperti PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies94.

Komunitas PHP sendiri memiliki standard penulisan kode yang dituangkan dalam panduan: PSR-1 dan PSR-2.

Latihan Dasar Syntax PHP

Sebagai latihan buatlah file baru dengan nama PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies95 lalu tikan kode berikut:

$ php -v9

Perhatikan kembali tiga cara penulisan komentar di atas. Cermati juga bahwa PHP case-sensitive untuk penamaan variable saja.

Rangkuman Komentar dan Case Sensitivity dalam PHP

Dari subbab ini kita bisa menyimpulkan poin-poin berikut:

  1. Komentar tidak diikutsertakan dalam eksekusi kode.
  2. Dalam PHP ada tiga cara untuk menuliskan komentar: dengan tanda PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies84, shell-style dengan tanda PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies85, serta PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies98 untuk komentar multi-baris.
  3. Hati-hati dalam menuliskan kode, karena ia bisa menjadi indikasi rendahnya tingkat readibility dari kode yang kita tuliskan.
  4. PHP itu case-insenstive, kecuali untuk penulisan nama variable.
  5. Meski PHP case-insensitive, konsistensi dalam penulisan kode itu sangat penting. Selalu gunakan huruf kecil untuk keyword atau fungsi-fungsi bawaan PHP, gunakan studly caps untuk nama kelas dan camel case untuk nama metode.

Variable dalam PHP

Variable berfungsi untuk menampung sebuah infomasi atau data. Data yang ditampung bisa beragam macamnya: string, angka, larik dan lainnya (akan kita bahas di bab selanjutnya). Dalam PHP tidak ada syntax khusus untuk mendeklarasikan sebuah variable, kita cukup mengawali nama variable dengan tanda dolar (PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies99).

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies0

Dan sesuai dengan namanya, nilai dari variable bisa diubah:

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies1

🎨Tulislah kode dalam Bahasa Inggris

Usahakan untuk selalu menggunakan Bahasa Inggris dalam menulis kode; mulai dari nama variable, nama kelas, hingga komentar. Keyword serta fungsi-fungsi bawaan PHP pun ditulis dalam Bahasa Inggris. Dengan begitu kode yang kita buat akan terbaca lebih natural karena menggunakan satu bahasa yang sama. Istilah-istilah teknikal pun umumnya lebih mudah dipahami jika ditulis dalam Bahasa Inggris.

Contoh kode-kode pada tutorial ini pun akan menggunakan Bahasa Inggris.

Menuliskan Nama Variable

Untuk penamaan variable sendiri, kita bisa menggunakan huruf, angka atau underscore ($ xcode-select --install00). Namun nama variable tidak boleh didahului oleh angka.

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies2

⚠️Nama variable case sensitive

Perlu diingat bahwa nama variable dalam PHP bersifat case sensitive—dimana besar-kecilnya huruf berpengaruh. Dengan begitu $ xcode-select --install01, $ xcode-select --install02 atau $ xcode-select --install03 adalah tiga buah variable yang berbeda.

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies3

💡Camel Case vs Snake Case

Umumnya developer PHP menulisankan nama variable dengan gaya camel case atau snake case:

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies4

Framework atau kerangka kerja PHP yang populer seperti Symfony dan Laravel, menerapkan gaya $ xcode-select --install04 di dalam code base-nya. Sementara framework CodeIgniter juga platform blog Wordpress menggunakan gaya $ xcode-select --install05.

Penulis sendiri, diluar CodeIgniter dan Wordpress, selalu menerapkan gaya penulisan $ xcode-select --install04—meniru panduan PSR-1 dalam aturan penulisan nama method.

️⚠️Gunakan nama variable yang deskriptif

Sebagai programmer, waktu yang kita habiskan untuk membaca kode jauh lebih besar daripada menuliskan kode itu sendiri. Oleh karenanya gunakan nama variable yang singkat namun tetap deskriptif dan mudah dipahami. Nama variable yang panjang namun mudah dipahami kegunaanya, justru jauh lebih baik daripada nama variable yang singkat tapi membingungkan.

![Gunakan nama variable yang deskriptif]({{ "/img/2018-03-08-tutorial-php-untuk-pemula/terrible-variable-names-meme.jpg" | absolute_url }})

Perhatikan kode berikut:

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies5

Tanpa komentar, akan sulit bagi kita memahami konteks kode di atas. Apa itu $ xcode-select --install07? Apa itu $ xcode-select --install08? Kita bisa perbaiki tingkat readibility dari kode di atas hanya dengan memberikan nama variable yang deskriptif.

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies6

Dengan pemberian nama yang deskriptif konteks kode di atas menjadi jelas: menghitung total pembayaran beserta diskon yang diterapkan. Kita bahkan tidak perlu menambahkan komentar untuk menjelaskan konteks kode di atas. Ingat, komentar bisa jadi indikasi jika kode yang kita tulis rendah tingkat readibility-nya.

Mencetak Nilai Variable

Contoh kode-kode variable di atas, tidak akan mencetak apapun bila dijalankan. Untuk mencetak nilai variable, kita bisa gunakan PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies18 tanpa kutip tunggal:

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies7

Kutip Tunggal vs Kutip Ganda

Kutip tunggal akan mencetak string apa adanya. Sementara kutip ganda mampu mencetak nilai variable yang diapitnya.

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies8

Dengan kutip ganda, kita juga bisa mengapit variable dengan tanda kurung kurawal: $ xcode-select --install10 dan $ xcode-select --install11. Dengan begitu kita bisa memisahkan variable dengan karakter biasa:

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies9

Selain itu, dengan kutip ganda kita bisa mencetak dengan mendahuluinya dengan garis miring ($ xcode-select --install12):

$ xcode-select --install0

Apabila dijalankan lewat Command Line kita akan mendapatkan keluaran seperti berikut:

$ xcode-select --install1

💡Apabila dijalankan lewat web server, baris baru ($ xcode-select --install13) yang disisipkan tidak akan tampak pada browser. Ini terjadi karena browser memperlakukan respon dari web server sebagai dokumen HTML—dimana baris baru harus direpresentasikan dengan tag $ xcode-select --install14.

Variable Scope

Variable scope berarti cakupan dari sebuah variable. Scope dari suatu variable akan bergantung pada lokasi dimana ia dideklarasikan. Scope juga mempengaruhi di bagian mana saja variable tersebut bisa diakses. Dalam PHP sendiri variable scope bisa dikelompokan ke dalam dua kategori: local scope dan global scope.

Local Scope

Variable yang dideklarasikan di dalam sebuah fungsi atau metode akan bersifat local. Variable tersebut tidak akan bisa diakses dari luar fungsi atau metode dimana ia dideklarasikan.

$ xcode-select --install2

Global Scope

Sementara variable yang dideklarasikan di luar sebuah fungsi atau metode, tergolong dalam global scope. Secara default, ia pun hanya bisa diakses dari luar sebuah fungsi atau metode.

$ xcode-select --install3

Kita bisa mengakses variable global dari dalam local scope dengan menggunakan keyword $ xcode-select --install15:

$ xcode-select --install4

Cara lainnya untuk mengakses variable global dari dalam local scope adalah dengan menggunakan predefined variable $ xcode-select --install16:

$ xcode-select --install5

![Jangan mengandalkan global variable]({{ "/img/2018-03-08-tutorial-php-untuk-pemula/global-variables-meme.jpg" | absolute_url }})

⚠️Jangan mengandalkan global variable

Menggunakan global variable di dalam sebuah fungsi atau metode merupakan praktik yang buruk. Kode di dalam fungsi tersebut menjadi bergantung pada kondisi di luar cakupanya. Bayangkan jika ada fungsi lain yang mengubah nilai dari $ xcode-select --install17 di atas, hasil keluaran dari fungsi $ xcode-select --install18 menjadi tidak reliable. Programmer juga dipaksa untuk memahami konteks aplikasi secara keseluruhan saat ingin memodifikasi $ xcode-select --install18.

Superglobals

Superglobals adalah sejumlah variable standard bawaan PHP yang dapat diakses di dalam semua scope.

  • $ xcode-select --install16: berisi variable yang dideklarasikan dalam global scope.
  • $ xcode-select --install21: berisi informasi mengenai server dan environment dimana file PHP tersebut dieksekusi.
  • $ xcode-select --install22: berisi parameter URL.
  • $ xcode-select --install23: berisi parameter yang dikirim dengan metode HTTP POST.
  • $ xcode-select --install24: berisi file-file yang diunggah dengan metode HTTP POST.
  • $ xcode-select --install25: berisi data-data dari HTTP request, gabungan data dari $ xcode-select --install22, $ xcode-select --install23 dan $ xcode-select --install28.
  • $ xcode-select --install29: berisi semua variable session.
  • $ xcode-select --install30: berisi environment variable.
  • $ xcode-select --install28: berisi variable-variable untuk HTTP cookies.

Untuk saat ini kita tidak perlu memusingkan sejumlah superglobals di atas.

Latihan Variable

Sebagai latihan, buatlah file baru dengan nama $ xcode-select --install32. Coba tikan dan pahami kode berikut:

$ xcode-select --install6

Perhatikan karakter apa saja yang valid untuk sebuah nama variable di dalam PHP. Cermati juga bagaimana dua cakupan variable dalam PHP bekerja.

Rangkuman Variable

Dari subbab ini kita bisa simpulkan beberapa hal:

  1. Variable digunakan untuk menyimpan sebuah informasi atau data.
  2. Nama dari sebuah variable hanya boleh terdiri dari huruf, angka dan underscore. Pun begitu nama variable tidak boleh didahului dengan angka.
  3. Berikanlah nama variable yang deskriptif. Lebih baik nama variable yang panjang tapi mudah dipahami tujuannya daripada nama variable yang pendek namun sulit dipahami fungsinya.
  4. Dalam PHP ada dua jenis cakupkan variable: local scope dan global scope. Variable yang dideklarasikan di dalam sebuah fungsi atau metode memiliki local scope. Sebaliknya variable di luar fungsi atau metode tergolong ke dalam global scope.
  5. Untuk mengakses variable global di dalam sebuah fungsi atau metode, kita bisa menggunakan keyword $ xcode-select --install15 atau dengan memanfaatkan variable $ xcode-select --install34.
  6. Mengandalkan variable global di dalam sebuah fungsi atau metode dianggap sebagai praktik yang buruk. Praktik ini membuat kode di dalamnya bergantung pada kondisi di luar cakupannya.

Konstanta dalam PHP

Bahasa PHP juga menyediakan constant atau konstanta. Berbeda dengan variable, nilai dari konstanta tidak bisa diubah. Dalam PHP, konstanta dideklarasikan dengan menggunakan perintah $ xcode-select --install35. Aturan penamaannya pun sama seperti variable:

  • Nama konstanta bisa terdiri dari: huruf, angka, atau underscore.
  • Nama konstanta boleh diawali dengan huruf atau underscore, tapi tidak boleh didahului oleh angka.

$ xcode-select --install7

Selain menggunakan $ xcode-select --install35, kita juga bisa mendeklarasikan konstanta dengan keyword: $ xcode-select --install37.

$ xcode-select --install8

🎨Gunakan huruf besar dan snake-case untuk konstanta

Meski diperbolehkan untuk menggunakan huruf kecil, banyak developer PHP yang sepakat untuk selalu menggunakan huruf besar dengan gaya snake case untuk penamaan konstanta (contoh: $ xcode-select --install38). Ini sejalan dengan aturan tentang penulisan nama konstanta di dalam sebuah kelas.

Cakupan Konstanta

Konstanta memiliki cakupan seperti , ia dapat diakses dari global dan local scope.

$ xcode-select --install9

Tipe Data untuk Konstanta

Pada PHP versi 5, nilai dari konstanta yang dideklarasikan dengan perintah $ xcode-select --install35 harus bertipe ($ xcode-select --install40, $ xcode-select --install41, $ xcode-select --install42, dan $ xcode-select --install43) atau . Semenjak PHP versi 7, kita juga bisa menggunakan tipe data .

$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"0

Sementara untuk keyword const, kita bisa menggunakan tipe data array sejak PHP versi 5.6:

$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"1

Case-Sensitivity pada Konstanta

Secara default, konstanta yang dideklarasikan dengan perintah $ xcode-select --install35 bersifat case-sensitive. $ xcode-select --install46 dan $ xcode-select --install47 pada contoh kode berikut merupakan dua konstanta yang berbeda:

$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"2

Pun begitu, kita bisa mengatur agar konstanta yang dideklarasikan bersifat case-insensitive dengan memberikan nilai $ xcode-select --install48 sebagai argumen ketiga dari $ xcode-select --install35:

$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"3

Sementara konstanta yang dideklarasikan dengan keyword const selalu bersifat case-sensitive.

$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"4

Predefined & Magic Constants

PHP dan beragam ekstensinya menyediakan sejumlah konstanta yang bisa kita gunakan. Berikut beberapa contoh konstanta yang disediakan oleh core PHP:

ConstantDeskripsi$ xcode-select --install50Versi PHP yang digunakan$ xcode-select --install51Sistem operasi yang ditargetkan oleh PHP$ xcode-select --install52Server API yang digunakan$ xcode-select --install53Nilai maksimum dari integer$ xcode-select --install54Untuk fatal run-time error$ xcode-select --install55Untuk run-time warning$ xcode-select --install56Untuk compile-time parse error$ xcode-select --install57Untuk mengaktifkan semua error dan warning$ xcode-select --install48Cek subbab $ xcode-select --install60Cek subbab $ xcode-select --install62Cek subbab

Cek daftar konstanta yang disediakan oleh core PHP di dokumentasi: .

💡Dalam PHP, nilai $ xcode-select --install48, $ xcode-select --install60, dan $ xcode-select --install62 merupakan konstanta dan penulisannya case-insenstive ($ xcode-select --install48 dan $ xcode-select --install68 adalah konstanta yang sama).

PHP juga memiliki beberapa magic constant—konstanta yang nilainya berganti tergantung dimana ia digunakan.

ConstantDeskripsi$ xcode-select --install69Lokasi direktori dari file PHP yang dieksekusi$ xcode-select --install70Lokasi dari file PHP yang dieksekusi$ xcode-select --install71Nama fungsi dimana fungsi dipanggil$ xcode-select --install72Nama kelas dimana konstanta dipanggil

Cek daftar magic constant lainnya di dokumentasi PHP: Magic Constants.

Latihan Konstanta

Sebagai latihan buat file baru dengan nama $ xcode-select --install73. Tikan kode berikut dan perhatikan bagaimana kita bisa mendeklarasikan konstanta dalam PHP:

$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"5

Rangkuman Konstanta

Berikut beberapa poin yang bisa kita simpulkan dari subbab ini:

  • Berbeda dengan variable, nilai dari konstanta tidak bisa diubah.
  • Dalam PHP konstanta bisa dideklarasikan dengan perintah $ xcode-select --install35 atau keyword $ xcode-select --install37.
  • Nama konstanta dapat terdiri dari huruf, angka, atay underscore. Pun begitu nama konstanta tidak boleh diawali dengan angka.
  • Dianjurkan untuk menggunakan huruf besar dengan gaya snake case untuk penulisan konstanta.
  • Konstanta memiliki cakupan seperti , ia bisa diakses dari global scope ataupun local scope.
  • Secara default nama konstanta bersifat case-sensitive, namun kita bisa mengubahnya menjadi case-insensitive dengan memberikan nilai $ xcode-select --install48 sebagai argumen ketiga dari perintah $ xcode-select --install35.
  • $ xcode-select --install48, $ xcode-select --install60, dan $ xcode-select --install62 merupakan salah satu konstanta yang disediakan core PHP.

Tipe Data dalam PHP

PHP mendukung 10 tipe data yang bisa dibagi ke dalam 3 kategori:

  1. Empat tipe data Skalar:
  2. Empat tipe data Compound atau gabungan:
  3. Dua tipe data spesial:

Selain itu PHP juga memiliki beberapa yang sebetulnya tidak diimplementasikan dalam PHP namun kerap digunakan dalam dokumentasi.

![Is mayonnaise a data type?]({{ "/img/2018-03-08-tutorial-php-untuk-pemula/is-mayonnaise-a-data-type.jpg" | absolute_url }})

Tipe Data Skalar

Tipe data skalar adalah tipe data yang hanya mengandung satu nilai. Ada empat tipe data skalar dalam PHP:

Boolean

Boolean merupakan tipe data yang paling sederhana. Ia berguna untuk mengekspresikan sebuah nilai kebenaran: $ xcode-select --install48 atau $ xcode-select --install60.

$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"6

Integer

Integer merupakan tipe data untuk bilangan bulat. Rentang integer sangat bergantung pada platform-nya. Untuk sistem 32-bit rentang angkanya mulai dari $ xcode-select --install83 hingga $ xcode-select --install84. Sementara untuk sistem 64-bit, rentang angkanya mencapai ± 9,2 juta triliyun.

$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"7

Kita bisa juga menuliskan data integer dengan notasi basis bilangan lainnya:

  • Oktal (basis 8): dahului bilangan dengan angka $ xcode-select --install85.
  • Heksadesimal (basis 16): dahului bilangan dengan $ xcode-select --install86.
  • Biner (basis 2): dahului bilangan dengan $ xcode-select --install87.

$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"8

Float

Float atau dikenal juga sebagai double merupakan tipe data untuk bilangan pecahan desimal.

$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"9

Kita juga bisa mengekspresikan tipe data float dalam bentuk ekponensial:

# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update0

⚠️Jangan gunakan float untuk mengecek kesetaraan nilai

Untuk tipe data float, PHP sendiri menerapkan standard IEEE 754 dimana error maksimum karena proses pembulatannya sebesar $ xcode-select --install88.

Selain itu karena keterbatasan komputer, angka pecahan seperti $ xcode-select --install89 atau $ xcode-select --install90; tidak bisa direpresentasikan dengan baik. Oleh karenanya hindari penggunaan float untuk mengecek kesetaraan nilai.

Perhatikan contoh kode di bawah, persamaan yang seharusnya menghasilkan nilai $ xcode-select --install48, justru menghasilkan $ xcode-select --install60.

# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update1

String

String merupakan tipe data untuk serangkaian karakter—bisa berupa huruf, angka, juga simbol. Ada empat cara untuk menuliskan data string dalam PHP:

  1. Dengan kutip tunggal
  2. Dengan kutip ganda
  3. Dengan syntax Heredoc
  4. Dengan syntax Nowdoc

1. Dengan kutip tunggal:

# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update2

2. Dengan kutip ganda

Cara kedua adalah dengan menggunakan kutip ganda. Dengan kutip ganda, kita bisa mencetak variable maupun .

# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update3

3. Dengan syntax Heredoc

Cara ketiga adalah dengan syntax heredoc—menggunakan tanda $ xcode-select --install93. Ia bekerja bekerja seperti tanda kutip ganda, sehingga kita bisa mencetak variable ataupun escaped-characters.

# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update4

Label yang digunakan tidak harus selalu $ xcode-select --install94, kita bisa menggunakan label apa saja selama diakhiri dengan label yang sama. Aturan penamaanya sama seperti variable.

# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update5

Perhatikan juga bahwa tidak boleh ada karakter lain pada baris yang sama setelah label pembuka:

# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update6

Juga tidak boleh ada spasi atau tab sebelum label penutup:

# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update7

4. Dengan syntax Nowdoc

Cara keempat adalah dengan syntax nowdoc. Sama-sama menggunakan tanda $ xcode-select --install93, namun label pembukanya diapit oleh kutip tunggal. Ia bekerja seperti kutip tunggal untuk heredoc, sehingga kita tidak bisa mencetak variable ataupun escaped-characters.

# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update8

Tipe Data Compound

Kategori tipe data yang kedua adalah compound. Dinamakan compound karena tipe data ini bisa terdiri dari satu atau lebih tipe data lainnya.

Array

Tipe data array atau larik adalah tipe data yang bisa menampung deretan data lainnya. Setiap elemen data dalam array dipisahkan oleh koma ($ xcode-select --install96). Ada dua cara untuk mendeklarasikan sebuah array:

  1. Dengan keyword $ xcode-select --install97
  2. Dengan short array syntax ($ xcode-select --install98)

1. Dengan keyword $ xcode-select --install97

Cara pertama adalah dengan menggunakan konstruksi bahasa $ xcode-select --install97:

# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update9

👍🏻 Mencetak array dengan fungsi $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"01

$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"01 adalah fungsi yang dapat kita gunakan untuk mencetak sebuah ekspresi atau variable sehingga isi informasi dari variable tersebut mudah dibaca oleh manusia. $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"01 sangat berguna untuk mencetak struktur dari sebuah array.

2. Dengan short array syntax

Cara kedua adalah dengan short array syntax, dimana deretan data diapit di antara kurung siku: $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"04 dan $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"05. Syntax ringkas ini tersedia sejak PHP versi 5.4.

# Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list0

💡array() vs short syntax

Tidak ada konsensus resmi antara deklarasi array dengan $ xcode-select --install97 atau short syntax. Namun umumnya setiap framework memiliki panduan penulisan kode tersendiri. Symfony misalnya memilih menggunakan language construct $ xcode-select --install97. Sementara Laravel lebih memilih menggunakan short syntax.

Tidak hanya string, array juga bisa menampung beragam tipe data lainnya: integer, boolean, string, bahkan array lainnya.

# Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list1

Kita akan pelajari array lebih lanjut di bagian lainnya.

Object

Object atau objek ini merupakan hasil inisiasi dari sebuah kelas. Kita bisa menganggap kelas sebagai blueprint atau cetak birunya, sementara objek merupakan benda nyata dari blueprint tersebut. Dalam PHP kita menginisiasi sebuah kelas dengan keyword $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"08:

# Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list2

Kita akan bahas lebih jauh tentang objek di tutorial lainnya.

Callable

Callable (sebelumnya dikenal dengan callback) merupakan tipe data yang nilainya bisa dipanggil layaknya sebuah fungsi. Kita bisa menggunakan fungsi $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"09 untuk memanggil sebuah callable.

# Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list3

Masih banyak cara-cara lainnya untuk mendeklarasikan sebuah callable, cek dokumentasi callable untuk lebih lengkapnya.

Iterable

Iterable merupakan tipe data baru yang bisa digunakan semenjak PHP versi 7.1. Iterable tergolong pseudo-type sehingga tidak ada cara khusus untuk mendeklarasikannya. Array dan semua kelas yang mengimplementasikan interface Traversable tergolong dalam tipe data iterable. Tipe data iterable ini bisa digunakan dalam foreach loop serta yield dalam generator.

Tipe Data Spesial

Resource

Resource merupakan tipe data yang spesial karena ia menyimpan referensi pada resource eksternal. Resource eksternal ini bisa beragam: koneksi FTP, sesi cURL, koneksi ke database, pointer ke sebuah file, dan lain sebagainya.

# Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list4

NULL

NULL berarti sebuah variable tidak memiliki nilai. Kita bisa menggunakan fungsi $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"10 untuk mengecek jika sebuah variable memiliki nilai atau tidak.

# Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list5

Tipe Data Pseudo

Tipe data pseudo adalah tipe data yang sebetulnya tidak ada dalam implementasi bahasa PHP, namun sering digunakan di dalam dokumentasi PHP:

  • $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"11: Jika data dapat memiliki beragam tipe data.
  • $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"12: Jika data dapat memiliki tipe data $ xcode-select --install41 atau $ xcode-select --install42.
  • $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"15: Jika data dapat berupa $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"16 atau $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"17.
  • $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"18: Menandakan jika fungsi/metode tidak mengambalikan apa-apa (diimplementasikan pada PHP versi 7.1 untuk ).

Type Juggling

Dalam PHP, kita tidak bisa secara eksplisit mengatur tipe data dari sebuah variable saat dideklarasikan. Tipe data dari sebuah variable bisa berubah-ubah tergantung dari bagaimana ia digunakan. Istilah ini dikenal sebagai type juggling:

# Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list6

Type Casting

Type casting digunakan untuk mengubah sebuah tipe data ke dalam tipe data lainnya.

# Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list7

Beberapa contoh hasil type casting yang kadang bisa membingungkan:

# Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list8

👍🏻 Mencetak tipe data dan nilai dengan $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"19

$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"19 merupakan fungsi bawaan PHP untuk mencetak nilai sekaligus tipe data dari satu atau beberapa ekspresi. Meski sederhana, $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"19 kerap digunakan dalam proses debugging.

Latihan Tipe Data

Untuk latihan, buatlah file PHP baru dengan nama $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"22. Tikan kode di bawah yang menggunakan beberapa tipe data sekaligus:

# Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list9

Apabila kita jalankan kode di atas pada browser, kita akan mendapatkan hasil seperti berikut:

![Latihan tipe data]({{ "/img/2018-03-08-tutorial-php-untuk-pemula/08-data-types-exercise.png" | absolute_url }})

Buat kembali file PHP baru dan beri nama $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"23. Cobalah kode berikut untuk mendemonstrasikan type juggling dan type casting yang kadang membingungkan dalam PHP:

$ brew update0

Rangkuman Tipe Data

Dari pembahasan subbab tipe data ini, kita bisa simpulkan beberapa poin berikut:

  • $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"24 adalah tipe data sederhana yang hanya memiliki dua kemungkinan kondisi: $ xcode-select --install48 atau $ xcode-select --install60.
  • $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"27 adalah tipe data untuk bilangan bulat, baik negatif ataupun positif.
  • $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"28 adalah tipe data untuk bilangan pecahan desimal.
  • Karena keterbatasan komputer untuk merepresentasikan bilangan pecahan, jangan lakukan perbandingan dengan $ xcode-select --install42.
  • $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"30 adalah tipe data untuk serangkaian karakter: bisa berupa huruf, angka, atau simbol.
  • Kita bisa menyisipkan variable ke dalam sebuah $ xcode-select --install43 yang dideklarasikan dengan kutip ganda ataupun syntax heredoc.
  • $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"32 adalah tipe data yang bisa menampung deretan data lainnya.
  • $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"33 merupakan tipe data spesial yang menunjukan ketiadaan nilai pada sebuah variable.
  • Dalam PHP kita tidak bisa secara eksplisit menentukan tipe data dari sebuah variable. Tipe data dari sebuah variable berubah-ubah tergantung dari bagaimana ia digunakan—proses ini disebut type juggling.
  • Dengan type casting kita bisa mengubah suatu tipe data ke dalam tipe data yang lain.

Operator

Sesuai namanya, operator digunakan untuk melakukan sebuah operasi pada satu atau beberapa nilai/variable.

Operator Aritmetika

ContohNama OperatorHasil$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"34IdentitasUbah $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"35 menjadi $ xcode-select --install41 atau $ xcode-select --install42$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"38NegasiUbah $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"35 menjadi bilangan negatif$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"40PenambahanPenjumlahan $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"35 dan $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"42$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"43PenguranganPengurangan $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"35 dan $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"42$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"46PerkalianPerkalian antara $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"35 dan $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"42$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"49PembagianPembagian anatara $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"35 dan $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"42$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"52ModulusSisa bagi antara $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"35 dan $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"42$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"55Pemangkatan$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"35 pangkat $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"42

Berikut adalah contoh penggunaanya:

$ brew update1

Operator Assignment

Operator assignment ($ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"58) digunakan untuk memasukan sebuah nilai ke dalam sebuah variable. Kita sudah menggunakannya berkali-kali:

$ brew update2

Untuk mepersingkat, kita juga bisa menggabungkan tanda $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"58 dengan operator artimetika:

ContohSama dengan$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"60$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"61$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"62$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"63$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"64$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"65$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"66$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"67$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"68$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"69$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"70$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"71

$ brew update3

Operator Increment & Decrement

Operator increment digunakan untuk menambah nilai variable sebesar satu. Sebaliknya operator decrement digunakan untuk mengurangi nilai variable sebesar satu.

ContohNama OperatorHasil$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"72Pre-incrementTambah $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"35 sebesar 1 lalu kembalikan hasilnya$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"74Post-incrementKembalikan nilai $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"35 terlebih dahulu baru ditambah 1$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"76Pre-decrementKurangi $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"35 sebesar 1 lalu kembalikan hasilnya$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"78Post-decrementKembalikan nilai $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"35 terlebih dahulu baru dikurangi 1

Perhatikan kode berikut untuk membedakan antara pre dan post:

$ brew update4

Operator Bitwise

Sesuai namanya, operator bitwise digunakan untuk melakukan operasi pada level bit.

ContohNama Operator$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"80And`$a$b`$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"81Xor (Exclusive or)$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"82Not$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"83Shift left$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"84Shift right

$ brew update5

Penulis pribadi jarang bahkan hampir tidak pernah menggunakan operator bitwise saat bekerja dengan kode PHP sehari-hari. Contoh aplikatif dari penggunaan bitwise operator ini bisa dilihat dari cara mengatur error reporting pada PHP:

$ brew update6

Operator Perbandingan

Operator perbandingan digunakan untuk membandingkan kedua nilai. Dalam PHP ada beberapa operator perbandingan yang bisa kita gunakan.

ContohNama Operator$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"85Sama$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"86Identik$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"87Tidak sama$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"88Tidak sama$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"89Tidak identik$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"90Kurang dari$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"91lebih dari$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"92Kurang dari atau sama$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"93Lebih dari atau sama$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"94Spaceship

Operator $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"95 akan menghasilkan nilai $ xcode-select --install48 jika kedua nilai memiliki nilai yang sama setelah diterapkan . Sementara operator $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"97 hanya akan bernilai $ xcode-select --install48 jika nilai dan tipe data keduanya sama.

$ brew update7

Hal serupa juga berlaku untuk $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"99 dan # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update00.

$ brew update8

Type juggling juga berlaku untuk operator perbandingan lainnya:

$ brew update9

Operator spaceship (# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update01) baru tersedia sejak PHP versi 7. Type juggling juga diterapkan saat menggunakan operator ini. Operator spaceship ini bisa menghasilkan nilai integer dengan tiga kemungkinan:

  1. $ xcode-select --install85 jika nilai kedua sisi sama.
  2. # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update03 jika nilai di sisi kiri lebih besar dariapada sisi kanan.
  3. # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update04 jika nilai di sisi kiri lebih kecil daripada sisi kanan.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;00

Penerapan type juggling pada beberapa operator perbandingan kadang dapat membuat kita bingung. Cek table perbandingan untuk beragam tipe data di dokumentasi PHP: Type Comparison Tables.

![Why do you use strict comparison?]({{ "/img/2018-03-08-tutorial-php-untuk-pemula/why-use-strict-comparison.jpg" | absolute_url }})

Operator Logika

Ada enam jenis operator logika yang bisa kita gunakan di dalam PHP:

ContohNamaHasil# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update05Not$ xcode-select --install48 jika $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"35 bernilai $ xcode-select --install60# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update09And$ xcode-select --install48 jika $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"35 dan $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"42 bernilai $ xcode-select --install48# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update14And$ xcode-select --install48 jika $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"35 dan $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"42 bernilai $ xcode-select --install48# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update19Or$ xcode-select --install48 jika salah satu atau keduanya bernilai $ xcode-select --install48`$a$b`# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update22Xor$ xcode-select --install48 jika $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"35 atau $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"42 bernilai $ xcode-select --install48 tapi tidak keduanya

Operator # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update27 dan # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update28 memiliki fungsi yang serupa, pun begitu operator # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update28 memiliki prioritas yang lebih tinggi dibandingkan operator # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update27. Begitu pula dengan operator # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update31 dan # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update32—operator # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update32 memiliki prioritas lebih tinggi daripada # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update31. Cek .

Perhatikan keluaran dari kode di bawah ini:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;01

Type juggling akan diterapkan bila kita menggunakan tipe data lain selain $ xcode-select --install40:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;02

Operator Ternary

Operator ternary (# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update36) bekerja seperti struktur kontrol .

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;03

Baris di atas akan dievaluasi sebagai # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update38 apabila # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update39 bernilai $ xcode-select --install48 setelah diterapkan type juggling. Sebaliknya, bila # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update39 bernilai $ xcode-select --install60, maka # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update43 yang akan dievaluasi. Perhatikan contoh berikut:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;04

Karena # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update39 bernilai $ xcode-select --install48, maka kita akan mendapatkan keluaran berupa # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update46. Coba ubah nilai dari variable # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update47.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;05

Sejak PHP versi 5.3, bagian # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update38 bersifat opsional:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;06

Baris di atas akan dievaluasi sebagai # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update39 apabila ia bernilai $ xcode-select --install48 setelah diterapkan type juggling. Bilai bernilai $ xcode-select --install60, maka # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update43 yang akan dievaluasi. Perhatikan contoh berikut:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;07

Apabila variable # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update47 bernilai $ xcode-select --install60 (setelah type juggling), maka nilai # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update55 lah yang akan diberikan pada $ xcode-select --install01:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;08

Null Coalescing Operator

Ada juga null coalescing operator (# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update57) yang tersedia sejak PHP versi 7:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;09

Baris di atas akan dievaluasi menjadi # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update38, apabila # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update39 bernilai $ xcode-select --install62. Apabila # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update39 tidak bernilai $ xcode-select --install62, maka # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update39 yang akan dievaluasi.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;10

Namun jika # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update47 bernilai $ xcode-select --install62, maka $ xcode-select --install01 akan bernilai # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update55:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;11

Operator String

Ada dua operator string yang bisa kita gunakan: # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update68 dan # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update69. Keduanya sama-sama berfungsi untuk menggabungkan dua buah $ xcode-select --install43:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;12

Operator Array

PHP juga menyediakan beberapa operator yang bisa digunakan untuk array:

ContohNama$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"40Union$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"85Equality$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"86Identity$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"87Inequality$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"88Inequality$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"89Non-Identity

Operator # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update77 akan menggabungkan kedua array. Jika kedua array memiliki key yang sama, maka nilai dari sisi kiri akan digunakan:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;13

Operator $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"95 akan menghasilkan $ xcode-select --install48 jika kedua memiliki pasangan key/value yang sama setelah diterapkan type juggling. Sementara operator $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"97, selain mengecek kesamaan nilai, ia juga akan mengecek tipe data serta urutuannya.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;14

Adapun operator $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"99, # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update82 dan # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update00 merupakan kebalikan dari operator $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"95 dan $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"97.

Operator Tipe

PHP memiliki satu operator tipe: # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update86—ia digunakan untuk mengecek apakah sebuah variable merupakan instance dari sebuah kelas ataupun kelas turunannya.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;15

Error Control Operator

PHP memiliki satu operator untuk mengendalikan error: # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update87—sesuai namanya ia digunakan untuk "menelan" pesan kesalahan yang bisa terjadi pada sebuah ekspresi. Misalnya kita ingin membuka file bernama # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update88:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;16

Jika file # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update88 ini tidak ada, kita akan mendapatkan pesan warning seperti di bawah (dengan catatan kita menyertakan level $ xcode-select --install55 pada konfigurasi PHP).

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;17

Untuk menekan pesan error seperti di atas, kita bisa gunakan operator # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update87:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;18

Umumnya operator ini dikombinasikan dengan perintah # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update93 atau # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update94 untuk menghentikan eksekusi program.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;19

Execution Operator

PHP memiliki satu execution operator berupa backtick (# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update95). Operator ini memiliki fungsi yang sama persis dengan fungsi # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update96. Isi diantara backtick akan dieksekusi sebagai perintah pada shell atau terminal.

Operator ini juga akan mengembalikan $ xcode-select --install43 yang merupakan output terminal dari perintah yang dieksekusi.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;20

⚠️Hati-hati dalam menggunakan execution operator

Hati-hati dalam menggunakan input dari pengguna untuk menjalankan execution operator atau fungsi # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update96. Operator ini bisa menjadi celah keamanan yang dieksploitasi untuk menjalankan perintah yang berbahaya pada server kita.

Prioritas Operator

Setiap operator dalam PHP memiliki tingkat prioritas yang berbeda. Sama seperti apa yang telah kita pelajari di bangku sekolah dasar, operasi perkalian # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update99 akan didahulukan sebelum operasi penjumlahan # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update77:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;21

Cek dokumentasi PHP untuk daftar lengkap prioritas operator: Operator Precedence.

Kita juga bisa menggunakan tanda kurung # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list01 untuk mengelompokan operasi. Ini sangat berguna saat kita ragu dengan prioritas operator yang akan dijalankan.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;22

Latihan Menggunakan Operator

Untuk melatih penggunaan operator, buatlah file PHP baru dan beri nama # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list02:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;23

Rangkuman Operator dalam PHP

Dari subbab operator ini, kita bisa simpulkan beberapa poin utama:

  • Operator aritmetik digunakan untuk melakukan operasi aritmetik seperti penambahan, perkalian hingga pemangkatan.
  • Operator assignment digunakan untuk memberikan nilai pada suatu variable. Untuk mempersingkat, operator ini bisa digabungkan dengan operator aritmetik.
  • Operator increment digunakan untuk menambah nilai dari variable sebesar satu. Sebaliknya decrement digunakan untuk mengurangi nilai variable sebesar satu.
  • Operator bitwise digunakan untuk melakukan operasi pada tingkatan bit.
  • Operator $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"95 dan $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"99 akan membandingkan nilai setelah diterapkan type juggling. Sementara $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"97 dan # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update00 akan mempertimbangkan nilai sekaligus tipe datanya.
  • Setiap operator dalam PHP memiliki tingkat prioritas yang berbeda-beda. Contohnya operator # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update99 akan didahulukan sebelum operator # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update77 atau # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list09.

Percabangan dengan If Elseif dan Else

![AI Inside]({{ "/img/2018-03-08-tutorial-php-untuk-pemula/ai-inside.jpg" | absolute_url }})

Keyword If

Keyword PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies89 digunakan untuk mengatur alur eksekusi program, dimana suatu blok kode (# Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list11) hanya akan dieksekusi bila syarat yang ditentukan dipenuhi (# Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list12).

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;24

Misal kita ingin mencetak sebuah pesan jika nama pengguna adalah # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list13:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;25

Pesan # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list14 hanya akan tercetak jika nilai $ xcode-select --install01 sama dengan # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list13. Coba ubah nilai $ xcode-select --install01 dengan # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list18, pesan # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list14 tidak akan tercetak.

Ingat bahwa PHP tidak memedulikan spasi. Jadi blok kode # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list11 yang hanya terdiri dari satu statement saja, bisa ditempatkan dalam baris yang sama:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;26

Namun apabila blok kode # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list11 lebih dari satu statement, kita harus menggunakan kurang kurawal # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list22 seperti berikut:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;27

Perhatikan bagaimana kode di antara kurung kurawal menjorok ke dalam. Indentasi seperti ini tidak diperlukan, tapi sangat dianjurkan karena mempermudah kita untuk membedakan bagian yang termasuk ke dalam blok PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies89.

🎨Gunakan 4 spasi untuk indentasi

Indentasi sangatlah penting. Dengannya kita dapat dengan mudah membedakan blok kode yang satu dengan yang lainnya. Panduan penulisan kode menganjurkan kita untuk meninggalkan tab dan menggunakan 4 spasi sebagai indentasi. Hal ini umumnya dapat dengan mudah diatur pada text editor.

Kita juga bisa menyisipkan blok PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies89 di dalam blok PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies89 lainnya:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;28

Pesan # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list26 hanya akan tercetak bila $ xcode-select --install01 adalah # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list13 dan # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list29 lebih dari atau sama dengan # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list30. Coba ubah nilai # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list29 menjadi # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list32 atau # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list33. Perhatikan juga body untuk blok PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies89 yang kedua menjorok sebesar 8 spasi.

🎨Selalu gunakan kurung kurawal meski hanya 1 statement

Mengikuti pada PSR-2, dianjurkan untuk selalu menggunakan kurung kurawal dan indentasi meski body dari blok PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies89 hanya terdiri dari satu statement.

Yoda Condition

Yoda adalah karakter dalam Star Wars yang memiliki gaya bicara yang tidak biasa. Dimana frasa-frasa dalam kalimatnya sering ditukar posisinya.

Yoda condition—atau dikenal juga dengan Yoda notation—merupakan istilah dalam pemrograman dimana dua bagian dari sebuah ekspresi kondisi ditukar. Nilai yang konstan ditempatkan di sebelah kiri operator dan nilai atau variable yang diperiksa ditempatkan di bagian kanan operator.

Menggunakan contoh sebelumnya, string # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list13 bersifat konstan sementara nilai dari variable $ xcode-select --install01 dapat berubah:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;29

Gaya penulisan seperti ini untuk menghindari kesalahan yang bisa fatal akibatnya karena programmer lupa untuk menggunakan ($ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"95 atau $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"97) dan justru menggunakan ($ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"58).

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;30

Bayangkan apabila rekening pengguna yang awalnya # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list41 kini menjadi $ xcode-select --install85 karena salah menggunakan operator. Dengan penulisan gaya Yoda, kita terhindar dari ketidaksengajaan memasukan nilai ke sebuah variable saat lupa menggunakan operator perbandingan.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;31

Meski penggunaan operator yang salah, # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list43 dari pengguna tetap aman di # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list41.

🎨Gaya Yoda di framework Symfony

Salah satu framework PHP yang mengadopsi Yoda condition adalah Symfony. Yoda condition hanya diterapkan untuk operator: $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"95, $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"97, $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"99 dan # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update00. Operator perbandingan lainnya seperti # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list49, # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list50, # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list51, dan # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list52 tetap menggunakan notasi biasa.

Keyword Else

Kita bisa menggunakan keyword # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list53 jika ada blok kode yang ingin dieksekusi saat kondisi pada blok PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies89 tidak terpenuhi.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;32

Apabila kode di atas dijalankan, kita akan mendapatkan keluaran: # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list55. Ini terjadi karena nilai $ xcode-select --install01 bukanlah # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list13.

Keyword Elseif

Kita bisa menggunakan keyword # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list58 atau # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list59 bila ingin mengecek alternatif kondisi lainnya saat kondisi pada blok PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies89 tidak terpenuhi. Misal kita juga ingin menampilkan pesan khusus saat $ xcode-select --install01 adalah # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list62:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;33

Apabila dijalankan, kode di atas akan mencetak # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list63.

Kita bisa juga menambahkan keyword # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list53 untuk menangani kemungkinan nilai $ xcode-select --install01 yang bukan # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list13 dan bukan pula # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list62:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;34

Keyword PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies89 harus menjadi yang pertama, diikuti oleh # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list58 dan diakhiri dengan # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list53. Kita bisa juga menggunakan keyword # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list58 lebih dari satu kali:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;35

🎨Gunakan # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list58 dan jangan gunakan # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list59

Keyword # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list58 dan # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list59 memiliki fungsi yang serupa. Namun bila merujuk pada panduan penulisan kode , dianjurkan untuk selalu menggunakan # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list58 ketimbang padanannya # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list59.

Gaya Lain Penulisan If Elseif dan Else

Selain menggunakan kurung kurawal seperti pada contoh di atas. Blok PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies89, # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list58, dan # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list53 juga bisa ditulisan dengan titik koma (# Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list81):

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;36

Perhatikan juga bahwa penulisan blok PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies89 dengan gaya seperti ini, harus diakhiri dengan keyword # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list83. Penulisan seperti ini tidak dianjurkan dalam . Pun begitu penulisan seperti umum ditemukan dalam templat Wordpress.

Type Juggling diterapkan Pada Kondisi

Perlu diingat juga bahwa diterapkan pada pemeriksaan kondisi. Ekspresi pada kondisi PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies89 ataupun # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list58 akan diubah kedalam tipe data $ xcode-select --install40.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;37

Latihan Percabangan dengan If Else dan Elseif

Untuk latihan, buat kembali contoh pada dengan tambahan satu # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list58 lainnya:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;38

Simpan dengan nama # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list89. Jalankan file PHP di atas dan coba ganti nilai dari variable $ xcode-select --install01.

Rangkuman If Elseif dan Else

Dari subbab ini kita bisa simpulkan beberapa poin berikut:

  • Kode pada blok PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies89 akan dieksekusi jika kondisinya terpenuhi (bernilai $ xcode-select --install48).
  • Kode pada blok # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list58 akan dieksekusi jika kondisinya terpenuhi sementara kondisi pada blok PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies89 serta blok-blok # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list58 sebelumnya tidak terpenuhi.
  • Kode pada blok # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list53 akan dieksekusi bila kondisi pada blok PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies89 serta blok-blok # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list58 sebelumnya tidak terpenuhi.
  • Selalu gunakan kurung kurawal meski # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list11 dari blok PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies89 hanya terdiri dari satu statement.
  • Meski tidak diharuskan, indentasi pada bagian # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list11 sangat dianjurkan agar kode mudah dibaca.
  • Yoda condition diterapkan pada ekpresi kondisi; dimana nilai yang konstan diletakan pada sisi kiri operator dan nilai variable yang bisa berubah-ubah pada sisi kanan operator. Ini untuk menghindari akibat fatal dari kesalahan penulisan operator perbandingan ($ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"95 dan $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"97) dengan operator assignment ($ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"58).
  • Type juggling diterapkan juga pada kondisi PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies89 dan # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list58.

Percabangan dengan Switch

Fungsi dari keyword $ brew update07 hampir sama dengan PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies89. $ brew update07 bisa kita gunakan apabila sebuah ekspresi ($ brew update10) memiliki beberapa kemungkinan PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies22:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;39

Berikut contoh implementasinya:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;40

Kode di atas akan mencetak keluaran # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list63. Coba ganti nilai variable $ xcode-select --install01 dengan # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list13 atau $ brew update15, keluaran apa yang tercetak?

Keyword Break dalam Switch

Blok $ brew update07 dijalankan dari atas ke bawah. Bila ada nilai $ brew update17 yang cocok, PHP akan mulai mengeksekusi kode setelahnya. Keyword $ brew update18 ini berguna untuk memberitahu PHP kapan harus berhenti mengeksekusi kode dalam blok tersebut.

Untuk memahaminya coba jalankan kode berikut:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;41

Tanpa menggunakan $ brew update18, kita akan mendapatkan keluaran seperti berikut:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;42

Tanpa $ brew update18, kode dalam blok untuk $ brew update15 ikut tereksekusi juga. Apabila kita ganti nilai $ xcode-select --install01 dengan # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list13, kita akan mendapatkan keluaran seperti berikut:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;43

Untuk contoh kita sebelumnya, tentu keadaan seperti ini tidak diinginkan. Namun ada pula kasus dimana keyword $ brew update18 sengaja tidak disertakan. Ini umumnya diterapkan apabila beberapa $ brew update17 mengeksekusi kode yang sama. Perhatikan contoh berikut:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;44

Karena $ brew update26 dan $ brew update27 harus mengeksekusi kode yang sama, begitu pula dengan $ brew update28, $ brew update29 dan $ brew update30, kita bisa menyederhanakan kode di atas menjadi:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;45

Keyword Default dalam Switch

Keyword PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies53 dapat kita gunakan untuk menangani kemungkinan saat semua $ brew update17 tidak ada yang cocok.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;46

Karena tidak ada $ brew update17 yang cocok untuk # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list18, maka blok PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies53 akan dieksekusi. Keyword PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies53 pun harus ditempatkan di paling akhir. Karena ditempatkan di paling akhir, sebetulnya keyword $ brew update18 pada PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies53 tidak diperlukan.

Keterbatasan Switch

Tidak semua permasalahan percabangan cocok diselesaikan dengan $ brew update07. $ brew update17 pada blok $ brew update07 tidak bisa menerima sebuah ekspresi dan hanya bisa menerima sebuah nilai. $ brew update07 cocok untuk masalah percabangan yang kemungkinan kondisinya diskret atau categorical—seperti pada pengelompokan jenis makanan pada contoh sebelumnya.

$ brew update07 tidak cocok jika kemungkinan kondisinya bersifat kontinu atau dalam rentang tertentu. Misalnya untuk masalah pengecekan nilai dengan rentang $ xcode-select --install85 sampai $ brew update45—dimana murid dinyatakan lulus jika nilainya lebih dari $ brew update46. Kode di bawah ini tidak akan bisa dijalankan:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;47

Kita tidak bisa menggunakan ekspresi pada $ brew update17. Sehingga kita harus menuliskan semua kemungkinan $ brew update17 untuk $ brew update49:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;48

Bayangkan jika $ brew update49 memiliki rentang dari $ brew update51! Kasus seperti ini dapat dengan mudah diselesaikan dengan # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update37:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;49

Latihan Percabangan Switch

Sebagai latihan, ubah kode pada sebelumnya ke dalam bentuk $ brew update07. Simpan ubahan file tersebut dengan nama $ brew update55.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;50

Rangkuman Percabangan Switch

Pada subbab $ brew update07 ini dapat kita simpulkan beberapa hal:

  • $ brew update07 digunakan untuk menyelesaikan masalah percabangan yang kemungkinan kondisinya bersifat diskret dan bukan kontinu.
  • Saat ada $ brew update17 yang cocok, keyword $ brew update18 digunakan untuk memberitahu PHP kapan harus berhenti mengeksekusi kode pada blok tersebut.
  • Keyword PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies53 digunakan untuk menangani kemungkinan kondisi diluar $ brew update17 yang dideklarasikan sebelumnya.

Perulangan dengan While

Perulangan digunakan untuk mengeksekusi suatu blok kode berkali-kali selama kondisi yang disyaratkan terpenuhi. Salah satu keyword perulangan yang bisa kita gunakan dalam PHP adalah $ brew update62:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;51

Blok # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list11 akan dieksekusi berulang kali selama # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list12 terpenuhi (bernilai $ xcode-select --install48). Berikut contoh sederhananya:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;52

Apabila kode di atas dijalankan, kita akan mendapatkan keluaran seperti berikut:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;53

Sama halnya dengan blok PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies89, meski hanya ada satu statement pada blok # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list11, dianjurkan untuk selalu menggunakan kurung kurawal dan indentasi:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;54

Pada contoh di atas, nilai dari variable $ brew update68 bertambah satu disetiap perulangan. Perulangan baru berhenti saat nilai $ brew update68 mencapai $ brew update70. Kita juga bisa membalik perulangan di atas:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;55

Kita akan mendapatkan output seperti berikut:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;56

Infinite Loop pada Perulangan While

Infinite loop atau perulangan tak hingga bisa terjadi pada $ brew update62 jika kondisi yang disyaratkan selalu bernilai $ xcode-select --install48—mengakibatkan kode pada blok # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list11 dieksekusi terus menerus. Umumnya ini terjadi karena kita lupa untuk mengubah nilai variable yang digunakan pada syarat kondisi perulangan:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;57

Pada contoh kode di atas, nilai dari $ brew update68 tetap $ xcode-select --install85. Blok # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list11 akan dieksekusi terus menerus dan kita akan mendapati deretan angka # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update03 tercetak di terminal.

Keyword Break pada Perulangan While

Dalam blok $ brew update62, kita juga bisa menggunakan keyword $ brew update18 untuk keluar dari perulangan—meski # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list12 masih bernilai $ xcode-select --install48.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;58

Meski ekspresi kondisi selalu bernilai $ xcode-select --install48, pada blok # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list11 kita mengecek nilai variable $ brew update68. Apabila nilai $ brew update68 lebih dari atau sama dengan $ brew update70, kita hentikan perulangan dengan menggunakan keyword $ brew update18. Berikut keluaran dari kode di atas:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;53

Keyword Continue pada Perulangan While

Ada juga keyword $ brew update88—ia digunakan untuk menghentikan eksekusi kode pada siklus perulangan yang tengah berlangsung dan melanjutkan perulangan pada iterasi berikutnya (selama kondisi masih bernilai $ xcode-select --install48 tentunya).

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;60

Pada contoh kode di atas, kode $ brew update90 tidak akan dieksekusi apabila $ brew update68 bernilai ganjil. Apabila kode di atas dijalankan, kita akan mendapatkan keluaran seperti di bawah ini:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;61

Gaya Lain Penulisan Perulangan While

Perulangan $ brew update62 juga memiliki alternatif penulisan yang lain:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;62

Perhatikan bagaimana kurung kurawal pembuka digantikan dengan titik dua (# Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list81) dan kurung kurawal penutup diganti dengan $ brew update94. Meski diperbolehkan, penulisan seperti ini tidak dianjurkan oleh panduan .

Apabila dijalankan, kode di atas akan menghasilkan output yang sama:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;53

Type Juggling pada Perulangan While

Seperti pada PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies89 dan # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list58, type juggling juga diberlakukan pada kondisi blok $ brew update62:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;64

Latihan Perulangan While

Untuk melatih penggunaan $ brew update62, buatlah program untuk mencetak bilangan ganjil antara $ xcode-select --install85 sampai // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;000. Beri nama file baru ini dengan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;001.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;65

Selanjutnya dengan perulangan $ brew update62, buatlah program yang dapat mencetak keluaran seperti berikut pada terminal:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;66

Simpan file ini dengan nama // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;003.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;67

Rangkuman Perulangan While

Beberapa hal yang dapat kita rangkum dari subbab $ brew update62:

  • Blok # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list11 pada perulangan $ brew update62 akan terus dieksekusi selama kondisi yang disyaratkan terpenuhi (bernilai $ xcode-select --install48).
  • Infinite loop dapat terjadi saat kondisi yang disyaratkan selalu bernilai $ xcode-select --install48 dan tidak ada mekanisme yang diterapkan untuk keluar dari perulangan tersebut (tidak menggunakan keyword $ brew update18).
  • Infinite loop umumnya terjadi karena kita lupa untuk mengubah nilai variable yang digunakan pada syarat kondisi perulangan, akibatnya kondisi yang diterapkan selalu bernilai $ xcode-select --install48.
  • Keyword $ brew update18 digunakan untuk keluar dari perulangan.
  • Keyword $ brew update88 digunakan untuk menghentikan eksekusi pada siklus perulangan yang tengah berlangsung dan melanjutkan perulangan pada iterasi berikutnya (selama kondisi perulangannya masih bernilai $ xcode-select --install48).

![While Loop]({{ "/img/2018-03-08-tutorial-php-untuk-pemula/while-loop.gif" | absolute_url }})

Perulangan Do-While

Perulangan dengan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;014 hampir sama dengan $ brew update62, hanya saja pengecekan kondisi (# Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list12) pada // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;014 dilakukan pada bagian akhir di setiap perulangan—setelah # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list11 dieksekusi.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;68

Berikut contoh implementasinya:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;69

Apabila kode di atas dijalankan, kita akan mendapatkan keluaran seperti di bawah:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;53

Struktur // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;014 yang mengecek kondisi perulangan setelah blok # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list11, menjamin kode pada blok # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list11 dieksekusi setidaknya satu kali—meski kondisi perulangannya tidak terpenuhi.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;71

Meski nilai $ brew update68 tidak memenuhi syarat perulangan, blok # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list11 pada kode di atas tetap dieksekusi sebanyak satu kali. Kita akan mendapatkan keluaran seperti di bawah:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;72

Berbeda dengan perulangan $ brew update62, jika kondisi tidak terpenuhi pada perulangan pertama, kode pada blok # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list11 tidak akan dijalankan sama sekali:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;73

Salah satu contoh pemanfaatannya adalah pada aplikasi command line, dimana kita meminta sebuah input dari pengguna dengan syarat tertentu.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;74

Apabila dijalankan pada terminal, kode di atas akan meminta masukan angka genap dari pengguna. Perulangan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;014 baru akan berhenti saat pengguna memasukan angka genap. Fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;027 digunakan untuk membaca satu baris masukan dari pengguna.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;75

Dengan perulangan $ brew update62 kita harus menggunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;027 di dua tempat:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;76

Atau harus menggunakan pengecekan kondisi yang lebih rumit:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;77

Infinite Loop pada Perulangan Do-While

Seperti pada $ brew update62, infinite loop umumnya terjadi pada // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;014 karena kita lupa untuk mengubah nilai variable yang digunakan pada pengecekan kondisi:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;78

Kode di atas akan terus menerus mencetak angka # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update03. Kondisi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;033 akan selalu bernilai $ xcode-select --install48 pada tiap perulangan karena variable $ brew update68 tidak berubah dan selalu bernilai $ xcode-select --install85.

Keyword Break pada Perulangan Do-While

Sama halnya dengan blok $ brew update62, kita juga bisa menggunakan keyword $ brew update18 pada // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;014 untuk keluar dari perulangan.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;79

Pada kode di atas, perulangan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;014 akan berhenti saat nilai $ brew update68 lebih dari atau sama dengan $ brew update70. Kita akan mendapatkan keluaran seperti berikut:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;53

Keyword Continue pada Perulangan Do-While

Keyword $ brew update88 pun dapat kita gunakan dalam blok // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;014. Fungsinya sama: untuk menghentikan eksekusi kode pada perulangan yang tengah berlangsung dan langsung melanjutkan perulangan pada iterasi berikutnya (selama kondisinya masih $ xcode-select --install48).

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;81

Pada contoh di atas, blok kode // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;046 tidak akan dieksekusi saat nilai dari $ brew update68 ganjil. Hasilnya kita akan mendapatkan keluaran berupa angka-angka genap:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;61

Latihan Perulangan Do-While

Untuk latihan, ubah kode pada dengan menggunakan keyword // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;014 lalu simpan dengan nama // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;050.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;83

Dengan memanfaatkan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;014, buat juga program untuk mencetak keluaran seperti berikut:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;66

Simpan file ini dengan nama // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;052.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;85

Rangkuman Perulangan Do-While

Dari subbab // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;014 ini bisa kita simpulkan poin-poin berikut:

  • Perulangan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;014 mirip dengan $ brew update62, hanya saja pengecekan kondisi dilakukan pada bagian akhir—setelah blok # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list11 dieksekusi.
  • Perulangan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;014 menjamin kode pada blok # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list11 dieksekusi satu kali meski kondisi perulangannya tidak terpenuhi.
  • Sama seperti $ brew update62, kita bisa menggunakan keyword $ brew update18 dan $ brew update88 pada perulangan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;014.

Perulangan dengan For

Keyword perulangan lainnya yang bisa kita gunakan adalah PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies90.

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;86

Sebuah blok perulangan PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies90, bisa dibagi kedalam 4 bagian:

  1. # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update39: Sebuah ekspresi yang akan dijalankan hanya satu kali di awal perulangan. Ekspresi ini akan tetap dijalankan meski kondisi yang disyaratkan tidak terpenuhi. Umumnya digunakan untuk menginisiasi variable yang digunakan dalam perulangan.
  2. # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list12: Ekspresi kondisi yang menjadi syarat untuk perulangan.
  3. # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update38: Ekspresi yang akan dieksekusi di tiap akhir perulangan. Umumnya digunakan untuk mengubah nilai variable yang digunakan dalam perulangan.
  4. # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list11: Blok kode yang akan dieksekusi jika # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list12 terpenuhi (bernilai $ xcode-select --install48).

Contoh sederhana penggunaanya:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;87

Apabila kode di atas dijalankan, kita akan mendapat keluaran seperti berikut:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;53

Apabila blok # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list11 hanya terdiri dari satu statment, kita tidak diharuskan untuk menggunakan kurung kurawal (# Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list22). Pun begitu, panduan menganjurkan kita untuk selalu menggunakan kurung kurawal dan indentasi 4 spasi untuk blok PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies90:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;89

Kita juga bisa melakukan perulangan "mundur"—dari angka // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;074 ke angka $ xcode-select --install85:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;90

Apabila kode di atas dijalankan, kita akan mendapatkan hasil seperti berikut:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;56

Bagian # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update38, tidak melulu harus menggunakan operator increment atau decrement. Kita bisa menggunakan operator assignment seperti pada contoh berikut:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;92

Apabila kode di atas dijalankan, kita akan mendapatkan keluaran berupa deretan angka ganjil:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;93

Keyword Break pada Perulangan For

Sama halnya seperti perulangan $ brew update62 atau // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;014, kita juga bisa menggunakan keyword $ brew update18 pada perulangan PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies90. Keyword $ brew update18 ini digunakan untuk keluar dari perulangan:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;94

Apabila dijalankan, kode di atas akan mencetak angka $ xcode-select --install85 sampai // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;083 saja:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;95

Hal ini terjadi karena saat nilai variable // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;084 sama dengan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;074, keyword $ brew update18 akan dieksekusi sehingga perulangan terhenti.

Keyword Continue pada Perulangan For

Keyword $ brew update88 juga memiliki fungsi yang sama pada blok perulangan PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies90. Ia akan berhenti mengeksekusi kode pada perulangan yang tengah berlangsung dan langsung melanjutkanya pada iterasi perulangan berikutnya (selama # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list12 masih $ xcode-select --install48).

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;96

Apabila kode di atas dijalankan, kita akan mendapatkan deretan angka genap:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;97

Gaya Lain Penulisan Perulangan For

Perulangan PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies90 juga memiliki alternatif gaya penulisan lainnya:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;98

Apabila kode di atas dijalankan, kita akan mendapatkan keluaran yang serupa:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;53

Meski diperbolehkan, panduan PSR-2 menganjurkan untuk selalu menggunakan versi dengan kurung kurawal (# Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list22). Pun begitu, gaya penulisan seperti ini acap kali kita temukan pada templat-templat Wordpress.

Tiga Ekspresi dalam Perulangan For Bersifat Opsional

Tahukan kamu bahwa tiga ekspresi dalam PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies90: # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update39, # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list12 dan # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update38 bersifat opsional atau bisa ditinggalkan?

Contoh kode berikut akan mengakibatkan infinite loop, dimana nilai // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;084 terus bertambah di tiap perulangan. Akan tercetak: // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;098 dan seterusnya.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'00

Kita juga boleh hanya menyediakan sebagian dari ekspresi yang digunakan keyword PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies90:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'01

Kode di atas akan mencetak: // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;100. Perhatikan kembali contoh implementasi perulangan PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies90 kita yang pertama:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;89

Kode perulangan di atas, bisa juga diubah ke dalam bentuk seperti di bawah ini (tentu kode di bawah jauh lebih sulit untuk dipahami):

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'03

Latihan Perulangan For

Untuk latihan buatlah file baru dengan nama // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;102. Kemudian tikan kode berikut untuk mencetak angka-angka ganjil antara $ xcode-select --install85 sampai // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;000:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'04

Selanjutnya, dengan menggunakan perulangan PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies90, buatlah program yang dapat mencetak keluaran seperti berikut:

// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;66

Simpan file dengan nama // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;106.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'06

Rangkuman Perulangan For

Poin-poin yang dapat kita simpulkan dari subbab PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies90 ini adalah:

  • # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update39 yang menjadi bagian pertama dari perulangan PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies90 akan dijalankan satu kali di awal perulangan. Ia akan tetap dieksekusi meski kondisi yang disyaratkan tidak terpenuhi.
  • # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list12 yang merupakan bagian kedua dari perulangan PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies90 berisi ekspresi yang menjadi syarat perulangan.
  • # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update38—bagian ketiga dari perulangan PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies90—akan dieksekusi ditiap akhir siklus perulangan.
  • Kode pada blok # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list11 akan dieksekusi terus menerus selama kondisi perulangan terpenuhi (bernilai $ xcode-select --install48).
  • Keyword $ brew update18 dapat digunakan untuk keluar dari perulangan meski kondisi yang disyaratkan masih terpenuhi.
  • Keyword $ brew update88 digunakan untuk menghentikan eksekusi kode pada perulangan yang tengah berlangsung dan melanjutkannya pada iterasi perulangan berikutnya (selama kondisi perulangan masih bernilai $ xcode-select --install48).
  • Ketiga ekspresi pada PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies90: # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update39, # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list12, dan # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update38 bersifat opsional.

Fungsi dalam PHP

Function atau fungsi merupakan salah satu konsep yang sangat penting untuk kita pahami. Fungsi digunakan untuk mengelompokan sejumlah statement atau baris kode yang melakukan suatu pekerjaan spesifik. Misal kita ingin membuat sebuah fungsi yang dapat mencetak emoji buah-buahan:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'07

Apabila kode di atas dijalankan, kita tidak akan mendapatkan output apa-apa. Untuk mengeksekusi kode di dalam fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;123, kita harus memanggilnya dengan: // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;124.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'08

Apabila kode di atas dijalankan, kita akan mendapatkan emoji buah-buahan tercetak di terminal:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'09

Kita juga bisa berkali-kali memanggil fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;123:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'10

Output pada terminal:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'11

Memanggil Fungsi

Dalam PHP, kita bisa memanggil sebuah fungsi bahkan bila ia baru dideklarasikan setelahnya:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'12

Apabila kode di atas dijalankan, kita tetap akan mendapatkan emoji buah-buahan sebagaimana mestinya:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'09

Meski begitu, fungsi yang dideklarasikan di dalam blok PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies89, baru bisa dipanggil apabila kode di dalam blok PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies89 tersebut dieksekusi (kondisi bernilai $ xcode-select --install48).

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'14

Begitupun deklarasi fungsi yang berada di dalam fungsi lainnya. Fungsi yang berada di dalam, baru bisa dipanggil apabila fungsi luarnya telah dipanggil.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'15

Aturan Penulisan Fungsi

Nama sebuah fungsi bisa terdiri dari huruf, angka, ataupun underscore ($ xcode-select --install00). Pun begitu, nama fungsi tidak boleh didahului oleh angka. Berikut contoh nama-nama fungsi yang valid dalam PHP:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'16

Nama Fungsi Bersifat Case-Insensitive

Tidak seperti variable, nama fungsi bersifat case-insensitive. Sehingga fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;123 dapat juga dipanggil dengan cara // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;131 ataupun // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;132.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'17

🎨Konsistensi itu penting

Meski penulisan nama fungsi bersifat case-insensitve, namun ingat bahwa konsistensi penulisan kode itu penting. Saat memanggil sebuah fungsi, pastikan penulisan besar-kecilnya huruf sesuai dengan saat ia dideklarasikan.

Panduan Penulisan Deklarasi Fungsi

Penulisan kurung kurawal pada fungsi pun tidak harus berada di baris yang baru. Semua contoh deklarasi fungsi di bawah ini valid dalam PHP:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'18

💡Tidak ada panduan resmi penulisan fungsi dari PSR

Tidak ada panduan resmi penulisan fungsi dari . Pun begitu kita bisa melihat contoh penulisan fungsi pada dokumen yang juga mengacu pada .

Berdasarkan panduan PSR-1 dan PSR-2, aturan penulisan metode dapat dirumuskan ke dalam poin-poin berikut:

  • Nama metode dituliskan dengan gaya camel case ($ xcode-select --install04). (PSR-1)
  • Tidak boleh ada spasi antara nama metode dengan tanda kurung // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;134.
  • Kurung kurawal pembuka harus berada di baris baru setelah nama metode.
  • Kurung kurawal penutup harus berada di baris baru setelah # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list11 dari metode.

Contoh penulisan fungsi yang mengikuti panduan penulisan metode di atas:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'19

Tidak Boleh Menggunakan Nama Fungsi yang Sama

PHP tidak mendukung function overloading. Kita tidak bisa mendeklarasikan ulang fungsi yang sudah ada. Karenanya kita tidak bisa mendeklarasikan dua fungsi dengan nama yang sama—meski besar-kecil hurufnya berbeda (ingat nama fungsi bersifat case-insensitive):

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'20

Apabila kode di atas dijalankan, kita akan mendapatkan error seperti di bawah ini:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'21

Gunakan Nama Fungsi yang Deskriptif

Sama seperti variable, usahakan untuk selalu memilih nama fungsi yang singkat namun deskriptif. Nama fungsi yang sedikit panjang namun deskriptif, akan jauh lebih baik daripada nama yang singkat namun sulit dipahami fungsinya. Usahakan juga untuk menggunakan kata kerja, seperti: // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;136, // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;137, // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;138, dan sebagainya. Perhatikan contoh pemanggilan fungsi-fungsi berikut:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'22

Nama-nama fungsi yang dipanggil di atas bisa diubah menjadi lebih deskriptif. Sehingga dari namanya saja kegunaan dari fungsi tersebut mudah untuk dipahami. Dengan pilihan nama yang deskriptif, kita juga tidak memerlukan komentar penjelas seperti pada kode di atas.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'23

Konsep Code Reuse

Tujuan utama dari pengelompokan sejumlah baris kode ke dalam sebuah fungsi adalah untuk code reuse—penggunaan kembali kode yang sama. Melelahkan bukan jika kita harus menyalin ulang kode yang sama berkali-kali?

Sebagai contoh, kita akan menggunakan kode pada untuk mencetak dua buah segitiga:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'24

Apabila kode di atas dijalankan, kita akan mendapatkan dua segitiga pada terminal:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'25

Bisa kita lihat bahwa kode yang digunakan untuk mencetak segitiga yang pertama dan yang kedua sama percis. Seandainya client ingin mengganti karakter bintang (# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update99) dengan emoji buah semangka (// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;141). Kita harus mengganti karakter bintang di dua tempat yang berbeda.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'26

Karena hanya ada di dua tempat, penggantian karakter bintang ke emoji semangka terbilang mudah. Namun bayangkan jika kode untuk mencetak segitiga ini ada di puluhan atau ratusan tempat yang berbeda! Saatnya menggunakan fungsi!

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'27

Dengan mengelompokannya ke dalam fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;142, kode yang kita tulispun jauh lebih ringkas. Kitapun dapat dengan mudah mengakomodir perubahan pada kode pencetak segitiga. Pemilihan nama fungsi yang deskriptif juga membuat kode yang kita tuliskan menjadi lebih mudah untuk dipahami.

Apabila kode di atas dijalankan, kita akan mendapatkan keluaran seperti di bawah ini:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'28

Kita bisa refactor fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;142 dengan mengeluarkan variable // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;144 dari dalam perulangan PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies90. Dengan begitu perintah PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies18 cukup dieksekusi satu kali di akhir fungsi.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'29

Fungsi dengan Parameter

Kita dapat memberikan informasi kepada sebuah fungsi. Informasi atau data yang diberikan ini biasa disebut dengan istilah "argumen". Sebagai contoh, kita akan menggunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;142. Misal kita ingin agar fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;142 dapat menerima parameter // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;149 yang menentukan panjang dan lebar dari segitiga yang dicetak.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'29

Sekarang, untuk memanggil fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;142, kita harus memberikan argumen untuk parameter // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;149 juga:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'31

Apabila dijalankan, kita akan mendapatkan segitga berukuran // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;152 dan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;153:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'32

💡Parameter vs Argumen

Parameter adalan nama variable yang digunakan dalam deklarasi fungsi: // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;149. Sedangkan argumen adalah data yang kita berikan pada fungsi, dalam kasus kita di atas: nilai $ brew update70 dan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;083. Pun begitu, umumnya istilah argumen dan parameter ini dapat saling ditukarkan.

Fungsi dengan Beberapa Parameter

Fungsi juga dapat menerima argumen lebih dari satu. Setiap argumen yang diberikan harus dipisahkan oleh koma ($ xcode-select --install96). Misal fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;142 kini menerima parameter kedua bernama // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;159 untuk menentukan karakter apa yang digunakan untuk mencetak segitiga.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'33

Perhatikan bahwa urutan argumen yang diberikan harus sama dengan urutan parameter pada deklarasi fungsinya (parameter // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;149 dulu, baru // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;159). Apabila kode di atas dijalankan, kita akan mendapatkan output seperti di bawah:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'34

Fungsi Variadic

Fungsi variadic adalah fungsi yang jumlah argumennya tidak tentu. Bisa satu, dua, tiga, seratus, atau berapa saja. Parameter dari fungsi variadic dideklarasikan dengan menambahkan Operator // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;162.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'35

Pada contoh di atas, kita dapat memanggil fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;163 dengan 1, 3, dan 5 argumen sekaligus. Semua argumen yang diberikan dapat diakses di dalam fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;164 sebagai parameter // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;165—perhatikan bagaimana kita menggunakan tiga titik (// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;162) pada deklarasi parameter // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;165. Parameter // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;165 adalah sebuah yang berisi deretan argumen yang diberikan. Keyword // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;169 digunakan untuk melakukan perulangan dengan data $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"16, kita akan membahas topik ini pada bagian lain.

Apabila kode di atas dijalankan, kita akan mendapatkan keluaran berupa hasil penjumlahan untuk setiap argumen yang diberikan:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'36

Untuk membuktikan bahwa parameter pada fungsi variadic berupa array, coba jalankan kode berikut:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'37

Kita akan mendapatkan keluaran seperti di bawah:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'38

Parameter Fungsi Variadic dengan Parameter Lainnya

Kita bisa juga menggabungkan parameter biasa dengan parameter untuk fungsi variadic. Pastikan saja bahwa parameter untuk fungsi variadic dideklarasikan paling akhir:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'39

Apabila kode di atas dijalankan, kita akan mendapatkan keluaran seperti berikut:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'40

Fungsi Variadic untuk Versi PHP Lama

Operator // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;162 yang dapat digunakan sebagai parameter untuk fungsi variadic mulai ada sejak PHP versi 5.6. Untuk PHP versi sebelum itu, kita harus menggunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;172 untuk mendapatkan semua argumen yang diberikan sebagai $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"16.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'41

Apabila kode di atas dijalankan, kita akan mendapatkan hasil yang sama:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'36

Selain itu ada juga fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;174 untuk mendapatkan jumlah argumen yang diberikan. Dan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;175 untuk mendapatkan argumen berdasarkan indeksnya.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'43

Apabila kode di atas dijalankan, kita akan mendapatkan keluaran yang serupa:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'40

Nilai Default Argumen pada Fungsi

Sebuah fungsi bisa juga memiliki nilai default untuk argumennya. Misal parameter // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;159 pada fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;142 memiliki nilai default berupa emoji semangka (// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;141).

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'45

Sekarang kita bisa memanggil fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;142 tanpa memberikan argumen kedua untuk parameter // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;159.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'46

Apabila dijalankan, kita akan mendapatkan keluaran seperti berikut:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'47

Nilai Default Harus berupa Ekspresi Konstan

Nilai default yang diberikan kepada parameter bisa memiliki tipe data: $ xcode-select --install40, $ xcode-select --install41, $ xcode-select --install42, $ xcode-select --install43, $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"16, atau $ xcode-select --install62. Berikut adalah contoh-contoh nilai default yang valid:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'48

Nilai default tidak bisa berupa objek dari sebuah kelas:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'49

Nilai default juga terbatas pada ekspresi yang bersifat konstan—jadi kita tidak bisa melibatkan variable lain atau memanggil fungsi lain.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'50

Parameter dengan Nilai Default Harus Ditempatkan Diakhir

Perlu diperhatikan bahwa parameter yang memiliki nilai default, harus selalu ditempatkan di akhir.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'51

Passing by Value vs Passing by Reference

Secara default argumen yang diberikan pada sebuah fungsi merupakan data salinan saja. Sehingga perubahan nilai argumen di dalam fungsi tidak akan mempengaruhi nilai orisinal dari argumen yang diberikan. Dalam pemrograman proses ini disebut: passing by value. Perhatikan contoh berikut:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'52

Di dalam fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;187 kita mengubah nilai dari parameter // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;188 yang diberikan dengan menambahkan tiga karakter emoji. Pun begitu, nilai dari variable // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;189 yang dijadikan argumen tetaplah sama meski fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;187 telah dipanggil. Hal ini terjadi karena salinan dari variable // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;189 lah yang diberikan pada fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;187.

Cara lain untuk memberikan argumen kepada sebuah fungsi adalah dengan passing by reference. Bukan salinan yang diberikan, namun referensi datanya langsung. Ini membuat perubahan argumen di dalam fungsi akan turut mengubah sumber aslinya. Agar referensi dari argumen yang diberikan kepada fungsi, gunakan simbol // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;193 di depan nama parameter.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'53

Apabila kode di atas dijalankan, kita bisa melihat bahwa nilai dari variable // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;189 ikut berubah. Ini terjadi karena yang diberikan pada fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;187 merupakan referensi data dari argumen // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;189. Sehingga perubahan pada parameter // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;188 di dalam blok fungsi akan turut mengubah nilai dari // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;189.

⚠️Sebisa mungkin hindari pass by reference

Meski dimungkinkan, sebisa mungkin hindari memberikan argumen dengan cara pass by reference. Dengan pass by reference fungsi kita memiliki potensi untuk memodifikasi variable di luar cakupannya. Kasusnya sama persis seperti saat menggunakan global variable. Kita harus ekstra hati-hati. Salah saja memodifikasi argumen yang diberikan dengan cara pass by reference, efeknya bisa beruntun di tempat-tempat lain dimana nilai argumen tersebut diandalkan.

Argumen berupa Objek Diberikan dengan cara Passing By Reference?

Salah satu pemahaman keliru yang kerap muncul dalam tutorial-tutorial PHP adalah: "Secara default argumen berupa objek diberikan dengan cara passing by reference". Pernyataan ini tidak sepenuhnya benar.

Ketika sebuah objek di-assign ke dalam sebuah variable. Variable tersebut hanya akan menyimpan object identifier-nya saja dan bukan nilai objek yang sebenarnya. Object identifier ini dapat digunakan untuk mengakses objek yang sebenarnya. Saat variable objek ini dijadikan argumen, nilai dari variable ini akan disalin (pass by value) sebelum diberikan kepada fungsi. Jadi bukan referensi datanya yang diberikan, namun tetap salinan dari nilai variable tersebut.

Karena salinan yang diberikan pada fungsi menyimpan nilai object identifier yang sama, maka salinan ini juga akan merujuk pada objek yang sama pula. Karenanya memberikan objek sebagai argumen akan nampak seperti "pass by reference"—mengubah objek dalam fungsi akan turut mengubah nilai orisinalnya di luar fungsi. Perhatikan kode berikut:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'54

Perhatikan bagaimana nilai dari variable // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;199 berubah dari // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;200 menjadi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;201 setelah dijadikan argumen untuk fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;202—padahal kita tidak menggunakan simbol // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;193 untuk pass by reference. Ini karena variable // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;199 sebetulnya hanya menampung object identifier dari instance PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies93. Sehingga salinannya yang diberikan pada fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;202 juga akan merujuk pada instance PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies93 yang sama.

Fungsi dengan Nilai Kembalian

Keyword // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;208 dapat kita gunakan di dalam fungsi untuk mengembalikan suatu nilai pada pemanggilnya. Perhatikan contoh berikut:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'55

Saat fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;209 dipanggil, ia akan mengembalikan hasil penjumlahan dari parameter // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;210 dan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;211. Kita dapat menyimpan hasil kembalian ini di dalam variable, mencetaknya langsung, atau bahkan menggunakannya di dalam operasi lain.

Perlu diingat juga bahwa sisa kode fungsi setelah statement // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;208 tidak akan pernah dieksekusi:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'56

Apabila kode di atas dijalankan, kita akan mendapatkan keluaran seperti berikut:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'57

Kita kembali ke fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;142, mari modifikasi fungsi tersebut agar mengembalikan nilai // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;144:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'58

Kita ganti nama fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;142 menjadi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;216, karena fungsi ini tidak lagi bertanggung jawab untuk mencetak segitiga. Fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;216 hanya bertanggung jawab untuk membuat $ xcode-select --install43 yang berisi karakter-karakter pembentuk segitiga. Apabila kode di atas dijalankan, kita akan mendapatkan keluaran seperti di bawah:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'47

Nilai Kembalian Null

Fungsi yang tidak menggunakan keyword // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;208, akan memiliki nilai kembalian $ xcode-select --install62. Dua fungsi di bawah ini akan sama-sama mengembalikan nilai $ xcode-select --install62:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'60

Deklarasi Tipe Data pada Parameter Fungsi

Dalam PHP, kita bisa mendeklarasikan tipe data dari parameter fungsi. Teknik ini biasa disebut dengan type declaration atau type hinting. Apabila tipe data yang diberikan salah, PHP akan menghasilkan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;222 exception (pada PHP versi 5 kita akan mendapatkan recoverable fatal error). Kita gunakan contoh // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;216 sebelumnya:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'61

Kita sengaja memberikan argumen berupa $ xcode-select --install43 (// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;225) untuk parameter // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;149. Apabila kode di atas dijalankan, kita tidak akan mendapatkan pesan kesalahan apa-apa. Sekarang, mari kita terapkan type declaration pada parameter // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;149:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'62

Apabila kode di atas dijalankan, kita akan mendapatkan pesan kesalahan seperti berikut:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'63

Berikut daftar tipe data yang dapat kita gunakan untuk type declaration:

Tipe DataVersi PHP MinimumNama kelas / interface5.0.0// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;2285.0.0$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"165.1.0// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;2305.4.0// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;2317.0.0// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;2327.0.0$ xcode-select --install427.0.0$ xcode-select --install437.0.0// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;2357.1.0

Tipe // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;228 hanya dapat digunakan pada metode kelas, // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;228 merujuk pada nama kelas dimana metode tersebut dideklarasikan.

Konversi Tipe Data pada Pemberian Argumen

Secara default, PHP akan mencoba untuk mengkonversi tipe data dari argumen sehingga cocok dengan deklarasi pada parameter. Konversi akan dilakukan apabila argumen dan deklarasi parameternya sama-sama bertipe skalar (// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;231, // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;232, $ xcode-select --install42, atau $ xcode-select --install43). Perhatikan pemanggilan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;216 di bawah ini:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'64

Kita memberikan argumen berupa $ xcode-select --install43, $ xcode-select --install42, dan $ xcode-select --install40 sebagai argumen untuk parameter // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;149—yang seharusnya bertipe $ xcode-select --install41. Meski tipe datanya tidak sesuai, kode di atas bisa dijalankan tanpa ada pesan kesalahan sama sekali.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'65

Ini terjadi karena karena konversi tipe data berhasil diterapkan pada argumen. Apabila kita memberikan argumen yang bukan bertipe skalar; kita akan mendapatkan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;222 exception.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'66

Argumen bertipe skalar pun dapat menghasilkan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;222 exception apabila PHP tidak mampu untuk mengkonversinya:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'67

Strict Typing

Agar argumen bertipe skalar tidak dikonversi secara otomatis oleh PHP, kita dapat mengaktifkan mode strict typing:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'68

Apabila kode di atas dijalankan, kita akan mendapatkan pesan kesalahan seperti di bawah:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'69

⚠️Mode strict typing hanya akan diaktifkan dimana fungsi itu digunakan atau dipanggil

Apabila pemanggilan fungsi dan deklarasi fungsi berada pada dua file yang berbeda, mode strict typing cukup diaktifkan pada file dimana fungsi itu dipanggil.

Deklarasi Tipe Data pada Kembalian Fungsi

Sejak PHP versi 7, kita pun dapat mendeklarasikan tipe data kembalian dari sebuah fungsi:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'70

Apabila kita mencoba untuk mengembalikan tipe data yang tidak sesuai, kita akan mendapatkan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;222 exception.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'71

Pada contoh kode di atas kita mengembalikan nilai berupa $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"16—bukan $ xcode-select --install41 sebagaimana mestinya. Apabila dijalankan, kita akan mendapatkan pesan kesalahan seperti di bawah:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'72

Berikut adalah daftar tipe data yang dapat kita gunakan untuk kembalian sebuah fungsi:

Tipe DataVersi PHP MinimumNama kelas / interface7.0.0// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;2287.0.0$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"167.0.0// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;2307.0.0// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;2317.0.0// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;2327.0.0$ xcode-select --install427.0.0$ xcode-select --install437.0.0// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;2357.1.0$ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"187.1.0

Kembalian dengan tipe // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;228 hanya dapat digunakan pada metode sebuah kelas. // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;228 merujuk pada nama kelas dimana metode tersebut dideklarasikan.

Kembalian Void

Mendeklarasikan fungsi dengan kembalian $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"18, menandakan fungsi tersebut tidak mengembalikan apa-apa.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'73

Fungsi yang dideklarasikan dengan kembalian $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"18 bahkan tidak boleh secara eksplisit mengembalikan $ xcode-select --install62:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'74

Apabila kode di atas dijalankan, kita akan mendapatkan pesan kesalahan seperti di bawah:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'75

Konversi Tipe Data pada Kembalian Fungsi

Sama seperti argumen, secara default PHP akan mencoba mengkonversi nilai kembalian yang tipe datanya tidak sesuai dengan apa yang dideklarasikan. Konversi hanya akan dilakukan apabila deklarasi dan nilai kembalian sama-sama bertipe skalar (// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;231, // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;232, $ xcode-select --install42, atau $ xcode-select --install43). Perhatikan contoh-contoh berikut:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'76

Ketiga fungsi di atas mengembalikan nilai dengan tipe data yang sesuai—meski statement // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;208 di dalam fungsi sebetulnya mengembalikan nilai dengan tipe data yang keliru.

Apabila statement // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;208 di dalam fungsi mengembalikan nilai yang bukan bertipe skalar, PHP tidak akan melakukan konversi dan kita akan mendapatkan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;222 exception.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'77

Apabila kode di atas dijalankan, kita akan mendapatkan pesan kesalahan seperti di bawah:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'78

Meski kita mengembalikan nilai bertipe skalar, tapi apabila PHP tidak dapat mengkonversinya, kita juga akan mendapatkan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;222 exception.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'79

Apabila kode di atas dijalankan, kita akan mendapatkan pesan kesalahan seperti di bawah:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'80

Strict Typing

Apabila mode strict typing diaktifkan, PHP pun tidak akan mengkonversi nilai kembalian yang tipe datanya tidak cocok dengan deklarasi.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'81

Apabila kode di atas dijalankan, kita akan mendapatkan pesan kesalahan seperti di bawah ini:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'82

Latihan Fungsi

Sebagai latihan, implementasikan kembali fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;216, lengkap dengan deklarasi tipe data untuk parameter dan nilai kembaliannya juga. Simpan file latihan dengan nama // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;276.

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'83

Rangkuman Fungsi

Dari subbab ini, dapat kita simpulkan beberapa hal:

  • Fungsi digunakan untuk mengelompokan sejumlah statement yang melakukan suatu pekerjaan spesifik.
  • Nama fungsi bisa terdiri dari huruf, angka dan underscore. Pun begitu nama fungsi tidak boleh didahului oleh underscore.
  • Nama fungsi bersifat case-insensitive. Pun begitu, saat memanggil fungsi usahakan agar penulisan besar-kecilnya huruf sesuai dengan deklarasi.
  • Tidak boleh ada dua deklarasi fungsi dengan nama yang sama.
  • Usahakan untuk selalu menggunakan nama fungsi yang singkat namun deskriptif.
  • Tujuan utama dari pengunaan fungsi adalah untuk code reuse. Membuat kode yang kita buat lebih ringkas, mudah untuk dimodifikasi, dan modular.
  • Fungsi bisa menerima argumen dari pemanggilnya.
  • Fungsi variadic adalah fungsi yang menerima argumen dengan jumlah yang tak tentu.
  • Dalam deklarasi fungsi, kita bisa menentukan nilai default dari sebuah parameter.
  • Nilai default untuk parameter dapat berupa: $ xcode-select --install40, $ xcode-select --install41, $ xcode-select --install42, $ xcode-select --install43, $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"16, atau $ xcode-select --install62.
  • Nilai default untuk parameter terbatas pada ekspresi yang konstan—tidak bisa melibatkan variable atau memanggil fungsi lainnya.
  • Secara default argumen untuk fungsi diberikan dengan cara pass by value—yang diberikan pada fungsi merupakan data salinan.
  • Variable yang di-assign sebuah objek, hanya akan menyimpan object identifier-nya saja. Sehingga apabila diberikan sebagai argumen kepada sebuah fungsi, salinannya juga akan merujuk pada objek yang sama.
  • Fungsi dapat memberikan nilai kembalian kepada pemanggilnya.
  • Kita dapat mendeklarasikan tipe data dari parameter dan kembalian sebuah fungsi.
  • Secara default PHP akan mencoba untuk mengkonversi tipe data dari argumen dan nilai kembalian sebuah fungsi yang tidak sesuai dengan deklarasinya (berlaku untuk deklarasi tipe data skalar saja).
  • Kita dapat mengaktifkan mode strict typing agar PHP tidak mencoba untuk mengkonversi tipe data dari argumen dan nilai kembalian sebuah fungsi.

Anonymous Function, Lambda, dan Closure

Banyak tutorial atau artikel pemrograman yang mencampuradukan istilah anonymous function, lambda, dan closure. Meski berkaitan, tiga istilah ini merujuk pada konsep yang berbeda.

Anonymous Function

Anonymous function atau fungsi anonim adalah fungsi yang tidak memiliki nama. Perhatikan contoh berikut:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'84

Kode di atas adalah contoh anonymous function. Perhatikan bagaimana kita harus tetap menggunakan titik koma (PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies21) pada akhir fungsi layaknya sebuah statement biasa. Apabila kode di atas dijalankan, kita tidak akan mendapatkan keluaran apa-apa. Kita bisa menyimpan anonymous function ke dalam sebuah variable, sehingga ia bisa kita gunakan:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'85

Apabila kode di atas dijalankan, kita akan mendapatkan keluaran berupa tiga emoji pizza:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'86

Anonymous Function dengan Argumen

Fungsi anonim juga dapat menerima argumen seperti fungsi biasa:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'87

Apabila kode di atas dijalankan, kita akan mendapatkan output seperti di bawah:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'88

Kegunaan Anonymous Function

Fungsi anonim dapat kita gunakan sebagai argumen untuk parameter fungsi yang menerima callback. Perhatikan contoh berikut:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'89

Fungsi digunakan untuk membuat array baru dengan cara menjalankan fungsi pada argumen pertama untuk setiap elemen array pada argumen kedua (// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;165). Kita akan bahas lebih lanjut di bagian lainnya.

Apabila kode di atas dijalankan, kita akan mendapatkan array baru yang setiap elemennya merupakan kelipatan dua dari elemen // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;165:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'90

Pada contoh kode di atas, argumen pertama yang diberikan pada fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;284 merupakan anonymous function:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'91

Fungsi ini akan dieksekusi untuk setiap angka yang ada pada array // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;165. Nilai kembalian dari anonymous function inilah yang kemudian menjadi item bagi array yang baru.

Lambda

Dalam ilmu computer, lambda atau ekspresi lambda adalah saat fungsi digunakan sebagai data:

  • Fungsi disimpan di dalam sebuah variable atau struktur data lainnya.
  • Fungsi dijadikan argumen untuk fungsi lainnya.
  • Fungsi menjadi nilai kembalian untuk fungsi lainnya.

Contoh sebuah fungsi yang di simpan dalam variable:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'92

Contoh fungsi yang dijadikan argumen untuk fungsi lainnya:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'93

![Function as an argument]({{ "/img/2018-03-08-tutorial-php-untuk-pemula/function-as-an-argument.jpg" | absolute_url }})

Contoh fungsi yang dijadikan nilai kembalian untuk fungsi lainnya:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'94

Bila mengacu pada terminologinya, ekspresi lambda tidak harus selalu menggunakan anonymous function. Dalam JavaScript misalnya, kita dapat menjadikan named function (fungsi dengan nama) sebagai argumen untuk fungsi lain:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'95

Pun begitu, dalam PHP ekspresi lambda hanya bisa dituliskan dengan anonymous function. Untuk memberikan named function sebagai argumen, kita dapat merujuknya dengan $ xcode-select --install43 berisi nama fungsi tersebut:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'96

Closure

Closure adalah fungsi yang memiliki akses pada data-data yang ada di luar scope-nya. Closure dapat mengakses data yang ada di scope induk dimana ia dideklarasikan. Selain itu closure juga dapat menjaga nilai dari data-data yang ada di scope induknya; meski kemudian data-data tersebut diubah atau bahkan scope induknya tuntas dieksekusi.

Dalam PHP closure dapat diimplementasikan dengan menggunakan anonymous function. Bahkan setiap anonymous function sebetulnya akan otomatis menjadi instance dari kelas // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;290!

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'97

Kita dapat menggunakan keyword // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;291 untuk mengakes data yang ada di scope induk:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'98

Perhatikan bagaimana anonymous function di atas mengakses variable // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;188 yang berada di luar scope-nya. Apabila kode dia atas dijalankan, kita akan mendapatkan keluaran seperti berikut:

// Tanpa diakhiri titik koma. echo 'Hello World!' // Error yang didapat: syntax error, unexpected 'string' (T_STRING), expecting ',' or ';'99

🎨Panduan Penulisan Closure

Contoh penulisan closure di atas mengikuti panduan yang ada di . Perhatikan peletakan tanda kurung (// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;134), keyword // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;291, kurung kurawal (# Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list22), dan indentasi pada blok closure.

Fungsi anonim di atas juga akan menjaga nilai dari // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;188 meski kemudian kita ubah nilainya.

$ php -v00

Apabila kode di atas dijalankan, kita akan mendapatkan nilai // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;188 yang sama dari dalam anonymous function:

$ php -v01

Closure juga dapat menjaga data yang ada di scope induk meski scope induk tersebut selesai dieksekusi. Perhatikan contoh berikut:

$ php -v02

Pada contoh kode di atas, anonymous function mengakses // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;298 yang merupakan parameter dari scope induknya. Saat fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;299 selesai dieksekusi, anonymous function yang dikembalikan tetap memiliki akses pada nilai // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;298 tersebut.

Latihan Closure

Untuk latihan buat file php baru dengan nama // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;301. Lalu coba tikkan dan pahami penggunaan closure di bawah ini:

$ php -v03

Apabila kode dia atas dijalankan, kita akan mendapatkan keluaran seperti berikut:

$ php -v04

Rangkuman Closure

Dari subbab ini, kita dapat rangkum poin-poin berikut:

  • Anonymous function, lambda, dan closure merupakan istilah yang saling berkaitan, pun begitu ketiganya merujuk pada tiga konsep yang berbeda.
  • Anonymous function adalah fungsi yang tidak memiliki nama, ia bisa di-assign kepada sebuah variable atau dijadikan argumen untuk sebuah fungsi.
  • Layaknya nammed function, anonymous function bisa juga menerima argumen.
  • Lambda atau ekspresi lambda adalah saat fungsi digunakan sebagai data: disimpan dalam variable, dijadikan argumen untuk fungsi lain, atau dijadikan nilai kembalian suatu fungsi.
  • Secara konsep, lambda belum tentu anonymous function. Pun begitu dalam PHP ekspresi lambda hanya dapat diimplementasikan dengan anonymous function.
  • Closure adalah fungsi yang dapat mengakses data-data pada scope induk dimana ia dideklarasikan.
  • Closure dapat menjaga nilai data dari scope induknya meski kemudian data tersebut diubah atau bahkan scope induknya telah tuntas dieksekusi.
  • Dalam PHP, closure dapat diimplementasikan dengan anonymous function. Bahkan setiap anonymous function akan dikonversi secara otomatis menjadi instance dari kelas // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;290.

Menyertakan Kode dari File Lain

Kita dimungkinkan untuk menyertakan kode PHP dari file lain dengan menggunakan keyword // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;303. Misal kita memiliki file PHP bernama // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;304 berisi variable, konstanta dan fungsi seperti di bawah ini:

$ php -v05

Kemudian kita memiliki file lainnya yang bernama // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;305. File ini berada pada direktori yang sama dengan file // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;304. Dengan keyword // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;303, kita dapat menyertakan kode // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;304 ke dalam file // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;305. Sehingga variable, konstanta, hingga fungsi pada // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;304 bisa kita akses dari // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;305.

$ php -v06

Misal file // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;304 berada pada direktori induk dari // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;305, kita bisa menggunakan relative path untuk merujuk pada file // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;304:

$ php -v07

Perlu diingat bahwa variable, konstanta, atau fungsi yang ada pada // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;304 baru bisa diakses setelah statement // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;303:

$ php -v08

Dengan menggunakan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;303, apabila file yang ingin disertakan tidak ditemukan, PHP akan menghasilkan warning ($ xcode-select --install55). Baris-baris kode setelahnya pun akan tetap dieksekusi.

$ php -v09

Menggunakan include_once

Selain // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;303, ada juga keyword // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;320. Bedanya, // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;320 akan memastikan bahwa tidak ada file yang sama diikutkan lebih dari satu kali.

Misal kita tidak sengaja menyertakan file // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;304 sebanyak dua kali.

$ php -v10

Dengan keyword // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;303 seperti di atas, kita akan mendapatkan pesan kesalahan karena fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;324 dideklarasikan dua kali. Lain halnya dengan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;320 yang akan memastikan bahwa tidak ada file yang disertakan lebih dari satu kali. Meski // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;304 disertakan dua kali, kita tidak akan mendapatkan pesan kesalahan.

$ php -v11

Seperti dalam // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;303, apabila file yang ingin disertakan tidak ditemukan, // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;320 hanya akan menghasilkan warning ($ xcode-select --install55) dan eksekusi kode tetap dilanjutkan.

$ php -v12

Menggunakan require

Ada juga keyword // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;330. Fungsinya hampir sama dengan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;303. Namun apabila file yang ingin disertakan tidak ditemukan, // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;330 akan menghasilkan fatal error dengan level // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;333 sehingga kode akan berhenti dieksekusi.

$ php -v13

Menggunakan require_once

Keyword // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;334 memiliki fungsi yang hampir sama dengan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;320. // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;334 akan memastikan bahwa tidak ada file yang sama disertakan lebih dari satu kali.

Jika menggunakan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;330, kita akan mendapatkan pesan kesalahan karena menyertakan file // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;304 dua kali:

$ php -v14

Namun dengan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;334, kode akan tetap berjalan dengan normal meski kita mencoba untuk menyertakan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;304 dua kali:

$ php -v15

Seperti // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;330, // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;334 juga akan menghasilkan fatal error (// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;333) apabila file yang ingin disertakan tidak ditemukan.

$ php -v16

Rangkuman Menyertakan Kode dari File Lain

Dari subbab ini kita bisa simpulkan beberapa poin berikut:

  • Untuk menyertakan kode PHP dari file lain, kita bisa menggunakan keyword: // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;303, // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;320, // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;330, atau // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;334.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;320 dan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;334 akan memastikan bahwa file yang sama tidak disertakan lebih dari satu kali.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;303 dan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;320 akan menghasilkan warning ($ xcode-select --install55) apabila file yang disertakan tidak ditemukan. Eksekusi kode pun akan dilanjutkan meski file yang ingin disertakan tidak ditemukan.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;330 dan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;334 akan menghasilkan fatal error (// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;333) apabila file yang disertakan tidak ditemukan. Eksekusi kode pun akan dihentikan.

Bekerja dengan String

Berikut adalah sejumlah fungsi-fungsi bawaan PHP yang dapat kita gunakan untuk bekerja dengan string. Tidak semua fungsi string disajikan di sini, cek dokumentasi resmi PHP untuk melihat daftar lengkapnya: String Functions.

Menghitung Jumlah Karakter dalam String

Untuk menghitung jumlah karakter dalam sebuah string, gunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;356:

$ php -v17

Perhatikan contoh-contoh berikut:

$ php -v18

Mengubah String ke Huruf Kecil atau Besar

Untuk mengubah string ke huruf kecil, gunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;357. Sementara untuk mengubahnya ke dalam huruf besar, gunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;358.

$ php -v19

Perhatikan contoh-contoh penggunaanya:

$ php -v20

Untuk membuat karakter pertama saja yang menjadi huruf besar, gunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;359:

$ php -v21

Kita bisa juga menggunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;360 untuk mengubah karakter pertama pada setiap kata menjadi huruf besar.

$ php -v22

Perlu diperhatikan bahwa // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;357 dan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;358 bergantung pada konfigurasi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;363 (klasifikasi dan konversi karakter). Pun begitu, konfigurasi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;364 yang sudah tepat belum tentu dapat menghasilkan keluaran yang diinginkan; contohnya untuk karakter dengan umlaut (// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;365):

$ php -v23

Solusinya, kita dapat menggunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;366 atau // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;367. Argumen kedua adalah tipe encoding yang digunakan.

$ php -v24

Menghapus Spasi dari Awal dan Akhir String

Untuk menghapus spasi (atau karakter lainnya) dari awal dan akhir sebuah string, gunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;368:

$ php -v25

  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;369: String yang akan diproses.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;370: Daftar karakter yang akan dihapus dari awal dan akhir sebuah string.

$ php -v26

Untuk menghapus dari sisi kiri saja, kita bisa menggunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;371:

$ php -v27

Sementara untuk menghapus sisi kanan saja, kita bisa gunakan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;372:

$ php -v28

Mengulang String

Kita dapat mengulang sebuah string dengan jumlah tertentu menggunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;373:

$ php -v29

  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;374: String yang ingin kita ulang.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;375: Jumlah perulangan.

$ php -v30

Mengambil Bagian dari String

Kita dapat mengambil bagian dari sebuah string dengan menggunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;376:

$ php -v31

  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;377: Data string yang digunakan.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;378: Posisi karakter awal yang akan diambil. Posisi awal dimulai dari $ xcode-select --install85.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;380: Jumlah karakter yang akan diambil. Bila tidak diberikan, string akan diambil dari posisi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;378 sampai akhir.

$ php -v32

Mencari String

Untuk melakukan pencarian dalam sebuah string, kita dapat menggunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;382:

$ php -v33

  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;383: String yang menjadi sumber pencarian.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;384: String yang dicari pada // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;383. Apabila argumen yang diberikan bukan bertipe string, datanya akan dikonversi menjadi integer (integer dapat merepresentasikan karakter).
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;386: Posisi awal pencarian. Secara default bernilai $ xcode-select --install85 yang artinya pencarian dimulai dari karakter pertama.

Fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;382 ini akan mengembalikan posisi dari string yang dicari. Apabila string yang dicari ditemukan lebih dari satu kali, fungsi ini hanya akan mengembalikan posisi temuan yang pertama.

⚠️Perlu diingat bahwa posisi karakter dimulai dari $ xcode-select --install85. Apabila string yang dicari tidak ditemukan, fungsi ini akan mengembalikan boolean $ xcode-select --install60.

$ php -v34

Fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;382 bersifat case sensitive. Untuk melakukan pencarian string tanpa memedulikan besar-kecilnya huruf, gunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;392:

$ php -v35

Mengganti Bagian dari String

Untuk mencari dan mengganti bagian tertentu dari sebuah string, kita dapat menggunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;393:

$ php -v36

  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;394: Bagian dari string yang dicari. Bisa berupa array jika kita ingin mencari lebih dari satu bagian.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;395: String atau array yang digunakan untuk mengganti bagian yang ditentukan oleh parameter // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;394.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;397: String atau array dari string yang akan dicari dan digantikan bagiannya.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;398: Parameter opsional yang bila diberikan akan berisi jumlah penggantian yang dilakukan.

$ php -v37

Berikan argumen opsional // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;398 untuk mencari tahu jumlah penggantian yang dilakukan. Perhatikan bahwa // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;398 diberikan dengan pass by reference.

$ php -v38

Fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;393 bersifat case-sensitive, untuk melakukan operasi tanpa memedulikan besar-kecilnya huruf, gunakan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;402:

$ php -v39

Membuat String dengan Format Tertentu

Kita dapat membuat string yang mengikuti format tertentu dengan menggunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;403:

$ php -v40

  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;404: Format string yang akan dihasilkan. Kita dapat menentukan format yang digunakan untuk mencetak nilai-nilai yang diberikan pada // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;405. Setiap format data didahului dengan tanda persen (// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;406) dan diikuti oleh satu atau beberapa elemen dengan urutan seperti berikut:
    1. Sign specifier (# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update77): Jika ingin menampilkan tanda positif atau negatif pada sebuah angka (opsional).
    2. Padding specifier: Karakter yang ingin digunakan untuk mengisi kekurangan karakter pada data. Karakter harus didahului oleh kutip tunggal (opsional dengan nilai default berupa spasi).
    3. Alignment specifier: Untuk menentukan apakah data ditampilkan rata-kiri atau rata kanan. Secara default rata-kanan akan digunakan, untuk rata-kiri gunakan tanda # Untuk mencari formula. $ brew search <teks pencarian> # Untuk menginstal formula. $ brew install <nama formula> # Untuk menghapus instalasi formula. $ brew uninstall <nama formula> # Untuk memperbarui formula. $ brew upgrade <name formula> # Memperbarui semua formula yang sudah terpasang. $ brew upgrade # Mencetak semua formula yang sudah terpasang. $ brew list09 (opsional).
    4. Width specifier: Jumlah karakter minimum yang digunakan untuk menampilkan data. Kekurangan karakter akan diisi oleh padding specifier (opsional).
    5. Precision specifier: Berupa titik (# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update68) yang kemudian diikuti oleh bilangan cacah. Nilai bilangan ini menentukan jumlah digit presisi yang digunakan untuk menampilkan data float. Bila data berupa string, ia akan menjadi jumlah karakter maksimum (opsional).
    6. Type spesifier: Menentukan tipe untuk data // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;405 yang diberikan. Cek tabel di bawah untuk melihat daftar lengkapnya.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;405: Argumen yang akan diberikan pada format string.
TypeDikonversi menjadiDitampilkan sebagai// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;406Karakter persen// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;413integerAngka biner// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;414integerKarakter ASCII dengan nilai yang setara// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;415integerBilangan desimal (signed)// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;416floatNotasi eksponensial// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;417floatNotasi eksponensial dengan huruf besar// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;418floatBilangan pecahan (mengikuti konfigurasi locale)// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;419floatBilangan pecahan (tidak mengikuti konfigurasi locale)// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;420floatMenggunakan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;421 atau // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;422 tergantung besar nilainya// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;423floatMenggunakan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;424 atau // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;425 tergantung besar nilainya// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;426integerAngka oktal// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;427stringString// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;428integerBilangan desimal (unsigned)// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;429integerBilangan heksadesimal dengan huruf kecil// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;430integerBilangan heksadesimal dengan huruf besar

$ php -v41

Contoh penggunaan precision specifier:

$ php -v42

Contoh penggunaan sign specifier:

$ php -v43

Contoh penggunaan width specifier:

$ php -v44

Contoh penggunaan padding spesifier:

$ php -v45

Contoh penggunaan alignment specifier:

$ php -v46

Fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;403 hanya akan mengembalikan format string. Untuk mencetaknya langsung, kita bisa gunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;432:

$ php -v47

Memecah String ke Dalam Array

Kita dapat menggunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;433 untuk memecah sebuah string ke dalam array.

$ php -v48

  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;434: Satu atau beberapa karakter yang ingin kita gunakan untuk memecah string.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;377: String yang ingin kita pecah ke dalam array.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;436: Parameter opsional untuk membatasi jumlah array yang dihasilkan.

Misalnya kita ingin memecah sebuah kalimat ke dalam array dari kata-kata:

$ php -v49

Contoh lainnya adalah untuk mengubah sebuah string yang berisi comma separated list:

$ php -v50

Menggabungkan Array Menjadi String

Fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;437 merupakan kebalikan dari fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;433. Fungsi ini digunakan untuk menggabungkan sebuah array menjadi string:

$ php -v51

  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;439: String yang digunakan untuk menyatukan array.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;440: Array yang ingin dijadikan string.

$ php -v52

Mengubah Baris Baru menjadi Tag br

Baris baru dalam dokumen HTML direpresentasikan oleh tag $ xcode-select --install14. Untuk mengubah baris baru dalam sebuah string ($ xcode-select --install13) menjadi tag $ xcode-select --install14, kita dapat menggunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;444:

$ php -v53

  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;377: String yang akan diubah baris barunya.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;446: Parameter opsional untuk menentukan apakah harus menggunakan tag yang cocok dengan standard XHTML atau tidak.

$ php -v54

Membalikan Sebuah String

Untuk membalikan sebuah string, kita dapat menggunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;447:

$ php -v55

Hati-hati menggunakan fungsi ini, karena ia tidak bisa menangani karakter multibyte seperti emoji.

$ php -v56

Bekerja dengan Array

Seperti yang telah kita bahas di , array atau larik dapat menampung deretan data:

$ php -v57

Key dan Value dalam Array

Setiap elemen array terdiri dari pasangan key (kunci) dan value (nilai). Key dalam array hanya boleh bertipe integer ataupun string. Sementara value boleh bertipe apa saja, bahkan bertipe array sekalipun (dinamakan array multidimensi).

$ php -v58

Namun pada kedua contoh sebelumnya, kita hanya memberikan porsi value-nya saja. Key dari kedua array sebelumnya secara implisit akan berupa integer yang dimulai dari $ xcode-select --install85. Gunakan fungsi $ /usr/bin/ruby -e "$(curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"01 untuk melihat pasangan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;450 dan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;451 dari kedua array di atas:

$ php -v59

Nilai $ xcode-select --install85, # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update03, dan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;454 adalah key dari array. Perhatikan bagaimana nilai key bertambah sesuai dengan posisi elemen tersebut di dalam array. Array dengan key berupa integer berurut seperti ini biasa disebut dengan indexed array.

Kita dapat menyertakan nilai dari key untuk mendeklarasikan sebuah associative array (larik asosiatif):

$ php -v60

🎨Koma pada item terakhir array

Koma pada item terakhir array tidaklah diperlukan. Gaya penulisan seperti ini diterapkan oleh framework Laravel dan Symfony untuk deklarasi array yang lebih dari satu baris.

Dalam PHP kita bahkan bisa mencampurkan key bertipe string dengan key bertipe integer:

$ php -v61

![Arrays start at one]({{ "/img/2018-03-08-tutorial-php-untuk-pemula/arrays-start-at-1.png" | absolute_url }})

Mengecek Apakah Key Tersedia dalam Array

Untuk mengecek apakah sebuah key tersedia dalam array, kita bisa menggunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;455:

$ php -v62

Berikut contoh penggunaanya:

$ php -v63

Fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;455 akan mengembalikan nilai $ xcode-select --install48 selama key tersedia dalam array—meski nilainya $ xcode-select --install62 sekalipun. Berbeda dengan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;459, meski key tersedia dalam array ia akan mengembalikan nilai $ xcode-select --install60 apabila value-nya $ xcode-select --install62:

$ php -v64

Mengakses Elemen Array

Untuk mengakses elemen di dalam array, kita gunakan key dari elemen tersebut.

$ php -v65

Apabila kita mencoba untuk mengakses elemen array yang key-nya tidak tersedia, kita akan mendapatkan pesan kesalahan:

$ php -v66

Kita dapat menggunakan fungsi atau // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;459 untuk mengecek terlebih dahulu apakah elemen array yang ingin kita akses tersedia atau tidak.

$ php -v67

Apabila dijalankan, kita akan mendapatkan keluaran:

$ php -v68

Array Multidimensi

Array multidimensi adalah array yang berisi array lainnya:

$ php -v69

Menghitung Jumlah Elemen dalam Array

Kita dapat menghitung jumlah elemen dalam sebuah array dengan menggunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;464:

$ php -v70

  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;465: Array atau objek dari kelas yang mengimplementasikan interface // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;466.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;467: Parameter opsional yang menentukan mode yang digunakan. Berikan nilai // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;468 atau # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update03 untuk menghitung jumlah elemen secara rekursif dalam sebuah array multidimensi.

$ php -v71

Perulangan dengan Array

Untuk indexed array, tentu kita bisa menggunakan perulangan PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies90:

$ php -v72

Apabila kode di atas dijalankan, kita akan mendapatkan seluruh elemen dalam array // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;471:

$ php -v73

Namun bagaimana dengan array asosiatif yang key-nya bukan merupakan integer berurut? Kita bisa menggunakan perintah // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;169 untuk itu:

$ php -v74

Apabila kode di atas dijalankan, kita akan mendapatkan keluaran seperti berikut:

$ php -v75

Apabila kita hanya mebutuhkan porsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;473, kita tidak perlu menuliskan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;474:

$ php -v76

Nama variable yang digunakan pun tidak harus selalu // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;474 dan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;473. Kita bisa menggunakan nama apa saja:

$ php -v77

Apabila kode di atas dijalankan, kita akan mendapatkan keluaran yang serupa:

$ php -v73

Untuk array multidimensi, kita bisa menggunakan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;169 di dalam // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;169:

$ php -v79

Apabila kode di atas dijalankan, kita akan mendapatkan keluaran seperti berikut:

$ php -v80

Menambahkan Elemen pada Array

Ada beberapa cara untuk menambahkan elemen baru pada sebuah array.

Menggunakan Kurung Siku []

Untuk indexed array, salah satu cara yang paling umum adalah dengan menggunakan kurung siku kosong $ xcode-select --install98. Dengan cara seperti ini, elemen baru tersebut akan ditempatkan pada akhir array.

$ php -v81

Untuk array asosiatif, kita dapat meng-assign pasangan key dan value-nya langsung. Cara ini juga berlaku untuk indexed array.

$ php -v82

Menambahkan Elemen Baru di Akhir dengan array_push

Fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;480 dapat kita gunakan untuk menambahkan satu atau beberapa elemen pada akhir suatu array.

$ php -v83

Perhatikan contoh berikut:

$ php -v84

Dengan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;480, kita tidak bisa secara eksplisit menentukan key dari elemen baru. Meski tetap bisa digunakan pada array asosiatif, fungsi ini hanya cocok untuk indexed array.

$ php -v85

Menambahkan Elemen Baru di Awal dengan array_unshift

Fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;482 hampir sama dengan . Hanya saja dengan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;482, elemen akan ditambahkan pada bagian awal dari array.

$ php -v86

Berikut contoh penggunaanya:

$ php -v87

Mengubah Elemen Array

Mengubah Elemen Array dengan Menggunakan Key-nya

Cara paling mudah untuk mengubah elemen dari sebuah array adalah dengan menggunakan key dari elemen tersebut dan memberinya nilai yang baru.

$ php -v88

Mengganti Elemen Array dengan array_replace

Kita bisa juga menggunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;485 untuk mengganti elemen array:

$ php -v89

  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;486: Array yang ingin kita ganti elemennya.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;487: Array lain yang berisi elemen pengganti. Elemen pada array ini akan mengganti elemen pada // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;486 dengan key yang sama.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;489: Array lainnya yang berisi elemen pengganti. Array paling akhir akan mengganti elemen-elemen lain sebelumnya yang memiliki key yang sama.

$ php -v90

Apabila parameter // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;487 atau array-array setelahnya memiliki key yang tidak tersedia pada // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;486, elemen tersebut akan ditambahkan pada array hasil kembalian:

$ php -v91

Mengubah Elemen Array dengan array_splice

Untuk mengubah satu atau beberapa elemen pada indexed array, kita juga bisa menggunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;492:

$ php -v92

  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;374: Array yang akan kita ubah.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;386: Posisi awal dari elemen yang ingin kita ganti.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;380: Parameter opsional untuk jumlah elemen array yang ingin kita ganti. Secara default akan sampai akhir dari array.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;496: Array yang berisi elemen pengganti.

$ php -v93

Apabila // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;496 tidak diberikan, elemen-elemen array tersebut akan dihapus:

$ php -v94

Apabila jumlah elemen pada array // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;496 lebih banyak, kelebihan elemen tersebut akan ditambahkan pada // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;374 (// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;471 dalam kasus kita).

$ php -v95

Menghapus Elemen Array

Menggunakan Fungsi unset

Cara paling mudah untuk mengapus elemen dari sebuah array adalah dengan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;501:

$ php -v96

Menghapus Elemen Terakhir dari Array dengan array_pop

Untuk menghapus elemen paling akhir dari sebuah array kita dapat menggunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;502. Fungsi ini juga memiliki nilai kembalian berupa elemen terakhir yang dikeluarkan dari array tersebut.

$ php -v97

Menghapus Elemen Pertama dari Array dengan array_shift

Fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;503 hampir sama dengan , hanya saja yang dihapus adalah elemen pertama dari sebuah array.

$ php -v98

Menghapus dengan array_splice

Seperti yang telah kita bahas sebelumnya, kita juga bisa menggunakan fungsi untuk menghapus satu atau beberapa elemen pada sebuah array.

$ php -v94

Menggabungkan Array

Menggunakan Operator Union

Salah satu cara untuk menggabungkan array adalah dengan operator union (# Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update77). Ingat bahwa apabila ada key yang sama, nilai dari sisi kiri operator yang akan digunakan.

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies00

Dari contoh kode di atas, baik array // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;507 maupun // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;508 sama-sama memiliki elemen dengan key // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;509. Karena // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;507 berada di sisi-kiri operator # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update77, maka nilai // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;509 dari // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;507-lah yang digunakan.

Hal ini berlaku juga untuk indexed array:

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies01

Hanya // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;514 yang akan muncul pada hasil union. Hal ini terjadi karena key untuk // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;515 dan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;516 sudah ada pada variable // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;517. Untuk mengatasi hal ini kita bisa secara eksplisit menentukan key dari // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;518:

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies02

Menggabungkan Array dengan array_merge

Cara lain untuk menggabungkan dua array atau lebih adalah dengan menggunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;519. Untuk array assosiatif, apabila dua array memiliki key yang sama, nilai dari array yang kedua lah yang akan digunakan.

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies03

Sementara untuk indexed array, kita tidak perlu khawatir dengan nilai key yang sama. Array yang kedua akan ditempatkan pada akhir array yang pertama. Key dari hasil gabungannya akan direset.

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies04

Menggunakan array_map

Fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;284 digunakan untuk menciptakan array baru berdasarkan argumen callback dan array yang diberikan:

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies05

  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;521: Fungsi callback yang akan dijalankan untuk setiap elemen array.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;486: Array yang akan dijalankan pada fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;521.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;489: Array lainnya yang akan dijalankan pada fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;521.

Setiap elemen array yang diberikan pada fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;284 akan dijadikan argumen untuk menjalankan fungsi callback. Nilai kembalian fungsi callback inilah yang akan menjadi array baru.

Misalnya, kita mempunyai array // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;165 yang berisi deretan angka. Apabila kita ingin mengkuadratkan setiap angka pada // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;165, tentu kita bisa melakukannya dengan bantuan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;169 biasa:

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies06

Kita bisa juga menggunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;284:

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies07

Array yang diberikan sebagai argumen pada // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;284 bisa lebih dari satu. Perhatikan contoh berikut, dimana kita menjumlahkan pasangan angka dengan indeks yang sama pada array // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;210 dan // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;533:

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies08

Menggunakan array_filter

Fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;534 digunakan untuk menyaring elemen array:

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies09

  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;535: Array yang ingin kita saring.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;521: Fungsi callback yang digunakan untuk menyaring. Kembalikan nilai $ xcode-select --install60 untuk membuang elemen array dan $ xcode-select --install48 untuk menjaganya. Apabila // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;521 tidak diberikan, elemen yang bernilai $ xcode-select --install60 setelah di-casting ke $ xcode-select --install40 akan dibuang.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;542: Menentukan argumen apa yang akan diberikan pada fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;521:
    • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;544: Berikan key saja pada fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;521.
    • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;546: Berikan key dan value pada fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;521.

Misalnya kita ingin menyaring array // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;165 untuk mendapatkan angka-angka ganjilnya saja:

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies10

Perhatikan bagaimana key dari array kembalian fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;534 sama seperti sumbernya (// Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;165). Apabila kita ingin mereset key-nya, kita bisa gunakan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;551:

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies11

Apabila kita tidak memberikan argumen // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;521, elemen array yang bernilai $ xcode-select --install60 jika di-casting kedalam boolean akan dibuang. Perhatikan contoh berikut:

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies12

Menggunakan array_reduce

Fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;554 digunakan untuk menjalankan fungsi callback secara berulang pada setiap elemen array hingga menghasilkan satu nilai.

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies13

  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;535: Array yang akan direduksi menjadi satu nilai.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;521: Fungsi callback yang akan dijalankan untuk setiap elemen // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;535. Fungsi callback akan menerima dua argumen:
    • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;558: Nilai kembalian dari iterasi sebelumnya.
    • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;559: Elemen array yang tengah diproses.
  • // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;560: Nilai awal yang akan diberikan pada iterasi pertama sebagai parameter // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;558.

Misal kita ingin menjumlahkan semua nilai pada array // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;562:

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies14

Tentu untuk masalah di atas, kita bisa dengan mudah menyelesaikannya dengan fungsi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;563:

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies15

Namun bayangkan apabila array yang kita hadapi memiliki struktur yang kompleks. Misal kita ingin menghitung total pesanan seorang pelanggan, dimana data pesananya disimpan dalam array multidimensi // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;564:

PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies16

Penutup

Sampai juga pada akhir tutorial. Kita telah banyak membahas topik seputar dasar-dasar pemrograman dalam PHP:

  • Instalasi PHP.
  • Cara menjalankan file PHP lewat command line juga melalui web server.
  • Sintaksis dasar dalam PHP.
  • Komentar, variable, serta konstanta dalam PHP.
  • Ragam tipe-tipe data yang tersedia dalam PHP.
  • Puluhan operator dalam PHP.
  • Percabangan dengan # Untuk mengecek masalah pada instalasi Homebrew. $ brew doctor # Mencetak bantuan Homebrew. $ brew help # Memperbarui instalasi Homebrew dan daftar formulanya. $ brew update37 dan $ brew update07.
  • Perulangan dengan $ brew update62, // Contoh string dengan kutip tunggal. echo 'Aku string dengan kutip tunggal!'; // Contoh string dengan kutip ganda. echo "Aku string dengan kutip ganda!"; // Tanpa kutip akan menghasilkan syntax error. echo Aku pasti error;568, dan PHP 7.2.4 (cli) (built: Mar 29 2018 15:19:46) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies90.
  • Hingga fungsi dan closure.

Jika kamu berhasil merampungkan materi sampai sejauh ini: kamu memang luar biasa! Pun begitu, masih banyak topik-topik penting lainnya yang tidak sempat dibahas di sini:

  • Pemrograman berbasis objek dalam PHP.
  • Bekerja dengan form dan database.
  • HTTP request, cookies, dan session dalam PHP.
  • Composer sebagai dependency manager untuk PHP.

Apakah untuk menjadi seorang programmer PHP kita harus menghapalkan semua keyword, kode, dan fungsi-fungsi yang ada pada materi di atas? TIDAK! Keyword, fungsi, dan kelas bawaan PHP sangatlah banyak. Hampir mustahil untuk menghapal semuanya.

Kita cukup pahami dan coba hapalkan dasar-dasarnya saja seperti: penulisan komentar, penulisan variable, jenis tipe data, operator yang tersedia, syntax percabangan, perulangan, dan fungsi. Sisanya? Kita bisa googling, cari di dokumentasi resmi, atau di StackOverflow. Dengan seringnya menulis kode, keyword atau fungsi-fungsi tersebut akan kita hafal dengan sendirinya.

Yang paling penting dalam pemrograman adalah kerunutan logika—pola pikir kita dalam merumuskan dan menyelesaikan suatu masalah. Keterampilan untuk memecahkan suatu masalah menjadi langkah-langkah penyelesaian yang runut dan konkret, sangatlah krusial.

Hal yang tidak kalah penting lainnya adalah: Bahasa Inggris. Mayoritas artikel pemrograman atau bahkan dokumentasi PHP sendiri ditulis dalam Bahasa Inggris. Belum mahir berbahasa Inggris? Manfaatkan teknologi! Gunakan Google Translate, belajar lewat YouTube atau aplikasi seperti DuoLingo.

Terakhir, perbanyaklah menulis kode! Karena ini merupakan cara yang paling efektif untuk mahir dalam suatu bahasa pemrograman.

◈◈◈

Seluruh isi artikel ini dapat diakses secara bebas di Github. Silakan buka issue di Github atau komentar di bawah jika Anda menemukan kesalahan dalam artikel ini. Bila ada kritik atau saran, jangan ragu tuliskan pada kolom komentar di bawah.

Kunjungi juga blog pribadi saya: risan.io dan Medium—yang juga membahas topik-topik seputar pemrograman.

Postingan terbaru

LIHAT SEMUA