Array adalah sekumpulan/ sederetan object yang bertipe sama. Misalnya sebuah array bertipe integer berarti sederetan data yang berjenis integer.
contoh array bertipe integer : 1 2 3 4 5 6 4 6 7 8 5 4 3 4
contoh array bertipe char : 's' 'a' 's' 't' 'r' 'a' 'w' 'a' 'n'
jika array hanya terdiri dari satu deretan saja, maka disebut array 1 dimensi. Tetapi jika memiliki beberapa deret seperti pada tabel maka itu adalah array 2 dimensi dst.
Contoh array 2 dimensi
11 12 13 14 15
21 22 23 24 25
31 32 33 34 45
Deklarasi dan inisiasi array
Deklarasi array dapat dilakukan dengan cara sbb :
tipe namaArray[ukuranArray];
contoh :
int deretAngka[5] ;
Sekarang cobalah hitung berapa byte memory yang dicadangkan pada perintah berikut ini:
char deretHuruf[10] ;
double deretDesimal[10] ;
Jika tidak ingin menentukan panjang array di awal, maka dapat digunakan deklarasi berikut ini:
int deretAngka[] ; // tanda kurung siku dibiarkan kosong.
int deretAngka[5] ;
perintah ini akan mencadangkan sederet tempat dimemori yang dapat ditempati oleh 5 buah bilangan integer. Jika setiap bilangan integer menempati ruang ukuran 4 byte, maka total memory yang dialokasikan untuk menampung array deretAngka ini adalah 5 x 4 = 20 bytes !.
Sekarang cobalah hitung berapa byte memory yang dicadangkan pada perintah berikut ini:
char deretHuruf[10] ;
double deretDesimal[10] ;
Jika tidak ingin menentukan panjang array di awal, maka dapat digunakan deklarasi berikut ini:
int deretAngka[] ; // tanda kurung siku dibiarkan kosong.
Mengisi Array.
Setelah diinisiasi, array dapat diberikan nilai (inisiasi). Untuk memberikan nilai dapat digunakan pola berikut :
namaArray[indeks] = nilaiYangDiberikan ;
deretAngka[0] = 1 ;
Perlu diketahui bahwa penomoran indeks dalam suatu array dimulai dari 0, bukan 1. jadi perintah :
deretAngka[1] = 5 ;
akan memberi nilai 5 pada deretAngka indek 1, yaitu deretan nomor 2
perhatikan contoh berikut ini:
/* =======================================
* Contoh Array dalam C
* Created by: Sastrawan
* Topik : Membuat dan menggunakan array
* ========================================
*/
#include<stdio.h>
int main( int argc, char *argv[])
{
int deretAngka[5]; //deklarasi array ukuran 5
deretAngka[0] = 10 ;
deretAngka[1] = 11 ;
deretAngka[2] = 12 ;
deretAngka[3] = 13 ;
deretAngka[4] = 14 ;
printf("elemen deretAngka yang pertama = %d \n", deretAngka[0]);
printf("elemen deretAngka yang kedua = %d \n", deretAngka[1]);
printf("elemen deretAngka yang ketiga = %d \n", deretAngka[2]);
printf("Mengisi elemen array deretAngka yang ke 3 dengan 30 \n");
deretAngka[2]= 30 ;
printf("elemen deretAngka yang ketiga = %d \n\n", deretAngka[2]);
// Mencetak isi array
int panjang = sizeof(deretAngka); //Menghitung jumlah byte yang
//dibutuhkan untuk arrayIntY.
//ingat integer membutuhkan 4 byte
//jadi banyak elemen dalam array ini = jumlahmemory/4
printf("Banyaknya memory deretAngka adalah %d Bytes\n", panjang);
printf("Banyaknya elemen deretAngka adalah %d \n\n", panjang/4);
int i ;
for(i=0; i<(panjang/4) ; i++) {
printf("elemen ke deretAngka %d adalah %d \n",i,deretAngka[i]);
}
return 0 ;
}
Outputnya adalah sbb :
elemen deretAngka yang pertama = 10
elemen deretAngka yang kedua = 11
elemen deretAngka yang ketiga = 12
Mengisi elemen array deretAngka yang ke 3 dengan 30
elemen deretAngka yang ketiga = 30
Banyaknya memory deretAngka adalah 20 Bytes
Banyaknya elemen deretAngka adalah 5
elemen ke deretAngka 0 adalah 10
elemen ke deretAngka 1 adalah 11
elemen ke deretAngka 2 adalah 30
elemen ke deretAngka 3 adalah 13
elemen ke deretAngka 4 adalah 14
Untuk mempersingkat penulisan, anda juga dapat menggunakan teknik berikut untuk mendeklarasikan dan menginisasi array sekaligus sbb :
int deretAngka[5] = {10,11,12,13,14}; //deklarasi dan inisiasi
int deretAngka[] = {10,11,12,13,14,15,16,17}
Perhatikan contoh berikut ini akan menghasilkan output yang indentik dengan output sebelumnya
/* =======================================
* Contoh Array dalam C
* Created by: Sastrawan
* Topik : Membuat dan menggunakan array
* ========================================
*/
#include<stdio.h>
int main( int argc, char *argv[])
{
int deretAngka[5] = {10,11,12,13,14}; //deklarasi array ukuran 5
printf("elemen deretAngka yang pertama = %d \n", deretAngka[0]);
printf("elemen deretAngka yang kedua = %d \n", deretAngka[1]);
printf("elemen deretAngka yang ketiga = %d \n", deretAngka[2]);
printf("Mengisi elemen array deretAngka yang ke 3 dengan 30 \n");
deretAngka[2]= 30 ;
printf("elemen deretAngka yang ketiga = %d \n\n", deretAngka[2]);
// Mencetak isi array
int panjang = sizeof(deretAngka); //Menghitung jumlah byte yang
//dibutuhkan untuk arrayIntY.
//ingat integer membutuhkan 4 byte
//jadi banyak elemen dalam array ini = jumlahmemory/4
printf("Banyaknya memory deretAngka adalah %d Bytes\n", panjang);
printf("Banyaknya elemen deretAngka adalah %d \n\n", panjang/4);
int i ;
for(i=0; i<(panjang/4) ; i++) {
printf("elemen ke deretAngka %d adalah %d \n",i,deretAngka[i]);
}
return 0 ;
}
Bagaimana dengan array tipe lain ?. Tentu saja sama. Anda hanya perlu berhati-hati dengan formatnya. Misalnya untuk mencetak character maka anda perlu menggunakan placeholder %c, integer %d, dst. Perhatikan contoh berikut ini :
/* =======================================
* Contoh Array dalam C
* Created by: Sastrawan
* Topik : Membuat dan menggunakan arraystring
* ========================================
*/
#include<stdio.h>
int main( int argc, char *argv[])
{
char deretHuruf[] = {"Sastrawan Zakariya"}; //deklarasi array ukuran 5
//perhatikan bahwa inisasi langsung seperti diatas harus menggunakan
// tanda petik GANDA
printf("elemen deretHuruf yang pertama = %c \n", deretHuruf[0]);
printf("elemen deretHuruf yang kedua = %c \n", deretHuruf[1]);
printf("elemen deretHuruf yang ketiga = %c \n", deretHuruf[2]);
//contoh cara mengisi elemen array bertipe char menggunakan ''
printf("Mengisi elemen array deretHuruf yang ke 3 dengan S \n");
deretHuruf[2]= 'S' ;
deretHuruf[3]= 'T' ;
deretHuruf[4]= 'R' ;
printf("elemen deretHuruf yang ketiga = %c \n\n", deretHuruf[2]);
// Mencetak isi array
int panjang = sizeof(deretHuruf); //Menghitung jumlah byte yang
//dibutuhkan untuk arrayIntY.
//ingat integer membutuhkan 4 byte
//jadi banyak elemen dalam array ini = jumlahmemory/4
//perintah berikut ini akan menghasilkan panjang elemen di tambah
// ditambah 1 karena untuk tipe string, C akan menambahkan
// satu karakter \0 (null) yang menandai akhir string.
printf("Banyaknya memory deretHuruf adalah %d Bytes\n", panjang);
// satu char membutuhkan 1 byte
printf("Banyaknya elemen deretHuruf adalah %d \n\n", panjang/1);
int i ;
for(i=0; i<(panjang) ; i++) {
printf("elemen ke deretHuruf %d adalah %c \n",i,deretHuruf[i]);
}
//mencetak semuanya secara berurut
for(i=0; i<(panjang) ; i++) {
printf("%c",deretHuruf[i]);
}
return 0 ;
}
OUTPUTNYA :
elemen deretHuruf yang pertama = S
elemen deretHuruf yang kedua = a
elemen deretHuruf yang ketiga = s
Mengisi elemen array deretHuruf yang ke 3 dengan S
elemen deretHuruf yang ketiga = S
Banyaknya memory deretHuruf adalah 19 Bytes
Banyaknya elemen deretHuruf adalah 19
elemen ke deretHuruf 0 adalah S
elemen ke deretHuruf 1 adalah a
elemen ke deretHuruf 2 adalah S
elemen ke deretHuruf 3 adalah T
elemen ke deretHuruf 4 adalah R
elemen ke deretHuruf 5 adalah a
elemen ke deretHuruf 6 adalah w
elemen ke deretHuruf 7 adalah a
elemen ke deretHuruf 8 adalah n
elemen ke deretHuruf 9 adalah
elemen ke deretHuruf 10 adalah Z
elemen ke deretHuruf 11 adalah a
elemen ke deretHuruf 12 adalah k
elemen ke deretHuruf 13 adalah a
elemen ke deretHuruf 14 adalah r
elemen ke deretHuruf 15 adalah i
elemen ke deretHuruf 16 adalah y
elemen ke deretHuruf 17 adalah a
elemen ke deretHuruf 18 adalah
SaSTRawan Zakariya
Perhatikan hasil akhirnya. pada elemen ke 18 berisi NULL yang merupakan tanda akhir dari sebuah string. Demikian juga huruf S T R yang berubah menjadi huruf besar karena sudah diubah secara manual dengan menggunakan indek dan tanda kutip tunggal ''
Dari penjelasan ini kita dapat melihat bahwa sebenarnya STRING adalah ARRAY of CHARACTER. Inilah alasannya mengapa saya tidak membahas data bertipe string pada pembahasan sebelumnya. Saya menunggu sampai pembahasan mengenai array ini dibuat sekaligus dengan membahas data tipe string.
Sekali lagi sekedar mempertegas bahwa STRING ADALAH ARRAY CHARACTER yang pada ujungnya ditambahkan karakter NULL secara otomatis oleh compiler C. Dengan demikian ukuran array ini selalu jumlah character di tambah 1.
jadi string "puasa" adalah sebenarnya array 'p','u','a','s','a','\0'
dengan panjang 6 bytes ( 5 huruf puasa + 1 NULL)
Tidak ada komentar:
Posting Komentar
Write your comment here