Assalamualaikum Wr Wb,

Salam Redaksiii gaiissss………..

 

Pada kesempatan kali ini kita akan belajar apasih manfaat dari berbagi, tapi sebelum itu jika kalian belum bembaca artikel sebelumnya, yuk dibaca baca dulu sebagai penambah literatur baca kalian

Keputusan Yang Bijaksana dan Bukan Semerta-merta

 

Pada kesempatan kali ini kita akan belajar apasih manfaat dari berbagi, tapi sebelum itu jika kalian belum bembaca artikel sebelumnya, yuk dibaca baca dulu sebagai penambah literatur baca kalian

Keputusan Yang Bijaksana dan Bukan Semerta-merta

 

Berbagi kali ini kita akan menggunakan sebuah fungsi yang mana definisi fungsi adalah sebagai berikut yaitu

Fungsi adalah sebuah sub program yang dipisahkan dari program utamanya serta dapat dipanggil berulang kali untuk menjalankan suatu program tertentu.

 

Syntax fungsi :

tipe-data-fungsi nama-fungsi(deklarasi argumen)

{

tubuh fungsi

}

 

Langsung saja kita akan mulai contoh kita berikut ini.

 

1. Penentu Tahun Kabisat

Pada percobaan kali ini kita akan kembali menggunakan fungsi sebagai pelaksana tugas sebagai contoh kita simak kode berikut.

 

Code :

#include <stdio.h>

int tahun, kabisat;

main(){
printf(“Program penentu tahun kabisat\n”);
printf(“Masukkan tahun untuk mengetahui tahun tersebut adalah tahun kabisat atau bukan\n”);
printf(“Tahun = “);
scanf(“%d”, &tahun);

if(fkabisat(tahun) == 1) printf(“\nTahun %d adalah tahun kabisat\n\n”, tahun);
else printf(“\nTahun %d bukan tahun kabisat\n\n”, tahun);
}

fkabisat(tahun){
if (tahun % 4 == 0) return (1);
else return (0);
}

 

Sebagai contoh kita menggunkan program diatas yaitu menggunakan fungsi fkabisat() yang memiliki deklrasi argumen berupa integer tahun, sebagai contoh kita memasukkan angka 2004 maka output yang keluar adalah

Output Code :

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

2. Penghitung Faktorial

Penentu faktorial menggunakan kombinasi pengulangan for yaitu, mari kita simak kode berikut.

 

Code :

#include <stdio.h>

int i, faktorial;
long int hasil = 1;

main(){
printf(“Program penghitung nilai faktorial\n”);
printf(“Masukkan angka yang akan di faktorialkan\n”);
printf(“Angka = “);
scanf(“%d”, &faktorial);

printf(“\n%d! = “,faktorial );
printf(” = %d\n\n”,ffaktorial(faktorial));

}

ffaktorial(faktorial){
for(i = 1; i <= faktorial; i++){
printf(“%d”, i);
if (i != faktorial) printf(“x”);
hasil = hasil * i;
}
return(hasil);
}

 

Sebagai contoh kita memasukkan angka 5 untuk di faktorialkan, Maka hasil yang keluar adalah

Output Code :

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

3. Penghitung Permutasi dan Kombinasi

Pada dasarnya, Permutasi dan Kombinasi memanfaatkan fungsi faktorial yang dioperasikan sedemikian rupa, langsung saja kita simak code dibawah ini.

 

Code:

#include <stdio.h>

int n, c, p, r, i;

main(){
printf(“Program penghitung nilai permutasi dan kombinasi\n”);
printf(“Rumus\n”);
printf(“Permutasi\t: P(n,r)=n!/(n-r)!\n”);
printf(“Kombinasi\t: C(n,r)=n!/r!(n-r)!\n\n”);

printf(“Masukkan nilai n dan r\n”);
printf(“n = “);
scanf(“%d”, &n);
printf(“r = “);
scanf(“%d”, &r);

printf(“P(%d,%d) = %d\n”, n, r, permutasi(n, r));
printf(“C(%d,%d) = %d\n\n”, n, r, kombinasi(n, r));

}

permutasi(n, r){
int hasiln = 1, hasilnr = 1;

for(i = 1; i <= n; i++){
hasiln = hasiln * i;
}

for(i = 1; i <= (n-r); i++){
hasilnr = hasilnr * i;
}

return(hasiln / hasilnr);
}

kombinasi(n, r){
int hasilr = 1;

for(i = 1; i <= r; i++){
hasilr = hasilr * i;
}

return(permutasi(n, r) / hasilr);
}

 

Sebagai contoh kita memasukan nilai n sebesar 4 dan r adalah 2 maka outout yang keluar adalah sebagai berikut

