Lebih Lanjut dengan String

Sebenarnya mengenai string sudah pernah dibahas pada bab sebelumnya. Namun pada bab ini akan dibahas beberapa fungsi yang dapat digunakan dalam operasi String. Misalkan :

  1. Mencari teks tertentu di dalam sebuah String
  2. Mengedit/merubah teks dalam sebuah string
  3. mem-format String sehingga lebih mudah untuk dibaca
  4. encode dan decode string menggunakan beberapa encoding format.

Seperti yang sudah pernah dibahas sebelumnya, membuat sebuah variabel berbentuk string adalah dengan memberikan nilai berbentuk String kepada sebuah variabel seperti pada contoh berikut ini :

$nama = ‘sayed’;

penggunaan tanda kutip ganda dan tanda kutip tunggal pada sebuah string adalah sedikit berbeda dalam PHP. Penggunaan tanda kutip tunggal untuk membuat string dalam PHP seperti pada contoh di atas, membuat PHP menggunakan string persis seperti yang kita ketikkan. Namun ada beberapa keunggulan penggunaan tanda kutip ganda, yaitu :

  1. nama variabel yang berada dalam akan diterjemahkan dan yang ditampilkan adalah nilai dari variabel tersebut.

  2. Bisa memasukkan karakter-karakter khusus (special characters) dalam sebuah string menggunakan backslash atau yang dikenal dengan istilah escape characters.

Untuk memperjelas, kita dapat melihat contoh penggunaan string di bawah ini

$kata = “renang”;

echo “kolam $kata!<br/>”; // kolam renang!

echo ‘kolam $kata!<br/>’; // kolam, $kata!

echo “<pre>nim\tnama\talamat</pre>”; //nim nama alamat

echo ‘<pre>nim\tnama\talamat</pre>’; // nim\tnama\talamat

pada baris kedua terlihat penggunaan tanda kutip ganda menggantikan variabel $kata dengan isi dari variabel itu, yaitu renang. Tapi ketika kita menggunakan tanda kutip tunggal seperti pada baris ketiga maka yang ditampilkan adalah tulisan $kata.

Sementara pada baris ke-empat dan ke-lima kita menggunakan sebuah escape characters, yaitu \t. pada baris ke-empat karena menggunakan tanda kutip ganda, \t digantikan dengan ‘tab’. Sehingga terlihat jarak yang cukup jauh antar tiap katanya. Sementara menggunakan tanda kutip tunggal seperti pada baris kelima hanya menampilkan karakter \t tanpa merubah apapun.

Tabel escape character

walaupun kita bisa memasukkan nilai dari sebuah variabel menggunakan tanda kutip ganda, namun ada kalanya kita berhadapan dengan hal-hal yang sedikit rumit.

$animal = “cow”;

echo “ all $animals has been sacrificed in this month of Zulhijjah”.

yang terjadi pada kode di atas, PHP tidak akan menampilkan cows yang berarti menampilkan isi dari variabel $animal dan menambahkan s pada akhir isi dari variabel. Tapi yang PHP lakukan adalah mencari nama variabel yang bernam $animals yang dalam hal ini tidak terdapat dalam program. Sehingga tulisan yang ditampilkan adalah

all has been sacrificed in this month of Zulhijjah.

Untuk mendapatkan hasil seperti yang kita inginkan sepeti pada contoh sebelumnya yaitu dengan menggunakan tanda kurung kurawal.

echo “ all {$animal}s has been sacrificed in this month of Zulhijjah”.

Ini akan menghasilkan tulisan

all cows has been sacrificed in this month of Zulhijjah.

Cara lainnya untuk memperoleh hasil yang sama adalah dengan meletakkan kurung kurawal setelah tanda $ seperti pada contoh berikut ini

echo “ all ${animal}s has been sacrificed in this month of Zulhijjah”.

Penggunaan kurung kurawal juga dapat digunakan untuk menampilkan nilai dari sebuah array seperti pada contoh berikut

$mahasiswa[“nilai”] = 100;

