Seduh kopi anda. Ambil istirahat barang sebentar.
Kita telah mempelajari bagian-bagian penting dari PHP. Mulai dari apa itu PHP file, variabel dan tipe data, logika percabangan, perulangan, macam-macam operator pada PHP, hingga fungsi yang telah kita pelajari sebanyak 3 bagian.
Pada kesempatan kali, kita akan melanjutkan kembali pelajaran kita di Tutorial PHP Dasar ini. Ada pun materi yang akan kita ambil adalah: manipulasi string
.
Kita telah mempelajari sekilas tentang string
pada pembahasan Tipe Data dan Variabel. Ia adalah tipe data yang kita gunakan untuk menyimpan kumpulan karakter, ia bisa diapit oleh tanda petik satu (''
) mau pun tanda petik dua (""
).
Di dalam bahasa pemrograman PHP, kita bisa melakukan banyak hal dalam rangka memanipulasi string
. Sekarang, kita akan coba hal-hal yang sekiranya penting untuk diketahui terkait bekerja menggunakan string
di PHP.
Merangkai String
Untuk merangkai string dalam PHP, kita bisa menggunakan tanda petik satu mau pun tanda petik dua. Keduanya hampir sama akan tetapi cara kerjanya sedikit berbeda.
Tanda petik dua akan mengisi variabel dengan nilai aslinya, ada pun dengan tanda petik satu, kita tidak bisa melakukan hal tersebut.
Pada seri tutorial PHP ini, kita telah mencoba keduanya di tempat yang berbeda berkali-kali.
Berikut adalah contohnya:
<?php
$nama = 'Nurul Huda'; # tanda petik satu
$pesan = "Selamat datang {$nama}"; # tanda petik dua
$pesan2 = 'Selamat datang {$nama}'; # tanda petik satu
# ketika di-echo
echo $pesan . '<br>'; # Selamat datang Nurul Huda
echo $pesan2 . '<br>'; # Selamat datang {$nama}
Jika anda eksekusi potongan kode program di atas, anda akan mendapati bahwa isi dari variabel $pesan
berbeda dengan isi pada variabel $pesan2
.
Merangkai String dengan .
Jika pada tipe data numeric semisal integer
atau float
kita bisa melakukan operasi matematika seperti penambahan dan pengurangan. Maka di dalam tipe data string
, kita bisa melakukan perangakaian string.
Untuk merangkai string pada PHP, kita bisa menggunakan menggunkan operator .
.
<?php
$namaDepan = "Nurul";
$namaBelakang = "Huda";
$namaLengkap = $namaDepan . ' ' . $namaBelakang; # Nurul Huda
Menyingkat dengan operator .=
Sama seperti operator singkatan semisal +=
, -=
, *=
dan selainnya, kita juga bisa menggunakan singkatan dari operator .
menjadi .=
.
Perhatikan contoh berikut:
<?php
$namaLengkap = "Nurul";
$namaLengkap .= " Huda"; // $namaLengkap = $namaLengkap . " Huda";
Perhatikan Tipe Data dan Operator
Kita harus jeli dalam menggunakan tipe data dan operator. Karena jika kita salah, alih-alih mendapatkan hasil yang kita inginkan, kita justru mendapatkan sesuatu yang tidak terprediksi.
Perhatikan contoh berikut:
<?php
$i = 5;
echo "Hasil akhir: " . $i + 3;
Program di atas akan menghasilkan:
3
Kenapa?
Karena di situ kita menggunakan tanda +
. Sedangkan PHP akan menyelesaikan ekspresi di atas secara berurutan dari kiri kenan, sehingga:
- Ia akan merangkai string
"Hasil akhir: "
dan$i
menjadi"Hasil akhir: 5"
. - Ia akan menambahkan antara string
"Hasil akhir: 5"
dan 3 - Karena operan pertama adalah non-numeric, maka ia dikonversi menjadi angka 0
- Sehingga operasi akhir yang dijalankan adalah
0 + 3
- Hasil akhirnya adalah
3
Berbeda ceritanya jika kita menggunakan tanda kurung ()
untuk mengelompokkan mana bagian yang harus dikerjakan terlebih dahulu.
Perhatikan kode berikut:
<?php
$i = 5;
echo "Hasil akhir: " . ($i + 3);
Program di atas akan menghasilkan:
"Hasil akhir: 8"
Sangat berbeda bukan?
Escape Character
Selanjutnya adalah escape character. Ia adalah karakter-karakter khusus yang tidak bisa ditampilkan secara langsung, melainkan harus diikuti dengan tanda \
.
String yang dirangkai dengan tanda petik dua akan mengganti escape character dengan karakter yang merepresentasikannya. Hal ini berbeda dengan string yang dirangkai dengan tanda petik satu. Yang mana ia hanya akan menampilkan apa adanya tanpa mereplace apa pun dengan apa pun (kecuali sedikit kasus).
Ada pun escape character pada PHP adalah:
Kode | Keterangan |
---|---|
\n |
Baris baru |
\r |
Karakter carriage-return |
\t |
Karakter tab |
\$ |
Karakter $ itu sendiri |
\" |
Untuk menampilkan tanda petik dua |
\\ |
Untuk menampilkan tanda slash \ itu sendiri |
Agar lebih mudah untuk dipahami, anda bisa eksekusi kode program berikut:
<?php
echo "Baris\nbaru <br>"; # ini hanya bekerja di console, tidak di HTML
echo 'Baris\nbaru <br>'; # ditampilkan apa adanya, \n tidak direplace dg sesuatu
echo "Halo\rDunia <br>"; # Halo Dunia
echo 'Halo\rDunia <br>'; # Halo\rDunia
echo "<pre>Halo\tDunia!</pre>"; # Halo Dunia!
echo '<pre>Halo\tDunia!</pre>'; # Halo\tDunia!
echo "Katakanlah \"Tidak pada narkoba!\" <br>"; # Katakanlah "Tidak pada narkoba!"
echo 'Katakanlah \'Tidak pada narkoba!\' <br>'; # Katakanlah 'Tidak pada narkoba!'
Dari kode program di atas, kita bisa mengetahui perbedaan antara tanda petik dua dan tanda petik satu dari segi cara kerjanya menangani escape string.
Secara umum, tanda petik satu tidak menggubris karakter escape string kecuali pada tanda \'
saja.
Panjang Karakter String
Untuk mengetahui panjang karakter dari sebuah string, kita bisa menggunakan fungsi bawaan PHP bernama strlen()
.
Perhatikan kode program berikut:
<?php
$loremIpsum = "Lorem ipsum dolor sit amet consectetur adipisicing elit.
Voluptatem reprehenderit nobis veritatis commodi fugiat molestias impedit
unde ipsum voluptatum, corrupti minus sit excepturi nostrum quisquam?
Quos impedit eum nulla optio.";
echo "<p>{$loremIpsum}</p>";
echo "Panjang karakter: " . strlen($loremIpsum) . "<br>"; # 230
Menghitung Jumlah Kata
Untuk menghitung jumlah kata dalam suatu string, kita bisa menggunakan fungsi bawaah PHP bernama str_word_count()
.
Lanjutkan kode program yang sebelumnya, lalu tambahkan perintah berikut:
<?php
echo "Panjang kata: " . str_word_count($loremIpsum) . "<br>"; # 30
Dia akan menghitung panjang kata pada variabel $loremIpsum
.
Memotong String
Terkadang kita butuh untuk memotong sebuah string yang panjang. Misal kita hanya membutuhkan 200 karakter pertama dari suatu artikel, atau kita membutuhkan 10 karakter terakhir dari sebuah artikel, maka kita bisa melakukan itu semua menggunakan fungsi bawaan PHP bernama substr()
.
Fungsi substr()
menerima 2 parameter wajib, dan 1 parameter opsional.
- string: rangkaian karakter yang akan dipotong
- index: indeks awal di mana string akan mulai dipotong
- length: panjang karakter yang akan dipotong. Ini bersifat opsional. Jika tidak didefinisikan, ia akan mengambil sisa panjang string.
Contoh:
<?php
# dari indeks 0 sampai sepanjang 150 karakter
echo "<p>" . substr($loremIpsum, 0, 150) . "</p>";
# dari indeks 30 sampai sepanjang 150 karakter
echo "<p>" . substr($loremIpsum, 30, 150) . "</p>";
# dari indeks 100 sampai habis
echo "<p>" . substr($loremIpsum, 100) . "</p>";
# abmil 100 karakter terakhir
echo "<p>" . substr($loremIpsum, -100) . "</p>";
Uppercase
Di dalam PHP, kita bisa mengubah semua karakter dari suatu string ke dalam bentuk uppercase dengan fungsi bawaan bernama strtoupper()
.
<?php
echo "<p>" . strtoupper($loremIpsum) . "</p>";
Lowercase
Sebaliknya untuk mengubah semua karakter pada suatu string menjadi lowercase, kita bisa menggunakan perintah strtolower()
.
<?php
echo "<p>" . strtolower($loremIpsum) . "</p>";
Membalik String
Ketika mempelajari algoritma pemrograman atau pun struktur data, mungkin kita akan mendapatkan tugas untuk membalikan suatu teks string. Tugas tersebut harus kita selesaikan dengan menggunakan perulangan mundur. Bagi pemula, tugas seperti ini cukup melatih logika.
Akan tetapi, kebanyakan bahasa pemrograman sudah datang dengan fungsi bawaan untuk membalikkan string sehingga kita tidak perlu repot-repot untuk membuatnya sendiri.
Di dalam PHP, untuk membalikkan sebuah teks string, kita bisa menggunakan perintah strrev()
.
Perhatikan contoh berikut:
<?php
$pesan = "saya sudah makan";
echo strrev($pesan) . "<br>"; # nakam hadus ayas
Pesan di atas akan membalik semua karakter: yang depan menjadi di belakang, yang belakang menjadi di depan sehingga string "saya sudah makan"
menjadi "nakam hadus ayas"
.
Ada pun untuk membalik string per kata, kita bisa melakukan hal berikut:
<?php
$pesan = "saya sudah makan";
# ubah variabel $pesan menjadi array dengan perintah explode
$pesanPerKata = explode(" ", $pesan);
# ubah setiap kata dalam array menjadi kebalikannya
$pesanPerKata = array_map(fn($pesan) => strrev($pesan), $pesanPerKata);
# gabungkan kembali array menjadi string
$pesan = implode(" ", $pesanPerKata);
echo $pesan . "<br>"; # ayas hadus nakam
Perintah di atas akan mengubah teks “saya sudah makan” menjadi “ayas hadus nakam”.
Penjelasan:
- Mengubah variabel
$pesan
menjadi array$pesanPerKata
dengan perintahexplode()
- Membalikkan setiap kata dalam array
$pesanPerKata
menggunakanarray_map
dan arrow function - Menggabungkan lagi array
$pesanPerKata
menjadi string ke dalam variabel$pesan
dengan perintahimplode
- echo.
Untuk detil perintah array_map
, explode
dan implode
, silakan baca pada pembahasan di pertemuan berikutnya yaitu tentang Bekerja dengan Array pada PHP.
Pencarian String
Kita bisa melakukan pencarian dalam sebuah string dengan perintah strpos
atau stripos
. Fungsi strpos
akan mencari kata kunci secara case sensitive, sedang stripos
akan mencari secara case insensitive.
Kedua fungsi tersebut akan mengembalikan indeks dari kata kunci yang kita cari. Apabila kata kunci yang kita cari dalam suatu string ternyata tidak ada, ia akan mengembalikan nilai boolean false
.
<?php
$judulBerita = "Microsoft membeli github";
echo strpos($judulBerita, "github") . "<br>"; # 18
echo strpos($judulBerita, "Github") . "<br>"; # kosong
echo stripos($judulBerita, "Github") . "<br>"; # 18
Jalankan perintah di atas agar semakin mudah mendapatkan gambaran cara kerjanya.
Replace Karakter String
Yang terakhir dalam pembahasan kita kali ini adalah: me-replace karakter dari suatu string. Misalkan kita memiliki variabel $judulBerita
seperti pada kode program di atas. Lalu kita ingin ubah kata “membeli” menjadi “menjual”. Kita bisa menggunakan fungsi str_replace
bawaan PHP.
Perhatikan kode program berikut:
<?php
$judulBerita = "Microsoft membeli github";
echo "Judul asli: {$judulBerita} <br>";
echo "Judul baru: " . str_replace("membeli", "menjual", $judulBerita) . "<br>";
Ketika dieksekusi, perintah di atas akan menghasilkan output sebagai berikut:
Judul asli: Microsoft membeli github
Judul baru: Microsoft menjual github
Pembahasan Selanjutnya
Kita telah selesai mempelajari beberapa hal penting yang bisa kita lakukan berkaitan dengan string pada PHP. Mulai dari cara merangkai string, escape character, cara membalikkan string, me-replace, dan sebagainya.
Sekarang kita bisa ambil rehat sejenak. Menyeduh kopi. Sambil membaca-baca lagi tutorial yang telah kita pelajari agar kita tidak lupa.
Dan pada pertemuan yang akan datang, insyaallah kita akan membahas tentang Bekerja Dengan Array Pada PHP.
Jika anda menyukai tutorial PHP dasar ini, jangan lupa share kepada yang lainnya, ya! Terima kasih banyak.