SlideShare a Scribd company logo
1 of 13
Algoritma dan Struktur Data
Stack with Linked List

Anggota Kelompok:
1.

Desenia Mulyani Harja

(F1D012014)

2.

Riris Parahita

(F1D012074)

Program Studi Teknik Informatika
Fakultas Teknik
UNIVERSITAS
2013

MATARAM
Stack with Linked List

Dasar Teori
Array merupakan variable yang bersifat statis (ukuran dan urutannya sudah pasti).
Selain itu, ruang memori yang dipakai olehnya tidak dapat dihapus bila array tersebut
sudah tidak digunakan lagi pada saat program dijalankan. Untuk memecahkan masalah
di atas, kita dapat menggunakan variabel pointer. Tipe data pointer bersifat dinamis,
variabel akan dialokasikan hanya pada saat dibutuhkan dan sesudah tidak dibutuhkan
dapat direlokasikan kembali. Setiap ingin menambahkan data, Anda selalu menggunakan
variabel pointer yang baru, akibatnya Anda akan membutuhkan banyak sekali pointer.
Oleh karena itu, ada baiknya jika Anda hanya menggunakan satu variabel pointer saja
untuk menyimpan banyak data dengan metode yang kita sebut Linked List. Linked list
adalah sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu, yang
setiap elemennya terdiri dari dua bagian. Linked adalah koleksi obyek heterogen dengan sifat setiap obyek
(kecuali obyek terakhir) mempunyai penerus dan setiap obyek (kecuali obyek pertama) mempunyai
pendahulu. Salah satu penggunaan pointer adalah untuk membuat linked list atau senarai
berantai. Linked list sendiri dapat diartikan sebagai sekumpulan komponen yang saling
berhubungan (berantai) dengan bantuan pointer. Perhatikan ilustrasi berikut untuk lebih
jelasnya.

Masing-masing komponen disebut sebagai simpul atau node. Setiap simpul terbagi
menjadi dua bagian, yaitu bagian data dan bagian penyambung. Bagian data berisi data
yang akan disimpan dan diolah. Sedangkan bagian penyambung berisi alamat simpul
berikutnya.
Inti dari linked list adalah proses (tambah, edit, hapus) dari gerbong/node dan bagaimana
rnenyambungkan antar gerbong /node tersebut.
ARRAY VS LINKED LIST
ARRAY
Statis
Penambahan / penghapusan data terbatas
Random access
Penghapusan array tidak mungkin

LINKED LIST
Dinamis
Penambahan / penghapusan data tidak terbatas
Sequential access
Penghapusan linked list mudah
1. Pembuatan Single Linked List
Deklarasi node dibuat dari struct berikut ini:

Penjelasan:
- Pembuatan struct bernama TNode yang berisi
integer dan field next yang bertipe pointer dari TNode.

2

- Setelah pembuatan struct, buat
yang berguna sebagai kepala linked list.

yang

variabel

haed

field,

yaitu

bertipe

field

pointer

data

bertipe

dari

TNode

2. Pembentukan Node Baru
Digunakan keyword new yang berarti mempersiapkan sebuah node baru berserta alokasi
memorinya, kemudian node tersebut diisi data dan pointer next-nya ditunjuk ke NULL
3. Single Linked List Menggunakan Head
-

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;

Fungsi untuk mengetahui kosong tidaknya Single Linked List jika pointer head tidak
menunjuk pada suatu node maka kosong.
4. Penambahan Data
Penambahan node baru akan dikaitan di node paling depan, namun
pertama kali (data masih kosong), maka penambahan data dilakukan dengan
ditunjukkan ke node baru tersebut. Pada prinsipnya adalah mengkaitkan
dengan head, kemudian head akan menunjuk pada data baru tersebut sehingga
tetap selalu menjadi data terdepan.

ilustrasi:

pada
cara
node
head

saat
head
baru
akan
5. Menampilkan Data
Fungsi untuk menampilkan isi single linked list (non circular)
Penjelasan :
- Fungsi di atas digunakan untuk menampilkan semua isi list, di
ditelusuri
satu-persatu
dari
awal
node
sampai
akhir
node.
dilakukan
dengan
menggunakan
suatu
pointer
bantu,
karena
pointer head yang menjadi tanda awal list tidak boleh berubah/berganti posisi.

