6.1
DEFINISI ARRAY
Array adalah wadah yang dapat menyimpan sejumlah nilai skalar. Setiap nilai di
array diakses melalui indeks yang juga biasa disebut kunci. Umumnya indeks berupa
bilangan bulat yang dimulai dengan nol. Namun, indeks berupa string dimungkinkan
di PHP. Skema pembentukan Array ditujukkan sebagai berikut:
Keterangan:
Array di atas mengandung 5 elemen. Setiap elemen diakses dengan menggunakan
indeks yang dimulai dengan nol. Array di PHP diimplementasikan melalui konstruk
bernama array. Bentuk penciptaan dan sekaligus mengisikan elemen-elemen array
dapat dilakukan dengan bentuk berikut:
nama_array = array(elemen_1, ..., elemen_N);
Contoh berikut memberikan gambaran tentang pembentukan array dan cara
memberikan nilai ke array.
<?php
$nama = array("Dian", "Edi", "Citra", "Simon", “Hardi"); print_r($nama);
?>
Array juga bisa didefinisikan dengan cara semacam berikut:
$nama_array[] = “elemen_1”; $nama_array[] = “elemen_2”; $nama_array[] = “elemen_N”;
Contoh pendefinisian array di atas dalam program adalah sebagai berikut:
<?php
$nama[] = “Dian”; $nama[] = “Edi”; $nama[]= “Citra”; $nama[] = “Simon”;
BAB 6
$nama[] = “Hardi”;
print_r($nama); ?>
Selanjutnya bagaimana cara menampilkan nilai-nilai yang tersimpan dalam ruang
array, caranya dengan memanggil indeks yang terdapat di dalam array. Perhatikan
program berikut
:
<?php
$nama = array("Dian", "Edi", "Citra", "Simon", "Hardi");
//menampilkan nilai pada indeks ke-0 yaitu Dian
print($nama[0]) . "\t";
//menampilkan nilai pada indeks ke-2 yaitu Citra
print($nama[2]) . "\t";
//mengubah nilai pada indeks ke-4
$nama[4] = "Diana";
//menampilkan nilai pada indeks ke-4 yang telah diubah
print($nama[4]); ?>
Kita juga bisa menampilkan semua nilai array sekaligus secara berturut-turut
menggunakan pengulangan seperti for atau menggunakan fungsi count(). Perhatikan
program berikut.
<?php
//menampilkan semua nilai array menggunakan for
$buah = array("Jeruk","Melon","Apel","Mangga","Manggis", "Nangka"); for ($i = 0; $i <= 5; $i++){
echo "Nilai indeks ke ".$i."dari array = ".$buah[$i]. "<br>"; }
print("<hr>");
//menampilkan semua nilai array menggunakan count()
$buah = array("Jeruk","Melon","Apel","Mangga","Manggis","Nangka"); for ($i = 0; $i < count($buah); $i++){
echo "Nilai indeks ke ".$i. " dari array = ".$buah[$i]. "<br />"; }
?>
Perhatikan output yang dihasilkan oleh kedua fungsi
for
dan
count()
di atas.
6.2
ARRAY ASOSIATIF
Ruang dari array diberikan nomor ruang sebagai penanda, yaitu mulai dari 0, 1, 2,
dst. Apakah penanda setiap ruang ini harus berupa angka? Jawabnya tidak, kita juga
bisa memberi penanda setiap ruang dengan suatu kata atau karakter. Array yang
demikian ini disebut array asosiatif. Berikut ini contoh membuat array asosiatif dan
cara menampilkan nilai pada suatu ruangnya.
<?php
$nilai = array("indeks1" => 10, "indeks2" => 20, "indeks3" => 30, "indeks4" => "40");
echo $nilai['indeks2'] ."<br>"; echo $nilai['indeks4']; ?>
6.3
ARRAY MULTI DIMENSI
<?php
$kendaraan['Roda Dua']['Motor'] = "Honda"; $kendaraan['Roda Dua']['Sepeda'] = "Fixie"; $kendaraan['Roda Empat']['Mobil'] = "Toyota"; echo $kendaraan['Roda Dua']['Motor'];
?>
Contoh yang kedua:
<?php
$makanan = array("sayuran"=>array("bayam"=>8000,"tomat"=>5000), "buah"=>array("apel"=>17000,"jeruk"=>8000));
echo "Harga Buah Apel Satu Kg : Rp" .$makanan['buah']['apel']; ?>
Banyak cara untuk mendeklarasikan array multi dimensi ini, tergantung kita saja
ingin memakai yang mana. Gunakan yang menurut kita mudah saja. Tapi
kebanyakan orang lebih suka menggunakan contoh pertama dalam menggunakan
array multi dimensi karena mudah dipahami struktur kode nya.
6.4
FOREACH
Perulangan
foreach
banyak digunakan bersamaan dengan data
array
, karena
mengakses data
array
akan jauh lebih mudah dan praktis. Struktur foreach adalah
sebagai berikut:
foreach(array_expression as $value) statement
foreach(array_expression as $key => $value) statement
Untuk lebih jelasnya, perhatikan contoh berikut:
1.
Foreach yang hanya menampilkan value
<?php
$a = array (1, 2, 3, 17); foreach ($a as $v){
echo "Nilai \$a saat ini adalah: $v.<br>"; }
?>
2.
Foreach yang menampilkan value dengan key
<?php
$a = array (1, 2, 3, 17); $i = 0;
foreach($a as $v){
echo "\$a[$i] => $v.<br>"; $i++;
} ?>
3.
Foreach pada array asosiatif
<?php
$a = array ("one" => 1, "two" => 2, "three" => 3, "four" => 17); foreach($a as $k => $v){
echo "\$a[$k] => $v.<br>"; }
6.5
PENGURUTAN ARAY
6.5.1 PENGURUTAN ARRAY BERINDEKS
Pengurutan data di array berindeks bilangan bisa menggunakan sort() dan rsort().
1.
sort()untuk mengurutkan data secara urut naik (
ascending
)
2.
rsort()untuk mengurutkan data secara urut turun (
descending
)
Perhatikan contoh program berikut.
<?php
$nama = array("Dian", "Edi", "Citra", "Simon", "Hardi"); print("Data asli: <br>");
foreach($nama as $kunci => $isi)print(($kunci + 1) . "." . $isi . "<br>");
print("<hr>"); sort($nama);
print("Hasil sort(): <br>");
foreach($nama as $kunci => $isi)print(($kunci +1) . "." . $isi . "<br>"); print("<hr>");
rsort($nama);
print("Hasil rsort(): <br>");
foreach($nama as $kunci => $isi)print(($kunci +1) . "." . $isi . "<br>"); ?>
6.5.2 PENGURUTAN ARRAY ASOSIATIF
Pengurutkan data di array asosiatif menggunakan asort()dan arsort().
1.
asort()untuk mengurutkan data secara urut naik (ascending);
2.
arsort()untuk mengurutkan data secara urut turun (descending);
Perhatikan contoh berikut:
<?php
$kamus["kuda"] = "horse"; $kamus["burung"] = "bird"; $kamus["unta"] = "camel"; $kamus["ular"] = "snake"; $kamus["kura-kura"] = "turtle"; $kamus["katak"] = "frog"; print("Data asli: <br>");
foreach($kamus as $kunci => $isi)print($kunci."=>".$isi ."<br>"); print("<hr>");
asort($kamus);
print("Hasil asort() : <br>");
foreach($kamus as $kunci => $isi)print($kunci."=>".$isi ."<br>"); print("<hr>");
arsort($kamus);
print("Hasil asort() : <br>");
Pengurutan data secara alamiah dapat menggunakan natsort(). Contoh:
<?php
$data[] = "12 apel"; $data[] = "1 apel"; $data[] = "2 apel"; $data[] = "24 apel"; $data[] = "3 apel"; print("Data asli:<br>");
foreach($data as $kunci => $isi)print($kunci . "=>" . $isi . "<br>"); print("<hr>");
sort($data);
print("Hasil sort() : <br>");
foreach($data as $kunci => $isi)print($kunci . "=>" . $isi . "<br>"); print("<hr>");
natsort($data);
print("Hasil natsort() : <br>");
foreach($data as $kunci => $isi)print($kunci . "=>" . $isi . "<br>"); ?>
6.6
MENGOLAH ARRAY
Pengolahan array memiliki beberapa fungsi yang digunakan, misalnya kita akan
menambahkan elemen ke array kita bisa menggunakan fungsi array_unshift()dan
array_push().
1.
array_unshift()berguna untuk menambahkan data di awal array
2.
array_push()berguna untuk menambahkan data diakhir array
Perhatikan contoh berikut:
<?php
$a = array("Satu", "Dua", "Tiga"); print("Isi \$a semula: <br>"); print_r($a);
print("<br>");
array_unshift($a, "Nol");
print("Isi \$a setelah array_unshift(): <br>"); print_r($a);
?>
print("<hr>");
array_push($a, "Empat", "Lima");
print("Isi \$a setelah array_push(): <br>"); print_r($a);
Apabila fungsi di atas berfungsi untuk menambahkan elemen pada array maka
fungsi array_shift()dan array_pop()berguna untuk membuang elemen pada array.
1.
array_shift()berguna untuk membuang elemen di awal array
2.
array_pop()berguna untuk membuang elemen di akhir array
Perhatikan contoh berikut:
<?php
print("<br>");
$elemen = array_shift($a);
print("Isi \$a setelah array_shift()"); print_r($a);
print("<br>"); print("<hr>");
$elemen = array_pop($a);
print("Isi \$a setelah array_pop()"); print_r($a);
print("<br>"); ?>
Fungsi untuk mengambil sebagian elemen-elemen array, kita bisa menggunakan
fungsi array_slice(). Bentuk pemakaian fungsi ini adalah sebagai berikut:
array_slice(array, indeks_awal [,cacah])
Perhatikan contoh:
<?php
$a = array("merah", "jingga", "kuning", "hijau", "biru", "nila","ungu"); print("Isi \$a semula: <br>");
print_r($a); print("<br>"); print("<hr>");
$b=array_slice($a, 2, 3);
print("Isi \$a setelah array_slice(\$a, 2, 3) : <br>"); print_r($b);
print("<br>"); ?>
Dalam array terdapat fungsi yang berguna untuk menggabungkan array yaitu
menggunakan fungsi array_merge(). Bentuk pemakaian sebagai berikut:
array_merge(array1, array2, ...)
Nilai balik berupa gabungan array yang menjadi argumennya. Perhatikan contoh:
<?php
$selular = array("Samsung", "Nokia", "Apple"); $operator = array("Indosat", "Telkomsel"); print_r($selular);
print("<br>"); print_r($operator); print("<br>");
$gabungan = array_merge($selular, $operator); print_r($gabungan);
print("<br>"); ?>
Fungsi
Bentuk Umum
Kegunaan
array_reverse
array_reverse(array)
Membalik urutan di array
suffle()
suffle(array)
Mengacak isi array
array_rand()
array_rand(array, cacah)
Mengambil elemen secara
random
array_unique()
array_unique(array)
Membuat elemen pada
array tidak sama
ange()
range(nilai_awal, nilai_akhir)
Memberikan nilai urut pada
array
in_array()
in_array(elemen_yang_dicari,
array)
Mencari keberadaan suatu
elemen pada array
array_key_exist() array_key_exist(kunci, array)
Mencari keberadaan suatu
kunci pada aray
explode()
explode(pemisah,
string,
[,batasan])
Mengonversi string menjadi
array
implode()
implode(perekat, array)
Mengonversi array menjadi
string
array_diff()
array_diff(array1, array2)
Mencari perbedaan dua
array
array_intersect()
array_intersect(array1,
array2)
Mencari persamaan dua
array
6.7 LATIHAN BAB 6
1.
Praktekkan fungsi-fungsi pengolahan array pada tabel sub bab 5.6.
2.