Search

Onestring

Little Thoughts

Tag

C

Fungsi Bilangan Prima Pada C

Bilangan Prima merupakan bilangan yang hanya habis dibagi dengan dirinya sendiri. Bilangan Prima semuanya adalah bilangan ganjil kecuali bilangan 2. Bilangan Prima mulai dari angka 2. Pada tulisan ini akan dibahas mengenai bagaiman membuat sebuah fungsi yang berguna untuk mengecek apakah sebuah bilangan itu bilangan prima atau bukan.

Sebelum membuat fungsinya maka perlu diketahui dulu algoritma dari pengecekan sebuah bilangan Prima. Algoritmanya adalah sebagai berikut :

  1. Bila bilangan sama dengan 2 maka bilangan Prima
  2. Bila bilangan lebih kecil dari 2 maka bukan bilangan Prima
  3. Bilangan di modulus dengan bilangan yang lebih kecil dari nya, dimulai dari angka 2 sampai dengan bilangan setengah dari bilangan tersebut bila pada proses pembagian menghasilkan 0 maka bukan bilangan priman. Jika tidak pernah menghasilkan 0 maka bilangan prima. Contoh mengecek bilangan 19 maka dimoduluskan dengan bilangan 2,3,4,5,6,7 dan 8, dalam setiap proses modulus bilangan 19 tidak pernah menghasilkan 0, maka 19 adalah bilangan prima.

Berikut ini contoh kode lengkapnya :

#include <stdio.h>

int cekPrima(int a){
   int i,hasilCek;

   if (a<2){
    hasilCek=0;
   }
   else if (a==2){
    hasilCek=1;
   }
   else {
    for(i=2;i<a/2;i++){
        hasilCek=1;
        if(a%i==0){
           hasilCek=0;
           i=a;
       }
    }
   }
return hasilCek;
}

int main(){

   int prima,hasilcek;
   printf("Masukkan Bilangan = ");
   scanf("%d",&prima);

   hasilcek=cekPrima(prima);

   if(hasilcek==1){
    printf("Bilangan %d adalah Bilangan Prima",prima);
   }else{
    printf("Bilangan %d adalah BUKAN Bilangan Prima",prima);
   }
}

Pada program tersebut fungsi akan memberikan nilai balikan 1 jika bilangan yang dimasukkan adalah bilangan prima dan memberikan nilai balikan 0 jika nilai yang dimasukan buka bilangan Prima.

Demikian penjelasan singkat pembuatan fungsi mengecek bilangan Prima dengan bahasa C.

Membuat Fungsi Pada Bahasa C

Fungsi merupakan suatu bagian dari program yang dimaksudkan untuk mengerjakan suatu tugas tertentu dan letaknya terpisah dari program yang memanggilnya. Dalam bahasa C fungsi dapat dibagi menjadi dua, yaitu fungsi pustaka atau fungsi yang telah tersedia dalam Turbo C dan fungsi yang didefinisikan atau dibuat oleh programmer. Beberapa Contoh dari fungsi pustaka adalah stdio.h, stdlib.h, string.h, ctype.h, math.h dan time.h. Pada modul ini akan dipelajari bagaimana membuat fungsi sendiri.

Deklarasi Fungsi Sebelum digunakan (dipanggil), suatu fungsi harus dideklarasikan dan didefinisikan terlebih dahulu.

tipe_keluaran_fungsi nama_fungsi(parameter_fungsi);

Hal-hal yang perlu diperhatikan dalam penggunaan fungsi :

  • Kalau tipe fungsi tidak disebutkan, maka akan dianggap sebagai fungsi dengan nilai keluaran bertipe integer.
  • Untuk fungsi yang memiliki keluaran bertipe bukan integer, maka diperlukan pendefinisian penentu tipe fungsi.
  • Untuk fungsi yang tidak mempunyai nilai keluaran maka dimasukkan ke dalam tipe void.
  • Pernyataan yang diberikan untuk memberikan nilai akhir fungsi berupa pernyataan return.
  • Suatu fungsi dapat menghasilkan nilai balik bagi fungsi pemanggilnya

