Calendar

Kamis, 14 Februari 2013

Main Code Circular Queue


import java.util.Scanner;
class tes{
public static void main(String [] ags){
Scanner in=new Scanner(System.in);
Scanner ni=new Scanner(System.in);
int input;
String isi;
boolean loop=true,loop0=true;

System.out.println("Jumlah isi:");
input=in.nextInt();
System.out.println("");
MyCircularQue coba=new MyCircularQue(input);

do{
System.out.println("Isi:");
isi=ni.nextLine();
if(isi.equals("end")){
loop=false;
}
else if(isi.matches("([-0-9]*)")){
input=Integer.parseInt(isi);
coba.insert(input);
}
else{
System.out.println("Input Salah");
}
}while(loop);
System.out.println("");
do{
System.out.println("Remove :");
isi=ni.nextLine();
if(isi.equals("tidak")){
loop0=false;
}
else if(isi.equals("ya")){
System.out.println(coba.remove());
}
else{
System.out.println("Input Salah");
}
}while(loop0);
}
}

Source Code Circular Queue


//package CQueue;


public class MyCircularQue {

private BagianTubuh list[];

private int PalingBelakang, PalingDepan;

private int JumlahSemua;

private int jmlBagianTubuh;

private boolean kosong;

    

public MyCircularQue() {

JumlahSemua=3;

PalingBelakang=-1;
PalingDepan=-1; jmlBagianTubuh=0;

kosong=true;

list=new BagianTubuh[JumlahSemua];

for(int x=0;x<JumlahSemua;x++)
list[x]=new BagianTubuh();
}
      


public MyCircularQue(int z) {

JumlahSemua=z;

PalingBelakang=-1; PalingDepan=-1;
jmlBagianTubuh=0;

kosong=true;

list=new BagianTubuh[JumlahSemua];

for(int x=0;x<JumlahSemua;x++)
                  
list[x]=new BagianTubuh();
}



public void insert(int r) {

int p, q;


if(kosong==true){

p=0;

list[p].setData(r);

list[p].setPrev(p);

list[p].setNext(p);


PalingDepan=p;

PalingBelakang=p;

jmlBagianTubuh++;

kosong = false;


}else if(kosong==false && jmlBagianTubuh<JumlahSemua) {

if(PalingDepan==JumlahSemua-1){

p=PalingDepan;

q=PalingBelakang;


PalingDepan=0;


list[PalingDepan].setData(r);

list[PalingDepan].setPrev(p);

list[PalingDepan].setNext(PalingBelakang);


list[PalingBelakang].setPrev(PalingDepan);

list[p].setNext(PalingDepan);


jmlBagianTubuh++;

} else {

p=PalingDepan;

q=PalingBelakang;


PalingDepan++;


list[PalingDepan].setData(r);

list[PalingDepan].setPrev(p);

list[PalingDepan].setNext(PalingBelakang);


list[PalingBelakang].setPrev(PalingDepan);


list[p].setNext(PalingDepan);


jmlBagianTubuh++;

}

} else if
(jmlBagianTubuh==JumlahSemua){

if(PalingDepan==JumlahSemua-1){

p = PalingBelakang;

PalingBelakang++;

PalingDepan=0;

list[p].setData(r);

}else if(PalingBelakang==JumlahSemua-1){

p = PalingBelakang;

PalingBelakang=0;

PalingDepan++;

list[p].setData(r);

}else{

p = PalingBelakang;

PalingBelakang++;

PalingDepan++;

list[p].setData(r);

}

}


}


public int remove(){

int p, q;

p=0;

q=0;


if(jmlBagianTubuh==0){

//Sqstem.out.print(" Queue is kosong ");
 
q=0;


} else if(jmlBagianTubuh==1) {

q=list[p].getData();

p=PalingBelakang;

PalingBelakang=-1;

PalingDepan=-1;

list[p].setData(0);

list[p].setPrev(-1);

list[p].setNext(-1);

jmlBagianTubuh--;

kosong=true;

}else if(PalingBelakang==JumlahSemua-1){

p=PalingBelakang;

q=list[p].getData();

PalingBelakang=0;

list[p].setData(0);
list[p].setPrev(-1);

list[p].setNext(-1);


list[PalingDepan].setNext(PalingBelakang);

list[PalingBelakang].setPrev(PalingDepan);

jmlBagianTubuh--;

}else{

p=PalingBelakang;
 
q=list[p].getData();

PalingBelakang++;

list[p].setData(0);

list[p].setPrev(-1);

list[p].setNext(-1);


list[PalingDepan].setNext(PalingBelakang);

list[PalingBelakang].setPrev(PalingDepan);

jmlBagianTubuh--;
}

return q;
}



      
      
      


class BagianTubuh {
  

private int prev, Next;
  
private int data;
  
  

public BagianTubuh(){
      
data = 0; prev = -1; Next=-1;
    }
  
  
/*public BagianTubuh(int n){
      
data = n; prev = -1; Next = -1;      
  
}*/
  
  

public void setPrev(int n){
      
prev = n;
    }
  
  

public int getPrev(){
      
return prev;
    }
  
  

public void setNext(int n){
      
Next = n;
    }
  
  

public int getNext(){
      
return Next;
    }
  
  

public void setData(int n){
      
data = n;
    }

  

public int getData(){
      
return data;
    }
}
}

