M-S Blog

M-S Blog

M-S Blog

+

OPERASI STRING PHP

 

Mengenal Berbagai Function PHP String dan Cara Penggunaannya

 

Pada tutorial kali ini saya akan menyajikan bentuk-bentuk function buil-in didalam PHP yang digunakan untuk mengelola Dan Pengolahan String atau disebut juga dengan Operasi String Slamat untuk Membaca....! he....

Menghitung Jumlah Karakter

strlen()

Untuk menghitung jumlah karakter dalam suatu variabel string, dapat menggunakan strlen()
Syntax: 
strlen($string); 
Biasanya fungsi ini digunakan untuk membatasi/filter terhadap jumlah character string yang didinputkan yang pada textbox .
Contoh
<?
$data="Belajar Program PHP tidak sulit."; 
$jumlah=strlen($data); 
echo"variabel string\$data=$data
"; 
echo"Data'$data'diatas jumlah karakternya adalah = $jumlah"; 
?>
hasil program, apabila dijalankan pada browser, akan tampak seperti berikut : 
variabel string$data=Belajar Program PHP tidak sulit.
Data'Belajar Program PHP tidak sulit.'diatas jumlah karakternya adalah = 32

strpos()

Syntax: 
strpos('[var||string]','[value]' )
Function strpos() digunakan untuk menentukan posisi suatu substring dari sederetan string. Function ini akan mereturn bilangan integer yang merupakan urutan posisi substring tersebut.
Contoh
<?
$stringku = "1234567890";
$posisi = strpos($stringku, "5");
echo "Posisi dari karakter 5 dalam string adalah $posisi";
?>
Script di atas akan menghasilkan posisi karakter '5' adalah di 4.
NB:
Ingat bahwa index dari array dalam PHP dimulai dari index ke - 0.
Kelemahan dari strpos() adalah bahwa function tersebut hanya dapat menentukan posisi suatu substring pada pemunculan pertama. Pada pemunculan substring pada posisi yang berikutnya tidak akan terdeteksi. Meskipun demikian, Anda masih tetap menggunakannya untuk mencari posisi yang lain dari suatu substring dengan sedikit melakukan pemrograman.

Contoh
<?
$stringku = "1234567890123456789012345678901234567890";
$offset = 0;
$counter = 1;
while($offset = strpos($stringku, "5", $offset + 1))
{
$counter++;
echo "
Karakter 5 ke-$counter ada posisi - $offset";
}
?>

Mengulang Penulisan String

str_repeat()

Gunakan fungsi Str_repeat() apabila suatu program membutuhkan pengulangan proses pencetakan dengan jumlah tertentu. Hasil fungsi tersebut berupa string yang diulang - ulang sesuai dengan isi teks pada argument string.
Syntax: 
strpos('[var||string]','[value]' )
Contoh
<?
//pengulangan data string 
//str_repeat.php 
$ulang=str_repeat("selamat ",4); 
$ulang2=str_repeat("Horee! ",4); 
echo"Anda telah lulus Ujian!
"; 
echo"$ulang
"; 
echo"Welcome to the Holiday
"; 
echo"$ulang2"; 
?>
Hasilnya adalah:
Anda telah lulus Ujian!
selamat selamat selamat selamat
Welcome to the Holiday
Horee! Horee! Horee! Horee!

Mencari dan Mengganti String.

1. ereg_replace()

2. eregi_replace()

3. str_replace()

Adapun beberapa fungsi yang dapat digunakan untuk mencari dan mengganti bagian string tertentu adalah fungsi Ereg_replace(), Eregi_replace(), dan Str_replace(). Ketiga fungsi tersebut mempunyai kegunaan yang sama, yaitu mencari pola tertentu pada sebuah data string dan menggantinya dengan string yang baru

1. ereg_replace()

Syntax: 
ereg_replace(pola awal,pola pengganti,string);

2. eregi_replace()

Syntax: 
eregi_replace(pola awal,pola pengganti,string);

3. str_replace()

