array

35
ARRAY Oleh : Ambar Ayu Susilowati XI / Rekayasa Perangkat Lunak B SMK NEGERI 1 CIMAHI

Upload: ambar-ayu-susilowati

Post on 11-Jul-2015

143 views

Category:

Education


2 download

TRANSCRIPT

Page 1: ARRAY

ARRAYOleh : Ambar Ayu Susilowati

XI / Rekayasa Perangkat Lunak B

SMK NEGERI 1 CIMAHI

Page 2: ARRAY

DAFTAR ISI

ARRAY

Pengertian Array

INISIALISASI DAN MODIFIKASI ARRAY

Inisialisasi Array

Modifikasi Array

ARRAY ASOSIATIF

MULTIDIMENSIONAL ARRAY

MENGOLAH FORM DENGAN ARRAY

KESIMPULAN

Page 3: ARRAY

ARRAY

Page 4: ARRAY

PENGERTIAN ARRAY

Array adalah sebuah tipe variabel yang mampu

menyimpan beberapa nilai sekaligus bahkan dalam tipe

berbeda yang terorganisir dengan baik.

Array di PHP adalah tipe variabel spesial, karena

dengan array kita dapat mengakses sekumpulan nilai

dengan menggunakan satu nama variabel. Mekanisme

pengaksesan ini diatur dalam bentuk pemetaan

(mapping) dari sekumpulan nilai (values) ke

sekumpulan kunci (keys) atau indeks.

Page 5: ARRAY

CONT...

Sebagai contoh, variabel array $nama dapat

memetakan 1, 2 dan 3 masing-masing ke “Arif", “Citra"

dan “Eka", sehingga dapat dinyatakan sebagai:

$nama [1] = “Arif";

$nama[2] = “Citra";

$nama[3] = “Eka";

Dimana ekspresi 1,2 dan 3 adalah indeks, sementara

“Arif", “Citra" dan “Eka" adalah nilai-nilainya.

Page 6: ARRAY

CONT...

Array akan sangat berguna manakala kita mengolah

sekumpulan data atau nilai dengan identitas serupa.

Sebagai ilustrasi, katakanlah kita memiliki data berupa

nama. Jika tidak menggunakan array, maka yang

terbaik yang bisa kita lakukan adalah dengan

menyatakan seperti berikut:

$nama_1 = “Arif";

$nama_2 = “Citra";

$nama_3 = “Eka";

Page 7: ARRAY

CONT...

Jika kita perlu mencetak ketiga data tersebut, makacara berikut bisa digunakan:

print "Nama ke 1: $nama_1 <br>";print "Nama ke 2: $nama_2 <br>";print "Nama ke 3: $nama_3 <br>";

Cara seperti ini mungkin efektif tetapi sayangnya jauhdari efisien, karena jika jumlah data di atas sampaipuluhan bahkan ratusan, maka bayangkan berapabanyak Anda harus mengetik perintah tersebut. Belumlagi, webserver harus melakukan parsing dari ratusanbaris yang akan memperlambat keseluruhan proses.

Page 8: ARRAY

CONT...

Dengan array, Anda dapat melakukan hal di atas

dengan lebih baik efektif dan efisien. Untuk 900 data

misalnya, Anda cukup melakukan iterasi seperti berikut:

for ($k=0;$k<900;$k++)

{

print "Nama ke $k: $nama[$k] <br>";

}

Page 9: ARRAY

INISIALISASI

DAN

MODIFIKASI

ARRAY

Page 10: ARRAY

INISIALISASI ARRAY

Untuk menginisialisasi sebuah array digunakan fungsi

array(). Data nama di atas misalnya dapat dibuat

sebagai array dengan:

