ARRAY
A. TUJUAN
1. Menjelaskan tentang array berdimensi satu
2. Menjelaskan tentang array berdimensi dua
3. Menjelaskan tentang array berdimensi banyak
4. Menjelaskan tentang inisialisasi array tak berukuran.
5. Menjelaskan array sebagai parameter fungsi
B. PERCOBAAN
1. Mengisi dan menampilkan beberapa variabel array
/* File program : isi.c */
#include <stdio.h>
main()
{
int nilai[10];
int indeks;
/* menginisialisasi array supaya berisi 0 */
for(indeks=0; indeks<10; indeks++)
nilai[indeks] = 0;
nilai[0] = 197;
nilai[2] = -100;
nilai[5] = 350;
nilai[3] = nilai[0] + nilai[5];
nilai[9] = nilai[5] / 10;
--nilai[2];
for(indeks = 0; indeks < 10; indeks++)
printf("nilai[%d] = %d\n", indeks, nilai[indeks]);
}
30
main()
{
int x[5], count, idx;
printf("Masukkan 5 data int, pisahkan dg enter\n");
for(count = 0; count < 5; count++)
scanf("%d", &x[count]);
printf("\nData tersebut setelah dibalik menjadi :\n");
for(idx = 4; idx >= 0; idx--)
printf("%d\n",x[idx]);
}
5. Menentukan nilai maksimum dari sederetan nilai yang sudah diinisialisasi dan
disimpan dalam array; mengirim array sebagai parameter sebuah fungsi.
/* File program : maksimum.c */
#include <stdio.h>
int findmax(int [], int);
main()
{
static int data1[] = { 5, 34, 56, -12, 3, 19 };
static int data2[] = { 1, -2, 34, 207, 93, -12 };
printf("nilai maksimum dari data1[] adalah %d\n",
findmax(data1, 6));
printf("nilai maksimum dari data2[] adalah %d\n",
findmax(data2, 6));
}
int findmax(int nilai[], int jml_data)
{
int terbesar, i;
terbesar = nilai[0];
for(i = 1; i < jml_data; ++i )
if(nilai[i] > terbesar)
32
terbesar = nilai[i];
return terbesar;
}
6. Menentukan nilai minimum dari sederetan nilai masukan yang disimpan dalam
array; mengirim array sebagai parameter sebuah fungsi.
/* File program : minimum.c */
#include <stdio.h>
int minimum(int []);
main()
{
int nilai[10], i, kecil;
printf("Masukkan 10 bil integer dipisahkan spasi : \n");
for (i=0; i<10; i++)
scanf("%d", &nilai[i]);
kecil = minimum(nilai);
printf("\nBilangan terkecil adalah %d\n", kecil);
}
int minimum(int nilai[10])
{
int min, j;
min = nilai[0];
for (j=1; j < 10; j++)
if (nilai[j] < min)
min = nilai[j];
return(min);
}
7. Menjumlahkan dua buah array yang mengirim array sebagai parameter sebuah
fungsi.
/* File program : jml2array.c */
#include <stdio.h>
int jml2array(int [][5], int);
/* prototype fungsi */
main()
33
{
int jml;
int bil[][5] = {
{1, 2, 35, 7, 10},
{6, 7, 4, 1, 0}
};
jml = jml2array(bil, 2);
printf("Hasil penjumlahan 2 array tsb adalah = %d\n",
jml);
}
7. Array dua dimensi sebagai parameter fungsi untuk membentuk transpose matrik.
/* File program : transpose.c */
#include <stdio.h>
void transpose(float [2][2]);
main()
{
float X[2][2];
printf("Masukkan elemen matriks X\n");
printf("X[0][0] : X[0][1] = ");
scanf("%f:%f",&X[0][0], &X[0][1]);
printf("X[1][0] : X[1][1] = ");
scanf("%f:%f",&X[1][0], &X[1][1]);
transpose(X);
printf("\nTranspose dari matriks X adalah:\n");
printf("%g : %g\n%g : %g\n",
X[0][0], X[0][1], X[1][0], X[1][1]);
}
34
C. SOAL
1. Buat program untuk menghitung nilai rata-rata sbb :
Input
Total
Rata-rata
1.
85
85
85.00
2.
95
180
90.00
3.
60
240
80.00
4.
80
320
80.00
5.
50
370
74.00
6.
100
470
78.33
Nilai maks
= 100
Nilai min
= 50
: jumlah deret
Output
13
21
34
35
4. Buat program untuk mengurutkan data masukan dengan urutan naik (ascending)
Input : jumlah data (n), data ke-1 s/d data ke-n
Output : Tampilan data dalam keadaan terurut
Contoh :
Jumlah data = 3
Data ke-1 = 50
Data ke-2 = 43
Data ke-3 = 45
Data terurut naik:
Data ke-1 = 43
Data ke-2 = 45
Data ke-3 = 50
Nama Mhs
PROG-1
MAT-1
BIG1
1.
Ahmad
81
90
62
2.
Adang
50
83
87
3.
Dani
89
55
65
4.
Edi
77
70
92
36