27 April 2018 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 Wikipedia 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: 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: 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
Menginstal PHPSebelum mempelajari PHP lebih lanjut, mari kita menginstal PHP di komputer. You are still using PHP 5Menginstal PHP di macOSBeruntung 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: Perintah di atas akan mencetak
Menginstal HomebrewBiasanya 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: Selanjutnya, tikan perintah berikut untuk menginstal Homebrew:
Setelah sukses menginstal Homebrew, kita bisa menggunakan perintah-perintah berikut:
Sementara untuk mengorganisir formula (istilah package dalam Homebrew), kita bisa menjalankan peritah-perintah berikut:
Memperbarui HomebrewUntuk kamu yang sudah menginstal Homebrew sebelumnya, jangan lupa untuk menjalankan perintah berikut untuk memperbarui instalasi Homebrew beserta daftar formulanya: Menginstal PHP dengan HomebrewJalankan perintah berikut di terminal untuk menginstal PHP: Setelah instalasi tuntas, restart terminal atau buka tab baru. Jalankan perintah berikut untuk memverifikasi versi PHP yang terpasang: Pada saat artikel ini ditulis formula
Menginstal PHP di UbuntuInstalasi 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
Setelah PPA ini berhasil ditambahkan, jangan lupa untuk memperbarui daftar package pada komputer dengan menjalankan perintah berikut: Gunakan perintah
Jalankan perintah berikut untuk menginstall PHP versi 7.2:
Untuk memverifikasi versi PHP yang terpasang, jalankan perintah berikut di terminal: Menginstal PHP di WindowsSayangnya 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: XAMPPXAMPP 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.
LaragonWebsite LaragonDibandingkan 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 LainnyaSelain dua bundle aplikasi di atas, masih banyak alternatif lainnya yang bisa kamu coba:
Memilih Text EditorMenggunakan Vim sebagai text editor?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 TextSublime 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 TextVisual Studio CodeVisual 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 CodeHello Again, WorldPada 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 ShellREPL 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: Jika perintah di atas berhasil, kita akan mendapati kursor berada di sebelah kanan teks
Tikan kode “Hello World” yang kita buat sebelumnya. Namun kali ini ganti teksnya dengan
Menyimpan Kode PHP dalam FileSekarang 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:
Simpan file tersebut di lokasi yang mudah dicari; misalnya dalam direktori PHP TagsBerbeda saat di dalam interactive shell, kode PHP
dalam sebuah file harus diapit di antara tag pembuka
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:
Lupakan Tag PenutupJika file tersebut hanya ada kode PHP di dalamnya, kita tidak perlu menuliskan tag penutup
Jangan lupa simpan perubahan di atas. Tugas kita sekarang adalah menjalankan file PHP tersebut! Hey, don’t even worry about it
Menjalankan file PHP dengan Command LineSalah satu cara untuk menjalankan file PHP adalah dengan
melalui command line atau terminal. Buka terminal dan masuk ke dalam direktori tempat kamu menyimpan file
Setelah berada di dalam direktori Jika berhasil, kita akan mendapatkan teks
Menjalankan file PHP dengan Web ServerCara kedua untuk menjalankan file PHP adalah dengan web server. Cara inilah yang paling umum digunakan. Diagram client-serverBila disederhanakan, alurnya seperti ini:
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.
Buka kembali terminal, dan arahkan lokasi dari direktori kerja ke direktori tempat kita menyimpan file
Kemudian tikan perintah berikut untuk menjalankan web server bawaan PHP: Bila berhasil, web server akan berjalan pada alamat
Buka
browser dan masukan alamat localhost:8000/01_hello.php. Kita akan mendapati teks
Dengan
Dalam jaringan komputer, Nomor
🎉 Selamat kamu telah berhasil menjalankan file PHP dengan web server! CongratulationsLatihan Membuat File PHPUntuk latihan, buatlah file baru dengan nama
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 Rangkuman Membuat File PHPDari subbab ini kita bisa menyimpulkan beberapa poin:
Pengetahuan Dasar Syntax PHPKomentar dalam PHPComment atau komentar adalah bagian yang tidak diikutsertakan dalam eksekusi sebuah program. Ia bertujuan sebagai catatan atau pengingat untuk pengembang. Umumnya ia digunakan untuk:
Dalam PHP sendiri, komentar bisa satu baris ataupun lebih. Untuk komentar satu baris yang pendek, gunakan dua garis miring:
Untuk komentar satu baris, PHP juga mendukung komentar ala shell-style dengan tanda pagar:
Bila komentarnya cukup panjang, kita bisa menuliskannya dalam beberapa baris; mengapitnya dengan tanda
Komentar multi-baris ini umumnya digunakan untuk mendokumentasikan suatu kelas atau metode seperti berikut:
Comment is not necessary PHP itu Case Insensitive, TapiHampir semua penulisan syntax pada PHP itu case insensitive—huruf kecil atau huruf besar tidak berpengaruh.
Mulai dari keywords (seperti
Tapi lain halnya dengan variable. Variable pada PHP itu case sensitive—di mana besar kecilnya huruf berpengaruh.
Latihan Dasar Syntax PHPSebagai latihan buatlah file baru dengan nama
Perhatikan kembali tiga cara penulisan komentar di atas. Cermati juga bahwa PHP case-sensitive untuk penamaan variable saja. Rangkuman Komentar dan Case Sensitivity dalam PHPDari subbab ini kita bisa menyimpulkan poin-poin berikut:
Variable dalam PHPVariable
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 (
Dan sesuai dengan namanya, nilai dari variable bisa diubah:
Untuk penamaan variable sendiri, kita bisa menggunakan huruf, angka atau underscore (
⚠️ Nama variable case sensitivePerlu diingat bahwa nama variable dalam PHP bersifat case sensitive—dimana besar-kecilnya huruf berpengaruh. Dengan begitu
💡 Camel Case vs Snake CaseUmumnya developer PHP menulisankan nama variable dengan gaya camel case atau snake case:
Framework atau kerangka kerja PHP yang populer seperti Symfony dan Laravel,
menerapkan gaya Penulis sendiri, diluar CodeIgniter dan Wordpress, selalu menerapkan gaya penulisan ️⚠️ Gunakan nama variable yang deskriptifSebagai 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 deskriptifPerhatikan kode berikut:
Tanpa komentar, akan sulit bagi kita memahami konteks kode di atas. Apa itu
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 VariableContoh kode-kode variable di atas, tidak akan mencetak apapun bila dijalankan. Untuk mencetak nilai variable, kita bisa gunakan
Kutip Tunggal vs Kutip GandaKutip tunggal akan mencetak string apa adanya. Sementara kutip ganda mampu mencetak nilai variable yang diapitnya.
Dengan
kutip ganda, kita juga bisa mengapit variable dengan tanda kurung kurawal:
Selain itu, dengan kutip ganda kita bisa mencetak escaped characters dengan mendahuluinya dengan garis miring (
Apabila dijalankan lewat Command Line kita akan mendapatkan keluaran seperti berikut:
Variable ScopeVariable 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 ScopeVariable 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.
Global ScopeSementara 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.
Kita bisa mengakses variable global dari dalam local scope dengan
menggunakan keyword
Cara lainnya untuk mengakses variable global dari dalam local scope adalah dengan menggunakan predefined variable Jangan
mengandalkan global variable
SuperglobalsSuperglobals adalah sejumlah variable standard bawaan PHP yang dapat diakses di dalam semua scope.
Untuk saat ini kita tidak perlu memusingkan sejumlah superglobals di atas. Latihan VariableSebagai latihan, buatlah file baru dengan nama
Perhatikan karakter apa saja yang valid untuk sebuah nama variable di dalam PHP. Cermati juga bagaimana dua cakupan variable dalam PHP bekerja. Rangkuman VariableDari subbab ini kita bisa simpulkan beberapa hal:
Konstanta dalam PHPBahasa PHP juga menyediakan constant atau konstanta. Berbeda dengan variable, nilai dari konstanta tidak bisa diubah. Dalam PHP, konstanta dideklarasikan dengan menggunakan perintah
Selain menggunakan
Cakupan KonstantaKonstanta memiliki cakupan seperti Superglobals, ia dapat diakses dari global dan local scope.
Tipe Data untuk KonstantaPada PHP versi 5, nilai dari konstanta yang dideklarasikan dengan perintah
Sementara untuk keyword const, kita bisa menggunakan tipe data array sejak PHP versi 5.6:
Case-Sensitivity pada KonstantaSecara default, konstanta yang dideklarasikan dengan perintah
Pun begitu, kita bisa mengatur agar konstanta yang dideklarasikan bersifat case-insensitive dengan memberikan nilai
Sementara konstanta yang dideklarasikan dengan keyword const selalu bersifat case-sensitive.
Predefined & Magic ConstantsPHP dan beragam ekstensinya menyediakan sejumlah konstanta yang bisa kita gunakan. Berikut beberapa contoh konstanta yang disediakan oleh core PHP:
Cek daftar konstanta yang disediakan oleh core PHP di dokumentasi: Core Predefined Constants.
PHP juga memiliki beberapa magic constant—konstanta yang nilainya berganti tergantung dimana ia digunakan.
Cek daftar magic constant lainnya di dokumentasi PHP: Magic Constants. Latihan KonstantaSebagai latihan buat file baru dengan nama
Rangkuman KonstantaBerikut beberapa poin yang bisa kita simpulkan dari subbab ini:
Tipe Data dalam PHPPHP mendukung 10 tipe data yang bisa dibagi ke dalam 3 kategori:
Selain itu PHP juga memiliki beberapa tipe data pseudo yang sebetulnya tidak diimplementasikan dalam PHP namun kerap digunakan dalam dokumentasi. Is mayonnaise a data type?Tipe Data SkalarTipe data skalar adalah tipe data yang hanya mengandung satu nilai. Ada empat tipe data skalar dalam PHP: BooleanBoolean merupakan tipe data yang paling sederhana. Ia berguna untuk mengekspresikan sebuah nilai kebenaran:
IntegerInteger merupakan tipe data untuk bilangan bulat. Rentang integer sangat
bergantung pada platform-nya. Untuk sistem 32-bit rentang angkanya mulai dari
Kita bisa juga menuliskan data integer dengan notasi basis bilangan lainnya:
FloatFloat atau dikenal juga sebagai double merupakan tipe data untuk bilangan pecahan desimal.
Kita juga bisa mengekspresikan tipe data float dalam bentuk ekponensial:
Perhatikan contoh kode di bawah, persamaan yang seharusnya menghasilkan nilai
StringString 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 Cara kedua adalah dengan menggunakan kutip ganda. Dengan kutip ganda, kita bisa mencetak variable maupun escaped-characters.
Never gonna give you up. Never gonna let you down.3. Dengan syntax Heredoc Cara ketiga adalah dengan syntax heredoc—menggunakan tanda
Label yang digunakan tidak harus selalu
Perhatikan juga bahwa tidak boleh ada karakter lain pada baris yang sama setelah label pembuka:
Juga tidak boleh ada spasi atau tab sebelum label penutup:
4. Dengan syntax Nowdoc Cara keempat adalah dengan syntax nowdoc. Sama-sama menggunakan tanda
Tipe Data CompoundKategori tipe data yang kedua adalah compound. Dinamakan compound karena tipe data ini bisa terdiri dari satu atau lebih tipe data lainnya. ArrayTipe data array atau larik adalah tipe data yang bisa menampung deretan data lainnya. Setiap elemen data dalam array dipisahkan oleh koma (
1. Dengan keyword Cara pertama
adalah dengan menggunakan konstruksi bahasa
2. Dengan short array syntax Cara kedua
adalah dengan short array syntax, dimana deretan data diapit di antara kurung siku:
Tidak hanya string, array juga bisa menampung beragam tipe data lainnya: integer, boolean, string, bahkan array lainnya.
Kita akan pelajari array lebih lanjut di bagian lainnya. ObjectObject 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
Kita akan bahas lebih jauh tentang objek di tutorial lainnya. CallableCallable (sebelumnya dikenal dengan callback) merupakan tipe data yang nilainya bisa dipanggil layaknya sebuah fungsi. Kita bisa menggunakan fungsi
Masih banyak cara-cara lainnya untuk mendeklarasikan sebuah callable, cek dokumentasi callable untuk lebih lengkapnya. IterableIterable 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 SpesialResourceResource 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.
NULLNULL berarti sebuah variable tidak memiliki nilai. Kita bisa menggunakan fungsi
Tipe Data PseudoTipe data pseudo adalah tipe data yang sebetulnya tidak ada dalam implementasi bahasa PHP, namun sering digunakan di dalam dokumentasi PHP:
Type JugglingDalam 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:
Type CastingType casting digunakan untuk mengubah sebuah tipe data ke dalam tipe data lainnya.
Beberapa contoh hasil type casting yang kadang bisa membingungkan:
Latihan Tipe DataUntuk latihan, buatlah file PHP baru dengan nama
Apabila kita jalankan kode di atas pada browser, kita akan mendapatkan hasil seperti berikut: Latihan tipe dataBuat kembali file PHP baru dan beri nama
Rangkuman Tipe DataDari pembahasan subbab tipe data ini, kita bisa simpulkan beberapa poin berikut:
OperatorSesuai namanya, operator digunakan untuk melakukan sebuah operasi pada satu atau beberapa nilai/variable. Operator Aritmetika
Berikut adalah contoh penggunaanya:
Operator AssignmentOperator assignment (
Untuk mepersingkat, kita juga bisa menggabungkan tanda
Operator Increment & DecrementOperator increment digunakan untuk menambah nilai variable sebesar satu. Sebaliknya operator decrement digunakan untuk mengurangi nilai variable sebesar satu.
Perhatikan kode berikut untuk membedakan antara pre dan post:
Operator BitwiseSesuai namanya, operator bitwise digunakan untuk melakukan operasi pada level bit.
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:
Operator PerbandinganOperator perbandingan digunakan untuk membandingkan kedua nilai. Dalam PHP ada beberapa operator perbandingan yang bisa kita gunakan.
Operator
Hal serupa juga berlaku untuk
Type juggling juga berlaku untuk operator perbandingan lainnya:
Operator spaceship (
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?Operator LogikaAda enam jenis operator logika yang bisa kita gunakan di dalam PHP:
Operator Perhatikan keluaran dari kode di bawah ini:
Type juggling akan diterapkan bila kita menggunakan tipe data lain selain
Operator TernaryOperator ternary (
Baris di atas akan dievaluasi sebagai
Karena
Sejak PHP versi 5.3, bagian
Baris di atas akan dievaluasi sebagai
Apabila variable
Null Coalescing OperatorAda juga null coalescing operator (
Baris di atas akan dievaluasi
menjadi
Namun jika
Operator StringAda dua operator string yang bisa kita gunakan:
Operator ArrayPHP juga menyediakan beberapa operator yang bisa digunakan untuk array:
Operator
Operator
Adapun operator Operator TipePHP memiliki satu operator tipe:
Error Control OperatorPHP memiliki satu operator untuk mengendalikan error:
Jika file
Untuk
menekan pesan error seperti di atas, kita bisa gunakan operator
Umumnya operator ini dikombinasikan dengan perintah
Execution OperatorPHP memiliki satu execution operator berupa backtick ( Operator ini juga akan mengembalikan
Prioritas OperatorSetiap operator dalam PHP memiliki tingkat prioritas yang berbeda. Sama seperti apa yang telah kita pelajari di bangku sekolah dasar, operasi perkalian
Cek dokumentasi PHP untuk daftar lengkap prioritas operator: Operator Precedence. Kita juga bisa menggunakan tanda kurung
Latihan Menggunakan OperatorUntuk melatih penggunaan operator, buatlah file
PHP baru dan beri nama
Rangkuman Operator dalam PHPDari subbab operator ini, kita bisa simpulkan beberapa poin utama:
Percabangan dengan If Elseif dan ElseAI InsideKeyword IfKeyword Misal kita ingin mencetak sebuah pesan jika nama pengguna adalah
Pesan Ingat bahwa PHP tidak memedulikan spasi. Jadi
blok kode
Namun apabila blok kode
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
Kita juga bisa
menyisipkan blok
Pesan
Yoda ConditionYoda adalah karakter dalam Star Wars yang memiliki gaya bicara yang tidak biasa. Dimana frasa-frasa dalam kalimatnya sering ditukar posisinya. Do or do not, there is no tryYoda 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
Gaya penulisan seperti ini untuk menghindari kesalahan yang bisa fatal akibatnya karena programmer lupa untuk menggunakan operator perbandingan (
Bayangkan apabila rekening pengguna yang awalnya
Meski
penggunaan operator yang salah,
Keyword ElseKita bisa menggunakan keyword
Apabila kode di atas dijalankan, kita akan mendapatkan keluaran: Keyword ElseifKita bisa menggunakan keyword
Apabila dijalankan, kode di atas akan mencetak Kita bisa juga menambahkan keyword
Keyword
Gaya Lain Penulisan If Elseif dan ElseSelain menggunakan kurung kurawal seperti pada contoh di atas. Blok
Perhatikan juga bahwa penulisan blok Type Juggling diterapkan Pada KondisiPerlu diingat juga bahwa type juggling diterapkan pada pemeriksaan kondisi. Ekspresi pada kondisi
Latihan Percabangan dengan If Else dan ElseifUntuk latihan, buat kembali contoh pada subbab
Simpan dengan nama Rangkuman If Elseif dan ElseDari subbab ini kita bisa simpulkan beberapa poin berikut:
Percabangan dengan SwitchFungsi dari keyword
Berikut contoh implementasinya:
Kode di atas akan mencetak keluaran Keyword Break dalam SwitchBlok Untuk memahaminya coba jalankan kode berikut:
Tanpa menggunakan
Tanpa
Untuk contoh kita sebelumnya, tentu keadaan seperti ini tidak diinginkan. Namun ada pula kasus dimana keyword
Karena
Keyword Default dalam SwitchKeyword
Karena tidak ada Keterbatasan SwitchTidak semua permasalahan percabangan cocok diselesaikan dengan
Kita tidak bisa menggunakan ekspresi pada
Bayangkan jika
Latihan Percabangan SwitchSebagai latihan, ubah kode pada latihan
Rangkuman Percabangan SwitchPada subbab
Perulangan dengan WhilePerulangan digunakan untuk mengeksekusi suatu blok kode berkali-kali selama kondisi yang disyaratkan terpenuhi. Salah satu keyword perulangan yang bisa kita gunakan dalam PHP adalah Blok
Apabila kode di atas dijalankan, kita akan mendapatkan keluaran seperti berikut:
Sama halnya dengan blok
Pada contoh di atas, nilai dari variable
Kita akan mendapatkan output seperti berikut:
Infinite Loop pada Perulangan WhileInfinite loop atau perulangan tak hingga bisa terjadi pada
Pada contoh kode di atas, nilai dari Keyword Break pada Perulangan WhileDalam blok
Meski
ekspresi kondisi selalu bernilai
Keyword Continue pada Perulangan WhileAda juga keyword
Pada contoh kode di atas, kode
Gaya Lain Penulisan Perulangan WhilePerulangan
Perhatikan bagaimana kurung kurawal pembuka digantikan dengan titik dua ( Apabila dijalankan, kode di atas akan menghasilkan output yang sama:
Type Juggling pada Perulangan WhileSeperti pada
Latihan Perulangan WhileUntuk melatih penggunaan
Selanjutnya dengan perulangan
Simpan file ini dengan nama
Rangkuman Perulangan WhileBeberapa hal yang dapat kita rangkum dari subbab
Perulangan Do-WhilePerulangan dengan
Berikut contoh implementasinya:
Apabila kode di atas dijalankan, kita akan mendapatkan keluaran seperti di bawah:
Struktur
Meski nilai Berbeda dengan perulangan
Salah satu contoh pemanfaatannya adalah pada aplikasi command line, dimana kita meminta sebuah input dari pengguna dengan syarat tertentu.
Apabila dijalankan pada terminal, kode di atas akan meminta masukan angka genap dari pengguna. Perulangan
Dengan perulangan
Atau harus menggunakan pengecekan kondisi yang lebih rumit:
Infinite Loop pada Perulangan Do-WhileSeperti pada
Kode di atas akan terus menerus mencetak angka Keyword Break pada Perulangan Do-WhileSama halnya dengan blok
Pada kode di atas, perulangan
Keyword Continue pada Perulangan Do-WhileKeyword
Pada contoh di atas, blok kode
Latihan Perulangan Do-WhileUntuk latihan, ubah kode pada latihan perulangan
Dengan memanfaatkan
Simpan file ini dengan nama
Rangkuman Perulangan Do-WhileDari subbab
Perulangan dengan ForKeyword perulangan lainnya yang bisa kita gunakan adalah
Sebuah blok perulangan
Contoh sederhana penggunaanya:
Apabila kode di atas dijalankan, kita akan mendapat keluaran seperti berikut:
Apabila blok
Kita
juga bisa melakukan perulangan “mundur”—dari angka
Apabila kode di atas dijalankan, kita akan mendapatkan hasil seperti berikut:
Bagian
Apabila kode di atas dijalankan, kita akan mendapatkan keluaran berupa deretan angka ganjil:
Keyword Break pada Perulangan ForSama halnya seperti perulangan
Apabila dijalankan, kode di atas akan mencetak angka
Hal ini terjadi karena saat nilai variable Keyword Continue pada Perulangan ForKeyword
Apabila kode di atas dijalankan, kita akan mendapatkan deretan angka genap:
Gaya Lain Penulisan Perulangan ForPerulangan
Apabila kode di atas dijalankan, kita akan mendapatkan keluaran yang serupa:
Meski diperbolehkan, panduan
PSR-2 menganjurkan untuk selalu menggunakan versi dengan kurung kurawal ( Tiga Ekspresi dalam Perulangan For Bersifat OpsionalTahukan kamu bahwa tiga ekspresi dalam Contoh kode berikut akan mengakibatkan infinite loop, dimana nilai
Kita juga boleh hanya menyediakan sebagian dari ekspresi yang digunakan keyword
Kode di atas akan mencetak:
Kode perulangan di atas, bisa juga diubah ke dalam bentuk seperti di bawah ini (tentu kode di bawah jauh lebih sulit untuk dipahami):
Latihan Perulangan ForUntuk latihan buatlah file baru dengan nama
Selanjutnya, dengan menggunakan perulangan
Simpan file dengan nama
Rangkuman Perulangan ForPoin-poin yang dapat kita simpulkan dari subbab
Fungsi dalam PHPFunction 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:
Apabila kode di atas dijalankan, kita tidak akan mendapatkan output apa-apa. Untuk mengeksekusi kode di dalam fungsi
Apabila kode di atas dijalankan, kita akan mendapatkan emoji buah-buahan tercetak di terminal: Kita juga bisa berkali-kali memanggil fungsi
Output pada terminal: Memanggil FungsiDalam PHP, kita bisa memanggil sebuah fungsi bahkan bila ia baru dideklarasikan setelahnya:
Apabila kode di atas dijalankan, kita tetap akan mendapatkan emoji buah-buahan sebagaimana mestinya: Meski begitu, fungsi yang dideklarasikan di dalam blok
Begitupun deklarasi fungsi yang berada di dalam fungsi lainnya. Fungsi yang berada di dalam, baru bisa dipanggil apabila fungsi luarnya telah dipanggil.
Aturan Penulisan FungsiNama sebuah fungsi bisa terdiri dari huruf, angka, ataupun underscore (
Nama Fungsi Bersifat Case-InsensitiveTidak seperti variable, nama fungsi bersifat case-insensitive. Sehingga fungsi
Panduan Penulisan Deklarasi FungsiPenulisan kurung kurawal pada fungsi pun tidak harus berada di baris yang baru. Semua contoh deklarasi fungsi di bawah ini valid dalam PHP:
Berdasarkan panduan PSR-1 dan PSR-2, aturan penulisan metode dapat dirumuskan ke dalam poin-poin berikut:
Contoh penulisan fungsi yang mengikuti panduan penulisan metode di atas:
Tidak Boleh Menggunakan Nama Fungsi yang SamaPHP 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):
Apabila kode di atas dijalankan, kita akan mendapatkan error seperti di bawah ini:
Gunakan Nama Fungsi yang DeskriptifSama 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:
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.
Konsep Code ReuseTujuan 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 latihan perulangan
Apabila kode di atas dijalankan, kita akan mendapatkan dua segitiga pada terminal:
Bisa kita lihat bahwa kode yang digunakan untuk mencetak segitiga yang pertama dan yang kedua sama
percis. Seandainya client ingin mengganti karakter bintang (
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!
Dengan mengelompokannya ke dalam fungsi
Apabila kode di atas dijalankan, kita akan mendapatkan keluaran seperti di bawah ini:
Kita bisa refactor fungsi
Fungsi dengan ParameterKita dapat memberikan informasi kepada sebuah fungsi. Informasi atau data yang diberikan ini biasa disebut dengan istilah “argumen”. Sebagai contoh, kita akan menggunakan fungsi
Sekarang,
untuk memanggil fungsi
Apabila dijalankan, kita akan mendapatkan segitga berukuran
Fungsi dengan Beberapa ParameterFungsi juga dapat menerima argumen lebih dari satu. Setiap argumen yang diberikan harus dipisahkan oleh koma (
Perhatikan bahwa urutan argumen yang diberikan
harus sama dengan urutan parameter pada deklarasi fungsinya (parameter
Fungsi VariadicFungsi variadic adalah fungsi yang jumlah argumennya tidak tentu. Bisa satu, dua, tiga, seratus, atau berapa saja. Parameter dari fungsi variadic dideklarasikan dengan menambahkan Operator
Pada contoh di atas, kita dapat memanggil fungsi Apabila kode di atas dijalankan, kita akan mendapatkan keluaran berupa hasil penjumlahan untuk setiap argumen yang diberikan: Untuk membuktikan bahwa parameter pada fungsi variadic berupa array, coba jalankan kode berikut:
Kita akan mendapatkan keluaran seperti di bawah:
Parameter Fungsi Variadic dengan Parameter LainnyaKita bisa juga menggabungkan parameter biasa dengan parameter untuk fungsi variadic. Pastikan saja bahwa parameter untuk fungsi variadic dideklarasikan paling akhir:
Apabila kode di atas dijalankan, kita akan mendapatkan keluaran seperti berikut:
Fungsi Variadic untuk Versi PHP LamaOperator
Apabila kode di atas dijalankan, kita akan mendapatkan hasil yang sama: Selain itu ada juga fungsi
Apabila kode di atas dijalankan, kita akan mendapatkan keluaran yang serupa:
Nilai Default Argumen pada FungsiSebuah
fungsi bisa juga memiliki nilai default untuk argumennya. Misal parameter
Sekarang kita bisa memanggil fungsi
Apabila dijalankan, kita akan mendapatkan keluaran seperti berikut:
Nilai Default Harus berupa Ekspresi KonstanNilai default yang diberikan kepada parameter bisa memiliki tipe data:
Nilai default tidak bisa berupa objek dari sebuah kelas:
Nilai default juga terbatas pada ekspresi yang bersifat konstan—jadi kita tidak bisa melibatkan variable lain atau memanggil fungsi lain.
Parameter dengan Nilai Default Harus Ditempatkan DiakhirPerlu diperhatikan bahwa parameter yang memiliki nilai default, harus selalu ditempatkan di akhir.
Passing by Value vs Passing by ReferenceSecara 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:
Di dalam fungsi 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
Apabila kode di atas dijalankan, kita bisa
melihat bahwa nilai dari variable
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:
Perhatikan bagaimana nilai dari variable Fungsi dengan Nilai KembalianKeyword
Saat fungsi Perlu diingat juga bahwa sisa kode fungsi setelah statement
Apabila kode di atas dijalankan, kita akan mendapatkan keluaran seperti berikut: Kita kembali ke fungsi
Kita ganti nama fungsi
Fungsi dengan Nilai Kembalian NullFungsi yang tidak menggunakan keyword
Deklarasi Tipe Data pada Parameter FungsiDalam 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
Kita sengaja memberikan argumen berupa
Apabila kode di atas dijalankan, kita akan mendapatkan pesan kesalahan seperti berikut:
Berikut daftar tipe data yang dapat kita gunakan untuk type declaration:
Tipe Konversi Tipe Data pada Pemberian ArgumenSecara 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 (
Kita memberikan argumen berupa
Ini terjadi karena karena konversi tipe data berhasil diterapkan pada argumen. Apabila kita memberikan argumen yang
bukan bertipe skalar; kita akan mendapatkan
Argumen bertipe skalar pun dapat menghasilkan
Mencegah Konversi Tipe Data Skalar dengan Mode Strict TypingAgar argumen bertipe skalar tidak dikonversi secara otomatis oleh PHP, kita dapat mengaktifkan mode strict typing:
Apabila kode di atas dijalankan, kita akan mendapatkan pesan kesalahan seperti di bawah:
Deklarasi Tipe Data pada Kembalian FungsiSejak PHP versi 7, kita pun dapat mendeklarasikan tipe data kembalian dari sebuah fungsi:
Apabila kita mencoba untuk mengembalikan tipe data yang tidak sesuai, kita akan mendapatkan
Pada contoh kode di atas kita mengembalikan nilai berupa
Berikut adalah daftar tipe data yang dapat kita gunakan untuk kembalian sebuah fungsi:
Kembalian dengan tipe Fungsi dengan Kembalian VoidMendeklarasikan fungsi dengan kembalian
Fungsi yang dideklarasikan dengan kembalian
Apabila kode di atas dijalankan, kita akan mendapatkan pesan kesalahan seperti di bawah:
Konversi Tipe Data pada Kembalian FungsiSama 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 (
Ketiga fungsi di atas mengembalikan nilai dengan tipe data yang sesuai—meski statement Apabila statement
Apabila kode di atas dijalankan, kita akan mendapatkan pesan kesalahan seperti di bawah:
Meski kita mengembalikan nilai bertipe skalar, tapi apabila PHP tidak dapat mengkonversinya, kita juga akan mendapatkan
Apabila kode di atas dijalankan, kita akan mendapatkan pesan kesalahan seperti di bawah:
Mencegak Konversi Nilai Kembalian dengan Mode Strict TypingApabila mode strict typing diaktifkan, PHP pun tidak akan mengkonversi nilai kembalian yang tipe datanya tidak cocok dengan deklarasi.
Apabila kode di atas dijalankan, kita akan mendapatkan pesan kesalahan seperti di bawah ini:
Latihan FungsiSebagai latihan, implementasikan kembali fungsi
Rangkuman FungsiDari subbab ini, dapat kita simpulkan beberapa hal:
Anonymous Function, Lambda, dan ClosureBanyak tutorial atau artikel pemrograman yang mencampuradukan istilah anonymous function, lambda, dan closure. Meski berkaitan, tiga istilah ini merujuk pada konsep yang berbeda. Anonymous FunctionAnonymous function atau fungsi anonim adalah fungsi yang tidak memiliki nama. Perhatikan contoh berikut:
Kode di atas adalah contoh anonymous function. Perhatikan bagaimana kita harus tetap menggunakan titik koma (
Apabila kode di atas dijalankan, kita akan mendapatkan keluaran berupa tiga emoji pizza: Anonymous Function dengan ArgumenFungsi anonim juga dapat menerima argumen seperti fungsi biasa:
Apabila kode di atas dijalankan, kita akan mendapatkan output seperti di bawah: Kegunaan Anonymous FunctionFungsi anonim dapat kita gunakan sebagai argumen untuk parameter fungsi yang menerima callback. Perhatikan contoh berikut:
Fungsi Apabila kode di atas dijalankan, kita akan mendapatkan array baru yang setiap elemennya merupakan kelipatan dua dari elemen
Pada contoh kode di atas, argumen pertama yang diberikan pada fungsi
Fungsi ini akan
dieksekusi untuk setiap angka yang ada pada array LambdaDalam ilmu computer, lambda atau ekspresi lambda adalah saat fungsi digunakan sebagai data:
Contoh sebuah fungsi yang di simpan dalam variable:
Contoh fungsi yang dijadikan argumen untuk fungsi lainnya: Function as an argumentContoh fungsi yang dijadikan nilai kembalian untuk fungsi lainnya:
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:
Pun begitu, dalam PHP ekspresi lambda hanya bisa dituliskan dengan anonymous function. Untuk memberikan named function sebagai
argumen, kita dapat merujuknya dengan
ClosureClosure 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
Kita dapat menggunakan keyword
Perhatikan bagaimana anonymous function di atas mengakses variable
Fungsi anonim di atas juga akan menjaga nilai dari
Apabila kode di atas dijalankan, kita akan mendapatkan nilai
Closure juga dapat menjaga data yang ada di scope induk meski scope induk tersebut selesai dieksekusi. Perhatikan contoh berikut:
Pada contoh kode di
atas, anonymous function mengakses Latihan ClosureUntuk latihan buat file php baru dengan nama
Apabila kode dia atas dijalankan, kita akan mendapatkan keluaran seperti berikut:
Rangkuman ClosureDari subbab ini, kita dapat rangkum poin-poin berikut:
Menyertakan Kode dari File LainKita dimungkinkan untuk menyertakan kode PHP dari file lain dengan menggunakan keyword
Kemudian kita memiliki file lainnya yang bernama
Misal file
Perlu
diingat bahwa variable, konstanta, atau fungsi yang ada pada
Dengan menggunakan
Menggunakan include_onceSelain Misal kita tidak sengaja menyertakan file
Dengan keyword
Seperti dalam
Menggunakan requireAda juga keyword
Menggunakan require_onceKeyword
Jika menggunakan
Namun dengan
Seperti
Rangkuman Menyertakan Kode dari File LainDari subbab ini kita bisa simpulkan beberapa poin berikut:
Bekerja dengan StringBerikut 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 StringUntuk menghitung jumlah karakter dalam sebuah string, gunakan fungsi
Perhatikan contoh-contoh berikut:
Mengubah String ke Huruf Kecil atau BesarUntuk mengubah string ke huruf kecil, gunakan fungsi
Perhatikan contoh-contoh penggunaanya:
Untuk membuat karakter pertama saja yang menjadi huruf besar, gunakan fungsi
Kita bisa juga menggunakan fungsi
Perlu diperhatikan bahwa
Solusinya, kita dapat menggunakan fungsi
Menghapus Spasi dari Awal dan Akhir StringUntuk menghapus spasi (atau karakter lainnya) dari awal dan akhir sebuah string, gunakan fungsi
Untuk menghapus dari sisi kiri saja, kita bisa menggunakan fungsi
Sementara untuk menghapus sisi kanan saja, kita bisa gunakan
Mengulang StringKita dapat mengulang sebuah string dengan jumlah tertentu menggunakan fungsi
Mengambil Bagian dari StringKita dapat mengambil bagian dari sebuah string dengan menggunakan fungsi
Mencari StringUntuk melakukan pencarian dalam sebuah string, kita dapat menggunakan fungsi
Fungsi
Fungsi
Mengganti Bagian dari StringUntuk mencari dan mengganti bagian tertentu dari sebuah string, kita dapat menggunakan fungsi
Berikan argumen opsional
Fungsi
Membuat String dengan Format TertentuKita dapat membuat string yang mengikuti format tertentu dengan menggunakan fungsi
Contoh penggunaan precision specifier:
Contoh penggunaan sign specifier:
Contoh penggunaan width specifier:
Contoh penggunaan padding spesifier:
Contoh penggunaan alignment specifier:
Fungsi
Memecah String ke Dalam ArrayKita dapat menggunakan fungsi
Misalnya kita ingin memecah sebuah kalimat ke dalam array dari kata-kata:
Contoh lainnya adalah untuk mengubah sebuah string yang berisi comma separated list:
Menggabungkan Array Menjadi StringFungsi
Mengubah Baris Baru menjadi Tag brBaris baru dalam dokumen HTML direpresentasikan oleh tag
Membalikan Sebuah StringUntuk membalikan sebuah string, kita dapat menggunakan fungsi
Hati-hati menggunakan fungsi ini, karena ia tidak bisa menangani karakter multibyte seperti emoji.
Bekerja dengan ArraySeperti yang telah kita bahas di bab tipe data, array atau larik dapat menampung deretan data:
Key dan Value dalam ArraySetiap 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).
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
Nilai Kita dapat menyertakan nilai dari key untuk mendeklarasikan sebuah associative array (larik asosiatif):
Dalam PHP kita bahkan bisa mencampurkan key bertipe string dengan key bertipe integer:
Arrays start at oneMengecek Apakah Key Tersedia dalam ArrayUntuk mengecek apakah sebuah key tersedia dalam array, kita bisa menggunakan fungsi
Berikut contoh penggunaanya:
Fungsi
Mengakses Elemen ArrayUntuk mengakses elemen di dalam array, kita gunakan key dari elemen tersebut.
Apabila kita mencoba untuk mengakses elemen array yang key-nya tidak tersedia, kita akan mendapatkan pesan kesalahan:
Kita dapat menggunakan fungsi
Apabila dijalankan, kita akan mendapatkan keluaran:
Array MultidimensiArray multidimensi adalah array yang berisi array lainnya:
Menghitung Jumlah Elemen dalam ArrayKita dapat menghitung jumlah elemen dalam sebuah array dengan menggunakan fungsi
Perulangan dengan ArrayUntuk indexed array, tentu kita bisa menggunakan perulangan
Apabila kode
di atas dijalankan, kita akan mendapatkan seluruh elemen dalam array
Namun bagaimana dengan array asosiatif yang key-nya bukan merupakan integer berurut? Kita bisa menggunakan perintah
Apabila kode di atas dijalankan, kita akan mendapatkan keluaran seperti berikut: Apabila kita hanya mebutuhkan porsi
Nama
variable yang digunakan pun tidak harus selalu
Apabila kode di atas dijalankan, kita akan mendapatkan keluaran yang serupa:
Untuk array multidimensi, kita bisa menggunakan
Apabila kode di atas dijalankan, kita akan mendapatkan keluaran seperti berikut:
Menambahkan Elemen pada ArrayAda 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
Untuk array asosiatif, kita dapat meng-assign pasangan key dan value-nya langsung. Cara ini juga berlaku untuk indexed array.
Menambahkan Elemen Baru di Akhir dengan array_pushFungsi
Perhatikan contoh berikut:
Dengan
fungsi
Menambahkan Elemen Baru di Awal dengan array_unshiftFungsi
Berikut contoh penggunaanya:
Mengubah Elemen ArrayMengubah Elemen Array dengan Menggunakan Key-nyaCara paling mudah untuk mengubah elemen dari sebuah array adalah dengan menggunakan key dari elemen tersebut dan memberinya nilai yang baru.
Mengganti Elemen Array dengan array_replaceKita bisa juga menggunakan fungsi
Apabila parameter
Mengubah Elemen Array dengan array_spliceUntuk mengubah satu atau beberapa elemen pada indexed array, kita juga bisa menggunakan fungsi
Apabila
Apabila jumlah elemen pada array
Menghapus Elemen ArrayMenggunakan Fungsi unsetCara paling mudah untuk mengapus elemen dari sebuah array adalah dengan fungsi
Menghapus Elemen Terakhir dari Array dengan array_popUntuk menghapus elemen paling akhir dari sebuah array kita dapat menggunakan fungsi
Menghapus Elemen Pertama dari Array dengan array_shiftFungsi
Menghapus dengan array_spliceSeperti yang telah kita bahas sebelumnya, kita juga bisa menggunakan
fungsi
Menggabungkan ArrayMenggunakan Operator UnionSalah satu cara untuk menggabungkan array adalah dengan operator union (
Dari contoh kode di atas, baik array Hal ini berlaku juga untuk indexed array:
Hanya
Menggabungkan Array dengan array_mergeCara lain untuk menggabungkan dua array atau lebih adalah dengan menggunakan fungsi
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.
Menggunakan array_mapFungsi
Setiap elemen array yang diberikan pada fungsi Misalnya, kita mempunyai array
Kita bisa juga menggunakan fungsi
Array yang diberikan sebagai argumen pada
Menggunakan array_filterFungsi
Misalnya kita ingin menyaring array
Perhatikan bagaimana key dari array kembalian fungsi
Apabila kita tidak memberikan argumen
Menggunakan array_reduceFungsi
Misal kita ingin menjumlahkan semua nilai pada array
Tentu untuk masalah di atas, kita bisa dengan mudah menyelesaikannya dengan fungsi
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
PenutupSampai juga pada akhir tutorial. Kita telah banyak membahas topik seputar dasar-dasar pemrograman dalam PHP:
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:
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: bagja.net dan Medium—yang juga membahas topik-topik seputar pemrograman. Credits:
|