Anda di halaman 1dari 40

LAPORAN PRAKTIKUM

Konsep Pemrograman
Array

Nama : Muhammad Ramadhan


Kelas : 1 D4 Teknik Informatika B
NRP : 3120600043

1
DAFTAR ISI

A. PRAKTIKUM 8.1
B. PRAKTIKUM 8.2
C. PRAKTIKUM 8.3
D. PRAKTIKUM 8.4
E. TAMBAHAN ARRAY 2

2
Praktikum 8 (1/4)
ARRAY

A. PERCOBAAN
1. Deklarasikan sebuah variabel array (misalkan nama variabelnya = letters) yang
mengalokasikan untuk 10 elemen bertipe char. Kemudian masukkan karakter ‘Z’
pada elemen yang ke-empat dari array letters.

Jawab :

a. Listing Program
#include <stdio.h>
#include <stdlib.h>

int main()
{ char letter[10];
letter[3]='Z';
printf("Tampilkan %c\n",letter[0]);
printf("Tampilkan %c\n",letter[1]);
printf("Tampilkan %c\n",letter[2]);
printf("Tampilkan %c\n",letter[3]);
printf("Tampilkan %c\n",letter[4]);
printf("Tampilkan %c\n",letter[5]);
printf("Tampilkan %c\n",letter[6]);
printf("Tampilkan %c\n",letter[7]);
printf("Tampilkan %c\n",letter[8]);
printf("Tampilkan %c\n",letter[9]);
return 0;
}

b. Output

3
2. Deklarasikan sebuah array bertipe char dengan panjang 20. Kemudian cetak ke
layar isi array tersebut dengan indeks ganjil.
Jawab:
a. Listing Program
#include <stdio.h>
#include <stdlib.h>

int main()
{
char x[20]= {'a','b','c','d','e','f','g','h','i','j','k',
'l','m','n','o','p','q','r','s','t'};
for(int i=0;i<20;i++)
{
if(i%2==1)
printf("Tampilkan ke x[%d] adalah %c\n",i,x[i]);
}
return 0;
}
b. Output

4
3. Deklarasikan sebuah array bertipe char dengan panjang 20. Kemudian inputkan
sebuah karakter dari keyboard dan cari apakah karakter tersebut ada dalam array
yang telah dideklarasikan.
Jawab:
a. Listing Program
#include <stdio.h>
#include <stdlib.h>

