Tutorial Array Pada PHP

Pengantar Array

Array adalah struktur data yang bisa kita gunakan untuk menyimpan banyak nilai dalam satu variable. Array pada PHP sangat fleksible dan powerfull, sehingga kedepannya akan menjadi struktur data yang paling banyak kita gunakan untuk mengelola data. Oleh karena itu saya akan membuatkan satu playlist yang secara khusus membahas mengenai Array, dimulai dari apakah itu array, cara menggunakannya, hingga ke contoh kasus yang bisa dengan lebih mudah kita selesaikan dengan menggunakan array.

Kita masuk ke contoh. Misalkan kita perlu menyimpan 4 buah nama. Kalau kita belum mengenal array, maka kita menggunakan tipe data string. Setiap variable hanya bisa menyimpan satu buah nama sebagai string. Oleh karena itu kita harus membuat 4 buah variable, misalkan kita beri nama variable $name1 hingga $name4.

Cara menulis kode seperti ini menyebabkan script dan variable kita menjadi tidak dinamis. Artinya kalau kita menuliskan kode untuk 4 buah nama, maka program kita hanya bisa berjalan dengan benar kalau jumlah namanya benar-benar 4. Tidak bisa lebih, tidak bisa kurang. Program kita tidak berjalan mulus kalau digunakan untuk 3 atau 5 buah nama. Padahal di kasus yang sebenarnya, seringkali kita tidak tau berapa jumlah nama yang harus kita olah.

Kode ini bisa kita tulis secara lebih bagus dengan menggunakan array. Ada 2 cara untuk membuat array. Yang pertama adalah dengan menggunakan kata kunci array, diikuti dengan tanda kurung, di dalamnya kita tuliskan nilai-nilai yang hendak kita simpan ke dalam array. Cara kedua adalah dengan menggunakan tanda kurung siku, yang kita isi dengan nilai-nilai yang hendak disimpan ke dalam array.

Kalau kita menggunakan nama variable dalam bahasa Inggris, maka biasanya kita menggunakan kata benda jamak untuk menyimpan array. Jadi disini kita menggunakan $names, ditambahkan s dibagian belakangnya sebagai tanda bahwa variable ini menampung banyak nilai. Hal ini biasanya tidak berlaku kalau kita menggunakan bahasa Indonesia, karena bentuk jamak dari nama adalah nama-nama dianggap terlalu panjang dan cenderung membingungkan. Ini adalah salah satu alasan mengapa saya menggunakan bahasa Inggris untuk nama variable dan function di dalam source code saya.

Ada beberapa hal yang perlu kita ketahui mengenai array khusus untuk bahasa pemograman PHP. Yang pertama adalah array bisa digunakan untuk menampung nilai yang menggunakan tipe data yang berbeda-beda. Pada contoh disini kebetulan tipe datanya adalah string semua. Namun kita bisa menggunakan array untuk menampung misalkan sebagian string, sebagai integer, atau bahkan sebagiannya adalah array juga. Kalau di bahasa pemograman lain seperti C++ dan Java, kita hanya boleh memilih satu tipe data untuk sebuah array. Kalau misalkan kita membuat array string, maka semua nilainya harus berupa string, tidak boleh dicampur misalkan dengan integer atau tipe data lainnya.

Yang kedua, ukuran array pada PHP bersifat dinamis, jadi bisa kita tambah dan kurangi sesuai kebutuhan. Ini juga berbeda dengan bahasa pemograman lain seperti C++ dan Java, dimana pada saat kita membuat array, kita harus mendefinisikan jumlah data yang bisa ditampung di dalam array tersebut. Kalau misalkan kita mendefinisikan array yang isinya 4 buah string, maka kita hanya bisa menambahkan 4 buah data ke dalamnya. Pada saat kita menambahkan data kelima, maka terjadi error.

