Pemrograman C-6

ARRAY

Sebagaimana telah dipelajari pada bab sebelumnya bahwa tipe data menjelaskan jangkauan nilai yang dapat ditampung pada sebuah variabel dan kumpulan operasi yang dapat dilakukan terhadap variabel tersebut. Dengan pengecualian pada string karakter, semua tipe yang telah dipelajari sampai saat ini hanya dapat menampung sebuah nilai. Pada saat tertentu program yang dibuat dibutuhkan untuk menyelesaikan suatu permasalahan yang dikehendaki suatu variabel yang dapat menampung banyak nilai. Sebagai contoh variabel skor barangkali mencatat skor ujian dari 100 siswa. Demikian juga variabel gaji mungkin menampung gaji yang berlainan dari masing-masing pegawai suatu perusahaan.

Array adalah struktur data yang dapat menyimpan sejumlah nilai bertipe sama, sebagai contoh kita dapat menciptakan sebuah array yang dapat menampung 100 nilai bertipe int dan array kedua yang dapat menampung 25 nilai bertipe float. Setiap nilai yang ditugaskan ke array harus bertipe sama dengan array tersebut

  1. Mendeklarasikan Array

Array adalah variabel yang mampu menyimpan sejumlah nilai yang bertipe sama. Untuk mendeklarasikan sebuah array, harus disebutkan tipe dari array yang dibuat misalnya int, float atau double dan juga ukuran array. Untuk menentukan ukuran array,perlu ditempatkan jumlah nilai yang dapat disimpan array dalam sebuah tanda kurung kurawal siku yang terletak sesuah nama array. Deklarasi berikut sebagai contoh untuk menciptakan array bernama skor yang mampu menyimpan 100 skor nilai yang bertipe int.

int skor[100];

Pada saat dideklarasikan sebuah array, compiler C mengalokasikan memori yang cukup untuk menampung semua elemen sesuai dengan yang dideklarasikan. Masukan pertama berada pada lokasi 0. Sebagai contoh berdasarkan array skor, pernyataan berikut menugaskan nilai 80 pada elemen pertama dari array

skor[0] = 80;

Karena elemen pertama dari array dimulai dengan offset 0, maka elemen terakhir dari array adalah satu lokasi sebelum ukuran array. Berdasarkan array skor diatas, pernyataan berikut menugaskan nilai ke elemen terakhir dari array.

skor[99] = 75;

  1. Menginisialisasi Array

Untuk inisialisasi array ada beberapa macam yang sering dilakukan sebagai contoh perhatikan potongan program berikut ini :

char title[] = “Dasar Pemrograman”;

char section [64] = “Arrays”;

Pada kasus yang pertama, compiler C akan mengalokasikan 17 byte untuk menampung string. Pada kasus yang kedua, compiler akan mengalokasikan array 64 byte, menginisialisasi enam karakter yang yang pertama dengan huruf-huruf “Arrays” dan karakter NULL. Kebanyakan compiler juga akan menginisialisasi lokasi byte-byte tersisa dengan NULL. Pada saat dideklarasikan array dengan tipe lain, kita juga dapat menginisialisasinya dengan cara yang sama. Sebagai contoh pernyataan berikut menginisialisasi array integer scores dengan nilai 80, 70, 90, 85 dan 80.

int scores[5] = {80, 70, 90, 85, 80} ;

Pada saat kita menugaskan nilai awal ke suatu array , kita harus melingkupi nilai-nilai tersebut dengan tanda kurung kurawal{}. Dalam hal ini, ukuran array sesuai dengan jumlah nilai yang ditugaskan ke array. Akan tetapi pernyataan berikut akan menugaskan empat nilai titik mengambang ke array yang dapat menyimpan 64 nilai.

float salaries[64] = {2500000.0, 3200000.0, 4400000.0, 5500000.0};

Tergantung dari compiler yang digunakan, nilai-nilai yang ditugaskan ke elemen-elemen yang tidak secara eksplisit ditugaskan mungkin diisi dengan 0. Sebagai pegangan kita harus tidak menganggap bahwa compiler akan menginisialisasi elemen-elemen yang lain. Jika kita tidak menyebutkan ukuran array, kompiler akan mengalokasikan memori yang hanya cukup untuk menampung nilai-nilai yang disebutkan. Deklarasi array berikut menciptakan array yang cukup menampung tiga buah nilai yang bertipe long.

long planets[] = {1234L, 5678L, 12347L};

  1. Mengakses Elemen Array

