Array dan Function - E

advertisement
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
Download