Anda di halaman 1dari 29

LAPORAN PRAKTIKUM STRUKTUR DATA

MODUL 4
Array Dalam Fungsi

Dosen: Sherly Gina Supratman M.Kom.

Disusun Oleh:

Agung Trianggoro

20180910015

SISTEM INFORMASI/A 2018

FAKULTAS ILMU KOMPUTER

UNIVERSITAS KUNINGAN

TAHUN 2018
D. Praktikum

1. Praktikum 1
Studi kasus 4.1
Melakukan pencarian berdasarkan input yang dilakukan dalam bentuk string
dengan demikian pencarian berdasarkan data string yang telah dimasukan.

Proses coding:

Line Syntax
1 #include <stdio.h> //file header i/o printf/scanf
2 #include <stdlib.h> //file header untuk pencarian
3 #include <conio.h> //untuk getch(); menahan program
4 struct maha //struktur data
5 {
6 char nama[30]; //deklarasi variabel
7 char search[30]; //deklarasi variabel
8 }
9 siswa[20];
10 enum jawab
11 {
12 benar,salah
13 }
14 ketemu;
15 int searching(int a, maha siswa[20]) //nama fungsi
16 {
17 int i,j; //deklarasi variable
18 ketemu = salah;
19 for(i=0;i<a;i++){ //perulangan
20 j=0;
21 while(j<30){
22 if(siswa[i].nama[j] == siswa[20].search[j])
23 {
24 if(j==29 && siswa[i].nama[29]==siswa[20].search[29])
25 {
26 ketemu=benar;
27 break; //mengentikan looping
28 }
29 j++;
30 }
31 else if(siswa[i].nama[j]!=siswa[20].search[29])
32 {
33 break; //menghentikan program
34 }
35 }
36 }
37 return ketemu; //pengembalian nilai
38 }
39 void main()
40 {
41 int x,i; //deklarasi variabel
42 char input[10],plh[1];
43 printf("masukan jumlah peserta: "); //input
44 gets(input);
45 x=atoi(input);
46 printf(" masukan nama: \n"); //input
47 for (i=0;i<x;i++) //perulangan
48 {
49 gets(siswa[i].nama);
50 }
51 pilih:
52 for(i=0;i<31;i++) //perulangan
53 {
54 siswa[20].search[i]=NULL;
55 }
56 printf("\nMasukan nama yang dicari: "); //input nama
57 gets(siswa[20].search);
58 printf("\n yang anda cari: ");
59 if(searching(x,siswa)==benar)
60 {
61 printf("ditemukan \n\n"); //output jika ditemukan
62 }
63 else {
64 printf("tidak ditemukan\n\n"); //outpu tdk ditemukan
65 }
66 yakin:
67 printf("ingin cari lagi [y/n]: ");
68 gets(plh);
69 if (plh[0]=='y') //mengecek kondisi
70 {
71 goto pilih;
72 }
73 else if(plh[0]=='n'){
74 printf("\n Terima kasih");
75 getch(); //menahan program agar tak tutup otomatis
76 exit(0);
77 }
78 else
79 {
80 printf("anda salah pilihan\n");
81 goto yakin;
82 }
83 }

Hasil running Program studi kasus 4.1:



Keterangan hasil running & analisi program praktikum 1:

 Pada praktikum 1 studi kasus 4.1 adalah sebuah program pencarian nama,
