Home
All posts
Sunday, January 20, 2013
Saturday, January 19, 2013
Mencari Bilangan Prima Menggunakan Pemrograman JAVA
Bilangan prima termasuk bilangan yang cukup unik, kita sudah mempelajari bilangan ini sejak masuk sekolah dasar.
Beberapa referensi yang penulis dapat menyatakan bahwa bilangan prima merupakan bilangan positif yang hanya bisa dibagi oleh tepat 2 pembagi, yaitu angka 1 dan angka tersebut sendiri. Ada juga yang menyatakan sebagai suatu bilangan yang hanya bisa dibagi oleh dirinya sendiri tanpa menyertakan angka 1.
Contoh: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97 dan seterusnya.
Dalam logika pemrograman, kita cuma perlu memperhatikan mulai angka 2 dan seterusnya. Angka 0 jelas tidak mungkin, karena bilangan ini dibagi angka berapapun akan menghasilkan angka 0. Dan angka 1 juga kita abaikan saja, sebab angka 1 hanya bisa dibagi oleh dirinya sendiri, padahal bilangan prima itu syarat utamanya bisa dibagi oleh 2 bilangan natural yang nyata, yaitu angka 1 dan dirinya sendiri. (Note: bisa dibagi ini dalam artian menghasilkan bilangan bulat positif, bukan bilangan pecahan.)
Berikutnya akan penulis ilustrasikan contoh pembagiannya, dimana kita sepakati bahwa angka pembagi tidak melibatkan angka 1.
2: hanya bisa dibagi 2.
3: hanya bisa dibagi 3.
4: bisa dibagi 2 dan 4 (lebih dari 1 pembagian, maka tidak termasuk bilangan prima).
5: hanya bisa dibagi 5.
6: bisa dibagi 2,3, dan 6 (bukan bilangan prima).
Dan seterusnya.
Misalkan diketahui sebuah bilangan X, bagaimana cara menentukan bahwa bilangan X itu termasuk bilangan prima atau bukan?
Asumsi: X adalah bilangan yang lebih besar dari 2
Berarti bilangan-bilangan yang akan menjadi pembagi adalah mulai angka 2sampai X-1.
Jika bilangan X bisa dibagi oleh minimal salah satu dari bilangan-bilangan mulai 2 sampai X-1, maka dapat dikatakan bahwa bilangan X adalah bukan bilangan prima.
Contoh: 9 Bilangan sebagai pembagi adalah 2 3 4 5 6 7 8
Untuk mengetahui bahwa suatu bilangan bisa dibagi atau tidak, paling mudah kita menggunakan bantuan mod, yang menyatakan sisa hasil bagi. Jika sisa hasil bagi 0 berarti bisa dibagi.
Kembali ke contoh.
9 mod 2 = 1 (hasil bukan 0, artinya tidak habis/bisa dibagi), lanjutkan,
9 mod 3 =0 (sudah cukup untuk menyimpulkan bahwa 9 adalah bukan bilangan prima.)
Tidak perlu kita uji dengan membagi 9 dengan angka 4 dan seterusnya.
Contoh lain: 11
11 mod 2 = 1
11 mod 3 = 2
11 mod 4 = 3
11 mod 5 = 1
11 mod 6 = 5
11 mod 7 = 4
11 mod 8 = 3
11 mod 9 = 2
11 mod 10 = 1
Tidak ada yang menghasilkan angka 0, berarti 11 termasuk bilangan prima.
Flowchart Untuk Program mencari Bilangan Prima Sebagai Berikut :
Source Code Program Pencarian Bilangan Prima
public class Prima {
public static void main(String[] args){
{
//initialisasi variabel4
String angka[]={"0","1","2","3","4","5","6","7","8","9"};
String inputan="";
boolean hasil = false;
boolean prima=false;
String genap_ganjil="";
int nilai = 0; //memasukan inputan berupa tipe int
boolean lompat=false;
boolean cekAngka=false;
//end initialisasi
//objek buffered reader untuk inputan
InputStreamReader keyreader=new InputStreamReader(System.in);
BufferedReader input=new BufferedReader(keyreader);
//end objek
try {
System.out.print("Input -> ");
inputan=input.readLine();
} catch (Exception e) {
}
//int panjang=inputan.length();
for (int i=0;i<inputan.length();i++){
if (lompat)break;
char chr= inputan.charAt(i);
for (int j=0;j<angka.length;j++){
if (chr==angka[j].charAt(0))
{
cekAngka=true;
lompat=false;
break;
}else{
}
if (j==angka.length-1);
cekAngka=false;
lompat=true;
}
}
if (!cekAngka)
System.out.print("Output -> Bukan Bilangan"+"\n");
else
{
nilai=Integer.valueOf(inputan.toString());
//memeriksa bilangan itu ganjil atau genap
if (nilai%2==0)genap_ganjil=" Genap ";
else genap_ganjil=" Ganjil ";
if (nilai==2)prima=true;
else
{
for(int i = 2; i <= nilai ; i++) {
if(nilai % i == 0) {
if (nilai==i){prima=true;break;}
else
break;
}
}
}
if (prima)
System.out.print("Output -> Benar, "+inputan.toString() + " adalah bilangan"+genap_ganjil+ "dan Prima"+"\n");
else{
if (nilai%2!=0)genap_ganjil=" Genap ";else genap_ganjil=" Ganjil ";
System.out.print("Output -> Bukan Prima dan bukan"+genap_ganjil+ "\n");
}
}
}
}
}
OUTPUT :
Jika Kita Menginputkan Yang Benar
Jika Kita menginputkan Bilangan Yang salah
SOURCE CODE DAPAT DI DOWNLOAD DISINI
SORTING
Pengertian Algoritma Pengurutan (sorting)
Sorting merupakan suatu proses untuk menyusun kembali humpunan obyek menggunakan aturan tertentu. Sorting disebut juga sebagai suatu algoritma untuk meletakkan kumpulan elemen data kedalam urutan tertentu berdasarkan satu atau beberapa kunci dalam tiap-tiap elemen. Pada dasarnya ada dua macam urutan yang biasa digunakan dalam suatu proses sorting:
- urut naik (ascending) : Mengurutkan dari data yang mempunyai nilai paling kecil sampai paling besar
- urut turun (descending) : Mengurutkan dari data yang mempunyai nilai paling besar sampai paling kecil.
Mengapa harus melakukan sorting data? Ada banyak alasan dan keuntungan dengan mengurutkan data. Data yang terurut mudah untuk dicari, mudah untuk diperiksa, dan mudah untuk dibetulkan jika terdapat kesalahan. Data yang terurut dengan baik juga mudah untuk dihapus jika sewaktu-waktu data tersebut tidak diperlukan lagi. Selain itu, dengan mengurutkan data maka kita semakin mudah untuk menyisipkan data atapun melakukan penggabungan data.
- Insertion Sort (Metode Penyisipan)
- Selection Sort (Metode Seleksi)
- Bubble sort(Metode Gelembung)
- Shell Sort (Metode Shell)
- Quick Sort (Metode Quick)
- Merge Sort (Metode Penggabungan)
Disini Saya Sudah Membuat Source Code Sorting Sederhana Menggunakan Bahasa Pemrograman Java, Yang dapat di download DISINI
Subscribe to:
Posts (Atom)
Paling Dibaca
-
Objek grafik 2 dimensi adalah sekumpulan titik-titik 2 dimensi yang dihubungkan dengan garis lurus, baik berupa polyline, polygon atau kur...
-
3 dimensi biasa disebut 3D atau adalah bentuk dari benda yang memiliki panjang, lebar, dan tinggi. Grafik 3 Dimensi merupakan teknik pengg...
-
Setelah suatu objek grafis dibangun, kita dapat melakukan transformasi terhadap objek grafis tersebut dengan berbagai cara tanpa menambahkan...
-
Primitive Drawing merupakan cara mudah untuk menggambar pada layar monitor menggunakan teori geometri sederhana. Macam-macam primitive draw...