mana linked list
Penelusuran
ini
pada
prinsipnya

- 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
berkaitan.
- Jika head masih NULL berarti data masih kosong.

6. Penghapusan Data

Fungsi di atas akan menghapus data teratas (pertama) yang ditunjuk oleh head pada
linked list.
Penjelasan :
-

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
terlebih dahulu agar list tidak putus, sehingga node setelah
menjadi head baru (data terdepan yang baru).

-

Jika head masih NULL maka berarti data masih kosong.

node sesudahnya
head lama akan
Contoh Sourcecode Stack with Linked List :
#include <conio.h>
#include <iostream>
using namespace std;
struct TNode
{
int data;
TNode *next;
};
TNode *head;
void init()
{
head=NULL;
}
int isempty()
{
if(head==NULL)
return 1;
else return 0;
}
void insertdepan (int databaru)
{
TNode *baru;
baru= new TNode;
baru->data =databaru;
baru->next=NULL;
if (isempty()==1)
{
head=baru;
head->next=NULL;
}
else
{
baru->next=head;
head=baru;
}
cout<<"Data Masukn"<<endl;
}
void tampil()
{
TNode *bantu;
bantu=head;
if(isempty()==0)
{
while (bantu!=NULL)
{
cout<<bantu->data<<" ";
bantu=bantu->next;
}
cout<<endl;
}
else
cout<<"Masih kosongn";
}
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;
}
cout<<d<<" terhapusn";
}
else cout<<"masih kosongn";
}
void main()
{
int pil;
int databaru;
do
{
cout<<"linked List"<<endl;
cout<<"-----------"<<endl<<endl;
cout<<"1.Insert Depan"<<endl;
cout<<"2.Tampil"<<endl;
cout<<"3.Hapus"<<endl;
cout<<"4.Exit"<<endl<<endl;
cout<<"pilihan anda= ";
cin>>pil;
switch(pil)
{
{
case 1:
cout<<endl;
cout<<"data: ";
cin>>databaru;
cout<<endl;
insertdepan (databaru);
break;
}
{
case 2:
cout<<endl;
tampil();
break;
}
{
case 3:
cout<<endl;
hapusdepan();
break;
}
}
getch();
}while (pil!=4);
}
Hasil compile :
Analisa Program :
Program di atas menggunakan visual c++ dengan header iostream dan conio.h yang dimana
terdapat fungsi cout dan cin. Selain itu, menggunakan using namepace std; untuk menjalankan
cout dan cin pada visual c++. Dalam program visual c++ tersebut terdapat node yang berfungsi untuk
menyimpan data. 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. Pada sintaks di
atas juga terdapat Fungsi IsEmpty yaitu untuk memeriksa apakah stack masih kosong dengan cara
memeriksa top of stack, jika masih -1 maka berarti stack masih kosong. Next pada sintaks di atas
merupakan address (alamat) dari elemen berikutnya (suksesor) dengan demikian jika didefinisikan first
adalah alamat elemen pertama list, maka elemen berikutnya dapat di akses secara suksesif dari field next
elemen tersebut. head->next=NULL; artinya head tersebut didefinisikan ke next yang berisi NULL.
Program tersebut menggunakan pointer untuk menuju ke alamat yang akan dituju.

More Related Content

What's hot

Implementasi queue
Implementasi queueImplementasi queue
Implementasi queueRhe Dwi Yuni
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)Kelinci Coklat
 
7 Metode Pencarian Data Array
7 Metode Pencarian Data Array7 Metode Pencarian Data Array
7 Metode Pencarian Data ArraySimon Patabang
 
4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)Simon Patabang
 
Algoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekAlgoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekLaili Wahyunita
 
Notasi algoritmik & programming style
Notasi algoritmik & programming styleNotasi algoritmik & programming style
Notasi algoritmik & programming styleTenia Wahyuningrum
 
Algoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur DataAlgoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur DataAndiNurkholis1
 
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
4.1 Operasi Dasar Singly Linked List  1 (primitive list)4.1 Operasi Dasar Singly Linked List  1 (primitive list)
4.1 Operasi Dasar Singly Linked List 1 (primitive list)Kelinci Coklat
 
Jenis dan proses interupsi
Jenis dan proses interupsiJenis dan proses interupsi
Jenis dan proses interupsilaurensius08
 
