Sabtu, 05 Januari 2013

Program mengubah infix

0 komentar

PROGRAM MENGUBAH NOTASI INFIX KE POSTFIX....


package tugas5;
import java.io.IOException;
import java.util.*;

public class inkepos {
  
     private Stack theStack;
     private String input;
     private String output = "";

    public inkepos(String in) {
      input = in;
      int stackSize = input.length();
      theStack = new Stack(stackSize);
    }

    public String doTrans() {
       for (int j = 0; j < input.length(); j++) {
         char ch = input.charAt(j);
         switch (ch) {
         case '+': 
         case '-':
           gotOper(ch, 1); 
           break;  
         case '*': 
         case '/':
           gotOper(ch, 2); 
           break; 
         case '(': 
           theStack.push(ch); 
           break;
         case ')': 
           gotParen(ch); 
           break;
         default: 
           output = output + ch; 
           break;
         }
       }
       while (!theStack.isEmpty()) {
         output = output + theStack.pop();

       }
       System.out.println(output);
       return output; 
     }

     public void gotOper(char opThis, int prec1) {
       while (!theStack.isEmpty()) {
         char opTop = theStack.pop();
         if (opTop == '(') {
           theStack.push(opTop);
           break;
         }
         else {
           int prec2;
           if (opTop == '+' || opTop == '-')
             prec2 = 1;
           else
             prec2 = 2;
           if (prec2 < prec1) 
           { 
             theStack.push(opTop); 
             break;
           } else
             
             output = output + opTop; 
         }
       }
       theStack.push(opThis);
     }

     public void gotParen(char ch){ 
       while (!theStack.isEmpty()) {
         char chx = theStack.pop();
         if (chx == '(') 
           break; 
         else
           output = output + chx; 
       }
     }
    
     public static void main(String[] args) throws IOException {
         System.out.println("===============================================");
    System.out.println("PROGRAM MENGUBAH EKSPRESI DARI INFIX KE POSTFIX");
    System.out.println("===============================================");
       System.out.println("Input Exspresi Infix: ");
       Scanner niluh = new Scanner(System.in);
       String input =  niluh.next();
      
       String output;
       System.out.print("Output Postfix : ");
       inkepos theTrans = new inkepos(input);
       output = theTrans.doTrans(); 
       

     }
     class Stack {
       private int maxSize;
     
       private char[] stackArray;
     
       private int top;
     
       public Stack(int max) {
         maxSize = max;
         stackArray = new char[maxSize];
         top = -1;
       }
     
       public void push(char j) {
         stackArray[++top] = j;
       }
     
       public char pop() {
         return stackArray[top--];
       }
     
       public char peek() {
         return stackArray[top];
       }
     
       public boolean isEmpty() {
         return (top == -1);
       }
     }

   }


OUTPUT PROGRAM



Program kasir sederhana

0 komentar
ini lagi program kasir yang sangat sederhana yg bisa di buat saat pertama mengenal java..........


import java.util.*;

public class kasir {
/**
* @param args
*/
public static void main (String[]args){
//TODO Auto-generated method stub
Scanner kasir = new Scanner (System.in);

int a,b,c,d;
System.out.print("Masukkan harga barang : ");
a = kasir.nextInt();

System.out.print("Diskon yang di berikan : ");
b = kasir.nextInt();
c = a * b/100;

System.out.println("diskon Rp   "+c);
d = a - c;

System.out.println("total harga: "+d);


}

}

nih....saya ngasi liat output programnya,,,



Program java 2

0 komentar
Ini Program untuk menentukan hari dari input tanggal dan bulan pada java.....

coba liat ya....!!!!!!!!!!!!


package tugas2;
import java.util.Scanner;
public class Hari {

/**
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub

Scanner niluh = new Scanner (System.in);

String nama = null;
String hari = null;

System.out.println ("Masukkan tanggal: ");
int a = niluh.nextInt();
System.out.println ("Masukkan bulan : ");
int b = niluh.nextInt();

int jumlah=a;
int a1=31;
int a2=29;
int a3=31;
int a4=30;
int a5=31;
int a6=30;
int a7=31;
int a8=31;
int a9=30;
int a10=31;
int a11=30;


switch (b){
case 1: nama = "januari";
jumlah =jumlah+0 ;
break;
case 2: nama ="februari";
jumlah = jumlah+a1;
break;
case 3: nama ="maret";
jumlah = jumlah+a1+a2;
break;
case 4: nama= "april";
jumlah = jumlah+a1+a2+a3;
break;
case 5: nama ="mei";
jumlah = jumlah+a1+a2+a3+a4;
break;
case 6: nama = "juni";
jumlah = jumlah+a1+a2+a3+a4+a5;
break;
case 7: nama = "juli";
jumlah = jumlah+a1+a2+a3+a4+a5+a6;
break;
case 8: nama = "agustus";
jumlah = jumlah+a1+a2+a3+a4+a5+a6+a7;
break;
case 9: nama= "september";
jumlah = jumlah+a1+a2+a3+a4+a5+a6+a7+a8;
break;
case 10: nama= "oktober";
jumlah = jumlah+a1+a2+a3+a4+a5+a6+a7+a8+a9;
break;
case 11: nama= "november";
jumlah = jumlah+a1+a2+a3+a4+a5+a6+a7+a8+a9+a10;
break;
case 12: nama= "desember";
jumlah = jumlah+a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+a11;
break;
}


int nil = (jumlah)%7;
switch (nil){
case 0: hari= "sabtu";
break;

case 1: hari ="minggu";
break;

case 2: hari ="senin";
break;

case 3: hari ="selasa";
break;

case 4: hari ="rabu";
break;

case 5: hari ="kamis";
break;

case 6: hari ="jum'at";
break;
}


System.out.println ("Maka Tanggal "+a+" bulan "+nama+" tahun 2012 jatuh pada hari "+hari);
}
}
.................................................................................................................................................................................
ini input nya...