Ini adalah cara PHP menyimpan data pada array. Setiap nilai diberikan index yang berupa angka. Index dimulai dari angka nol. Index terakhir adalah jumlah data dikurangi 1. Jadi kalau kita menyimpan 4 buah nama, maka nilai index terakhirnya adalah 3, bukan 4.

Untuk mengakses nilai di dalam array, maka kita sebutkan nama variable $names diikuti oleh kurung siku dan index-nya. Misalkan kita sebut $names[1], maka kita mendapatkan nilai “Budi”. Kalau $names[1] kita berikan operator assignment sama dengan diikuti dengan nilai baru, maka nilai “Budi” diganti menjadi nilai baru.

Untuk menambahkan nilai baru pada bagian belakang array, kita tidak perlu mengisikan index di dalam tanda kurung siku. Jadi kita tinggal mengakses variable $names[] dengan tanda kurung siku kosong, dan bisa langsung kita assign dengan nilai baru. Operasi terakhir yang harus kita ketahui adalah count, yang berfungsi untuk menghitung jumlah data di dalam array.

Kita langsung coba praktek. Ada 2 cara yang bisa kita gunakan untuk membuat array. Kita coba cara pertama dahulu. Kita tuliskan nama variable $names diikuti oleh tanda sama dengan. Kemudian kata kunci array dan tanda kurung. Kita tambahkan nilai-nilai yang hendak kita simpan, dipisahkan dengan tanda koma.

Sekarang kita sudah memiliki satu buah array dan kita ingin menampilkannya ke layar. Namun perlu diingat bahwa untuk menampilkan array, kita tidak bisa menggunakan perintah echo. Echo menghasilkan warning, dan hanya menulis kata ‘Array’. Untuk menampilkan array, kita bisa menggunakan 2 perintah, yaitu var_dump dan print_r. Kita coba dahulu var_dump. Hasilnya seperti ini. Kemudian print_r. Hasilnya seperti ini.

Kalau di print_r kita hanya melihat isi array-nya saja ya. Sedangkan kalau menggunakan var_dump, kita bisa melihat hingga tipe data yang digunakan. Terserah teman-teman lebih suka menggunakan cara yang mana ya. Kalau saya pribadi lebih suka menggunakan var_dump karena hasilnya lebih lengkap.

Kita coba cara kedua untuk membuat array ya. Kita copy paste. Lalu komentari kode lama. Cara keduanya kita tinggal mengganti kata array dan tanda kurung menjadi tanda kurung siku. Hasilnya tetap sama. Sekali lagi, ada 2 cara untuk membuat array dan teman-teman bebas mau menggunakan cara yang mana. Kalau saya pribadi lebih suka menggunakan tanda kurung siku.

Perhatikan lagi hasil yang ditampilkan oleh var_dump. Keempat nilai tersebut disimpan di dalam array dengan menggunakan index. Index berada di dalam kurung siku. PHP secara otomatis membuatkan index untuk setiap nilai, dengan menggunakan bilangan bulat berurutan dimulai dari 0. Perhatikan bahwa index mengandung 4 buah data, namun nomor terakhir index-nya adalah 3.

Untuk mengakses data di dalam array, kita bisa menggunakan index-nya. Misalkan kalau kita hendak mengakses nilai ‘Budi’, nomor index-nya adalah 1. Jadi kita bisa tambahkan index [1] setelah variable $names. Sebagai hasilnya var_dump menampilkan nilai ‘Budi’. Berhubung ‘Budi’ ini adalah sebuah string, maka kita bisa menampilkan nilainya dengan menggunakan perintah echo.

Kalau kode $names[1] kita tambahkan dengan tanda sama dengan, berarti kita hendak mengganti nilai ‘Budi’ dengan nilai yang baru. Misalkan kita ganti dengan nilai baru ‘Skysen’. Kita jalankan. Perhatikan sekarang nilai pada index 1 sudah berubah, sudah tidak lagi mengandung ‘Budi’, melainkan ‘Skysen’.

