Anda di halaman 1dari 36

Array Satu Dimensi

Pertemuan 2
Juniana Husna, M.Sc
Array / Tabel / Vektor / Larik

Array: Variable yang dapat menyimpan


banyak data dengan tipe yang sama
sekaligus.
Model Data Terstruktur
Contoh kasus
Bagaimana cara menyimpan ?

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.

Ini bukanlah contoh yang baik


int number1; untuk memperlihatkan proses
int number2; penginisialisasian dan penggunaan
int number3; variabel.

Terutama jika variabel tersebut


number1 = 1;
digunakan untuk tujuan yang sama.
number2 = 2;
number3 = 3;
Diubah menjadi
int number1; int number [2];
int number2;
int number3; number[0]=1;
number[1]=2;
number1 = 1;
number2 = 2; number[2]=3;
number3 = 3;
Pengenalan Array
 Dengan menggunakan array, sejumlah variabel dapat memakai
nama yang sama.

 Antara satu variabel dengan variabel lain di dalam


array dibedakan berdasarkan nomor elemen (subscript/indeks).

 Baik Java maupun bahasa pemrograman lain, memiliki


kemampuan untuk menggunakan satu variabel yang dapat
menyimpan sebuah data list (array), kemudian memanipulasinya
dengan lebih efektif.
Definisi Array
• Objek untuk menyimpan beberapa item data dengan tipe data yang sama
di dalam sebuah blok memori yang berdekatan yang kemudian dibagi
menjadi beberapa slot.

• Tipe dari array dapat berupa:


– tipe data primitif
– tipe data objek

• Cara penyimpanan [struktur data] inilah yang disebut sebagai array.


A

A[0] B

C
A[1] B[0]

B[1] C[0]
A[2]
C[1]
B[2]
A[3]
Array

array

Tipe data yang sama, disimpan


dalam satu tempat yang sama
dan diberi nomor indeks.

Elemen-elemen array tersusun secara sekuensial dalam memori


komputer. Array dapat berupa satu dimensi, dua dimensi, tiga dimensi
ataupun banyak dimensi, Umumnya, indeks dimulai dari “0”
NIM

NO NIM NAMA NILAI NIM[0] NAMA

1 D3001 ALI 80,78


NILAI
NIM[1] NAMA[0]
2 D3002 DIANA 90

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
• Terdapat 3 langkah untuk membuat array:
– Mendeklarasikan variabel array
– Mengcreate array beserta ukurannya.
– Memberikan sebuah nilai pada setiap element
array.
Pendeklarasian array
Untuk mendeklarasikan array :
– tulis tipe datanya,
– diikuti dengan tanda kurung [],
– serta diikuti oleh nama identifier.

Contoh:

int []ages;

atau

int ages[]; //Belum ada nilai


int ages[] = {1, 2, 3, 4, 5}; //sudah diinisiasi
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

• boolean results[ ] = { true, false, true, false };


• double [ ]grades = {100, 90, 80, 75};
• String days[ ] = { “Mon”, “Tue”, “Wed”, “Thu”, “Fri”,“Sat”, “Sun”};

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
Inisiasi array

ages[1] 10

