Array



Selama praktikum ini variabel yang digunakan untuk menyimpan suatu value atau nilai adalah variable bentuk tunggal. Artinya, satu variabel hanya bisa untuk menyimpan sebuah value saja. Misalkan sebuah value telah disimpan atau diassign ke dalam sebuah variabel, selanjutnya variabel tersebut akan diassign kembali dengan sebuah value yang lain, maka value yang sebelumnya akan ditimpa oleh value yang baru.

Variabel yang dapat diassign oleh beberapa value yang lebih dari satu adalah variabel bertipe data array. Misalkan suatu variabel bernama X bertipe data array, maka X ini dapat Anda bayangkan seperti gambar berikut:

X
1
2
3
4
5
...
N-1








Variable X memiliki beberapa ruang dimana jumlah ruangnya adalah berhingga yaitu sejumlah N. Tiap-tiap ruang terdapat semacam nomor ruangan: 0, 1, 2, 3, …, N-1. Di dalam ruang-ruang tersebut dapat digunakan untuk melakukan assign beberapa value sekaligus.

Catatan: dalam bahasa pemrograman PHP, nomor ruang array dimulai dari 0, bukan 1.

Dalam bahasa pemrograman PHP, untuk mendeklarasikan suatu variabel (misalkan $x) bertipe data array adalah sebagai berikut: 

$x = array();

Peraturan yang berlaku dalam bahasa pemrograman PHP, variabel bertipe data array dapat di-assign dengan berbagai tipe data. Artinya, untuk setiap ruang yang ada, boleh di-assign dengan nilai berbagai tipe data yang berlainan, contoh untuk ruang nomor 1 akan diisi dengan nilai berupa bilangan bulat (integer), ruang no. 2 diisi dengan real, no. 3 diisi dengan string dan sebagainya.

Berikut ini contoh meng-assign ruang variabel yang bertipe data array. Sebagai contoh meng-assign ruang nomor 3 dengan value bilangan integer 10, dan ruang no. 5 dengan string ‘I love PHP'. Berikut ini script PHP-nya:

<?php
$x = array();
$x[3] = 10;
$x[5] = "I love PHP";
?>

Jika ingin mengisi value untuk setiap ruang array sekaligus secara berturut-turut seperti contoh berikut ini:

<?php
$x = array(10, 12, 3, 44, 50, "hallo");
?>

Berikut ini adalah cara menampilkan value yang tersimpan dalam ruang array.

<?php
$x = array(10, 12, 3, 44, 50, "hallo");
echo $x[0]; // akan menampilkan value pada ruang ke-0, yaitu 10
echo $x[5]; // akan menampilkan value pada ruang ke-5, yaitu ‘hallo’
$x[2] = -3; // mengganti value pada ruang ke-2 dengan value yang baru (-3)
echo $x[2]; // akan menghasilkan -3 (yang tampil bukan 3 karena sudah ditimpa -3)
?>

Berikut ini contoh menampilkan semua value array sekaligus secara berturut-turut menggunakan looping

<?php
$x = array(10, 12, 3, 44, 50, "hallo");
for ($i = 0; $i <= 5; $i++)
{
echo "Nilai kamar ke ".$i. " dari array = ".$x[$i]. "<br />";
}
?>

Array Asosiatif

Beberapa contoh di atas, dapat dilihat bahwa ruang dari array diberikan nomor ruang sebagai penanda, yaitu mulai dari 0, 1, 2, dan seterusnya. Penanda setiap ruang ini harus tidak harus berupa angka, setiap ruang dapat diberi tanda berupa suatu kata atau karakter. Array yang demikian ini disebut array asosiatif. Berikut ini contoh membuat array asosiatif dan cara menampilkan value pada suatu ruangnya.

<?php
$x = array("kamar1" => 10, "kamar2" => 12, "kamar3" => 3, "kamar4" => "hallo");
foreach($x as $ruang => $value)
{
echo "Isi dari ruang : ".$ruang. " adalah : ".$value. "<br />";
}
?>

Menambah elemen Array

Pada contoh sebelumnya telah dibahas array dengan value tertentu dalam setiap ruangnya, perhatikan script berikut ini

<?php
$x = array(10, 12, 3, 44, 50, "hallo");
?>

Pada contoh array di atas nomor ruangnya terdiri dari 0, 1, 2, …, 5. Jika menambah sebuah ruang lain yaitu ruang nomor 6 untuk diisi dengan suatu value, misalkan 100. Modifikasi script di atas menjadi:

<?php
$x = array(10, 12, 3, 44, 50, "hallo");
$x[] = 100;
for ($i = 0; $i <= count($x)-1; $i++)
{
echo "Nilai kamar ke ".$i. " dari array = ".$x[$i]. "<br />";
}
?>

Kemudian lihat hasilnya.

Tugas
  1. Hitunglah nilai rata-rata dari bilangan-bilangan berikut ini 9, 2, 10, 3, 7, 5, 2 dengan menggunakan array.
  2. Kembangkan script PHP soal no 1 agar dapat menghitung data bilangan sampai dengan 100 atau bahkan 1000 dengan menggunakan pendekatan array.

Tidak ada komentar:

Posting Komentar