Jumat, 14 Desember 2012

Program Kurs pada Bank


Jadi disini kita membuat sebuah program yang bisa menukarkan sesuai dengan kurs yang berlaku. SIlahkan dicoba. . 

import java.util.LinkedList;

public class bank{
 public static void main(String[] args){
        rekening baru = new rekening(5000000,"IDR");
        baru.setKurs("JPY");
        System.out.println("Saldo anda : "+baru.getKurs()+" "+baru.getSaldo());
  baru.menyetor(10,"USD");
  System.out.println("Saldo anda : "+baru.getKurs()+" "+baru.getSaldo());
  baru.menarik(50);
  System.out.println("Saldo anda : "+baru.getKurs()+" "+baru.getSaldo());
 }
}

class rekening{
 private double saldo;
 private String kurs;
 private double saldoMinimum;
    private mataUang tabelMataUang = new mataUang();
 
 public rekening(){
  saldo = 0;
  saldoMinimum =300000;
  kurs = "IDR";
 }
 
 public rekening(double saldoAwal){
  saldo = saldoAwal;
  saldoMinimum =300000;
  kurs = "IDR";
 }
 
 public rekening(double saldoAwal, String kursAwal){
  saldo = saldoAwal;
  saldoMinimum = tabelMataUang.konversi(300000, "IDR", kursAwal);;
  kurs = kursAwal;
 }
 
 public double getSaldo(){
  return saldo;
 }
 
 public String getKurs(){
  return kurs;
 }
 
 public void setKurs(String kursBaru){
        saldo = tabelMataUang.konversi(saldo, kurs, kursBaru);
  saldoMinimum = tabelMataUang.konversi(saldoMinimum, kurs, kursBaru);
  kurs = kursBaru;
 }
 
 public double getSaldoMinimum(){
  return saldoMinimum;
 }
 
 public void menyetor(double jumlah){
  saldo += jumlah;
 }
 
 public void menyetor(double jumlah, String kursAwal){
  saldo += tabelMataUang.konversi(jumlah, kursAwal, kurs);
 }
 
 public void menarik(double jumlah){
  if((saldo-jumlah) > saldoMinimum){
   saldo -= jumlah;
  }else{
   System.out.println("Tidak dapat menarik uang sejumlah "+jumlah+" Karena saldo anda tidak mencukupi");
  }
 }
 
 public void menarik(double jumlah, String kursAwal){
  if((saldo-tabelMataUang.konversi(jumlah, kursAwal, kurs)) > saldoMinimum){
   saldo -= tabelMataUang.konversi(jumlah, kursAwal, kurs);
  }else{
   System.out.println("Tidak dapat menarik uang sejumlah "+kursAwal+" "+jumlah+" Karena saldo anda tidak mencukupi");
  }
 }
}