Bagaimana kalau kita ingin menambahkan ‘Skysen’ di bagian akhir? Ada beberapa cara ya. Kalau misalkan kita sudah tau nomor index terakhir adalah 3, maka nomor index selanjutnya adalah 4. Kita tinggal tulis saja menjadi $names[4]. Maka PHP menambahkan ‘Skysen’ ke bagian terakhir array.

Apabila kita tidak tau berapa index terakhir, maka kita bisa menggunakan fungsi count untuk menghitung jumlah data pada array. Fungsi count akan mengembalikan angka 4, dan angka 4 ini akan digunakan sebagai index data baru. Kode kita menjadi $names[count($names)]. Kita jalankan dan hasilnya sama.

Kode seperti ini lebih dinamis karena bisa digunakan pada array dengan jumlah data berapa pun. Kalau misalkan kita copy paste, dan kita tambahkan Skysen 2. Maka data ‘Skysen 2’ ditambahkan dengan nomor index 5.

Namun ternyata masih ada cara yang lebih sederhana. Daripada kita mesti menuliskan kode untuk mencari nomor index berikutnya, lebih baik kita kosongkan saja tanda kurung sikunya. PHP akan secara otomatis menambahkan nilai ke bagian paling akhir array. Kalau kita jalankan, hasilnya tetap sama ya.

Nah, sekarang perhatikan tampilan nilai array. Baik var_dump dan print_r menampilkan data dalam format yang biasa dilihat oleh programmer. Kalau kita hendak menampilkan data array untuk dilihat oleh user, kita tidak bisa menggunakan kedua fungsi ini. Biasanya kita akan membuat perulangan untuk menampilkan isi array satu per satu.

Untuk perulangannya, biasanya kita menggunakan for, dengan nilai i yang merupakan index. Index dimulai dari 0, dan diakhiri oleh jumlah data dikurangi 1. Kode for kita menjadi

for($i = 0; $i < count($names); $i++)

Di dalam perulangan, pertama kita buat dahulu variable $name untuk menampung nama yang sedang ditunjuk oleh $i. Kemudian bisa kita tampilkan dengan menggunakan perintah echo, dan dibagian akhirnya kita tambahkan PHP_EOL. Kalau kita jalankan, maka kita menampilkan satu nama di setiap baris.

Khusus untuk array, ada sintaks yang lebih ringkas. Kita gunakan kata kunci foreach, dalam kurung, pertama kita sebutkan dahulu nama variable array yaitu $names, diikuti oleh kata kunci as, dan kita sebutkan nama variable yang menampung isi array, misalkan $name. Kalau menggunakan bahasa Inggris, biasanya array menggunakan kata benda jamak $names, sedangkan isi array menggunakan kata benda tunggal $name. Di dalamnya kita tinggal langsung echo $name . PHP_EOL;

Kalau dijalankan, kedua perulangan hasilnya sama. Perhatikan bahwa sintaks foreach jauh lebih ringkas, karena kita tidak perlu mengurus variable $i.

Sintaks foreach ini juga memiliki alternatif. Kita copy paste dahulu kodenya ya. Untuk menggunakan sintaks alternatif, tanda pembuka kurung kurawal kita ganti menjadi tanda titik dua. Sedangkan tanda kurung kurawal penutup kita ganti menjadi kata kunci endforeach. Kalau kita jalankan, maka hasilnya sama saja ya. Ini hanya cara alternatif untuk menuliskan foreach. Lebih bagus menggunakan cara yang mana? Sebenarnya ini tergantung dari preferensi teman-teman saja ya.

2 Jam 41 Menit

Dengan menggunakan fasilitas tanya jawab, maka Anda bisa bertanya dan akan dijawab langsung oleh instruktur kursus.

Anda belum terdaftar pada kursus ini sehingga tidak bisa mengajukan pertanyaan.