Anda di halaman 1dari 21

ARRAY

(bag.1)

Algoritma dan Struktur Data

Muhammad Fachrie, S.T.

3/24/2012

Definisi
Array (larik) merupakan koleksi data, dimana
setiap elemen memakai nama dan tipe
yang sama, serta setiap elemen diakses
dengan membedakan indeks array-nya.
Jenis-jenis array:
Array 1 dimensi
Array 2 dimensi
Array 3 dimensi
Muhammad Fachrie, S.T.

3/24/2012

Ilustrasi Array 1 Dimensi


Array ANEH

Indeks
array

2
-9 0
1

ANEH[1]:
1
2 213
ANEH[2]: -9
ANEH[8]: -23

Muhammad Fachrie, S.T.

1
2

5
4

1
2

2
3

4
2

7
1

10

3/24/2012

Deklarasi Array dalam


Notasi Algoritmik
<nama variabel> : array [a..b] of <tipe data>
dimana, a: nilai awal indeks array
b: nilai akhir indeks array
Contoh:
BilPrima : array [1..10] of integer

Muhammad Fachrie, S.T.

3/24/2012

Contoh Penggunaan Array


lucu : array [1..4] of integer

Lalu, untuk
integer:
aneh[1] =
aneh[2] =
aneh[3] =
aneh[4] =
Muhammad Fachrie, S.T.

Terbentuk sebuah array dengan


indeks
dari 1 s.d. 4

setiap indeks array, dimasukkan bilangan


3
12
0
-9
5

1
2

0 -9

4
3/24/2012

Penomoran indeks pada


Bahasa C
Pada notasi algoritmik, penomoran indeks
array dimulai dari 1.
Contoh:
A n d i
1

Sedangkan pada Bahasa C, penomoran


indeks array dimulai dari 0.
A n d i
Contoh:
0
Muhammad Fachrie, S.T.

2
6

4
3/24/2012

String = Array, dalam


Bahasa C
Di dalam Bahasa C, tipe data string merupakan
sebuah array, dimana elemennya terdiri dari sebuah
karakter penyusun string tersebut.
Contoh:
char nama[5];
strcpy(nama,Andi);
Maka, elemen array dari variabel nama adalah:
nama[0] : A
nama[1] : n
nama[2] : d
nama[3] : i
nama[4] :
Muhammad Fachrie, S.T.

3/24/2012

nama

A n d i
0

nama[0
]

nama[1
]

nama[2 nama[3 nama[4


]
]
]

Contoh Algoritma menggunakan Array


Integer
/*Algoritma menyimpan 4 buah angka ke dalam array*/
/*KAMUS*/
angka : array [1..4] of integer
/*ALGORITMA*/
//menerima input dari user
input(angka[1]);
input(angka[2]);
input(angka[3]);
input(angka[4]);
//menampilkan isi dari array
output(angka[1]);
output(angka[1]);
output(angka[1]);
output(angka[1]);
Muhammad Fachrie, S.T.

3/24/2012

Implementasi dengan Bahasa C


