Anda di halaman 1dari 28

Dasar Pemrograman

Array
Array 1D
Defenisi
 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
Defenisi
 Elemen-elemen array tersusun secara berderet dan dapat
diakses secara random di dalam memori.

 Array memiliki alamat yang besebelahan/ berdampingan


tergantung lebar tipe datanya.

 Elemen-elemen array bertipe data sama dan bisa berisi


nilai yang sama atau berbeda-beda.
Pengaksesan elemen array
 Elemen-elemen array dapat diakses oleh program menggunakan
suatu indeks tertentu secara random ataupun berurutan
 Pengisian dan pengambilan nilai pada indeks tertentu dapat
dilakukan dengan mengeset nilai atau menampilkan nilai pada
indeks yang dimaksud.
 Dalam C, tidak terdapat error handling terhadap batasan nilai
indeks, apakah indeks tersebut berada di dalam indeks array
yang sudah didefinisikan atau belum.
Inisialisasi array
 Menginisialisasi array sama dengan memberikan nilai awal array
pada saat didefinisikan.

int nilai[6] = {8,7,5,6,4,3};


 bisa disederhanakan sehingga menjadi :
int nilai = {8,7,5,6,4,3};

 Keterangan :
Contoh diatas berarti anda memesan tempat di memori
komputer sebanyak 6 tempat dengan indeks dari 0-5, dimana
indeks ke-0 bernilai 8, ke-1 bernilai 7, dst, dan semua elemennya
bertipe data integer.
Inisialisasi array
Catatan:
Untuk memberikan niai 0 terhadap seluruh elemen array pada
saat didefinisikan, Anda dapat memberikan nilai awal 0 pada
elemen pertama. Sebagai contoh:
Int temp[100] = {0};
Akan memberikan hasil pemberian nilai nol dari subscript bernilai 0
hingga 99.
Ilustrasi array 1 dimensi

0 1 2 3 4 5 6 7 indeks

10 44 2 76 0 56 70 7 value

1d2 1d4 1d6 1d8 1da 2dc 2de 1e0 alamat


Ilustrasi Array 1D int
0 1 2 3 4 5 6 7 indeks

value

22ff40 22ff41 22ff42 22ff43 22ff44 22ff45 22ff46 22ff47 alamat

%x adalah hexadesimal
Ilustrasi Array 1D Char
0 1 2 3 4 5 6 7 indeks

value

22ff20 22ff24 22ff28 22ff2c 22ff30 22ff34 22ff38 22ff3c alamat

%x adalah hexadesimal
Ilustrasi Array 1D

Array ANEH

21 -9 0 12 54 12 1 -23 42 71
1 2 3 4 5 6 7 8 9 10

Indeks Array:
ANEH[1]: 21
ANEH[2]: -9
ANEH[8]: -23
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
Contoh Penggunaa Array

lucu : array [1..4] of integer

Terbentuk sebuah array dengan indeks


1 2 3 4 dari 1 s.d. 4

Lalu, untuk setiap indeks array, dimasukkan bilangan


integer:
aneh[1] = 3
aneh[2] = 12 3 12 0 -9
aneh[3] = 0 1 2 3 4
aneh[4] = -9
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] : “
Contoh Penggunaan Array

nama

A n d i
0 1 2 3 4

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]);
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]);
//menampilkan isi array
printf(“angka ke-1: %d\n”, angka[0]);
printf(“angka ke-2: %d\n”, angka[1]);
printf(“angka ke-3: %d\n”, angka[2]);
printf(“angka ke-4: %d\n”, angka[3]);
getch();
}
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]);
Implementasi dengan Bahasa C
/*Program untuk menampilkan elemen dari sebuah
string*/
#include <stdio.h>
#include <conio.h>
void main()
{
char nama[5];
nama[0]='a';
nama[1]='n';
nama[2]='d';
nama[3]='i';
nama[4]=' ';
printf("karakter ke-1: %c \n",nama[0]);
printf("karakter ke-2: %c \n",nama[1]);
printf("karakter ke-3: %c \n",nama[2]);
printf("karakter ke-4: %c \n",nama[3]);
printf("karakter ke-5: %c \n",nama[4]);
getch();
}
Bagaimana Mengisi Array
dalam jumlah indeks yang
banyak..???
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]);
TIDAK EFISIEN!
Gunakan
Struktur Pengulangan!
Pengulangan untuk Indeks 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]);
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();
}
Pencarian Array
Keunggulan Array

 Array sangat cocok untuk pengaksesan acak. Sembarang


elemen di array dapat diacu secara langsung tanpa
melalui elemen-elemen lain.

 Jika berada di suatu lokasi elemen, maka sangat mudah


menelusuri ke elemen-elemen tetangga, baik elemen
pendahulu atau elemen penerus

 Jika elemen-elemen array adalah nilai-nilai independen


dan seluruhnya harus terjaga, maka penggunaan
penyimpanannya sangat efisien
Kelemahan Array

 Array harus bertipe homogen. Kita tidak dapat


mempunyai array dimana satu elemen adalah karakter,
elemen lain bilangan, dan elemen lain adalah tipe-tipe
lain

 Tidak efisien dalam penggunaan memori

 Menyiakan banyak waktu komputasi

 Pada suatu aplikasi, representasi statis tidak


dimungkinkan
END..!!

Anda mungkin juga menyukai