Selamat bagi agan-agan semua..tumben pagi ini cerah..dan tumben"n juga pagi-pagi ane sudah semangat buat posting..itu karena napa..yups..ceritanya ane mw coba ikut sayembara yang di posting kemarin di grub,,walapun hadiahnya sayembaranya bukan mendapatkan seorang putri seperti di dongeng-dongeng ,, tapi gk apa-apa lah hadiah tambahan nilai sudah cukup bagi ane(
langsung aja dah..capcuss...
Disini ane akan mencoba membuat conversi dari bilangan desimal ke biner,awalnya sih ane pikir buatnya pasti sulit tetapi berkat bantuan dari beberapa pihak-pihak(temen,pcr,buku dan beberapa retelatur") Alhamduliah ane dapet bikin juga tu program..
munkin sebelum masuk dalam code atau syntaxnya ada baiknya kita mengetahui dulu apa sih bilangan biner dan decimal itu..berikut :
Bilangan Biner ?
Apa itu?Bilangan biner adalah salah satu sistem bilangan yang digunakan pada komputer. Berbeda dengan sistem bilangan desimal yang sering kita gunakan sehari-hari, sistem bilangan biner menggunakan HANYA dua bilangan yaitu 0 (nol) dan 1 (satu).kalou gk salah yang nemuin bilangan biner adalah kakek Gottfried Wilhelm Leibniz pada abad ke -17,Bilangan biner juga sering di pakai oleh para hacker untuk simbol komunitasnya,ane juga gk tw apa makna filosofinya,mungkin karena simpel kali yaa..cuma 0 & 1.
Bilangan Desimal ?
Bilangan Desimal adalah di mana sistem ini menggunakan 10 macam simbol
yaitu 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9. Sistem ini menggunakan basis 10.
Bentuk nilai dari Sistem Bilangan Desimal ini dapat berupa integer
desimal dan pecahan,Penemunya adalah kakek Al-Kashi beliau adalah ilmuan dari persia.
Nah..sudah pada tw kn apa bilangan biner dan apa bilangan desimal,sekarang pada punya gambaran kn bagai mana dari 10 angka bilangan desimal di konversi ke dalam biner yang mempunyai 2 angka saja..
Mari kita coba bersama-sama :
Mungkin sebelum ide kita tuangkan dalam code pada java mungkin ane mau sediki share mengenai logikanya dulu,Contoh bilangan desimal 10 di rubah menjadi bilangan biner,maka bisa selasaikan menggunakan fpb sebagai berikut :
10 / 2 = 5 sisa -> 0
5 / 2 = 2 sisa -> 1
2 / 2 = 1 sisa -> 0
1 / 2 = 0 sisa -> 1
Sudah paham semua kan anak-anak,baik pak guru akan teruskan pada pengaplikasian code dalam java.. :P
Serang baru dah masuk ke coding dalam java berikut source codenya :
package biner.dec;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class ConvertBinDec {
public static void main(String[] args) throws
Exception {
BufferedReader msk = new BufferedReader(new
InputStreamReader(System.in));
System.out.println("==========================================");
System.out.println("----------------*Welcome To My
Program*------------------");
System.out.println("==========================================");
System.out.println("Mongo,silahkan input angka yang akan di
convert?");
System.out.print("Bil Decimal
: ");
int input = Integer.parseInt(msk.readLine());
StringBuilder hsl = new StringBuilder();
while (input != 0) {
int digit = input % 2;
hsl.append(digit);
input = input / 2;
}
hsl.reverse();
System.out.println("Bil Biner : " + hsl);
System.out.println("==========================================");
System.out.println("---------*Terima Kasih,Silahkan Datang
Kembali*----------");
System.out.println("==========================================");
}
}
Ket :
1. Disini ane menggunakan dua importan yaitu BufferedReader & InputStreamReader kedua inputan tersebut berfungsi untuk mendapatkan inputan dari keyboard seperti halnya scanner.
BufferedReader msk = new BufferedReader(new InputStreamReader(System.in));
2. Untuk variabel penampung inputan disini ane menggunakan tipe data interger yang tersimpan pada variabel input.
int input = Integer.parseInt(msk.readLine());
3.Disini juga ane terlihat menggunakan fungsi loop yaitu while dimana fungsi loop while pada source program diatas akan mengerjakan pernyataan, perhitungan / penambahan nilai kondisi dilakukan setelah mengerjakan pernyataan,sedangkan untuk logika program sendiri sama seperti yang sudah ane jelasin di atas inputan angka desimal akan melalui proses fpb dan di cetak hasil bagi yang tersimpan pada variabel digi.
while (input != 0) {
int digit = input % 2;
hsl.append(digit);
input = input / 2;
}
4. Hal terahir adalah mencetak hasil logika dengan code sout(system.out.println).
System.out.println("Bil Decimal : " + hsl);
5.Maaf ada yang ketinggalan belum di jelasin ,pada kode di atas terlihat juga ane menggunakan objek atau tipe StringBuilder,pada dasarnya fungsinya sendiri yaitu akan mengurangi penggunaan object String yang tidak diperlukan.jadi pada kode di atas
StringBuilder hsl = new StringBuilder();
System.out.println("Bil Decimal : " + hsl);
5.Maaf ada yang ketinggalan belum di jelasin ,pada kode di atas terlihat juga ane menggunakan objek atau tipe StringBuilder,pada dasarnya fungsinya sendiri yaitu akan mengurangi penggunaan object String yang tidak diperlukan.jadi pada kode di atas
StringBuilder hsl = new StringBuilder();
membuat variabel hsl dengan tipe StringBuilder,mengapa ane memilih menggunakan StringBuilder dari pada string karena StringBuilder melakukan modifikasi String object dengan lebih mudah.
Maka Ouput apabila di jalankan akan seperti berikut :
Maka Ouput apabila di jalankan akan seperti berikut :
==========================================
--------------*Welcome To My
Program*---------------
==========================================
Mongo,silahkan input angka yang akan di
convert?
Bil Desimal
: 10
Bil Biner : 1010
==========================================
-------*Terima Kasih,Silahkan Datang
Kembali*----------
==========================================
BUILD SUCCESSFUL (total time: 7 seconds)
Nah,Selesai sudah,hanya itu yang bisa gue bagi pada agan-agan semua,semoga bermanfaat bagi ane dan pada kalian semua yang membacanya..
Seperti biasa sebelum ane posting ni artikel sayembara,ane kasih kata-kata mungkin dapat menginspirasi agan-agan semua :
Ternyata orang itu tidak hidup berdasarkan angan-angan dan cita-cita yang tinggi (idealis), tapi harus realistis!
Terkadang kenyataan di dunia berkata lain dari sifat idealistis kita...
Terkadang kenyataan di dunia berkata lain dari sifat idealistis kita...
Nama : Ryan Febryanto
Nim : 1200631005










Posting Komentar