Tutorial Array Pada PHP

Array Functions

Materi ini memiliki 1 buah lampiran. Namun Anda tidak dapat mengakses lampiran karena belum terdaftar di kursus ini. Klik disini untuk mendaftar.

Kita telah belajar mengenai cara menggunakan array, untuk menyimpan banyak nilai dalam satu variable. Namun tujuan utama dari menggunakan array adalah untuk membantu kita agar lebih mudah dalam mengelola banyak data. PHP telah menyediakan banyak built-in function yang berkaitan dengan array. Dalam video ini akan kita bahas lebih jauh.

Yang pertama adalah function yang membantu kita untuk mengisi array. Yang pertama adalah range, dimana kita bisa membuat array yang isinya berada diantara 2 nilai. Yang kedua adalah array_fill, yang membantu kita untuk membuat array dan mengisinya dengan nilai tertentu. Dan yang ketiga adalah array_pad, untuk menambahkan element pada array apabila jumlah datanya masih dibawah length.

Kita coba praktek ya. Kita mulai dari function range. Gunanya adalah untuk membuat array yang berisi nilai dari sekian ke sekian. Misalkan kita buat variable $numbers yang kita isi dengan range(11, 15). Kemudian kita var_dump nilai $numbers. Kita mendapatkan array yang isinya nilai 11 hingga 15. Perhatikan ya. Jadi nilainya dimulai dari 11, kemudian ditambahkan satu per satu hingga mencapai 15. Index dimulai dari angka 0.

Ini adalah range dengan nilai yang bersifat bertambah. Kita juga bisa membuat array yang nilainya berkurang. Argumentnya tinggal kita balik mejadi 15, 11. Fungsi range akan menghasikan array yang nilainya dimulai dari 15. Kemudian berkurang hingga akhirnya nilai 11.

Function range juga bisa kita gunakan untuk string. Sebagai contoh, kita buat lagi variable $alphabets yang kita isi dengan range(‘a’, ‘d’). Maka kita mendapatkan hasil array yang isinya dari huruf ‘a’ hingga ‘d’. Namun mesti diperhatikan bahwa range hanya bisa memproses huruf pertama pada string. Jadi kalau misalkan argumentnya kita ganti menjadi ‘apple’ hingga ‘durian’, maka hasilnya tetap sama yaitu dari huruf ‘a’ hingga ‘d’.

Kita coba function kedua, yaitu array_fill. Disini kita membuat array baru yang isinya sama semua. Misalkan kita buat variable $array. Kita isi dengan array_fill. Argument pertama adalah nomor index awalnya, biasanya dimulai dari 0 ya. Kemudian argument kedua adalah jumlah nilai di dalam array, misalkan ada 5. Dan argument ketiga adalah nilai yang diisikan ke array, misalkan kita tulis huruf ‘abc’. Maka kita mendapatkan sebuah array, dengan index dimulai dari 0 hingga 4, yang isinya huruf ‘abc’.

Mungkin ada kasus tertentu dimana kita memerlukan array yang index-nya dimulai dari nilai tertentu. Misalkan kita ingin index-nya dimulai dari 11. Kita tinggal ganti argument pertama dari 0 menjadi 11. Maka kita mendapatkan array yang index-nya dimulai dari 11. Berisikan 5 buah data, sehingga nomor index terakhirnya menjadi 15.

Kita lanjutkan ke function berikutnya. Array_pad menambahkan isi array dengan nilai tertentu, apabila jumlah element-nya masih berada dibawah argument kedua. Sebagai contoh, kita buat variable $origin dengan isi array [‘a’, ‘b’, ‘c’]. Kemudian kita var_dump hasil dari array_pad($origin, 5, 0). Artinya kalau jumlah element dalam array origin lebih kecil dari 5, maka function array_pad menambahkan nilai 0 hingga jumlah element-nya mencapai 5.

