Selasa, 03 Agustus 2010

Convert decimal ke biner

Bilangan desimal adalah bilangan dengan basis 10, atau yang biasanya kita pakai sehari-hari. Bilangan biner merupakan bilangan dengan basis 2. Bilangan ini hanya terdiri dari 2 angka, yaitu 0 dan 1. Mungkin banyak yang udah tau ya caranya konversi bilangan desimal ke biner, tapi iseng2 aja aku posting caranya dengan bahasa java.


public String convertToBinary(int number) {
String binary = "";
while(number != 0) {
binary += number%2;
number /= 2;
}
return new StringBuffer(binary).reverse().toString();
}


Oh iya, sebenarnya class Integer sendiri juga sudah menyediakan method untuk mengkonversi bilangan desimal menjadi biner. Tinggal kita panggil aja method toBinaryString() dari class Integer. Contohnya seperti di bawah ini:


int number = 10;
String binary = Integer.toBinaryString(number);

Perfect Number pada Java

Perfect number adalah suatu bilangan yang seluruh faktornya jika dijumlahkan akan bernilai sama dengan bilangan tersebut. Contohnya adalah 6. --->
Faktor dari 6: 1, 2, 3
Hasil dari penjumlahan faktor-faktornya bernilai sama dengan bilangan itu sendiri, maka 6 merupakan perfect number. Di bawah ini adalah source code untuk mencari perfect number dengan java.


public class PerfectNumber {

public static void main(String[] args) {
System.out.println("Perfect numbers from 1 to 650");
for (int i = 1; i < 10000; i++) {
searchPerfectNumber(i);
}
}

public static void searchPerfectNumber(int number) {
int sum = 0;
for (int divisor = 1; divisor < number; divisor++) {
if ((number % divisor) == 0) {
sum += divisor;
}
}
if (sum == number) {
System.out.println(number + " is a perfect number");
}

}
}