Name of array (Note that


all the elements of this
array have the same
name, ages

ages[99
30
]

Position Number of the


element within array ages
Inisialisasi Array
• Variabel array dideklarasikan dengan mencantumkan tipe
dan nama variabel yang diikuti dengan banyaknya lokasi
memori yang ingin dibuat
Contoh : int c[7]
• Nilai suatu variabel array dapat juga diinisialisasi secara
langsung pada saat deklarasi misalnya :
int c[7] = {-45,0,6,72,43,4}
Pengaksesan elemen array
Untuk mengakses sebuah elemen dalam array , atau mengakses
sebagian elemen dari array , Anda menggunakan penomoran
yang disebut sebagai index atau subscript.

Index atau Subscript


– Dimulai dari nol dan kemudian akan terus bertambah sampai
list value dari array tersebut berakhir (sizeOfArray-1).

– 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.
Elemen-elemen dalam array dengan n-elemen
memiliki index dari 0 sampai n-1.
Array Satu Dimensi 20

 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 ke- 0 1 2 3 4 5 6 7 8 9

Nilai 23 34 32 12 25 14 23 12 11 10

cout << Elemen[4]; // akan tercetak: 25


int x = Elemen[0] + Elemen[5]; // x bernilai 37
Elemen[9] = 10; // Elemen array indeks 9 menjadi 10
TabInt[10] ??? // Berada di luar range, tidak terdefinisi!
Perbandingan variabel biasa dan 21

array
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?

#include <iostream> #include <iostream>


using namespace std; using namespace std;
int main(){ int main()
int bil0, bil1, bil2, bil3, bil4, bil5, bil6, bil7, bil8, bil9…, {
bil19; int data[5]; //array dengan 5 elemen bertipe integer
int sum; //int data[5] = {4, 1, 0, -9, 8};
cout << "Masukkan lima bilangan: "; int elemen;
cin >> bil0 >> bil1 >> bil2 >> bil3 >> bil4 >> bil5 >> bil6 >> for (elemen=0;elemen <= 4;elemen++){//entri data
bil7 >> bil8>> bil9 …; cout << "Data ke - " << elemen << ": ";
cout << endl; cin >> data[elemen];
sum = bil0 + bil1 + bil2 + bil3 + bil4 bil5 + bil6 + bil7 + bil8 + } //tampilkan data setelah entri
bil9 + … + bil19; for (elemen=0;elemen <= 4;elemen++){
cout << "Penjumlahan bilangan = " << sum << endl; cout << "Data ke - "<< elemen<< ": "<< data[elemen];
cout << "Bilangan dalam urutan terbalik adalah: "; }
cout << bil19 << “ “ << … <<bil4 << " " << bil3 << " " << bil2 return 0;
<< " " << bil1 << " " << bil0 << endl; }
return 0;
}
Program Mengisi Array Oleh user (Memberi Nilai 23
Elemen) dan Membaca Isi Array.
Bahasa C++ Bahasa Java
#include
#include <iostream>
<iostream> import java.io.*;
using namespace std; public class Program1 {
using namespace std;
int main (){ public static void main(String[] args) throws
int main() {
int nilai[5]; IOException{ BufferedReader br= new
//int
Algoritma
nilai[5]; mengisi array BufferedReader (new InputStreamReader
cout << "Masukkan data nilai = "<<endl; (System.in));
cout << "Masukkan data nilai = "<<endl;
for (int i = 0; i < 5 ; i++ ){ System.out.println("Masukkan Nilai ");
forcout
(int i <<
= 0;"Nilai
i < 5 ; i++ke ){
" << i << " = "; int[] Nilai = new int[5];
cin
cout>> << nilai[i];
"Nilai ke " << i << " = "; for( int i=0; i<5; i++ ) {
}cin >> nilai[i]; System.out.print("Nilai ke "+i +"=");
// Algoritma membaca dan menuliskan isi array ke Nilai[i]=Integer.parseInt(br.readLine());}
}
layar System.out.println("Nilai di dalam array: ");
cout
cout<< <<"Data nilai:"<<endl;
"Data nilai:"<< endl; for( int i=0; i<5; i++ ) {
forfor(int
(inti i== 0;
0; ii <<55; ;i++
i++
){ ){ System.out.print("Nilai ke "+i +"=");
cout << "Nilai ke " << i << " = " << nilai[i] << System.out.println(Nilai[i]); }
cout << "Nilai ke " << i << " = " << nilai[i] << endl;;
endl;; }
}} }
}}
Elemen array yang telah diberi nilai dapat diakses
kembali
Program Mencari Bilangan Terkecil dan Terbesar di Dalam
Array
24
 Bahasa C++  Bahasa Java

?
Program Memproses Array: Menjumlahkan Data, Menghitung Rata-rata, Mencetak
Bilangan dalam Urutan Terbalik 25
 Bahasa C++  Bahasa Java
#include <iostream>
using namespace std;
int main () {

?
int sum, i; int Nilai [10];
// Algoritma : mengisi data nilai dari input user
cout << "Isilah 10 data nilai dalam range 0-100:” <<endl;
for (i=0; i<10; i++) {cin >> Nilai[i];}
// Menjumlahkan nilai dan menghitung rata-rata
cout << "Data input:" << endl;
sum=0;
for (i=0; i<10; i++) {cout << Nilai[i] << endl;
sum = sum + Nilai[i];}
cout << endl; cout << "Rata-rata: ";
cout << sum/10.0 << endl;
cout << "Penjumlahan bilangan= "<< sum<< endl;
cout << "Bilangan dalam urutan terbalik adalah: ";
//cetak bilangan dalam urutan terbalik
for (counter = 4; counter >= 0; counter--)
cout << bil[counter] << " ";
cout << endl;
return 0;}
Mencari Indeks Suatu Nilai (searching): Asumsi semua
elemen array terdefinisi.
26

 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;
}
Latihan di kelas
Buatlah sebuah program penjumlahan
dengan angka yang dijumlahkan
sesuai dengan masukan pengguna.
Array Objek dalam Java
• 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).
Array instantiation Java
Anda juga dapat meng-instantiate sebuah array dengan cara
menginisialisasinya secara langsung dengan data.

