Array adalah sebuah
kumpulan data yang terdiri dari jenis data yang sama. Setiap nilai yang berada
di dalam array disebut sebagai element, apapun jenis data.
Nombor-nombor data yang menunjuk pada element array disebut subscript atau offset.
Array dapat digambarkan
sebagai sebuah rak dengan ukuran yang sama dan untuk menyimpan barang-barang
yang sejenis (jenis yang sama). Misalkan rak untuk menyimpan baju. Perhatikan gambar di bawah ini :
Rak di atas
bernama baju, terdiri dari 4 rak yang diberi nomor 0 hingga 3
dan rak tersebut diisi dengan jenis-jenis baju untuk keperluan tertentu. Dalam
contoh di atas ada 4 jenis baju,iaitu pesta, tidur, santai, dan olahraga sehingga
dapat disebut rak baju mempunyai 4 element. Apabila kita
memerintahkan komputer untuk mengambil baju tidur, maka akan
dituliskan :
jenis_data baju[2];
//menunjuk pada rak ketiga
Syntax array adalah
sebagai berikut :
jenis_data nama_array[jml_element];
Kita dapat mengakses
elemen-elemen array dengan menunjuk kepada nombor elemen array. Nombor offset
elemen array dimulai dari no l sehingga elemen array yang pertama adalah :
namaArray[0];
Sebagai pegangan kita
tentang penomboran array dengan elemennya, maka misalkan sebuah array cubaArray[n] pasti
mempunyai n elemen yang dinombori dengan cubaArray[0],cubaArray[1],
sampai dengan cubaArray[n-1]. Ada programmer yang menganggap
bahawa cubaArray[0] merupakan elemen array ke nol. Hal ini bukan
merupakan hal yang baik, karena jika cubaArray[0] merupakan elemen
ke nol, maka cubaArray[14] merupakan elemen ke-14. Apakah
demikian ? Cuba kita lihat rumus di atas, bukankah sebenarnya cubaArray[14]
merupakan elemen ke-15 dari array cubaArray. Oleh kerana itu, lebih
baik jika kita dari awal menyebut bahawa cubaArray[0] merupakan
elemen pertama dan nombor offset-nya nol.
Array #1 : Pengenalan Data
Array
Array adalah suatu variable yang dapat menampung jenis
data yang sama. Dalam satu variable array dapat menampung satu set data kedalam
elemen array.
Sebagai contoh array “nama hari”, maka elemen datanya
adalah : “Ahad”,”isnin”,”Selasa”,”Rabu”,”Khamis”,”Jumaat”,”Sabtu”.
Implementasi array pada action script adalah sebagai
berikut:
hari=new Array("Ahad","isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu");
|
selain itu, array juga dapt didefinisikan dengan cara
seperti berikut:
hari=new Array();
hari[0]="Minggu";
hari[1]="Senin";
hari[2]="Selasa";
hari[3]="Rabu";
hari[4]="Kamis";
hari[5]="Jumat";
hari[6]="Sabtu";
|
Index data selalu bermula dengan angka 0, sehingga jumlah elemen array ada 7 maka indexnya adalah
0-6.
Untuk melakukan pengujian, array juga dipanggil dengan
perintah trace.
trace(hari);
|
Sekarang kita pelajari bagaimana cara mengakses data pada
array.
Untuk mengakses elemen array tertentu, kita juga
memanggilnya dengan menuliskan index yang di tuju.
trace(hari[3]);
//melihat data hari pada index ke 3.
|
Array memiliki beberapa properti yang dapat digunakan
untuk memanipulasi data seperti menambah, menghapus atau menyisipkan data.
push()
Metode push() berfungsi menambah elemen data pada array pada index terakhir.
produk=new Array();
produk.push("Photoshop");
produk.push("Flash");
trace(produk);//output:
Photoshop, Flash
|
pop()
Metode pop() berfungsi untuk menghapus data array pada index terakhir.
produk.pop();
trace(produk);
//output: Photoshop
|
splice()
Metode splice() berfungsi untuk menghapus sekaligus menambahkan elemen baru pada array.
produk=new Array("Adobe","Flash","Photoshop");
trace(produk);//output:"Adobe","Flash","Photoshop"
produk.splice(0,1,"Dreamweaver");//menghapus
"Adobe" dan menambahkan "Dreamweaver"
trace(produk);//output:"Dreamweaver","Flash","Photoshop"
|
Sebelum ini kita sudah mengenal data array dan cara mengakses data
array. Sekarang kita
pelajar jenis array yang memiliki data berdimensi 2 atau multidimensi.
Array multidimensi dapat diilustrasikan seperti sebuah
jadual dimana jadual tersebut memiliki baris dan kolum.
index
|
0
|
1
|
2
|
3
|
0
|
5
|
0
|
25
|
9
|
1
|
5
|
9
|
17
|
5
|
2
|
9
|
12
|
11
|
12
|
3
|
32
|
3
|
5
|
2
|
Cara mendeklarasikan array 2 dimensi adalah sebagai
berikut:
var
dataNilai:Array=new Array();
dataNilai[0]=[5,0,25,9];
dataNilai[1]=[5,9,17,5];
dataNilai[2]=[9,12,11,12];
dataNilai[3]=[32,3,5,2];
trace(dataNilai);
Untuk mengkses data array tertentu, cukup memanggilnya
dengan memasukan index baris dan kolum
yang di tuju:
trace(dataNilai[3][1]);//output:3
Di AS3 ada tiga
types of "list" object: Arrays, Vectors & Dictionaries. Ketiganya memungkinkan Anda untuk
menyimpan atau menampung data sehingga anda
dapat mengaksesnya kembali.
Array
CUBA DAPATKAN OUTPUT-OUTPUT DENGAN ATURCARA ARRAY DIBAWAH
Array adalah cara paling sederhana dan paling banyak
digunakan
Membuat array kosong
var a:Array = new Array( );
trace(a);
membuat 5 data array
var b:Array = new Array(5);
trace(b);
membuat data siti,bob,aniq,azie,Kak Katy,niza,miza,alia,Anas
var c:Array = new
Array("siti","bob","aniq","azie","Kak
Katy","niza","miza","alia","Anas");
trace(c);
menampilkan jumlah elemen dalam array
trace(c.length);
mengakses elemen dalam array
trace(c[5]);
menganti elemen dalam array
trace(c[4]="SKM2101");
mencari indeks elemen dalam array
trace(c.indexOf("niza"));
membuat reverse
pada Array (reverse atau sort)
var oceans:Array = ["ayam",
"lembu", "itik", "kambing"];
oceans.reverse();
membuat sort pada
Array
var oceans:Array = ["ayam",
"lembu", "itik", "kambing"];
oceans.sort();
Tutorial reverce dan sort dalam Array
var poets:Array = ["saya", "suka",
"tidur", "dalam","Kelas",];
poets.sort();
trace(poets);
poets.sort(Array.CASEINSENSITIVE);
trace(poets);
poets.sort(Array.DESCENDING);
trace(poets);
poets.sort(Array.DESCENDING | Array.CASEINSENSITIVE);
trace(poets);
*Cuba Latihan ini dan tukar sort kepada
reverse
ARRAY
Tugas biasa array
Berikut adalah
tugas-tugas yang biasa dalam array:
■ Mewujudkan tatasusunan diindeks
■ Menambah dan mengeluarkan unsur
■ Menyusun unsur
■ Mengekstrak bahagian array
■ Bekerja dengan array bersekutu
■ Bekerja dengan tatasusunan multidimensi
■ Menyalin elemen array
■ Mewujudkan subkelas array
Indexed Arrays
Arrays indeks
menyimpan satu siri satu atau lebih nilai-nilai yang dianjurkan supaya setiap
nilai boleh diakses dengan menggunakan
nilai integer tak bertanda. Indeks pertama sentiasa bilangan 0, dan kenaikan
indeks dengan 1 untuk setiap elemen berikutnya ditambah kepada array.
// Use Array
constructor.
var myArray:Array
= new Array();
myArray.push("one");
myArray.push("two");
myArray.push("three");
trace(myArray);
// output: one,two,three
// Use Array
literal.
var myArray:Array
= ["one", "two", "three"];
trace(myArray);
// output: one,two,three
Creating Arrays
Fungsi Creating Array boleh digunakan dalam tiga cara. Pertama,
jika anda memanggil pembina tanpa argument, anda akan mendapat nilai kosong.
Sebagai contoh, kod berikut panggilan Array yang pembina tanpa argument
var names:Array =
new Array();
trace(names.length);
// output: 0
jika anda
menggunakan nombor sebagai satu parameter untuk pembina Array itu, dengan nilai
setiap unsur yang bersedia untuk undefined. ia mestilah integer
antara nilai 0 dan 4294967295. Sebagai contoh, kod berikut panggilan
pembina Array dengan hujah angka tunggal:
var names:Array =
new Array(3);
trace(names.length);
// output: 3
trace(names[0]);
// output: undefined
trace(names[1]);
// output: undefined
trace(names[2]);
// output: undefined
jika anda
memanggil constructor dan senarai
sebagai parameter, array created, dengan unsur-unsur yang sepadan dengan
setiap parameter. Berikut adalah tiga kod untuk
Array created:
var names:Array =
new Array("John", "Jane", "David");
trace(names.length);
// output: 3
trace(names[0]);
// output: John
trace(names[1]);
// output: Jane
trace(names[2]);
// output: David
Inserting Array Element
Tiga daripada
kelas Array kaedah push (), unshift (), dan splice () - membolehkan anda untuk
memasukkan unsur-unsur ke dalam array.
Push ()
kaedah
menyertakan satu atau lebih unsur-unsur ke akhir satu array. Dalam erti kata
lain, elemen terakhir dimasukkan ke dalam array menggunakan push () kaedah akan
mempunyai nombor indeks yang tertinggi.
unshift ()
kaedah memasukkan
satu atau lebih unsur-unsur di permulaan , yang sentiasa di nombor indeks 0.
splice()
kaedah akan
memasukkan apa-apa bilangan item di indeks yang dinyatakan dalam array.
Contoh :
var planets:Array
= new Array();
planets.push("Mars");
// array contents: Mars
planets.unshift("Mercury");
// array contents: Mercury,Mars
planets.splice(1,
0, "Venus", "Earth");
trace(planets);
// array contents: Mercury,Venus,Earth,Mars
Removing
array elements
Tiga kaedah yang
Array pop (), shift (), dan splice () - membolehkan anda untuk menghapuskan
unsur-unsur dari array
pop (),
shift() ,
splice()-
Pop ()
kaedah
menyingkirkan elemen dari array yang terakhir. dalam erti kata lain, ia
membuang elemen di nombor indeks yang tertinggi.
Shift()
kaedah menyingkirkan
elemen dari permulaan array, yang bermaksud bahawa ia sentiasa membuang elemen
di nombor indeks 0.
Splice ()
yang juga digunakan untuk memasukkan unsur-unsur, menghilangkan nombor elemen bermula di nombor indeks yang
ditetapkan.
CONTOH
var oceans:Array
= ["Victoria", "Pacific", "Aral",
"Superior", "Indian","Huron"];
oceans.splice(2,
2, "Arctic", "Atlantic"); // replaces Aral and Superior
oceans.pop(); //
removes Huron
oceans.shift();
// removes Victoria
trace(oceans); //
output: Pacific,Arctic,Atlantic,Indian
Sorting
an array
Terdapat tiga
kaedah-reverse (), sort (),dan sortOn () - yang membolehkan anda untuk menukar
perintah array, sama ada dengan mengasingkan atau menterbalikkan perintah itu.
Semua kaedah ini mengubah suai pelbagai yang sedia ada.
Reverse()
sort ()
sortOn ()
reverse ()
kaedah menukar
giliran susunan seperti yang terakhir elemen menjadi elemen pertama, unsur
kedua terakhir menjadi elemen kedua, dan sebagainya.
var oceans:Array
= ["Arctic", "Atlantic", "Indian",
"Pacific"];
oceans.reverse();
trace(oceans); //
output: Pacific,Indian,Atlantic,Arctic
Sort ()
kaedah
membolehkan anda untuk menyusun pelbagai dalam pelbagai cara yang telah
ditetapkan, dan juga membolehkan anda membuat
sorting algoritma.
var poets:Array =
["Blake", "cummings", "Angelou",
"Dante"];
poets.sort(); //
default sort
trace(poets); //
output: Angelou,Blake,Dante,cummings
poets.sort(Array.CASEINSENSITIVE);
trace(poets); //
output: Angelou,Blake,cummings,Dante
poets.sort(Array.DESCENDING);
trace(poets); //
output: cummings,Dante,Blake,Angelou
poets.sort(Array.DESCENDING
| Array.CASEINSENSITIVE); // use two options
trace(poets); //
output: Dante,cummings,Blake,Angelou
sortOn ()
kaedah membolehkan
anda untuk menyusun pelbagai diindeks objek yang mempunyai satu atau lebih
ciri-ciri yang sama yang boleh digunakan sebagai jenis kunci.
poets.sortOn("born",
Array.NUMERIC);
for (var i:int =
0; i < poets.length; ++i)
{
trace(poets[i].name,
poets[i].born);
}
/* output:
Wang 701
Dante 1265
Blake 1757
cummings 1894
Angelou 1928
*/