Nilai yang disimpan pada sebuah array disebut elemen array. Untuk mengakses sebuah elemen array maka haus disebutkan nama array dan elemen yang dikehendaki. Sebagai latihan cobalah program pendek berikut ini.

TUGAS 6.1

Cobalah listing program berikut ini dan jelaskan hasil yang anda peroleh

#include <stdio.h>

void main (void)

{

int scores[5] = {80, 70, 90, 85, 80};

printf(“Array Values\n”);

printf(“scores[0] %d\n”, scores[0]);

printf(“scores[1] %d\n”, scores[1]);

printf(“scores[2] %d\n”, scores[2]);

printf(“scores[3] %d\n”, scores[3]);

printf(“scores[4] %d\n”, scores[4]);

}

  1. Berkalang terhadap Seluruh Elemen Array

Pada latihan 7.1 kita memakai nilai 0 hingga 4 untuk menampilkan nilai-nilai array scores. Pada saat kita mereferensi elemen array dilakukan dengan menyebutkan nomor dari setiap elemen array, pekerjaan ini sangat menjemukan. Sebagai alternative, program dapat digunakan dengan memakai sebuah variabel untuk mengacu sebuah elemen array. Sebagai contoh dengan menganggap variabel i berisi nilai 2, pernyataan berikut ini akan menugaskan array[2] ke nilai 80.

i = 2;

array[i] = 80;

Program berikut ini akan memakai variabel id an kalang for untuk menampilkan elemen array scores seperti pada latihan 7.1

TUGAS 6.2

Cobalah listing program berikut ini dan jelaskan hasil yang anda peroleh

#include <stdio.h>

void main (void)

{

int scores[5] = {80, 70, 90, 85, 80};

int i;

printf(“Array Values\n”);

for (i = 0; i < 5; i++)

printf(“scores[%d] %d\n”, scores[i]);

}

  1. Pemakaian Konstanta untuk Mendefinisikan Array

Sebagaimana telah kita pelajari pada saat program bekerja dengan array. Kita harus menyebutkan ukuran array. Sebagai contoh program berikut ini mendeklarasikan sebuah array dengan lima buah nilai dan kemudian memakai kalang for untuk menampilkan nilai array.

#include <stdio.h>

void main (void)

{

int values[5] = {80, 70, 90, 85, 80};

int i;

for (i = 0; i < 5; i++)

printf(“scores[%d] %d\n”, values[i]);

}

Anggaplah sebagai contoh bahwa kita menghendaki untuk mengubah program ini sehingga mendukung 10 nilai, maka kita tidak hanya harus merubah deklarasi array, tetapi juga kalang for. Semakin banyak yang kita ubah, semakin besar kemungkinan terjadinya kesalahan. Sebagai alternative dapat dilakukan dengan mendeklarasikan array dengan menggunakan konstanta. Sebagai contoh cobalah program berikut ini.

TUGAS 6.3

Cobalah listing program berikut ini dan jelaskan hasil yang anda peroleh

#include <stdio.h>

#define ARRAY_SIZE 5

void main (void)

{

int values[ARRAY_SIZE] = {80, 70, 90, 85, 80};

int i;

for (i = 0; i < ARRAY_SIZE; i++)

printf(“scores[%d] %d\n”, values[i]);

}

Apabila pada latihan 7.3 tersebut kelak kita akan mengubah ukuran array, maka dapat cukup dengan mengubah nilai yang ditugaskan ke konstanta ARRAY_SIZE dan kalang yang mengontrol array secara otomatis terbaharui dan begitu juga ukuran array.

TUGAS 6.4

Cobalah listing program berikut ini dan jelaskan hasil yang anda peroleh

#include <stdio.h>

void main (void)

{

int temp [31], i, min, max, avg;

ind days;

printf (“How many days in the month? “);

scanf (“%d” , &days);

for (i = 0; i<days; i++)

{

printf (“Enter noonday temperatures for day %d: “, i+1);

scanf (“%d”, &temp[i]);

}

/* find average */

avg = 0;

for ( i = 0; i < days; i++) avg = avg + temp[i];

printf (“Average temperature : %d\n”, avg/days);

/* find min and max */

min = 200; /* initialize min and max */

max = 0;

for ( i = 0; i < days; i++)

{

if (min > temp[i]) min = temp[i];

if (max < temp[i]) max = temp[i];

}

printf (“Minimum temperature : %d\n”, min);

printf (“Maximum temperature : %d\n”, max);

}

Leave a comment

No comments yet.

Comments RSS TrackBack Identifier URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s