class unitKurs{
 public String mataUang;
 public double value;
 public unitKurs(String namaMataUang, double nilai){
  mataUang = namaMataUang;
  value = nilai;
 }
}

class mataUang{
    private LinkedList<unitKurs> uang = new LinkedList<>();
    public mataUang(){
        uang.add(new unitKurs("IDR", 1));
        uang.add(new unitKurs("USD", 9500));
        uang.add(new unitKurs("JPY", 100));
        uang.add(new unitKurs("GBP", 15000));
        uang.add(new unitKurs("MYR", 3000));
        uang.add(new unitKurs("AUD", 8000));
        uang.add(new unitKurs("SGD", 7000));
    }
    public double konversi(double nilai, String dari, String ke){
        return (nilai*cariMataUang(dari)/cariMataUang(ke));
    }
    public double cariMataUang(String kode){
        double hasil=0;
        for(int i=0;i<uang.size();i++){
            if(uang.get(i).mataUang.equalsIgnoreCase(kode)){
                hasil = uang.get(i).value;
                break;
            }
        }
        return hasil;
    }
}

Minggu, 09 Desember 2012

Membuat Program Ascending dan Descending pada Java


Ini semacam program untuk membuat ascending dan descending ketika kita menginputkan suatubilangan acak. Silahkan dicoba di rumah.


import java.io.*;
import java.util.Scanner;

public class nrp5212100173 {

public static int[] A = new int[10];

public static void main(String[] args) {

  Scanner s = new Scanner(System.in);

   int a;


 
   System.out.println();
   System.out.print("Ada berapa bilangan yang akan dimasukkan bilangan :");
  a = s.nextInt();
   int [] bilangan= new int [a];

String cmd = "";
int x;
boolean KELUAR = false;

BufferedReader inputUser = new BufferedReader(new InputStreamReader(System.in));

for (int i = 0; i < 10; i++) {
try {

System.out.print("Bilangan ke - " + (i + 1) + " : ");
cmd = inputUser.readLine();
x = Integer.parseInt(cmd);
A[i] = x;
System.out.println("");
} catch (Exception e) {
System.out.println("angka yang anda masukan salah");
}
}
System.out.println("Sebelum di urutkan :");
printA();

acsending();
System.out.println("Acsending :");
printB();

descending();
System.out.println("Descending :");
printA();
}

public static void printB() {
for (int i = 0; i < 10; i++) {
System.out.print("\t" + A[i]);
}
System.out.println("");

}

public static void printA() {
for (int i = 0; i < 10; i++) {
System.out.print("\t" + A[i]);
}
System.out.println("");
}

public static void acsending() {
for (int i = 1; i < 10; i++) {
for (int j = i; j < 10; j++) {
if (A[i - 1] > A[j]) {
int dummy = A[i - 1];
A[i - 1] = A[j];
A[j] = dummy;
}
}
}
}

public static void descending() {

for (int i = 1; i < 10; i++) {
for (int j = i; j < 10; j++) {
if (A[i - 1] < A[j]) {
int dummy = A[i - 1];
A[i - 1] = A[j];
A[j] = dummy;
}
}
}
}
}

Program untuk Menentukan Bilangan Sempurna


ini salah satu source code terpendek yang saya kerjakan. Tapi dijamin gak cmpile eror kok. Ini semacam code untuk menentukan apakah sebuah bilangan itu bilangan sempurna atau bukan. Silahkan mencoba. Dan jangan lupa comment ya. . :D



import java.util.Scanner;

class nrp5212100107 {
public static void main(String [] agrs) {
Scanner sc = new Scanner (System.in);
int c=0;
int b;

System.out.print(" Masukkan bilangan ");
int a = sc.nextInt();

for (b=1;b<a;b++){
if (a%b == 0) {
c += b;
}
}
if (c==a) {
System.out.println ("bilangan" +a+" adalah bilangan sempurna ");
} else {
System.out.println ("bilangan" +a+" adalah bukan bilangan sempurna");
}
}
}

Membuat Program untuk Mencari KPK dan FPB dalam Java