int main()
{char x[20]={'a','b','c','d','e','f','g','h','i',
'j','k','l','m','n','o','p','q','r','s','t'};
char kar;
int penampung=0,i;
printf("Masukan karakter:");
scanf("%c",&kar);
for(i=0;i<20;i++)
{
if(x[i]==kar)
{
penampung=1;

if(penampung==1)
{
printf("%c ada dalam array",kar);
}
else
{
printf("%c tidak ada dalam array",kar);
}
}

5
b. Output

6
4. Buat program untuk mencari nilai rata-rata seorang mahasiswa.
Input : Nama : Ani
Jumlah nilai :3
Nilai-1 60
Nilai-2 70
Nilai-3 80
Output : Ani, nilai rata-rata adalah 70.
Jawab:
a. Listing Program
#include <stdio.h>
#include <stdlib.h>

int main()
{int jn;
int i;
int sum;
int x;
float rata;
char nama[25];
puts("Program mencari rata-rata nilai");
printf("Nama:");
gets(nama);
printf("Jumlah nilai:");
scanf("%d",&jn);
i=1;
sum=0;
while(i<=jn)
{
printf("Nilai ke-%d:",i);
scanf("%d",&x);
i++;
sum+=x;
rata=sum/jn;

}
printf("rata =%g",rata);
return 0;
}

7
b. Output

8
5. Buat program untuk mencocokan apakah sebuah karakter yang diinputkan dari
keyboard ada dalam array yang telah dideklarasikan.

Jawab:

a. Listing Program
#include <stdio.h>
#include <stdlib.h>

int main()
{char x[5]={'a','b','c','d','e'}, kar;
int penampung=0,i;
printf("Masukan karakter:");
scanf("%c",&kar);
for(i=0;i<5;i++)
{
if(x[i]==kar)
{
penampung=1;

if(penampung==1)
{
printf("%c ada dalam array",kar);
}
else
{
printf("%c tidak ada dalam array",kar);
}
}

b. Output

9
B. LAPORAN RESMI
1. Tulis listing program dari percobaan-percobaan diatas. Kemudian tulis
outputnya.

2. Tuliskan kesimpulan dari percobaan yang telah anda lakukan.


Kesimpulan:
Dari praktikum diatas saya dapat mengetahui penggunaan array 1 dimensi, cara
mendeklarasikan array 1 dimensi. Array merupakan kumpulan dari data yang
bertipe sama dengan dibedakan oleh indeksya. Cara pendeklarsian array 1
dimensi dapat dialkukan dengan banyak cara pula diantaranya dapat sebagai
berikut :
int numbers[10];
int numbers[10] = {34, 27, 16};
int numbers[ ] = {2, -3, 45, 79, -14, 5, 9, 28, -1, 0};
char text[ ] = "Welcome to New Zealand.";
Cara menampilkan semua jumlah array dapat mengunakan pernyataan for,while,
do-while, maupun langsug ditulis satu persatu pada printf().

10
Praktikum 8 (2/4)
ARRAY
A. PERCOBAAN
1. Deklarasikan sebuah variabel array (misalkan nama variabelnya = letters[3][3])
yang mengalokasikan untuk 9 elemen bertipe char. Kemudian masukkan
karakter ‘Z’ pada elemen yang nilai baris= kolom dari array letters.

Jawab:

a. Listing Program

#include <stdlib.h>

int main()

{ char letter[3][3];

letter[0][0]='Z';

printf("letter[0][0] adalah %c",letter[0][0]);

puts("");

letter[1][1]='Z';

printf("letter[1][1] adalah %c",letter[1][1]);

letter[2][2]='Z';

puts("");

printf("letter[2][2] adalah %c",letter[2][2]);

return 0;

b. Output

11
2. Ulangi soal no 1 dengan menggunakan loop for dan if statement.
Jawab:

a. Listing Program
#include <stdio.h>
#include <stdlib.h>

int main()
{
char letter[3][3];
int baris;
int kolom;

for(baris=0;baris<3;baris++)
{
for(kolom=0;kolom<3;kolom++)
{
if(baris==kolom)
{
letter[baris][kolom]='Z';
}
else
{
letter[baris][kolom]='-';
}
printf("letter[%d][%d]=%c\n",baris,kolom,letter[baris][kolom]);
}

b. Output

12
3. Buat penjumlahan dua matrik A[2][2]dengan B[2][2]. . Hasil penjumlahan
tersebut disimpan dalam matrik C.

Jawab:

a. Listing Program
#include <stdio.h>
#include <stdlib.h>
int main()
{ int A[2][2];
int B[2][2];
int baris;
int kolom;
for(baris=0;baris<=1;baris++)
{
for(kolom=0;kolom<=1;kolom++)
{
printf("A[%d][%d]:",baris,kolom);
scanf("%d",&A[baris][kolom]);
}
}
puts("");
for(baris=0;baris<=1;baris++)
{
for(kolom=0;kolom<=1;kolom++)
{
printf("B[%d][%d]:",baris,kolom);
scanf("%d",&B[baris][kolom]);
}

}
printf("Hasil penjumlahan A dan B\n");
for(baris=0;baris<=1;baris++)
{
for(kolom=0;kolom<=1;kolom++)
{

printf("C[%d][%d]=%d\n",baris,kolom,A[baris][kolom]+B[baris][kol
om]);
}
}
}

13
b. Output

14
4. Buat program untuk mencocokan apakah karakter sebuah karakter yang
diinputkan dari keyboard ada dalam array yang telah dideklarasikan dan
hitung berapa banyak karakter tersebut.

Jawab:

a. Listing Program

#include <stdio.h>

#include <stdlib.h>

int main()

char
kar[26]={'a','b','b','c','d','d','d','d','e','e','e','f','g','h'
,'i'};

char huruf;

int i,jumkar=0,penampung;

printf("masukan character :");

scanf("%c",&huruf);

for(i=0;i<26;i++)

if(kar[i]==huruf)

penampung=1;

jumkar++;

if(penampung==1)

printf("%d karakter %c ada dalam array",jumkar,huruf);

15
}

else

printf("%d karakter %c dalam array",jumkar,huruf);

b. Output

16
B. LAPORAN RESMI
1. Tulis listing program dari percobaan-percobaan diatas. Kemudian tulis
outputnya.

2. Tuliskan kesimpulan dari percobaan yang telah anda lakukan.


Kesimpulan:
Dari praktikum diatas saya dapat memahami penggunaan array berdimensi dua
serat penerapanya dalam program. Pada array dimensi 2 contoh penulisannya
misalnya pada contoh berikut:
int x[2][3]
indeks 2 menyatakan baris dan indeks 3 menyatakan kolom. Array dimensi 2 jika
dijabarkan maka lebih mudah untuk dipahami dengan membuat tabel sehingga
saya dapat mengetahui darimana hasil outputnya.

Cara penulisan array berdimensi dua pun juga sam dengan dimensi 1
Contohnya:
int huruf_A[8][8] =
{ 0, 1, 1, 1, 1, 1, 0, 0,
0, 1, 0, 0, 0, 1, 0, 0,
0, 1, 0, 0, 0, 1, 0, 0,
1, 1, 1, 1, 1, 1, 1, 0,
1, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0
};

Deklarasi array of integer diatas merupakan salah satu contoh bagaimana


mendeklarasikan array berdimensi kedua.

17
Praktikum 8 (3/4)
ARRAY

A. PERCOBAAN

1. Buat program untuk mencari nilai rata-rata n mahasiswa.


Input : Jumlah mahasiswa :3
Nama Mahasiswa-1 : Ani
Jumlah nilai :3
Nilai-1 : 60
Nilai-2 : 70
Nilai-3 : 80
Nama Mahasiswa-2 : Amir
Jumlah nilai :3
Nilai-1 : 60
Nilai-2 : 50
Nilai-3 : 40
Nama Mahasiswa-3 : Ali
Jumlah nilai :3
Nilai-1 : 50
Nilai-2 : 60
Nilai-3 : 70
Output :
Nilai rata-rata Ani adalah 70.
Nilai rata-rata Amir adalah 50.
Nilai rata-rata Ali adalah 50.
Jawab:
a. Listing Program
#include <stdio.h>
#include <stdlib.h>

int main()
{
int anak;
int jn;
int i;
int sum;
int x;
float rata;
char nama[25];
printf("Jumlah mahasiswa:");
18
scanf("%d",&anak);
for(int a=1; a<=anak;a++)
{
printf("Nama ke-%d:",a);
scanf("%s",&nama);
printf("Jumlah nilai:");
scanf("%d",&jn);
i=1;
sum=0;
while(i<=jn)
{
printf("Nilai ke-%d:",i);
scanf("%d",&x);
i++;
sum+=x;
rata=sum/jn;

}
printf("rata-rata %s =%g",nama,rata);
puts("");

b. Output

19
2. Buat program untuk menampilkan angka 1 sampai dengan 9 dalam array tiga
dimensi.
Contoh : Input : 1
Output : 0 0 0 1 0 0 0
0001000
0001000
0001000
0001000
0001000
0001000

Jawab:

a. Listing
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x[9][7][7]={
0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0, 0,
0, 0, 0, 0, 1, 0, 0,
0, 0, 0, 0, 1, 0, 0,
0, 0, 0, 0, 1, 0, 0,
0, 0, 0, 0, 1, 0, 0,
0, 0, 0, 0, 1, 0, 0,
0, 0, 0, 0, 1, 0, 0,
0, 0, 1, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0,
0, 1, 0, 1, 0, 0, 0,
0, 1, 0, 1, 0, 0, 0,
0, 1, 0, 1, 0, 0, 0,
0, 1, 0, 1, 0, 0, 0,
20
0, 1, 0, 1, 0, 0, 0,
0, 1, 0, 1, 0, 0, 0,
0, 1, 0, 1, 0, 0, 0,
1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 1, 0, 0, 0,
0, 0, 1, 1, 0, 0, 0,
0, 0, 1, 1, 0, 0, 0,
0, 0, 1, 1, 0, 0, 0,
0, 0, 1, 1, 0, 0, 0,
0, 0, 1, 1, 0, 0, 0,
0, 0, 1, 1, 0, 0, 0,
0, 0, 1, 1, 0, 0, 0,
0, 0, 0, 1, 0, 0, 1,
0, 0, 0, 1, 0, 0, 1,
0, 0, 0, 1, 0, 0, 1,
0, 0, 0, 1, 0, 0, 1,
0, 0, 0, 1, 0, 0, 1,
0, 0, 0, 1, 0, 0, 1,
0, 0, 0, 1, 0, 0, 1
};
int input;
printf("input:");
scanf("%d",&input);
if(input==1)
{
for(int i=0;i<1;i++)
{
for(int k=0;k<7;k++)
{
for(int d=0;d<7;d++)
{
{
printf("%d",x[i][k][d]);
}
}
puts("");
}
puts("");
}
}

else if(input==2)
{
for(int i=0;i<2;i++)
{
for(int k=0;k<7;k++)
{
for(int d=0;d<7;d++)
{

{
printf("%d",x[i][k][d]);
}

}
puts("");
}
puts("");
21
}

}
else if(input==3)
{
for(int i=0;i<3;i++)
{
for(int k=0;k<7;k++)
{
for(int d=0;d<7;d++)
{

{
printf("%d",x[i][k][d]);
}

}
puts("");
}
puts("");
}

}
else if(input==4)
{
for(int i=0;i<4;i++)
{
for(int k=0;k<7;k++)
{
for(int d=0;d<7;d++)
{

{
printf("%d",x[i][k][d]);
}

}
puts("");
}
puts("");
}

}
else if(input==5)
{
for(int i=0;i<5;i++)
{
for(int k=0;k<7;k++)
{
for(int d=0;d<7;d++)
{

{
printf("%d",x[i][k][d]);
}

}
puts("");
}
puts("");
}
22
}

else if(input==6)
{
for(int i=0;i<6;i++)
{
for(int k=0;k<7;k++)
{
for(int d=0;d<7;d++)
{

{
printf("%d",x[i][k][d]);
}

}
puts("");
}
puts("");
}

}
else if(input==7)
{
for(int i=0;i<7;i++)
{
for(int k=0;k<7;k++)
{
for(int d=0;d<7;d++)
{

{
printf("%d",x[i][k][d]);
}

}
puts("");
}
puts("");
}

}
else if(input==8)
{
for(int i=0;i<8;i++)
{
for(int k=0;k<7;k++)
{
for(int d=0;d<7;d++)
{

{
printf("%d",x[i][k][d]);
}

}
puts("");
}
puts("");
}
23
}
else if(input==9)
{
for(int i=0;i<9;i++)
{
for(int k=0;k<7;k++)
{
for(int d=0;d<7;d++)
{

{
printf("%d",x[i][k][d]);
}

}
puts("");
}
puts("");
}

}
else
{
puts("error input");
}
return 0;
}

b. Output

24
25
B. LAPORAN RESMI
1. Tulis listing program dari percobaan-percobaan diatas. Kemudian tulis outputnya.

2. Tuliskan kesimpulan dari percobaan yang telah anda lakukan.

Kesimpulan:
Dari praktikum diatas yang telah dikerjakan, saya dapat memahami cara
pendeklarasian array berdimensi 3 dan juga penerapannya dalam soal. Pada C
memungkinkan untuk membuat array yang dimensinya menjadi 3. Bentuk umum
pendeklarasian array berdimensi 3.
Bentuk pendeklarasiannya adalah: tipe nama_var[ukuran 1][ukuran2][ukuran3];
Contoh pendeklarasian array berdimensi 3:
int letter[2][8][8]= {
{ { 0, 1, 1, 1, 1, 1, 0, 0 } ,
{ 0, 1, 0, 0, 0, 1, 0, 0 } ,
{ 0, 1, 0, 0, 0, 1, 0, 0 } ,
{ 1, 1, 1, 1, 1, 1, 1, 0 } ,
{ 1, 1, 0, 0, 0, 0, 1, 0 } ,
{ 1, 1, 0, 0, 0, 0, 1, 0 } ,
{ 1, 1, 0, 0, 0, 0, 1, 0 } ,
{ 0, 0, 0, 0, 0, 0, 0, 0 }

},
{ {1, 1, 1, 1, 1, 1, 0, 0 } ,
{1, 0, 0, 0, 0, 1, 0, 0 } ,
{1, 0, 0, 0, 0, 1, 0, 0 } ,
{1, 1, 1, 1, 1, 1, 1, 0 } ,
{1, 1, 0, 0, 0, 0, 1, 0 } ,
{1, 1, 0, 0, 0, 0, 1, 0 } ,
{1, 1, 1, 1, 1, 1, 1, 0 } ,
{0, 0, 0, 0, 0, 0, 0, 0 }
} };

90
Praktikum 8 (4/4)
ARRAY

A. PERCOBAAN
1. Buat program untuk menginputkan 10 bilangan dari keyboard. Kemudian urutkan
bilangan tersebut mulai dari yang paling kecil.

Jawab:

a. Listing Program
#include <stdio.h>
#include <stdlib.h>

int main()
{

int i, bil[10];
int penampung=0,b;

for(i=0;i<10;i++)
{
printf("bil ke-%d:",i+1);

scanf("%d",&bil[i]);
}

for(i=0;i<10;i++)
{
for(b=0;b<10;b++)
{
if(bil[i]>=bil[b])
{
penampung=bil[b];
bil[b]=bil[i];
bil[i]=penampung;
}
}

for(i=0;i<10;i++)
{
printf("%d ",bil[i]);

91
b. Output

92
2. Buat program untuk menampilkan tabel berikut ini dengan menggunakan array
berdimensi dua dan looping for.
x Sinus(x) Cosinus(y)
000
030
060
090
120
150
180
210
240
270
300
330
360

Jawab :
a. Listing Program 1
#include <stdio.h>
#include <math.h>
#define PHI 3.14f;
float radian(float);
void isiX(float[]);
void isi(float[]);
main()
{
float x[12];
isiX(x);
isi(x);
}
void isiX(float sudut[])
{
int i = 0;
float derajat=0;
for(i=0;derajat<=360;i++)
{
sudut[i] = derajat;
derajat+=30;
}
}
void isi(float sudut[])
{
int i;
printf("------------------------------\n");
printf("| %6s | %7s | %7s |\n","x","sin(x)","Cos(x)");
printf("-------------------------------\n");
for(i=0;i<=12;i++)
printf("| %6.0f | %7.2f | %7.2f
93
|\n",sudut[i],sin(radian(sudut[i])),cos(radian(sudut[i])));
printf("------------------------------\n");
}
float radian(float derajat)
{
return (derajat / 180.0f) * PHI;
}
b. Ouput 1

c. Listing Program cara ke-2


#include <stdio.h>
#include <math.h>
#define PHI 3.14f;
float radian(float);
void isiX(float[]);
void isi(float[]);
main()
{
float x[12];
isiX(x);
isi(x);
}
void isiX(float sudut[])
{
int i = 0;
float derajat=0;
for(i=0;derajat<=360;i++)
{
sudut[i] = derajat;
derajat+=30;
}
}
void isi(float sudut[])
{
int i;
for(i=0;i<=12;i++)

94
{
printf("x=%g maka sin(%g)= %0.2f
\n",sudut[i],sudut[i],sin(radian(sudut[i])));
}

puts("");

for(i=0;i<=12;i++)
{

printf("x=%g maka cos(%g)=%0.2f


\n",sudut[i],sudut[i],cos(radian(sudut[i])));
}
}
float radian(float derajat)
{
return (derajat / 180.0f) * PHI;
}
d. Output cara ke-2

95
3. Lanjutkan program no.2 dengan mencari nilai rata-rata dari array tersebut.

Jawab:
a. Listing Program
#include <stdio.h>
#include <math.h>
#define PHI 3.14f;
float radian(float);
void isiX(float[]);
void isi(float[]);
main()
{
float x[12];

isiX(x);
isi(x);
}
void isiX(float sudut[])
{
int i = 0;
float derajat=0;
for(i=0;derajat<=360;i++)
{
sudut[i] = derajat;
derajat+=30;
}
}
void isi(float sudut[])
{
int i;
float sum=0,rata;
float hsl=0,avg;
printf("------------------------------\n");
printf("| %6s | %7s | %7s |\n","x","sin(x)","cos(x)");
printf("-------------------------------\n");
for(i=0;i<12;i++)
printf("| %6.0f | %7.2f | %7.2f
|\n",sudut[i],sin(radian(sudut[i])),cos(radian(sudut[i])));
printf("------------------------------\n");

for(i=0;i<12;i++)
{
sum=sum+sin(radian(sudut[i]));
rata=sum/13;
hsl=hsl+cos(radian(sudut[i]));
avg=hsl/13;
}
printf("Jumlah keseluruhan sin adalah %g\n",sum);
printf("Rata keseluruhan sin adalah %g",rata);
puts("");
puts("");
printf("Jumlah keseluruhan cos adalah %g\n",hsl);
printf("Rata-rata keseluruhan cos adalah %g",avg);
puts("");
}
float radian(float derajat)
{
return (derajat / 180.0f) * PHI;
}

96
b. Output

97
D. LAPORAN RESMI
1. Tulis listing program dari percobaan-percobaan diatas. Kemudian tulis outputnya.

2. Tuliskan kesimpulan dari percobaan yang telah anda lakukan.

Kesimpulan:
Dari praktikum diatas saya dapat mengetahui bahwasaya array juga dapat dijadikan
sebagai parameter suatu fungsi. Array juga dapat dilewatkan sebagai parameter
fungsi. Sebagai contoh ditujukanpada program sorting.c. Program digunakan untuk
memasukkan sejumlah data,kemudian data tersebut diurutkan naik (ascending) dan
dicetak ke layar. Contohnya pada soal no 2 pada praktikum tersebut pada fungsi void
isi parameternya berupa array. Setalah saya amati dan juga coba, semua konsep dasar
konsep pemrograman berhubungan sepsrti matematika dimana di bab Array ini kita
bisa menggunakan fungsi yang banyak.

98
ARRAY 2

1. Buatlah program yang terdiri atas :


 fungsi input() yang bertugas menanyakan jumlah data sekaligus memasukkan data
bilangan sebanyak yang diminta ke dalam array nilai[]
 fungsi findmax()yang bertugas mencari nilai terbesar yang ada pada array nilai[]
 tsb
 fungsi main() yang memanggil fungsi input() dan fungsi findmax() , selanjutnya
menampilkan nilai terbesar yang ada pada array nilai[]

Petunjuk : jadikan array sebagai parameter fungsi


Jawab:
a. Listing Program
#include<stdio.h>
#include<conio.h>
#define maks 30
void input (int);
int findmax(int[],int);

main()
{
int jumlah;

printf("Masukkan jumlah data = ");


scanf("%d", &jumlah);

input(jumlah);

void input (int jumlah)


{
int x[maks], max, i;
for(i=0; i<jumlah; i++)
{
printf("Masukkan nilai ke-%d = ", i+1);
scanf("%d", &x[i]);
}
max=findmax(x, jumlah);
printf("\nNilai terbesar adalah %d", max);
}

int findmax(int x[maks], int jumlah)


{
int i, max;
for(i=0; i<jumlah; i++)
{
if(i==0)
{
max=x[0];
}
else
{
if(max<=x[i])
max=x[i];
}
}
return max;}

99
b. Ouput

10
0
2. Diketahui daftar nilai siswa sebagai berikut:

Buatlah program untuk menampilkan laporan sebagai berikut:

Petunjuk: Gunakan variable array dua dimensi untuk menyimpan data


Jawab:
a. Listing Program
#include <stdio.h>
#define MAKS 30
void cariRata(float[MAKS][4]);
void tampilkan(float[MAKS][4]);
main()
{
float nilai[MAKS][4] ={
{1,81,90,62},
{2,50,83,87},
{3,89,55,65},
{4,77,70,92}
};
tampilkan(nilai);
cariRata(nilai);
}
void tampilkan(float data[MAKS][4])
{
int i,j,jumlahdata = 4;
puts("Daftar nilai:");
printf("---------------------------------------------\n");
printf("| %2s | %10s | %10s | %10s
|\n","no","Bahasa","Matematika","Digital");
printf("---------------------------------------------\n");
for(i=0;i<jumlahdata;i++)
printf("| %2d | %10.0f | %10.0f |
%10.0f|\n",i+1,data[i][1],data[i][2],data[i][3]);
printf("---------------------------------------------\n");
}
void cariRata(float data[MAKS][4])
{
int i,j,jumlahdata = 4;
float total = 0;
printf("\nNilai Rata-rata:\n");
printf("-------------------\n");
printf("| %2s | %12s\n","No","Rata-rata |");
printf("-------------------\n");
for(i=0;i<1;i++)
{total=0;

for(j=0;j<3;j++)
{
total = data[i][1]+data[i][2]+data[i][3];
10
1
}

printf("| %2d | %10.2f |\n",i+1,total/j);


}
for(i=1;i<2;i++)
{total=0;

for(j=0;j<3;j++)
{
total = data[i][1]+data[i][2]+data[i][3];
}

printf("| %2d | %10.2f |\n",i+1,total/j);


}
for(i=2;i<3;i++)
{total=0;

for(j=0;j<3;j++)
{
total = data[i][1]+data[i][2]+data[i][3];
}

printf("| %2d | %10.2f |\n",i+1,total/j);


}
for(i=3;i<4;i++)
{total=0;

for(j=0;j<3;j++)
{
total = data[i][1]+data[i][2]+data[i][3];
}

printf("| %2d | %10.2f |\n",i+1,total/j);


}
printf("-------------------\n");
}

b. Output

10
2
3. Buat program untuk menampilkan tabel berikut ini dengan menggunakan looping for() dan 2
buah array :
x[] sbg array berdimensi satu yang diinisialisasi dgn sudut 0 s/d 360
data[] sbg array berdimensi dua. data adalah array yg berisi nilai sin, cos dan tan dari masing•
masing nilai sudut yang ada dalam array x.

Petunjuk :
gunakan fungsi radian() untuk mengkonversi nilai derajat menjadi radian.
rad = drjt / 180.0 * PI. PI = 3.14159

Jawab:
a. Listing Program
#include <stdio.h>
#include <math.h>
#define PHI 3.14f;
float radian(float);
void isiX(float[]);
void isi(float[]);
main()
{
float x[12];

isiX(x);
isi(x);
}
void isiX(float sudut[])
{
int i = 0;
float derajat=0;
for(i=0;derajat<=360;i++)
{
sudut[i] = derajat;
derajat+=30;
}
}
void isi(float sudut[])
{
int i;
printf("----------------------------------------\n");
printf("| %6s | %7s | %7s | %7s |\n","x","sin(x)","cos(x)","tan(x)");
printf("----------------------------------------\n");
for(i=0;i<12;i++)
printf("| %6.0f | %7.2f | %7.2f | %7.2f
|\n",sudut[i],sin(radian(sudut[i])),cos(radian(sudut[i])),tan(radian(sudut
[i])));
printf("----------------------------------------\n");

}
float radian(float derajat)
{
return (derajat / 180.0f) * PHI;
}

10
3
b. Output

Kesimpulan:
Dari praktikum arrray 2 saya dapat mengetahu beberapa hal diantaranya:
1.Sebuah array juga dapat jadikan sebagai parameter fungsi.
2.Karena yangdikirimkan adalah alamatnya, maka di dalam fungsi, tanpa return value pun
nilai array akan berubah sesuai proses yang dijalankan.
3. Dalam parameter aktual, array yang dijadikan sebagai parameter tidak perlu ditambahkan
karakter “[]”karena array tanpa tanda tersebut sudah menyatakan alamat indeks ke 0dari array
tersebut.

10
4

Anda mungkin juga menyukai