Tujuan
Pada akhir pelajaran,peserta diharapkan mampu
untuk :
Mendeklarasikan dan membuat array
Mengakses elemen-elemen di dalam array
Menentukan jumlah elemen dalam sebuah array
Duplikasi array
Mendeklarasikan dan membuat array 2 dimensi (Matrik)
Mendeklarasikan dan membuat array Multidimensi
Membuat array dinamis
Menerapkan array dalam aplikasi komputer
3.
Pengenalan array
Definsi :
Arrayadalah kumpulan dari nilai-nilai data bertipe sama
dalam urutan tertentu yang menggunakan sebuah nama
yang sama. Nilai-nilai data di suatu larik disebut dengan
elemen-elemen larik. Letak urutan dari suatu elemen
larik ditunjukkan oleh suatu subscript atau suatu index
Array adalah suatu variabel yang terdiri dari sekumpulan data dimana
data-data tersebut mempunyai tipe data yang sama. Setiap data
disimpan dalam alamat memori yang berbeda-beda dan disebut
dengan elemen array. Setiap elemen mempunyai nilai indek sesuai
dengan urutannya. Melalui indek inilah kita dapat mengakses data-
data tersebut.
4.
Pengenalan array
Definsi :
Indekdari elemen array ini, baik dalam bahasa C++ maupun Java
dimulai dari 0, bukan 1 seperti dalam bahasa Pascal.
Array dideklarasikan dengan tanda [ ] (bracket), baik dalam bahasa
C++ dan Java
5.
Pengenalan array
Misa lnya,terdapat tiga variabel dengan tipe data int yang memiliki identifier yang berbeda untuk tiap
variabel.
Code di atas bukanlah contoh yang baik untuk
memperlihatkan proses penginisialisasian dan
penggunaan variabel, terutama jika variabel tersebut
digunakan untuk tujuan yang sama.
int number1;
int number2;
int number3;
number1 = 1;
number2 = 2;
number3 = 3;
Identifier
Isi Matriks
6.
Pengenalan array
baikJava maupun bahasa pemrograman lain, memiliki
kemampuan untuk menggunakan satu variabel yang dapat
menyimpan sebuah data list, kemudian memanipulasinya
dengan lebih efektif.
Tipe variabel inilah yang disebut sebagai array.
Sebuah array akan menyimpan beberapa item data dengan
tipe data yang sama di dalam sebuah blok memori yang
berdekatan yang kemudian dibagai menjadi beberapa slot.
7.
Pendeklarasian array
Untuk mendeklarasikanarray :
tulis tipe datanya,
diikuti dengan tanda kurung [],
serta diikuti oleh nama identifier.
Contoh:
int []ages;
atau
int ages[];
8.
Array instantiation
Setelah prosespendeklarasian, kita harus membuat array dan
menentukan berapa panjangnya dengan sebuah pernyataan
konstruktor.
Instantiation
Di Java, ini berarti pembuatan
Konstruktor
Untuk meng-instantiate sebuah obyek, kita membutuhkan
sebuah konstruktor.
Sebuah konstruktor merupakan sebuah method yang
dipanggil untuk membuat object
Kita akan membicarakan lagi mengenai instantiate obyek dan
pembuatan konstruktor pada bagian selanjutnya.
9.
Array instantiation
Untuk meng-instantiate(atau membuat) sebuah array,
Tulislah new keyword,
Diikuti oleh tanda kurung [] yang berisi angka dari elemen yang
diinginkan pada array tersebut.
Contoh,
//deklarasi
int ages[];
//instantiate object
ages = new int[100];
atau, juga dapat ditulis,
//declare and instantiate object
int ages[] = new int[100];
Array instantiation
Anda jugadapat meng-instantiate sebuah array dengan
cara menginisialisasinya secara langsung dengan data.
Contoh,
int arr[] = {1, 2, 3, 4, 5};
Pernyataan ini mendeklarasikan dan meng-instantiate
sebuah array dari integer dengan lima elemen
(diinisialisasi dengan nilai 1, 2, 3, 4, dan 5).
12.
Contoh program
//membuat sebuaharray dari variabel boolean pada sebuah identifier
//hasil. Array ini berisi 4 elemen
//untuk nilai {true, false, true, false}
boolean results[] = { true, false, true, false };
//Membuat sebuah array yang terdiri dari penginisialisasian 4 variabel
//untuk nilai {100, 90, 80, 75};
double []grades = {100, 90, 80, 75};
//Membuat sebuah array String dengan identifier days
//terdiri dari 7 elemen.
String days[] = { “Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat”, “Sun”};
13.
Contoh program
String[] cars=
{"Volvo", "BMW", "Ford", "Mazda"};
System.out.println(cars[0]);
// Outputs Volvo
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
cars[0] = "Opel";
System.out.println(cars[0]);
// Now outputs Opel instead of Volvo
14.
Pengaksesan elemen array
Untukmengakses sebuah elemen dalam array , atau
mengakses sebagian elemen dari array , Anda menggunakan
penomoran yang disebut sebagai index atau subscript.
Index atau Subscript
Diberikan kepada tiap anggota array, agar program dapat
mengakses anggota dari array.
Dimulai dari nol dan kemudian akan terus bertambah
sampai list value dari array tersebut berakhir.
CATATAN: elemen di dalam array anda dimulai dari 0
sampai (sizeOfArray-1)
15.
Pengaksesan elemen array
Contoh,pada array yang telah kita deklarasikan
tadi, kita mempunyai
//memberikan nilai 10 kepada elemen pertama
array
ages[0] = 10;
//mencetak elemen array yang terakhir
System.out.print(ages[99]);
16.
Pengaksesan elemen array
CATATAN:
Jika array telah dideklarasikan dan dikonstruksi ,
nilai yang disimpan dalam setiap anggota array
akan diinisialisasi sebagai nol.
Untuk tipe data reference seperti String , nilai
dari String tidak akan diinisialisasi ke string
kosong “”, sehingga Anda tetap harus membuat
array String secara eksplisit.
17.
Pengaksesan elemen array
Berikutini merupakan contoh, untuk mencetak seluruh
elemen di dalam array. Terdapat penggunaan loop pada
contoh yang membuat kode lebih pendek
1 public class ArraySample{
2 public static void main( String[] args ){
3 int[] ages = new int[100];
4 for( int i=0; i<100; i++ ){
5 System.out.print( ages[i] );
6 }
7 }
8 }
18.
Petunjuk penulisan program
1.Akan lebih baik jika anda menginisialisasi atau meng-
instantiate array setelah mendeklarasikannya.
Contoh deklarasi,
int []arr = new int[100];
juga diperbolehkan,
int []arr;
arr = new int[100];
19.
Petunjuk penulisan program
2.Elemen-elemen dalam array dengan n-elemen
memiliki index dari 0 sampai n-1.
Perhatikan bahwa tidak ada elemen array arr[n],
karena hal ini akan menyebabkan array-index-
out-of-bounds exception .
3. Anda tidak dapat mengubah ukuran sebuah array.
20.
Panjang array
Untuk mengetahuijumlah elemen di dalam sebuah
array, Anda dapat menggunakan length (panjang)
field pada array.
Panjang field dalam array akan me-return value
dari array itu sendiri.
Atau dapat ditulis,
arrayName.length
21.
Panjang array
public classArraySample {
public static void main( String[] args ){
int[] ages = new int[100];
for( int i=0; i<ages.length; i++ ){
System.out.print( ages[i] );
}
}
}
22.
Panduan penulisan program
1.Pada saat pembuatan loop untuk memproses elemen-elemen
dalam array, gunakanlah length field di dalam statement
pengkondisian dalam loop.
Hal ini akan menyebabkan loop secara otomatis
menyesuaikan diri terhadap ukuran array yang
berbeda-beda.
2. constant biasanya digunakan untuk mempermudah
pendeklarasian ukuran array di Java.
Sebagai contoh,
final int ARRAY_SIZE = 1000; //declare a
constant
. . .
int[] ages = new int[ARRAY_SIZE];
23.
Dasar Pengolahan ArraySecara Umum
// lakukan inisialiasi yang diperlukan sebelumnya
for (int i = 0; i < A.length; i++)
{
. . . // proses A[i]
}
Dalam banyak hal, pengolahan array berarti menggunakan operasi yang
sama kepada setiap elemen di dalam array. Biasanya sering dilakukan
dengan perulangan for. Perulangan untuk mengolah semua elemen
dalam array A dapat ditulis dalam bentuk :
24.
Dasar Pengolahan ArraySecara Umum
int maks = A[0]; // nilai maks berisi elemen array pertama
for (int i = 1; i < A.length; i++) { // i mulai dari elemen kedua
if (A[i] > maks)
maks = A[i];
}
// Di sini maks berisi nilai elemen array yang paling besar
mencari nilai terbesar di dalam array A. Strateginya adalah lihat semua isi
array, catat nilai terbesar saat itu. Kita akan simpan nilai terbesar yang kita
temui dalam variabel maks. Pada saat kita melihat elemen array satu per
satu, kapanpun kita melihat nilai elemen tersebut lebih besar dari maks
kita akan mengganti nilai maks dengan nilai yang lebih besar tersebut.
Setelah semua elemen array diproses, maka maks merupakan nilai
elemen terbesar di dalam array tersebut. Pertanyaannya adalah, apa nilai
awal maks? Salah satu kemungkinannya adalah mulai dengan nilai maks
sama dengan A[0], baru kemudian melihat isi elemen array lainnya mulai
dengan A[1]. Misalnya,
25.
Dasar Pengolahan ArraySecara Umum
// Buat objek array baru, yang panjangnya sama dengan panjang A
int[] B = new int[A.length];
for (int i = 0; i < A.length; i++)
B[i] = A[i]; // Kopi setiap elemen dari A ke B
Untuk membuat array baru yang merupakan kopi dari array A, kita harus
membuat objek array baru, dan mengkopi isinya satu per satu dari array A
ke array baru, sehingga
Mengkopi nilai dari satu array ke array yang lain adalah operasi umum
sehingga Java memiliki subrutin untuk melakukannya, yaitu
System.arraycopy(), yang merupakan subrutin anggota statik dari kelas
standar System. Deklarasinya memiliki bentuk seperti :
public static void arraycopy(Object arraySumber, int
indeksAwalSumber, Object arrayTujuan, int indeksAwalTujuan,
int jumlah)
26.
Dasar Pengolahan ArraySecara Umum
int[] a = {22, 44, 66, 88};
print(a);
int[] b = (int[])a.clone(); // duplicate a[] in b[]
print(b);
Since it is an object, an array can be duplicated by invoking the
Object.clone() method,
27.
Array Dinamis
Objekmirip array yang bisa berubah ukuran
untuk mengakomodasi jumlah data yang bisa ia
tampung disebut array dinamis. Array dinamis
memiliki jenis operasi yang sama dengan array :
mengisi nilai pada posisi tertentu dan
mengambil nilai di posisi tertentu. Akan tetapi
tidak ada batas maksimum dari jumlah array
(hanya tergantung pada jumlah memori
komputer yang tersedia).
28.
Array multidimensi
Arraymultidimensi diimplementasikan sebagai
array di dalam array .
Array multidimensi dideklarasikan dengan
menambahkan jumlah tanda kurung setelah
nama array.
29.
Array multidimensi
Contoh :
//Elemen 512 x 128 dari integer array
int[][] twoD = new int[512][128];
// karakter array 8 x 16 x 24
char[][][] threeD = new char[8][16][24];
// String array 4 baris x 2 kolom
String[][] dogs = {{ "terry", "brown" },
{ "Kristin", "white" },
{ "toby", "gray"},
{ "fido", "black"}
};
30.
Array multidimensi
Untukmengakses sebuah elemen didalam array
multidimensi, sama saja dengan mengakses array satu
dimensi .
Contoh, untuk mengakses elemen pertama dari baris
pertama di dalam array dogs, kita akan menulis,
System.out.print( dogs[0][0] );
Kode diatas akan menampilkan String “terry” pada
layar.
31.
Using the java.util.ArraysClass
This program imports the Arrays class from the
java.util package to access the
sort(),binarySearch(), fill(), and equals() methods.
It also imports the static print() method from
32.
THE SEQUENTIAL SEARCHALGORITHM
Pencarian menggunakan metoda
Conventional/Array Searching.
Pencarian dilakukan dari ujung kiri larik dimana
hal ini ditunjukkan oleh inisialisasi objek index
dengan nilai 0
Pencarian ini berjalan lambat ketika data yang
dicari berada di bagian akhir.
33.
THE BINARY SEARCHALGORITHM
Binary Search merupakan standart algoritma untuk
pencarian data yang telah terurut.
Pada metoda ini pertama kali kita harus menentuka
posisi peubah mid(Posisi tengah). Jika nilai yang
kita cari lebih besar dari nilai yang ditunjuk oleh
peubah mid maka pencarian akan dilakukan ke
sebelah kanan dengan cara mengubah nilai peubah
Low mejadi nilai yang ditunjuk pada peubah mid,
dan sebaliknya.
Teknik pencarian ini jauh lebih cepat dari
ArraySearch/sequentialSearch.