Tuesday, February 2, 2010

Mengenal Array dalam Bahasa C


Array adalah suatu kumpulan alokasi memori untuk menyimpan suatu nilai/data yang memiliki tipe data yang sama. Sifat dan cara penamaan array mirip sekali dengan variabel biasa. Hanya saja variabel biasa tidak sehebat array, array bisa menyimpan nilai lebih dari satu (nilai-nilai dalam array harus bertipe data sama). Eh, kalau kita menyimpan nilai lebih dari satu ke dalam array dengan nama yang sama, bagaimana kita bisa mengakses nilai yang ada di dalam array? Tenang saja, tipa nilai di dalam array memiliki nomor index sehingga kita bisa mengaksesnya dengan mudah.

Deklarasi Array

Cara pendeklarasian array dalam bahasa C adalah sebagai berikut:


tipe_data nama_array[kapasitas];

contoh:

int arrayku[3];

Pendeklarasian di atas maksudnya kita mendeklarasikan sebuah array bernama arrayku yang berkapasitas tiga dan bertipe data integer. Itu artinya kita bisa memasukkan maksimal tiga buah nilai integer ke dalam array tersebut. Sedangkan cara memasukkan dan mengakses nilai dalam array adalah sebagai berikut:
#include<stdio.h>

void main(){
int arrayku[3];

arrayku[0]=5;
arrayku[1]=13;
arrayku[2]=22;

printf("%d ", arrayku[0]);
printf("%d ", arrayku[1]);
printf("%d ", arrayku[2]);
}

Oh ya, nomor index dalam array dimulai dari angka nol dan berakhir dengan angka kapasitas-1. Jadi, jika kamu memasukkan kapasitas sebesar 3, maka nomor index dimulai dari nol dan berakhir dengan angka 3-1 yaitu 2.

Jika kamu menjalankan program di atas, maka di layar akan muncul:

5 13 22

Yah, itu tadi penggunaan array secara sederhana. Terlihat tidak praktis ya? Hmm, bagaimana kalau kita buat source-nya lebih ringkas dengan sedikit jurus looping. See the source code below:
#include<stdio.h>

void main(){
int i;
int arrayku[3]={5,13,22};

for(i=0;i<3;i++){
printf("%d ", arrayku[i]);
}
}
Nah, source-nya jadi lebih praktis kan? Kalau kamu jalankan, hasilnya akan sama saja dengan source sebelumnya. Sebenarnya dengan melihat source ini kamu akan mendapat sedikit ilmu baru, yaitu inisialisasi array. Coba lihat sekali lagi, aku tidak memasukkan nilai satu-persatu seperti di source awal. Di sini aku menuliskannya menjadi: int arrayku[3]={5,13,22}; Pengindexan akan otomatis berurutan dari kiri ke kanan dan di mulai dari angka nol. Array Multi Dimensi Array yang kujelaskan tadi adalah array satu dimensi. Sebenarnya array bisa dijadikan banyak dimensi. Array Multi Dimensi adalah array yang memiliki lebih dari satu nomor index. Bisa juga disebut array dari array. Halahh, ga usah di bikin pusing. Nih cara pendeklarasiannya: tipe_data nama_array[kapasitas].....[kapasitas] Banyaknya kapasitas disesuaikan dengan dimensi array. Jadi, jika kita ingin membuat array 2 dimensi, kita bikin aja ada dua buah kapasitas (ditandai dengan jumlah kurung siku). Biar gampang kita lihat dulu contoh pendeklarasian array 2 dimensi: int arrayku[3][3]; Cara pengaksesan nilai juga masih sama, kita tinggal menuliskan nama array dan diikuti nomor index. Berikut contoh program tabel perkalian yang merupakan aplikasi dari array 2 dimensi:
#include<stdio.h>

void main(){
int i,j;
int arrayku[5][5];

for(i=0;i<5;i++){
for(j=0;j<5;j++){
arrayku[i][j]= (i+1)*(j+1);
}
}

for(i=0;i<5;i++){
for(j=0;j<5;j++){
printf("%3d", arrayku[i][j]);
}
printf("\n");
}
}

3 comment(s):

Anonymous said...

di contoh terakhir ada %3d
apa bedanya dgn d saja?

Unknown said...

sbnernya %d saja sudah cukup. tp tambahan angka 3 itu untuk aligment saja. biar keluarannya terlihat lebih rapi. coba deh tulis dan jalankan di IDE, kalo angka 3-nya diilangin pasti angka2nya jd berdempetan. :)

Indera Gunawan said...

gimana cara deklarasi array yg kapasitasnya ditentukan oleh masukan dari user?

Post a Comment

feel free to write your comment here.. :)