Yups,
selamat berjumpa kembali dengan penulis dalam Belajar PHP :-q~~ Sebelum
ke inti artikel penulis akan mencoba melakukan review mengenai
pengetahuan yang telah diketahui sebelumnya. Tak kenal maka tak dalam,
begitulah kata sang ahli. :D~ Array merupakan sekelompok data dalam hal
ini variable yang terdapat dalam sebuah variable. Dengan kata lain
banyak variable yang terdapat dalam satu variable. Nah inilah yang
dinamakan dengan array.
Untuk merepresentasikan sebuah array, penulis ambil contoh :
$angka = array("Satu", "Dua", "Tiga");
Dari
situ timbul pertanyaan-pertanyaan berkenaan dengan array, salah satunya
adalah bagaimana caranya mengambil suatu data yang berada dalam array.
Dimisalkan yang akan diambil adalah "Dua". Hal yang perlu dilakukan
cukup dengan menggunakan nama variable si array tersebut ditambah
dengan urutan keberapakah data yang akan diambil nantinya.
Maka ...
$angka = array("Satu", "Dua", "Tiga"); $ambilarray = $angka[1]; echo $ambilarray ;
Yang ditampilkan dalam browser ..
Dua
Lalu
timbul satu pertanyaan lagi, mengapa untuk mengambil data "Dua" itu
berada pada urutan ke 1?. Sebagaimana ditampilkan dalam source code
$angka[1];. Yup, ini terjadi dikarenakan array itu bermula dari angka
0. Sehingga :
"Satu" itu berada pada urutan ke 0
"Dua" itu berada pada urutan ke 1 , sedangkan
"Tiga" itu berada pada urutan ke 2
Hmmm...
jika ada variabel dalam variabel. Bagaimana dengan array dalam array ?
Pastinya inilah yang dinamakan array multidimensi. Penulis tidak akan
menjelaskan mengenai array 2 dimensi atau lebih dikarenakan hal ini
amat jarang sekali dipakai. Contohnya ...
$angka = array("Satu", array("Dua","Tiga") , "Empat");
Untuk mengambil nilai dua yang terdapat dalam array tersebut. Cukup dengan memanggil nama variabel arraynya seperti ini :
$angka = array("Satu", array("Dua","Tiga") , "Empat"); $ambilarray = $angka[1][0]; echo $ambilarray ;
Hasil di browser adalah ...
Dua
Begitu juga dengan bentuk array yang lain.
$angka = array("Satu", "Dua" => "Satu di tambah Satu", "Tiga");
Perhatikan
baris "Dua" => "Satu ditambah Satu" ini berarti variabel "Dua"
memiliki nilai "Satu ditambah satu", sehingga untuk mengambil nilai
yang berada dalam variabel Dua ...
$angka = array("Satu", "Dua" => "Satu di tambah Satu", "Tiga"); $nilaidua = $angka['Dua']; echo $nilaidua ;
Maka yang akan ditampilkan oleh browser adalah ...
Satu ditambah Satu
Yup,
array memiliki banyak sekali peran dalam web development. Penulis
sendiri menggunakan array dalam manajemen artikel., searching database,
dan banyak lagi contoh yang lain dimana pentingnya peranan seorang Array. :D~~
Dari situ penulis akan memberikan sebuah contoh dari implementasi array.
Untuk implementasi kali ini penulis akan menggunakan array sebagai database penyimpanan kata-kata yang nantinya akan diblokir.
Blokir kata dalam komentar dengan Array
Sebelumnya buat database komentarnya terlebih dahulu.
create database komentar; use komentar; create table komentar( id int(5) primary key auto_increment, penulis varchar(50), email varchar(30), isikomentar text); insert into komentar values('','Al-k','alkemail@gmail.com','Pada dasarnya Ryuzaki itu tidak ganteng'); insert into komentar values('','Al-k','alkemail@gmail.com','Pada dasarnya Ryuzaki manusia juga'); insert into komentar values('','Al-k','alkemail@gmail.com','Pada dasarnya Ryuzaki adalah manusia yang tidak keren huehueue');
Kemudian file config.php, file ini yang menghubungkan antara database dengan webserver apache ...
<?php $user = "root" ; $passwd = ""; $host = "localhost" ; $koneksi = mysql_connect($host, $user, $passwd) ; mysql_select_db("komentar",$koneksi) or die ("Database tidak bisa dikoneksi"); ?>
Selanjutnya file intinya, array.php :
<?php require_once "config.php"; $perintah = "select * from komentar order by id desc"; $jalankanperintahnya = mysql_query($perintah); $katayangdiblokir = "keren ganteng"; $potongkata = explode(" ", $katayangdiblokir); $jumlaharray = count($potongkata); if ($_REQUEST['isikomentar'] == "iya" ) { if (ISSET($_POST['isinya'])) { $isikomentarnyaadalah = $_POST['isinya']; $namanya = $_POST['namanya']; $emailnya = $_POST['emailnya']; mysql_query("insert into komentar values ('','$namanya','$emailnya','$isikomentarnyaadalah')"); header ("location: array.php"); } } echo "<b>Komentar :</b><br><hr>"; while ($hasil = mysql_fetch_array($jalankanperintahnya)) { $nama = $hasil['penulis']; $email = $hasil['email']; $komentar = strtolower($hasil['isikomentar']); $isikomentar = explode(" ",$komentar); $arraykomentar = count($isikomentar)."<br>"; $total_loop = $arraykomentar + $jumlaharray ; for ( $i = 0; $i < $jumlaharray ; $i++) { if(in_array($potongkata[$i],$isikomentar)) { $komentar = "<font color=red><b>no comment</b></font>" ; } } echo "Nama : $nama <br>"; echo "Email : $email <br>"; echo "Komentar : <br>$komentar <hr>"; } ?> <html><body> <b>Isi Komentar :</b> <table border=0> <form method = 'POST' action = <?php echo "$_SERVER[PHP_SELF]?isikomentar=iya" ; ?> > <tr><td>Nama:</td><td><input type=text name=namanya></td></tr> <tr><td>Email:</td><td><input type=text name=emailnya></td></tr> <tr><td
valign=top>Isinya:</td><td><textarea rows=6 cols=40
name=isinya></textarea></td></tr> <tr><td></td><td><input type=submit name=submit value=Kirim style='color: #000000; border: 1px solid #000000; background-color: #DFDFDF'></td></tr> </form></table> </body> </html>
Dilangsungkan ke script intinya saja.
Perhatikan barisan kalimat ...
require_once "config.php";
$perintah = "select * from komentar order by id desc"; $jalankanperintahnya = mysql_query($perintah);
:D
cukup familiar? yups, dengan memanfaatkan file koneksi antara webserver
dengan mysql servernya, yakni file config.php. Lalu tampilkan semua isi
dari tabel komentar dan lakukan sorting berdasarkan id yang terakhir
kali disimpan dalam database.
Kemudian ... $katayangdiblokir = "keren ganteng"; $potongkata = explode(" ", $katayangdiblokir); $jumlaharray = count($potongkata);
Database
kata yang nantinya akan diblokir disisipkan kedalam variabel
$katayangdiblokir. Lalu muncul kembali pertanyaan, mengapa tidak
berbentuk seperti ini :
$katayangdiblokir = array("keren","ganteng");
Karena
penulis akan mencoba mengenalkan penggunaan fungsi explode. Explode
berfungsi untuk memisahkan suatu string menjadi kumpulan
variabel-variabel.
explode() yang digunakan dalam implementasi kali ini berfungsi untuk membuat array dengan memisahkan variabel menggunakan spasi.
kumpulkan databasenya ...
$katayangdiblokir = "keren ganteng";
kemudian pisahkan lalu masukkan ke dalam array $potongkata
$potongkata = explode(" ", $katayangdiblokir);
Sehingga hasilnya nanti sama dengan $katayangdiblokir = array("keren","ganteng");
Kemudian jumlahkan variabel yang berada dalam array
$jumlaharray = count($potongkata);
Lalu perhatikan susunan kalimat ini ...
if ($_REQUEST['isikomentar'] == "iya" ) { if (ISSET($_POST['isinya'])) { $isikomentarnyaadalah = $_POST['isinya']; $namanya = $_POST['namanya']; $emailnya = $_POST['emailnya']; mysql_query("insert into komentar values ('','$namanya','$emailnya','$isikomentarnyaadalah')"); header ("location: array.php"); } } Sebelum beralih lebih lanjut, coba kita perhatikan form yang dihasilkan dari halaman array.php <form method = 'POST' action = <?php echo "$_SERVER[PHP_SELF]?isikomentar=iya" ; ?> > <tr><td>Nama:</td><td><input type=text name=namanya></td></tr> <tr><td>Email:</td><td><input type=text name=emailnya></td></tr> <tr><td
valign=top>Isinya:</td><td><textarea rows=6 cols=40
name=isinya></textarea></td></tr> <tr><td></td><td><input type=submit name=submit value=Kirim style='color: #000000; border: 1px solid #000000; background-color: #DFDFDF'></td></tr> </form>
Yang dihasilkan oleh form ini adalah :
variabel $_POST['namanya'] yang diambil dari text box "namanya"
variabel $_POST['emailnya'] yang diambil dari text box "emailnya"
kemudian variabel $_POST['isinya'] yang diambil dari text area dan
variabel $_REQUEST['isikomentar'] yang dihasilkan dari action si form, dalam hal ini <form method = 'POST' action = <?php echo "$_SERVER[PHP_SELF]?isikomentar=iya" ; ?> >
Kita kembali ke baris ini
if ($_REQUEST['isikomentar'] == "iya" ) { if (ISSET($_POST['isinya'])) { $isikomentarnyaadalah = $_POST['isinya']; $namanya = $_POST['namanya']; $emailnya = $_POST['emailnya']; mysql_query("insert into komentar values ('','$namanya','$emailnya','$isikomentarnyaadalah')"); header ("location: array.php"); } }
ketika user telah selesai mengisi komentar
if ($_REQUEST['isikomentar'] == "iya" )
dan apabila user telah mempost ( me-submit ) komentarnya
if (ISSET($_POST['isinya']))
maka kenalkan variabel global $_POST['isinya'] sebagai $isikomentarnyaadalah, kemudian jadikan $_POST['emailnya'] sebagai variabel $emailnya. $isikomentarnyaadalah = $_POST['isinya']; $namanya = $_POST['namanya']; $emailnya = $_POST['emailnya'];
kemudian masukkan kedalam database
mysql_query("insert into komentar values ('','$namanya','$emailnya','$isikomentarnyaadalah')");
setelah selesai, lakukan redirect ke halaman array.php
header ("location: array.php");
sehingga user langsung dapat melihat komentar yang baru saja dimasukkan.
Bisa diperhatikan juga kalimat ini
while ($hasil = mysql_fetch_array($jalankanperintahnya)) { $nama = $hasil['penulis']; $email = $hasil['email']; $komentar = strtolower($hasil['isikomentar']); $isikomentar = explode(" ",$komentar); $arraykomentar = count($isikomentar)."<br>"; $total_loop = $arraykomentar + $jumlaharray ; for ( $i = 0; $i < $jumlaharray ; $i++) { if(in_array($potongkata[$i],$isikomentar)) { $komentar = "<font color=red><b>no comment</b></font>" ; } } echo "Nama : $nama <br>"; echo "Email : $email <br>"; echo "Komentar : <br>$komentar <hr>"; }
Penulis ambil kalimat intinya :
Selama dalam database masih terdapat record, ambil nilainya dan sisipkan kedalam variabel $hasil
while ($hasil = mysql_fetch_array($jalankanperintahnya))
lakukan change case pada isikomentar dalam database menjadi huruf kecil semua ...
$komentar = strtolower($hasil['isikomentar']);
jadikan array dengan memanfaatkan spasi yang ada
$isikomentar = explode(" ",$komentar);
Berapakah jumlah variabel yang terdapat dalam array ?
$arraykomentar = count($isikomentar)."<br>";
Sebuah baris lagi yang perlu dipahami ...
$total_loop = $arraykomentar + $jumlaharray ;
ini
terjadi dikarenakan adakalanya saat-saat dimana komentar yang
dimasukkan oleh user lebih sedikit dari database kata yang akan
diblokir, dan seringkali database kata yang diblokir itu lebih sedikit
jumlah arraynya dibandingkan komentar yang dimasukkan. Sehingga perlu
dijumlahkan antara jumlah array pada komentar yang diblokir dengan
jumlah array dari komentar yang dimasukkan.
Ini dia kalimat intinya ... for ( $i = 0; $i < $jumlaharray ; $i++) { if(in_array($potongkata[$i],$isikomentar)) { $komentar = "<font color=red><b>no comment</b></font>" ; } }
lakukan pengulangan sebanyak $jumlaharray kesemuanya.
for ( $i = 0; $i < $jumlaharray ; $i++)
jika didalam isi komentar terdapat kata-kata yang diblokir.
if(in_array($potongkata[$i],$isikomentar))
maka tampilkan komentar yang ada menjadi no comment
$komentar = "<font color=red><b>no comment</b></font>" ;
selain itu tampilkan seperti adanya.
Contoh lain penggunaan fungsi in_array( ) :
$buah = array ("Mangga", "Jambu", "Pepaya", "Pisang"); if (in_array ("Jambu", $buah)) { print "Ada buah Jambu euyyy ... "; }
Jika terdapat Jambu dalam array buah
if (in_array ("Jambu", $buah))
maka tampilkan Ada buah Jambu euyyy ...
print "Ada buah Jambu euyyy ... ";
Dari situ mungkin anda memiliki ide-ide brilian guna diimplementasikan dalam web anda tentunya.
Jadi, silahkan kembangkan imajinasi anda dan tuangkan dalam cangkir source code. :-q
Script tersebut bisa diambil langsung disini
http://www.networkandgame.890m.com/ilmuwebsite/al-k-lebih-dalam-mengenal-array.zip
Greetz
to : b_scorpio & phii_ :D, AbuZahra, fadli, safril, ivan, dr.emi,
minangmedia dan member ilmuwebsite yang setia mengunjungi situs ini. :D~
Special for : jojo
Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul Lebih dalam mengenal array
HARIFIN A. TUMPA TERPILIH MENJADI KMA
JAKARTA-HUMAS. Wakil Ketua Mahkamah Agung Bidang Non Yudisial, Harifin A. Tumpa, ditetapkan menjadi ketua Mahkamah Agung Terpilih dalam rapat paripurna Mahkamah Agung dengan agenda khusus pemilihan ketua [...]MA Hukum 17 Hakim Nakal
JAKARTA-HUMAS. Mahkamah Agung menjatuhkan sanksi kepada 17 orang Hakim `nakal` di berbagai Pengadilan yang ada di Indonesia, setelah mereka terbukti melakukan pelanggaran dalam menunaikan tugasnya [...]KMA, WKMA BIDANG YUDISIAL DAN WKMA BIDANG NON YUDISIAL MENGUCAPKAN SUMPAH DI HADAPAN PRESIDEN - RI.
JAKARTA-HUMAS, Selasa, 10 Februari 2009 Ketua Mahkamah Agung Harifin A Tumpa, Wakil Ketua Bidang Yudisial Abdul Kadir Mappong dan Wakil Ketua Bidang Non Yudisial Ahmad Kamil, mengucapkan sumpah [...]KABUA : “BARANG MILIK NEGARA HARUS ADA ADMINISTRASINYA”
JAKARTA-HUMAS. “Penatusahaan SABMN seluruh Pengadilan haruslah secara kontinyu, dan asset yang dimiliki di masing-masing Eselon I mulai saat ini sudah jelas kepemilikannya dan sudah selayaknya [...]KERJASAMA RI-AS DI BIDANG PERADILAN
WASHINGTON DC-HUMAS. Hubungan Amerika Serikat dan Indonesia beberapa tahun belakangan ini berjalan semakin baik. Banyak hal dari Indonesia, seperti masalah penanganan HAM, pelaksanaan supremasi hukum, pemberantasan korupsi dan lain-lain [...]Acara Syukuran Peningkatan Kelas
Jepara, Acara syukuran kenaikan kelas I B yang diselenggarakan pada tanggal 09 Desember 2008 bertempat di Pengadilan Negeri Jepara, JL. KHA. FAUZAN No. 04 Jepara,berlangsung sangat meriah dan lancar sampai selesainya acara [...] Grab this Widget ~ Blogger Accessories Custumized by Yuniarto Rahardjo
0 komentar
:f :D :) ;;) :x :$ x( :?
:@ :~ :| :)) :( :s :(( :o Posting Komentar