Pertemuan ke-8 Array TUJUAN 1. Mempelajari konsep dasar array, array ganda, pengiriman array ke fungsi dan string 2. Membuat program menggunakan array, array ganda 8. 1. PENDAHULUAN Array adalah sebuah fitur dalam bahasa pemrograman C yang memungkinkan kita untuk menyimpan beberapa nilai dengan tipe yang sama dalam satu buah variabel. Perhatikan program sederhana berikut: int main() int nilai1, nilai2, nilai3; scanf( %d, &nilai1); scanf( %d, &nilai2); scanf( %d, &nilai3); /* Lakukan pemrosesan terhadap nilai1, nilai2 dan nilai3 Dan tampilkan hasilnya /* Program di atas memberikan kerangka sebuah program yang melakukan pemrosesan terhadap beberapa nilai (tiga nilai pada contoh di atas) dimana kita perlu menyimpan ketiganya dalam tiga variabel yang berbeda. Pemrosesan ini mungkin berupa perhitungan jumlah, rataan, mencari maksimum/minimum dan sebagainya. Yang menjadi poin utama disini adalah bahwa pada programprogram yang seperti ini, diperlukan adanya penyimpanan beberapa nilai ke dalam variabel berbeda (namun dengan tipe yang sama). Tentunya pendekatan dengan cara di atas tidak dapat digunakan dengan baik untuk skala yang lebih besar. Jika kita perlu melakukan pemrosesan terhadap 100 nilai (bukannya 3) maka tentu kita akan sangat direpotkan bila harus membuat 100 buah variabel yang berbeda (nilai1, nilai2..., nilai100). Untuk itu, dalam banyak bahasa pemrograman (termasuk bahasa C) disediakan fasilitas array, di mana kita dapat menyimpan beberapa nilai dengan tipe yang sama dalam satu buah variabel berjenis array. Array dibuat dengan deklarasi sebagai berikut: tipe_data nama_array [jumlah_elemen]; Sebagai contoh, sebuah array bertipe int sebanyak 100 buah elemen dengan nama nilai dapat dibuat dengan pernyataan sebagai berikut: int nilai[100]; Kita dapat pula mendeklarasikan array dan kemudian langsung mengisi nilainya dengan nilai yang kita inginkan, sebagai berikut: double rasio[4] = 0.5, 0.3, 1.4, 2.5;
LATIHAN BERSAMA & MANDIRI Untuk mengakses elemen dari sebuah array, kita menggunakan indeks yang dihitung dari 0, sampai n-1, dimana n adalah banyaknya elemen array. Indeks 0 menyatakan elemen pertama, 1 elemen kedua dan seterusnya. printf( %f, rasio[0]); // cetak 0.5 printf( %f, rasio[3]); // cetak 2.5 Array dapat dibuat bertingkat/ganda, dengan menambahkan satu tanda kurung. Array ganda seperti ini biasa digunakan untuk merepresentasikan sebuah matriks. Pengaksesan elemen array ganda dilakukan secara serupa, tetapi dengan menggunakan dua buah indeks. int matriks[2][3] = 3,1,2, 4,6,5; printf( %d, matriks[0][1]); 2
LATIHAN MANDIRI Bab 8 Lembar Kerja Praktikum Nama : Tanggal Praktikum : NRP : Waktu Praktikum : Nilai : Nama Asisten : Penjelasan Asisten (30 menit) Asisten akan menjelaskan cara inisialisasi array, input ke array dan mencetak output dari array. Lembar Kerja Bagian I (45 menit) Tuliskan program-program berikut, simpan nama file sesuai dengan nama yang sudah ditentukan pada folder (nama folder sesuaikan dengan NRP), kemudian jawablah pertanyaan singkat terkait dengan program tersebut pada tempat yang telah disediakan. Tuliskan hasil trace Anda pada kotak di sebelah kanan program. Dilarang menggunakan getch() dan system(pause) di dalam program. Gunakan command prompt untuk melakukan kompilasi dan menjalankan program. Program ke-1 Nama Program: array1.c #include <stdio.h> int main(void) int a[5] = 10, 20, 30, 40, 50; int i; for(i=0;i<5;i++) printf( a[%d] = %d, i, a[i]); a[0] = 100; a[2] = 1000; for(i=0;i<5;i++) printf( a[%d] = %d\n, i, a[i]); printf( %d, a[5]); Tuliskan output program diatas 3
LATIHAN BERSAMA & MANDIRI Tulis dan jalankan kode program dibawah ini: Program ke-2 Nama Program: array2.c #include <stdio.h> int main(void) int a[10], i; for(i=0; i<10; i++) printf( a*%d+ =, i); scanf( %d, &a*i+); for(i=9; i>=0; i--) printf( a*%d+ = %d\n, i, a*i+); Tuliskan output program diatas! Program ke-3 Nama Program: array3.c int main() int m[4][3] = 3,1,2, 10,7,8, 6,4,5, 0,1,2; int i,j; for(i=0;i<2;i++) for(j=0;j<3;j++) printf( %d, m*i+*j+); if(j%3==2) printf( \n ); 4
LATIHAN MANDIRI Tentukan output program diatas: Program ke-4 Nama Program: array4.c #include<stdio.h> int Jumlah(int a[], int n) int i, jum = 0; for(i=0;i<n;i++) jum += a[i]; return jum; void main() int data[10], i; for(i=0; i<10; i++) scanf( %d, &data[i]); int jum = Jumlah(data, 10); printf( Jumlah = %d\n, jum); Tentukan keluaran program diatas! Lembar Kerja Bagian II (45 menit) Buatlah program sesuai dengan instruksi yang diberikan simpan nama file sesuai dengan yang tertera pada soal di dalam folder NRP Anda. 5
LATIHAN BERSAMA & MANDIRI 1. Buatlah program yang membaca sebuah array berukuran maksimal 100 elemen, kemudian definisikan fungsi untuk menghitung maksimum, minimum, jumlah serta rataan dari matriks. Tampilkan hasil perhitungan maksimum, minimum, jumlah serta rataan pada fungsi main. 2. Buatlah sebuah program yang membaca dua buah matriks berukuran sama maksimal 100x100, kemudian menghitung dan menampilkan hasil penjumlahan kedua matriks. 6