Neuron Mc Culloch Pitts dan Hebb
Neuron Mc Culloch Pitts dan HebbNeuron Mc Culloch Pitts dan Hebb
Neuron Mc Culloch Pitts dan HebbSherly Uda
 
Intermediate code kode antara
Intermediate code   kode antaraIntermediate code   kode antara
Intermediate code kode antaraGunawan Manalu
 
Makalah interpolasi kelompok 2
Makalah interpolasi kelompok 2Makalah interpolasi kelompok 2
Makalah interpolasi kelompok 2Arin Ayundhita
 
Contoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzyContoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzyZaenal Khayat
 
MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )istiqlal
 

What's hot (20)

Implementasi queue
Implementasi queueImplementasi queue
Implementasi queue
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
 
7 Metode Pencarian Data Array
7 Metode Pencarian Data Array7 Metode Pencarian Data Array
7 Metode Pencarian Data Array
 
4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)
 
Algoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekAlgoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendek
 
Notasi algoritmik & programming style
Notasi algoritmik & programming styleNotasi algoritmik & programming style
Notasi algoritmik & programming style
 
circular linked list
circular linked listcircular linked list
circular linked list
 
Algoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur DataAlgoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur Data
 
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
4.1 Operasi Dasar Singly Linked List  1 (primitive list)4.1 Operasi Dasar Singly Linked List  1 (primitive list)
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
 
Struktur Data Tree
Struktur Data TreeStruktur Data Tree
Struktur Data Tree
 
Jenis dan proses interupsi
Jenis dan proses interupsiJenis dan proses interupsi
Jenis dan proses interupsi
 
Laporan sistem basis data sirkulasi peminjaman buku
Laporan sistem basis data sirkulasi peminjaman bukuLaporan sistem basis data sirkulasi peminjaman buku
Laporan sistem basis data sirkulasi peminjaman buku
 
Power Point \ PPT - Memori Eksternal
Power Point \ PPT - Memori EksternalPower Point \ PPT - Memori Eksternal
Power Point \ PPT - Memori Eksternal
 
Neuron Mc Culloch Pitts dan Hebb
Neuron Mc Culloch Pitts dan HebbNeuron Mc Culloch Pitts dan Hebb
Neuron Mc Culloch Pitts dan Hebb
 
Intermediate code kode antara
Intermediate code   kode antaraIntermediate code   kode antara
Intermediate code kode antara
 
Sorting ppt
Sorting ppt Sorting ppt
Sorting ppt
 
Makalah interpolasi kelompok 2
Makalah interpolasi kelompok 2Makalah interpolasi kelompok 2
Makalah interpolasi kelompok 2
 
Contoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzyContoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzy
 
MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )
 
3 Linked List
3   Linked List3   Linked List
3 Linked List
 

Viewers also liked

Atelier Editions
Atelier EditionsAtelier Editions
Atelier EditionsdeborahLG
 
Atelier Espace Pro
Atelier Espace  ProAtelier Espace  Pro
Atelier Espace ProdeborahLG
 
Atelier Qualité
Atelier QualitéAtelier Qualité
Atelier QualitédeborahLG
 
1.Afpm Bretagne
1.Afpm Bretagne1.Afpm Bretagne
1.Afpm BretagnedeborahLG
 
Veille-Centre de ressources
Veille-Centre de ressourcesVeille-Centre de ressources
Veille-Centre de ressourcesdeborahLG
 
2.Synthèse Des Ateliers
2.Synthèse Des Ateliers2.Synthèse Des Ateliers
2.Synthèse Des AteliersdeborahLG
 
Atelier Commercialisation
Atelier CommercialisationAtelier Commercialisation
Atelier CommercialisationdeborahLG
 

Viewers also liked (7)

Atelier Editions
Atelier EditionsAtelier Editions
Atelier Editions
 
Atelier Espace Pro
Atelier Espace  ProAtelier Espace  Pro
Atelier Espace Pro
 
Atelier Qualité
Atelier QualitéAtelier Qualité
Atelier Qualité
 
1.Afpm Bretagne
1.Afpm Bretagne1.Afpm Bretagne
1.Afpm Bretagne
 
Veille-Centre de ressources
Veille-Centre de ressourcesVeille-Centre de ressources
Veille-Centre de ressources
 
2.Synthèse Des Ateliers
2.Synthèse Des Ateliers2.Synthèse Des Ateliers
2.Synthèse Des Ateliers
 