program memerintahkan user untuk menginput jumlah peserta dan
memasukan nama peserta sesuai dengan jumlah peserta, misalnya seperti
program diatas dengan jumlah peserta 2 nama agung & trianggoro.
Line 43-50
printf("masukan jumlah peserta:
");
gets(input);
x=atoi(input);
printf(" masukan nama: \n");
for (i=0;i<x;i++)
{
gets(siswa[i].nama);
}

 Selanjutnya program memerintahkan user untuk memasukan nama yang


dicari contoh ketika memasukan nama “agung” maka akan muncul pesan
“yang anda cari: ditemukan” jika tidak sebaliknya. proses codingnya
seperti ini:
Line 56-65
printf("\nMasukan nama yang
dicari:");
gets(siswa[20].search);
printf("\n yang anda cari: ");
if(searching(x,siswa)==benar)
{
printf("ditemukan \n\n");
}
else {
printf("tidak ditemukan\n\n");
}

 Setelah itu saat proses pencarian ditemukan/tidak ditemukan, maka


otomatis program akan muncul pesan menanyakan apakah user ingin cari
lagi nama? dengan ketik ya atau tidak ([y/n]). Proses coding nya seperti
ini:
Line 66-77
yakin:
printf("ingin cari lagi [y/n]: ");
gets(plh);
if (plh[0]=='y')
{
goto pilih;
}
else if(plh[0]=='n'){
printf("\n Terima kasih");
getch();
exit(0);
}
Jika user memilih Ya/y maka goto pilih; program akan melakukan looping dan
user diperintahkan untuk memasukan kembali nama yang akan dicari. Proses
codingnya seperti ini:
Line 69-72
if
(plh[0]=='y')
{
goto pilih;
}
Line 51-56
pilih:
for(i=0;i<31;i++)
{
siswa[20].search[i]=NULL;
}
printf("\nMasukan nama yang dicari: ");

Apabila user memilih Tidak/n maka program otomatis akan berhenti dan tidak
melakukan perulangan, akan muncul pesan “Terima Kasih”.

else if(plh[0]=='n'){
printf("\n Terima kasih");
getch();
exit(0);

2. Praktikum 2

Studi kasus 4.2


Mobil 13 dalah perusahaan yang menjual mobil bekas, berdagang mobil bekas selama
bertahun – tahun ternyata hanya ada tiga meek mobil yang selalu dicari oleh konsumen
yaitu Toyota, Honda dan Suzuki. Mobil 13 saat ini sudah memiliki cabang di 3 Kota
Besar yaitu Jakarta, Surabaya dan Medan dengan demikian banyaknya konsumen yang
percaya dengan kualitas mobil bekas yang dijual oleh mobil 13 perusaaan
membutuhkan program yang dapat mencatat semua penjualan mobil bekas perbulan
disetiap cabangnya, selama ini perhitungan masih bersifat manual dalam bentuk bagan
diatas kertas. 

Proses coding:

Line Syntax
1 #include<stdio.h> //file header i/o printf/scanf
2 #include<conio.h> //untuk getch(); menahan program
3 void judul(char kota[11])//parameter menampikan tabel penjualan
4 {
5 char merek[3][7] ={"Toyota","Honda","Suzuki"};
6 char bulan [13]
7 [4]={"Jan","Feb","Mar","Apr","Mei","Jun","jul","Ags","Sep","Okt
8 ","Nop","Des","JML"};

9 int i; //deklarasi variable


10 clrscr();
11 printf("PENJUALAN MOBIL BEKAS\n\n");
12 printf("Kota :%s\n\n\t",kota);
13 for(i=0; i<13; i++) //perulangan untuk bulan
14 printf(" %s",bulan[i]);
15 for(i =0; i<3; i++) //perulangan untuk merek
16 printf("\n %s",merek[i]);
17 }

18 void isi_data(int jual[4][13][4]) //parameter pengisian data


19 {
20 char kota [4][11] = {"Jakarta","Surabaya", "Medan", "Semua
21 Kota"};
22 int i_k, i_m, i_b;
23 //indeks kota,merek,bulan//

24 for(i_k =0; i_k<3;i_k++) //kota


25 {
26 judul(kota[i_k]);
27 for(i_m=0; i_m<3; i_m++) //merek
28 {
29 for(i_b =0; i_b<12; i_b++) //bulan
30 {
31 gotoxy(11 + i_b *4, i_m +6); //fungsi gotoxy
32 scanf("%d",&jual[i_m][i_b] [i_k]);
33 jual[i_m][12][i_k] += jual[i_m] [i_b] [i_k];
34 //isi ke samping
35 jual[3][i_b][i_k] += jual [i_m] [i_b] [i_k];
36 //isi kebawah
37 jual[3][12][i_k] += jual[i_m][i_b][i_k];
38 //isi ke total
39 jual[i_m][i_b][3] +=jual[i_m][i_b][i_k];
40 //isi ke lapis ke-4
41 }
42 gotoxy(59,i_m+6); //jumlah pertahun
43 printf("%d",jual[i_m][12][i_k]);
44 }
45 gotoxy(11,10); //jumlah perbulan
46 for(i_b =0; i_b<13;i_b++)
47 printf("%-4d",jual[3][i_b][i_k]);
48 fflush(stdin);
49 getch();
50 }
51 }

52 void total_jual(int jual[4][13][4]) //parameter hasil


53 {
54 int i_m, i_b;
55 for(i_m =0; i_m<3; i_m++)
56 for(i_b =0; i_b<12; i_b++)
57 {
58 jual[i_m][12][3] += jual[i_m][i_b][3];
59 //tambah ke samping
60 jual[3][i_b][3] +=jual[i_m][i_b][3];
61 //tambah ke bawah

62 jual[3][12][3] +=jual[i_m][i_b][3];
63 //tambah ke grand total
64 }
65 judul("semua");
66 for(i_m =0; i_m<4; i_m++)
67 {
68 i_m == 3?gotoxy (11,i_m +7):gotoxy(11,i_m +6);
69 for(i_b=0; i_b<13; i_b++)
70 printf("%-4d",jual[i_m][i_b][3]);
71 }
72 }

73 int main()
74 {
75 int jual[4][13][4]={0};
//pemanggilan fungsi merek,bulan,kota
76 isi_data(jual); //pemanggilan fungsi pengisian data
77 total_jual(jual); //pemanggilan fungsi hasil data
78 getch();
79 return 0;
80 }

Keterangan program studi kasus 4.2:


 Program ini digunakan untuk mencatat transaksi penjualan mobil bekas
yang ada di kota Jakarta, Medan dan Surabaya dengan array 2 dimensi tipe
data char.
char kota [4][11] ={"Jakarta","Surabaya","Medan",
"Semua Kota"};

 Untuk merk mobil bekas yang dijual yaitu Toyota,Honda dan Suzuki
dengan array 2 dimensi tipe data char.

char merek[3][7] ={"Toyota","Honda","Suzuki"};

 program ini melakukan proses yaitu menginput total penjualan perbulan


dengan urutan kota Jakarta, Surabaya, Medan lalu Semua Kota dan Fungsi
yang digunakan yaitu Gotoxy dimana fungsi ini menggunakan dua buah
sumbu x dan y untuk menempatkan posisi cursor.
{
gotoxy(11 + i_b *4, i_m +6);
scanf("%d",&jual[i_m][i_b] [i_k]);
jual[i_m][12][i_k] += jual[i_m] [i_b] [i_k];
//isi ke samping
jual[3][i_b][i_k] += jual [i_m] [i_b] [i_k];
//isi kebawah
jual[3][12][i_k] += jual[i_m][i_b][i_k];
//isi ke total
jual[i_m][i_b][3] +=jual[i_m][i_b][i_k];
//isi ke lapis ke-4
}
gotoxy(59,i_m+6);
printf("%d",jual[i_m][12][i_k]);
}
gotoxy(11,10);
for(i_b =0; i_b<13;i_b++)
printf("%-4d",jual[3][i_b][i_k]);
fflush(stdin);
getch();
}

 Fungsi judul untuk menampilkan array merk mobil dan bulan


void judul(char kota[11])
{
char merek[3][7] ={"Toyota","Honda","Suzuki"};
char bulan [13]
[4]={"Jan","Feb","Mar","Apr","Mei","Jun","jul","Ags","Sep","Okt","N
op","Des","JML"};
int i;
clrscr();
printf("PENJUALAN MOBIL BEKAS\n\n");
printf("Kota :%s\n\n\t",kota);
for(i=0; i<13; i++)
printf(" %s",bulan[i]);
for(i =0; i<3; i++)
printf("\n %s",merek[i]);
}

 fungsi isi_data untuk melakukan pengisian data merk mobil yang terjual
pada tiap bulan sesuai merk yang disediakan terlebih dahulu.

void isi_data(int jual[4][13][4])

 Dan pada main() program ini memanggil fungsi-fungsi yang tersedia yaitu
jual, isi_data dan total_jual, lalu menampilkan data yang sudah diinput
pada fungsi sebelumnya.

int main()
{
int jual[4][13][4]={0};
//pemanggilan fungsi
merek,bulan,kota
isi_data(jual);
total_jual(jual);
getch();
return 0;
}

Hasil running program studi kasus 4.2: (sudah diisi oleh user)
a. Kota Jakarta, total penjualan semua mobil selama 1 tahun = 62 unit
b. Kota Surabaya, total penjualan semua mobil selama 1 tahun =95 unit

c. Kota Medan, total penjualan semua mobil selama 1 tahun =129 unit

d.Total penjualan semua mobil pada seluruh kota selama 1 tahun =286 unit


Keterangan hasil running praktikum 2:

Program praktikum 2 studi kasus 4.2 adalah untuk menjumlahkan banyak


nya unit mobil yang terjual baik dari setiap bulan, maupun jumlah total dari hasil
penjualan selama satu tahun di setiap kota. Terdapat 3 kota dimana saat semua
kota sudah diinputkan hasil penjualanya, diakhir program akan menjumlahkan
seluruh nilai dari hasil penjualan di 3 kota tersebut. Program ini menggunakan
array 3 dimensi dan multidimensi, dimana setiap kolom dan baris dapat
dijumlahkan, yang jumlahnya menjadi dimensi ke 3 dari array tersebut. Untuk
proses penginputan menggunakan fungsi gotoxy dimana ia berfungsi untuk tata
letak penginputan di sebelah mana baris dan kolom akan ditentukan.

 untuk menjumlah seluruh penjualan menggunakan coding seperti berikut: 


Line 57-64
{
jual[i_m][12][3] += jual[i_m][i_b][3];
//tambah ke samping

jual[3][i_b][3] +=jual[i_m][i_b][3];
//tambah ke bawah

jual[3][12][3] +=jual[i_m][i_b][3];
//tambah ke grand total
}

E. Post Test
1. Studi kasus 1
Dalam suatu kumpulan angka yang tidak beraturan kita diminta untuk mengurutkan dari
mulai angka yang terkecil hingga yang terbesar, tipe data yang dapat menangani kasus ini
yang effisien adalah tipe data array.

Code program awal posttest 1 sebelum diperbaiki:


Line Syntax
1 #include<stdio.h>
2 #include<conio.h>
void bubblesort (int data[], int n)
3 {
4 int i, j = 0, temp, flag = 1;
5 while (flag)
6 {
flag = 0;
7 for(i = 0; i < n; i++)
8 {
9 if(data[i] > data[i + 1])
10 {
temp = data[i];
11 .................
12 data[i + 1] = temp;
13 .................
14 }
}
15 }
16 }
17 main()
18 {
int data[1000];
19 int n, i;
20 printf("______.:: BUBBLE SORT ::.______\n");
21 printf("Masukan Angka (max 1000) : ");
22 .................
printf("Data (pisahkan angka dengan spasi) : ");
23 .................
24 scanf("%d", &data[i]);
25 .................
26 printf("\nOutput after sort : \n");
for(i = 0; i < n; i++)
27 {
28 .................
29 }
30 getch();
31 }
Hasil running program awal posttest 1 yang belum diperbaiki masih
terdapat error:
Code program posttest 1 yang sudah diperbaiki:

Line Syntax
1 #include<stdio.h> //file headen o/i printf/scanf
2 #include<conio.h> //file header u/ getch();

3 void bubblesort (int data[], int n) //parameter


bubblesort
4 {
5 int i, j = 0, temp, flag = 1; //Deklarasi
variabel dan menetapkan nilai fungsi
6 while (flag) //instruksi perulangan DO-WHILE & FOR
7 {
8 flag = 0;
9 for(i = 0; i < n; i++)
10 { //proses pengurutan angka
11 if(data[i] > data[i + 1])
12 {
13 temp = data[i];
14 data[i] = data[i + 1];
15 data[i + 1] = temp;
16 flag++;
17 }
18 }
19 }
20 }
21 main()
22 {
23 int data[1000]; // variabel array dengan elemen 1000
24 int n, i, j; //variabel
25 printf("______.:: BUBBLE SORT ::.______\n");
26 printf("Masukan Angka (max 1000) : ");
27 scanf("%d", &n); //input jumlah elemen yang di
gunakan
28 printf("Data (pisahkan angka dengan spasi) : ");
//masukann di pisah dengan spasi
29 for(i = 0; i < n; i++) //perulangan untuk
memasukan angka
30 {
31 scanf("%d", &data[i]);
32 }
33 bubblesort (data, n); //pemanggilan fungsi
34 printf("\nOutput after sort : \n");
//menampilkan hasil sort dengan instruksi for
35 for(j = 0; j < n; j++)
36 {
37 printf("%d ", data[j]);
38 }
39 getch();
40 }

Hasil running post test 1 setelah diperbaiki:

2. Studi Kasus 2
Terdapat beberapa nilai masukan yang akan diolah semua nilai bertipe data
integer dari semua nilai yang di masukan terdapat nilai terbesar dan nilai terkecil,
setiap data yang diinput disimpan dalam variable array, perbaikilah program
dibawah ini agar dapat menyelesaikan kasus di atas.

Program awal posttest 2 sebelum diperbaiki:


Line Syntax
1 #include <iostream.h>
2 int mian()
3 {
4 int max,n,i,mim;
5 float A[100];
6 cout<<"masukan jumlah data: ",cin<<n;
7 for (i=1;i>n;i-+);
8 {
9 cout<<"masukan bilangan ke "[<<i<<]": ";
10 cin>>A[i--];}
11 max = A [0];
12 for (i=1;i<n;i++)
13 {
14 if (max>A[i++]) {
15 max=max[i++];
16 }
17 if (min>max[i]){
18 min = max [i];
19 }
20 }
21 cout<<"Nilai terbesar adalah: "<<max[i]<<end;
22 cout<<"Nilai terkecil adalah: "<<min[i]<<endl;
23 return 0;
24 }

Hasil running program posttest 2 awal yang belum diperbaiki masih


terdapat error:
Code program posttest 2 yang sudah diperbaiki:

Line Syntax
1 #include <iostream.h>
2 #include <conio.h>
3 int main()
4 {
5 int max, i, n, min;
6 float A[100];
7 cout<<".::| MENCARI NILAI TERBESAR DAN TERKECIL
|::. \n\n";
8 cout<<"Masukan Jumlah Data : ";
9 cin>>n;
10 for(i=1; i<=n; i++)
11 {
12 cout<<" Masukan Bilangan Ke ["<<i<<"] : ";
13 cin>>A[i];
14 }
15 for(i=1; i<=n; i++)
16 {
17 if(i==1)
18 {
19 min = A[i];
20 max = A[i];
21 }
22 else if (min > A[i])
23 {
24 min = A [i];
25 }
26 else if(max < A[i])
27 {
28 max = A[i];
29 }
30 }
31 cout<<"\nNilai Terbesar Adalah : "<<max<<endl;
32 cout<<"Nilai Terkecil Adalah : "<<min<<endl;
33 getch();
34 return 0;
35 }

Hasil running post test 2 setelah diperbaiki:

F. Tugas

1. Buatlah program dengan bahasa C/C++ untuk mengurutkan 100 buah data
masukan dengan fungsi array!!
2. Buatlah array berdimensi 3 dan multidimensi
3. pada studi kasus 4.2 menambahkan 5 kota yaitu, Semarang, Pekanbaru,
Aceh, Lampung, dan Timika.
Jawaban :       

1. Jawaban tugas No. 1


Line Syntax
1 #include <stdio.h>
2 #include <conio.h>
3 int data[100];
4 int n, i, j, temp;

5 int scan ( int n,int data[ ]) //parameter masukan


6 data
7 {
8 for (i = 0; i < n; i++) //perulangan untuk
memasukan nilai kdalam array
9 {
10 printf ("Masukan Angka ke %d : ", i+1);
11 scanf("%d", &data[i]);
12 }
13 }
14 int proses(int n, int data[ ]) //parameter proses
15 {
16 for (i = 0; i < n; i++) //perulangan untuk
memasukan kedalam array
17 {
18 for ( j = i + 1; j < n; j++)
19 { //di gunakan logika penukaran dan
pengulangan mengurutkan angka
20 if (data[i] > data[j])
21 {
22 temp = data[i];
23 data[i] = data[j];
24 data[j] = temp;
25 }
26 }
27 }
28 }
29 int print (int n, int data[ ] ) //parameter tampil
hasil
30 {
31 printf("\nHasil pengurutan angka\n");
32 for(i = 0; i < n; i++) //pengulangan untuk
menampilkan hhasil
33 {
34 printf("%d ",data[i]);
35 }
36 }
37 int main()
38 {
39 printf("Mengurutkan 100 Duta Masukan\n");
40 printf("Masukan jumlah data (MAX 100) : ");
41 scanf("%d", &n); //masukan jumlah elemen
42
43 scan(n, data); //panggilan untuk masukan isi
44 array
45 proses(n, data); //pemanggilan untuk proses
46 print(n, data); //pemanggilan tampilan hasil
47 getch();
48
49 }

Hasil running tugas No.1: (sudah diisi oleh user)


2. Jawaban tugas No. 2
a. Array 3 dimensi
Line Syntax
1 #include <stdio.h>
2 #include <conio.h>
3 int main()
4 {
5 int a[3][3][3]={{{1,2,3},{4,5,6},{7,8,9}},
{{10,11,12},{13,14,15},{16,17,18}},
{{19,20,21},{22,23,24},{25,26,27}}};

6 int i, j, k;
7 printf ("\n||| Array 3 Dimensi ||| \n\n");
8 for (i = 0; i < 3; i++)
9 {
10 for (j = 0; j < 3; j++)
11 {
12 for (k = 0; k < 3; k++)
13 {
14 printf ("Baris %d | Kolom %d = %d\n", j+1, k+1,a[i][j]
[k]);
15 }
16 printf ("\n");
17 }
18 }
19 printf("==============================\n");
20 printf("\n\n");
21 printf("Matriksnya:\n\n");
22 for (i = 0; i < 3; i++)
23 {
24 for (j = 0; j < 3; j++)
25 {
26 for (k = 0; k < 3; k++)
27 {
28 printf ("%d\t",a[i][j][k]);
29 }
30 printf ("\n\n");}
31 }
32 getch();
33 }

Hasil running tugas No.2 Array 3 dimensi:


b. Array Multidimensi
Line Syntax
1 #include <stdio.h>
2 #include <conio.h>
3 main()
4 {
5 int i,s;
6 char h=64, nama[5][4][22] = {
7 "Agung Trianggoro","Adit","Raju","Rian",
"Faiz","Nana","Dodo","Adi",
"Lia","Alex","Justin","Beny",
8 "Rangga","Yayan","Daniel","Lisa",
9 "Maman","Wawan","Aconk","Casmad"

10 };

11 printf("DATA KELAS & MAHASISWA\n");


12 printf("PRODI SISTEM INFORMASI\n");
13 printf("UNIVERSITAS KUNINGAN\n\n");

14 for(i=0; i<5; i++)


15 {
16 ++h;
17 printf("Kelas %c \n", h);

18 for(s=0; s<4; s++)


19 {
20 printf(" %d. %s \n", s+1, nama[i][s]);
21 }
22 printf("\n");
23 }

24 getch();
25
26 }

Hasil running tugas No.2 Array Multidimensi:


3. Jawaban tugas No. 3
Code Program tugas No.3
Line Syntax
1 #include<stdio.h>
2 #include<conio.h>
3 void judul(char kota[11])
4 {
5 char merek[3][7]={"Toyota","Honda","Suzuki"};
6 char bulan [13]
7 [4]={"Jan","Feb","Mar","Apr","Mei","Jun","jul","Ags","Sep","Okt
","Nop","Des","JML"};

8 int i;
9 clrscr();
10 printf("PENJUALAN MOBIL BEKAS\n\n");
11 printf("Kota :%s\n\n\t",kota);
12 for(i=0; i<13; i++)
13 printf(" %s",bulan[i]);
14 for(i =0; i<3; i++)
15 printf("\n %s",merek[i]);
16 }

17 void isi_data(int jual[4][13][9])


18 {
19 char kota [9][11] = {"Jakarta","Surabaya",
"Medan","Semarang","Pekanbaru","Aceh","Lampung","Timika","Semua
Kota"};
20 int i_k, i_m, i_b;
//indeks kota,merek,bulan//

21 for(i_k =0; i_k<8;i_k++)//kota


22 {
23 judul(kota[i_k]);
24 for(i_m=0; i_m<3; i_m++)//merek
25 {
26 for(i_b =0; i_b<12; i_b++)//bulan
27 {
28 gotoxy(11 + i_b *4, i_m +6);
29 scanf("%d",&jual[i_m][i_b] [i_k]);
30 jual[i_m][12][i_k] += jual[i_m] [i_b] [i_k];
//isi ke samping
31 jual[3][i_b][i_k] += jual [i_m] [i_b] [i_k];
//isi kebawah
32 jual[3][12][i_k] += jual[i_m][i_b][i_k];
//isi ke total
33 jual[i_m][i_b][8] +=jual[i_m][i_b][i_k];
//isi ke lapis ke-4
34 }
35 gotoxy(59,i_m+6);
36 printf("%d",jual[i_m][12][i_k]);
37 }
38 gotoxy(11,10);
39 for(i_b =0; i_b<13;i_b++)
40 printf("%-4d",jual[3][i_b][i_k]);
41 fflush(stdin);
42 getch();
43 }
44 }

45 void total_jual(int jual[4][13][9])


46 {
47 int i_m, i_b;
48 for(i_m =0; i_m<3; i_m++)
49 for(i_b =0; i_b<12; i_b++)
50 {
51 jual[i_m][12][8] += jual[i_m][i_b][8];
//tambah ke samping
52 jual[3][i_b][8] +=jual[i_m][i_b][8];
//tambah ke bawah

53 jual[3][12][8] +=jual[i_m][i_b][8];
//tambah ke grand total
54 }
55 judul("semua");
56 for(i_m =0; i_m<4; i_m++)
57 {
58 i_m == 3?gotoxy (11,i_m +7):gotoxy(11,i_m +6);
59 for(i_b=0; i_b<13; i_b++)
60 printf("%-4d",jual[i_m][i_b][8]);
61 }
62 }

63 int main()
64 {
65 int jual[4][13][9]={0};
//merek,bulan,kota
66 isi_data(jual);
67 total_jual(jual);
68 getch();
69 return 0;
70 }
Hasil running tugas No.3: (sudah diisi oleh user)
a. Kota Jakarta, total penjualan semua mobil selama 1 tahun = 65 unit

b. Kota Surabaya, total penjualan semua mobil selama 1 tahun = 72 unit

c. Kota Medan, total penjualan semua mobil selama 1 tahun = 94 unit

d. Kota Semarang, total penjualan semua mobil selama 1 tahun = 71 unit

e. Kota Pekanbaru, total penjualan semua mobil selama 1 tahun = 66 unit

f. Kota Aceh, total penjualan semua mobil selama 1 tahun = 55 unit


g. Kota Lampung, total penjualan semua mobil selama 1 tahun = 55 unit

h. Kota Timika, total penjualan semua mobil selama 1 tahun = 77 unit

i.Total penjualan semua mobil pada seluruh kota selama 1 tahun = 555 unit

Anda mungkin juga menyukai