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;
}
22
public void sisipDataDiAkhir(int data) { Node pSblAkhir, pAkhir;
75
public void hapusData(int dataHapus) { Node rem = pointer;
public static SingleLinkedList gabung(SingleLinkedList L1, SingleLinkedList L2) {
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
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
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
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
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