Wednesday, November 10, 2010

Program Menentukan Bilangan Prima

Dengan C++ kita bisa membuat program untuk menentukan angka yang di inputkan adalah bilangan Prima atau bukan. Bilangan Prima adalah bilangan yang memiliki faktor kali sebanyak 2 buah yaitu bilangan 1 dan bilangan itu sendiri. Dengan kata lain bilangan Prima hanya dapat dibagi (habis dibagi) 1 dan bilangan itu sendiri. Dalam matematika bisa dikatakan bahwa bilangan Prima jika dibagi 1 dan dibagi bilangan itu sendiri maka sisa hasil baginya adalah 0. Bila suatu bilangan dibagi dengan selain angka 1 dan bilangan itu sendiri, juga didapat sisa hasil baginya 0, maka bilangan itu bukan prima.
Operator untuk sisa hasil bagi, dalam C++ memakai tanda % (modulus).

contoh 1: angka 3 adalah bilangan PRIMA
3 % 1 = 0 (3 habis dibagi 1)
3 % 2 = 1 (3 tak habis dibagi 2)
3 % 3 = 0 (3 habis dibagi 3)
3 % 4 = 3 (3 dibagi 4, sisa hasil baginya = 3)
3 % 5 = 3 (suatu bilangan dibagi dengan bilangan yang lebih besar, maka sisa hasil baginya adalah bilangan itu sendiri)

contoh 2: angka 4 BUKAN bilangan PRIMA
4 % 1 = 0 (4 habis dibagi 1)
4 % 2 = 0 (4 habis dibagi 2)
4 % 3 = 1 (4 tak habis dibagi 3)
4 % 4 = 0 (4 habis dibagi 4)
4 % 5 = 4 (suatu bilangan dibagi dengan bilangan yang lebih besar, maka sisa hasil baginya adalah bilangan itu sendiri)

Maka untuk menguji apakah suatu bilangan adalah Prima atau bukan, cukup kita moduluskan ( % ) dengan 1 sampai bilangan itu sendiri, karena kalau di moduluskan dengan bilangan diatasnya (lebih besar) pasti hasilnya bukan nol ( 0 ).
Bila jumlah sisa hasil bagi yang sama dengan 0 sebanyak 2 buah, maka bilangan tersebut adalah Prima (seperti contoh 1).
Dan sebaliknya, bila jumlah sisa hasil bagi yang sama dengan nol ( 0 ) tidak sebanyak 2 buah, maka bilangan itu bukan Pima (seperti contoh 2, jumlah sisa hasil bagi yang sama dengan 0 adalah 3 buah)

Nah.... sifat bilangan prima inilah yang kita manfaatkan dalam Program C++.
Caranya sederhana,
pertama, minta user menginputkan sebuah bilangan (dengan perintah cin>>)
kedua, moduluskan bilangan tersebut dengan angka 1 sampai angka itu sendiri secara bergantian (dibantu dengan perulangan while atau for)
ketiga, bila hasilnya 0, tambahkan 1 kedalam pencacah (menghitung seberapa banyak operasi yang sisa hasil baginya = 0, Agar diketahui jumlah faktor kalinya)
keempat, periksa pencacah, bila jumlahnya 2 maka bilangan tersebut Prima, dan sebaliknya.

Lihat contoh syntax lengkapnya di bawah ini:























Bisa juga menggunakan perulangan for seperti berikut:





















Program sederhana diatas, dapat kita modifikasi seperti contoh dibawah.
Program di bawah gunanya untuk menentukan angka yang mana saja yang merupakan bilangan Prima pada range atau batas angka yang diinputkan user.



No comments:

Post a Comment