Pertemuan 2
Array / Tabel / Vektor / Larik
A, apple, 10
Contoh kasus
Bagaimana cara menyimpan ?
A1, apple, 10
A2, apple, 10
A3, apple, 10
Cara penyimpanan tersebut dinilai tidak
efektif.
Mengapa?
“ Karena sulit untuk dilakukan
manipulasi”
Coba perhatikan code
program berikut !
Kita memiliki tiga variabel dengan tipe data int yang memiliki identifier yang
berbeda untuk tiap variabel.
A[0] B
C
A[1] B[0]
B[1] C[0]
A[2]
C[1]
B[2]
A[3]
Array
array
NAMA[1] NILAI[0]
3 D3003 RINA 70,65 NIM[2]
NILAI[1]
4 D3004 BUDI 54,345 NAMA[2]
NIM[3]
5 D3005 DODI 76
Langkah Membuat Array
Contoh:
int []ages;
atau
int ages[];
Contoh Pendeklarasian array yang lain
• int Hari[12]; // indeks 0..11
• float Nilai[15]; // indeks 0..14
• char Huruf[100]; // indeks 0..99
• string Kata[100]; // indeks 0..99
• Point Titik[20]; // indeks 0..19
• Dimension Dim[11] // indeks 0..10
Hati-hati!
Jangan mengakses elemen yang indeks-nya berada di luar definisi
Misalnya Nilai[15] index ke-15 tidak terdefinisi untuk array Nilai
Jangan membaca elemen yang belum diisi nilainya
Array instantiation
Anda juga dapat meng-instantiate sebuah array dengan cara
menginisialisasinya secara langsung dengan data.
Contoh:
ages[1] 10
ages[99] 30
– Untuk tipe data reference seperti String , nilai dari String tidak
akan diinisialisasi ke string kosong “”, sehingga Anda tetap
harus membuat array String secara eksplisit.
Elemen-elemen dalam array dengan n-elemen
memiliki index dari 0 sampai n-1.
Array Satu Dimensi
Array Satu dimensi tidak lain adalah kumpulan elemen-elemen identik
yang tersusun dalam satu baris.
Elemen-elemen tersebut memiliki tipe data yang sama, tetapi isi dari elemen
tersebut boleh berbeda.
Elemen
0 1 2 3 4 5 6 7 8 9
ke-
Nilai 23 34 32 12 25 14 23 12 11 10
21
Analisa Perbandingan antara variabel biasa dan array
Program untuk menjumlahkan 20 bilangan, dan mengurutkan bilangan secara terbalik, bagaimana jika bilangan terus
ditambah samapai ukuran yang sangat besar? Apa kelebihan dan kekurangan menggunakan Arrray dibandingkan
dengan menggunakan variable non-array?
24
Program Memproses Array: Menjumlahkan Data, Menghitung Rata-rata, Mencetak Bilangan
dalam Urutan Terbalik
25
Mencari Indeks Suatu Nilai (searching): Asumsi semua elemen array
terdefinisi.
Bahasa C++ Bahasa Java
#include <iostream>
using namespace std;
int main() {
// deklarasi dan inisiasi Array.
int A[10] = { 12, 24, 14, 25, 10,13, 21, 20, 15, 18 };
int C, J, BIL; // Variabel penampung nilai yang akan dicari.
// Menampilkan nilai yang terdapat pada elemen-elemen
array.
for (int C=0; C<10; C++) {
cout<<"A["<<C<<"]: "<<A[C]<<endl;
} cout<<endl;
// Memasukkan nilai yang akan dicari.
cout<<"Masukkan nilai yang akan dicari: ";
cin>>BIL;
// Melakukan pencarian data.
for (int J=0; J<10; J++) {
if (A[J] == BIL) {
cout<<"Nilai yang dicari "<<"terdapat pada indeks ke-"<<J;
break;}
} return 0;
}
26
Latihan di kelas
Buatlah sebuah program penjumlahan
dengan angka yang dijumlahkan
sesuai dengan masukan pengguna.
Contoh program
• Kita dapat membuat array untuk semua tipe, baik
primitif, maupun kelas/objek.
• Array untuk objek dapat dibuat dg cara yg sama :
1 Mahasiswa[] mhs;
2 mhs = new Mahasiswa[30];
3 for (c=0; c<30; c++)
4 mhs[c] = new Mahasiswa();
• Baris 1 & 2 hanya membuat array dari reference
variabel, sehingga objeknya sendiri harus dibuat
kemudian (baris 4).
Panjang array
Untuk mengetahui jumlah 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
Tipe Casting
• Untuk tipe data boolean tidak dapat dilakukan
casting.
Scope variabel
• Variabel lokal
– variabel yang dideklarasikan dalam sebuah method.
– Variabel ini hanya bisa diakses dalam method tersebut dan
variabel tersebut dihapus (destroyed) setelah method
selesai dijalankan.
• Variabel instance
– Variabel yang dideklarasikan dalam sebuah class,
diluar method.
– Merupakan variabel instance dari setiap
objek yang dicreate dari class tsb dan hanya
berlaku untuk 1 objek tsb.
Scope variabel
• Variabel static/class Variable
– Variabel instance yang dideklarasikan dengan
modifier static dalam sebuah class (diluar method).
Variabel ini dapat dibaca/dishare oleh semua objek
dari class tersebut.
Memberikan nilai pada elemen array
Isi dari array : nilai primitif
• int [] scores;
• scores = new int[3];
• scores[0] = 75;
• scores[1] = 80;
• scores[2] = 100;
Isi dari array : object
• Student students[] = new Student[3]
• students[0] = new Student();
• students[1] = new Student();
• students[2] = new Student();
Inisialisasi Array
• Gabungan dari 3 langkah
– float[] diameters = {1.1f, 2.2f, 3.3f, 4.4f, 5.5f}
– Point[] markup = {new Point(1,5), new Point(3,3), new
Point(2,3)} ;
• Untuk mengetahui besar dari array gunakan .length
setelah nama array.
– long squares ;
– squares = new long[6000] ;
– for (int i=0 ; i<squares.length ;i++)
– { squares[i] = i * i ;
– }
Terimakasih