/*Program menyimpan 4 buah bilangan dalam array*/
#include <stdio.h>
#include <conio.h>
void main()
{
//deklarasi variabel
int angka[10];
//menerima input array dari user
printf("angka ke-1: "); scanf("%d",&angka[0]);
printf("angka ke-2: "); scanf("%d",&angka[1]);
printf("angka ke-3: "); scanf("%d",&angka[2]);
printf("angka ke-4: "); scanf("%d",&angka[3]);

Muhammad Fachrie, S.T.

//menampilkan
printf(angka
printf(angka
printf(angka
printf(angka
getch();

isi array
ke-1: %d,
ke-2: %d,
ke-3: %d,
ke-4: %d,
10

angka[0]);
angka[1]);
angka[2]);
angka[3]);
3/24/2012

Contoh Algoritma menggunakan Array


String
/*Algoritma menampilkan elemen karakter dari sebuah
String*/
/*KAMUS*/
nama : array [1..5] of char
/*ALGORITMA*/
Nama = Andi
//menampilkan isi dari array
output(nama[1]);
output(nama[2]);
output(nama[3]);
output(nama[4]);
output(nama[5]);
Muhammad Fachrie, S.T.

11

3/24/2012

Implementasi dengan Bahasa C


/*Program untuk menampilkan elemen dari sebuah string*/
#include <stdio.h>
#include <conio.h>
void main()
{
char nama[5];
strcpy(nama,"Andi");
printf("karakter ke-1:
printf("karakter ke-2:
printf("karakter ke-3:
printf("karakter ke-4:
printf("karakter ke-5:

%c
%c
%c
%c
%c

\n",nama[0]);
\n",nama[1]);
\n",nama[2]);
\n",nama[3]);
\n",nama[4]);

getch();
}
Muhammad Fachrie, S.T.

12

3/24/2012

Bagaimana cara mengisi array


yang jumlah indeksnya sangat
banyak?

Muhammad Fachrie, S.T.

13

3/24/2012

Apakah seperti ini algoritmanya?


angka : array [1..100] of integer
/*ALGORITMA*/
input(angka[1]);
input(angka[2]);
input(angka[3]);
input(angka[4]);
input(angka[5]);
input(angka[6]);
input(angka[7]);
input(angka[8]);
input(angka[9]);
input(angka[10]);
input(angka[11]);
input(angka[12]);
input(angka[13]);
input(angka[14]);
input(angka[15]);
input(angka[16]);
input(angka[17]);

input(angka[100]);
Muhammad Fachrie, S.T.

14

3/24/2012

TIDAK EFISIEN!
Gunakan Struktur
Pengulangan!

Muhammad Fachrie, S.T.

15

3/24/2012

Mengolah Array dengan Jumlah Indeks


yang Sangat Banyak
/*Algoritma menyimpan 100 buah angka ke dalam array*/
/*KAMUS*/
angka : array [1..100] of integer
idx : integer
/*ALGORITMA*/
//menerima input dari user
idx traversal [1..100]
input(angka[idx]);
//menampilkan isi array ke monitor
Idx traversal [1..100]
output(angka[idx]);

Muhammad Fachrie, S.T.

16

3/24/2012

Implementasi dalam Bahasa C


/*Program menyimpan 100 buah angka ke dalam array*/
#include <stdio.h>
#include <conio.h>
void main()
{
int angka[100], idx;
//menerima input dari user
for (idx=0; idx<= 99; idx++)
{
printf(angka ke-%d : ,idx);
scanf(%d,&angka[idx]);
}
//menampilkan isi array ke monitor
for (idx=0; idx<=199; idx++)
printf(angka ke-%d : %d\n,idx,angka[idx]);
getch();
}
Muhammad Fachrie, S.T.

17

3/24/2012

Latihan
Buatlah sebuah program yang mengandung array
dengan ketentuan berikut:
1. Panjang indeks array = 10
2. Tipe array = integer
Kemudian, isilah array tersebut secara berturut-turut
dengan angka: 11, 23, 17, 20, 9, 16, 42, 13, 37, 10.
Lalu, lakukanlah modifikasi pada array tersebut dengan
ketentuan semua angka genap diganti dengan nol
(0).
Contoh:
INPUT:
11 23 17 20 9 16 42 13 37 10

OUTPUT:
Muhammad Fachrie, S.T.

11 23 17

0
18

13 37

0
3/24/2012

PIKIRKAN!
KERJAKAN!

PASTI BISA!
Muhammad Fachrie, S.T.

19

3/24/2012

Logika Berpikirnya

1. Masukkan dahulu semua angka ke dalam


array
2. Buat perulangan dari sebanyak jumlah
indeks array
Cek satu angka pada sebuah indeks array
Jika angka tersebut habis dibagi 2, maka ganti
angka tersebut dengan nol (0)

3. Tampilkan kembali array yang telah


dimodifikasi
Muhammad Fachrie, S.T.

20

3/24/2012

11 23 17 20

16 42 13 37 10

Habis dibagi 2

11 23 17
Muhammad Fachrie, S.T.

Habis dibagi 2

0
21

Habis dibagi 2

13 37

0
3/24/2012

Anda mungkin juga menyukai