Syntax: 
Str_replace('[string_replace]','[string_ubah]','[string_asli]' )
Function ini memiliki peran yang sama seperti ketika kita menggunakan fasilitas Replace All pada MS. Word. Function ini akan menggantikan suatu string dengan string yang lain.
Contoh
<?
//replace.php 
//mengganti sebagian dari sebuah string. 
$data="Reog adalah salah satu kesenian tari budaya daerah yang berasal 
       dari kota ponorogo. Reog digambarkan dengan sebuah 
       harimau jawa dan seekor burung merak yang ada diatasnya.";
$str="kesenian"; 
$str2=str_replace($str,"<b>$str</b>",$data); 
echo"Diganti menggunakan fungsi str_replace()."; 
echo"<br>$str2<br><br>"; 
$ereg="ponorogo"; 
$ereg2=ereg_replace($ereg,"<b>$ereg</b>",$data); 
echo"Diganti menggunakan fungsi ereg_replace()."; 
echo"<br>$ereg2<br><br>"; 
$eregi="seekor"; 
$eregi2=eregi_replace($eregi,"<b>$eregi</b>",$data); 
echo"Diganti menggunakan fungsi eregi_replace()."; 
echo"<br>$eregi2<br><br>"; 
 
?>
Hasilnya adalah:
Diganti menggunakan fungsi str_replace().
Reog adalah salah satu kesenian tari budaya daerah yang berasal dari kota ponorogo. Reog digambarkan dengan sebuah harimau jawa dan seekor burung merak yang ada diatasnya.
Diganti menggunakan fungsi ereg_replace().
Reog adalah salah satu kesenian tari budaya daerah yang berasal dari kota ponorogo. Reog digambarkan dengan sebuah harimau jawa dan seekor burung merak yang ada diatasnya.
Diganti menggunakan fungsi eregi_replace().
Reog adalah salah satu kesenian tari budaya daerah yang berasal dari kota ponorogo. Reog digambarkan dengan sebuah harimau jawa dan seekor burung merak yang ada diatasnya.
Contoh
<?
$rawstring = "Welcome Birmingham parent! <br> Your<b> offspring  </b>
             is a pleasure to have! We believe<b> pronoun </b>is learning a lot.<br> 
    The faculty simple adores <b> pronoun2 </b> and you can often hear them 
    say \"Attah sex!\"<br>"; 
$replace = array('offspring', 'pronoun2', 'pronoun', 'sex');
 $ubah1 = array('son', 'he', 'him', 'boy'); 
 $ubah2 = array('daughter', 'she', 'her', 'girl');  
 $malestr = str_replace($replace, $ubah1, $rawstring); 
 $femalestr = str_replace($replace, $ubah2, $rawstring);
 echo "Asli :".$rawstring."<br>"; 
 echo "Son: ". $malestr . "<br>"; 
 echo "Daughter: ". $femalestr; 
 
?>
dan tampilannya adalah sbb:
Asli :Welcome Birmingham parent!
Your offspring is a pleasure to have! We believe pronoun is learning a lot.
The faculty simple adores pronoun2 and you can often hear them say "Attah sex!"
Son: Welcome Birmingham parent!
Your son is a pleasure to have! We believe him is learning a lot.
The faculty simple adores he and you can often hear them say "Attah boy!"
Daughter: Welcome Birmingham parent!
Your daughter is a pleasure to have! We believe her is learning a lot.
The faculty simple adores she and you can often hear them say "Attah girl!"

Fungsi transform string

FunctionDescription
strtoupper()Mengubah string menjadi kapital
Strtolower()Mengubah string menjadi kecil
ucfirst()Mengubah awal string menjadi capital
ucword()Mengubah awal kata dalam string menjadi capital

1. strtoupper()

Syntax: 
strtoupper('[string_convert]' )
Function ini digunakan untuk mengubah semua karakter huruf dari suatu string menjadi kapital.
Contoh
<?
$Asli= "Ubah huruf besar 1234";
$upper = strtoupper($Asli);
echo "Old string - $Asli <br>";
echo "New String - $upper";
?>
Hasilnya adalah:
Old string - String Capitalization 1234
New String - STRING CAPITALIZATION 1234

2. strtolower()

Syntax: 
strtolower('[string_convert]' )
Kebalikan dari strtoupper(), function ini mengubah semua karakter huruf dari string menjadi huruf kecil.
Contoh
<?
$Asli= "Ubah huruf besar 1234";
$lower = strtolower($Asli);
echo "Old string - $Asli <br>";
echo "New String - $lower";
?>
Hasilnya adalah:
Old string - String Capitalization 1234
New String - string capitalization 1234

