Stack
Stack
STRUKTUR DATA
(BALIK KATA, STACK 7 FUNGSI, CEK EKSPRESI MATEMATIKA)
Anggota kelompok: Moh Iwan Purwanto (110411100013) Ruslan Wahyudi (110411100014) Majas Ardinta (110411100046) M. Anang Setiawan (110411100060)
2012
Running program
/** * * @author anang */ public class tujuh { /** * @param args the command line arguments */ public static void main(String[] args) { Scanner dataIn=new Scanner(System.in); int x; String lagi=""; begin stack=new begin(100); do{ System.out.println("PROGRAM STACK 7 FUNGSI MENGGUNAKAN KONSEP OOP"); System.out.println("1. push"); System.out.println("2. pop"); System.out.println("3. size"); System.out.println("4. peek"); System.out.println("5. isEmpty"); System.out.println("6. printStack"); System.out.println("7. clear"); System.out.print("Masukkan pilihan anda = ");x=dataIn.nextInt(); switch(x){ case 1:stack.push(stack.setData());break; case 2:stack.pop();break; case 3:stack.size();break; case 4:stack.peek();break; case 5:stack.isEmpty();break; case 6:stack.printStack();break; case 7:stack.clear();break; default :System.out.println("OUT OF RANGE"); } System.out.print("LAGI (y / t) = ");lagi=dataIn.nextLine();lagi=dataIn.nextLine(); } while(!lagi.equals("t")); } }
Running Program
3. PROGRAM CEK EKSPRESI MATEMATIKA package belajar; import java.util.Scanner; /** * * @author anang */ public class matematika { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Scanner masukan = new Scanner(System.in); String kalimat,r; String operator[]=new String[10]; String operand[]=new String[10]; String kurung[]=new String[10]; kalimat = masukan.next(); int a,b = 0; int sizend=0; int sizetor=0; int sizekr=0; Boolean cek; for (a=0;a<10;a++) operator[a]=""; for (a=0;a<10;a++) kurung[a]=""; for (a=0;a<10;a++) operand[a]=""; r=""; for (a=0;a<kalimat.length();a++) { r = r + kalimat.substring(a, a+1); if (kalimat.substring(a, a+1).equals("(")) { sizekr=sizekr+1; kurung[sizekr]=r; //sizend++; //operand[sizend]=kurung[sizekr]+operand[sizend]; r="-1"; } if (kalimat.substring(a, a+1).equals(")")) { // r=operand[sizend]+operator[sizetor]+r; kurung[sizekr]=""; if (sizekr>0) sizekr=sizekr-1; else sizekr=sizekr+1; r="-1"; } if ((kalimat.substring(a, a+1).equals("*")) || (kalimat.substring(a, a+1).equals("/")) || (kalimat.substring(a, a+1).equals("+")) || (kalimat.substring(a, a+1).equals("-"))) { //if (operator[1]=="") sizetor=sizetor+1; operator[sizetor]= r; r="-1"; } if (Integer.valueOf(r)>=0 && Integer.valueOf(r)<=9) { if (sizend==0) { sizend = sizend+1; operand[sizend]=r; r=""; } else { if (sizetor==0) cek=false; { r = operand[sizend]+operator[sizetor]+r; sizend=sizend-1; //sizetor=0; if (sizetor==0) sizetor=0; else sizetor=sizetor-1;
sizend=sizend+1; operand[sizend]=r; } } } r=""; } if ((sizetor<=0) && (sizend==1) && (sizekr==0)) System.out.println("benar"); else System.out.println("salah"); } }
Running Program
Cek Benar
Cek Salah