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]
$x[1]
$x[2]
$x[3]
$x[4]
60
70
80
90
100
Contoh di atas merupakan visualisasi array
$xyang 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
$xdiindeks 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:
Pemrograman Web Lanjut
2017
3.1.1 Membuat dan Mengakses Elemen Array
Membuat dan Mengakses Array Berindeks
latihan1.php
Membuat dan Mengakses Array Asosiatif
latihan2.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>
<html> <head>
<title>Membuat dan Mengakses Elemen Array Asosiatif</title> </head>
<body> <?php
$pengurus = array('Ketua' => "Akbar", 'Sekretaris' => "Budi", 'Bendahara' => "Candra"); echo "<h4>Susunan Pengurus UKM 'XX'</h4>";
echo "<b>Ketua: </b>".$pengurus["Ketua"]."<br>";
echo "<b>Sekretaris: </b>".$pengurus["Sekretaris"]."<br>"; echo "<b>Bendahara: </b>".$pengurus["Bendahara"]."<br>"; ?>
</body> </html>
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:
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:
Menggunakan Pengulangan untuk Mengakses Array
latihan3.php
Next code...
<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"); foreach($nama_array as $value){
pernyataan; }
foreach($nama_array as $key => $value){ pernyataan($key ... $value...); }
Pemrograman Web Lanjut
2017
Pada contoh diatas, variabel array pada cara 1 didefinisikan sebagai $negara dengan
format singkat, dan tanpa mendefenisikan key secara tertulis. Variabel
$negara merupakanvariabel perantara dalam contoh di atas. Pengulangan dengan perintah
for tersebut akandiulang 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 keyyang 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
Next code...
<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>
foreach ($pengurus as $jabatan => $nama) { echo "$jabatan dijabat oleh $nama<br>"; }
?> </body> </html>
Pemrograman Web Lanjut
2017
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 descendingb.
asort()- Pengurutan array berdasarkan value secara ascendingc.
krsort()- Pengurutan array berdasarkan index/key secara descendingd.
ksort()- Pengurutan array berdasarkan index/key secara ascendinge.
rsort()- Pengurutan array berdasarkan value secara descending dengan mengubahindex/key
f.
sort() - Pengurutan array berdasarkan value secara ascending dengan mengubahindex/key
g.
shuffle()- Random pengurutan array2. Fungsi Pengaturan Pointer Array
a.
current()– Mendapatkan elemen array yang ditunjuk oleh pointerb.
end()– Pointer menunjuk pada elemen array terakhirc.
key()– Mendapatkan key yang ditunjuk oleh pointerd.
next()– Pointer menunjuk pada elemen selanjutnyae.
prev()– Pointer menunjuk pada elemen sebelumnyaf.
reset()– Memindahkan pointer array ke awal (elemen pertama)g.
count()– Menghitung jumlah elemen array3. Fungsi Pencarian pada Array
a.
array_search()– Mencari posisi (key) dari suatu value dalam arrayb.
array_key_exists()– Memeriksa suatu key ada dalam array atau tidakc.
in_array()– Memeriksa suatu elemen ada dalam array atau tidaklatihan5.php
Next code...
<td colspan="3" align="right"><b>Jumlah: <?php echo $jmlharga;?></b></td> </tr> </table> </body> </html> <html> <head> <title>Fungsi Array</title> </head> <body> <?php
$negara = array('Indonesia' => "Jakarta", 'Thailand'=>"Bangkok", 'Singapura'=>"Singapura", 'Malaysia' =>"Kuala Lumpur");
Pemrograman Web Lanjut
2017
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”
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>
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:
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.
2. Fungsi yang mengembalikan nilai
Ciri fungsi ini adalah selalu terdapat kata kunci return. Contoh fungsi yang
mengembalikan nilai.
function functionName(parameter_1, ..., parameter_n){ pernyataan;
}
function Header(){ echo “<html>”; echo “<head>”;
echo “<title>Coba Fungsi</title>”; echo “</head>”;
}
function gabungString($kiri, $kanan){ $gabung = $kiri.$kanan;
return $gabung; }
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>
Pemrograman Web Lanjut
2017
latihan7.php
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
2. Pass by Reference
Pass by reference memungkinkan kita untuk melakukan manipulasi terhadap variabel
yang menjadi parameter melalui sebuah fungsi.
<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> <?php function tambahSatu($value){ $value++; } $x = 5; tambahSatu($x); echo "Hasil ".$x; ?>
Pemrograman Web Lanjut
2017
latihan9.php
Yang membedakan dari dua skrip di atas adalah penggunaan “&” di depan parameter $value.
Tanda
“&”berfungsi sebagai reference variable yang memungkinan fungsi
tambahSatudijalankan dan akan mempengaruhi nilai variabel aslinya yaitu variabel $x.
3.2.5 Fungsi Built-in PHP
PHP menyediakan banyak fungsi in yang dapat dilihat di php.net. Fungsi
built-in built-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
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
bandingkan hasilnya dengan berikut.
<?php function tambahSatu(&$value){ $value++; } $x = 5; tambahSatu($x); echo "Hasil ".$x; ?> <?php include("latihan7.php");echo "<h3>Contoh Halaman yang Menggunakan Fungsi Include</h3>"; ?>
<?php
include("latihan.php");
echo "<h3>Contoh Halaman yang Menggunakan Fungsi Include</h3>"; ?>
<?php
require("latihan.php");
echo "<h3>Contoh Halaman yang Menggunakan Fungsi Require</h3>"; ?>
Pemrograman Web Lanjut
2017
3. strlen
Fungsi strlen adalah untuk mengetahui panjang/banyaknya karakter dalam sebuah
string/variabel.
latihan11.php
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
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
$hargadan
$jmlharga.
Next code...
<?php
$a ="Poin ini adalah pembahasan mengenai strlen";
echo "Banyak karakter dalam variabel \$a adalah ".strlen($a); ?>
<?php
$b ="Poin ini adalah pembahasan mengenai substr<br>"; echo substr($b,6);
echo substr($b, 3,10); ?>
<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>