Source code Konversi Bilangan Desimal Ke Biner dengan Stack (LinkedList) Di Java

JavaBerhubung ana mendapat tugas dari dosen Algoritma dan Struktur Data yakni membuat sebuah program konversi dari bilangan desimal ke billangan biner. Dalam pembuatan program tersebut harus menggunakan Stack dan implementasinya pada Linked List.

Setelah berusaha mengerjakan tugas tersebut dan akhirnya Alhamdulillah selesai juga, laporannya pun telah dikumpulkan dan tugasnya tinggal di demokan minggu depan kepada asisten lab atau kepada dosennya langsung.

Seperti yang kita ketahui sebelum kita membuat sebuah program baik dengan menggunakan Java, C, Pascal, maupun bahasa pemrograman lainnya langkah pertama yang sebaiknya kita ambil ialah membuat algoritma (Langkah-langkah penyelesaian masalah)dari program yang akan kita buat tersebut.

Adapun algoritma dari program Konversi bilangan desimal ke biner dengan stack adalah sebagai berikut:

  1. Ambil sisa pembagian variable bilangan dengan angka 2, kemudian simpan dalam variable sisa. Kemudian simpan isi variable sisa ke dalam stack.
  2. Bagi variable bilangan dengan angka 2.
  3. Ulangi langkah 1 dan 2 selama bilangan tidak 0. Jika variable bilangan telah bernilai 0 maka lanjutkan ke langkah 4,
  4. Lakukan perulangan untuk langkah 5 dan 6 selama stack masih mempunyai isi (tidak kosong).
  5. Ambil (pop) nilai yang ada di stack simpan di variable data.
  6. Tulis isi variable data ke layar .
  7. Selesai.

Setelah kita mengetahui algoritma dari suatu program, barulah kita dapat memulai membuat program tersebut dengan menulis source code dengan baik dan benar pada compiler seperti Netbeens dan lain sebagainya.

Dan untuk source code membuat program program Konversi bilangan desimal ke biner dengan stack yang diimplementasikan dengan Linked List dapat anda lihat di bawah ini.

package javaapplication67;

import java.util.NoSuchElementException;
import java.util.Scanner;
/**
*
* @author JUNAIDI
*/
public class StackLinkedList {
private class Element {
public Object data;
public Element next;
public Element( Object data, Element next ) {
this.data = data;
this.next = next;
  }
}
private Element top;

public void push( Object data ) {
if( isEmpty( ) ) {
top = new Element( data, null );
} else {
top = new Element( data, top );
  }
}

public Object pop( ) throws NoSuchElementException {
if( isEmpty( ) ) {
throw new NoSuchElementException( );
} else {
Object data = top.data;
top = top.next;
return data;
  }
}

public Object peek( ) throws NoSuchElementException {
if( isEmpty( ) ) {
throw new NoSuchElementException( );
} else {
return top.data;
  }
}

public boolean isEmpty( ) {
return top == null;
}

public static void main(String args[]) {
System.out.println("Program Konversi Bilangan Desimal ke Biner");
System.out.println("---------------------------------------------------");
Scanner input = new Scanner(System.in);
System.out.print("Masukkan Angka -> ");
int bil = input.nextInt();
int c = bil;

StackLinkedList stack = new StackLinkedList();
if (bil == 0) {
System.out.println("0");
}
while (bil != 0) {
int a = bil / 2;
int b = bil % 2;
stack.push(b);
bil = a;
}

System.out.print("Biner dari Angka "+c+" = ");
while (!stack.isEmpty()) {
System.out.print(stack.pop());
}

System.out.println(" ");
  }
}

Silahkan anda coba source di atas dan jika ada yang ditanyakan mengenai source code maupun dengan algoritmanya Anda dapat meninggalkan komentar di bawah ini.

Jika merasa artikel ini bermanfaat jangan lupa like & share yach…. :)

6 komentar:

  1. mas fungsinya throws NoSuchElementException untuk apa ya ?

    BalasHapus
  2. waw, program dengan linked list di java, artikel yang sangat menarik sekali! :D

    BalasHapus
    Balasan
    1. Thanks gan... tinggal dikembangin aja programnya :)

      Hapus
  3. baca juga ini menggunakan stack sebagai refernsi http://guruinformatika.blogspot.com/2014/12/program-java-konversi-bilangan-desimal.html

    BalasHapus
  4. baca juga ini menggunakan stack sebagai refernsi http://guruinformatika.blogspot.com/2014/12/program-java-konversi-bilangan-desimal.html

    BalasHapus
Catatan:
Untuk menyisipkan video, gunakan tag <i rel="youtube">URL YOUTUBE ANDA...</i>
Untuk menyisipkan gambar, gunakan tag <i rel="image">URL GAMBAR ANDA...</i>
Untuk menyisipkan kode, gunakan tag <i rel="code">KODE ANDA...</i>
Untuk menyisipkan kode panjang, gunakan tag <i rel="pre">KODE ANDA...</i>
Untuk menyisipkan catatan, gunakan tag <b rel="quote">CATATAN ANDA...</b>
Untuk menciptakan efek tebal gunakan tag <strong>TEKS ANDA...</strong>

NB: Jika ingin menuliskan kode pada komentar harap gunakan Tool untuk mengkonversi kode tersebut agar kode bisa muncul dan jelas atau gunakan tool dibawah "Konversi Kode di Sini!"

Jika ingin menuliskan komentar yang keluar dari topik pada artikel ini silahkan kehalaman OOT (out of topic) dengan menekan tombol OOT di bawah ini.

Konversi Kode di Sini!OOT

 
Design by Juned al~Bughisy Copyright © 2012 ~ 2013 Powered by Blogger
Back to Top