-
Notifications
You must be signed in to change notification settings - Fork 1
/
finish
327 lines (310 loc) · 9.57 KB
/
finish
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
#include <stdio.h> //file header standar input output
#include <stdlib.h> //file header standar library
#include <string.h> // file header untuk karakter
#include <math.h> // file header untuk operasi penghitungan aritmatika
#include <conio.h> // flle header untuk menampilkan perintah memunculkan pernyataan setelah tombol ditekan
//Deklarasi Menu
void biodata();
char pilihMenuUtama(), pilihMenuPerhitungan(), pilihMenuFisika(), pilihPerhitunganMtk();
void garis(char kar, int jum);
//Deklarasi Matematika
int luasperkbs(int), volumebalok(int,int,int), luasperblk(int,int,int);
void kubus(int), balok(int,int,int);
int rusuk, panjang, lebar, tinggi;
//Deklarasi Fisika
void menuFisika();
int energipotensial(int, int, int), tekananhidrostatis(int, int), geraklurusberaturan(int,int,int);
int masa, jarijari, kec, t, a, g=10;
//Deklarasi Statistika
int jumlah=5;
float rata2(int *nilai);
char statistika();
int tertinggistat(int *nilai);
void isidata(int n, char *nm_id[], int ni_id[]);
void tampildata(char *nm_td[], int ni_td[],int n);
int main(){
char pilih='0';
char response=0;
do{
pilih=pilihMenuUtama();
if(pilih=='1'){
biodata();
}else if(pilih=='2'){
system("cls");
//>>tempat submenu perhitungan
//system("pause");
char plh='0';
do{
plh=pilihMenuPerhitungan();
if(plh=='1'){
system("cls");
char pilih1='0';
do{
//>> tempat submenu perhitungan fisika
char response2='0';
pilih1=pilihMenuFisika();
if(pilih1=='1'){
do{
system("cls");
garis('=',70);
printf("\t Anda memasuki laman perhitungan Energi Potensial\n");
garis('=',70);
printf("\n\tMassa Benda(kg)\t\t: ");scanf(" %d",&masa);
printf("\tKetinggian(m)\t\t: ");scanf(" %d",&tinggi);
printf("\tGravitasi(m/s^2)\t: %d\n\n",g);
garis('=',70);
printf("\tEnergi Potensial \t: %d Joule\n",energipotensial(masa,g,tinggi));
garis('=',70);
printf("\tUlangi Perhitungan? (Y)es: ");
response2 = getche();
system("cls");
}while((response2=='Y')||(response2=='y'));
}else if(pilih1=='2'){
do{
system("cls");
garis('=',70);
printf("\t Anda memasuki laman perhitungan Tekanan Hidrostatis\n");
garis('=',70);
printf("\n\tMassa Jenis Benda(kg/m^3)\t: ");scanf(" %d",&masa);
printf("\tKetinggian(m)\t\t\t: ");scanf(" %d",&tinggi);
printf("\tPercepatan Grafitasi\t\t: %d\n\n",g);
garis('=',70);
printf("\tTekanan Hidrostatis\t\t: %d Joule\n",tekananhidrostatis(masa,tinggi));
garis('=',70);
printf("\tUlangi Perhitungan? (Y)es: ");
response2 = getche();
system("cls");
}while((response2=='Y')||(response2=='y'));
}else if(pilih1=='3'){
do{
system("cls");
garis('=',70);
printf("\t Anda memasuki laman perhitungan Gerak Lurus Beraturan\n");
garis('=',70);
printf("\n\tKecepatan Awal : ");scanf(" %d",&kec);
printf("\tPercepatan : ");scanf(" %d",&a);
printf("\tWaktu : ");scanf(" %d",&t);
garis('=',70);
printf("\tJarak Yang Ditempuh : %d Joule\n",geraklurusberaturan(kec,a,t));
garis('=',70);
printf("\tUlangi Perhitungan? (Y)es: ");
response2 = getche();
system("cls");
}while((response2=='Y')||(response2=='y'));
/* }else if(pilih!='0'){
system("cls");
printf("Maaf, Pilhan Anda salah\n");
system("pause");*/
}
}while(pilih1!='0');
system("pause");
system("cls");
}else if(plh=='2'){
system("cls");
char pilih1='0';
do{
//>> tempat submenu perhitungan matematika
char response2='0';
pilih1=pilihPerhitunganMtk();
if(pilih1=='1'){
system("cls");
do{
garis('=',70);
printf("\t\tAnda Memasuki Halaman Perhitungan Kubus\n");
garis('=',70);
printf("\tPanjang rusuk (m)\t: ");scanf("%d",&rusuk);
garis('=',70);
kubus(rusuk);
garis('=',70);
printf("\tUlangi Perhitungan? (Y)es: ");
response2 = getche();
system("cls");
}while((response2=='Y')||(response2=='y'));
}else if(pilih1=='2'){
do{
system("cls");
garis('=',70);
printf("\t\tAnda Memasuki Halaman Perhitungan Balok\n");
garis('=',70);
printf("\tPanjang Balok (m)\t: ");scanf("%d",&panjang);
printf("\tLebar Balok (m)\t\t: ");scanf("%d",&lebar);
printf("\tTinggi Balok (m)\t: ");scanf("%d",&tinggi);
garis('=',70);
balok(panjang, lebar, tinggi);
garis('=',70);
printf("\tUlangi Perhitungan? (Y)es: ");
response2 = getche();
system("cls");
}while((response2=='Y')||(response2=='y'));
}
}while(pilih1!='0');
system("pause");
system("cls");
}else if(plh=='3'){
int st=statistika();
if((st!='Y')||(st!='y')){
plh=pilihMenuPerhitungan();
}
}else if(plh!='0'){//mengatasi jika salah pilih
system("cls");
printf("\tMaaf, Pilhan Anda salah\n");
system("pause");
system("cls");
}
}while(plh!='0');
system("pause");
}
}while(pilih!='0');
}
void garis(char kar, int jum){
int i;
for(i=0;i<jum;i++){
printf("%c",kar);
}
printf("\n");
}
char pilihMenuUtama(){
char tpilih=0;
system("cls");
garis('=',70);
printf("\t Selamat Datang di Program Perhitungan Khusus\n\n");
printf("\t Copyright by PTIK FT UNJ 2016\n");
garis('=',70);
printf("\t\tPilihan Menu \n\t");
garis('-',30);
printf("\t1. Menu 1 - BIODATA\n");
printf("\t2. Menu 2 - PERHITUNGAN\n");
printf("\t0. Exit \n");
garis('=',70);
printf("\tPilihan Anda : ");tpilih=getchar();
return tpilih;
}
void biodata(){
system("cls");
garis('=',70);
printf("\t\tAnda Memasuki Halaman Biodata\n");
//>> tempat biodata
garis('=',70);//getch();
printf("\tAchmad Ahlar Ridha - 5235155571\n\n");//getch();
printf("\tFebrianto Widyoutomo - 5235152263\n\n");//getch();
printf("\tFerdinand Louis - 5235153365\n\n");//getch();
printf("\tRiza Maulana Halim - 5235154242\n\n");//getch();
printf("\tSetya Achsanul Arief - 5235150721\n\n");//getch();
garis('=',70);
system("pause");
}
char pilihMenuPerhitungan(){// fungsi menampilkan menu dan mengembalikan pilihan user
char tpilih=0;
//system("cls");
garis('=',70);
printf("\t\t Anda Memasuki Halaman Perhitungan\n");
garis('=',70);
printf("\t\tPilihan Menu Perhitugan\n\t");//getch();
garis('-',30);
printf("\t1. Menu 1 - FISIKA\n");//getch();
printf("\t2. Menu 2 - MATEMATIKA\n");//getch();
printf("\t3. Menu 3 - STATISTIKA\n");
printf("\t0. Kembali Ke Halaman Sebelumnya \n");
garis('=',70);
printf("\tPilihan Anda : ");scanf(" %c",&tpilih);
return tpilih;
}
char pilihMenuFisika(){
char tpilih=0;
system("cls");
garis('=',70);
printf("\t\t Anda Memasuki Halaman Perhitungan FISIKA\n");
garis('=',70);
//system("cls");
printf("\t\tPilihan Menu \n\t");//getch();
garis('-',30);
printf("\t1. Menu 1 - Energi Potensial\n");//getch();
printf("\t2. Menu 2 - Tekanan Hidrostatis\n");//getch();
printf("\t3. Menu 3 - Gerak Lurus Beraturan\n");
printf("\t0. Kembali ke laman sebelumnya \n");
garis('=',70);
printf("\tPilihan Anda : ");scanf(" %c",&tpilih);
return tpilih;
}
int energipotensial(int m, int g, int dh){
return m*g*dh; //nilai yang akan dikembalikan adalah m*g*dh
}
int tekananhidrostatis(int pro, int dh){
return pro*g*dh;
}
int geraklurusberaturan(int v, int a,int t){
return ((v*t)+(0.5*a*t*t));
}
char pilihPerhitunganMtk(){
char tpilih=0;
system("cls");
garis('=',70);
printf("\t\t Anda Memasuki Halaman Perhitungan MATEMATIKA\n");
garis('=',70);
printf("\t\tPilihan Menu \n\t");//getch();
garis('-',30);
printf("\t1. Menu 1 - Kubus\n");//getch();
printf("\t2. Menu 2 - Balok\n");
printf("\t0. Kembali Ke Halaman Sebelumnya \n");
garis('=',70);
printf("Pilihan Anda : ");scanf(" %c",&tpilih);
return tpilih;
}
void kubus(int x){
printf("\tLuas permukaan kubus\t: %dm^2\n",x*x*6);
printf("\tVolume kubus\t\t: %dm^3\n",x*x*x);
}
void balok(int p, int l, int t){
printf("\tluas permukaan balok\t: %dm^2\n",2*(p*l+p*t+l*t));
printf("\tvolume balok\t\t: %dm^3\n",p*l*t);
}
char statistika(){
system("cls");
garis('=',70);
printf("\t\t\t Silahkan isi data\n");
garis('=',70);
char nm_st[jumlah][20];
int ni_st[jumlah];
char c;
do{
int i;
for(i=1;i<=jumlah;i++){
printf("Nama ke - %d\t: ",i); scanf(" %s",&nm_st[i-1]);
printf("\tNilai\t : ");scanf(" %d",&ni_st[i-1]);
}
printf("\n");
system("cls");
garis('=',32);
printf("%4s|%-21s|%5s","No.","Nama","Nilai\n");
garis('=',32);
for(i=0;i<jumlah;i++){
printf("%3d.| %-20s|%3d \n",i+1,nm_st[i],ni_st[i]);
}
garis('=',32);
printf("Rata-rata: %.2f\t\n",rata2(ni_st));
int temp=tertinggistat(ni_st);
printf("Nilai Tertinggi (%s): %d\n", nm_st[temp], ni_st[temp]);
printf("\n");
printf("Masukan data baru?(Y)es: ");
c = getche();
system("cls");
}while((c=='Y')||(c=='y'));
return c;
}
int tertinggistat(int *nilai){
int i,tempNilai=0,tempNo;
for(i=1;i<=jumlah;i++){
if(tempNilai<nilai[i-1]){
tempNilai=nilai[i-1];
tempNo=i-1;
}
}
return tempNo;
}
float rata2(int *nilai){ // program fungsi untuk melakukan operasi aritmatika dan pemasukan inisialisasi nilai
int i,total=0;
for(i=1;i<=jumlah;i++){ // penggunaan variabel pada kondisi yang diinginkan
total+=nilai[i-1]; // hasil penilaian didasarkan pada kondisi yang telah ada sebelumnya
}
return (float)total/jumlah; // nilai fungsi kembali didasarkan pada kondisi yang telah ada sebelumnya
}