Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword or section
Like this
31Activity
P. 1
linked list

linked list

Ratings:

4.0

(1)
|Views: 4,549|Likes:
Published by RcKZ

More info:

Categories:Types, School Work
Published by: RcKZ on Jun 21, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

06/29/2013

pdf

text

original

 
POLITEKNIK ELEKTRONIKA NEGERI SURABAYAINSTITUT TEKNOLOGI SEPULUH NOPEMBER 
SINGLE LINKED LISTI.Tujuan
1.
Memahami pengertian
linked list 
, gunanya dan dapatmengimplementasikan dalampemrograman
2.
Dapat mengidentifikasi permasalahan-permasalahanpemrograman yang harus diselesaikan denganmenggunakan
linked list 
, sekaligus menyelesaikannya
II.Dasar Teori
Pengolahan data yang kita lakukan menggunakan komputer seringkalimirip dengan ilustrasi di atas, yang antara lain berupa penyimpanan data danpengolahan lain dari sekelompok data yang telah terorganisir dalamsebuah urutan tertentu. Salah satu cara untuk menyimpan sekumpulandata yang kita miliki adalah menggunakan array. Telah kita bicarakan dalambagian sebelumnya, keuntungan dan kerugian pemakaian array untukmenyimpan sekelompok data yang banyaknya selalu berubah dan tidakdiketahui dengan pasti kapan penambahan atau penghapusan akanberakhir.
Single Linked List
Single linked list 
atau biasa disebut linked list terdiri dari elemen-elemen individu, dimana masing-masing dihubungkan dengan pointer tunggal. Masing-masing elemen terdiri dari dua bagian, yaitu bagiandata/informasi yang disimpan dan bagian pointer yang disebut dengan pointer 
next 
. Dengan menggunakan struktur 
two-member 
seperti ini, linked listdibentuk dengan cara mengarahkan pointer 
next 
dari suatu elemen keelemen yang mengikutinya seperti gambar 2.2. Pointer 
next 
padaelemen terakhir merupakan NULL, yang menunjukkan akhir dari suatulist. Elemen pada awal suatu list disebut
head 
, dan elemen terakhir dari suatulist disebut
tail 
.Untuk mengakses elemen dalam linked list, dimulai dari head danmenggunakan pointer next dari elemen selanjutnya untuk berpindah darielemen ke elemen berikutnya sampai elemen yang diminta dicapai. Dengan
1
 
POLITEKNIK ELEKTRONIKA NEGERI SURABAYAINSTITUT TEKNOLOGI SEPULUH NOPEMBER 
single linked list, list dapat dilintasi hanya satu arah dari head ke tail karenamasing-masing elemen tidak terdapat link dengan elemen sebelumnya.Sehingga, apabila kita mulai dari head dan berpindah ke beberapa elemendan berharap dapat mengakses elemen sebelumnya, kita harus mulai darihead. Secara konseptual, linked list merupakan deretan elemen yangberdampingan. Akan tetapi, karena elemen-elemen tersebutdialokasikan secara dinamis (menggunakan
malloc 
), sangat pentinguntuk diingat bahwa kenyataannya, linked list akan terpencar-pencar lokasinya di memori seperti Gambar 2.3. Pointer dari elemen keelemen (pointer 
next 
) berarti sebagai penjamin bahwa semua elemen dapatdiakses.
Representasi Simpul (
Node
)
Struktur node pada linked list merupakan suatu simpul(node) yangberisi pointer ke suatu data yang merupakan data dirinya sendiri. Modelstruktur dari linked list tersebut dalam C adalah sebagai berikut:typedef struct data_int Node;struct data_int {int data;Node *next;};Dalam hal ini, tipe Node berisi :Informasi berupa data, sertaPointer bernama next yang menunjuk ke obyek bertipe Nodedilanjutkan dengan deklarasi global dari pointer ke struktur (pointer tostruct) di atas sebagaiberikut:Node *head = NULL;Node *p;Dengan adanya pendeklarasian head sebagai sebuah variabel bertipe pointer yang menunjuk ke obyek bertipe Node) melalui pernyataan:Node *head = NULL;maka head akan berisi NULL (artinya linked list belum memiliki simpul)Catatan : NULL adalah konstanta yang didefinisikan pada file stdio.hSelain itu juga dideklarasikan variabel p sebagai sebuah pointer to Node juga (tanpa inisialisasi) yang akan digunakan sebagai pointer yang menunjukkepada simpul yang akan dibuat. Pembentukan simpul pertama dilakukanmelaui serangkaian pernyataan berikut :
2
 
POLITEKNIK ELEKTRONIKA NEGERI SURABAYAINSTITUT TEKNOLOGI SEPULUH NOPEMBER 
1) p = (Node *) malloc(sizeof(Node));2) p->data = 11511;3) p->next = NULL;4) head = p;
Delete Dalam single LINKED LIST
Fungsi delete pada linked list meliputi :-delete simpul pertama (head) dari linked list-delete setelah simpul tertentu-delete simpul terakhi
Penghapusan Simpul Pertama:
Algoritma:
cari node yang akan di hapus dengan node hapus
sambung linked list dengan mengarahkan head->next=hapus->next,sehingga linked list tidak putus
hapus data denga free(hapus) dan set hapus=NULL.
Penghapusan Setelah Simpul Tertentu
Untuk melakukan delete setelah node tertentu dari linked list diperlukan duabuah pointer bantuan berupa pointer after sebagai penanda node yang akandihapus setelahnya dan pointer hapus untuk menandai simpul yang akandihapus.Alogoritma:
cari node yang akan dihapu dengan node hapus
cek data terakhie dengan mengeset while(hapus->next!=NULL),jikahapus next->=NULL maka delete awal, jika tidak maka terus cekhingga ketemu hapus->next=NULL.
set prev=hapus,agar saat looping prev menyimpan alamat hapus yangsebelumnya.
sambung Linked List dengan prev->next=NULL,lalu hapus denganfree(hapus),hapus=NULL.
Penghapusan Simpul Terakhir 
Untuk melakukan delete node terakhir dari linked list diperlukan dua buahpointer bantuan berupa pointer prevhapus sebagai penanda node yang
3

Activity (31)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
Khakim Ma'ruf liked this
Reja Ice liked this
Nyky Zaols Surya liked this
James Manoso liked this
Agus Oka Gunawan liked this
Arief Htcd liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->