echo “ nilai dari mahasiswa adalah {$mahasiswa[“nilai”]}”

sehingga dapat kita simpulkan bahwa penggunaan tanda kurung kurawal adalah untuk memisahkan antara nama sebuah variabel dengan string lainnya. Selain menggunakan kurung kurawal kita juga dapat menggunakan concatenation yang sudah kita pelajari sebelumnya.

Untuk memasukkan nilai yang berbetuk string ke sebuah variabel dapat dilakukan tidak hanya dengan tanda kutip tunggal atau ganda yang merepresentasikan sebuah string. Tapi dapat juga dilakukan dengan hasil dari sebuah ekspresi.

$pekerjaan = $mahasiswa[“pekerjaan”];

$salam =”assalamu’alaikum”.” “.”wr”.” “.”wb”

$nilai_huruf = ( $x >= 85 ) ? “A” : “bukan A”;

sebagai catatan, masih banyak fungsi PHP lainnya yang bisa digunakan untuk memberikan nilai kepada sebuah string. Karena fungsi-fungsi ini mengembalikan sebuah nilai berbentuk string.

Untuk dapat mengetahui panjang sebuah String umumnya digunakan fungsi strlen, fungsi ini akan memerlukan sebuah string sebagai argument dan akan mengembalikan nilai berupa sebuah integer yang merupakan panjang dari string yang diumpankan pada argumen.

$nama_belakang = “Muchallil”;

echo strlen($nama_belakang); //9

echo strlen(“apa kabar?”);//10

fungsi strlen ini akan sangat berguna ketika kita perlu mengevaluasi semua karakter/huruf dari sebuah string melalui sebuah perulangan. Fungsi ini dapat juga digunakan untuk memastikan bahwa user memasukkan string dengan panjang sesuai dengan yang kita inginkan.

If (strlen($username)<=4){

echo “username yang anda masukkan terlalu pendek”;

}

fungsi lainnya pada string yang masih berhubungan dengan contoh di atas adalah str_word_count() yang akan mengembalikan jumlah kata dari sebuah string.

echo str_word_count(“siapa nama anda?”); //3

seperti yang sudah dijelaskan di atas bahwa adakalanya kita perlu mengevaluasi setiap karakter yang membentuk sebuah string. Apabila yang perlu kita evaluasi adalah seluruh karakter maka paling mudah untuk melakukan evaluasi ini adalah dengan perulangan. Tapi untuk mengakses hanya karakter tertentu dari sebuah string dapat menggunakan index. Seperti pada contoh berikut :

$huruf = $nama_belakang[9];

proses ini sama seperti array yang sudah kita pelajari sebelumnya, yaitu berfungsi untuk memanggil karakter pada urutan tertentu yang pada array tentu saja berfungsi untuk memanggil elemen pada urutan indeks tertentu.

Cara adalah dengan meletakkan kurung kotak setelah nama variabel dan memasukkan indek di dalam kurung kotak tersebut. Hal lain yang perlu diingat adalah karakter atau huruf pertama yang digunakan dalam sebuah string memiliki indek 0. selain mengetahui karakter pada indek/urutan tertentu kita dapat juga merubah karakter/huruf pada indeks/urutan tertentu tersebut. Berikut adalah beberapa contoh mengenai melihat dan merubah huruf dari sebuah string menggunakan index.

$nama_balakang = “muchallil”;

echo $nama_belakang[0] . “<br />”; // m

echo $nama_belakang[7] . “<br />”; // i

$nama_belakang[0] = ‘M’;

echo $nama_belakang . “<br />”; //Muchallil

jika yang ingin diambil adalah urutan karakter (tidak hanya satu karakter) maka dalam PHP kita dapat menggunakan fungsi substr(). Fungsi ini memerlukan tiga parameter

  1. Nama String

  2. indeks permulaan

  3. jumlah karakter yang mau diambil

berikut adalah beberapa contoh yang dapat kita gunakan untuk lebih memperjelas mengenai fungsi substr() pada PHP.