3. ucfirst()

Syntax: 
ucfirst('[string_convert]' )
Karakter huruf pertama dalam string juga diubah menjadi huruf capital menggunakan function ini.
Contoh
<?
$string ="berik lagi belajar program php";
echo ucfirst($string);
?>
Hasilnya adalah:
Berik lagi belajar program php4

4. ucwords()

Syntax: 
uswords('[string_convert]' )
Karakter huruf pertama dari suatu kata dalam string juga dapat diubah menjadi huruf capital menggunakan function ini.
Contoh
<?
$titleString = "a title that could use some hELP";
$ucTitleString = ucwords($titleString);
echo "Old title - $titleString <br>";
echo "New title - $ucTitleString";
?>
Hasilnya adalah:
Old title - a title that could use some hELP
New title - A Title That Could Use Some HELP
Bagaimana cara mengubah HELP menjadi Help (pada tampilan outputnya)? Perhatikan script modifikasi berikut ini
Contoh
<?
$titleString = "a title that could use some hELP";
$lowercaseTitle = strtolower($titleString);
$ucTitleString = ucwords($lowercaseTitle);
echo "Old title - $titleString <br />";
echo "New title - $ucTitleString";
?>
yaitu dengan cara mengubahnya ("hELP") ke huruf kecil semua terlebih dahulu ("help"), kemudian huruf pertama dari "help" diberikan perintah ucwords().

Menghapus Spasi Pada String

FunctionDescription
trim()untuk menghilangkan spasi di bagian kiri dan kanan teks
rtrim()untuk menghilangkan spasi di bagian kanan teks
ltrim()untuk menghilangkan spasi di bagian kiri teks
uchop()untuk menghilangkan spasi di bagian kanan dan juga menghilangkan karakter - karakter whitespace,
seperti : "\n", "\r", "\t", "\v", "\0"
Untuk mengolah data dalam bentuk string, suatu saat ingin mengubah posisi spasi pada suatu variabel string. Cara menghapus spasi pada sebuah string dapat menggunakan beberapa fungsi sesuai dengan kondisi data string.
Syntax: 
  trim(string); 
  rtrim(string); 
  ltrim(string); 
  chop(string); 

Contoh
<?
$kata = " Program PHP "; 
echo "Kata '$kata' dengan spasi di depan dan di belakang <br>"; 
$hilang1 = ltrim($kata); 
echo "Di hilangkan spasi di depan menjadi :<br>"; 
echo "'$hilang1' <br><br>"; 
$hilang2 = rtrim($kata); 
echo "Di hilangkan spasi di belakang menjadi :<br>"; 
echo "'$hilang2' <br><br>"; 
$hilang3 = trim($kata); 
echo "Di hilangkan spasi di depan dan di belakang menjadi :<br>"; 
echo "'$hilang3' <br>"; 
?>
Hasilnya adalah: Kata ' Program PHP ' dengan spasi di depan dan di belakang
Di hilangkan spasi di depan menjadi :
'Program PHP '
Di hilangkan spasi di belakang menjadi :
' Program PHP'
Di hilangkan spasi di depan dan di belakang menjadi :
'Program PHP'

Pemecah String

FunctionDescription
Strtok()Pemecahan string
Split()Pemecahan string dilengkapi dengan argumen parameter pembagi.
Explode()Pemecahan string
Substr()memecah string berdasarkan no index_awal mulai sampai batasan charakter di inginkan
Sebuah string dapat dipecah menjadi beberapa bagian, per kata, dapat menggunakan fungsi Strtok() danSplit() adalah fungsi yang digunakan untuk memecah string, namun fungsi Split() dilengkapi dengan argumen parameter pembagi. Split(Pola,String,Parameter Pembagi);

1. Strtok()

Syntax: 
Strtok(nama_string,karakter_pemisah);
Contoh
<?
$kalimat = "Ibukota Indonesia adalah Jakarta"; 
$pecah = strtok ($kalimat," "); 
while ($pecah) 
{ 
echo "<br> $pecah "; 
$pecah=strtok(" "); 
} 
?>
Hasilnya adalah: Penulisan fungsi Strtok() dalam sebuah program adalah :
Ibukota
Indonesia
adalah
Jakarta

