Dokumen tersebut membahas mengenai struktur data linked list tunggal (single linked list) secara umum dan khusus. Secara singkat, dokumen tersebut menjelaskan pengertian linked list tunggal beserta ilustrasinya, cara pembuatan struct dan pointer untuk mewakili linked list, serta beberapa fungsi dasar untuk menambah, menghapus, dan menampilkan data pada linked list tunggal.
Dokumen tersebut membahas tentang struktur data linked list, terdiri dari 3 kalimat:
Linked list adalah struktur data yang terdiri dari node-node yang saling terhubung, masing-masing node berisi data dan pointer ke node berikutnya. Dokumen ini menjelaskan konsep single linked list, fungsi-fungsi dasar seperti penambahan, penghapusan, dan penampilan data, serta ilustrasi grafis operasi-operasinya.
Dokumen tersebut membahas konsep pointer dan linked list. Pointer digunakan sebagai penunjuk ke alamat memori, sedangkan linked list adalah struktur data dinamis yang terdiri dari node-node yang saling terhubung menggunakan pointer. Dokumen ini menjelaskan cara membuat dan mengolah linked list tunggal menggunakan pointer head saja atau menggunakan head dan tail.
Dokumen tersebut membahas tentang implementasi stack menggunakan linked list dalam bahasa C++. Terdapat penjelasan tentang konsep dasar linked list dan node. Program tersebut mendemonstrasikan cara membuat, menambah, menampilkan, dan menghapus data pada stack menggunakan linked list dengan menggunakan pointer dan struct.
Dokumen tersebut membahas tentang struktur data single linked list non circular dengan menggunakan pointer head. Dibahas tentang pendefinisian node, pembuatan linked list, serta fungsi-fungsi dasar seperti penambahan dan penghapusan data di depan dan belakang menggunakan pointer head. Kemudian dibahas pula tentang implementasi single linked list non circular menggunakan pointer head dan tail untuk mempermudah penambahan data di belakang tanpa perlu mencari node terakhir.
Double linked list non circular (DLLNC) adalah struktur data yang menghubungkan node secara berantai ke belakang dan ke depan menggunakan dua buah pointer, dimana setiap node memiliki field data dan dua buah pointer yaitu pointer ke node sebelumnya dan selanjutnya. DLLNC dapat dilakukan operasi penambahan, penghapusan, dan penampilan node di depan dan belakang menggunakan pointer head untuk menunjuk node pertama.
Dokumen tersebut membahas tentang struktur data singly linked list secara umum dan khusus, termasuk penjelasan mengenai konsep, tujuan instruksional, abstraksi tipe data, operasi penambahan, penghapusan, dan penyisipan node pada singly linked list baik yang bersifat non-circular maupun circular."
Dokumen tersebut membahas tentang struktur data single linked list circular (SLLC) yang merupakan single linked list dimana pointer next-nya mengarah pada dirinya sendiri sehingga membentuk lingkaran. SLLC membutuhkan pointer head untuk menunjuk ke node pertama dan fungsi-fungsi dasar seperti penambahan, penghapusan, dan pencarian data. Dokumen juga membahas implementasi SLLC dengan menggunakan pointer tail untuk menunjuk node terakhir.
Laporan ini membahas program struktur data linked list dengan bahasa C. Program tersebut melakukan operasi penambahan dan penghapusan node pada linked list tunggal. Terdapat fungsi untuk menambahkan node di depan, belakang, dan tengah list, serta menghapus node berdasarkan nilai. Tulisan ini juga menjelaskan konsep linked list dan array secara umum beserta operasi dasar pada masing-masing struktur data.
Dokumen tersebut membahas tentang struktur data linked list. Terdapat penjelasan tentang konsep dasar linked list, cara kerja, dan implementasinya dalam bahasa pemrograman termasuk penambahan, penghapusan, dan penyisipan node. Juga dibahas metode-metode yang dapat dilakukan pada linked list seperti pengecekan kondisi kosong, pengaksesan ukuran dan data, serta operasi-operasi lainnya.
Double linked list adalah linked list yang memiliki dua pointer sambungan yaitu ke simpul sebelumnya dan berikutnya. Setiap simpul terdiri dari medan data dan dua medan pointer. Operasi yang dapat dilakukan termasuk penyisipan, penghapusan, dan pencarian di berbagai posisi dengan memanfaatkan dua arah pointer.
Dokumen tersebut membahas tentang struktur data graf dan tree. Graf didefinisikan sebagai kumpulan simpul yang dihubungkan oleh sisi, sedangkan tree adalah struktur data hierarkis non-linear yang menghubungkan root dengan anak-anaknya. Dokumen ini juga membedah jenis-jenis graf dan operasi pada tree serta graf.
This document analyzes the Inception teaser trailer through a discussion of the codes and signifiers present. It notes that shots of motorbikes, helicopters, partying with alcohol and women connote themes of action, wealth, and masculine dominance. Establishing shots of tall office buildings suggest a fast-paced business setting in a powerful city location. Well-dressed male characters in suits and a focus on the stock market reinforce themes of sophistication, luxury, and a demanding business environment. Symbols of wealth like cigars, the Gherkin building in London, and a diamond ring are also discussed.
Dokumen tersebut membahas tentang struktur data single linked list circular (SLLC) yang merupakan single linked list dimana pointer next-nya mengarah pada dirinya sendiri sehingga membentuk lingkaran. SLLC membutuhkan pointer head untuk menunjuk ke node pertama dan fungsi-fungsi dasar seperti penambahan, penghapusan, dan pencarian data. Dokumen juga membahas implementasi SLLC dengan menggunakan pointer tail untuk menunjuk node terakhir.
Laporan ini membahas program struktur data linked list dengan bahasa C. Program tersebut melakukan operasi penambahan dan penghapusan node pada linked list tunggal. Terdapat fungsi untuk menambahkan node di depan, belakang, dan tengah list, serta menghapus node berdasarkan nilai. Tulisan ini juga menjelaskan konsep linked list dan array secara umum beserta operasi dasar pada masing-masing struktur data.
Dokumen tersebut membahas tentang struktur data linked list. Terdapat penjelasan tentang konsep dasar linked list, cara kerja, dan implementasinya dalam bahasa pemrograman termasuk penambahan, penghapusan, dan penyisipan node. Juga dibahas metode-metode yang dapat dilakukan pada linked list seperti pengecekan kondisi kosong, pengaksesan ukuran dan data, serta operasi-operasi lainnya.
Double linked list adalah linked list yang memiliki dua pointer sambungan yaitu ke simpul sebelumnya dan berikutnya. Setiap simpul terdiri dari medan data dan dua medan pointer. Operasi yang dapat dilakukan termasuk penyisipan, penghapusan, dan pencarian di berbagai posisi dengan memanfaatkan dua arah pointer.
Dokumen tersebut membahas tentang struktur data graf dan tree. Graf didefinisikan sebagai kumpulan simpul yang dihubungkan oleh sisi, sedangkan tree adalah struktur data hierarkis non-linear yang menghubungkan root dengan anak-anaknya. Dokumen ini juga membedah jenis-jenis graf dan operasi pada tree serta graf.
This document analyzes the Inception teaser trailer through a discussion of the codes and signifiers present. It notes that shots of motorbikes, helicopters, partying with alcohol and women connote themes of action, wealth, and masculine dominance. Establishing shots of tall office buildings suggest a fast-paced business setting in a powerful city location. Well-dressed male characters in suits and a focus on the stock market reinforce themes of sophistication, luxury, and a demanding business environment. Symbols of wealth like cigars, the Gherkin building in London, and a diamond ring are also discussed.
Dokumen tersebut membahas tentang struktur data, yang meliputi tujuan pembelajaran struktur data seperti meningkatkan pemahaman teori dasar dan penggunaannya dalam pemrograman. Materi yang dibahas antara lain konsep array, record, linked list, stack, queue, tree, graph, sorting, searching, dan hashing beserta sub materinya.
Dokumen tersebut membahas tentang proses dan thread dalam sistem operasi, serta model-model multithreading yang umum. Ada tiga model multithreading utama yaitu model many-to-one dimana beberapa thread pengguna dipetakan ke satu kernel thread, model one-to-one dimana setiap thread pengguna dipetakan ke satu kernel thread, dan model many-to-many dimana beberapa thread pengguna dapat dipetakan ke beberapa kernel thread. Dokumen ini juga membahas tentang penjadualan CPU dan algorit
This document provides a table of contents and overview for a Spanish grammar book. It covers topics such as the present tense, stem changing verbs, ser vs estar, gustar and similar verbs, nouns and articles, preterite vs imperfect, the subjunctive, commands, object pronouns, possessive adjectives and pronouns, demonstrative adjectives and pronouns, reflexive verbs, por vs para, and verbs to express becoming something. The document provides conjugation charts and explanations of grammar concepts.
We used a Flip Camera to film shots for an opening title sequence that had simple controls for starting, stopping, and deleting clips. A tripod was also used to reduce shaky shots when filming. During the process, the document's author learned to use Mac computers and laptops with programs like LiveType and FinalCut Express after initially finding them confusing due to differences from regular computers.
This document is Callie Rodgers Chappell's art supplement for the Common Application. It includes images and descriptions of 6 pieces of Callie's artwork: a colored pencil still life, an ink landscape, a multimedia collage representing complexity, an interpretive sketch over a Nietzsche text, a colored pencil piece juxtaposing truths and assumptions, and a mixed media collage about social change and defiance. The art spans mediums including drawing, painting, and collage and explores themes of nature, philosophy, society, and self.
Un terrario es un recipiente que reproduce las condiciones ambientales necesarias para seres terrestres o parcialmente terrestres. Los terrarios no tienen un tama単o determinado y pueden estar hechos de diversos materiales. Cuadro Vivo es un sistema vers叩til para hacer jardines verticales de forma sencilla que requiere poco mantenimiento y purifica el aire. Las paredes verdes son una alternativa de paisajismo que instala plantas en superficies verticales para obtener beneficios ambientales, t辿rmicos y est辿ticos.
The document discusses information systems analysis and design. It describes the modern approach which focuses on data and process flows. The key roles of systems analysts are outlined, along with common methodologies, techniques and tools used in systems development. Four main types of information systems are also defined.
The document discusses how to effectively design advertisements to promote music albums and artists. Through research, the author found that ads need to catch audience attention by relating to the artist's style and showcasing the album in a recognizable way. Ads also aim to create brand recognition for the artist using matching fonts, colors, and making the artist's name stand out, all with the goal of selling more albums and increasing the artist's popularity.
This document summarizes social phobia, also known as social anxiety disorder. It describes the key characteristics of social phobia as a fear of public humiliation or embarrassment that causes people to avoid social situations. Common symptoms include self-consciousness, anxiety around others, blushing, sweating or trembling in social settings. The document outlines cognitive behavioral therapy and medication as common treatment options and notes that social phobia can develop in youth and last a lifetime if not treated.
Determina巽達o de par但metros de 坦leos lubrificantes de motores ciclo Otto e ciclo Diesel atrav辿s da espectroscopia no infravermelho, m辿todos multivariados e cartas de controle. Desenvolvimento de m辿todos alternativos para an叩lise quantitativa do 鱈ndice de viscosidade e controle de qualidade dos principais par但metros dos 坦leos lubrificantes utilizando espectroscopia no infravermelho e regress達o por m鱈nimos quadrados parciais ou
The document provides a 7-step guide to registering for the MCFXNetwork affiliate program. It explains how to follow the registration link, choose a sign up method, activate the account by getting a PIN number, place referrals under an introducer, fill out personal information, insert the master key, and then use the affiliate link to refer others. The goal is to sign up and successfully register as an MCFXNetwork affiliate.
Single linked list adalah struktur data yang terdiri dari kumpulan node yang saling terhubung secara searah melalui pointer. Setiap node pada single linked list memiliki field untuk menyimpan data dan pointer yang menunjuk ke node berikutnya. Single linked list hanya memiliki satu arah karena hanya menggunakan satu pointer saja untuk menghubungkan antar node.
Dokumen tersebut membahas tentang struktur data double linked list circular (DLLC) yang merupakan linked list dengan menggunakan pointer dimana setiap node memiliki pointer next dan prev serta field data. Pointer next dan prev pada DLLC menunjuk ke dirinya sendiri secara circular. Dokumen tersebut juga menjelaskan cara pembuatan, penambahan, dan penghapusan data pada DLLC baik menggunakan satu pointer head maupun menggunakan dua pointer head dan tail.
Dokumen ini membahas tentang linked list, yaitu struktur data yang menyimpan kumpulan data secara terhubung dengan pointer. Linked list terdiri dari node-node yang masing-masing berisi data dan pointer ke node berikutnya. Pointer next pada node terakhir bernilai NULL untuk menandakan akhir linked list. Linked list memungkinkan penambahan dan penghapusan node secara dinamis karena alokasi memori node secara terpisah.
Double Linked List Circular (DLLC) adalah linked list dimana setiap node memiliki pointer next dan prev, serta pointer next dan prev menunjuk ke dirinya sendiri secara circular. DLLC dapat dibangun menggunakan pointer head untuk menunjuk node pertama, atau menggunakan pointer head dan tail dimana head menunjuk node pertama dan tail menunjuk node terakhir. Fungsi-fungsi dasar seperti penambahan, penghapusan dan penampilan data dapat dibuat untuk mengelola DLLC.
MAKALAH SINGLE LINKED LIST DALAM BAHASA.docxDikicandra6
油
1. Single linked list non circular adalah linked list yang hanya memiliki satu pointer untuk menghubungkan antar node, dimulai dari node pertama hingga terakhir. Node terakhir menunjuk ke NULL.
2. Terdapat beberapa langkah pembuatan single linked list non circular yaitu deklarasi struct node, alokasi memori untuk pointer head, dan penambahan serta penghapusan node di depan dan belakang menggunakan pointer tambahan.
3. Fungsi-fungsi utama single linked list non circular antara l
Dokumen tersebut membahas tentang operasi insert pada single linked list. Terdapat empat jenis operasi insert yaitu insert awal, insert akhir, insert after, dan insert before. Dijelaskan algoritmanya beserta ilustrasinya dengan pointer-pointer bantuan seperti head, tail, current, dll.
Pemahaman dasar tentang Struktur Data Linked List dan AlgoritmanyaMuhammadRaihanXIMIPA
油
Linked List adalah struktur data linier yang terdiri dari serangkaian node, di mana setiap node berisi dua bagian: data dan pointer (atau referensi) ke node berikutnya dalam daftar. Tidak seperti array, linked list memungkinkan elemen-elemen disimpan di lokasi memori yang tidak bersebelahan, yang membuatnya lebih fleksibel dalam hal alokasi memori dinamis. Ada beberapa jenis linked list, yaitu singly linked list (hanya memiliki pointer ke node berikutnya), doubly linked list (memiliki pointer ke node sebelumnya dan berikutnya), dan circular linked list (di mana node terakhir menunjuk kembali ke node pertama). Linked list umumnya digunakan dalam situasi di mana struktur data perlu dimodifikasi secara sering, seperti menambah atau menghapus elemen tanpa menggeser elemen lainnya.
Laporan praktikum ini membahas tentang struktur data tree dan implementasinya dalam bahasa C++. Terdiri dari bab pengenalan tree, penjelasan program yang mengimplementasikan tree, dan kesimpulan tentang ketiga jenis kunjungan pada tree yaitu preorder, inorder, dan postorder.
1. Sistem operasi mengelola perangkat fisik dan menyajikan abstraksi mesin virtual untuk aplikasi.
2. Untuk hardisk, sistem operasi menyediakan dua abstraksi: perangkat raw dan sistem berkas.
3. Sistem operasi menangani removable media seperti hardisk tetapi tape ditampilkan sebagai perangkat penyimpanan mentah.
Dokumen tersebut membahas konsep-konsep dasar sistem operasi seperti port, bus, controller, polling, interrupsi, DMA, interface I/O, block device, socket, timer, dan system call blocking.
Sistem operasi membagi sumber daya sistem secara simultan untuk meningkatkan utilisasi. Ia juga dapat menjalankan beberapa program secara bersamaan di memori melalui multi programming. Sistem operasi melindungi dirinya dan pengguna dari gangguan dengan membatasi akses ke sumber daya sistem dan memori.
Sistem operasi berfungsi sebagai penghubung antara pengguna dan perangkat keras komputer. Sistem operasi mengatur sumber daya dan mencegah konflik akses, serta mendeteksi kesalahan. Sistem operasi mengalami perkembangan melalui empat generasi. Struktur sistem komputer terdiri atas CPU, kontroler perangkat, bus, dan memori.
Dokumen tersebut membahas tentang metode pengurutan data (sorting) secara umum dan beberapa metode pengurutan khusus seperti bubble sort, selection sort, dan insertion sort. Metode-metode tersebut dijelaskan algoritmanya beserta contoh kode program.
Graph adalah representasi matematis yang terdiri dari kumpulan simpul dan busur yang menghubungkannya. Graph dapat berupa directed atau undirected, berbobot atau tidak. Representasi graph dapat dilakukan dalam bentuk matriks atau linked list.
Rekaman adalah tipe data terstruktur yang terdiri dari beberapa elemen dengan tipe data yang tidak harus sama. Elemen dalam rekaman disebut medan. Rekaman sering digunakan untuk merekam informasi seperti kartu pasien di rumah sakit atau data pengguna di sistem komputer. Rekaman dapat memiliki bentuk tetap maupun bebas, di mana bagian bebasnya dapat bervariasi tergantung kondisi.
Array adalah struktur data yang menyimpan kumpulan elemen dengan tipe data yang sama secara berurutan. Array dapat berdimensi satu atau lebih, dan elemennya diakses melalui indeks. Array memiliki keuntungan seperti mudah dioperasikan, efisien dalam penggunaan memori, dan waktu akses setiap elemennya sama.
Stack adalah struktur data yang menggunakan konsep LIFO (Last In First Out) dimana elemen terakhir yang disimpan akan menjadi elemen pertama yang diambil. Stack dapat diimplementasikan menggunakan array dan struct yang berisi field untuk menyimpan elemen dan posisi ujung stack. Operasi dasar pada stack antara lain push untuk menambahkan elemen dan pop untuk mengambil elemen puncak.
Dokumen tersebut membahas tentang kebutuhan sistem, use case model, actor, use case, relasi antar use case, dan use case diagram. Secara ringkas, dokumen tersebut menjelaskan bahwa use case diagram digunakan untuk menggambarkan fungsionalitas sistem berdasarkan interaksi antara actor dengan use case, serta hubungan antar komponen yang ada dalam diagram tersebut.
Dokumen tersebut membahas tiga aktivitas utama dalam pengembangan proyek sistem yaitu perancangan proyek, pemantauan dan kontrol proyek, serta penyelesaian dan pemeliharaan proyek. Selain itu juga membahas mengenai penjadwalan, anggaran biaya, manajemen resiko, dan asuransi mutu dalam pengembangan proyek sistem informasi.
2. Masalah :
- Pemakaian memory pada array yang tidak
dapat dihapus jika array tersebut tidak
digunakan lagi dalam program.
- Pemakaian variabel pointer akan semakin
banyak jika terjadi penambahan data
Penyelesaian : satu variabel pointer untuk
menyimpan banyak data Linked List
Pendahuluan
10/12/2012 Nurdiansah PTIK 09 UNM 2
3. 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.
Defenisi linked list
10/12/2012 Nurdiansah PTIK 09 UNM 3
4. Bentuk Umum :
typedef struct telmtlist
{
infotype info;
address next;
} elmt list;
infotype sebuah tipe terdefinisi yang
menyimpan informasi sebuah
elemen list.
next address dari elemen berikutnya
(suksesor)
10/12/2012 Nurdiansah PTIK 09 UNM 4
7. 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.
Bentuk node single linked list non
circular 10/12/2012 Nurdiansah PTIK 09 UNM 7
8. Deklarasi Node
typedef struct TNode{
int data;
TNode *next;
};
Penjelasan:
Pembuatan struct bernama TNode yang
berisi 2 field, yaitu field data bertipe
integer dan field next yang bertipe
pointer dari TNode
Setelah pembuatan struct, buat variabel
head yang bertipe pointer dari TNode
yang berguna sebagai kepala linked list.
Pembuatan single linked list
10/12/2012 Nurdiansah PTIK 09 UNM 8
9. Digunakan keyword new yang berarti
mempersiapkan sebuah node baru berserta
alokasi memorinya, kemudian node tersebut
diisi data dan pointer nextnya ditunjuk ke
NULL.
TNode *baru;
baru = new TNode;
baru->data = databaru;
baru->next = NULL;
10/12/2012 Nurdiansah PTIK 09 UNM 9
10. Menggunakan alokasi memori
secara manual
Menggunakan header stdlib.h
atau malloc.h
Menggunakan fungsi:
<pointer type> *malloc(int
size);
Cara lain alokasi pointer
10/12/2012 Nurdiansah PTIK 09 UNM 10
12. Dibutuhkan satu buah variabel pointer: head
Head akan selalu menunjuk pada node pertama
Deklarasi Pointer Penunjuk Kepala Single Linked
List
Manipulasi linked list tidak bisa dilakukan
langsung ke node yang dituju, melainkan harus
menggunakan suatu pointer penunjuk ke node
pertama dalam linked list (dalam hal ini adalah
head). Deklarasinya sebagai berikut:
TNode *head;
Single linked list menggunakan head
10/12/2012 Nurdiansah PTIK 09 UNM 12
13. Fungsi Inisialisasi Single LinkedList
void init(){
head = NULL;
}
Function untuk mengetahui kosong tidaknya
Single
LinkedList
Jika pointer head tidak menunjuk pada suatu
node maka kosong
int isEmpty(){
if(head == NULL) return 1;
else return 0;
}
10/12/2012 Nurdiansah PTIK 09 UNM 13
14. Penambahan data di depan
Penambahan node baru akan dikaitan di
node paling depan, namun pada saat
pertama kali (data masih kosong), maka
penambahan data dilakukan dengan cara:
node head ditunjukkan ke node baru
tersebut.
Pada prinsipnya adalah mengkaitkan node
baru dengan head, kemudian head akan
menunjuk pada data baru tersebut
sehingga head akan tetap selalu menjadi
data terdepan.
10/12/2012 Nurdiansah PTIK 09 UNM 14
17. Penambahan data di belakang
Penambahan data dilakukan di belakang,
namun pada saat pertama kali, node
langsung ditunjuk oleh head.
Penambahan di belakang lebih sulit
karena kita membutuhkan pointer bantu
untuk mengetahui node terbelakang,
kemudian setelah itu, dikaitkan dengan
node baru. Untuk mengetahui data
terbelakang perlu digunakan perulangan.
10/12/2012 Nurdiansah PTIK 09 UNM 17
22. Function di atas digunakan untuk menampilkan
semua isi list, di mana linked list ditelusuri satu-
persatu dari awal node sampai akhir node.
Penelusuran ini dilakukan dengan menggunakan
suatu pointer bantu, karena pada prinsipnya
pointer head yang menjadi tanda awal list tidak
boleh berubah/berganti posisi.
Penelusuran dilakukan terus sampai node
terakhir ditemukan menunjuk ke nilai NULL. Jika
tidak NULL, maka node bantu akan berpindah ke
node selanjutnya dan membaca isi datanya
dengan menggunakan field next sehingga dapat
saling berkait.
Jika head masih NULL berarti data masih kosong!
10/12/2012 Nurdiansah PTIK 09 UNM 22
23. Function untuk menghapus data terdepan
void hapusDepan (){
TNode *hapus;
int d;
if (isEmpty()==0){
if(head->next != NULL){
hapus = head;
d = hapus->data;
head = head->next;
delete hapus;
} else {
d = head->data;
head = NULL;
}
printf(%d terhapusn,d);
} else cout<<"Masih kosongn";
}
10/12/2012 Nurdiansah PTIK 09 UNM 23
24. Function di atas akan menghapus data teratas
(pertama) yang ditunjuk oleh head pada linked
list
Penghapusan node tidak boleh dilakukan jika
keadaan node sedang ditunjuk oleh pointer,
maka harus dilakukan penggunakan suatu
pointer lain yang digunakan untuk menunjuk
node yang akan dihapus, misalnya pointer hapus
dan barulah kemudian menghapus pointer hapus
dengan menggunakan perintah delete.
Sebelum data terdepan dihapus, head harus
ditunjukkan ke node sesudahnya terlebih dahulu
agar list tidak putus, sehingga node setelah head
lama akan menjadi head baru (data terdepan
yang baru).
Jika head masih NULL maka berarti data masih
kosong!
10/12/2012 Nurdiansah PTIK 09 UNM 24
25. Hapus Belakang
void hapusBelakang(){
TNode *hapus,*bantu;
int d;
if (isEmpty()==0){
if(head->next != NULL){
bantu = head;
while(bantu->next->next!=NULL){
bantu = bantu->next;
}
hapus = bantu->next;
d = hapus->data;
bantu->next = NULL;
delete hapus;
} else {
d = head->data;
head = NULL;
}
printf(%d terhapusn,d);
} else printf(Masih kosongn);
}
10/12/2012 Nurdiansah PTIK 09 UNM 25
26. Membutuhkan pointer bantu dan hapus.
Pointer hapus digunakan untuk menunjuk node
yang akan dihapus, dan pointer bantu digunakan
untuk menunjuk node sebelum node yang
dihapus yang kemudian selanjutnya akan
menjadi node terakhir.
Pointer bantu akan digunakan untuk menunjuk
ke nilai NULL.
Pointer bantu akan selalu bergerak sampai
sebelum node yang akan dihapus, baru
kemudian pointer hapus diletakkan setelah
pointer bantu. Setelah itu pointer hapus akan
dihapus, pointe bantu akan menunjuk ke NULL.
10/12/2012 Nurdiansah PTIK 09 UNM 26
28. Function untuk menghapus semua
elemen Linked List
void clear(){
TNode *bantu,*hapus;
bantu = head;
while(bantu!=NULL){
hapus = bantu;
bantu = bantu->next;
delete hapus;
}
head = NULL;
}
10/12/2012 Nurdiansah PTIK 09 UNM 28
29. Dibutuhkan dua buah variabel
pointer: head dan tail
Head akan selalu menunjuk
pada node pertama, sedangkan
tail akan selalu menunjuk pada
node terakhir.
Single linked list dengan head dan
tail
10/12/2012 Nurdiansah PTIK 09 UNM 29
30. Inisialisasi LinkedList
TNode *head, *tail;
Fungsi Inisialisasi LinkedList
void init(){
head = NULL;
tail = NULL;
}
Function untuk mengetahui kosong tidaknya
LinkedList
int isEmpty(){
if(tail == NULL) return 1;
else return 0;
}
10/12/2012 Nurdiansah PTIK 09 UNM 30
31. Pengkaitan node baru ke linked list di depan
Penambahan data baru di depan akan selalu
menjadi head.
void insertDepan(int databaru){
TNode *baru;
baru = new TNode;
baru->data = databaru;
baru->next = NULL;
if(isEmpty()==1){
head=tail=baru;
tail->next=NULL;
}
else {
baru->next = head;
head = baru;
}
printf(Data masukn); 10/12/2012 Nurdiansah PTIK 09 UNM 31
}
35. Kelebihan dari Single Linked List dengan Head & Tail adalah
pada penambahan data di belakang, hanya dibutuhkan tail
yang mengikat node baru saja tanpa harus menggunakan
perulangan pointer bantu.
Function untuk menampilkan isi linked list:
void tampil(){
TNode *bantu;
bantu = head;
if(isEmpty()==0){
while(bantu!=NULL){
printf(%dn,bantu->data);
bantu=bantu->next;
}
printf(n);
} else printf(Masih kosongn);
}
10/12/2012 Nurdiansah PTIK 09 UNM 35
36. Function untuk menghapus data di depan
void hapusDepan(){
TNode *hapus;
int d;
if (isEmpty()==0){
if(head!=tail){
hapus = head;
d = hapus->data;
head = head->next;
delete hapus;
} else {
d = tail->data;
head=tail=NULL;
}
printf(%d terhapus n,d);
} else printf("Masih kosong n);
}
10/12/2012 Nurdiansah PTIK 09 UNM 36
37. Function di atas akan menghapus data
terdepan (pertama) yang ditunjuk oleh
head pada linked list
Penghapusan node tidak boleh dilakukan
jika keadaan node sedang ditunjuk oleh
pointer, maka harus dilakukan
penunjukkan terlebih dahulu dengan
pointer hapus pada head, kemudian
dilakukan pergeseran head ke node
berikutnya sehingga data setelah head
menjadi head baru, kemudian
menghapus pointer hapus dengan
menggunakan perintah delete.
Jika tail masih NULL maka berarti list
masih kosong!
10/12/2012 Nurdiansah PTIK 09 UNM 37
38. Function untuk menghapus data di belakang:
void hapusBelakang(){
TNode *bantu,*hapus;
int d;
if (isEmpty()==0){
bantu = head;
if(head!=tail){
while(bantu->next!=tail){
bantu = bantu->next;
}
hapus = tail;
tail=bantu;
d = hapus->data;
delete hapus;
tail->next = NULL;
}else {
d = tail->data;
head=tail=NULL;
}
cout<<d<<" terhapusn";
} else cout<<"Masih kosongn"; 10/12/2012 Nurdiansah PTIK 09 UNM 38
}
40. Function di atas akan menghapus data
terbelakang (terakhir) yang ditunjuk oleh tail
pada linked list
Penghapusan node tidak boleh dilakukan jika
keadaan node sedang ditunjuk oleh pointer,
maka harus dilakukan penunjukkan terlebih
dahulu dengan variabel hapus pada tail,
kemudian dibutuhkan pointer bantu untuk
membantu pergeseran dari head ke node
berikutnya sampai sebelum tail, sehingga tail
dapat ditunjukkan ke bantu tersebut, dan bantu
tersebut akan menjadi tail yang baru. Setelah
itu hapus pointer hapus dengan menggunakan
perintah delete.
Jika tail masih NULL maka berarti list masih
kosong!
10/12/2012 Nurdiansah PTIK 09 UNM 40
41. Function untuk menghapus semua elemen
LinkedList
void clear(){
TNode *bantu,*hapus;
bantu = head;
while(bantu!=NULL){
hapus = bantu;
bantu = bantu->next;
delete hapus;
}
head = NULL;
tail = NULL;
}
10/12/2012 Nurdiansah PTIK 09 UNM 41