$nama = “Sayed Muchallil”

echo substr($nama, 0, 5);//Sayed

echo substr($nama, 6); //Muchallil.

echo substr($nama, -1); //l

echo substr($nama, -5, -1)//alli

$nama_depan = substr($nama, 0, 5); //Sayed

Mencari String

ada beberapa fungsi PHP yang bisa digunakan untuk mencari apakah sebuah string berada dalam string yang lain, antara lain yaitu :

  • strstr() berfungsi untuk mengetahui apakah sebuah string berada dalam string lainnya atau tidak.

  • strpos() and strrpos() akan mengembalikan indek ketika string yang dicari pertama kali ketemu dan terakhir kali ketemu.

  • substr_count() berfungsi untuk mencari tahu jumlah string yang dicari pada sebuah string

Penggunaan strstr();

Jika kita ingin mengetahui apakah sebuah teks terdapat atau tidak dalam sebuah string maka kita sebaiknya menggunakan fungsi strstr().

Fungsi ini memerlukan dua buah parameteh, String yang akan dibaca dan kata kunci atau teks yang akan dicari, jika teks yang ditemukan dapat ditemukan maka fungsi ini akan mengembalikan nilai teks yang dicari sampai dengan akhir string. Jika teks yang dicari tidak ditemukan maka yang akan dikembalikan adalah nilai false.

Contoh berikut akan lebih meperjelas pemahaman kita terhadap penggunaan fungsi strstr()

$nama = “Sayed Muchallil”;

echo strstr( $nama, “cha” ) . “<br />”; //challil

echo ( strstr( $nama, “abc” ) ? “ada” : “tidak” ) . “<br />”; // tidak

mulai pada PHP 5.3 kita juga bisa memasukkan argumen ketiga yang bertipe boolean. Nilai default untuk parameter ini adalah false. Jika parameter ini kita berikan nilai true maka PHP akan menampilkan string dari karakter pertama sampai teks yang kita cari ditemukan. Berikut adalah contoh penggunaan argumen ketiga yang bernilai true.

$nama = “Sayed Muchallil”;

echo strstr( $nama, “M”, true ) ;//Sayed

penggunaan strpos() dan strrpos()

untuk mengetahui di mana terdapat teks yang dicari dari sebuah string gunakan strpos(). Fungsi ini adalah sama seperti fungsi strstr() yang membutuhkan dua parameter. Yang pertama adalah string yang merupakan sumber pencarian dan yang kedua adalah teks yang akan dicari. Jika teks yang dicari ditemukan maka indeks dari huruf pertama di dalam sebuah string tersebut yang akan dikembalikan. Jika teks yang dicari tidak ada, maka fungsi strpos() akan mengembalikan nilai false.

$nama = “Sayed Muchallil”;

echo strpos( $nama, “cha” ) . “<br />”; //8

echo strpos( $nama, “abc” ) . “<br />”; //

jika teks yang dicari ternyata berada diawal string maka seluruh string akan ditampilkan. Sebagai tambahan fungsi strpos() akan mengembalikan nilai 0 yang merupakan indeks awal sebuah string karena teks yang dicari berada pada awal string. Jangan gunakan 0 ini sebagai jawaban true dan false karena output yang dihasilkan akan sangat berbeda dengan yang kita harapakan. Untuk memperjelas ini dapat kita lihat pada contoh berikut

$nama = “Sayed Muchallil”;

if ( !strpos( $nama, “Say” ) ) echo “Tidak Ketemu”;

pada kode di atas maka yang akan ditampilkan adalah tidak ketemu. Supaya hasil di atas sesuai dengan yang kita mau maka kode di atas dapat diedit sehingga menghasilkan output yang sesuai.

$nama = “Sayed Muchallil”;

if ( strpos( $nama, “Say” ) = = = false ) echo “Tidak Ketemu”;

masih mirip dengan fungsi strstr(), fungsi strpos() juga bisa menerima parameter ketiga yang berupa indeks untuk memulai pencarian. Seperti yang terlihat pada contoh berikut.

