Wednesday, June 8, 2011

koding untuk Stack link list

Class tempat push dan pop
package Stack;
class item
{
public String data;// membuat Variabel yang bernilai String
public item lanjut;// membuat Variabel yang bernilai abstract
public item kembali;// membuat Variabel yang bernilai abstract
public item(String i)// method String
{
data = i;//menginisialisasikan bahwa nilai i = data
} //akhir method item
public void displayLink()//method display untuk menampilkan data yang telah di inputkan
{
System.out.print( data );//menampilkan data
}
}
class StackLinkList//class yang digunakan untuk menginisialisasikan posisi dari data
{
private item atas;//data atas
private item bawah;//data bawah
public StackLinkList()//method letak data
{
atas = bawah = null;//menginisialisasi bahwa list kosong
}
public boolean isEmpty()//syarat
{
return (atas==null);//yang akan dilakukan, akan lebih jelas terlihat pada class main
}
public void push(String id)//method untuk memasukkan nilai
{
item newitem = new item(id);//memanggila class item
if (atas == null)//syarat
{
atas = bawah = newitem;//yang akan dilakukan jika nilai atas masih kosong
}
else //yang akan jika syarat sebelumnya belum terpenuhi
{
atas.lanjut = newitem;
newitem.kembali = atas;
atas = newitem;
}
}//akhir method push
public item pop()//method untuk menghapus nilai
{ item temp = null;//menginisialisasi bahwa nilai temp masih null
if (atas == null)//syarat yang akan dilakukan ketika atas masih null
System.out.println("Stack is empty");//SOP menandakan data kosong
else if (atas == bawah)//yang akan dilakukan jika data hanya 1
{
temp = atas;
atas = bawah = null;
}
else //yang akan dilakukan jika syarat tidak ada yang terpenuhi
{
temp = atas;
atas = atas.kembali;
atas.lanjut = null;
}
return temp;//mengembalikan nilai return
}//akhir method pop
public void display()//method untuk menampilkan data
{
item current = bawah;//menginisialisasikan bahwa nilai current=nilai data paling bawah
while(current != null)//yang akan dilakukan jika nilai bawah tidak kosong
{
current.displayLink();//menampilkan data
current = current.lanjut;//nilai current menjadi nilai dat berikutnya
}//akhir dari while
System.out.println("");//memberikan spasi
}//akhir method display
} //akhir class StackLinklist

Class untuk menampilkan data
package Stack;

class StackLinkListApp
{
public static void main(String[] args)
{
StackLinkList a = new StackLinkList();//memanggil class StackLinkList

a.push("G1A010064");//Memasukkan nilai
a.push("G1A010063");//Memasukkan nilai
a.push("G1A010059");//Memasukkan nilai
a.push("G1A010025");//Memasukkan nilai
a.push("G1A010011");//Memasukkan nilai
a.push("G1A010007");//Memasukkan nilai
a.push("G1A010001");//Memasukkan nilai
a.display();//menampilkan data
System.out.println("menghapus data dari atas");
while( !a.isEmpty() )//yang akan dilakukan ketika list tidak kosong
{
item aLink = a.pop();// memanggil method pop
System.out.print("angka atasnya pindah kedepan :\n ");{//SOP
aLink.displayLink();
}
a.display();//menampilkan data

System.out.println("");//memberikan spasi
if (a.isEmpty())//yang akan dilakukan ketika list kosong
System.out.print("data telah kosong \n");//SOP bahwa list telah kosong
}//akhir while
}//akhir main args
}//akhir class List APp

No comments:

Post a Comment

fill it with what you want, but please not be anarky and vulgar....