TUGAS
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)
PRODI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO MADURA
2012
1. PROGRAM BALIK KATA
package katabalik; import [Link]; /** * * @author anang */ public class balikkata { static String a[] = new String[5]; static int top = 0; static void push(String x) { a[top] = x; top++; } static String pop() { String t; t = a[top-1]; a[top-1]=null; top--; return t; } static int size() { return top; } static String peek() { return a[top-1]; } static void bawahAtas() { int b; for(b=0;b<=top-1;b++) { [Link](a[b]); } } static void atasBawah() { int b; for(b=top-1;b>=0;b--) { [Link](a[b]+" "); } } /** * @param args the command line arguments */ public static void main(String[] args) { Scanner masukan=new Scanner([Link]); [Link]("Masukkan text: "); for(int b=0;b<3;b++){ a[b] = [Link](); push(a[b]); } [Link]("\nSetelah dibalik: "); atasBawah(); [Link](); } }
Running program
2. PROGRAM STACK 7 FUNGSI
package fungsi; import [Link]; class begin{ public Scanner dataIn=new Scanner([Link]); protected int[] data; protected int top=0; public begin(int max){ data=new int[max]; } public int setData(){ int input; [Link]("masukkan data berupa integer=");input=[Link](); return input; } public void push(int result){ top++; data[top]=result; } public int pop(){ int hasil; hasil=data[top]; top--; return hasil; } public int size(){ int ukuran=top; [Link]("ukuran STACK = "+ukuran); return ukuran; } public int peek(){ int result=data[top]; [Link]("hasil PEEK = "+result); return result; } public boolean isEmpty(){ if(top==0){ [Link]("KOSONG"); return true;} else{ [Link]("STACK BERISI"); return false; } } public void printStack(){ for(int a=1;a<=top;a++){ [Link](data[a]); } } public void clear(){ for(int a=1;a<=top;a++){ pop(); [Link](data[a]); } } }
/** * * @author anang */ public class tujuh { /** * @param args the command line arguments */ public static void main(String[] args) { Scanner dataIn=new Scanner([Link]); int x; String lagi=""; begin stack=new begin(100); do{ [Link]("PROGRAM STACK 7 FUNGSI MENGGUNAKAN KONSEP OOP"); [Link]("1. push"); [Link]("2. pop"); [Link]("3. size"); [Link]("4. peek"); [Link]("5. isEmpty"); [Link]("6. printStack"); [Link]("7. clear"); [Link]("Masukkan pilihan anda = ");x=[Link](); switch(x){ case 1:[Link]([Link]());break; case 2:[Link]();break; case 3:[Link]();break; case 4:[Link]();break; case 5:[Link]();break; case 6:[Link]();break; case 7:[Link]();break; default :[Link]("OUT OF RANGE"); } [Link]("LAGI (y / t) = ");lagi=[Link]();lagi=[Link](); } while(); } }
Running Program
3. PROGRAM CEK EKSPRESI MATEMATIKA package belajar; import [Link]; /** * * @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([Link]); String kalimat,r; String operator[]=new String[10]; String operand[]=new String[10]; String kurung[]=new String[10]; kalimat = [Link](); 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<[Link]();a++) { r = r + [Link](a, a+1); if ([Link](a, a+1).equals("(")) { sizekr=sizekr+1; kurung[sizekr]=r; //sizend++; //operand[sizend]=kurung[sizekr]+operand[sizend]; r="-1"; } if ([Link](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 (([Link](a, a+1).equals("*")) || ([Link](a, a+1).equals("/")) || ([Link](a, a+1).equals("+")) || ([Link](a, a+1).equals("-"))) { //if (operator[1]=="") sizetor=sizetor+1; operator[sizetor]= r; r="-1"; } if ([Link](r)>=0 && [Link](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)) [Link]("benar"); else [Link]("salah"); } }
Running Program
Cek Benar
Cek Salah