📕Praktikum 1
Deksripsi
Pada praktikum 1 ini akan dibuat class Node
dan class DoublyLinkedList
yang didalamnya terdapat operasi-operasi untuk menambahkan data dengan beberapa cara (dari bagian depan linked list, belakang ataupun indeks tertentu pada linked list).
Class diagram berikut merupakan acuan utama untuk class Node
dan DoublyLinkedList
Langkah Percobaan
Buatlah projek baru.
Buat kelas
Node
.Tambahkan atribut berikut pada kelas
Node
.
Tambahkan konstruktor untuk kelas
Node
.
Buat kelas
DoublyLinkedList
.Pada kelas tersebut, tambahkan atribut berikut,
Selanjutnya, buatlah konstruktor untuk kelas
DoublyLinkedList
.
Tambahkan method
isEmpty()
.
Kemudian, buat method
addFirst()
. Method ini akan menjalankan penambahan data di bagian depan linked list.
Selain itu pembuatan method
addLast()
akan menambahkan data pada bagian belakang linked list.
Untuk menambahkan data pada posisi yang telah ditentukan dengan indeks, dapat dibuat dengan method
add(int item, int index)
.
Jumlah data yang ada di dalam linked lists akan diperbarui secara otomatis, sehingga dapat dibuat method
size()
untuk mendapatkan nilai dari size.
Selanjutnya dibuat method
clear()
untuk menghapus semua isi linked lists, sehingga linked lists dalam kondisi kosong.
Untuk mencetak isi dari linked lists dibuat method
print()
. Method ini akan mencetak isi linked lists berapapun size-nya. Jika kosong akan dimunculkan suatu pemberitahuan bahwa linked lists dalam kondisi kosong.
Selanjutya dibuat class
DoublyLinkedListMain
untuk mengeksekusi semua method yang ada pada classDoublyLinkedList
.Isikan kode berikut pada method main.
Verifiaksi Hasil Praktikum
Verifikasi hasil kompilasi kode program Anda dengan gambar berikut ini.
Pertanyaan
Jelaskan perbedaan antara single linked list dengan doubly linked lists!
Perhatikan class Node, di dalamnya terdapat atribut
next
danprev
. Untuk apakah atributtersebut?
Perhatikan konstruktor pada class
DoublyLinkedList
. Apa kegunaan inisialisasi atributhead
dansize
?Pada method
addFirst()
, mengapa dalam pembuatan objek dari konstruktor class Node prev dianggap sama dengan null?head = new Node(null, data, null);
Perhatikan pada method
addFirst()
. Apakah arti statementhead.prev = newNode
?Perhatikan isi method
addLast()
, apa arti dari pembuatan objek Node dengan mengisikan parameterprev
dengancurrent
, dannext
dengannull
?Node newNode = new Node(current, data, null);
Pada method add(), terdapat potongan kode program sebagai berikut. Jelaskan maksud dari potongan kode tersebut.
Last updated