Deskripsi : MODULAR FUNGSI DAN PROCEDUR
IS : Proses jumlah, kurang, kali,bagi,modulus,pangkat belum menggunakan "modular programming"
FS : Proses jumlah, kurang, kali,bagi,modulus,pangkat sudah menggunakan "modular programming"
Author : Trisna A.R
Tanggal : 28 September 2012
*/
/*PROCEDURE untuk memanggil menu yang dipilih*/
void jumlah();
void kurang();
void kali();
void bagi();
void modulus();
void pangkat();
/*FUNGSI untuk melakukan operasi matematika. Dimana fungsi-fungsi ini menggunakan parameter sebagai input saja */
int operasi_tambah(int y,int x);
int operasi_kurang(int n,int m);
int operasi_kali(int p,int q);
int operasi_bagi(int r,int t);
int operasi_modulus(int s,int d);
int operasi_pangkat(int g, int h);
#include
#include
int main(){
int pil,l;
do{
clrscr();
printf("PILIHAN OPERASI MATEMATIKA \n\n");
printf(" 1. PENJUMLAH \n");
printf(" 2. PENGURANG \n");
printf(" 3. PERKALIAN \n");
printf(" 4. PEMBAGIAN \n");
printf(" 5. MODULUS \n");
printf(" 6. PEMANGKATAN \n\n");
printf("Masukkan pilihan operasi : ");
scanf("%d",&pil);
/*Kondisi untuk menentukkan PROCEDURE mana yang akan dipanggil untuk melakukan proses input data, proses dan output*/
if(pil==1){
jumlah();
}
else if(pil==2){
kurang();
}
else if(pil==3){
kali();
}
else if(pil==4){
bagi();
}
else if(pil==5){
modulus();
}
else{
pangkat();
}
printf("\n\n");
printf("Mau Lagi 1[YES] dan 2 [NO] ? "); //proses mengulang menu jika jawaban 1[YES]
scanf("%d",&l);
}while(l==1);
return 0;
}
/*PROCEDURE jumlah() dipanggil ketika inputan pil==1*/
void jumlah(){
int a,b,jum;
printf("\n Masukkan Nilai A : ");
scanf("%d",&a);
printf("\n Masukkan Nilai B : ");
scanf("%d",&b);
jum=operasi_tambah(a,b); /*memanggil fungsi operasi_tambah dimana parameter nya adalah a dan b sebagai inputan*/
printf("\n Hasil Penjumlahan : %d",jum);
}
/*PROCEDURE kali() dipanggil ketika inputan pil==3*/
void kali(){
int kali,a,b;
printf("\n Masukkan Nilai A : ");
scanf("%d",&a);
printf("\n Masukkan Nilai B : ");
scanf("%d",&b);
kali=operasi_kali(a,b); /*memanggil fungsi operasi_kali dimana parameter nya adalah a dan b sebagai inputan*/
printf("\n Hasil Perkalian : %d",kali);
}
/*PROCEDURE kurang() dipanggil ketika inputan pil==2*/
void kurang(){
int krg,a,b;
printf("\n Masukkan Nilai A : ");
scanf("%d",&a);
printf("\n Masukkan Nilai B : ");
scanf("%d",&b);
krg=operasi_kurang(a,b); /*memanggil fungsi operasi_kurang dimana parameter nya adalah a dan b sebagai inputan*/
printf("\n Hasil Pengurangan : %d",krg);
}
/*PROCEDURE bagig() dipanggil ketika inputan pil==4*/
void bagi(){
float bg;
int a,b;
printf("\n Masukkan Nilai A : ");
scanf("%d",&a);
printf("\n Masukkan Nilai B : ");
scanf("%d",&b);
bg=operasi_bagi(a,b); /*memanggil fungsi operasi_bagi dimana parameter nya adalah a dan b sebagai inputan*/
printf("\n Hasil Pembagian : %.2f",bg);
}
/*PROCEDURE modulus() dipanggil ketika inputan pil==5*/
void modulus(){
int mdl,a,b;
printf("\n Masukkan Nilai A : ");
scanf("%d",&a);
printf("\n Masukkan Nilai B : ");
scanf("%d",&b);
mdl=operasi_modulus(a,b); /*memanggil fungsi operasi_modulus dimana parameter nya adalah a dan b sebagai inputan*/
printf("\n Hasil Modulus : %d",mdl);
}
/*PROCEDURE pangkat() dipanggil ketika inputan pil==6*/
void pangkat(){
int pg,a,b;
printf("\n Masukkan Nilai A : ");
scanf("%d",&a);
printf("\n Masukkan Nilai B : ");
scanf("%d",&b);
pg=operasi_pangkat(a,b); /*memanggil fungsi operasi_pangkat dimana parameter nya adalah a dan b sebagai inputan*/
printf("\n Hasil Pemangkatan : %d",pg);
}
/*FUNCTION operasi_kurang() dipanggil pada PROCEDURE kurang(),
fungsi ini memiliki parameter n dan m sebagai inputan dan mengembalikan nilai yang disimpan pada temp type int*/
int operasi_kurang(int n,int m){
int temp;
temp=n-m;
return temp;
}
/*FUNCTION operasi_bagi() dipanggil pada PROCEDURE bagi(),
fungsi ini juga memanggil fungsi operasi_kurang(),
fungsi ini memiliki parameter r dan t sebagai inputan dan mengembalikan nilai yang disimpan pada temp type int*/
int operasi_bagi(int r,int t){
int temp=0;
while(r>0 && r>=t){
r=operasi_kurang(r,t);
temp++;
}
return temp;
}
/*FUNCTION operasi_kali() dipanggil pada PROCEDURE modulus(),
fungsi ini juga memanggil fungsi operasi_bagi() dan fungsi operasi_kali,
fungsi ini memiliki parameter s dan d sebagai inputan dan mengembalikan nilai yang disimpan pada temp type int*/
int operasi_modulus(int s,int d){
int temp,k;
k=operasi_bagi(s,d);
temp=s-operasi_kali(k,d);
return temp;
}
/*FUNCTION operasi_kali() dipanggil pada PROCEDURE pangkat(),
fungsi ini juga memanggil fungsi operasi_kali(),
fungsi ini memiliki parameter g dan h sebagai inputan dan mengembalikan nilai yang disimpan pada temp type int*/
int operasi_pangkat(int g,int h){
int i,temp=1;
for(i=0;i
}
return temp;
}
/*FUNCTION operasi_tambah() dipanggil pada PROCEDURE jumlah(),
fungsi ini memiliki parameter a dan b sebagai inputan dan mengembalikan nilai yang disimpan pada temp type int*/
int operasi_tambah(int y,int x){
int temp;
temp=y+x;
return temp;
}
/*FUNCTION operasi_kali() dipanggil pada PROCEDURE kali(),
fungsi ini juga memanggil fungsi operasi_tambah(),
fungsi ini memiliki parameter a dan b sebagai inputan dan mengembalikan nilai yang disimpan pada temp type int*/
int operasi_kali(int p,int q){
int i,temp=0;
for(i=0;i
temp=operasi_tambah(temp,p);
}
return temp;
}
Tidak ada komentar:
Posting Komentar