Lebih dalam mengenal array

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

Tidak ada komentar:

Posting Komentar

silahkan komentar anda