2. Split()

Syntax: 
Split(Pola,String,Parameter Pembagi); 

3. explode()

Syntax: 
explode('[karakter_explode]','[val||string_awal]')
explode('[karakter_explode]','[val||string_awal]','[value_batasan]')
Sesuai namanya "explode", fungsi ini digunakan untuk meledakkan/memecah suatu string menjadi potongan-potongan string yang kecil. Selanjutnya potongan-potongan string ini akan disimpan dalam suatuarray. Perhatikan contoh berikut ini
Contoh
<?
$PhoneNumber = "800-555-5555";
$hasil = explode("-", $PhoneNumber);
echo " Phone Number = $PhoneNumber <br>";
echo "Pecahan 1 = $hasil[0]<br>";
echo "Pecahan 2 = $hasil[1]<br>";
echo "Pecahan 3 = $hasil[2]";
?>
Hasilnya adalah: Phone Number = 800-555-5555
Pecahan 1 = 800
Pecahan 2 = 555
Pecahan 3 = 5555

Contoh
<?
$PhoneNumber = "800-555-5555";
$hasil = explode("-", $PhoneNumber);
echo " Phone Number = $PhoneNumber <br>";
echo "Pecahan 1 = $hasil[0]<br>";
echo "Pecahan 2 = $hasil[1]<br>";
echo "Pecahan 3 = $hasil[2]";
?>
Pada perintah explode("-", $PhoneNumber); di atas, karakter "-" dapat diibaratkan sebagai dinamitnya. Dinamit ini apabila diledakkan akan memecah string dari $PhoneNumber.Karakter yang akan digunakan sebagai dinamit dapat ditentukan sendiri oleh programmer, dapat berupa spasi, koma dsb.Jumlah pecahan string dari hasil ledakan dapat dibatasi dengan menambahkan jumlah batasledakan sebagai paramater ketiga dari function explode().
Perintah explode("-", $PhoneNumber, 2); di atas membatasi 2 buah pecahan string dari hasil ledakan. Dengan demikian, tampak pada hasil bahwa pecahan ketiga tidak ada.

4. substr()

Syntax: 
substr('[var||string_awa]','[noindex_start]','[limit_char]')
substr adalh fungsi yang dapat memecah string berdasarkan no index_awal mulai sampai batasan charakter di inginkan
Contoh
<?
$tgl="2010-05-12"; 
echo "Tanggal : ".$tgl."</br>"; 
echo "tahun : ".substr($tgl,0,4)."</br>"; 
echo "bulan : ".substr($tgl,5,2)."</br>"; 
echo "tggl : ".substr($tgl,8,2)."</br>"; 
?>
Hasilnya adalah: Tanggal : 2010-05-12
tahun : 2010
bulan : 05
tggl : 12

pada contoh diatas dapat dilihat pemecahan suatu string hanya dengan batasan dari parameter fungsisubstr() tujuan dan pengunaanya sama pengunaan fungsi explode() dimana sama-sama memecahkan string.kedua fungsi ini sama tapi berbeda dalam kebutuhan yang efisiensinya masing2.
Teman saya meminta tolong untuk dibuatkan aplikasi untuk membaca data file teks yang dihasilkan dari sebuah mesin presensi bernama AMANO. File teks itu berisi data-data presensi karyawan setiap harinya. Mau tahu bentuk datanya? Ini saya tampilkan 10 baris contoh datanya ya....
31200801211455000100093408000002
31200801211455000100032510950002
31200801211529000100034212950002
31200801211530000100018412930002
31200801211531000100177001050002
31200801211531000100197108050002
31200801211531000100163007030002
31200801211531000100179402050002
31200801211531000100198408050002