Atelier Commercialisation
Atelier CommercialisationAtelier Commercialisation
Atelier Commercialisation
 

Similar to Stack with linked list(algodat)

Similar to Stack with linked list(algodat) (20)

Tistrukdat6
Tistrukdat6Tistrukdat6
Tistrukdat6
 
Bab 5 linked list
Bab 5 linked listBab 5 linked list
Bab 5 linked list
 
Bab 6 singly_linked_list
Bab 6 singly_linked_listBab 6 singly_linked_list
Bab 6 singly_linked_list
 
Pertemuan 4 revisijan2013-mhs
Pertemuan 4 revisijan2013-mhsPertemuan 4 revisijan2013-mhs
Pertemuan 4 revisijan2013-mhs
 
Pert.5 linked list
Pert.5 linked listPert.5 linked list
Pert.5 linked list
 
SINGLE_LINKED_LIST.pptx
SINGLE_LINKED_LIST.pptxSINGLE_LINKED_LIST.pptx
SINGLE_LINKED_LIST.pptx
 
Tugas kelompok mi d3_sore
Tugas kelompok mi d3_soreTugas kelompok mi d3_sore
Tugas kelompok mi d3_sore
 
Tistrukdat7
Tistrukdat7Tistrukdat7
Tistrukdat7
 
5 6 single-linked_list
5 6 single-linked_list5 6 single-linked_list
5 6 single-linked_list
 
Linked list
Linked listLinked list
Linked list
 
Persentasi linked list
Persentasi linked listPersentasi linked list
Persentasi linked list
 
Persentasi linked list
Persentasi linked listPersentasi linked list
Persentasi linked list
 
Tistrukdat8 2
Tistrukdat8 2Tistrukdat8 2
Tistrukdat8 2
 
POWER POINT STRUKTUR DATA AMIK BSI PURWOKERTO
POWER POINT STRUKTUR DATA AMIK  BSI PURWOKERTOPOWER POINT STRUKTUR DATA AMIK  BSI PURWOKERTO
POWER POINT STRUKTUR DATA AMIK BSI PURWOKERTO
 
Tistrukdat8 1
Tistrukdat8 1Tistrukdat8 1
Tistrukdat8 1
 
Modul 3 strukdat
Modul 3 strukdatModul 3 strukdat
Modul 3 strukdat
 
Modul 2
Modul 2Modul 2
Modul 2
 
MAKALAH SINGLE LINKED LIST DALAM BAHASA.docx
MAKALAH SINGLE LINKED LIST DALAM BAHASA.docxMAKALAH SINGLE LINKED LIST DALAM BAHASA.docx
MAKALAH SINGLE LINKED LIST DALAM BAHASA.docx
 
MAKALAH DOUBLE LINKED LIST BAHASA C.docx
MAKALAH DOUBLE LINKED LIST BAHASA C.docxMAKALAH DOUBLE LINKED LIST BAHASA C.docx
MAKALAH DOUBLE LINKED LIST BAHASA C.docx
 
Laporan Praktikum Struktur Data Modul 3
Laporan Praktikum Struktur Data Modul 3Laporan Praktikum Struktur Data Modul 3
Laporan Praktikum Struktur Data Modul 3
 

More from Marlintika Marlintika (7)

Makalah jaringan dan komputer
Makalah jaringan dan komputerMakalah jaringan dan komputer
Makalah jaringan dan komputer
 
TBO
TBOTBO
TBO
 
Teori Bahasa dan Otomata
Teori Bahasa dan OtomataTeori Bahasa dan Otomata
Teori Bahasa dan Otomata
 
Sistem Informasi Manajemen
Sistem Informasi ManajemenSistem Informasi Manajemen
Sistem Informasi Manajemen
 
Tugas Pengantar OOP
Tugas Pengantar OOPTugas Pengantar OOP
Tugas Pengantar OOP
 
Management Project Processes PMBOK
Management Project Processes PMBOKManagement Project Processes PMBOK
Management Project Processes PMBOK
 
Interaksi persuasif
Interaksi persuasifInteraksi persuasif
Interaksi persuasif
 

Recently uploaded

