ALGORITMA DAN STRUKTUR DATA
MODUL PRAKTIKUM KE-6
ADT
SINGLE LINKEDLIST
ANITASARAYA
08560360
LABORATORIUM PEMROGRAMAN
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH MALANG
2009
I. TUJUAN
Mahasiswa mampu :
- Memahami konsep single linked list
- Memahami ADT (tipe data abstrak) single linked list
- Mampu memodifikasi dan menerapkan ADT single linked list untuk kasus lain
II. PERCOBAAN
Class LinkList.java
class Link
{
public int iData; // data item (key)
public Link next; // next link in list
// ------------------------------------------------------------
public Link(int id) // constructor
{
iData = id; // initialize data
}
// ------------------------------------------------------------
public void displayLink() // display ourself
{
System.out.print("{" + iData + "}");
}
} // end class Link
////////////////////////////////////////////////////////////////
class LinkList
{
private Link first; // ref to first link on list
public LinkList() // constructor
{
first = null; // no items on list yet
}
public boolean isEmpty() // true if list is empty
{
return (first==null);
}
// insert at start of list
public void insertFirst(int id)
{ // make new link
Link newLink = new Link(id);//, dd);
newLink.next = first; // newLink --> old first
first = newLink; // first --> newLink
}
public Link deleteFirst() // delete first item
{ // (assumes list not empty)
Link temp = first; // save reference to link
first = first.next; // delete it: first-->old next
return temp; // return deleted link
}
public void displayList()
{
System.out.print("List (first-->last): ");
Link current = first; // start at beginning of list
while(current != null) // until end of list,
{
current.displayLink(); // print data
current = current.next; // move to next link
}
System.out.println("");
}
} // end class LinkList
Class LinkListApp.java
import java.io.*;
class LinkListApp
{
public static void main(String[] args)
{
LinkList theList = new LinkList(); // make new list
theList.insertFirst(22); // insert four items
theList.insertFirst(44);
theList.insertFirst(66);
theList.insertFirst(88);
theList.displayList(); // display list
while( !theList.isEmpty() ) // until it's empty,
{
Link aLink = theList.deleteFirst(); // delete link
System.out.print("Deleted "); // display it
aLink.displayLink();
System.out.println("");
}
theList.displayList(); // display list
} // end main()
} // end class LinkListApp
Catatan
:
Untuk
LinkListApp.java
Hasil Output :
melihat
hasil
output
program
diatas
jalankan
program
III. TUGAS PRAKTIKUM
1. Modifikasi program diatas tambahkan method untuk merubah/edit data. Hasil
outputnya sbb :
2. Jalankan dan analisa program diatas kemudian lakukan modifikasi program sehingga
hasil outputnya menjadi seperti berikut :
HASIL
1.
import java.io.*;
class LinkListApp
{
public static void main(String[] args)
{
LinkList theList = new LinkList(); // make new list
theList.insertFirst(22); // insert four items
theList.insertFirst(44);
theList.insertFirst(66);
theList.insertFirst(88);
theList.displayList(); // display list
while( !theList.isEmpty() ) // until it's empty,
{
Link aLink = theList.deleteFirst(); // delete link
System.out.print("Deleted "); // display it
aLink.displayLink();
System.out.println("");
}
theList.displayList(); // display list
} // end main()
} // end class LinkListApp
2. import java.io.*;
class Link
{
public int iData; // data item (key)
public Link next; // next link in list
// ------------------------------------------------------------
public Link(int id) // constructor
{
iData = id; // initialize data
}
// ------------------------------------------------------------
public void displayLink() // display ourself
{
System.out.print("{" + iData + "}");
}
} // end class Link
////////////////////////////////////////////////////////////////
class LinkList
{
private Link first; // ref to first link on list
public LinkList() // constructor
{
first = null; // no items on list yet
}
public boolean isEmpty() // true if list is empty
{
return (first==null);
}
// insert at start of list
public void insertFirst(int id)
{ // make new link
Link newLink = new Link(id);//, dd);
newLink.next = first; // newLink --> old first
first = newLink; // first --> newLink
}
public Link deleteFirst() // delete first item
{ // (assumes list not empty)
Link temp = first; // save reference to link
first = first.next; // delete it: first-->old next
return temp; // return deleted link
}
public void displayList()
{
System.out.print("List (first-->last): ");
Link current = first; // start at beginning of list
while(current != null) // until end of list,
{
current.displayLink(); // print data
current = current.next; // move to next link
}
System.out.println("");
}
} // end class LinkList
class LinkListApp
{
public static void main(String[] args)
{
LinkList theList = new LinkList(); // make new list
System.Out.Println("nim: ")
theList.insertFirst(701);
System.Out.Println(":nama ")
theList.insertFirst('Nana Mariana');
System.Out.Println("nim: ")
theList.insertFirst(702);
System.Out.Println("nama: ")
theList.insertFirst('Ary Sandy');
theList.insertFirst(703);
System.Out.Println("nama: ")
theList.insertFirst('Farid mahardika');
System.Out.Println("nim: ")
theList.insertFirst(704); // insert four items
System.Out.Println("nama: ")
theList.insertFirst('Cahaya Saputra');
System.Out.Println("nim: ")
theList.displayList(); // display list
while( !theList.isEmpty() ) // until it's empty,
{
Link aLink = theList.deleteFirst(); // delete link
System.out.print("Deleted "); // display it
aLink.displayLink();
System.out.println("");
}
theList.displayList(); // display list
} // end main()
} // end class LinkListApp
IV. REFRENSI
Jokonowo, Bambang S.Si, “Pemrograman Berorientasi Obyek”, Pusat pengembangan
bahan ajar UMB, 2006.
Noviyanto, “Pemrograman Berorientasi Obyek (PBO) – Array”, 2005
Nugroho, Adi, “Algoritma dan Struktur Data Dalam Bahasa Java”, ANDI Yogyakarta,
2008.
Michaell Waite, ”Data Structures and Algorithms in Java”, SAMS, 2001


Tidak ada komentar:
Posting Komentar