Anda di halaman 1dari 23

Array

1
Capaian Pembelajaran
 Mengerti apa yang dimaksud dengan array.
 Memahami struktur dari array
 Menggunakan prinsip array yang dikombinasikan dengan
class.
 Bisa membuat program penambahan data

2
Arrays
 Array adalah jenis khusus dari object yang digunakan untuk
menyimpan koleksi data
 Data yang disimpan dalam array semua harus dari tipe yang
sama
 Sebagai contoh, kita mungkin ingin menyimpan:
 Sebuah array dengan nilai bertipe double.
 Sebuah array dari object Student.

3
Kebutuhan akan Array
 Menulis sebuah program Java yang meminta
user untuk 10 nilai ujian dan menampilkan rata-rata.
 Bagaimana jika Anda juga diharuskan untuk menampilkan
semua nilai yang lebih tinggi daripada rata-rata?

4
Permasalahan:
import java.util.;
public class ExamScoresForLoop
{
public static void main(String[] args)
{
Scanner keyboard = new Scanner (System.in);
double score;
double total = 0.0;
for(int i = 1; i <= 10; i++)
{
System.out.println("Enter score " + i +":");
score = keyboard.nextDouble();
total = total + score;
}
System.out.println("The average score is " + total/10);

// how to display scores which are greater than average???


}
}
 Kita perlu melacak setiap skor yang dimasukkan oleh pengguna dengan cara yang efisien.
5
Menggunakan Arrays
 Misalkan hanya menyimpan satu skor:

score 98.9
0x0010

Apabila kita perlu untuk menyimpan koleksi nilai, atau apa yang
disebut array.

score 0x0h40
0x0h40
98.9
0x0010 50.5
0x0h41

75.0
dalam kasus ini, 0x0h42
skor dianggap referensi ke 59.5
0x0h43
array di alamat memori yang
6 disimpan. 65.4
0x0h44
Mengakses Elemen Array
 Setelah array dideklarasikan, kita dapat menyimpan dan
mengakses data di dalamnya.
 Kita harus menentukan indeks yang mewakili posisi data.
 Indeks selalu dimulai dari 0.

Indeks yang
score 98.9 mewakili posisi data
0
50.5 1
score[0]
75.0 2
59.5 3 score[3]
65.4 4
7
Deklasrasi Arrays
 Langkah untuk membuat array adalah :
 menentukan tipe data
 menetapkan nama array dengan sebuah identifier
 kurung persegi []
 Syntax:
<data type>[] <identifier>;
 Examples
int[] num; // an array of int
double[] score; // an array of
doubles
Student[] st; // an array of Student
objects

8
Membuat Arrays
 Di Java, array adalah objcet dan harus dipakai dengan ukuran
 Syntax:
<data type>[]<identifier> = new <data type>[<size>];
 Oleh karena itu, array dapat dideklarasikan dan diinisialisasikan
dalam satu statement :
int[] num = new int[10];
//creates an array to store 10 integers
 Hal diatas juga dapat dilakukan dengan :
int[] num;
num = new int[10];

9
Inisialisasi Lists
 Array juga dapat dibuat dengan menggunakan daftar
penginisialisasi yang mengisi nilai-nilai elemen array dalam satu baris.
 Ketika daftar penginisialisasi digunakan, operator new dan
ukuran array tidak ditentukan.
 Examples:
int[] num = {3, 6, 5, 7, 2, 8, 10, 20}
char[] letterGrades = {'A', 'B', 'C', 'D',
'F'}

10
Memeriksa Bounds
 Sebuah array yang telah inisialisasi memiliki ukuran tetap.
int[] num = new int[10] memiliki elements array dari
num[0] sampai num[9].
 interpreter Java akan menunjukkan kesalahan out-of-
bound pada saat waktu run jika indeks array tidak valid.
 Setiap objek array memiliki panjang atribut yang
menyimpanukuran dari array, atau jumlah elemen.
 Oleh karena itu array akan memiliki indeks yang valid dari 0
sampai (panjang-1) saja.

11
Menggunakan Arrays
 Array adalah daftar elemen memesan dari 0 sampai (panjang-1) dari array.
 Deklarasi array berikut membuat daftar String mewakili nama-nama orang dalam
buku telepon::
String[] name = new String[4]; "Mary" 0
name
"Joe" 1
Elemen-elemen array
"Ali" 2
dapat diakses
atau diperbarui dengan "Rama" 3
menentukan indeks: :
name[0] = new String("Mary");
name[1] = new String("Joe");
name[2] = new String("Ali");
name[3] = new String("Rama");

12
Melintasi Arrays
 Kita dapat menggunakan untuk loop untuk
melintasi array
 Sebagai contoh, kita dapat menampilkan setiap
elemen dari array:
for (int i = 0; i < name.length; i++)
{
System.out.println(name[i]);
}
 Kita bahkan dapat menggunakan untuk loop untuk