$nama = “Sayed Muchallil”;

echo strpos( $nama, “a” ) . “<br />”; //1

echo strpos( $nama, “a”, 6 ) . “<br />”; // 10

Penggunaan argument ketiga pada fungsi strpos() ini sangat berguna untuk menentukan di mana saja sebuah teks muncul dalam sebuah string. Tentu saja untuk melakukan proses ini kita membutuhkan perulangan.

$nama = “Sayed Muchallil”;

$indeks = 0;

while ( ( $indeks = strpos( $nama, “l”, $indeks ) ) ! = = false ) {

echo “huruf ‘l’ was terdapat pada : $indeks<br/>”;

$indeks++;

}

maka tampilan dari kode ini adalah sebagai berikut

Gambar x. tampilan untuk contoh program di atas

selai n fungsi strpos() masih ada sebuah fungsi yang bekerja mirip dengan strpos() yaitu strrpos(). Hanya saja jika strpos() mengembalikan indeks pertama dari teks yang dicari pada sebuah string, saudara tua-nya strrpos malah mengembalikan indeks terakhir dari teks yang dicari pada sebuah string.

$nama = “Sayed Muchallil”;

echo strpos( $nama, “a” ) . “<br />”; //1

echo strrpos( $nama, “a”) . “<br />”; // 10

Latihan

lakukan penelitian kecil tentang strrpos(), apakah menerima argumen ketiga? Jika iya apa fungsinya dan jika tidak apa yang terjadi jika dipaksakan?

Penggunaan substr_count()

Ada kalanya ketika kita mau mengetahui berapa kali jumlah sebuah teks muncul dalam sebuah String. Misalnya ketika kita mau membuat sebuah search engine dimana fungsi ini akan menghitung jumlah keyword yang muncul dalam sebuah documen untuk menentukan relevansi documen tersebut terhadap keyword. Makin banyak kemunculan keyword tersebut dalam sebuah documen, maka makin relevan documen tersebut terhadap keyword yang dicari.

Untuk proses ini bisa saja kita menggunakan strpos() dan perulangan. Namun seperti biasa PHP sudah menyediakan fungsi substr_sount() ini untuk kita gunakan sebagai pengganti strpos dan loop. Penggunaan fungsi ini juga memerlukan dua parameter, String dan keyword. Fungsi ini akan mengembalikan jumlah dari berapa kali keyword ini muncul dalam sebuah teks. Supaya makin jelas kita dapat melihat fungsi substr_count() ini digunakan pada contoh berikut

$semboyan = “dari kita untuk kita dan oleh kita”;

echo substr_count($semboyan, “kita”);//3

seperti fungsi-fungsi yang kita bahas sebelumnya, fungsi substr_count() juga bisa kita tambahkan dengan argumen ketika yang berupa indeks pertama untuk memulai pencarian. Sebagai tambahan, kita juga dapat menambahkan argumen ke 4 yang berupa berapa karakter yang harus dibaca sebelum fungsi ini menyerah. Contoh penggunaan kedua argumen tambahan ini dapat kita lihat pada contoh berikut.

$semboyan = “dari kita untuk kita dan oleh kita”;

echo substr_count($semboyan, “kita”, 8);//2

echo substr_count($semboyan, “kita”, 8, 6);//1

Mengganti teks dalam sebuah String

selain bisa mencari sebuah teks pada target string, PHP juga menyediakan fungsi untuk merubah sebuah target string dengan string yang kita inginkan. Ada tiga fungsi utama pada PHP yang berfungsi untuk merubah string, yaitu

str_replace() merubah semua teks yang dicari menjadi teks lain

substr_replace() merubah bagian tertentu dari sebuah string dengan string lainnya

strtr() merubah karakter tertentu dalam sebuah string dengan karakter lainnya

Penggunaan str_replace()

fungsi ini kalau kita perhatikan adalah sama seperti fungsi Replace All pada microsoft word atau aplikasi perkantoran lainnya, karena fungsi ini akan merubah semua string yang dicari dengan string lain.

