Praktikum 9 Array
Praktikum 9 Array
ARRAY
1. 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.
Pembentukan array
$nama
$nama[4]
$nama[3]
$nama[2]
$nama[1]
$nama[0]
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);
$nama[] = “Dian”;
$nama[] = “Edi”;
$nama[]= “Citra”;
$nama[] = “Simon”;
$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:
<?
$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]);
?>
<?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.
Array Asosiatif
Dari contoh-contoh di atas, kita lihat bahwa 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'];
?>
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
Output:
Output:
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.
Mengurutkan array
Pengurutan data di array berindeks bilangan bisa menggunakan sort() dan rsort().
• sort() untuk mengurutkan data secara urut naik (ascending)
• rsort() untuk mengurutkan data secara urut turun (descending)
Perhatikan contoh program berikut.
<?
$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>");
?>
Pengurutan data di array asosiatif
Untuk mengurutkan data di array asosiatif, kita bisa menggunakan asort() dan
arsort().
• asort() untuk mengurutkan data secara urut naik (ascending);
<?
$kamus["kuda"] = "horse";
$kamus["burung"] = "bird";
$kamus["unta"] = "camel";
$kamus["ular"] = "snake";
$kamus["kura-kura"] = "turtle";
$kamus["katak"] = "frog";
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>");
foreach($kamus as $kunci => $isi)
print($kunci . "=>" . $isi . "<br>");
?>
Pengurutan data secara alamiah dapat menggunakan natsort(). Contoh:
<?
$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>");
?>
Output yang dihasilkan:
Mengolah array
Dalam pengolahan array ada beberapa fungsi yang digunakan, misalnya kita akan
menambahkan elemen ke array kita bisa menggunakan fungsi array_unshift() dan
array_push().
<?
$a = array("Satu", "Dua", "Tiga");
array_unshift($a, "Nol");
print("Isi \$a setelah array_unshift(): <br>");
print_r($a);
print("<hr>");
Output:
Apabila fungsi di atas berfungsi untuk menambahkan elemen pada array maka fungsi
array_shift() dan array_pop() berguna untuk membuang elemen pada array.
<?
$a = array("Satu", "Dua", "Tiga");
$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>");
?>
Perhatikan output yang dihasilkan.
Perhatikan contoh:
<?
$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>");
?>
Contoh:
<?
$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>");
?>
Output:
Berikut adalah daftar beberapa fungsi yang belum disebutkan di atas yang berguna untuk
mengolah array yang dapat kita praktikkan sesuai dengan kebutuhan pengolahan array.