Assalamu’alaikum Warahmatullahi Wabarakatuh.
Haloo sobat redaksi….
Bertemu lagi dengan saya, Ahmad Aji A dari D4 Elektronika. Okee pada kali ini, kita masih akan belajar lagi bab algoritma dan pemograman tentang “Mengembangkan fungsi fungsi Sendiri” .
Sebelumnya apakah sobat redaksi ada yang sudah tahu pengertian fungsi dalam algoritma? Jika belum, mari berdiskusi bersama.
Suatu fungsi adalah bagian program yang terpisah dari fungsi program utamanya main() dan berdiri sendiri untuk mengerjakan suatu proses tertentu. Suatu fungsi dapat digunakan sebagai fungsi itu sendiri, Subrutin dan prosedur seperti istilah yang digunakan pada bahasa pemrograman BASIC atau PASCAL.
Tujuan digunakannya fungsi adalah untuk mencegah penggunaan program secara berulang-ulang, sehingga program menjadi sangat panjang. Pada percobaan-percobaan diatas telah digunakan fungsi-fungsi dari C, seperti printf(), scanf(), getch(), clrscr(), for(), puts(), dan sebagainya, maka disini dicoba untuk membuat fungsi baru dimana tidak ada pada pustaka bahasa C (Turbo C).
Untuk bisa lebih memahami tentang fungsi mari lihat contoh percobaan di bawah ini,
Tugas 6.5.1
Pada percobaan pertama kita akan membuat fungsi kabisat
#include<stdio.h>
kabisat(int x)
{
if ((x%100==0 && x%400==0)||(x%100!=0 && x%4==0))
return 1;
else ;
return 0;
}
void main()
{
int x;
printf (“Fungsi kabisat\n”);
printf (“nilai=1 adalah tahun kabisat\n”);
printf (“nilai=0 bukan tahun kabisat\n\n”);
printf (“Masukkan tahun=”);
scanf (“%d”, &x);
printf (“nilai=%d\n”,kabisat(x));
}
Tugas 6.5.2
Percobaan kedua, yaitu membuat fungsi faktorial untuk mencari nilai faktorial
5#include<stdio.h>
int input;
int faktorial(int input){
int i, hasil = 1;
for(i=1; i<=input; i++){
printf(“%d”, i);
if(i != input)
printf(“x “);
hasil *= i;}
return (hasil);
}
main(){
printf(“Masukkan angka : “);
scanf(“%d”, &input);
printf(“\n %d! = “, input);
printf(“= %d “, faktorial(input));
}
Tugas 6.5.3
Percobaan ketiga membuat fungsi pemutasi dan kombinasi.
#include<stdio.h>77
#include<stdlib.h>
int permiutasi(int n, int r);
int kombinasi(int n, int r);
int faktorial(int f);
main(){
int n, r;
printf(“Masukkan nilai n,r : “);
scanf(“%d, %d”, &n, &r);
if (n<r){
printf(“invalid input n < r”);
exit(0);
}
printf(“Permutasi (%d, %d):%d “, n,r,permutasi(n,r));
printf(“\nKombinasi (%d, %d):%d “, n,r,kombinasi(n,r));
}
int faktorial(int f){
if(f==0)
return 1;
return f*faktorial(f-1);
}
int permutasi(int n, int r){
return faktorial(n)/faktorial(n-r);
}
int kombinasi(int n, int r){
return faktorial(n)/faktorial (r);faktorial(n-r);
}
Tugas 6.5.4
Pada percobaan keempat kita akan membuat fungsi konversi suhu.
#include<stdio.h>
#include<stdlib.h>
float konversi(float suhu, char awal, char akhir);
int main(){
float x, hasil;
char y,z;
printf(“Masukkan suhu sumber : “);
scanf(“%f %c”, &x, &y);
printf(“Masukkan satuan akhir : “);
fflush(stdin);
scanf(“%c”, &z);
hasil = konversi(x, y, z);
printf(“\nHasil konversi suhu %.2f %c = %.2f %c”, x, y, hasil, z);
return
0;
}
float konversi(float suhu, char awal, char akhir){
float hasil;
if (awal == ‘c’ || awal == ‘C’ ){
if (akhir == ‘r’ || akhir == ‘R’ )
hasil = 0.5*suhu;
else if (akhir == ‘f’ || akhir == ‘F’ )
hasil = (1.5*suhu) + 32;
else if (akhir == ‘k’ || akhir == ‘K’ )
hasil = suhu + 272;
}
else if (awal == ‘r’ || awal == ‘R’ ){
if (akhir == ‘c’ || akhir == ‘C’ )
hasil = 1.25*suhu;
else if (akhir == ‘f’ || akhir == ‘F’ )
hasil = (2.25*suhu) + 32;
else if (akhir == ‘k’ || akhir == ‘K’ )
hasil = (1.25*suhu)+273;
}
else if (awal == ‘f’ || awal == ‘F’ ){
if (akhir == ‘r’ || akhir == ‘R’ )
hasil = 0.8*(5/9)*(suhu-32);
else if (akhir == ‘c’ || akhir == ‘C’ )
hasil = 5/9*(suhu-32);
else if (akhir == ‘k’ || akhir == ‘K’ )
hasil = 5/9*(suhu-32)+273;
}
if (awal == ‘k’ || awal == ‘K’ ){
if (akhir == ‘r’ || akhir == ‘R’ )
hasil = 0.8 * (suhu-273);
else if (akhir == ‘f’ || akhir == ‘F’ )
hasil = (1.8*(suhu-273)) + 32;
else if (akhir == ‘c’ || akhir == ‘C’ )
hasil = suhu-273;
}
return hasil;
}
Tugas 6.5.5
#include <stdio.h>
#include <time.h>
int prima(int x);
int prima(int x){
int i, faktor;
for(i = 1; i <= x; i++){
if(x%i==0)
faktor++;
}
if(faktor == 2)
return 1;
else
return 0;
}
main(){
int n;
printf(“Masukkan n : “);
scanf(“%d”, &n);
if(prima(n))
printf(“Bilangan prima”);
else
printf(“Bilangan bukan prima”);
}
Tugas 6.6.6
Sekian pembahasan materi kali ini, jika sudah paham Alhamdulillah, jika belum terus pantau pembahasan pembahasan berikutknya agar lebih paham lagi…
Semoga bermanfaat…
Wassalamu’alaikum Warahmatullahi Wabarakatuh
Recent Comments