Kalau datanya cuman 10 saja seperti di atas sih gak masalah.... Tapi kenyataannya satu file teks berisi kira-kira 2000-3000 data presensi. Satu file teks dihasilkan dari presensi sehari. Padahal file teks yang saya terima berjumlah sekitar 30 buah (presensi dalam 30 hari). Itu pun hanya sample file saja yang dikirimkan
Dari sebuah data yang ada dalam file teks itu bermakna sesuatu. Berikut ini penjelasannya:
Misalkan diambil data
31200801211455000100093408000002
Penjelasan Digitnya :
Digit 1 - 2 (31) : menunjukkan kode bagian karyawan ditempatkan
Digit 3 - 6 (2008) : menunjukkan tahun ketika presensi
Digit 7 - 8 (01) : menunjukkan bulan ketika presensi
Digit 9 - 10 (21) : menunjukkan tanggal ketika presensi
Digit 11 - 12 (14) : menunjukkan jam ketika presensi
Digit 13 - 14 (55) : menunjukkan menit ketika presensi
Digit 15 - 18 (0001) : menunjukkan keterangan presensi. 
Jika 0001 artinya presensi untuk masuk kerja, dan jika 0002 artinya presensi untuk keluar kerja
Digit 19 - 28 (0009340800) : menunjukkan kode karyawan yang melakukan presensi
Digit 29 - 32 (0002) : menunjukkan kode mesin presensi

Nah.... yang jadi permasalahan adalah bagaimana cara mengambil atau memisahkan digit-digit tersebut, sehingga dapat dibaca per item data seperti penjelasan di atas?
Dalam PHP, hal ini tidak menjadi masalah karena ada function substr(). Bagaimana sintaksnya?
substr(x, y [, z]);
dengan x adalah string utuh yang akan diambil substring nya, y adalah posisi awal substring (dimulai dari 0), dan z adalah panjang substring yang akan diambil. Parameter z sifatnya optional. Apabila z tidak diberikan, maka pengambilan substring mulai dari posisi awal y sampai dengan akhir dari string.
Contoh
<?
$stringKu = "hallo";
echo substr($stringKu, 1); // menghasilkan "allo"
echo substr($stringKu, 1, 3); // menghasilkan "all"
echo substr($stringKu, 0, 4); // menghasilkan "hall"

?>
Sehingga untuk kasus data presensi di atas, script untuk memisahkan setiap item adalah sebagai berikut:
Contoh
<?
$data = "31200801211455000100093408000002";
$kodeBagian = substr($data, 0, 2);
$tahun = substr($data, 2, 4);
$bulan = substr($data, 6, 2);
$tanggal = substr($data, 8, 2);
$jam = substr($data, 10, 2);
$menit = substr($data, 12, 2);
$keterangan = substr($data, 14, 4);
$kodeKary = substr($data, 18, 10);
$kodePresensi = substr($data, 28, 4);
?>

Mengabungkan string yang terpecah

implode()

Syntax: 
explode('[karakter_implode]','[val||string_awal]')
Kebalikan dari explode(), function implode() digunakan untuk menyatukan pecahan-pecahan string menjadi satu kesatuan string.
Contoh
<?
$pecahan = array("Hello", "World,", "I", "am", "Here!");
$disatukandenganspasi = implode(" ", $pecahan);
$disatukandengandash = implode("-", $pecahan);
echo "$disatukandenganspasi <br>";
echo "$disatukandengandash ";
?>
Hasilnya adalah: Hello World, I am Here!
Hello-World,-I-am-Here!

Bagaimana jika pengabungan kerja fungsi explode() dengan implode() dimana satu memisahkan dan yang satu mengabungkan adalah seperti contoh berikut:
Contoh
<?
$PhoneNumber = "800-555-5555"; 
$hasil = explode("-", $PhoneNumber);
 echo " Phone Number = $PhoneNumber <br>"; 
echo "Pecahan 1 = $hasil[0]<br>"; 
echo "Pecahan 2 = $hasil[1]<br>"; 
echo "Pecahan 3 = $hasil[2]<br>"; 
$join=implode("**",$hasil); 
echo "Join :$gabung"; 
?>
Hasilnya adalah: Phone Number = 800-555-5555
Pecahan 1 = 800
Pecahan 2 = 555
Pecahan 3 = 5555
pengabugana :800**555**5555

Memecah File Ber-extensi

pathinfo()

Syntax: 
pathinfo('[file]')
fungsi pathfile bekerja untuk memecah file yang berexstensi .dimana pecahan tersebut terbentuk dalam kedalam array assosatif . yaitu pecahan fiename dan pecahan extension
Contoh
<?
$str='text.php';
$ext=pathinfo($str);
echo $ext['filename']."<br>"; 
echo $ext['extension']; 
 