Contoh Program Menggunakan fungsi :

Membuat Fungsi Tambah

#include "stdio.h"

/* prototype fungsi tambah(), ada titik koma */
float tambah(float x, float y);

main(){
    float a, b, c;
    printf("A = "); scanf("%f", &a);
    printf("B = "); scanf("%f", &b);
    c = tambah(a, b); /* pemanggilan fungsi tambah() */
    printf("A + B = %.2f", c);
}

/* Definisi fungsi , tanpa titik koma */
float tambah(float x, float y){
    return (x+y); /* Nilai balik fungsi */
}

Penjumlahan 3 Variabel

#include <stdio.h>

int hasilTambah(int x,int y, int z){
  int penjumlahan;
  penjumlahan = x + y + z;
  return penjumlahan;
}

int hasilKurang(int x,int y, int z){
  int pengurangan;
  pengurangan = x - y - z;
  return pengurangan;
}

main(){

  int a,b,c,hasil;

  a = 1;  b = 2;  c = 3;

  hasil = hasilTambah(a, b, c);
  printf("Hasil penjumlahan : %d\n", hasil);

  hasil = hasilKurang(a, b, c);
  printf("Hasil pengurangan : %d\n", hasil);

}

Pengelolaan Array

#include <stdio.h>

int tambah15(int a){
if(a<50){
a=a+15;
}
return a;
}

main(){
int i;
int arrayAwal[10]={60,70,45,35,80,65,45,90,55,30};

printf("Data Awal:\n");
for(i=0;i<10;i++){
printf("%d ",arrayAwal[i]);
}
for(i=0;i<10;i++){
arrayAwal[i]=tambah15(arrayAwal[i]);
}
printf("\n\nData Setelah Diproses:\n");
for(i=0;i<10;i++){
printf("%d ",arrayAwal[i]);
}
printf("\n");
}

Pengecekan Bilangan Ganjil atau Genap

#include <stdio.h>
#include <string.h>

int cekGanjilGenap(int a){
int hasilCek;

if (a%2==0){
hasilCek=0;
}else{
hasilCek=1;
}
return hasilCek;
}

int main(){

int bilangan,cek;
char hasil[10];

printf("Masukan Bilangan = "); scanf("%d", &bilangan);
if(cekGanjilGenap(bilangan)==0){
strcpy(hasil,"Genap");
}else{
strcpy(hasil,"Ganjil");
}
printf("%d termasuk bilangan %s",bilangan,hasil);
}

Demikian penjelasan singkat mengenai teknik pembuatan fungsi pada bahasa C, silahkan eksplorasi lebih lanjut ke onestringlab.com

Sekilas Penggunaan Operator di C

Hasil kuis kemarin menunjukkan kurang kepahaman mahasiswa mengenai operator yang ada di bahasa C. Pada tulisan ini dibahas sedikit mengenai penggunaan operator tersebut.

Perbedaan ++a dan a++

Bila tandanya berada di depan ++a itu artinya akan menambahkan nilai a dan mengembalikan nilai a setelah ditambah.

a=7;
printf("a1=%d",++a);
printf("a2=%d",a);

maka hasilnya a1=8 dan a2=8

Bila tandanya berada di belakang a++ itu artinya  akan menambahkan nilai a  tetapi mengembalikan nilai  a sebelum bertambah.

a=7;
printf("a1=%d",a++);
printf("a2=%d",a);

maka hasilnya a1=7 dan a2=8

Begitu juga untuk –a dan a– memiliki sifat yang sama dengan ++a dan a++ hanya prosesnya adalah pengurangan.

Pengunaan a+=n dan a-=n

a+=n itu artinya a=a+n. Jadi a+=5 –> a= a +5.

a-=n itu artinya a=a-n. Jadi a-=5–> a=a-5.

a=7;
a+=3;
printf("a1=%d",a);
a-=8;
printf("a2=%d",a);

maka hasilnya a1=10 dan a2=2.

Up ↑