memungkinkanpengguna untuk
memasukkan elemen dari array melalui input interaktif.

13
Searching an Array
 Kita mungkin perlu memeriksa dengan pada
if elemen dalam array:
 Kita dapat menggunakan logika berikut ini untuk memeriksa
apakah nama pengguna yang dimasukkan dalam array nama
dideklarasikan dan diisi sebelumnya:
 meminta pengguna untuk nama yang diperlukan
 Start from i = 0
 Asumsikan bahwa tidak ditemukan
 Selama nama yang diperlukan tidak ketemu dan i< panjang
elemen array
 jika nilai pada posisi i sesuai dengan nama yang diperlukan
 kemudian nama ditemukan
 jika tidak,
 memeriksa elemen berikutnya (i = i + 1)

14
Pencarian dalam Elemen
Scanner keyboard = new Scanner (System.in);
System.out.print("Enter required name :");
String reqName = keyboard.next.readLine();
boolean found = false; // initialization
int i = 0;
while (!found && i < name.length) // not found
{
if (reqName.equalsIgnoreCase(name[i]))
found = true;
else
i++; // check next element
}
if (found)
{
System.out.print(reqName + " found ");
System.out.println(" at position " + i);
}
else
System.out.print(reqName + " not found!");
15
Perhitungan
 Kita sering perlu untuk melakukan
perhitungan menggunakan beberapa atau
semua elemen dari array:
 total dari seluruh elemen
 rata-rata
 elemen dengan nilai terbesar atau terkecil
 Asumsikan bahwa sebuah array nilai double telah
dinyatakan dan diisi:
double[] score = new double[10];

16
Menemukan Jumlah dan Rata-rata
 Dalam rangka untuk mencari total, kita harus menginisialisasi dan
melacak dari total berjalan.
 Total kemudian digunakan untuk menghitung rata-rata.

double total = 0.0;


for (int i = 0; i < score.length; i++)
{
total = total + score[i];
}
System.out.println("The total is " + total);
double avg = total / score.length;
System.out.println("The average is " + avg);

17
Mencari Nilai Maksimum
 Dalam rangka untuk mencari nilai maksimum dalam array, kita
harus ingat bahwa:
 kita biasanya mempertimbangkan sebuah array satu elemen pada
suatu waktu.
 Asumsikan bahwa skor double array yang telah dinyatakan dan
diisi:

double maxScore = score[0] // assume max at pos 0


for (int i = 1; i < score.length; i++)
{
if (score[i] > maxScore)
maxScore = score[i]; // new max found
}
System.out.println("The maximum value is " + maxScore);

18
Contoh
 Kita dapat memecahkan
masalah sebelumnya menggunakan array:
 Menulis sebuah program Java yang:
 meminta user berapa banyak nilai yang diinputkan, kemudian
memungkinkan pengguna untuk memasukkan nilai.
 Setelah skor telah dimasukkan, menghitung rata-rata.
 Juga menampilkan semua nilai yang lebih tinggi daripada rata-
rata dan menampilkan skor tertinggi

19
Array dan Metode
 Array dapat digunakan sebagai parameter dalam
metode:seluruh array dipassingkan ke metode.
 Sebagai contoh, menulis sebuah metode findEmp yang
menerima dua parameter/argumen:
 parameter pertama adalah array String yang mewakili nama-
nama karyawan
 parameter kedua adalah sebuah String mewakili nama karyawanyang
dibutuhkan
 Metode harus mengembalikan posisi karyawan yang
namanyaditemukan berdasarkan parameter kedua.

20
Array sebagai Parameters/Argumen
 Metode dapat didefinisikan sebagai berikut:

public static int findEmp(String[] name, String wanted)


{
for(int i = 0; i < name.length; i++)
if (wanted.equalsIgnoreCase(name[i]))
return i; // found at pos i

return -1; // not found


}

21
Pengembalian array sebagai Objek
 Array juga dapat menjadi nilai kembalikan dari
sebuah metode, asalkan tipe array ditentukan sebagai tipe
kembali.
 Metode berikut berisi argument array String dan
mengembalikan array lain dengan panjang masing-
masing String dalam array.

public static int[] findLengths(String[] strArray)


{
int[] strLength = new int[strArray.length];
for (int i = 0; i < strArray.length; i++)
strLength[i] = strArray[i].length();
return strLength;
}

22
Nilai awal Elemen Array

 Semua elemen dalam array secara


otomatis diinisialisasi dengan nilai default.
 Sebuah array data numerik memiliki unsur default
dengan nilai 0
double[] score = new double[10];
all elements in score will have value 0.0
semua elemen dalam skor akan memiliki nilai 0,0
 Array dari boolean akan diinisialisasi ke false.

23

Anda mungkin juga menyukai