?>
Hasilnya adalah: text
php

Membaca nama file dari suatu path

basename()

Syntax: 
basename('path_root_dir')
Function ini digunakan untuk membaca nama file dari suatu path.
Contoh
<?
$path = "/home/httpd/html/index.php";
echo basename($path);  // menghasilkan 'index.php'
echo basename($path, ".php") ; // menghasilkan 'index' (menghapus ekstensi .php)
?>
Contoh lain, bila script di bawah ini disimpan dengan nama myscript.php
Contoh
<?
echo basename($_SERVER['PHP_SELF'], ".php");  // menghasilkan 'myscript' 
?>
Hasilnya adalah: menghasilkan 'myscript'

Character ASCII

chr()

Syntax: 
chr('[nomber_karakter_ASCII]')
Function chr() digunakan untuk menghasilkan karakter ASCII berdasarkan bilangan bulat ASCII nya.
Contoh
<?
$ascii = chr(97);
echo "Karakter ASCII dari 97 adalah: ".$ascii;
?>
Hasilnya adalah: a
Contoh
<?
echo "<table border=1><tr><th colspan=2>Cahracter ASCII</th></tr>
<tr><td>No ASCII</td><td>Character</td></tr>";
for ($n=0;$n<=255:$n++)
{
echo "<tr><td> ASCII : $n </td><td>".chr($n)." </td></tr>";
}
echo "</table>";

?>
Hasilnya adalah: Berupa karakter Huruf yang Di konversi ke ASCII dengan bit 127

Memformat Angka

number _format()

Standar penulisan angka ( terutama dalam masalah mata uang ), sangat berbeda antara negara kita dengan sistem lain diluar negeri. Untuk memisahkan jumlah ribuan, biasanya menggunakan tanda titik, sedangkan sistem di luar menggunakan tanda koma. Fungsi number-format dapat ddigunakan untuk mengubah tampilan angka dalam laporan.
Contoh
<?
$harga_sepatu = 195450; 
echo($harga_sepatu . "\n"); 
echo("\$" . number_format($harga_sepatu,"2",".","") . "\n"); 
echo"<br>"; 
echo"Harga sepeda motor adalah ".number_format("12156688","2",",",".")."(dalam rupiah)"; 
?>
Hasilnya adalah:
195450 $195450.00
Harga sepeda motor adalah 12.156.688,00(dalam rupiah)

memberikan tanda slash " \ "

Addcslashes( )

Fungsi Addcslashes( ) digunakan untuk memberikan tanda slash " \ " pada karakter tertentu. 
Bentuk : Addcslashes(String_awal, Parameter_slash); 
Keterangan : 
 String adalah argument yang menunjukkan data awal yang akan diproses. 
 Parameter adalah argument yang menunjukkan parameter filter. 

Contoh
<?
// memberikan tanda slash pada karakter tertentu 
// addcslashes.php 
$data="Membuat web interaktif dengan program PHP."; 
echo"Sebelum ditambahkan \"\\\" :<br>"; 
echo"$data"; 
$slash=Addcslashes($data,'ai); 
echo"<br><br>Sekarang ditambahkan \"\\\" pada huruf a dan i saja :<br>"; 
echo"$slash"; 

?>
Hasil eksekusi adalah sebagai berikut :
Sebelum ditambahkan "\" :
Membuat web interaktif dengan program PHP.
Sekarang ditambahkan "\" pada huruf a dan i saja :
Membu\at web \inter\akt\if deng\an progr\am PHP.

Untuk Pemahaman lebih lanjut tentang Operasi String saya akan menyajikan pada tutorial selanjutnya Yang terdapat Pada tap menu Tutorial realease Atas Waktu teman2, yang telah membaca tutorial saya yang sederhana ini saya ucapkan Terimakasih.....!
 
Re-post : http://almbantuli.blogspot.com/2013/03/php-fungsi-fungsi-php-khusus-string.html
04:48

1 komentar:

  1. ini yang sedang saya kerjakan (h) ...
    nice post i love PHP :))

    ReplyDelete

 
Top