linked list

Click here to load reader

Post on 15-Dec-2015

26 views

Category:

Documents

4 download

Embed Size (px)

DESCRIPTION

Contoh Makalah Algoritma dan Struktur Data

TRANSCRIPT

  • 1

    MAKALAH

    ALGORITMA DAN STRUKTUR DATA

    LINKED LIST(SENARAI)

    DISUSUN OLEH :

    MAYONG ADI WARDANA

    NIM : D41113008

    TEKNIK ELEKTRO

    UNIVERSITAS HASANUDDIN

    MAKASSAR

    2015

  • 2

    KATA PENGANTAR

    Puji syukur kehadirat Tuhan Yang Maha Kuasa atas segala limpahan Rahmat

    dan Izinnyalah sehingga saya dapat menyelesaikan penyusunan makalah yang

    berjudul LINKED LIST walaupun bentuk dan isinya sangat sederhana.

    Semoga adanya makalah ini kita dapat memahami penggunaan array dalam

    algoritma pemrograman bahasa komputer. Selain itu dengan adanya makalah ini

    pembaca dapat menjadikannya sebagai acuan pengembangan pengetahuan baru

    tentang SENARAI.

    Dalam penyusunan makalah yang berjudul LINKED LIST ini saya

    mendapat berbagai rintangan yang Alhamdulillah dapat terselesaikan juga. Ini

    semua berkat bantuan dosen pembimbing yang telah bersedia memberikan

    pemahaman yang tepat tentang array dan teman kelompok satu yang telah

    memberikan pemahamannya tentang senarai. Terima kasih banyak untuk teman

    kelompok satu, serta terima kasih banyak untuk dosen pembimbing.

    Makalah yang saya buat ini pastinya masih memiliki banyak kekurangan.

    Oleh karena itu saya harapkan para pembaca dapat memberikan masukan-

    masukan yang bersifat membangun demi penyempurnaan makalah ini.

    19 Mei 2015

    (Mayong Adi Wardana)

    NIM : D41113003

  • 3

    BAB I

    PENDAHULUAN

    Dalam suatu linear list kita dapat melakukan operasi penyisipan atau penghapusan

    atas elemen-elemennya pada sembarang posisi.

    Misalkan ada 1500 item yang merupakan elemen dari suatu linear list.

    Jika elemen ke-56 akan kita keluarkan, maka elemen ke-1 s/d elemen ke-55 tidak

    akan berubah posisinya pada linear list tersebut. Tetapi elemen ke-57 akan

    menjadi elemen ke-56, elemen ke-58 akan menjadi elemen ke-57 dst.

    Selanjutnya, jika kita sisipkan satu elemen pada posisi setelah elemen ke-41, maka

    elemen ke-42 s/d elemen ke-1500 akan berubah posisinya.

    Untuk menyatakan keadaan diatas diperlukan suatu konsep yang berbeda dengan

    konsep sekuensial sebelumnya.

    Linked list merupakan suatu cara non-sekuensial yang digunakan untuk

    merepresentasikan suatu data.Struktur data adalah cara menyimpan atau

    merepresentasikan data di dalam komputer agar bisa dipakai secara efisien

    Sedangkan data adalah representasi dari fakta dunia nyata. Fakta atau keterangan

    tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk

    tulisan, suara, gambar, sinyal atau symbol. Secara garis besar type data dapat

    dikategorikan menjadi :

    1. Type data sederhana

    a. Type data sederhana tunggal, misalnya Integer, real, boolean dan karakter

    b. Type data sederhana majemuk, misalnya String

    2. Struktur Data, meliputi

    a. Struktur data sederhana, misalnya array dan record

    b. Struktur data majemuk, yang terdiri dari Linier : Stack, Queue, serta List dan

    Multilist Non Linier : Pohon Biner dan Graph

    Pemakaian struktur data yang tepat di dalam proses pemrograman akan

    menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program

    secara keseluruhan lebih efisien dan sederhana. Struktur data yang standar yang

    biasanya digunakan dibidang informatika adalah :

  • 4

    List linier (Linked List) dan variasinya

    Multilist

    Stack (Tumpukan)

    Queue (Antrian)

    Tree ( Pohon )

    Graph ( Graf )

    Adapun bahasa yang digunakan pada metode sorting ini ialah bahasa C. Dalam

    hal ini, penulis menggunakan aplikasi Notepad++. Adapun langkah-langkah

    penggunaannya ialah sebagai berikut:

    a. Siapkan aplikasi Notepad++ terlebih dahulu.

    b. Buka aplikasi Notepad++.

    c. Buatlah suatu program. Dalam suatu program sudah terdapat fungsi mulai dari

    fungsi global sampai fungsi lokal. Dalam sebuah fungsi, di dalam nya sudah

    termasuk variable, konstanta, masukkan dan lain sebagainya.

    d. Apabila program telah dibuat, maka simpan program tersebut dengan format

    file.c.

    e. Setelah program tersimpan, maka compile (jalankan) program tersebut dengan

    format gcc o file file.c atau gcc file.c o file.exe. kemudian tunggu

    beberapa saat hingga dapat melakukan eksekusi program file.exe

    f. Setelah program dijalankan, maka selesai proses mengcompile program.

    1.1 Latar Belakang

    Kajian struktur data merupakan kajian yang sangat penting dalam bidang

    informatika. Dan di zaman sekarang ini yang teknologinya semakin berkembang,

    dibutuhkan struktur data yang efisien yang dapat meningkatkan kinerja program.

    Salah satu bentuk struktur data yang berisi kumpulan data yang tersusun

    secara sekuensial, saling bersambungan, dinamis dan terbatas adalah linked list

    (senarai berkait). Suatu linked list adalah suatu simpul (node) yang dikaitkan

    dengan simpul yang lain dalam suatu urutan tertentu. Suatu simpul dapat

    berbentuk suatu struktur atau class. Simpul harus mempunyai satu atau lebih

    elemen struktur atau class yang berisi data.

  • 5

    Secara teori, linked list adalah sejumlah node yang dihubungkan secara linier

    dengan bantuan pointer. Dikatakan single (singly) linked apabila hanya ada satu

    pointer yang menghubungkan setiap node. single artinya field pointer-nya hanya

    satu buah saja dan satu arah.

    Linked list adalah struktur data yang paling dasar. Linked list terdiri atas

    sejumlah unsur-unsur dikelompokkan, atau terhubung, bersama-sama di suatu

    deret yang spesifik. Linked list bermanfaat di dalam memelihara koleksi-koleksi

    data, yang serupa dengan array. Bagaimanapun juga, linked list dan array

    mempunyai perbedaan. Memakai Linked list lebih bagus dibandingkan dengan

    array/larik baik dalam banyak hal. Secara rinci, linked list lebih efisien di dalam

    melaksanakan penyisipan-penyisipan dan penghapusan-penghapusan. Linked list

    juga menggunakan alokasi penyimpanan secara dinamis, yang merupakan

    penyimpanan yang dialokasikan pada runtime. Karena di dalam banyak aplikasi,

    ukuran dari data itu tidak diketahui pada saat kompile, hal ini bisa merupakan

    suatu atribut yang baik juga. Setiap node akan berbentuk struct dan memiliki satu

    buah field bertipe struct yang sama, yang berfungsi sebagai pointer. Dalam

    menghubungkan setiap node, kita dapat menggunakan cara first-create-first-access

    ataupun first-create-last-access. Yang berbeda dengan deklarasi struct sebelumnya

    adalah satu field bernama next, yang bertipe struct tnode. Hal ini sekilas dapat

    membingungkan. Namun, satu hal yang jelas, variabel next ini akan

    menghubungkan kita dengan node di sebelah kita, yang juga bertipe struct tnode.

    Hal inilah yang menyebabkan next harus bertipe struct tnode.

    Secara umum linked list dibedakan atas 2 macam, yaitu :

    1. Single Linked List

    2. Double Linked List

    Pada makalah ini kami akan menjelaskan Single linked list non circular

    Menambah Dibelakang.

  • 6

    1.1.1 Latar Belakang Single Linked List NON Circular (SLLNC)

    Dikembangkan tahun 1955-1956 oleh Allen Newell, Cliff Shaw dan Herbert

    Simon di RAND Corporation sebagai struktur data utama untuk bahasa

    Information Processing Language (IPL).

    IPL dibuat untuk mengembangkan program artificial intelligence, seperti

    pembuatan Chess Solver.

    Victor Yngve di Massachusetts Institute of Technology (MIT) juga menggunakan

    linked list pada natural language processing dan machine transitions pada bahasa

    pemrograman COMMIT.

    Linked List adalah salah satu bentuk struktur data, berisi kumpulan data (node)

    yang tersusun secara sekuensial, saling sambung-menyambung, dinamis dan

    terbatas.

    Linked List sering disebut juga Senarai Berantai

    Linked List saling terhubung dengan bantuan variabel pointer

    Masing-masing data dalam Linked List disebut dengan node (simpul) yang

    menempati alokasi memori secara dinamis dan biasanya berupa struct yang terdiri

    dari beberapa field.

    1.2 Rumusan Masalah

    Apakah pengertian Linked List Non Circular

    Implementasi (dalam program) Linked List Non Circular

    1.3 Tujuan

    Mahasiswa dapat memahami Single Linked List Non Circular

    Mahasiswa dapat menerapkan Single Linked List Non Circular

  • 7

    BAB II

    PEMBAHASAN

    2.1 Pengertian Single Linked List Non Circular

    Pengertian:

    Single : artinya field pointer-nya hanya satu buah saja dan satu arah serta pada

    akhir node, pointernya menunjuk NULL

    Linked List : artinya node-node tersebut saling terhubung satu sama lain.

    Setiap node pada linked list mempunyai field yang berisi pointer ke node

    berikutnya, dan juga memiliki field yang berisi data.

    Node terakhir akan menunjuk ke NULL yang akan digunakan sebagai kondisi

    berhenti pada saat pembacaan isi linked list..

    2.2 Proses Pembuatan Single Linked List Non Circular

  • 8

    a. Pembuatan sebuah struct

    typedef struct TNode {

    int data;

    TNode *next;

    };

    b. Pembuatan variabel pointer Head

    Head yang akan selalu menunjuk pada node pertama

    TNode *head

    c. Membuat fungsi inisialisasi single linked list

    Void init()

    {

    head=NULL;

    }

    d. Membuat fungtion u