Contoh:

Isi dari array : nilai primitif Isi dari array : object


int [] scores; Student students[] = new Student[3]
scores = new int[3]; students[0] = new Student();
scores[0] = 75;
scores[1] = 80; students[1] = new Student();
scores[2] = 100; students[2] = new Student();

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)} ;
Membuat Array dengan Initial Values
Panjang array Java
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

Contoh Program:

Hasil Running:
public class ArraySample { 0
public static void main( String[ ] args 0
){ 0
int[ ] ages = new int[100];
0
0
for( int i=0; i<ages.length; i++ ){
System.out.print( ages[i] );
false
}
false
}
false
}
false
false
false
Finished executing
Array Size dan
Array Resizing Java
1. Pada saat pembuatan loop untuk
memproses elemen-elemen dalam Array Resizing:
array, gunakanlah length field di
dalam statement pengkondisian
dalam loop. Hal ini akan Cannot resize an array
menyebabkan loop secara otomatis Can use the same reference variable to
menyesuaikan diri terhadap ukuran refer to an entirely new array:
array yang berbeda-beda.

2. constant biasanya digunakan untuk Int myArray [ ] = new int [6];


mempermudah pendeklarasian myArray [ ] = new int [10];
ukuran array di Java.

Sebagai contoh,
final int ARRAY_SIZE =
1000; //declare a constant
. . .
int[] ages = new
int[ARRAY_SIZE];
Copy Array dalam Java

Hasil Running:
1 2 3 4 5 6
1 2 3 4 5 6 4 3 2 1
Latihan
1. Buatlah array untuk menyimpan data
{1,2,3,4,5,6,7,8,9,10} dan tuliskan elemen ke 2 dan 5.
2. Buatlah array untuk menyimpan data {k,i,l,a,n,g} dan
tampilkan huruf ‘k’ dan ‘g’.
Latihan
4. Buatlah program yang akan membaca 10 angka dari
user untuk dimasukkan ke array. Selanjutnya tampilkan
elemen pertama dan terakhir ke layar.
5. Buatlah program yang akan membaca 10 angka dari
user untuk dimasukkan ke array. Selanjutnya hitunglah
rata-rata dari seluruh angka tsb & tampilkan hasilnya ke
layar.
6. Buatlah program yang akan membaca 10 angka dari
user untuk dimasukkan ke array. Selanjutnya mintalah
user memasukkan sebuah angka lagi. Carilah angka tsb
pada array. Jika ada tampilkan ke layar indeks
lokasinya, jika tidak ada tampilkan “Angka tidak
ditemukan.”
Terimakasih

Anda mungkin juga menyukai