Fungsi ini membutuhkan 3 argumen, argument yang pertama adalah string yang mau diganti, kemudian string pengganti dan yang terakhir adalah string dasar. Fungsi ini akan mengembalikan nilai berupa string dasar yang semua string yang dicari sudah diganti dengan string pengganti. Contoh penggunaan fungsi ini adalah sebagai berikut.

$gombal = “aku sangat cinta sama kamu, karena cinta ku padamu apa pun akan ku lakukan”;

echo str_replace(“cinta”, “benci”, $gombal);

untuk mengetahui berapa jumlah pergantian yang terjadi maka gunakan argument keempat seperti pada contoh berikut:

$gombal = “aku sangat cinta sama kamu, karena cinta ku padamu apa pun akan ku lakukan”;

echo str_replace(“cinta”, “benci”, $gombal, $count);

echo “telah terjadi $count perubahan”;

Penggunaan substr_replace()

Sementara penggunaan str_replace adalah untuk merubah sebuah string tertentu dengan string tertentu pada string dasar, maka penggunaan substr_replace() adalah berfungsi untuk merubah sebagian dari teks dengan teks yang kita inginkan. Fungsi ini memerlukan tiga buah argumen yaitu string dasar yang akan mengalami perubahan, string pengganti dan indeks di dalam string dasar sebagai permulaan dari pergantian. Untuk lebih mengerti dapat kita lihat pada contoh berikut.

Fungsi substr_replace akan merubah semua karakter dimulai dari indeks pada argumen ketiga sampai akhir dari string dasar dengan string pengganti. Fungsi ini akan mengembalikan sebuah string baru. String dasar tidaklah berubah sama sekali.

Berikut adalah contoh penggunaan fungsi substr_replace()

$gombal = “aku sangat cinta sama kamu, karena cinta ku padamu apa pun akan ku lakukan”;

echo substr_replace($gombal, “dia”, 22);//aku sangat cinta sama dia

pada contoh di atas terlihat bahwa terjadi perubahan pada string dasar yang dimulai pada indeks ke-22 sampai akhir dari string dasar dengan kata dia. Jika kita tidak ingin mengganti sampai akhir dari string dasar, maka kita dapat menambahkan argument keempat yang merupakan jumlah karakter yang mau kita ganti seperti pada contoh berikut

$gombal = “aku sangat cinta sama kamu, karena cinta ku padanya apa pun akan ku lakukan”;

echo substr_replace($gombal, “dia”, 22, 4);// aku sangat cinta sama dia, karena cinta ku padanya apa pun akan ku lakukan

apabila argument keempat bernilai negatif maka maksudnya adalah berfungsi untuk merubah dari indeks yang diberikan sampai dengan karakter ke-x. Di mana x adalah bilangan positif yang merupakan negasi dari argument keempat dan dihitung dari karakter terakhir.

$gombal = “aku sangat cinta sama kamu, karena cinta ku padanya apa pun akan ku lakukan”;

echo substr_replace($gombal, “dia”, 22, -25);// aku sangat cinta sama dia apa pun akan ku lakukan

pada argument keempat kita juga bisa memasukkan nilai 0 yang merubah fungsi substr_replace() dari mengedit karakter menjadi memasukkan string baru. Contoh berikut akan memperjelas penggunaan 0 pada argumen keempat

$gombal = “aku sangat cinta sama kamu, karena cinta ku padanya apa pun akan ku lakukan”;

echo substr_replace($gombal, “teramat ”, 4, 0);// aku teramat sangat cinta sama kamu, karena cinta ku padanya apa pun akan ku lakukan

Penggunaan strtr()

Dalam pemrograman berbasis web adalah sangat umum untuk mampu merubah beberapa karakter menjadi karakter tertentu. Misalkan saja kita ingin merubah semua tanda petik tungaal (‘) menjadi tanda + dan semua spasi menjadi tanda -. Untuk proses seperti inilah kehadiran fungsi strtr() dapat diunggulkan.

