• Tidak ada hasil yang ditemukan

Laporan Bab 5 Algoritma dan Struktur Data Semester 3

N/A
N/A
Protected

Academic year: 2017

Membagikan "Laporan Bab 5 Algoritma dan Struktur Data Semester 3"

Copied!
9
0
0

Teks penuh

(1)

LABORATORIUM PEMBELAJARAN ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER

UNIVERSITAS BRAWIJAYA

BAB

: SINGLE LINKED LIST

NAMA

: M SATRIA PUTRA UTAMA

NIM

: 155150207111168

TANGGAL : 15/10/2016

ASISTEN

: ILHAM ROMADHONA

A.

DEFINISI MASALAH

Lengkapi bagian program diatas sehingga akan menghasilkan keluaran sebagai berikut:

l : LL Asal

16->5->14->30->2->11->NULL l : LL setelah sisip di akhir 16->5->14->30->2->11->56->NULL 16

l : LL setelah dihapus di depan 5->14->30->2->11->56->NULL LL setelah 30 dihapus 5->14->2->11->56->NULL L2 : LL terurut

21->16->12->9->5->3->1->NULL L3 : L gabungan L1 dan L2

5->14->2->11->56->21->16->12->9->5->3->1->NULL

B.

SOURCE CODE

SingleLinkedList.java 1

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

package asdpraktikum;

/** *

* @author M Satria Putra Utama */

class Node {

int data; Node next; }