BAB 1 BEBATAN DAN BALUTAN DALAM PERTOLONGAN CEMAS
BAB 1 BEBATAN DAN BALUTAN DALAM PERTOLONGAN CEMASBAB 1 BEBATAN DAN BALUTAN DALAM PERTOLONGAN CEMAS
BAB 1 BEBATAN DAN BALUTAN DALAM PERTOLONGAN CEMASNursKitchen
 
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docxKisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docxFitriaSarmida1
 
Asimilasi Masyarakat Cina Dengan Orang Melayu di Kelantan (Cina Peranakan Kel...
Asimilasi Masyarakat Cina Dengan Orang Melayu di Kelantan (Cina Peranakan Kel...Asimilasi Masyarakat Cina Dengan Orang Melayu di Kelantan (Cina Peranakan Kel...
Asimilasi Masyarakat Cina Dengan Orang Melayu di Kelantan (Cina Peranakan Kel...luqmanhakimkhairudin
 
Aksi Nyata profil pelajar pancasila.pptx
Aksi Nyata profil pelajar pancasila.pptxAksi Nyata profil pelajar pancasila.pptx
Aksi Nyata profil pelajar pancasila.pptxTekiMulyani
 
443016507-Sediaan-obat-PHYCOPHYTA-MYOPHYTA-dan-MYCOPHYTA-pptx.pptx
443016507-Sediaan-obat-PHYCOPHYTA-MYOPHYTA-dan-MYCOPHYTA-pptx.pptx443016507-Sediaan-obat-PHYCOPHYTA-MYOPHYTA-dan-MYCOPHYTA-pptx.pptx
443016507-Sediaan-obat-PHYCOPHYTA-MYOPHYTA-dan-MYCOPHYTA-pptx.pptxErikaPutriJayantini
 
Lokakarya tentang Kepemimpinan Sekolah 1.pptx
Lokakarya tentang Kepemimpinan Sekolah 1.pptxLokakarya tentang Kepemimpinan Sekolah 1.pptx
Lokakarya tentang Kepemimpinan Sekolah 1.pptxrani414352
 
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfProv.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfIwanSumantri7
 
IPS - karakteristik geografis, sosial, budaya, dan ekonomi di ASEAN
IPS - karakteristik geografis, sosial, budaya, dan ekonomi di ASEANIPS - karakteristik geografis, sosial, budaya, dan ekonomi di ASEAN
IPS - karakteristik geografis, sosial, budaya, dan ekonomi di ASEANGilangNandiaputri1
 
MODUL AJAR SENI TARI KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI TARI KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR SENI TARI KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI TARI KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
Laporan RHK PMM Observasi Target Perilaku.docx
Laporan RHK PMM Observasi Target Perilaku.docxLaporan RHK PMM Observasi Target Perilaku.docx
Laporan RHK PMM Observasi Target Perilaku.docxJajang Sulaeman
 
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan BerkelanjutanTopik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan BerkelanjutanAyuApriliyanti6
 
MESYUARAT KURIKULUM BIL 1/2024 SEKOLAH KEBANGSAAN SRI SERDANG
MESYUARAT KURIKULUM BIL 1/2024 SEKOLAH KEBANGSAAN SRI SERDANGMESYUARAT KURIKULUM BIL 1/2024 SEKOLAH KEBANGSAAN SRI SERDANG
MESYUARAT KURIKULUM BIL 1/2024 SEKOLAH KEBANGSAAN SRI SERDANGmamaradin
 
contoh-kisi-kisi-bahasa-inggris-kelas-9.docx
contoh-kisi-kisi-bahasa-inggris-kelas-9.docxcontoh-kisi-kisi-bahasa-inggris-kelas-9.docx
contoh-kisi-kisi-bahasa-inggris-kelas-9.docxdedyfirgiawan
 
AKSI NYATA DISIPLIN POSITIF MEMBUAT KEYAKINAN KELAS_11zon.pptx
AKSI NYATA DISIPLIN POSITIF MEMBUAT KEYAKINAN KELAS_11zon.pptxAKSI NYATA DISIPLIN POSITIF MEMBUAT KEYAKINAN KELAS_11zon.pptx
AKSI NYATA DISIPLIN POSITIF MEMBUAT KEYAKINAN KELAS_11zon.pptxcupulin
 
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...Kanaidi ken
 
RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".
RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".
RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".Kanaidi ken
 
Skenario Lokakarya 2 Pendidikan Guru Penggerak
Skenario Lokakarya 2 Pendidikan Guru PenggerakSkenario Lokakarya 2 Pendidikan Guru Penggerak
Skenario Lokakarya 2 Pendidikan Guru Penggerakputus34
 
Aksi Nyata Menyebarkan Pemahaman Merdeka Belajar.pdf
Aksi Nyata Menyebarkan Pemahaman Merdeka Belajar.pdfAksi Nyata Menyebarkan Pemahaman Merdeka Belajar.pdf
Aksi Nyata Menyebarkan Pemahaman Merdeka Belajar.pdfsubki124
 
Materi Bab 6 Algoritma dan bahasa Pemrograman
Materi Bab 6 Algoritma dan bahasa  PemrogramanMateri Bab 6 Algoritma dan bahasa  Pemrograman
Materi Bab 6 Algoritma dan bahasa PemrogramanSaeranSaeran1
 
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024ssuser0bf64e
 

Recently uploaded (20)

BAB 1 BEBATAN DAN BALUTAN DALAM PERTOLONGAN CEMAS
BAB 1 BEBATAN DAN BALUTAN DALAM PERTOLONGAN CEMASBAB 1 BEBATAN DAN BALUTAN DALAM PERTOLONGAN CEMAS
BAB 1 BEBATAN DAN BALUTAN DALAM PERTOLONGAN CEMAS
 
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docxKisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
 
Asimilasi Masyarakat Cina Dengan Orang Melayu di Kelantan (Cina Peranakan Kel...
Asimilasi Masyarakat Cina Dengan Orang Melayu di Kelantan (Cina Peranakan Kel...Asimilasi Masyarakat Cina Dengan Orang Melayu di Kelantan (Cina Peranakan Kel...
Asimilasi Masyarakat Cina Dengan Orang Melayu di Kelantan (Cina Peranakan Kel...
 
Aksi Nyata profil pelajar pancasila.pptx
Aksi Nyata profil pelajar pancasila.pptxAksi Nyata profil pelajar pancasila.pptx
Aksi Nyata profil pelajar pancasila.pptx
 
443016507-Sediaan-obat-PHYCOPHYTA-MYOPHYTA-dan-MYCOPHYTA-pptx.pptx
443016507-Sediaan-obat-PHYCOPHYTA-MYOPHYTA-dan-MYCOPHYTA-pptx.pptx443016507-Sediaan-obat-PHYCOPHYTA-MYOPHYTA-dan-MYCOPHYTA-pptx.pptx
443016507-Sediaan-obat-PHYCOPHYTA-MYOPHYTA-dan-MYCOPHYTA-pptx.pptx
 
Lokakarya tentang Kepemimpinan Sekolah 1.pptx
Lokakarya tentang Kepemimpinan Sekolah 1.pptxLokakarya tentang Kepemimpinan Sekolah 1.pptx
Lokakarya tentang Kepemimpinan Sekolah 1.pptx
 
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfProv.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
 
IPS - karakteristik geografis, sosial, budaya, dan ekonomi di ASEAN
IPS - karakteristik geografis, sosial, budaya, dan ekonomi di ASEANIPS - karakteristik geografis, sosial, budaya, dan ekonomi di ASEAN
IPS - karakteristik geografis, sosial, budaya, dan ekonomi di ASEAN
 
MODUL AJAR SENI TARI KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI TARI KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR SENI TARI KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI TARI KELAS 6 KURIKULUM MERDEKA.pdf
 
Laporan RHK PMM Observasi Target Perilaku.docx
Laporan RHK PMM Observasi Target Perilaku.docxLaporan RHK PMM Observasi Target Perilaku.docx
Laporan RHK PMM Observasi Target Perilaku.docx
 
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan BerkelanjutanTopik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
 
MESYUARAT KURIKULUM BIL 1/2024 SEKOLAH KEBANGSAAN SRI SERDANG
MESYUARAT KURIKULUM BIL 1/2024 SEKOLAH KEBANGSAAN SRI SERDANGMESYUARAT KURIKULUM BIL 1/2024 SEKOLAH KEBANGSAAN SRI SERDANG
MESYUARAT KURIKULUM BIL 1/2024 SEKOLAH KEBANGSAAN SRI SERDANG
 
contoh-kisi-kisi-bahasa-inggris-kelas-9.docx
contoh-kisi-kisi-bahasa-inggris-kelas-9.docxcontoh-kisi-kisi-bahasa-inggris-kelas-9.docx
contoh-kisi-kisi-bahasa-inggris-kelas-9.docx
 
AKSI NYATA DISIPLIN POSITIF MEMBUAT KEYAKINAN KELAS_11zon.pptx
AKSI NYATA DISIPLIN POSITIF MEMBUAT KEYAKINAN KELAS_11zon.pptxAKSI NYATA DISIPLIN POSITIF MEMBUAT KEYAKINAN KELAS_11zon.pptx
AKSI NYATA DISIPLIN POSITIF MEMBUAT KEYAKINAN KELAS_11zon.pptx
 
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
 
RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".
RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".
RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".
 
Skenario Lokakarya 2 Pendidikan Guru Penggerak
Skenario Lokakarya 2 Pendidikan Guru PenggerakSkenario Lokakarya 2 Pendidikan Guru Penggerak
Skenario Lokakarya 2 Pendidikan Guru Penggerak
 
Aksi Nyata Menyebarkan Pemahaman Merdeka Belajar.pdf
Aksi Nyata Menyebarkan Pemahaman Merdeka Belajar.pdfAksi Nyata Menyebarkan Pemahaman Merdeka Belajar.pdf
Aksi Nyata Menyebarkan Pemahaman Merdeka Belajar.pdf
 
Materi Bab 6 Algoritma dan bahasa Pemrograman
Materi Bab 6 Algoritma dan bahasa  PemrogramanMateri Bab 6 Algoritma dan bahasa  Pemrograman
Materi Bab 6 Algoritma dan bahasa Pemrograman
 
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
 

Stack with linked list(algodat)

  • 1. Algoritma dan Struktur Data Stack with Linked List Anggota Kelompok: 1. Desenia Mulyani Harja (F1D012014) 2. Riris Parahita (F1D012074) Program Studi Teknik Informatika Fakultas Teknik UNIVERSITAS 2013 MATARAM
  • 2. Stack with Linked List Dasar Teori Array merupakan variable yang bersifat statis (ukuran dan urutannya sudah pasti). Selain itu, ruang memori yang dipakai olehnya tidak dapat dihapus bila array tersebut sudah tidak digunakan lagi pada saat program dijalankan. Untuk memecahkan masalah di atas, kita dapat menggunakan variabel pointer. Tipe data pointer bersifat dinamis, variabel akan dialokasikan hanya pada saat dibutuhkan dan sesudah tidak dibutuhkan dapat direlokasikan kembali. Setiap ingin menambahkan data, Anda selalu menggunakan variabel pointer yang baru, akibatnya Anda akan membutuhkan banyak sekali pointer. Oleh karena itu, ada baiknya jika Anda hanya menggunakan satu variabel pointer saja untuk menyimpan banyak data dengan metode yang kita sebut Linked List. Linked list adalah sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya terdiri dari dua bagian. Linked adalah koleksi obyek heterogen dengan sifat setiap obyek (kecuali obyek terakhir) mempunyai penerus dan setiap obyek (kecuali obyek pertama) mempunyai pendahulu. Salah satu penggunaan pointer adalah untuk membuat linked list atau senarai berantai. Linked list sendiri dapat diartikan sebagai sekumpulan komponen yang saling berhubungan (berantai) dengan bantuan pointer. Perhatikan ilustrasi berikut untuk lebih jelasnya. Masing-masing komponen disebut sebagai simpul atau node. Setiap simpul terbagi menjadi dua bagian, yaitu bagian data dan bagian penyambung. Bagian data berisi data yang akan disimpan dan diolah. Sedangkan bagian penyambung berisi alamat simpul berikutnya. Inti dari linked list adalah proses (tambah, edit, hapus) dari gerbong/node dan bagaimana rnenyambungkan antar gerbong /node tersebut. ARRAY VS LINKED LIST ARRAY Statis Penambahan / penghapusan data terbatas Random access Penghapusan array tidak mungkin LINKED LIST Dinamis Penambahan / penghapusan data tidak terbatas Sequential access Penghapusan linked list mudah
  • 3. 1. Pembuatan Single Linked List Deklarasi node dibuat dari struct berikut ini: Penjelasan: - Pembuatan struct bernama TNode yang berisi integer dan field next yang bertipe pointer dari TNode. 2 - Setelah pembuatan struct, buat yang berguna sebagai kepala linked list. yang variabel haed field, yaitu bertipe field pointer data bertipe dari TNode 2. Pembentukan Node Baru Digunakan keyword new yang berarti mempersiapkan sebuah node baru berserta alokasi memorinya, kemudian node tersebut diisi data dan pointer next-nya ditunjuk ke NULL
  • 4. 3. Single Linked List Menggunakan Head - 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; Fungsi untuk mengetahui kosong tidaknya Single Linked List jika pointer head tidak menunjuk pada suatu node maka kosong.
  • 5. 4. Penambahan Data Penambahan node baru akan dikaitan di node paling depan, namun pertama kali (data masih kosong), maka penambahan data dilakukan dengan ditunjukkan ke node baru tersebut. Pada prinsipnya adalah mengkaitkan dengan head, kemudian head akan menunjuk pada data baru tersebut sehingga tetap selalu menjadi data terdepan. ilustrasi: pada cara node head saat head baru akan
  • 6. 5. Menampilkan Data Fungsi untuk menampilkan isi single linked list (non circular)
  • 7. Penjelasan : - Fungsi di atas digunakan untuk menampilkan semua isi list, di ditelusuri satu-persatu dari awal node sampai akhir node. dilakukan dengan menggunakan suatu pointer bantu, karena pointer head yang menjadi tanda awal list tidak boleh berubah/berganti posisi. mana linked list Penelusuran ini pada prinsipnya - 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 berkaitan. - Jika head masih NULL berarti data masih kosong. 6. Penghapusan Data Fungsi di atas akan menghapus data teratas (pertama) yang ditunjuk oleh head pada linked list. Penjelasan : - 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.
  • 8. - Sebelum data terdepan dihapus, head harus ditunjukkan ke terlebih dahulu agar list tidak putus, sehingga node setelah menjadi head baru (data terdepan yang baru). - Jika head masih NULL maka berarti data masih kosong. node sesudahnya head lama akan
  • 9. Contoh Sourcecode Stack with Linked List : #include <conio.h> #include <iostream> using namespace std; struct TNode { int data; TNode *next; }; TNode *head; void init() { head=NULL; } int isempty() { if(head==NULL) return 1; else return 0; } void insertdepan (int databaru) { TNode *baru; baru= new TNode; baru->data =databaru; baru->next=NULL; if (isempty()==1) { head=baru; head->next=NULL; } else { baru->next=head; head=baru; } cout<<"Data Masukn"<<endl; } void tampil() { TNode *bantu; bantu=head; if(isempty()==0) { while (bantu!=NULL) {
  • 10. cout<<bantu->data<<" "; bantu=bantu->next; } cout<<endl; } else cout<<"Masih kosongn"; } 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; } cout<<d<<" terhapusn"; } else cout<<"masih kosongn"; } void main() { int pil; int databaru; do { cout<<"linked List"<<endl; cout<<"-----------"<<endl<<endl; cout<<"1.Insert Depan"<<endl; cout<<"2.Tampil"<<endl; cout<<"3.Hapus"<<endl; cout<<"4.Exit"<<endl<<endl; cout<<"pilihan anda= "; cin>>pil; switch(pil) { { case 1: cout<<endl; cout<<"data: "; cin>>databaru; cout<<endl; insertdepan (databaru);
  • 13. Analisa Program : Program di atas menggunakan visual c++ dengan header iostream dan conio.h yang dimana terdapat fungsi cout dan cin. Selain itu, menggunakan using namepace std; untuk menjalankan cout dan cin pada visual c++. Dalam program visual c++ tersebut terdapat node yang berfungsi untuk menyimpan data. 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. Pada sintaks di atas juga terdapat Fungsi IsEmpty yaitu untuk memeriksa apakah stack masih kosong dengan cara memeriksa top of stack, jika masih -1 maka berarti stack masih kosong. Next pada sintaks di atas merupakan address (alamat) dari elemen berikutnya (suksesor) dengan demikian jika didefinisikan first adalah alamat elemen pertama list, maka elemen berikutnya dapat di akses secara suksesif dari field next elemen tersebut. head->next=NULL; artinya head tersebut didefinisikan ke next yang berisi NULL. Program tersebut menggunakan pointer untuk menuju ke alamat yang akan dituju.