Fungsi strtr() memerlukan tiga argument, yaitu string dasar, karakter yang mau diganti dan yang terakhir adalah karakter pengganti. Misalkan saja kita ingin membuat sebuah aplikasi PHP yang berfungsi seperti yang telah kita sebutkan pada paragraf di atas. Maka kode PHP nya adalah sebagi berikut.

$string_dasar = “’jangan main di jalan’ kata seorang ibu kepada anaknya”;

echo strtr( $string_dasar, “ ‘”, “+-” ) . “<br/>”; //-jangan+main+di+jalan-+kata+seorang+ibu+kepada anaknya

fungsi strtr ini sangat berguna jika kita ingin menterjemahkan string yang terdiri dari satu karakter ke karakter lainnya. Karena fungsi ini dapat melakukan mapping dari raturan karakter ke karakter baru lainnya.

Penggunaan huruf Kapital

untuk melakukan perubahan dari sebuah string menjadi huruf kecil pada PHP dapat menggunakan fungsi strtolower(). Fungsi ini memerlukan sebuah argumen yang merupakan string yang akan dirubah dan akan mengembalikan string baru hasil perubahan.

$string_dasar = “AkU aDalaH sEorAnG KapItEn”;

echo strtolower($string_dasar); //aku adalah seoarang kapiten

sementara untuk membuat sebuah string menggunakan huruf kapital semuanya, maka fungsi yang digunakan adalah strtoupper(). Sama seperti strtolower() fungsi ini juga memerlukan sebuah argumen yang berupa string yang ingin dirubah.

$string_dasar = “AkU aDalaH sEorAnG KapItEn”;

echo strtoupper($string_dasar); //AKU ADALAH SEOARANG KAPITEN

namun PHP juga menyediakan fungsi lainnya seperti ucfirst() yang berfungsi untuk membuat huruf kapital hanya pada huruf pertama saja dan ucwords() yang berfungsi untuk membuat semua huruf pertama pada tiap kata menjadi huruf kapital. Contoh penggunaan kedua fungsi ini dapat kita lihat pada contoh berikut

//ucfirst()

$string_dasar = “AkU aDalaH sEorAnG KapItEn”;

Echo ucfirst($string_dasar); //Aku adalah seoarang kapiten

//ucwords()

$string_dasar = “AkU aDalaH sEorAnG KapItEn”;

echo ucwords($string_dasar); //Aku Adalah Seoarang Kapiten

Sejak PHP 5.3 juga telah ada fungsi baru yaitu lcfirst() yang berfungsi untuk membuat karakter pertama menjadi huruf kecil.

Karena kita sudah membahasa penggunaan huruf kapital dan huruf kecil maka kita akan kembali membahas fungsi-fungsi di atas yang sebagian besar bersifat case-sentitive. PHP sudah menyediakan padanan untuk semua fungsi di atas yang bersifat case-insensitive. Untuk perbandingan antara fungsi yang bersifat case-sensitive dan case-insensitive kita dapat melihat pada kedua contoh berikut

//case-sensitive

$string_dasar = “Aku akan belajar PHP dengan sungguh-sungguh”;

if ( strstr( $string_dasar, “aku” ) ) //Tidak Ada

echo “Ada”;

else

echo “Tidak Ada”;

//case-insensitive

$string_dasar = “Aku akan belajar PHP dengan sungguh-sungguh”;

if ( stristr( $string_dasar, “aku” ) ) //Ada

echo “Ada”;

else

echo “Tidak Ada”;

untuk lebih jelasnya mengenai fungsi-fungsi yang case-insensitive dan case-sensitive dapat kita lihat pada tabel berikut

Memformat String

Format dibutuhkan untuk dapat menampilkan suatu data yang mudah dibaca dan dimengerti oleh pengguna. Akan sangat susah membaca 1.034.500 jika ditulis menjadi 1034500. Oleh karena itu PHP menyediakan beberapa fungsi yang dapat membantu programmer dalam memformat data keluaran untuk memenuhi tujuan ini.

