ARRAY
12
Tujuan Instruksi Umum (TIU):
Mampu memahami konsep tipe data array dan mampu mengimplementasikan array untuk pemecahan masalah pemrograman yang lebih kompleks.
Tujuan Instruksi Khusus (TIK):
• Memahami definisi array dan konsep array.
• Mampu mendeklarasikan array dalam bahasa C.
• Mampu membuat program dengan bantuan tipe data array.
Pembahasan Materi:
• Pengertian Array • Deklarasi Array
• Array multidimensi (banyak dimensi) • Array sebagai Parameter
12.1 Pengertian Array
Array merupakan kumpulan dari nilai-nilai data yang bertipe sama dalam urutan tertentu yang menggunakan nama yang sama. Letak atau posisi dari elemen array ditunjukkan oleh suatu index. Dilihat dari dimensinya array dapat dibagi menjadi Array dimensi satu, array dimensi dua dan array multi-dimensi. Setiap elemen array dapat diakses melalui indeks. Dalam bahasa C indeks dimulai dari 0 (nol).
Itu berarti dengan menggunakan array jika kita ingin menyimpan lima nilai bertpe data int kita tidak perlu mendeklarasikan lima variabel yang berbeda dengan tipe data int , kita cukup mendeklarasikan satu variabel array engan tipe data int .
Sebagai contoh, sebuah array yang dapat menampung lima bilangan bulat yang diberi nama Nilai maka
dapat digambarkan sebagai berikut:
Nilai[0]
Nilai[1] Nilai[2]
Nilai[3]
Nilai[4]
Nama array
34
43
12
11
12
indeks
Banyaknya elemen dalam array
99
-----------------------------------------------------Page 1-----------------------------------------------------
12.2 Deklarasi Array
Seperti halnya penggunaan variabel, array pun sebelum digunakan harus dideklarasikan terlebih dahulu.
Pada bahasa C pendeklarasian array adalah sebagai berikut:
Bentuk umum :
Tipe_array nama_array[ukuran];
- tipe_array
- nama_array - [ukuran]
: : :
adalah tipe data yang dapat ditampung oleh array. nama variabel array yang dideklarasikan.
banyaknya nilai yang dapat ditampung oleh array (banyaknya elemen array).
Contoh:
int x[5];
float diameter[10];
char kata[20];
Inisialisai (pemberian nilai awal) sebuah array:
Pemberian nilai awal dari sebuah array dapat dilakukan bersamaan pada saat deklarasi ataupun setelah sebuah array dideklarasikan. Untuk inisialisasi bersamaan dengan pendeklarasian array dapat dilihat pada contoh di bawah ini:
int x[] = {10, 34, 22, 56, 23};
Dari contoh di atas dapat diberi penjelasan sebagai berikut:
- Dideklarasikan sebuah array yang diberi nama x yang mempunyai nilai-nilai elemen 10, 34, 22, 56 dan 23. - Variabel x dideklarasikan dengan tidak menuliskan jumlah elemen yang dapat ditampung, hal ini
diperkenankan dan biasanya array semacam ini disebut array yang tidak berukuran.
- Untuk array yang tidak berukuran kompiler C akan secara otomatis menentukan ukuran tergantung dari
jumlah nilai-nilai elemn yang diberikan saat deklarasi.
- Untuk contoh di atas, maka dapat dikatakan variabel x mempunyai lima elemen.
Catatan:
- Array tidak dapat dideklarasikan tanpa ukuran dan tanpa pemberian nilai awal, seperti berikut: int x[];
kompiler akan memberikan pesan kesalahan bahwa array tidak memiliki ukuran.
- Permasalahan sering muncul jika pembuat program belum dapat menentukan berapa jumlah elemen array yang akan digunakan dalam programnya. Hal ini dapat diatasi dengan menentukan jumlah maksimal elemen
yang ditampung terlebih dahulu
saat pendeklarasian dengan melihat batasan memori yang digunakan.
Misalnya jumlah elemen array terlebih dahulu ditentukan 100, kemudian dalam program ada masukan yang menanyakan jumlah elemen array sesungguhnya yang dibutuhkan, misalnya pengguna program hanya menggunakan 10 elemen saja, maka sisa elemen yang telah ditentukan sebelumnya tidak akan digunakan meskipun sudah dipesan penempatannya dalam memori. Contoh program dapat dilihat pada listing program 12.1.
100
-----------------------------------------------------Page 2-----------------------------------------------------
Pengaksesan nilai dari sebuah array:
Elemen array dapat diakses dalam program. Pengaksesan yang dimaksud dapat berupa pemberian nilai maupun mengambil nilai yang disimpan dalam sebuah array. Bentuk umum pengaksesan array adalah sebagai berikut:
nama_array[indeks]
Contoh:
int lili[4];
lili[0]=10;
lili[1]= lili[0]/2;
lili[2]= lili[1] * lili[0];
lili[3]=2;
Listing Program 12.1 Contoh Array dengan ukuran
/* Program untuk menginput nilai mahasiswa ke dalam array satu dimensi */
#include <stdio.h> #include <conio.h>
void main() {
int index, nilai[10]; clrscr();
printf("Input nilai 10 mahasiswa\n"); /* input nilai mahasiswa */ for(index=0; index < 10; index++)
{ printf("Mahasiswa %i : ", index+1);
scanf("%i", &nilai[index]);
}
/* tampilkan nilai mahasiswa */
printf("\nNilai mahasiswa yang telah diinput\n"); for(index=0; index < 10; index++) { printf("%5.0i", nilai[index]); }
getch();
}
Hasil Running Program:
Input nilai 10 mahasiswa Mahasiswa 1 : 73 Mahasiswa 2 : 43 Mahasiswa 3 : 56 Mahasiswa 4 : 93 Mahasiswa 5 : 38 Mahasiswa 6 : 45 Mahasiswa 7 : 78 Mahasiswa 8 : 84 Mahasiswa 9 : 76 Mahasiswa 10 : 58
Nilai mahasiswa yang telah diinput
73 43 56 93 38 45 78
84
76
58
101
-----------------------------------------------------Page 3-----------------------------------------------------
Listing Program 12.2 Jumlah Elemen Array Ditentukan Pengguna
/*
Program untuk menginput nilai mahasiswa ke dalam array, jumlah mahasiswa
ditentukan oleh pengguna*/
#include <stdio.h> #include <conio.h> #define max 100
void main() {
int n, index, nilai[max]; clrscr();
printf("Input banyaknya mahasiswa: "); /*Input jumlah elemen array sesungguhnya */ scanf("%i", &n);
printf("\n"); /* input nilai mahasiswa */ for(index=0; index < n; index++)
{ printf("Mahasiswa %i : ", index+1);
scanf("%i", &nilai[index]);
}
/* tampilkan nilai mahasiswa */
printf("\nNilai mahasiswa yang telah diinput\n"); for(index=0; index < n; index++) { printf("%5.0i", nilai[index]); }
getch();
}
Hasil Running Program:
Input banyaknya mahasiswa: 5
Mahasiswa 1 : 73 Mahasiswa 2 : 43 Mahasiswa 3 : 56 Mahasiswa 4 : 93 Mahasiswa 5 : 38
Nilai mahasiswa yang telah diinput
73 43 56 93 38
12.3 Array Multi Dimensi
Array multi dimensi dapat digambarkan sebagai “array di dalam array”. Bahasa C tidak membatasi jumlah dimensi array, yang membatasi hanyalah jumlah memori yang tersedia. Array multi dimensi yang banyak dipergunakan dalam pemrograman adalah array dua dimensi.
Array dua dimensi dapat diumpamakan sebagai sebuah tabel ataupun matrik yang memiliki baris dan
kolom. Sebagai contoh dapat dilihat gambar di bawah ini:
102
-----------------------------------------------------Page 4-----------------------------------------------------
Variabel jimmy merupakan array dua dimensi yang mempunyai elemen 3 baris, dimana masing-masing baris memiliki 5 kolom. Total elemen array adalah 15 elemen. Dalam bahasa C jimmy dapat dideklarsikan sebagai berikut:
int jimmy [3][5];
atau jika ingin mendeklarasikan dengan memberikan nilai awal untuk masing-masing elemen dapat
dilakukan sebagai berikut:
int jimmy [3][5]= {7, 5, 6, 8, 3, 2, 3, 5, 6, 3, 1, 0, 4, 7, 5};
Supaya memperjelas pemberian nilai awal, penulisan deklarasi dapat juga dituliskan sebagai berikut:
int jimmy [3][5]= {
7, 5, 6, 8, 3,
2, 3, 5, 6, 3,
1, 0, 4, 7, 5
};
Array dua dimensi jimmy ini dapat pula dideklarasikan secara tidak berukuran sebagai berikut:
int jimmy [][5]= {7, 5, 6, 8, 3, 2, 3, 5, 6, 3, 1, 0, 4, 7, 5};
Catatan:
Dalam pendeklarasian array dua dimensi yang dapat tidak disebutkan jumlah elemennya adalah untuk dimensi yang pertama, sedang dimensi yang kedua harus ditentukan jumlah elemennya. Dengan mengetahui jumlah elemen dari dimensi kedua maka dapat menentukan jumlah elemen untuk masing-masing dimensi kedua. Berdasarkan contoh di atas maka dapat ditentukan 5 nilai pertama adalah untuk baris pertama, kemudian 5 nilai berikutnya adalah untuk baris kedua dan 5 nilai terakhir adalah untuk baris terakhir.
Contoh penggunaan array dua dimensi adalah program untuk menginput matrik dan menampilkan matrik
tersebut. Program matrik disajikan dalam listing program 12.3.
Listing Program 12.3 Program Input Matriks
/* Program menginput nilai(bilangan) ke dalam array
dimensi dua dan menampilkannya */
#include <stdio.h> #include <conio.h>
void main() {
int baris, kolom, matriks[2][3];
// Input elemen array
for(baris=0; baris<2; baris++) { for(kolom=0; kolom<3; kolom++)
103
-----------------------------------------------------Page 5-----------------------------------------------------
{
printf("matriks[%i][%i]: ", baris+1, kolom+1);
scanf("%i", &matriks[baris][kolom]);
}
printf("\n");
}
// Tampilkan elemen Array
printf("Isi array : \n");
for(baris=0; baris<2; baris++) { for(kolom=0; kolom<3; kolom++)
{ printf("%5.0i", matriks[baris][kolom]); }
printf("\n");
}
getch();
}
Hasil Running Program:
matriks[1][1]:12 matriks[1][2]:13 matriks[1][3]:21
matriks[2][1]:11 matriks[2][2]:7 matriks[2][3]:9
Isi array :
12 13 11 7
21
9
12.4 Array sebagai Parameter
Jika array dijadikan sebagai parameter dari suatu fungsi, maka untuk mengirimkan array tersebut harus
menggunakan alamat array, yaitu pengiriman parameter secara alamat.
Sebagai contoh pada listing program 11.4, program meminta pengguna program memasukkan sejumlah
bilangan bulat, kemudian bilangan bulat tersebut akan dikalikan dengan dua dan ditampilkan.
Pada program 11.4 mempunyai modul inputArray(arg[],
pjng) yang bertipe void, modul
inputArray bertujuan untuk meminta pengguna memasukkan nilai dari elemen-elemen array, banyaknya elemen array tergantung dari nilai yang diterima oleh parameter pjng . Nilai-nilai tersebut akan diberi kepada array arg . arg[], pjng dijadikan sebagai parameter aktual.
Modul kaliArray(arg[], pjng) bertujuan untuk mengalikan nilai elemen-elemen arg dengan dua. Untuk mengisikan nilai elemen-elemen array arg digunakan perulangan sebanyak jumlah elemen yang nilai banyaknya elemen didapat dari parameter pjng .
Modul cetakArray(arg[],
pjng) bertujuan untuk mencetak nilai elemen-elemen
arg . Untuk
menampilkan nilai elemen-elemen array arg digunakan perulangan sebanyak jumlah elemen yang nilai banyaknya elemen didapat dari parameter pjng .
Dalam modul main() , dideklarasikan array arr yang mampu menampung maksimal 100 nilai, dan
104
-----------------------------------------------------Page 6-----------------------------------------------------
variabel bnyk yang bertipe integer. Pertama program meminta masukan dari pengguna berupa jumlah elemen array, nilai tersebut diberikan kepada variabel bnyk . Kemudian program memanggil fungsi inputArray , variabel yang dijadikan parameter aktual adalah arr dan bnyk . Pada pemanggilan fungsi dalam fungsi main() dengan mengirimkan array sebagai parameter ukuran dari array yang ditandai dengan tanda “[]” tidak perlu dituliskan cukup nama array-nya saja, seperti pemanggilan berikut: inputArray(arr, bnyk) .
Listing Program 12.4 Program Array Sebagai Parameter
#include <stdio.h> #include <conio.h>
void inputArray(int arg[], int pjng) { for(int i=0; i< pjng; i++){
printf("Masukkan arr[%d]: ",i+1); scanf("%d", &arg[i]);
} }
void kaliArray (int arg[], int pjng) { for (int n=0; n<pjng; n++)
arg[n] *=2;
}
void cetakArray (int arg[], int pjng)
/* fungsi Input elemen array */
/* fungsi mengalikan elemen array dengan 2 */
/* fungsi cetak elemen array */
{ for (int n=0; n<pjng; n++) printf("%4.0d",arg[n]," "); printf("\n");
}
int main () {
int bnyk, arr[100];
printf("Program Array sebagai Argumen dalam Fungsi\n"); printf("Masukkan jumlah elemen : "); scanf("%d", &bnyk);
inputArray(arr, bnyk); /* Pengiriman array ke parameter dalam fungsi */ kaliArray(arr, bnyk); cetakArray(arr, bnyk); return 0;
}
Hasil Running Program:
Program Array sebagai Argumen dalam Fungsi Masukkan jumlah elemen : 5 Masukkan arr[1] : 12 Masukkan arr[2] : 23 Masukkan arr[3] : 5 Masukkan arr[4] : 33 Masukkan arr[5] : 65
24
46
10
33
65
105
-----------------------------------------------------Page 7-----------------------------------------------------
Latihan:
1. Apakah array dapat digunakan sebagai return type sebuah fungsi?
2. sebuah array dideklarasikan dengan float xy[10][5]; berapa banyak memori yang digunakan array ini? 3. Bagaimana mengetahui jumlah dimensi array? 4. Apakah beda variabel array dengan variabel biasa?
Tugas Mandiri:
1. Buatlah algoritma untuk menghitung rata-rata dari beberapa nilai mahasiswa, banyaknya niali yang akan
dihitung berdasarkan masukan dari pengguna program.
2. Buatlah algoritma untuk menjumlahkan dua buah matriks yang terdiri fungsi untuk menginput matriks, fungsi
untuk menjumlahkan matriks dan fungsi untuk mencetak matriks.
==============
Referensi:
Cheltenham Computer Training, C Programming , www.cctglobal.com , United Kingdom, 1997
Deitel & Deitel, C How to Program 3rd Edition , Prentice Hall, New Jersey, 2001
Jogiyanto, Konsep Dasar Pemrograman Bahasa C , Andi Offset, Yogyakarta, 1993
Thompson Susabda Ngoen, Pengantar Algoritma dengan Bahasa C , Salemba Teknika, Jakarta, 2004
☺☺☺
106
-----------------------------------------------------Page 8-----------------------------------------------------
12
Tujuan Instruksi Umum (TIU):
Mampu memahami konsep tipe data array dan mampu mengimplementasikan array untuk pemecahan masalah pemrograman yang lebih kompleks.
Tujuan Instruksi Khusus (TIK):
• Memahami definisi array dan konsep array.
• Mampu mendeklarasikan array dalam bahasa C.
• Mampu membuat program dengan bantuan tipe data array.
Pembahasan Materi:
• Pengertian Array • Deklarasi Array
• Array multidimensi (banyak dimensi) • Array sebagai Parameter
12.1 Pengertian Array
Array merupakan kumpulan dari nilai-nilai data yang bertipe sama dalam urutan tertentu yang menggunakan nama yang sama. Letak atau posisi dari elemen array ditunjukkan oleh suatu index. Dilihat dari dimensinya array dapat dibagi menjadi Array dimensi satu, array dimensi dua dan array multi-dimensi. Setiap elemen array dapat diakses melalui indeks. Dalam bahasa C indeks dimulai dari 0 (nol).
Itu berarti dengan menggunakan array jika kita ingin menyimpan lima nilai bertpe data int kita tidak perlu mendeklarasikan lima variabel yang berbeda dengan tipe data int , kita cukup mendeklarasikan satu variabel array engan tipe data int .
Sebagai contoh, sebuah array yang dapat menampung lima bilangan bulat yang diberi nama Nilai maka
dapat digambarkan sebagai berikut:
Nilai[0]
Nilai[1] Nilai[2]
Nilai[3]
Nilai[4]
Nama array
34
43
12
11
12
indeks
Banyaknya elemen dalam array
99
-----------------------------------------------------Page 1-----------------------------------------------------
12.2 Deklarasi Array
Seperti halnya penggunaan variabel, array pun sebelum digunakan harus dideklarasikan terlebih dahulu.
Pada bahasa C pendeklarasian array adalah sebagai berikut:
Bentuk umum :
Tipe_array nama_array[ukuran];
- tipe_array
- nama_array - [ukuran]
: : :
adalah tipe data yang dapat ditampung oleh array. nama variabel array yang dideklarasikan.
banyaknya nilai yang dapat ditampung oleh array (banyaknya elemen array).
Contoh:
int x[5];
float diameter[10];
char kata[20];
Inisialisai (pemberian nilai awal) sebuah array:
Pemberian nilai awal dari sebuah array dapat dilakukan bersamaan pada saat deklarasi ataupun setelah sebuah array dideklarasikan. Untuk inisialisasi bersamaan dengan pendeklarasian array dapat dilihat pada contoh di bawah ini:
int x[] = {10, 34, 22, 56, 23};
Dari contoh di atas dapat diberi penjelasan sebagai berikut:
- Dideklarasikan sebuah array yang diberi nama x yang mempunyai nilai-nilai elemen 10, 34, 22, 56 dan 23. - Variabel x dideklarasikan dengan tidak menuliskan jumlah elemen yang dapat ditampung, hal ini
diperkenankan dan biasanya array semacam ini disebut array yang tidak berukuran.
- Untuk array yang tidak berukuran kompiler C akan secara otomatis menentukan ukuran tergantung dari
jumlah nilai-nilai elemn yang diberikan saat deklarasi.
- Untuk contoh di atas, maka dapat dikatakan variabel x mempunyai lima elemen.
Catatan:
- Array tidak dapat dideklarasikan tanpa ukuran dan tanpa pemberian nilai awal, seperti berikut: int x[];
kompiler akan memberikan pesan kesalahan bahwa array tidak memiliki ukuran.
- Permasalahan sering muncul jika pembuat program belum dapat menentukan berapa jumlah elemen array yang akan digunakan dalam programnya. Hal ini dapat diatasi dengan menentukan jumlah maksimal elemen
yang ditampung terlebih dahulu
saat pendeklarasian dengan melihat batasan memori yang digunakan.
Misalnya jumlah elemen array terlebih dahulu ditentukan 100, kemudian dalam program ada masukan yang menanyakan jumlah elemen array sesungguhnya yang dibutuhkan, misalnya pengguna program hanya menggunakan 10 elemen saja, maka sisa elemen yang telah ditentukan sebelumnya tidak akan digunakan meskipun sudah dipesan penempatannya dalam memori. Contoh program dapat dilihat pada listing program 12.1.
100
-----------------------------------------------------Page 2-----------------------------------------------------
Pengaksesan nilai dari sebuah array:
Elemen array dapat diakses dalam program. Pengaksesan yang dimaksud dapat berupa pemberian nilai maupun mengambil nilai yang disimpan dalam sebuah array. Bentuk umum pengaksesan array adalah sebagai berikut:
nama_array[indeks]
Contoh:
int lili[4];
lili[0]=10;
lili[1]= lili[0]/2;
lili[2]= lili[1] * lili[0];
lili[3]=2;
Listing Program 12.1 Contoh Array dengan ukuran
/* Program untuk menginput nilai mahasiswa ke dalam array satu dimensi */
#include <stdio.h> #include <conio.h>
void main() {
int index, nilai[10]; clrscr();
printf("Input nilai 10 mahasiswa\n"); /* input nilai mahasiswa */ for(index=0; index < 10; index++)
{ printf("Mahasiswa %i : ", index+1);
scanf("%i", &nilai[index]);
}
/* tampilkan nilai mahasiswa */
printf("\nNilai mahasiswa yang telah diinput\n"); for(index=0; index < 10; index++) { printf("%5.0i", nilai[index]); }
getch();
}
Hasil Running Program:
Input nilai 10 mahasiswa Mahasiswa 1 : 73 Mahasiswa 2 : 43 Mahasiswa 3 : 56 Mahasiswa 4 : 93 Mahasiswa 5 : 38 Mahasiswa 6 : 45 Mahasiswa 7 : 78 Mahasiswa 8 : 84 Mahasiswa 9 : 76 Mahasiswa 10 : 58
Nilai mahasiswa yang telah diinput
73 43 56 93 38 45 78
84
76
58
101
-----------------------------------------------------Page 3-----------------------------------------------------
Listing Program 12.2 Jumlah Elemen Array Ditentukan Pengguna
/*
Program untuk menginput nilai mahasiswa ke dalam array, jumlah mahasiswa
ditentukan oleh pengguna*/
#include <stdio.h> #include <conio.h> #define max 100
void main() {
int n, index, nilai[max]; clrscr();
printf("Input banyaknya mahasiswa: "); /*Input jumlah elemen array sesungguhnya */ scanf("%i", &n);
printf("\n"); /* input nilai mahasiswa */ for(index=0; index < n; index++)
{ printf("Mahasiswa %i : ", index+1);
scanf("%i", &nilai[index]);
}
/* tampilkan nilai mahasiswa */
printf("\nNilai mahasiswa yang telah diinput\n"); for(index=0; index < n; index++) { printf("%5.0i", nilai[index]); }
getch();
}
Hasil Running Program:
Input banyaknya mahasiswa: 5
Mahasiswa 1 : 73 Mahasiswa 2 : 43 Mahasiswa 3 : 56 Mahasiswa 4 : 93 Mahasiswa 5 : 38
Nilai mahasiswa yang telah diinput
73 43 56 93 38
12.3 Array Multi Dimensi
Array multi dimensi dapat digambarkan sebagai “array di dalam array”. Bahasa C tidak membatasi jumlah dimensi array, yang membatasi hanyalah jumlah memori yang tersedia. Array multi dimensi yang banyak dipergunakan dalam pemrograman adalah array dua dimensi.
Array dua dimensi dapat diumpamakan sebagai sebuah tabel ataupun matrik yang memiliki baris dan
kolom. Sebagai contoh dapat dilihat gambar di bawah ini:
102
-----------------------------------------------------Page 4-----------------------------------------------------
Variabel jimmy merupakan array dua dimensi yang mempunyai elemen 3 baris, dimana masing-masing baris memiliki 5 kolom. Total elemen array adalah 15 elemen. Dalam bahasa C jimmy dapat dideklarsikan sebagai berikut:
int jimmy [3][5];
atau jika ingin mendeklarasikan dengan memberikan nilai awal untuk masing-masing elemen dapat
dilakukan sebagai berikut:
int jimmy [3][5]= {7, 5, 6, 8, 3, 2, 3, 5, 6, 3, 1, 0, 4, 7, 5};
Supaya memperjelas pemberian nilai awal, penulisan deklarasi dapat juga dituliskan sebagai berikut:
int jimmy [3][5]= {
7, 5, 6, 8, 3,
2, 3, 5, 6, 3,
1, 0, 4, 7, 5
};
Array dua dimensi jimmy ini dapat pula dideklarasikan secara tidak berukuran sebagai berikut:
int jimmy [][5]= {7, 5, 6, 8, 3, 2, 3, 5, 6, 3, 1, 0, 4, 7, 5};
Catatan:
Dalam pendeklarasian array dua dimensi yang dapat tidak disebutkan jumlah elemennya adalah untuk dimensi yang pertama, sedang dimensi yang kedua harus ditentukan jumlah elemennya. Dengan mengetahui jumlah elemen dari dimensi kedua maka dapat menentukan jumlah elemen untuk masing-masing dimensi kedua. Berdasarkan contoh di atas maka dapat ditentukan 5 nilai pertama adalah untuk baris pertama, kemudian 5 nilai berikutnya adalah untuk baris kedua dan 5 nilai terakhir adalah untuk baris terakhir.
Contoh penggunaan array dua dimensi adalah program untuk menginput matrik dan menampilkan matrik
tersebut. Program matrik disajikan dalam listing program 12.3.
Listing Program 12.3 Program Input Matriks
/* Program menginput nilai(bilangan) ke dalam array
dimensi dua dan menampilkannya */
#include <stdio.h> #include <conio.h>
void main() {
int baris, kolom, matriks[2][3];
// Input elemen array
for(baris=0; baris<2; baris++) { for(kolom=0; kolom<3; kolom++)
103
-----------------------------------------------------Page 5-----------------------------------------------------
{
printf("matriks[%i][%i]: ", baris+1, kolom+1);
scanf("%i", &matriks[baris][kolom]);
}
printf("\n");
}
// Tampilkan elemen Array
printf("Isi array : \n");
for(baris=0; baris<2; baris++) { for(kolom=0; kolom<3; kolom++)
{ printf("%5.0i", matriks[baris][kolom]); }
printf("\n");
}
getch();
}
Hasil Running Program:
matriks[1][1]:12 matriks[1][2]:13 matriks[1][3]:21
matriks[2][1]:11 matriks[2][2]:7 matriks[2][3]:9
Isi array :
12 13 11 7
21
9
12.4 Array sebagai Parameter
Jika array dijadikan sebagai parameter dari suatu fungsi, maka untuk mengirimkan array tersebut harus
menggunakan alamat array, yaitu pengiriman parameter secara alamat.
Sebagai contoh pada listing program 11.4, program meminta pengguna program memasukkan sejumlah
bilangan bulat, kemudian bilangan bulat tersebut akan dikalikan dengan dua dan ditampilkan.
Pada program 11.4 mempunyai modul inputArray(arg[],
pjng) yang bertipe void, modul
inputArray bertujuan untuk meminta pengguna memasukkan nilai dari elemen-elemen array, banyaknya elemen array tergantung dari nilai yang diterima oleh parameter pjng . Nilai-nilai tersebut akan diberi kepada array arg . arg[], pjng dijadikan sebagai parameter aktual.
Modul kaliArray(arg[], pjng) bertujuan untuk mengalikan nilai elemen-elemen arg dengan dua. Untuk mengisikan nilai elemen-elemen array arg digunakan perulangan sebanyak jumlah elemen yang nilai banyaknya elemen didapat dari parameter pjng .
Modul cetakArray(arg[],
pjng) bertujuan untuk mencetak nilai elemen-elemen
arg . Untuk
menampilkan nilai elemen-elemen array arg digunakan perulangan sebanyak jumlah elemen yang nilai banyaknya elemen didapat dari parameter pjng .
Dalam modul main() , dideklarasikan array arr yang mampu menampung maksimal 100 nilai, dan
104
-----------------------------------------------------Page 6-----------------------------------------------------
variabel bnyk yang bertipe integer. Pertama program meminta masukan dari pengguna berupa jumlah elemen array, nilai tersebut diberikan kepada variabel bnyk . Kemudian program memanggil fungsi inputArray , variabel yang dijadikan parameter aktual adalah arr dan bnyk . Pada pemanggilan fungsi dalam fungsi main() dengan mengirimkan array sebagai parameter ukuran dari array yang ditandai dengan tanda “[]” tidak perlu dituliskan cukup nama array-nya saja, seperti pemanggilan berikut: inputArray(arr, bnyk) .
Listing Program 12.4 Program Array Sebagai Parameter
#include <stdio.h> #include <conio.h>
void inputArray(int arg[], int pjng) { for(int i=0; i< pjng; i++){
printf("Masukkan arr[%d]: ",i+1); scanf("%d", &arg[i]);
} }
void kaliArray (int arg[], int pjng) { for (int n=0; n<pjng; n++)
arg[n] *=2;
}
void cetakArray (int arg[], int pjng)
/* fungsi Input elemen array */
/* fungsi mengalikan elemen array dengan 2 */
/* fungsi cetak elemen array */
{ for (int n=0; n<pjng; n++) printf("%4.0d",arg[n]," "); printf("\n");
}
int main () {
int bnyk, arr[100];
printf("Program Array sebagai Argumen dalam Fungsi\n"); printf("Masukkan jumlah elemen : "); scanf("%d", &bnyk);
inputArray(arr, bnyk); /* Pengiriman array ke parameter dalam fungsi */ kaliArray(arr, bnyk); cetakArray(arr, bnyk); return 0;
}
Hasil Running Program:
Program Array sebagai Argumen dalam Fungsi Masukkan jumlah elemen : 5 Masukkan arr[1] : 12 Masukkan arr[2] : 23 Masukkan arr[3] : 5 Masukkan arr[4] : 33 Masukkan arr[5] : 65
24
46
10
33
65
105
-----------------------------------------------------Page 7-----------------------------------------------------
Latihan:
1. Apakah array dapat digunakan sebagai return type sebuah fungsi?
2. sebuah array dideklarasikan dengan float xy[10][5]; berapa banyak memori yang digunakan array ini? 3. Bagaimana mengetahui jumlah dimensi array? 4. Apakah beda variabel array dengan variabel biasa?
Tugas Mandiri:
1. Buatlah algoritma untuk menghitung rata-rata dari beberapa nilai mahasiswa, banyaknya niali yang akan
dihitung berdasarkan masukan dari pengguna program.
2. Buatlah algoritma untuk menjumlahkan dua buah matriks yang terdiri fungsi untuk menginput matriks, fungsi
untuk menjumlahkan matriks dan fungsi untuk mencetak matriks.
==============
Referensi:
Cheltenham Computer Training, C Programming , www.cctglobal.com , United Kingdom, 1997
Deitel & Deitel, C How to Program 3rd Edition , Prentice Hall, New Jersey, 2001
Jogiyanto, Konsep Dasar Pemrograman Bahasa C , Andi Offset, Yogyakarta, 1993
Thompson Susabda Ngoen, Pengantar Algoritma dengan Bahasa C , Salemba Teknika, Jakarta, 2004
☺☺☺
106
-----------------------------------------------------Page 8-----------------------------------------------------
0 Response to "ARRAY"
Post a Comment