Pemrograman Web Lanjut 2017 Praktikum 5 5.1. Array Array adalah sekumpulan variabel yang memiliki tipe data yang sama dan dinyatakan dengan nama yang sama. Array berfungsi sama seperti variabel, hanya saja nilai yang ditampung bisa dalam jumlah yang banyak. Array tersusun dari elemen-elemen. Setiap elemen memiliki kunci (key) dan nilai (value). Key adalah „posisi’ dari array, dan value adalah „isi’ dari array. Variabel array dideklarasikan dengan mencantumkan tipe dan nama variabel yang diikuti dengan banyaknya lokasi memori yang ingin dibuat. Dalam PHP, terdapat dua jenis array yaitu: 1. Array berindeks Array berindeks adalah array yang diindeks menggunakan angka/nomor maupun karakter yang sifatnya berurutan. Contoh: $x[0] 60 $x[1] 70 $x[2] 80 $x[3] 90 $x[4] 100 Contoh di atas merupakan visualisasi array $x yang memiliki lima buah elemen arrayyaitu $x[0], $x[1], $x[2], $x[3], $x[4]yang digunakan untuk melakukan pengaksesan setiap elemennya. Sedangkan nilai masing-masing elemen adalah 60, 70, 80, 90, 100. Angka 0-4 adalah indeksdari array $x. 2. Array asosiatif Array asosiatif adalah array yang diindeks berdasarkan nama tertentu. Sebenarnya perbedaan antara array berindeks dan array asosiatif hanya terletak pada penamaan indeksnya saja. Contoh: $x[“nol”] $x[“satu”] $x[“dua”] $x[“tiga”] $x[“empat”] 60 70 80 90 100 Contoh di atas menunjukkan bahwa $x diindeks berdasarkan nama bukan berdasarkan nomor. Nama indeks yang digunakan adalah tipe string. Indeks array selalu dimulai dari angka 0 dan bukan 1. Ukuran dari array di atas dihitung berdasarkan jumlah elemen yang ada. Ukuran array dapat diambil dengan menggunakan fungsi sizeof(). Contoh: $ukuran = sizeof($x); Ld.Farida | Sistem Informasi - Universitas AMIKOM Yogyakarta Pemrograman Web Lanjut 2017 3.1.1 Membuat dan Mengakses Elemen Array Membuat dan Mengakses Array Berindeks latihan1.php <html> <head> <title>Membuat dan Mengakses Elemen Array Berindeks</title> </head> <body> <?php //cara pertama mendeklarasikan Array $negara[0]="Indonesia"; $negara[1]="Malaysia"; $negara[2]="Singapura"; $negara[3]="Thailand"; //cara kedua mendeklarasikan Array $ibukota = array ("Jakarta", "Kuala Lumpur", "Singapura", "Bangkok"); //Mengakses elemen Array echo "<h4>Beberapa negara di Asia Tenggara</h4>"; echo "Nama Negara Pertama ".$negara[0]."<br>"; echo "Ibukota Kedua ".$ibukota[1]."<br>"; echo $negara[2]." beribukota di $ibukota[2]<br>"; echo $negara[3]." beribukota di $ibukota[3]<br>"; ?> </body> </html> Membuat dan Mengakses Array Asosiatif latihan2.php <html> <head> <title>Membuat dan Mengakses Elemen Array Asosiatif</title> </head> <body> <?php $pengurus = array('Ketua' => "Akbar", 'Sekretaris' => "Budi", 'Bendahara' => "Candra"); echo echo echo echo "<h4>Susunan Pengurus UKM 'XX'</h4>"; "<b>Ketua: </b>".$pengurus["Ketua"]."<br>"; "<b>Sekretaris: </b>".$pengurus["Sekretaris"]."<br>"; "<b>Bendahara: </b>".$pengurus["Bendahara"]."<br>"; ?> </body> </html> Ld.Farida | Sistem Informasi - Universitas AMIKOM Yogyakarta Pemrograman Web Lanjut 2017 3.1.2 Pengulangan untuk Mengakses Elemen Array Pengaksesan pada array pada umumnya menggunakan perintah pengulangan. Proses pengulangan dapat menggunakan perintah apa saja (perintah while, while-do, maupun for). Akan tetapi, untuk jenis array asosiatif biasanya menggunakan jenis pengulangan foreach. Contoh penulisan pengulangan array berindeks dengan foreach adalah: foreach($nama_array as $value){ pernyataan; } a. $nama_array adalah nama dari array yang telah didefenisikan sebelumnya. b. $value adalah nama „variabel perantara’ yang berisi data array pada pengulangan tersebut. Pemberian nama variabel perantara ini bebas, walaupun pada umumnya banyak programmer menggunakan $value. Perbedaan dengan format sebelumnya, untuk pengulangan array asosiatif PHP menyediakan variabel perantara kedua, yaitu variabel $key. Variabel $key ini menampung nilai key dari array. Contoh penulisan pengulangan array asosiatif adalah: foreach($nama_array as $key => $value){ pernyataan($key ... $value...); } Menggunakan Pengulangan untuk Mengakses Array latihan3.php <html> <head> <title>Pengulangan untuk Mengakses Elemen Array</title> </head> <body> <?php $negara = array ("Indonesia", "Malaysia", "Singapura", "Thailand"); //cara 1 echo "<h4>Beberapa Nama Negara di Asia Tenggara</h4>"; for ($i=0; $i < sizeof($negara) ; $i++) { echo "$negara[$i]<br>"; } echo "<br><br>"; //cara 2 echo "<h4>Susunan Pengurus UKM 'XX'</h4>"; $pengurus = array('Ketua' => "Akbar", 'Sekretaris' => "Budi", 'Bendahara' => "Candra"); Next code... Ld.Farida | Sistem Informasi - Universitas AMIKOM Yogyakarta Pemrograman Web Lanjut 2017 foreach ($pengurus as $jabatan => $nama) { echo "$jabatan dijabat oleh $nama<br>"; } ?> </body> </html> Pada contoh diatas, variabel array pada cara 1 didefinisikan sebagai $negara dengan format singkat, dan tanpa mendefenisikan key secara tertulis. Variabel $negara merupakan variabel perantara dalam contoh di atas. Pengulangan dengan perintah for tersebut akan diulang sebanyak data yang terdapat di dalam array(menggunakan sizeof()), sehingga kita tidak perlu harus menghitung seberapa banyak pengulangan yang harus dilakukan. Sementara pada cara 2 variabel array $pengurus didefenisikan menggunakan key yang berbeda-beda. Pada pengulangan foreach, dibuat sebuah variabel perantara $pengurus =>$jabatan, sehingga didalam pengulangan, variabel $pengurus akan berisi key dari array, dan variabel $jabatan akan berisi nilai dari array. latihan4.php <html> <head> <title>Latihan Array dengan Pengulangan dan Tabel</title> </head> <body> <table border="1" cellspacing="0" cellpadding="0"> <tr> <th width="75">Jml</th> <th width="150">Nama Barang</th> <th width="100">Harga</th> </tr> <?php $jumlah= array("3","2","5","1"); $barang= array("Mouse","Kabel data","Flashdisk","Hardisk"); $harga= array("100000","150000","75000","1000000"); $jmlharga =0; for ($i=0; $i <sizeof($jumlah) ; $i++) { echo " <tr> <td align='center'>$jumlah[$i]</td> <td>$barang[$i]</td> <td align='right'>$harga[$i]</td> </tr> "; $jmlharga = $jmlharga+$harga[$i]; } ?> <tr> Next code... Ld.Farida | Sistem Informasi - Universitas AMIKOM Yogyakarta Pemrograman Web Lanjut 2017 <td colspan="3" align="right"><b>Jumlah: <?php echo $jmlharga;?></b></td> </tr> </table> </body> </html> 3.1.3 Fungsi Array di dalam PHP PHP menyediakan lebih dari 70 fungsi untuk manipulasi array. Fungsi-fungsi array dalam PHP bisa dilihat di alamat http://php.net. 1. Fungsi Pengurutan Array a. arsort()- Pengurutan array berdasarkan value secara descending b. asort()- Pengurutan array berdasarkan value secara ascending c. krsort()- Pengurutan array berdasarkan index/key secara descending d. ksort()- Pengurutan array berdasarkan index/key secara ascending e. rsort()- Pengurutan array berdasarkan value secara descending dengan mengubah index/key f. sort() - Pengurutan array berdasarkan value secara ascending dengan mengubah index/key g. shuffle()- Random pengurutan array 2. Fungsi Pengaturan Pointer Array a. current()– Mendapatkan elemen array yang ditunjuk oleh pointer b. end()– Pointer menunjuk pada elemen array terakhir c. key()– Mendapatkan key yang ditunjuk oleh pointer d. next()– Pointer menunjuk pada elemen selanjutnya e. prev()– Pointer menunjuk pada elemen sebelumnya f. reset()– Memindahkan pointer array ke awal (elemen pertama) g. count()– Menghitung jumlah elemen array 3. Fungsi Pencarian pada Array a. array_search()– Mencari posisi (key) dari suatu value dalam array b. array_key_exists()– Memeriksa suatu key ada dalam array atau tidak c. in_array()– Memeriksa suatu elemen ada dalam array atau tidak latihan5.php <html> <head> <title>Fungsi Array</title> </head> <body> <?php $negara = array('Indonesia' => "Jakarta", 'Thailand'=>"Bangkok", 'Singapura'=>"Singapura", 'Malaysia' =>"Kuala Lumpur"); Next code... Ld.Farida | Sistem Informasi - Universitas AMIKOM Yogyakarta Pemrograman Web Lanjut 2017 echo “<h3>Sebelum diurutkan</h3>”; print_r($negara); asort($negara); echo “<h3>Setelah diurutkan deengan <i>sort</i></h3>”; print_r($negara); arsort($negara); echo “<h3>Setelah diurutkan dengan <i>sort</i></h3>”; print_r($negara); ?> </body> </html> Tugas 1. Buat sebuah listing kode yang menggunakan data array sebagai berikut: 2. Buat sebuah listing kode yang akan dapat menampilkan halaman sebagai berikut: *tanpa hasil eksekusi “simpan” Ld.Farida | Sistem Informasi - Universitas AMIKOM Yogyakarta Pemrograman Web Lanjut 2017 5.2. Fungsi Fungsi adalah blok program yang didefinisikan dengan nama tertentu dan digunakan untuk melaksanakan tugas-tugas yang spesifik. Berapa kali pun fungsi dipanggil, fungsi akan dikompilasi sekali oleh compiler. Tugas yang sama akan lebih efektif jika dipisahkan dari program utama, dan dirancang menjadi sebuah fungsi. 3.2.1 Struktur Umum Untuk mendefiniskan suatu fungsi di dalam PHP digunakan bentuk umum sebagai berikut: function functionName(parameter_1, ..., parameter_n){ pernyataan; } Struktur umum dari fungsi di atas dijelaskan sebagai berikut: 1. Nama fungsi (functionName) merupakan deklarasi yang dibuat. Dalam deklarasi fungsi harus memenuhi syarat-syarat sebagai berikut: a. Tidak boleh sama dengan fungsi yang sudah ada di dalam PHP. b. Terdiri dari huruf, angka, dan garis bawah(underscore). c. Tidak boleh diawali dengan angka. 2. Parameter adalah data/nilai masukan yang akan dijalankan oleh fungsi. 3. Pernyataan adalah perintah yang dikerjakan oleh fungsi 3.2.2 Jenis Fungsi dalam PHP Dalam PHP terdapat dua jenis fungsi yaitu: 1. Fungsi yang tidak mengembalikan nilai (sering disebut dengan void function) Contoh fungsi yang tidak mengembalikan nilai. function Header(){ echo “<html>”; echo “<head>”; echo “<title>Coba Fungsi</title>”; echo “</head>”; } 2. Fungsi yang mengembalikan nilai Ciri fungsi ini adalah selalu terdapat kata kunci return. Contoh fungsi yang mengembalikan nilai. function gabungString($kiri, $kanan){ $gabung = $kiri.$kanan; return $gabung; } Ld.Farida | Sistem Informasi - Universitas AMIKOM Yogyakarta Pemrograman Web Lanjut 2017 3.2.3 Penggunaan Fungsi di PHP latihan6.php <html> <head> <title>Mendefiniskan dan Memanggil Fungsi</title> </head> <body> <?php //contoh fungsi pertama function judul(){ echo "<h3>Demo ke-1 mendefinisikan "."dan memanggil fungsi</h3>"; } //contoh fungsi kedua function gabungString($kiri, $kanan){ return $kiri.$kanan; } //contoh fungsi ketiga function bilGanjil($angka){ if ($angka % 2==1) { echo "Angka $angka adalah bilangan ganjil"; } } //pemanggilan fungsi $str1 ="Ini adalah "; $str2 ="kalimat lengkap"; $hasil= gabungString($str1, $str2); $angka = 39; judul(); echo "\$str1 : $str1<br>"; echo "\$str2 : $str1<br>"; echo "Setelah digabung : $hasil <br>"; bilGanjil($angka); ?> </body> </html> Ld.Farida | Sistem Informasi - Universitas AMIKOM Yogyakarta Pemrograman Web Lanjut 2017 latihan7.php <html> <head> <title>Mendeklarasikan dan Memanggil Fungsi</title> </head> <body> <?php function bilanganPrima($mulai, $selesai){ for($p=$mulai; $p<=$selesai; $p++) { if($p%2 <>0 || $p % $p <> 0) { echo "$p<br>"; } } } //pemanggilan fungsi $x = 10; $y = 30; echo "<b>Bilangan Prima dari $x hingga $y adalah: </b><br>"; bilanganPrima($x,$y); ?> </body> </html> 3.2.4 Passing Parameter Parameter adalah nilai yang dilewatkan dalam sebuah fungsi. Gunanya agar fungsi tersebut bernilai dinamis sesuai dengan argumen yang diberikan pada saat pemanggilan fungsi. 1. Pass by Value Adalah teknik memasukkan parameter ke dalam sebuah fungsi dengan cara membuat copy dari variabel asli, sehingga variabel asli tidak akan terpengaruh.Secara default sebuah argumen bersifat pass by value. latihan8.php <?php function tambahSatu($value){ $value++; } $x = 5; tambahSatu($x); echo "Hasil ".$x; ?> 2. Pass by Reference Pass by reference memungkinkan kita untuk melakukan manipulasi terhadap variabel yang menjadi parameter melalui sebuah fungsi. Ld.Farida | Sistem Informasi - Universitas AMIKOM Yogyakarta Pemrograman Web Lanjut 2017 latihan9.php <?php function tambahSatu(&$value){ $value++; } $x = 5; tambahSatu($x); echo "Hasil ".$x; ?> Yang membedakan dari dua skrip di atas adalah penggunaan “&” di depan parameter $value. Tanda “&” berfungsi sebagai reference variable yang memungkinan fungsi tambahSatu dijalankan dan akan mempengaruhi nilai variabel aslinya yaitu variabel $x. 3.2.5 Fungsi Built-in PHP PHP menyediakan banyak fungsi built-in yang dapat dilihat di php.net. Fungsi builtin ini akan memudahkan pembuat program dalam mengembangkan sebuah sistem karena cukup memanggil fungsi-fungsi yang sudah tersedia. Beberapa contohnya antara lain: 1. Include Fungsi include memungkinkan sebuah isi file dimasukkan/disertakan di sebuah halaman halaman yang lain di PHP. latihan10.php <?php include("latihan7.php"); echo "<h3>Contoh Halaman yang Menggunakan Fungsi Include</h3>"; ?> 2. Require Fungsi require adalah cara lain untuk memasukkan/menyertakan isi sebuah file ke dalam halaman yang lain. perbedaannya adalah ketika include gagal memanggil sebuah file, PHP akan menampilkan pesan error, tetapi akan tetap menjalankan program utamanya. Berbeda dengan require yang akan langsung berhenti jika terdapat masalah pada saat pemanggilan file. latihan10.php <?php include("latihan.php"); echo "<h3>Contoh Halaman yang Menggunakan Fungsi Include</h3>"; ?> bandingkan hasilnya dengan berikut. <?php require("latihan.php"); echo "<h3>Contoh Halaman yang Menggunakan Fungsi Require</h3>"; ?> Ld.Farida | Sistem Informasi - Universitas AMIKOM Yogyakarta Pemrograman Web Lanjut 2017 3. strlen Fungsi strlen adalah untuk mengetahui panjang/banyaknya karakter dalam sebuah string/variabel. latihan11.php <?php $a ="Poin ini adalah pembahasan mengenai strlen"; echo "Banyak karakter dalam variabel \$a adalah ".strlen($a); ?> 4. substr Fungsi substr adalah salah satu fungsi manipulasi string yang sering digunakan. Fungsi ini mengambil karakter tertentu pada sebuah string yang dispesifikasikan oleh parameter awaldan panjang. Contoh penggunaan substr adalah sebagai berikut. latihan12.php <?php $b ="Poin ini adalah pembahasan mengenai substr<br>"; echo substr($b,6); echo substr($b, 3,10); ?> 5. number_format Fungsi number_format adalah fungsi yang dapat digunakan untuk memberi format pada tampilan angka, baik itu bertipe data integer maupun float. Dengan menambahkan fungsi number_format maka tampilan angka akan lebih rapi dan mudah dibaca. Buka kembali latihan4.php kemudian tambahkan kode berikut pada baris $harga dan $jmlharga. <html> <head> <title>Latihan Array dengan Pengulangan dan Tabel</title> </head> <body> <table border="1" cellspacing="0" cellpadding="0"> <tr> <th width="75">Jml</th> <th width="150">Nama Barang</th> <th width="100">Harga</th> </tr> <?php $jumlah= array("3","2","5","1"); $barang= array("Mouse","Kabel data","Flashdisk","Hardisk"); $harga= array("100000","150000","75000","1000000"); $jmlharga =0; for ($i=0; $i <sizeof($jumlah) ; $i++) { echo " <tr> <td align='center'>$jumlah[$i]</td> <td>$barang[$i]</td> Next code... Ld.Farida | Sistem Informasi - Universitas AMIKOM Yogyakarta Pemrograman Web Lanjut 2017 <td align='right'>".number_format($harga[$i])."</td> </tr> "; $jmlharga = $jmlharga+$harga[$i]; } ?> <tr> <td colspan="3" align="right"><b>Jumlah: <?php echo number_format($jmlharga); //atau //echo number_format($jmlharga, 2, ',','.'); ?></b></td> </tr> </table> </body> </html> Ld.Farida | Sistem Informasi - Universitas AMIKOM Yogyakarta Pemrograman Web Lanjut 2017 Referensi Arief, M. R. 2011. Pemrograman Web Dinamis menggunakan PHP dan MySQL. Yogyakarta: Andi Offset. Hakim, Lukmanul. 2014. Rahasia Inti Master PHP &MySQLi(improved). Yogyakarta, Lokomedia Paranginan, Kasiman. 2012. Aplikasi Web dengan PHP dan MySQL. Yogyakarta: Andi Offset. Raharjo, Budi., dkk. 2014. Modul Pemrograman Web HTML, PHP, & MySQL. Bandung: Modula. Arifin, Oki. 2015. Modul Pemrograman Web Lanjut. STMIK AMIKOM Yogyakarta. Yunmar, Rajif Agung. 2011. Modul Pemrograman Web Lanjut. STMIK AMIKOM Yogyakarta. Ld.Farida | Sistem Informasi - Universitas AMIKOM Yogyakarta