Fungsi printf()

printf() membutuhkan sebuah argumen yang berbentuk string, sering juga disebut formatted string, yang kemudian diikuti oleh satu atau beberapa argumen lainnya yang berfungsi untuk memformat string. Kemudian fungsi ini akan menampilkan output yang merupakan data yang sudah terformat.

Formatted String adalah sebuah text biasa yang disisipkan spesifikasi konversi. Setiap spesifikasi konversi akan membutuhkan sebuah argumen tambahan yang harus ditambahkan pada fungsi printf(). Argumen tambahan ini akan diformat oleh fungsi printf() sesuai dengan spesifikasi konversi dan dimasukkan ke dalam string.

Mungkin tanpa contoh penjelasan di atas akan sedikit membingungkan. Untuk memudahkan kita mengerti penjelasan tersebut maka dapat kita tanpa koma adalah : %d”, M_PI);

Pada contoh di atas, Pi jika dibulatkan ke dalam bilangan tanpa koma adalah : %d adalah formatted String dan %d adalah spesifikasi konversi. Untuk contoh ini spesifikasi konversi meminta kepada printf() untuk membaca dan memasukkan argumen tambahan sebagai bilangan tanpa koma ke dalam bentuk String. Yang menjadi argumen tambahan di sini adalah M_PI yang merupakan konstanta pada PHP untuk pi yang berbentuk bilangan berkoma. Jadi pada contoh di atas, bilangan berkoma pi (M_PI) oleh fungsi printf() dirubah menjadi bilangan tanpa koma (dibulatkan) dan kemudian di tampilkan sebagai String.

Sebagai tambahan untuk lebih memahami fungsi printf() ini kita dapat melihat pada contoh berikut

printf(“hasil penjumlahan %d dan %d adalah %d”, 2, 3, 2+3);

Tipe spesifikasi

d di dalam %d disebut sebagai tipe spesifikasi. Untuk tipe-tipe lain kita dapat melihat pada tabel berikut

Latihan

  1. Ketik kode berikut pada sebuah text editor

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”

“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>

<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”en” lang=”en”>

<head>

<title>Melihat tipe spesifikasi</title>

</head>

<body>

<h1>tipe spesifikasi</h1>

<?php

$angka = 145.34;

printf( “Bilangan Biner : %b<br/>”, $angka );

printf( “ASCII : %c<br/>”, $angka );

printf( “Bilangan Desimal: %d<br/>”, $angka );

printf( “Notasi Ilimiah: %e<br/>”, $angka);

printf( “Bilangan berkoma : %f<br/>”, $angka);

printf( “bilangan oktal : %o<br/>”, $angka );

printf( “String : %s<br/>”, $angka);

printf( “Hexadesimal (huruf kecil) : %x<br/>”, $angka );

printf( “Hexadesimal (huruf kapital) : %X<br/>”, $angka);

?>

</body>

</html>

  1. simpan pada root folder dari web server dengan nama tipe_spesifikasi.php

  2. panggil melalui browser pada alamat http://localhost/tipe_spesifikasi.php

    Gambar x. tampilan dari tipe_spesifikasi.php

Menentukan Presisi

pada PHP kita dapat menentukan presisi dari sebuah nilai berkoma yang dihasil dari sebuah operasi maupun bukan. Penentu presisi ini dapat menentukan berapa jumlah angka di belakang koma yang akan kita gunakan. Untuk menghasilkan output yang presisinya kita tentukan, maka kita harus menambahkan titik (.) diikuti dengan jumlah angka yang kita inginkan dibelakang koma sebelum tipe spesifikasi. Untuk ini dapat kita lihat pada contoh berikut

printf(“%f<br />”, 123.4567 );

printf(“%.2f<br />”, 123.4567 );

printf(“%.0f<br />”, 123.4567 );

printf( “%.10f<br />”, 123.4567 );

kita juga bisa menentukan penentu padding bersama dengan penentu presisi yang berguna untuk memasukkan angka ke dalam panjang yang telah ditentukan.