$nama = array(“Arif", “Citra",

“Eka");

Skrip ini akan menginisialisasi variabel $nama dengan

$nama[0], $nama[1] dan $nama[2] masing-masing

bernilai “Arif", “Citra", dan “Eka”.

Page 11: ARRAY

CONT...

Cara lain untuk ini adalah sebagai berikut:

$nama= array(0 => “Arif",

1 => “Citra”,

2 => “Eka");

Cara pertama secara default akan menetapkan indeks

secara berurutan mulai dari 0, sementara cara kedua

kita sendiri yang menetapkannya.

Page 12: ARRAY

CONT...

Dan jika dicetak dengan skrip berikut :

for ($k=0;$k<=3;$k++){

print "\$nama[$k] berisi: $nama[$k]";}

akan menghasilkan keluaran :

$nama[0] berisi: Arif$nama[1] berisi: Citra$nama[2] berisi:$nama[3] berisi: Eka

Page 13: ARRAY

CONT...

Untuk memodifikasi isi array Anda dapat menetapkan nilaisecara eksplisit dari elemen-elemen array. Sebagai contohuntuk variabel $nama di atas, elemen dengan indeks 2 yang masih kosong dapat diisi secara langsung dengan:

$nama[2] = “Andi";

jika dicetak akan menghasilkan:

$hacker[0] berisi: Arif$hacker[1] berisi: Citra$hacker[2] berisi: Andi$hacker[3] berisi: Eka

Page 14: ARRAY

CONT...

Dengan sifat PHP yang weakly typed, Anda dapat

mendeklarasikan array secara eksplisit sebagaimana

kita memodifikasi elemen array di atas. Katakanlah jika

variabel $alamat belum terdeklarasi sebelumnya, kita

dapat mendeklarasikan $alamat sebagai array dengan :

$alamat[0] = “Bandung“;

$alamat[1] = “Jakarta”;

Page 15: ARRAY

CONT...

Anda juga dapat melakukannya dengan memanfaatkansifat indeks array PHP yang melakukan increment tiapkali dideklarasikan dengan indeks kosong seperti$alamat[], sehingga deklarasi berikut:

$alamat[] = “Cimahi”;

$alamat[] = “Yogyakarta”;

akan mengisi $alamat[2] dan $alamat[3] dengan“Cimahi” dan “Yogyakarta”.

Page 16: ARRAY

CONT...

Deklarasi array secara eksplisit tidak bisa dikatakan

sebagai inisialisasi, karena ia hanya mengakses satu

elemen dari array, sehingga penambahan nilai pada

indeks 2 seperti di atas, tidak sama dengan :

$nama = array(2 => “Andi");

Page 17: ARRAY

ARRAY

ASOSIATIF

Page 18: ARRAY

ARRAY ASOSIATIF

Variabel $nama dan $alamat di atas memilikikarakteristik array pada umumnya, yaitu indeks berupaangka sehingga memudahkan untuk dilakukan iterasi. Hal ini sangat membantu kita dalam banyak aplikasi. Sebagai contoh, jika kita ingin menggabungkan data nama beserta alamatnya dapat kita lakukan iterasisebagai berikut:

for ($k=0;$k<=3;$k++){

print "$nama[$k] tinggal di kota $alamat[$k]";}

Page 19: ARRAY

CONT...

Anda juga dapat menggunakan fungsi count() untuk

menghitung jumlah elemen array, sehingga cara berikut

lebih fleksibel :

$pjg = count($nama);

for ($k=0;$k<$pjg;$k++)

{

print "$nama[$k] tinggal di kota $alamat[$k]";

}

Page 20: ARRAY

CONT...

Array dengan indeks berupa angka disebut dengannumber-indexed array, karena ada array jenis lain yang memiliki indeks bukan angka melainkan string yang disebut dengan string-indexed array atau lebih dikenaldengan array asosiatif atau hash.

Array asosiatif sangat berguna dalam mengolah duagrup data yang memiliki relasi satu sama lain. Sebagaicontoh, data nama dan alamatnya yang sebelumnyadengan number-indexed array harus dibuat dalam duavariabel $nama dan $alamat, dengan array asosiatifdapat dibuat menjadi hanya satu variabel, dimanaindeksnya berupa alamat dan nilainya adalah namayang bersangkutan.

Page 21: ARRAY

CONT...

Inisialisasinya masih sama yaitu menggunakan array() seperti berikut:

$nama = array( “Bandung" => “Arif",“Jakarta" => “Citra",“Cimahi" => “Andi",“Yogyakarta" => “Eka" );

Array asosiatif dapat diakses secara langsungmenggunakan ekspresi seperti $nama["Bandung"] atau$nama[‘Bandung'], di mana Bandung adalah indeksnya(yang berupa string). Sehingga $nama[‘Bandung'] akanbernilai “Arif" dan seterusnya.

Page 22: ARRAY

CONT...

Pemilihan kutip tunggal ('..') atau kutip ganda ("..") padaindeks array asosiatif adalah semata-matapertimbangan kecepatan. Tanda kutip ganda akanmembuat eksekusi lebih lambat, dan sebaliknya.

Dengan indeks berupa string, array asosiatif memangtidak dapat diiterasi seperti sebelumnya menggunakanfor, namun Anda dapat melakukan iterasi yang serupadengan menggunakan sintaks foreach. Foreachsebagaimana for adalah language construct (bukanfungsi).

foreach($array as $keys=>$values)

Page 23: ARRAY

MULTIDIMENSIONAL

ARRAY

Page 24: ARRAY

MULTIDIMENSIONAL ARRAY

PHP tidak hanya mampu menyediakan array dengan

indeks gabungan angka dan string, bahkan lebih dari

dua indekspun bisa. Array jenis ini disebut

multidimensional array. Untuk menginisialisasi

multidimensional array caranya serupa dengan

sebelumnya yaitu menggunakan fungsi array() seperti

berikut :

Page 25: ARRAY

CONT...

$nama= array( array( "nama" => “Arif", “alamat" => “Bandung",“blog" => “arif.blogspot.com"),

array( "nama" => “Citra", “alamat" => “Jakarta",“blog" => “citra.blogspot.com"),

array( "nama" => “Eka", “alamat" => “Yogyakarta",“blog" => “eka.blogspot.com"),

array( "nama" => “Andi", “nama" => “Cimahi",“blog" => “and1.blogspot.com"));

Page 26: ARRAY

CONT...

Dengan variabel $nama seperti ini, kita dapatmembuat keluaran lebih lengkap dengan link keblog pribadi bersangkutan, dengan cara berikut :

$pjg_array = count($nama);for ($k=0;$k<$pjg_array;$k++){

print "<a href=\"{$nama[$k][‘blog']}\">",$nama[$k]['nama'],"</a> tinggal di kota {$nama[$k][‘alamat']}";

}

Page 27: ARRAY

CONT...

Penggunaan tanda kurung kurawal ({..}) harus

dilakukan karena jika Anda menghilangkannya maka

PHP akan menganggap array $nama tidak

diekspresikan secara lengkap (indeks yang

menggunakan tanda kutip akan dianggap sebagai

string baru bukan bagian dari array) sehingga akan

muncul pesan error. Jadi tanda kurung kurawal di sini

bisa dikatakan sebagai penyempurna ekspresi array.

Anda dapat juga melakukan hal yang sama tanpa

kurung kurawal yaitu dengan mengeluarkan ekspresi

array tersebut dari kutip ganda.

Page 28: ARRAY

MENGOLAH

FORM DENGAN

ARRAY

Page 29: ARRAY

MENGOLAH FORM DENGAN ARRAY

Untuk mengolah data isian dengan array dari multiple

field seperti isian tentang jenis pekerjaan yang

diinginkan seperti terlihat pada gambar dapat

menggunakan skrip berikut :

Page 30: ARRAY

CONT...

<form action="form.php" method="get">

Pekerjaan yang Anda inginkan : <br><select name="pekerjaan[]" multiple><option value="wm">Web Master</option><option value="sa">System Analyst</option><option value="wd">Web Designer</option><option value="wp">Web Programmer</option>

</select><br><input type="submit" value="ok">

</form>

Page 31: ARRAY

CONT...

Dengan skrip tersebut, variabel $pekerjaan[] dapat diassigndua kali yaitu $pekerjaan[]="sa" dan $pekerjaan[]="wp". Jikadi halaman form.php kita berikan skrip berikut:

<?php

$pjg_array=count($pekerjaan);for ($k=0;$k<$pjg_array;$k++){

$cnt = $k+1;print "Kode pekerjaan pilihan ke-$cnt : $pekerjaan[$k]";

}

?>

Page 32: ARRAY

CONT...

Keluarannya terlihat pada gambar berikut.

Page 33: ARRAY

KESIMPULAN

Page 34: ARRAY

KESIMPULAN

Array merupakan salah satu tipe variabel yang sangat

penting di PHP, karena banyak sekali fungsi-fungsi

di PHP yang masukan dan atau keluarannya dalam

format array. Sehingga pemahaman tentang konsep

array sangat dibutuhkan untuk menguasai bahasa

pemrograman PHP. Sementara fungsi-fungsi yang

berkaitan dengan manipulasi array yang sangat

banyak di PHP dapat dengan mudah Anda pelajari

setelah anda memahami konsep dasarnya dan

langsung mencobanya sendiri.

Page 35: ARRAY

TERIMA

KASIH