Kita jalankan. Dan kita mendapatkan hasil array yang isinya ‘a’, ‘b’, ‘c’, 0, 0. Jadi array yang tadinya berisi 3 element, ditambahkan dengan nilai 0 hingga jumlah elementnya menjadi 5.

Kalau misalkan nilai argument kedua kita ubah menjadi 3. Maka hasilnya hanya ‘a’, ‘b’, ‘c’ ya. Karena jumlah elementnya sudah mencukupi 3 buah. Kalau kita ubah menjadi 2 juga tetap sama.

Nah, kalau argument kita isi dengan 5, maka pada bagian akhir array ditambahkan nilai 0. Nilai 0 ini bisa kita balik menjadi berada di bagian awal array. Caranya adalah kita ubah nilai argument kedua menjadi -5. Perhatikan sekarang hasilnya, nilai 0 berada di depan. Sedangkan ‘a’, ‘b’, ‘c’ berada di bagian akhir array.

Yang perlu diperhatikan lagi adalah array_pad menghasilkan array baru. Array_pad tidak mengubah array asalnya. Jadi kalau kita coba var_dump nilai $origin setelah memanggil array_pad, maka kita hasilnya tetap sama dengan nilai awal $origin.

Kita lanjutkan materi ke array functions yang bisa membantu kita untuk mengubah urutan nilai di dalam array. Yang pertama adalah array_reverse untuk membalikkan urutan nilai di dalam array. Yang tadinya berada di paling depan akan dibalik menjadi berada di paling belakang. Yang kedua adalah shuffle yang berfungsi untuk mengacak urutan nilai di dalam array. Function ketiga dan keempat berfungsi untuk mengurutkan nilai di dalam array. Function sort mengurutan dari nilai kecil ke besar, sedangkan function rsort mengurutkan nilai dari besar ke kecil.

Kita coba praktek. Misalkan kita buat array $origin dengan nilai 1, 2, 3, 4, 5. Kemudian kita var_dump hasil dari function array_reverse($origin). Maka kita mendapatkan array baru yang urutan nilainya dibalik menjadi 5, 4, 3, 2, 1. Array awal tidak mengalami perubahan.

Kita coba function kedua, yaitu shuffle. Kalau kita coba var_dump, function shuffle mengembalikan nilai true. Function ini merubah langsung array awalnya. Jadi kalau kita var_dump($origin), setiap kali kita jalankan maka kita mendapatkan array dengan urutan nilai acak.

Untuk mencoba function ketiga dan keempat, kita buat array $origin dengan nilai yang urutannya acak ya. Misalnya 3,5,2,1,4. Kemudian kita var_dump(sort($origin)). Ternyata function sort hanya mengembalikan nilai true. Jadi kita harus var_dump lagi nilai $origin setelah sort. Dan kita mendapatkan nilai pada array $origin telah diubah urutannya mulai dari kecil ke besar. Perhatikan bahwa nilai indexnya telah disusun ulang dari 0 hingga 4.

Cara kerja function rsort tetap sama dengan function sort. Hanya urutan hasilnya saja yang berubah. Kalau rsort memberikan hasil yang berurutan dari nilai besar ke kecil.

Selanjutnya kita akan mempelajari mengenai beberapa function yang bisa membantu kita untuk mengubah isi array. Yang pertama adalah array_unique, yang berfungsi untuk menghapus nilai ganda di dalam array. Yang kedua adalah array_slice, yang berfungsi untuk mengembalikan sebagian isi array. Dan yang ketiga adalah array_splice yang berfungsi untuk menghapus sebagaian isi array, dan mengubahnya menjadi nilai lain.

Kita coba praktek. Misalkan kita punya array $origin dengan nilai [‘a’, ‘a’, ‘b’, ‘c’, ‘c’]. Lalu kita var_dump hasil dari array_unique($origin). Maka kita mendapatkan hasil array yang isinya hanya nilai unik, yaitu ‘a’, ‘b’, ‘c’. Nilai yang berganda secara otomatis dihapus dari array. Index pada array juga sudah disusun ulang. Perhatikan juga bahwa array_unique mengembalikan array baru, tidak mengubah array asalnya.