echo “<pre>”;

printf( “%.2f<br />”, 123.4567 ); // Displays “123.46”

printf( “%012.2f<br />”, 123.4567 ); // Displays “000000123.46”

printf( “%12.4f<br />”, 123.4567 ); // Displays “ 123.4567”

echo “</pre>”;

akan tetapi jika menggunakan penentu presisi ketika memformat sebuah string, maka fungsi printf() akan memotong string tersebut sehingga yang tertinggal adalah sejumlah penentu presisi.

printf( “%.8s\n”, “Hello, world!” ); // Displays “Hello, w”

Fungsi sprintf()

Pada dasarnya fungsi ini juga berguna untuk melakukan format pada String seperti fungsi printf(), hanya saja fungsi ini menyimpan hasil formatted string ke dalam variabel sedangkan printf() menampilkan formatted string ke layar.

<?php

$username = “Matt”;

$mailbox = “Inbox”;

$totalMessages = 36;

$unreadMessages = 4;

$messageCount = sprintf( file_get_contents( “template.txt” ), $totalMessages,

$mailbox, $unreadMessages );

?> This code displays:

<p>Welcome, <?php echo $username?>.</p>

<p class=”messageCount”><?php echo $messageCount?></p>

ada juga fungsi lain yang memiliki kegunaan yang hampir sama dengan sprintf() yaitu fprintf(). Fungsi fprintf() berguna untuk menyimpan formatted text ke dalam sebuah file.

Fungsi trim(), ltrim(), and rtrim()

Seringkali kita menerima input dari user melalui sebuah form pada pemrograman web. Input ini kadang kala harus terlebih dahulu diperiksa karena kadang-kadang kita menerima input yang tidak kita inginkan. Misalkan saja kita menerima 8 buah spasi untuk sebuah username.

Sebenarnya spasi tidak akan menjadi masalah ketika seseorang membaca sebuah input secara manual. Namun pada sebuah script pemrograman adakalanya contoh di atas menjadi sebuah masalah. Untungnya, PHP telah menyediakan fungsi untuk digunakan pada proses ini. Yaitu

trim() → berfungsi untuk menghapus spasi pada awal dan akhir sebuah string

ltrim() → berfungsi untuk menghapus spasi hanya di awal string

rtrim() → berfungsi untuk menghapus spasi pada akhir sebuah string

ketiga fungsi ini membutuhkan sebuah argumen yang berupa string dan yang dikembalikan dari fungsi-fungsi ini adalah string yang sudah dibuang spasinya sesuai dengan fungsi yang digunakan.

immed string:

$myString = “ What a lot of space! “;

echo “<pre>”;

echo “|” . trim( $myString ) . “|\n”; // Displays “|What a lot of space!|”

echo “|” . ltrim( $myString ) . “|\n”; // Displays “|What a lot of space! |”;

echo “|” . rtrim( $myString ) . “|\n”; // Displays “| What a lot of space!|”;

echo “</pre>”;

sebagai tambahan dapat ditambahkan sebuah argumen lain pada fungsi-fungsi ini yang berfungsi untuk menggantikan spasi sebagai bagian yang akan dihapus. Artinya ketiga fungsi ini dapat menghilangkan tidak hanya spasi tapi juga karakter lain yang dapat ditentukan dengan argumen kedua.

Contoh berikut ini akan lebih memperjelas kegunaan dari fungsi-fungsi ini

$milton1 = “1: The mind is its own place, and in it self\n”;

$milton2 = “2: Can make a Heav’n of Hell, a Hell of Heav’n.\n”;

$milton3 = “3: What matter where, if I be still the same,\n”;

echo “<pre>”;

echo ltrim( $milton1, “0..9: “ );

echo ltrim( $milton2, “0..9: “ );

echo ltrim( $milton3, “0..9: “ );

echo “</pre>”;

Maka tampilannya adalah sebagai berikut

The mind is its own place, and in it self

Can make a Heav’n of Hell, a Hell of Heav’n.

What matter where, if I be still the same,