LAPORAN PRAKTIKUM
STRUKTUR DATA
Oleh : Irfannur Diah (1310000019)
1.
Pertemuan 1 Prak. Struktur Data (Konsep Linked List) Implementasi Linked List dengan 1 Node
Illustrasi:
NULL
Output:
Implementasi Linked List dengan Menggunakan Perulangan
1
Node (Object data, Node pointer) {
this.data=data; this.pointer=pointer; }
}
public class Linkedlist1 {
public static void main(String[] args) { Node head= new Node();
Node (Object data, Node pointer) {
this.data=data; this.pointer=pointer; }
}
public class Linkedlist2 {
public static void main(String[] args) {
System.out.println("Contoh Linked List :"); Node head = new Node();
for (int n = 0;n<4;n++){ Node z= new Node(n); while (z != null ){
System.out.println("data ke :"+z.data +"\npointer : " +z.pointer);
0
1
2
NULL
NULLNULL
NULL
NULLNULL
NULL
Illustrasi:
Output :
Penggunaan Linkedlist dengan menggunakan lebih dari satu Node
2 class Node{
String nama,nim; Node next;
}
public class Linkedlist3 {
public static void main(String[] args) { Node current = null;
Node pertama = new Node(); Node kedua = new Node(); Node ketiga = new Node();
pertama.nama = "Irfannur Diah"; pertama.next = kedua;
pertama.nim = "1310000019"; pertama.next = ketiga;
ketiga.nama = "Mahasiswa Universitas Potensi Utama";
ketiga.next = null; current = pertama;
while(current != null){
System.out.println(current.nama); System.out.println(current.nim); current=current.next;
\\
Output:
2.
Pertemuan 2 Prak. Struktur Data (Single Linked List Insert,Remove) Implementasi Linked List Insert dan Remove
3 public static void main(String[] args) {
System.out.println("Single Linked List\n"); LinkedList List = new LinkedList();
int a=3, b=6, c=7, d=5, e=8; int size;
List.add(a); List.add(b); List.add(c); List.add(d); List.add(e);
System.out.println("Data sebelum di Insert :" + List);
System.out.println("Insert 10"); int f=10;
List.addFirst(f); System.out.println
("Data setelah di Insert" +List);
System.out.println("Insert 15 dari belakang"); int g=15;
List.addLast(g);
System.out.println("Data setelah di insert dari belakang" + List);
System.out.println("Remove 6 "); List.removeFirstOccurrence(b);
System.out.println("Data setelah di hpus dari Depan" + List);
Output :
Implementasi Linked List Single dan double
4 package stdlatihan2;
import javax.swing.JOptionPane; public class StdLatihan2 {
public static void main(String[] args) {
classop Operasi = new classop();
JOptionPane.showMessageDialog(n ull, "Struktur Data Single dan Double Linklist", "SELAMAT DATANG",
JOptionPane.INFORMATION_MESSA GE);
System.out.println("SEDERHANA"); System.out.println(" <<<<<<<============== rasi yang dapat Anda pilih
:\n1.Tambah\n2. Hapus\n3. Cetak");
String tambah1 = JOptionPane.showInputDialog("Men ambahkan Nama :");
String tambah2 =
JOptionPane.showInputDialog("Men ambahkan Alamat :");
System.out.print("\nMenambahkan Alamat (" + tambah2 + ")");
Operasi.Tambah(tambah1, tambah2);
String jawab =
JOptionPane.showInputDialog("Teka n '1' jika ingin menambahkan lagi");
jawab1 = Integer.parseInt(jawab);
}
while (jawab1 == 1);
} ghapus Data Tentang :");
5 ull, "Maaf, operasi yang Anda pilih tidak ada", "LAPORAN",
JOptionPane.ERROR_MESSAGE); }
String jawab2 = JOptionPane.showInputDialog("Teka n '1' jika ingin memilih operasi yang lain");
jawab3 = Integer.parseInt(jawab2);
}
while (jawab3 == 1);
JOptionPane.showMessageDialog(n ull, "TERIMA KASIH ATAS
KUNJUNGAN ANDA", "SAMPAI JUMPA",
public void Tambah(String tambah1, String tambah2) node; //blm ada isi
} else {
ptr.next = node; //pointer next menunjuk ke node
ptr =
ptr.next; //pointer menunjuk ke pointer next(node)
} }
public void Hapus(String hapus)
{
classnd hapus1 = head, hapus2 = head;
while (hapus1 != null) {
Output GUI :
6 hapus2.next = hapus1.next;
if (hapus2.next == null)
{
ptr = hapus2;
}
hapus1 = null;
return;
} } else {
hapus2 = hapus1;
hapus1 = hapus1.next;
} }
if (hapus1 == null) JOptionPane.showMessageDialog(n ull, "Maaf, data yang akan Anda hapus tidak ditemukan",
"LAPORAN",
JOptionPane.ERROR_MESSAGE); }
public void Cetak() { classnd cetak = head; //cetak mulai dari head
System.out.println("Mencetak LinkList:");
System.out.println("Nama Alamat");
while (cetak != null) //berisi
{
System.out.print(cetak.nama);
System.out.print(" " + cetak.alamat + "\n");
cetak = cetak.next; //cetak selanjutnya
}
Output Run :
3.
Pertemuan 3 Prak. Struktur Data (Single Linked List Insert,Remove) Implementasi Linked List Sambungan Sebelumnya
8
Node(Object data, Node pointer) {
public void addLast(Node input){ if(isEmpty()){
System.out.println("Insert data is succeed.");
System.out.println("Insert data is succeed.");
Output :
9 else if(temp.pointer.data==key){ input.pointer =
temp.pointer;
temp.pointer = input;
System.out.println("Insert data is succeed.");
break;}
temp = temp.pointer; }
}
public void print(){ Node p = head; while (p!=null){
System.out.println("head "+p.data + "\ntail" +p.pointer); p =p.pointer;
} } }
public class SLL_3 { public static void main(String[] args) {
operasitambah t = new operasitambah();
for(int i=0; i < 4; i++){ t.addLast(new Node(i));
}
t.addFirst(new Node(5)); t.addFirst(new Node(4)); t.addLast(new Node(6)); t.addLast(new Node(7)); t.print();
Implementasi Linked List Sambungan Sebelumnya
public void addFirst(Node input){ if(isEmpty()){
public void addLast(Node input){ if (isEmpty()){
public void insertAfter(Object key,Node input){
temp=temp.pointer; }
while(temp!=null); }
public void insertBefore(Object key,Node input){
Output :
11 System.out.println("head
"+p.data + "\n tail "+ p.pointer); p=p.pointer;
} }
public class SturukturDataLatihan3 {
}
public static void main(String[] args) {
tambah t=new tambah(); for(int i=0;i<4;i++){ t.addLast(new Node(i)); }
4.
Pertemuan 4 Prak. Struktur Data (Double Linked List) Implementasi Double List Terdiri dari satu Node
Output :
12 class Node{
public Object data; public Node next; public Node prev; public Node(Object id) {
data=id; }
public void displayLink(){
System.out.println("Pointer back :"+prev+"\nData:"+data+"\nP ointer Next :"+next+"");
} }
public class DoubleLinkedList { public static void main(String[] args) {
Node head=new Node(10); head.displayLink();
Implementasi Double List Terdiri dari beberapa Node
public void insertBack(Object id) {
public class DLL2 {
public static void main(String[] args) {
Linklist theList = new Linklist(); System.out.println("Initializing Double Linked List");
theList.insertBack("15"); theList.insertBack("12"); theList.insertBack("88"); theList.insertBack("16"); theList.insertBack("17"); System.out.println("Display Forward :");
theList.displayFoward(); System.out.println("Display Backward :");
Output : (Backward)
5.
Pertemuan 5 Prak. Struktur Data (Circular Double Linked List)public class CDLL { private Node first;
public void insert (Object n){ Node newNode = new Node(n); if(isEmpty())
first=newNode; else
last.next=newNode; newNode.previous=last; last=newNode;
}
public void showList(){
System.out.println("Circular DLL: ");
System.out.println(""); }
Output :
6.
Pertemuan 6 Prak. Struktur Data (Stack atau tumpukan) stack is Empty ^_^");} else
public class StrukturDaraLatihan6 { public static void main(String[] args) {
StackLinkList theStack = new StackLinkList();
System.out.println("Struktur Data Stack");
System.out.println("\nDelete Stack from Top");
Output :
18 System.out.println("========= ===================== ==");
while(!theStack.IsEmpty()) { item aLink = theStack.pop(); System.out.print("Deleted"); aLink.displayLink();
System.out.println(""); }
theStack.display(); }
7.
Pertemuan 7 Prak. Struktur Data (Queue atau Antrian)class QueueLinkList{ private item front; queue is Empty ^_^");
} else
public class StrukturDataLatihan7 { public static void main(String[] args) {
QueueLinkList theQueue = new QueueLinkList();
System.out.println("Inserting queue's items.."); System.out.println("Display Queue :");
System.out.println("Delete Queue from Front..");
System.out.println("========= ===================== ==");
Output :
20 aLink.displayLink();
System.out.println("\n"); theQueue.display(); System.out.println(""); }
Kuis Implementasi Queue
class QueueLinkList{ private item front; queue is Empty ^_^");
} else
public class QuisStrukturData {
public static void main(String[] args) {
QueueLinkList theQueue = new QueueLinkList();
System.out.println("Inserting queue's items.."); System.out.println("Display Queue :");
Output :
22 theQueue.display();
System.out.print("Delete 15"); theQueue.dequeue();
System.out.print("\n"); theQueue.display();
System.out.print("Delete 12"); theQueue.dequeue();
System.out.print("\n"); theQueue.display();
System.out.print("Insert 27"); theQueue.enqueue(27); System.out.print("\n"); theQueue.display();
System.out.println("Display Queue :");
System.out.println("========= ===================== ==");
theQueue.display();