public class SingleLinkedList {

private Node pointer; // contructor LL

public SingleLinkedList() { pointer = null;

}

(2)

22

public void sisipDataDiAkhir(int data) { Node pSblAkhir, pAkhir;

(3)

75

public void hapusData(int dataHapus) { Node rem = pointer;

public static SingleLinkedList gabung(SingleLinkedList L1, SingleLinkedList L2) {

(4)

126

SingleLinkedList L3 = SingleLinkedList.gabung(l, l2); L3.cetak("L3 : L gabungan L1 dan L2");

} }

C.

PEMBAHASAN

SingleLinkedList.java

Nama package asdpraktikum Comment

Comment Comment Comment

Deklarasi class bernama Node

Deklarasi variabel data bertipe integer Instansiasi objek next dari kelas Node Parsing

Deklarasi class bernama SingleLinkedList yang bersifat public Instansiasi objek pointer dari kelas Node dan bersifat private Comment

Constructor yang bersifat public dan tidak memiliki parameter Memberi nilai pada variabel pointer yaitu null

Parsing Comment

(5)

24

Instansiasi Objek class Node bernama nodeBaru

Nilai variabel data yang dipanggil nodeBaru adalah sama dengan nilai dari parameter dt

Nilai variabel next yang dipanggil nodeBaru adalah sama dengan nilai dari variabel pointer

Nilai dari variabel pointer adalah sama dengan nilai dari objek nodeBaru Parsing

Comment

Deklarasi method bernama sisip yang bertipe boolean dan bersifat public serta memiliki parameter dt1 dan dt2 yang keduanya bertipe integer

Instansiasi bernama n dari kelas Node dan memiliki nilai dari variabel pointer

Deklarasi perulangan while yang dimana akan terus berulang jika nilai n tidak sama dengan null dan nilai data yang dipanggil n tidak sama dengan nilai parameter dt2 Nilai n sama dengan nilai next yang dipanggil n

Parsing

Deklarasi seleksi kondisi if yang jika n sama dengan null maka Mengembalikan nilai false

Parsing

Instansiasi objek class Node bernama nn

Nilai data yang dipanggil nn sama dengan nilai parameter dt1

Nilai next yang dipanggil nn sama dengan nilai next yang dipanggil n Nilai next yang dipanggil n sama dengan nilai dari objek nn

Mengembalikan nilai true Parsing

Comment

Deklarasi method bernama hapusDiDepan bertipe integer dan bersifat public serta tidak memiliki parameter

Instansiasi objek hapus Node dan memiliki nilai dari pointer Nilai pointer sama dengan nilai next yang dipanggil pointer Mengembalikan nilai dari data yang dipanggil oleh hapus Parsing

Deklarasi method sisipDataDiAkhir yang tidak mengembalikan nilai dan bersifat public serta memiliki parameter data yang bertipe integer

Instansiasi objek pSblAkhir dan pAkhir yang keduanya dari kelas Node Nilai pSblAkhir sama dengan null

Nilai pAkhir sama dengan nilai dari pointer Instansiasi objek dari class Node bernama baru

Nilai data yang dipanggil oleh baru sama dengan nilai dari data Nilai next yang dipanggil oleh baru sama dengan null

Deklarasi perulangan while yang akan terus berulang jika nilai pAkhir tidak sama dengan null

Nilai pSblAkhir sama dengan nilai dari pAkhir

Nilai pAkhir sama dengan nilai next yang dipanggil oleh pAkhir Parsing

(6)

67

68 69 70 71 72 73 74 75

76

77 78 79 80 81 82 84 85 88 90

91 92 93 94

95

97 99

100 101 103

104 105

106 107

108

Deklarasi method bernama sisipDataUrut yang tidak mengembalikan nilai dan bersifat public serta memiliki parameter data bertipe integer

Instansiasi objek bernama x dari kelas Node Deklarasi variabel bernama o bertipe integer

Instansiasi objek dari class Node bernama sementara

Nilai data yang dipanggil oleh sementara sama dengan nilai data Nilai next yang dipanggil oleh sementara sama dengan nilai pointer Nilai pointer sama dengan nilai dari objek sementara

Nilai x sama dengan nilai dari pointer

Deklarasi perulangan while yang akan terus berulang jika nilai next yang dipanggil x tidak sama dengan null

Deklarasi seleksi kondisi if yang jika nilai data yang dipanggil oleh x kurang dari nilai next.data yang dipanggil oleh x maka

Nilai dari o sama dengan nilai next.data yang dipanggil oleh x

Nilai next.data yang dipanggil oleh x sama dengan nilai data yang dipanggil oleh x Nilai data yang dipanggil oleh x sama dengan nilai dari variabel o

Nilai dari x sama dengan nilai dari next yang dipanggil oleh x Deklarasi seleksi kondisi else yang jika lainnya maka

Nilai x sama dengan nilai dari next yang dipanggil oleh x Parsing

Parsing Parsing

Deklarasi method bernama hapusData yang tidak mengembalikan nilai dan bersifat public serta memiliki parameter dataHapus bertipe integer

Instansiasi objek rem dari kelas Node dan memiliki nilai dari variabel pointer Deklarasi perulangan do yang artinya jalankan

Nilai rem sama dengan nilai next yang dipanggil oleh rem

Deklarasi perulangan while yang akan terus berulang jika nilai rem tidak sama dengan null dan nilai next.data yang dipanggil rem tidak sama dengan nilai dari parameter dataHapus

Nilai next yang dipanggil oleh rem sama dengan nilai next.next yang dipanggil oleh rem

Parsing

Deklarasi method bernama getPointer bertipe Node dan bersifat public serta tidak memiliki parameter

Mengembalikan nilai dari pointer Parsing

Deklarasi method bernama gabung bertipe SingleLinkedList dan bersifat public static serta memiliki parameter L1 dan L2 yang keduanya bertipe SingleLinkedList

Instansiasi objek dari class SingleLinkedList bernama x

Instansiasi objek bernama satu dari kelas Node dan bernilai getPointer yang dipanggil oleh L1

Instansiasi objek bernama dua dari kelas Node dan bernilai getPointer yang dipanggil oleh L2

Deklarasi perulangan do yang artinya jalankan

(7)

109

Deklarasi perulangan while yang akan terus berulang jikan nilai next yang dipanggil oleh satu tidak sama dengan null

Nilai next yang dipanggil oleh satu sama dengan nilai dari objek dua Mengembalikan nilai dari L1

Parsing Comment

Deklarasi method bernama cetak yang tidak mengembalikan nilai dan bersifat public serta memiliki paramtere kom bertipe String

Mencetak dengan menggunakan println dengan isi dari parameter kom Instansiasi objek n dari kelas Node dan memiliki nilai dari pointer

Deklarasi perulangan while yang akan terus berulang jika nilai n tidak sama dengan null

Mencetak dengan print dengan isi nilai data yang dipanggil n + “->” Nilai dari n sama dengan nilai next yang dipanggil oleh n

Parsing Parsing

Main method public static void

Instansiasi objek l dari kelas SingleLinkedList

Objek l memanggil method buatNode dan diberi parameter 11 Objek l memanggil method buatNode dan diberi parameter 2 Objek l memanggil method buatNode dan diberi parameter 30 Objek l memanggil method buatNode dan diberi parameter 14 Objek l memanggil method buatNode dan diberi parameter 5 Objek l memanggil method buatNode dan diberi parameter 16

Objek l memanggil method sisipDataDiAkhir dan diberi parameter 56

Objek l memanggil method cetak dan diberi parameter “l : LL setelah sisip di akhir” Mencetak dengan println dengan isi objek l yang memanggil method hapusDiDepan tanpa memberinya parameter

Objek l memanggil method cetak dan diberi parameter “ l : LL setelah dihapus di depan”

Objek l memanggil method hapusData dan diberi parameter 30

Objek l memanggil method cetak dan diberi parameter “LL setelah 30 dihapus” Instansiasi objek l2 dari kelas SingleLinkedList

Objek l2 memanggil method sisipDataUrut dan diberi parameter 5 Objek l2 memanggil method sisipDataUrut dan diberi parameter 1 Objek l2 memanggil method sisipDataUrut dan diberi parameter 21 Objek l2 memanggil method sisipDataUrut dan diberi parameter 3 Objek l2 memanggil method sisipDataUrut dan diberi parameter 9 Objek l2 memanggil method sisipDataUrut dan diberi parameter 16 Objek l2 memanggil method sisipDataUrut dan diberi parameter 12 Instansiasi objek L3 dari kelas SingleLinkedList

Objek L3 memanggil method cetak dan diberi parameter “L3 : L gabungan L1 dan L2” Parsing

(8)

D.

SCREENSHOT PROGRAM

E.

KESIMPULAN

- Node adalah suatu objek yang mereferensikan dirinya sendiri yang dihubungkan dengan links sehingga membentuk suatu list yang berhubungan atau biasa disebut dengan LinkedList

Contoh diatas adalah 4 Node yang saling berhubungan sehingga membentuk Single Linked List

- Pointer adalah suatu penunjuk yang berfungsi untuk menunjuk alamat suatu lokasi dari data tertentu dan akan bernilai null jika tidak ada data yg dapat ditunjuk

(9)

Referensi

Dokumen terkait

Pada kenyataan yang sebenarnya, variabel pointer berisi alamat dari suatu obyek lain (yaitu obyek yang dikatakan ditunjuk oleh pointer).. Sebagai contoh, px adalah variabel pointer

 struct Node* temp = head; yaitu memanggil/mengalokasikan alamat/link tiap simpul yang baru akan disisipkan dimana alamat tersebut diinisialisasikan menjadi kepala atau head.. 

2.) Tukar nilai tersebut dengan nilai pada posisi pertama di bagian struktur data yang belum diurutkan. 3.) Ulangi langkah di atas untuk bagian struktur data yang tersisa...

{F.S. X adalah nilai elemen TOP yang lama, TOP berkurang 1} S: Stack; input Number: integer) {Mengkonversi Number kedalam representasi bilangan biner}.. {F.S. Menuliskan ke layar

Kalau head tidak bernilai NULL alias telah dimiliki satu atau lebih node, yang pertama dilakukan adalah menghubungkan pointer next dari node aktif (curr) ke node yang baru saja

Dengan input berupa data elevasi pasut di Pangkep hasil peramalan dengan RMA2 selama 1 bulan, maka dengan program “ERGTIDE” dihasilkan parameter amplitudo and beda fasa