Lab 6 Array 1 Dimensi PDF
Lab 6 Array 1 Dimensi PDF
Pada materi sebelumnya, program banyak menggunakan variabel tunggal, artinya sebuah variabel hanya
digunakan untuk menyimpan sebuah nilai. Array merupakan sekelompok lokasi memori yang terdiri dari
kumpulan nilai dengan tipe data yang sama dengan menggunakan nama yang sama. Sebagai contoh, jika
diketahui variabel c yang memiliki 5 lokasi memori yang semuanya bertipe int. Masing-masing nilai dalam
setiap lokasi mempunyai identitias berupa nama variabel dan nomor indeks yang dituliskan di dalam tanda
kurung siku ‘[….]’. Untuk mengakses masing-masing nilai pada array, menggunakan indeks yang mana
indeks selalu dimulai dari 0 sampai dengan N-1.
c[0] 10
c[1] 20
c[2] 30
c[3] 40
Nama array c[4] 50
indeks
Definisi Array
Variabel array dideklarasikan dengan mencantumkan tipe dan nama variabel diikuti dengan banyak lokasi
memori yang diinginkan. Bentuk umum dari deklarasi sebuah variabel array:
Sebagai contoh :
int c[5];
float x[10];
int c[5] = {-45, 6, 0, 72, 100};
int d[3] = {0};
int x[]={10,15,20,25,30,35,40,45};
Perlu diperhatikan bahwa bahasa C secara otomatis akan menyediakan lokasi memori sesuai dengan yang
dideklarasikan, dimana indeks selalu dimulai dari 0 sampai dengan N-1, N adalah banyaknya lokasi memori
yang dipesan. Nilai suatu variabel array dapat juga diinisialisasi secara langsung pada saat deklarasi, seperti
pada contoh yakni: int c[5] = {-45, 6, 0, 72, 100};. Berarti setiap lokasi memori dari
variabel array c langsung diisi dengan nilai-nilai yang dituliskan di dalam tanda kurung kurawal.
Sebuah variabel array juga dapat sekaligus mengisi setiap lokasi memori dengan satu nilai tertentu,
misalnya nilai 0, maka deklarasi variabel array tersebut dapat dituliskan seperti pada contoh yakni int
d[3] = {0};. Selain itu, banyaknya lokasi memori juga dapat secara otomatis disediakan sesuai dengan
banyaknya nilai yang akan dimasukkan, seperti pada contoh di atas yakni: int
x[]={10,15,20,25,30,35,40,45}; , yang mana membuat variabel array x dengan 8 lokasi
memori.
Contoh Array
Berikut adalah contoh implementasi variabel array, yaitu program untuk menghitung jumlah setiap elemen
dalam sebuah array.
#include <stdio.h>
#define SIZE 12
int main()
{
int a[SIZE]={1,3,5,4,7,2,99,16,45,67,89,45};
int indeks, total = 0;
Perhatikan contoh di bawah ini, apakah terjadi error pada saat compile atau run? Mengapa hal tersebut
terjadi?
#include <stdio.h>
int main()
{
int a[5]={1, 3, 5, 4, 7};
printf("%d\n", a[7]);
return 0;
}
Tidak akan terjadi error pada saat compile maupun run, namun nilai yang ditampilkan bukan nilai dari
variabel array. Jika mengakses indeks di luar selang, maka akan diperoleh nilai data lain.
Berikut ini contoh untuk mengisi array dari inputan user. Jika diberikan inputan : 3 20 34 21, apakah yang
akan ditampilkan oleh program di bawah ini?
#include <stdio.h>
int main()
{
int a[100], i;
scanf("%d", &n); //baca banyaknya data
return 0;
}
Array sebagai Argumen Fungsi
Mengirimkan argumen array ke sebuah fungsi dilakukan dengan hanya mencantumkan nama array tanpa
diikuti dengan tanda apapun, seperti contoh potongan program berikut:
Pemanggilan fungsi JUMLAH dengan mengirimkan argumen berupa variabel array c dan sebuah konstanta
5. Perhatikan bahwa variabel array ditulis hanya c, tanpa notasi tambahan apapun. Deklarasi vaiabel array
yang menjadi parameter dari suatu fungsi dituliskan dengan nama variabel array yang diikuti dengan tanda
kurung [], tanpa menuliskan banyaknya lokasi memori yang diinginkan.
Program berikut memberikan contoh penggunaan variabel array dalam suatu fungsi dan cara
pemanggilannya.
#include <stdio.h>
#define SIZE 12
return total;
}
int main()
{
int a[SIZE]={1,3,5,4,7,2,99,16,45,67,89,45};
int total;
total = jumlah(a,SIZE);
LATIHAN
1. Perhatikan potongan program berikut, apa keluaran dari program tersebut!
#include <stdio.h>
int main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
int b[10], i;
for(i=0;i<10;i++)
a[i]=3*i%10;
for(i=0;i<10;i++)
b[i] = 9*a[(i+3)%10] + 5%10;
printf("%d\n", b[8]);
return 0;
}
2. Buatlah sebuah program menggunakan array untuk mencari nilai maksimum dan minimum pada
array tersebut. Jumlah data tidak lebih dari 100. Proses masukkan nilai pada array diulang sampai
nilai yang dimasukkan kurang dari 0 atau lebih dari 100. Proses mencari nilai maksimum dan
minimum menggunakan fungsi sendiri.
Contoh input : 1 2 3 4 5 -1
Contoh output : Maksimum = 5
Minimum = 1
3. Melanjutkan soal no 2, tambahkan fungsi untuk menghitung jumlah dan rata-rata pada aarray
tersebut. Program akan menampilkan statistik data sesuai operasi yang diminta (MAX, MIN,
SUM, AVG). Masukkan berupa dua baris. Baris pertama adalah nilai pada array yang akan
dimasukkan (proses masukkan nilai pada array diulang sampai nilai ang dimasukkan kurang dari
0 atau lebih dari 100). Baris kedua adalah operasi statistik yang diminta berupa kode yakni 1
untuk MAX, 2 untuk MIN, 3 untuk SUM, dan 4 untuk AVG.
4. Pak Dengklek menyelenggarakan ujian harian setelah selesai mengajarkan N ekor beberk mengenai
konsep array. Setiap bebek ke-I mendapat nilai sebesar hi yang merupakan bilangan bulat. Untuk
menentukan lulus, nilai bebek tersebut tidak kurang dari nilai rata-rata dari seluruh bebek. Tentukan
banyaknya bebek yang lulus ujian!. Batasan : (1<=N<=100 ; 1<=hi <=100 ; 1<= i <=N). Masukkan
berupa dua baris. Baris pertama berisi sebuah bilangan bulat N. Bari kedua berisi nilai ujian bebek.
Baris kedua ini merupakan hi . Keluarannya berupa sebuah baris yang menyatakan banyaknya
bebek yang lulus ujian.
Contoh input : 3
567
Contoh ouput : 2
Keterangan : nilai rata-rata dari seluruh bebek adalah 6 dan terdapat 2 ekor bebek yang nilainya
tidak kurang dari 6.
5. Dalam ilmu statistika, dikenal suatu ukuran sebaran yang disebut dengan modus. Modus adalah
data yang paling banyak muncul dalam suatu kumpulan data. Sebuah kumpulan data bisa jadi
memiliki lebih dari satu modus, yaitu ketika terdapat lebih dari satu data yang jumlah
kemunculannya sama.
Pak Dengklek memberikan Anda N buah bilangan bulat. Tentukanlah modus terbesar dari
bilangan-bilangan tersebut. Masukkan berupa dua baris. Baris pertama berisi sebuah bilangan bulat
N. Baris berikutnya berisi N buah bilangan bulat, Xn (0<= Xn<=100). Keluarannya berupa sebuah
baris berisi bilangan bulat yang modus terbesar.
Contoh input : 6
132414
Contoh ouput : 4