program membalik kata menggunakan stack

berikut ini adalah contoh sebuah program menggunakan stack. aplikasi stack adalah memasukkan data ke dalam array/tumpukan dimana data yang terakhir dimasukkan berada di paling atas. stack memupnyai satu jalur dan satu pintu keluar dadn mempunyai ciri LIFO (Last In First Out) yang berarti data yang terakhir dimasukkan adalah data yang pertama kali keluar...
dalam program ini saya memberi contoh membalik kata dari sebuah kalimat sehingga dapat dibaca dari kata terakhir.
contoh : andi makan pagi -> pagi makan andi
berikut adalah source code untuk program membalik kata tersebut :


import java.util.Scanner;

class stack_kata{
public int panjang;
public String kalimat="";
public int top = 0;
public String [] kata = new String[10];
public Scanner dataIn = new Scanner(System.in);
public void setKalimat(String kalimat){

this.kalimat = kalimat;
}
public String getKalimat(){
return kalimat;
}
public int getPanjang(){
panjang = kalimat.length();
return panjang;
}
}

class pembalik extends stack_kata{

void push(String temp){
top++;
kata[top] = temp;
}

String pop(int top){
String temp = kata[top];
top--;
return temp;
}

public void exchange(){
String temp = "";
for(int a = 0;a<panjang;a++){
temp+=String.valueOf(kalimat.charAt(a));
if(kalimat.charAt(a)==' '){
push(temp);
temp = "";
}
}
push(temp);
}

public void show(){
String temp="";
for(int a=top;a>=1;a--){
temp+=pop(a)+" ";
}
System.out.println("reversed sentence : "+temp);
}
}

class reverse_word{
public static void main(String [] args){
Scanner dataIn = new Scanner(System.in);
String input="";
pembalik kataterbalik = new pembalik();
System.out.print("input sentence : ");input = dataIn.nextLine();
kataterbalik.setKalimat(input);
kataterbalik.getKalimat();
kataterbalik.getPanjang();
kataterbalik.exchange();
kataterbalik.show();
}
}

1 komentar:

Unknown mengatakan...

Gak isok

Posting Komentar