ADT Dinamis : Singly Linked List & Soubly Linked List

  • View
    87

  • Download
    2

Embed Size (px)

DESCRIPTION

ADT Dinamis : Singly Linked List & Soubly Linked List. Konsep Dasar List (Senarai). Konsep Dasar List (Senarai). Dari konsepnya, list dapat didefinisikan sebagai urutan dinamis (dynamic ordering) dari :. L = (l 1 , l 2 , ….., l n ). Di mana l1 adalah elemen yang ke-i pada List. - PowerPoint PPT Presentation

Text of ADT Dinamis : Singly Linked List & Soubly Linked List

  • ADT Dinamis : Singly Linked List & Soubly Linked List

  • Konsep Dasar List (Senarai)

    *

    Konsep Dasar List (Senarai)Dari konsepnya, list dapat didefinisikan sebagai urutan dinamis (dynamic ordering) dari :

    L = (l1, l2, .., ln)Di mana l1 adalah elemen yang ke-i pada List.Penggunaan kata dinamis memberi tekanan bahwa elemen-elemen dalam List nilainya dan jumlahnya dapat berubah-ubah.

    *

    Konsep Dasar List (Senarai)L = (l1, l2, .., ln)Elemen yang pertama pada list disebut head ListElemen yang terakhir dirujuk sebagai ekor (tail) ListJumlah elemen ditulis sebagai | L | yang juga dirujuk sebagai panjang listMaka list kosong direpresentasikan sebagai (), memiliki panjang (). Sehingga list di atas memiliki |L| = nJika semua elemen bertipa sama homogen, berbeda heterogen

    *

    Konsep Dasar List (Senarai)L = ((3), (4, 2, 5), (12, 7, (8, 4), 1), 0)ADT List di atas memiliki 4 elemenElemen 1 : bilangan bulat bernilai 3Elemen 2 : list dengan elemen bilangan bulat (4,2,5)Elemen 3 : bilangan bulat 12,7, list (8,4), dan 0Elemen 4 : 0

    *

    Struktur Alokasi Memori Komputer RAMHeap : bagian memori yang belum dialokasikan atau belum digunakan oleh sistem operasiProgram residen : berisi program-program residen (program yang menetap dalam memori misal antivirus, driver, mouse, dsb)

    Umumnya, List akan disimpan dalam bagian memori sebagai Heap

    *

    Terapan ListAda berbagai terapan List, di antaranya : Singly-Linked ListList berkait tunggalDoubly-Linked ListList berkait ganda

    Beberapa fungsi dalam terapan List : Insert() / add()Remove()

    *

    Singly-Linked List

    *

    Permasalahan penerapan linked-list pada JavaSeperti telah diketahui, ADT berbasis node menyimpan data dalam bentuk simpul (node) pada suatu ListKita dapat membayangkan : Node adalah elemen yang memiliki satu atau lebih pointerPointer digunakan untuk menunjukkan ke elemen lainnyaMasalah : Java tidak mengenal terminologi pointer

    *

    SolusiKarena tidak mengenal pointer perlakukan objek sebagai pointer Sehingga di Java, struktur node memiliki elemen data yang merujuk ke node lain2 macam node : Parent nodeChild node

    *

    Class Java untuk Struktur Data Singly-Linked ListUntuk implementasi Singly-Linked List, setidaknya kita perlu 2 struktur class : Class untuk satu child-nodeDlm matkul ini diberi nama : onenodeoneptrClass untuk menghubungkan tiap child node Dlm matkul ini diberi nama : linkedonenodeondeptr

    *

    Metoda pada class onenodeoneptrBerisi metode-metode get dan set terhadap nilai-nilai pada node

    Nilai yang ada pada node yaitu : DataMetoda untuk set : setDatanode() Metoda untuk get : getDatanode()

    1 Pointer ke node lainMetoda untuk set : setPointerkenodeberikut()Metoda untuk get : getPointerkenodeberikut()

    *

    Variabel pada onenodeoneptr

    *

    Konstruktor onenodeoneptr

    *

    Metoda set pada onenodeoneptr

    *

    Metoda get pada onenodeoneptr

    *

    Mengubah nilai data ke bentuk String pada onenodeoneptr

    *

    Metoda pada class linkedonenodeoneptrMengecek node kosong ato tidak apaKosong()Menentukan banyaknya node banyaknyaNode()Menambah node baru di awal tambahdiawal()Menghapus node di awal hapusdiawal()Menambah node di akhir tambahdiakhir()Menghapus node di akhir hapusdiakhir()Ambil nilai di node ambilNilai()

    *

    Variable pada linkedonenodeoneptr

    *

    Konstruktor pada linkedonenodeoneptr

    *

    apaKosong() & banyaknyaNode()

    *

    tambahdiawal()

    *

    hapusdiawal()

    *

    tambahdiakhir()

    *

    hapusdiakhir()

    *

    ambilNilai()

    *

    Pengujian linkedonenodeoneptr (1)

    *

    Pengujian linkedonenodeoneptr (1)

    *

    Doubly-Linked List

    MINGGU DEPAN