Kita lanjut ke function berikutnya. Nilai awal variable $origin kita ganti dahulu ya, menjadi ‘a’, ‘b’, ‘c’, ‘d’, ‘e’. Selanjutnya kita var_dump dari array_slice. Argument pertama adalah variable array-nya yaitu $origin. Sedangkan argument kedua adalah nomor index yang hendak kita potong, misalkan nomor index 3. Argument ketiga bersifat opsional, kalau tidak diisi maka kita memotong index hingga ke paling belakang.

Kita coba jalankan. Maka kita mendapatkan hasil ‘d’ dan ‘e’. Huruf ‘d’ adalah index nomor 3. Jadi kita memotong array dimulai dari index nomor 3 hingga ke bagian akhir array. Function array_slice mengembalikan array baru yang nomor index-nya sudah disusun ulang. Sedangkan array asalnya tidak mengalami perubahan.

Argument kedua bisa kita isi dengan nilai negatif. Misalkan kita ganti menjadi index -3. Artinya kita mulai memotong array dimulai dari tiga elemen di paling belakang. Maka kita mendapatkan hasil ‘c’, ‘d’ dan ‘e’.

Argument ketiga bisa kita isi dengan jumlah element yang hendak kita potong. Kalau misalkan kita hendak mengambil 2 element dimulai dari index 1, maka kita bisa menuliskannya dengan array_slice($origin, 1, 2). Dan kita mendapatkan hasil ‘b’ dan ‘c’.

Argument ketiga juga bisa kita isi dengan nilai negatif. Misalnya -1. Artinya pemotongan array berhenti sebelum satu element dari akhir array. Kalau kita jalankan, maka kita mendapatkan jawaban ‘b’, ‘c’ dan ‘d’. Element terakhir ‘e’ tidak termasuk ke dalam slice.

Function terakhir yang hendak kita coba adalah array_splice. Cara penggunaannya mirip dengan array_slice. Namun array_splice mengubah array asalnya, dan mengembalikan array yang dibuang sebagai hasilnya. Misalkan kita panggil array_splice dengan argument $origin, 2, 2. Sebagai hasilnya kita mendapatkan array dari nomor index 2 sebanyak 2 element, yaitu ‘c’ dan ‘d’. Namun kalau setelah itu kita var_dump nilai dari $origin, maka hasilnya hanya ‘a’, ‘b’, dan ‘e’. Element ‘c’ dan ‘d’ telah dibuang dari array $origin, sedangkan nomor indexnya telah disusun ulang.

Array_splice memiliki parameter keempat, dimana kita bisa memasukkan array baru sebagai pengganti array yang kita hapus tadi. Dan jumlah element pada array baru tidak harus sama dengan jumlah element yang dihapus. Sebagai contoh, kita tambahkan argument keempat ‘f’, ‘g’, ‘h’. Kalau kita jalankan, maka sekarang isi dari array $origin adalah ‘a’, ‘b’, ‘f’, ‘g’, ‘h’, ‘e’. Jadi function array_splice ini bisa kita gunakan untuk menghapus nilai di dalam array, namun bisa juga digunakan untuk menambahkan atau mengubah nilai di dalam array.

Oke, sampai disini dulu video kita kali ini. Kita sudah mempelajari banyak built-in function yang bisa membantu kita untuk bekerja menggunakan array. Ada sebagai function yang memberikan hasil array baru dan tidak mengubah array awal. Ada juga sebagian function yang langsung mengubah array awal. Kalau nantinya teman-teman lupa mengenai cara kerja functionnya, teman-teman bisa melihat lagi referensi pada situs PHP.net. Sampai bertemu lagi di video berikutnya.

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.