• Tidak ada hasil yang ditemukan

Laporan Praktikum Struktur Data Dengan J (1)

N/A
N/A
Protected

Academic year: 2018

Membagikan "Laporan Praktikum Struktur Data Dengan J (1)"

Copied!
22
0
0

Teks penuh

(1)

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);

(2)

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;

(3)

\\

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);

(4)

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)

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) {

(6)

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

}

(7)

Output Run :

(8)

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.");

(9)

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();

(10)

 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){

(11)

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)); }

(12)

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();

(13)

 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 :");

(14)

Output : (Backward)

(15)

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(""); }

(16)

Output :

(17)

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");

(18)

Output :

18 System.out.println("========= ===================== ==");

while(!theStack.IsEmpty()) { item aLink = theStack.pop(); System.out.print("Deleted"); aLink.displayLink();

System.out.println(""); }

theStack.display(); }

(19)

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("========= ===================== ==");

(20)

Output :

20 aLink.displayLink();

System.out.println("\n"); theQueue.display(); System.out.println(""); }

(21)

 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 :");

(22)

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();

Referensi

Dokumen terkait

calabura yang diinokulasi FMA indigen menunjukkan pertumbuhan tinggi, diameter batang, biomassa, indeks mutu bibit dan serapan P yang lebih tinggi dari pada semai yang tidak

Alternatively, a subset of sexu- ally naive castrated male hamsters may have strong preferences for the odors of estrous females prior to the first mating test; perhaps only those

Tujuan dari makalah ini yaitu Untuk mengetahui pengaruh pemekaran wilayah terhadap jumlah dan luas area terbangun permukiman di Kota Kotamobagu Sulawesi

Treatment of rabbits with AlCl 3 caused a decrease ( P &lt; 0.05) in the overall means of semen ejaculate volume (EV), sperm concentration, total sperm output (TSO), sperm motility

Dalam konteks bisnis, loyalitas merupakan kesediaan konsumen untuk terus berlangganan pada sebuah perusahaan dalam jangka panjang, dengan membeli dan menggunakan

Nilai t hitung untuk factor assurance sebesar 4,665 lebih besar dari nilai t tabel (1,65) dengan probabilitas sebesar 0,000 lebih kecil dari 0,05, ini menunjukkan

Hal ini tentunya menjadi menarik, karena walaupun tidak ditemukan indikasi kuat adanya keberlanjutan stuktur kanal di sisi selatan Situs Lantai Segi Enam,

Abdul Manan, Beberapa Masalah Hukum Tentang Wasiat Dan Permasalahannya Dalam Konteks Kewenangan Peradilan Agama , Mimbar Hukum Aktualisasi Hukum Islam Nomor 38 Tahun IX, 1998..