BAB 7 – ARRAY DALAM PHP
“Array merupakan salah satu fondasi terpenting dalam pemrograman. Hampir seluruh aplikasi PHP, mulai dari sistem login, aplikasi kasir, hingga framework seperti Laravel, memanfaatkan array untuk menyimpan dan mengolah data.”
Tujuan Pembelajaran
Setelah mempelajari bab ini, peserta didik diharapkan mampu:
- Menjelaskan pengertian array.
- Memahami fungsi array dalam pemrograman PHP.
- Membuat array satu dimensi.
- Mengakses isi array.
- Menambahkan dan mengubah isi array.
- Menggunakan perulangan pada array.
- Membuat array multidimensi.
- Memanfaatkan fungsi-fungsi bawaan array.
- Menerapkan array dalam studi kasus sederhana.
Pendahuluan
Pada bab sebelumnya kita telah mempelajari variabel. Variabel hanya mampu menyimpan satu buah nilai.
Contoh:
$nama = "Andi";
Variabel di atas hanya menyimpan satu data.
Bagaimana jika kita ingin menyimpan 100 nama siswa?
Apakah kita harus membuat:
$nama1;
$nama2;
$nama3;
...
$nama100;
Tentu tidak.
Di sinilah Array digunakan.
Array memungkinkan kita menyimpan banyak data hanya dalam satu variabel.
Apa itu Array?
Array adalah sekumpulan data yang disimpan dalam satu variabel.
Ilustrasi sederhana:
Tanpa Array
Nama1 = Andi
Nama2 = Budi
Nama3 = Citra
Nama4 = Dinda
Nama5 = Eka
Menggunakan Array
Nama[]
├── Andi
├── Budi
├── Citra
├── Dinda
└── Eka
Lebih ringkas dan lebih mudah dikelola.
Mengapa Harus Menggunakan Array?
Bayangkan Anda membuat aplikasi sekolah.
Data siswa:
- Andi
- Budi
- Citra
- Dinda
- Eka
Tanpa array, kode menjadi panjang.
Dengan array:
$siswa = [
"Andi",
"Budi",
"Citra",
"Dinda",
"Eka"
];
Hanya satu variabel.
Jenis Array dalam PHP
PHP memiliki tiga jenis array utama.
1. Indexed Array
Array yang menggunakan nomor indeks.
Contoh:
0
1
2
3
2. Associative Array
Array yang menggunakan nama sebagai indeks.
Contoh:
nama
alamat
umur
3. Multidimensional Array
Array di dalam array.
Contoh:
Kelas XII
↓
Andi
Budi
Citra
Membuat Array
Cara pertama
<?php
$buah = array(
"Apel",
"Jeruk",
"Mangga"
);
?>
Cara kedua (lebih modern)
<?php
$buah = [
"Apel",
"Jeruk",
"Mangga"
];
?>
Cara kedua lebih sering digunakan pada PHP modern.
Mengenal Index Array
Perhatikan contoh berikut.
$buah = [
"Apel",
"Jeruk",
"Mangga"
];
PHP akan memberi nomor otomatis.
0 → Apel
1 → Jeruk
2 → Mangga
Mengakses Isi Array
<?php
$buah = [
"Apel",
"Jeruk",
"Mangga"
];
echo $buah[0];
?>
Output
Apel
Contoh lain
echo $buah[2];
Output
Mangga
Menampilkan Semua Isi Array
<?php
$buah = [
"Apel",
"Jeruk",
"Mangga",
"Semangka",
"Melon"
];
echo $buah[0];
echo "<br>";
echo $buah[1];
echo "<br>";
echo $buah[2];
echo "<br>";
echo $buah[3];
echo "<br>";
echo $buah[4];
?>
Namun cara ini kurang efisien.
Lebih baik menggunakan perulangan.
Menggunakan foreach
<?php
$buah = [
"Apel",
"Jeruk",
"Mangga",
"Melon",
"Pepaya"
];
foreach($buah as $item)
{
echo $item;
echo "<br>";
}
?>
Output
Apel
Jeruk
Mangga
Melon
Pepaya
Menampilkan Nomor Indeks
foreach($buah as $index => $item)
{
echo $index;
echo " = ";
echo $item;
echo "<br>";
}
Output
0 = Apel
1 = Jeruk
2 = Mangga
3 = Melon
4 = Pepaya
Mengubah Isi Array
$buah[1] = "Durian";
Sekarang isi array menjadi
Apel
Durian
Mangga
Menambahkan Data
$buah[] = "Rambutan";
Output
Apel
Jeruk
Mangga
Rambutan
PHP otomatis menambahkan indeks berikutnya.
Menghitung Jumlah Data
PHP menyediakan fungsi:
count()
Contoh
<?php
$buah = [
"Apel",
"Jeruk",
"Mangga",
"Melon"
];
echo count($buah);
?>
Output
4
Studi Kasus 1
Daftar Nama Siswa
<?php
$siswa = [
"Andi",
"Budi",
"Citra",
"Dinda",
"Eka"
];
foreach($siswa as $nama)
{
echo $nama;
echo "<br>";
}
?>
Output
Andi
Budi
Citra
Dinda
Eka
Studi Kasus 2
Daftar Nilai
<?php
$nilai = [
80,
90,
75,
88,
95
];
foreach($nilai as $n)
{
echo "Nilai : ".$n;
echo "<br>";
}
?>
Associative Array
Associative Array menggunakan nama indeks.
Contoh
<?php
$siswa = [
"nama"=>"Andi",
"kelas"=>"XI RPL",
"umur"=>17
];
echo $siswa["nama"];
?>
Output
Andi
Menampilkan Seluruh Data
<?php
$siswa = [
"nama"=>"Andi",
"kelas"=>"XI RPL",
"umur"=>17,
"alamat"=>"Bandung"
];
foreach($siswa as $key=>$value)
{
echo $key;
echo " : ";
echo $value;
echo "<br>";
}
?>
Output
nama : Andi
kelas : XI RPL
umur : 17
alamat : Bandung
Array Multidimensi
Misalnya data beberapa siswa.
<?php
$siswa = [
["Andi",17,"XI RPL"],
["Budi",18,"XI RPL"],
["Citra",17,"XI RPL"]
];
?>
Bentuknya
Andi 17 XI
Budi 18 XI
Citra 17 XI
Mengakses Multidimensi
echo $siswa[0][0];
Output
Andi
echo $siswa[2][2];
Output
XI RPL
Menampilkan dalam Tabel HTML
<?php
$siswa = [
["Andi",90],
["Budi",80],
["Citra",95]
];
echo "<table border='1'>";
echo "<tr>";
echo "<th>Nama</th>";
echo "<th>Nilai</th>";
echo "</tr>";
foreach($siswa as $row){
echo "<tr>";
echo "<td>".$row[0]."</td>";
echo "<td>".$row[1]."</td>";
echo "</tr>";
}
echo "</table>";
?>
Output
| Nama | Nilai |
|---|---|
| Andi | 90 |
| Budi | 80 |
| Citra | 95 |
Fungsi Array yang Sering Digunakan
sort()
Mengurutkan data secara ascending.
$angka = [8,4,1,9,2];
sort($angka);
foreach($angka as $a){
echo $a."<br>";
}
rsort()
Mengurutkan secara descending.
array_push()
Menambah data.
array_push($buah,"Semangka");
array_pop()
Menghapus data terakhir.
array_merge()
Menggabungkan dua array.
$a = ["A","B"];
$b = ["C","D"];
$hasil = array_merge($a,$b);
Output
A
B
C
D
Best Practice Programmer
✔ Gunakan nama variabel yang jelas.
$siswa
lebih baik daripada
$x
✔ Gunakan foreach untuk menampilkan isi array.
✔ Gunakan associative array jika data memiliki atribut.
✔ Gunakan multidimensi untuk data yang berbentuk tabel.
Kesalahan yang Sering Dilakukan Pemula
Salah indeks
echo $buah[5];
Padahal hanya ada tiga data.
Akibatnya muncul error:
Undefined array key
Tidak menggunakan count()
Banyak pemula menulis:
for($i=0;$i<100;$i++)
Padahal jumlah data hanya 10.
Sebaiknya:
for($i=0;$i<count($buah);$i++)
Latihan Praktik
Latihan 1
Buat array berisi 10 nama teman sekelas, kemudian tampilkan menggunakan foreach.
Latihan 2
Buat array yang berisi 10 nilai siswa, lalu hitung jumlah seluruh data menggunakan count() dan tampilkan seluruh nilainya.
Latihan 3
Buat associative array yang menyimpan data diri:
- Nama
- NIS
- Kelas
- Jurusan
- Alamat
- Nomor HP
Tampilkan seluruh data menggunakan foreach.
Latihan 4
Buat multidimensional array berisi data lima siswa yang terdiri atas:
- Nama
- Kelas
- Nilai
Kemudian tampilkan dalam bentuk tabel HTML.
Tugas Praktik Bab 7
Studi Kasus: Sistem Data Nilai Siswa
Buat sebuah program PHP yang menampilkan daftar nilai siswa dengan ketentuan:
Data yang disimpan untuk setiap siswa:
- Nama
- Kelas
- Nilai Tugas
- Nilai UTS
- Nilai UAS
Program harus:
- Menggunakan multidimensional array.
- Menghitung nilai rata-rata setiap siswa.
- Menentukan status Lulus jika rata-rata ≥ 75, selain itu Remedial.
- Menampilkan hasil dalam tabel HTML dengan kolom:
| No | Nama | Kelas | Tugas | UTS | UAS | Rata-rata | Status |
|---|
Tantangan (Opsional):
- Tambahkan kolom Grade (A–E) berdasarkan nilai rata-rata.
- Urutkan data siswa berdasarkan nilai rata-rata tertinggi.
