--> Skip to main content

Program Menentukan Bilangan Ganjil dan Genap dalam Bahasa C


Materi Pusat Ilmu tentang Pemrograman Bahasa C kali ini akan membahas bagaimana caranya menentukah bilangan genap atau ganjil dari suatu inputan angka.

Jadi nantinya program mampu memutuskan inputan tersebut masuk kategori angka genap atau ganjil. Misal : 2 adalah bilangan, 11 adalah bilangan ganjil dsb.

Tentunya semua dari kita sudah dapat membedakan yang mana bilangan ganjil dan yang mana bilangan genap. Materi-materi tersebut sudah kita dapatkan di bangku sekolah.

Lalu bagaimana caranya kita mengimplementasi dalam pemrograman bahasa C ?

Perhatikan :
  • 2, 4, 6, 8, 10, 12 ....dst, merupakan bilangan genap. Bilangan-bilangan tersebut habis dibagi dengan 2.
    Contoh
    2 : 2 = 1 sisa 0
    4 : 2 = 2 sisa 0
    6 : 2 = 3 sisa 0
    8 : 2 = 4 sisa 0
    10: 2 = 5 sisa 0
    12: 2 = 6 sisa 0
  • 1, 3, 5, 7, 9, 11....dst, merupakan bilangan ganjil. Bilangan-bilangan tersebut tidak habis dibagi dengan 2 (bersisa 1).
    Contoh
    1 : 2 = 0 sisa 1
    3 : 2 = 1 sisa 1
    5 : 2 = 2 sisa 1
    7 : 2 = 3 sisa 1
    9 : 2 = 4 sisa 1
    11: 2 = 5 sisa 1

Seperti yang kita ketahui bahwa untuk mencari nilai sisa, digunakan simbol % (baca: modulus). Sehingga dengan menggunakan modulus kita dapat menentukan bilangan genap atau ganjil dari suatu inputan.

Program Untuk Cek Ganjil atau Genap
#include <stdio.h>
int main() {
    int bil;
    printf("Masukkan Bilangan: ");
    scanf("%d", &bil);
    
 //Cek bilangan genap ganjil
    if(bil % 2 == 0)
        printf("%d adalah bilangan genap.", bil);
    else
        printf("%d adalah bilangan ganjil.", bil);
    
    return 0;
}

Outputnya
Masukkan Bilangan: 2
2 adalah bilangan genap.

Program pengecekan bilangan genap ganjil di atas menggunakan bantuan seleksi if-else. Kitapun dapat menggantikan peran dari if-else dengan bantuan operator terniary seperti contoh di bawah ini :
#include <stdio.h>
int main() {
    int bil;
    printf("Masukkan Bilangan: ");
    scanf("%d", &bil);
    
 //Cek bilangan genap ganjil      
    (bil % 2 == 0) ? printf("%d adalah bilangan genap.", bil) : printf("%d adalah bilangan ganjil.", bil);
    return 0;
   
}
Outputnya
Masukkan Bilangan: 7
7 adalah bilangan ganjil.

Selain dengan menggunakan modulus (%) dalam menentukan bilangan genap atau ganjil. Kitapun dapat menggunakan operator Bitwise AND (&).

Operator Bitwise AND ( & ) merupakan operator yang akan membandingkan dua operand dalam bentuk bilangan biner. Jadi bilangan bilangan desimal terlebih dahulu dirubah dalam bentuk bilangan biner, baru kemudian dibandingkan dengan operand lain.

Perbandingannya berdasarkan tabel berikut ini :
Bit Operand 1 Bit Operand 2 Hasil Operasi
1 1 1
1 0 0
0 1 0
0 0 0

Conntoh
Kita akan mencari hasil dari c12 & 1 dan juga mencari hasil dari 15 & 1. Penjelasannya adalah sebagai berikut :



Dari operator bitwise and (&) tersebut dapat dibuat program pengecekan bilangan genap ganjil sebagai berikut :
#include <stdio.h>
int main() {
    int bil;
    printf("Masukkan Bilangan: ");
    scanf("%d", &bil);
    
    //Cek bilangan genap ganjil   
    if(bil & 1)
    {
        printf("%d adalah bilangan ganjil.", bil);
    }
    else
    {
        printf("%d adalah bilangan genap.", bil);
    }
    
    return 0;
   
}

Output
Masukkan Bilangan: 17
17 adalah bilangan ganjil.

Jika kita rubah bilangan 17 dalam bentuk biner dan angka 1 juga dalam biner lalu dilakukan perbandingan operasi bitwise AND maka hasilnya seperti berikut ini :
0001 0001  <------- 17
0000 0001  <------- 1
---------- AND
0000 0001 
Comment Policy: Silahkan tuliskan komentar Anda yang sesuai dengan topik postingan halaman ini. Komentar yang berisi tautan tidak akan ditampilkan sebelum disetujui.
Buka Komentar
Tutup Komentar