ini selanjutanya untuk mencari KPK dan FPB dalam bahasa java. Check it out. .



import java.util.Scanner ;

public class nrp5212100107 {

public static void main (String[] args) throws Exception{

Scanner sc = new Scanner (System.in) ;


System.out.println(" ********************************* ") ;
System.out.println(" *Masukkan bilangan bulat pertama* ") ;
System.out.println(" ********************************* ") ;

int a = sc.nextInt();


System.out.println(" ******************************* ") ;
System.out.println(" *Masukkan bilangan bulat kedua* ") ;
System.out.println(" ******************************* ") ;

int b = sc.nextInt();

System.out.println(" ************************* " );
System.out.println(" *KPK dari " + a + " dan " + b + " adalah* " );
System.out.println(" ************************* " );

int c = 0;

for(int x=1;x<=b;x++) {

c = (c + a);

if(c % b==0) {

System.out.println(c);

break;

}
}


System.out.println(" ************************* ");
System.out.println(" *FPB dari " + a + " dan " + b + " adalah* ");
System.out.println(" ************************* ");

int d;

d = a % b;


while ( d != 0) {

a = b;

b = d;

d = a % b;
}

System.out.println(b);

}
}

Perkalian Bilangan Berbasis 8 dan Mengubahnya ke Bilangan Biner


Ini program ketigaku. Well. . Monggo dicoba. . komen ya kalo ada yang salah. . 


import java.math.BigInteger;
import java.util.Scanner;

public class praktikum4{
	public static void main(String[] argv){
		String bilangan1, bilangan2;
		System.out.print("Masukkan bilangan pecahan berbasis 8 pertama : ");
                bilangan1 = getInput();
                System.out.print("Masukkan bilangan pecahan berbasis 8 kedua : ");
                bilangan2 = getInput();
                String hasil = Double.toString(octalToDecimal(bilangan1)*octalToDecimal(bilangan2));
                System.out.println(hasil);
                toBinary(hasil);	
	}
        
        public static void toBinary(String input){
            if(input.indexOf("E")==-1){
                String bulat = input.substring(0, input.indexOf("."));
                String pecahan = input.substring(input.indexOf(".")+1, input.length());
                if(Double.parseDouble("0."+pecahan)>0){
                    System.out.println("Hasil kali bilangan dalam biner adalah:");
                    System.out.println("Bilangan: "+new BigInteger(bulat.concat(pecahan)).toString(2));
                    System.out.println("Mantisa: "+Integer.toBinaryString(-1*pecahan.length()));
                }else{
                    System.out.println("Hasil kali dalam biner adalah: "+new BigInteger(bulat).toString(2));
                }
            }else{
                String bulat = input.substring(0, input.indexOf("."));
                String pecahan = input.substring(input.indexOf(".")+1, input.indexOf("E"));
                Integer mantisa = new Integer(input.substring(input.indexOf("E")+1,input.length()));
                System.out.println("Hasil kali bilangan dalam biner adalah:");
                System.out.println("Bilangan: "+new BigInteger(bulat.concat(pecahan)).toString(2));
                System.out.println("Mantisa: "+Integer.toBinaryString((mantisa-pecahan.length())));
            }
        }
       
        public static String getInput(){
            String input="";
            Scanner key = new Scanner(System.in);
            boolean valid;
            do{
                input = key.nextLine();
                if(input.matches("([0-7]*\\.[0-7]*)")){
                    valid = true;
                }else{
                     System.out.print("Input tidak valid, coba masukkan lagi (Ex. 7.0): ");
                    valid = false;
                }          
            }while(!valid);
            return input;
        }
        
        public static double octalToDecimal(String input){
            double hasil=0;
            int power = 0;
            for(int i=input.indexOf(".")-1;i>=0;i--){
                hasil += (Double.parseDouble(""+input.charAt(i))*Math.pow(8, power));
                power++;
            }
            power = -1;
            for(int i=input.indexOf(".")+1;i<input.length();i++){
                hasil += (Double.parseDouble(""+input.charAt(i))*Math.pow(8, power));
                power--;
            }
            return hasil;
        }
		
        
}