Output Code :

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

4. Pengkonversian suhu

Pada percobaan ini kita menggunakan contoh konversi suhu serbaguna yang memanfaatkan fungsi suhu();

 

Code :

#include <stdio.h>

char d, t;

float suhu(float s){
float r = 4, c = 5, f = 9;

if(d == ‘C’){
switch(t){
case ‘R’ : return(r/c * s); break;
case ‘F’ : return((f/c * s) + 32); break;
case ‘K’ : return(s + 273); break;
}
}
else if(d == ‘R’){
switch(t){
case ‘C’ : return((c/r) * s); break;
case ‘F’ : return((f/r * s) + 32); break;
case ‘K’ : return((c/r * s) + 273); break;
}
}
else if(d == ‘F’){
switch(t){
case ‘K’ : return(c/f * (s – 32) – 273); break;
case ‘C’ : return(c/f * (s – 32)); break;
case ‘R’ : return(r/f * (s – 32)); break;
}
}
else if(d == ‘K’){
switch(t){
case ‘C’ : return(s – 273); break;
case ‘F’ : return(f/c * (s – 273) + 32); break;
case ‘R’ : return(r/c * (s – 273)); break;
}
}
}

main(){
float s;

printf(“Masukkan suhu sumber = “);
scanf(“%f %s”,&s ,&d);

printf(“Masukkan suhu tujuan = “);
scanf(“%s”,&t);

printf(“\n\nHasil konversi suhu = %.2f %c”, suhu(s), t);

}

 

Misal kita memasukkan suhu 212 F yang akan dikonversikan kedalam suhu Kelvin, maka hasil konversi suhu yang akan keluar adalah

Output Code :

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

5. Penentu Angka Prima

Ya sama sajalah pokoknya, Langsung simak ajadeh

 

Code :

#include <stdio.h>

main(){
int angka;

printf(“Program penentu angka prima\n”);
printf(“Masukkan angka untuk mengetahui angka tersebut adalah angka prima atau bukan\n”);
printf(“Angka = “);
scanf(“%d”, &angka);

if(fprima(angka) == 1) printf(“\nAngka %d adalah angka prima\n\n”, angka);
else printf(“\nAngka %d bukan angka prima\n\n”, angka);
}

fprima(angka){
int i, faktor = 0;

for(i = 1; i <= angka; i++){
if(angka % i == 0) faktor++;
}
if (faktor > 2) return (1);
else return (0);
}

 

Jika kita memasukan sebuah angka yaitu 13, maka angka 13 adalah bukan prima

Lihat output dibawah ini

Output Code :

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

Nah percobaan terakhir kali ini agak sedikit beda nih, yaitu penentu perbedaan waktu yang diperlukan sebuah tipe data untuk memproses sebuah tugas

6. Pembanding Waktu Dua Tipe Data

Pada percobaan kali ini kita menggunakan 2 tipe data yaitu register dan integer yang mana register dan integer memiliki kemiripan tetapi waktu pemrosesan kedua tipe ini berbeda, sebagai contoh kita mempunyai kode sebagai berikut

 

Code :

#include <stdio.h>
#include <time.h>

int main(){
int x = 0;
double t_awal, t_akhir;

mulai:
t_awal = clock();

if (x == 0)integerwaktu();
else registerwaktu();

t_akhir = clock() – t_awal;

double waktuyangdibutuhkan = t_akhir / CLOCKS_PER_SEC;

if (x == 0) printf(” integer membutuhkan %g detik untuk eksekusi \n”, waktuyangdibutuhkan);

else printf(” register %g detik untuk eksekusi \n”, waktuyangdibutuhkan);

if(x == 0){
x++;
goto mulai;
}
getch();
}

void registerwaktu()
{
register z;
for(z = 1;z <= 2000;z++)
printf(“a”);
}
void integerwaktu()
{
int c;
for(c = 1;c <= 2000;c++)
printf(“a”);
}

 

Maka waktu yang diperlukan register untuk memproses sebuah data yang sama dengan integer memerlukan waktu yang lebih singkat dari integer yaitu sebagai contoh pada kode diatas adalah

integer :  0.167 detik untuk eksekusi

register : 0.131 detik untuk eksekusi

 

Hal ini dikarenakan tipe data integer lebih umum daripada register yang berarti tipe data integer rebih berat untuk di proses daripada tipe data register.

 

Output Program :

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

 

Mungkin itu saja yang dapat disampaikan, semoga ilmunya bermanfaat.

Jangan lupa kalau belum baca artikel sebelumya, skuyy baca baca dulu

Keputusan Yang Bijaksana dan Bukan Semerta-merta

 

Terimakasih,

Wassalamualaikum Wr. Wb.