Anda di halaman 1dari 7

Praktikum 6

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]);
}

1. Mengisi dan menampilkan sekumpulan nilai secara terbalik


/* File program : balik.c */
#include <stdio.h>

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]);
}

2. Mencetak 15 angka pertama dalam deret Fibonacci.


/* fibonacci1.c */
#include <stdio.h>
main()
{
int fibo[15], i;
fibo[0] = 0;
fibo[1] = 1;
for(i = 2; i < 15; i++)
{
fibo[i] = fibo [i-1] + fibo[i-2];
printf("%5d", fibo[i]);
}
printf("\n\n");
}
3. Menginisialisasi elemen array bertipe integer
/* File program : inisial1.c */
#include <stdio.h>
main()
{
int i;
static int nilai[10] = {0, 1, 4, 9, 16};
/* dgn sendirinya nilai lainnya diset nol */
for(i=5; i<10; i++)
nilai[i] = i * i;
for(i=0; i<10; i++)
printf("nilai[%d] = %d\n", i, nilai[i]);
}
31

4. Menginisialisasi elemen array bertipe karakter.


/* File program : inisial2.c */
#include <stdio.h>
main()
{
int i;
static char word[] = {'H', 'e', 'l', 'l', 'o', '!'};
for(i=0; i<6; i++)
printf("%c", word[i]);
printf("\n");
}

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);

//prototype fungsi dlm ANSI

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 []);

//prototype fungsi dlm ANSI

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);
}

int jml2array(int data[][5], int jmlbrs)


{
int total = 0, kolom, baris;
for(baris = 0; baris < jmlbrs; baris++ )
for(kolom = 0; kolom < 5; kolom++ )
total += data[baris][kolom];
return total;
}

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

void transpose(float A[2][2])


{
float swap;
swap = A[0][1];
A[0][1] = A[1][0];
A[1][0] = swap;
}

C. SOAL
1. Buat program untuk menghitung nilai rata-rata sbb :
Input

: jumlah data (n), data ke-1 s/d data ke-n

Output : nilai maks, nilai min, nilai rata-rata

2. Ubahlah program di atas sehingga mendapatkan tampilan seperti di bawah ini:


No. Nilai

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

Nilai rata-rata = 78.33


Nilai terbaik adalah nilai ke = 6

3. Buat program untuk menampilkan deret Fibonacci sbb :


Input

: jumlah deret

Output

: deret[i] = deret[i-1] + deret[i-2]

Contoh : jumlah deret = 10


0

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

5. Data nilai mahasiswa :


No.

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

Dapatkan output dengan tampilan sbb :


No. Mhs
Rata-rata
-------------------------1
77.67
2
73.33
3
69.67
4
79.67
--------------------------Petunjuk :
Asumsikan Ahmad mengikuti kelas Prog1, Mat1, dan BIG1.
Nilai pada masing-masing kelas dijumlahkan dan dihitung rata-ratanya (gunakan array 2
dimensi).

36

Anda mungkin juga menyukai