![Page 1: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/1.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
LIST REKURSIF
Danang Wahyu Utomo
+6285 740 955 623
![Page 2: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/2.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
RENCANA KEGIATAN PERKULIAHAN SEMESTER
W Pokok Bahasan
1 ADT Stack
2 ADT Queue
3 List Linear
4 List Linear
5 List Linear
6 Representasi Fisik List Linear
7 Variasi List Linear
8 UjianTengah Semester
W Pokok Bahasan
9 Variasi List Linear
10 Double Linked List
11 Stack dengan Representasi List
12 Queue dengan Representasi List
13 List Rekursif
14 Pohon dan Pohon Biner
15 Multi List
16 Ujian Akhir Semester
![Page 3: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/3.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Konten
Pendekatan Iteratif dan Rekursif
Membalik List secara Iteratif
Fungsi Rekursif pada Memory
Membalik List secara Rekursif
![Page 4: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/4.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Pendekatan Iteratif dan Rekursif
Pendekatan iteratif menggunakan proses perulangan(loop) untuk menyelesaikan masalah
Dalam konteks prosedural kita memiliki loop sebagaimekanisme untuk mengulang
Suatu entitas disebut rekursif jika pada definisinyaterkandung dirinya sendiri
Program prosedural juga dapat bersifat rekursif
Fungsi rekursif adalah fungsi yang memanggil dirinyasendiri
![Page 5: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/5.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara Iteratif
Input
Output
10 200 8 300 14 400 7 Null
100 200 300 400
100
Head
10 Null 8 100 14 200 7 300
100 200 300 400
400
Head
![Page 6: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/6.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara Iteratif
Diperlukan tiga variabel pointer :
- Current
membentuk link baru sekaligus memutus link sebelumnya
- Next
memindahkan pointer current ke node selanjutnya setelah link sebelumnya diputus
- Previous
menyimpan alamat node sebelumnya setelah link diputus
10 Null 8 300 14 400 7 Null
100 200 300 400
100
head
100prev
200curr
200next
![Page 7: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/7.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara Iteratif
Diperlukan tiga variabel pointer :
- Current
membentuk link baru sekaligus memutus link sebelumnya
- Next
memindahkan pointer current ke node selanjutnya setelah link sebelumnya diputus
- Previous
menyimpan alamat node sebelumnya setelah link diputus
10 Null 8 300 14 400 7 Null
100 200 300 400
100
head
100prev
200curr
200next
![Page 8: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/8.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara Iteratif
Diperlukan tiga variabel pointer :
- Current
membentuk link baru sekaligus memutus link sebelumnya
- Next
memindahkan pointer current ke node selanjutnya setelah link sebelumnya diputus
- Previous
menyimpan alamat node sebelumnya setelah link diputus
10 Null 8 100 14 400 7 Null
100 200 300 400
100
head
100prev
200curr
200next
![Page 9: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/9.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara Iteratif
Fungsi membalik list secara iteratifvoid balikListIteratif(){
Node *curr, *prev, *next;
curr = head;
prev = NULL;
while(curr != NULL){
next = curr->next;
curr->next = prev;
prev = curr;
curr = next;
}
head = prev;
}
![Page 10: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/10.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Fungsi Rekursif pada Memory
Memory yang dialokasikan pada sebuah program/aplikasiumumnya dibagi menjadi 4 bagian :
Heap /
Free Store
Bersifat Dinamis:
Ukuran memori dapat berubah ketika
program dijalankan
Stack Bersifat Statis:
• ukuran memori ditentukan ketika
kompilasi
• ukuran memori tidak dapat berubahStatic/Global
Code(Text)
![Page 11: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/11.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Fungsi Rekursif pada Memory
Memory yang dialokasikan pada sebuah program/aplikasiumumnya dibagi menjadi 4 bagian :
Heap /
Free Store
Memori yang dapat di-request selama program
berjalan
Stack
Menyimpan semua informasi tentang
pemanggilan fungsi untuk menyimpan
semua variabel lokal
Static/Global Menyimpan variabel global selama program berjalan
Code(Text)Menyimpan semua perintah yang akan
dijalankan/dieksekusi
![Page 12: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/12.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Fungsi Rekursif pada Memory
Stack memory dialokasikan ketikaterjadi pemanggilan fungsi tertentu
Nilai dan kondisi terakhir padapemanggilan fungsi tetap tersimpanpada stack memory
Fungsi baru akan ditumpuk (berjalan) diatas fungsi sebelumnya (sekaligusmenghentikan sementara eksekusifungsi sebelumnya) pada stack memory
Stack Memory
main ()
![Page 13: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/13.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Fungsi Rekursif pada Memory
Stack memory dialokasikan ketika terjadipemanggilan fungsi tertentu
Nilai dan kondisi terakhir padapemanggilan fungsi tetap tersimpanpada stack memory
Fungsi baru akan ditumpuk (berjalan) diatas fungsi sebelumnya (sekaligusmenghentikan sementara eksekusifungsi sebelumnya) pada stack memory
Stack Memory
main ()
Fungsi_1(x)
![Page 14: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/14.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Fungsi Rekursif pada Memory
Stack memory dialokasikan ketika terjadipemanggilan fungsi tertentu
Nilai dan kondisi terakhir padapemanggilan fungsi tetap tersimpanpada stack memory
Fungsi baru akan ditumpuk (berjalan) diatas fungsi sebelumnya (sekaligusmenghentikan sementara eksekusifungsi sebelumnya) pada stack memory
Stack Memory
main ()
Fungsi_1(x)
Fungsi_1(y)
![Page 15: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/15.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Fungsi Rekursif pada Memory
Stack memory dialokasikan ketika terjadipemanggilan fungsi tertentu
Nilai dan kondisi terakhir padapemanggilan fungsi tetap tersimpanpada stack memory
Fungsi baru akan ditumpuk (berjalan) diatas fungsi sebelumnya (sekaligusmenghentikan sementara eksekusifungsi sebelumnya) pada stack memory
Jika fungsi pada tumpukan paling atasselesai dijalankan, fungsi pada tumpukandibawahnya akan dijalankan kembali
Stack Memory
main ()
Fungsi_1(x)
Fungsi_1(y)
![Page 16: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/16.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara Rekursif
Input
Output
10 200 8 300 14 400 7 Null
100 200 300 400
100
Head
10 Null 8 100 14 200 7 300
100 200 300 400
400
Head
![Page 17: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/17.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara Rekursif
Fungsi Membalik list secara Rekursif
void balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next); //rekursif
p->next->next = p;
p->next = NULL;
}
10 200
100
7 Null
400
8 300
200
14 400
300
head = 100
![Page 18: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/18.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=100
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
![Page 19: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/19.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=100
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
balikRekursif()p = 100
![Page 20: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/20.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=100
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
balikRekursif()p = 100
![Page 21: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/21.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=100
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
balikRekursif()p = 100
![Page 22: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/22.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=100
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
balikRekursif()p = 100
![Page 23: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/23.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=100
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
balikRekursif()p = 100
![Page 24: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/24.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=100
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
balikRekursif()p = 100
balikRekursif()p = 200
![Page 25: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/25.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=100
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
balikRekursif()p = 100
balikRekursif()p = 200
![Page 26: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/26.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=100
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
balikRekursif()p = 100
balikRekursif()p = 200
![Page 27: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/27.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=100
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
balikRekursif()p = 100
balikRekursif()p = 200
![Page 28: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/28.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=100
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
balikRekursif()p = 100
balikRekursif()p = 200
balikRekursif()p = 300
![Page 29: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/29.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=100
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
balikRekursif()p = 100
balikRekursif()p = 200
balikRekursif()p = 300
![Page 30: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/30.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=100
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
balikRekursif()p = 100
balikRekursif()p = 200
balikRekursif()p = 300
![Page 31: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/31.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=100
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
balikRekursif()p = 100
balikRekursif()p = 200
balikRekursif()p = 300
![Page 32: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/32.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=100
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
balikRekursif()p = 100
balikRekursif()p = 200
balikRekursif()p = 300
balikRekursif()p = 400
![Page 33: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/33.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=100
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
balikRekursif()p = 100
balikRekursif()p = 200
balikRekursif()p = 300
balikRekursif()p = 400
![Page 34: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/34.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=100
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
balikRekursif()p = 100
balikRekursif()p = 200
balikRekursif()p = 300
balikRekursif()p = 400
![Page 35: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/35.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
balikRekursif()p = 100
balikRekursif()p = 200
balikRekursif()p = 300
balikRekursif()p = 400
![Page 36: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/36.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
balikRekursif()p = 100
balikRekursif()p = 200
balikRekursif()p = 300
balikRekursif()p = 400
head = 400
![Page 37: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/37.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
balikRekursif()p = 100
balikRekursif()p = 200
balikRekursif()p = 300
head = 400
![Page 38: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/38.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
balikRekursif()p = 100
balikRekursif()p = 200
balikRekursif()p = 300
head = 400
![Page 39: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/39.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
balikRekursif()p = 100
balikRekursif()p = 200
balikRekursif()p = 300
head = 400
sudah dijalankan sebelumnya
![Page 40: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/40.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
balikRekursif()p = 100
balikRekursif()p = 200
balikRekursif()p = 300
head = 400
sudah dijalankan sebelumnya
![Page 41: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/41.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 Null
400
14 400
300
8 300
200
7 Null
400
14 400
300
balikRekursif()p = 100
balikRekursif()p = 200
balikRekursif()p = 300
head = 400
sudah dijalankan sebelumnya
![Page 42: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/42.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 300
400
14 400
300
8 300
200
7
400
14 400
300
balikRekursif()p = 100
balikRekursif()p = 200
balikRekursif()p = 300
head = 400
sudah dijalankan sebelumnya
![Page 43: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/43.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 300
400
14 400
300
8 300
200
7
400
14 400
300
balikRekursif()p = 100
balikRekursif()p = 200
balikRekursif()p = 300
head = 400
sudah dijalankan sebelumnya
![Page 44: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/44.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 300
400
14 Null
300
8 300
200
7
400
14
300
balikRekursif()p = 100
balikRekursif()p = 200
balikRekursif()p = 300
head = 400
sudah dijalankan sebelumnya
![Page 45: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/45.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 300
400
14 Null
300
8 300
200
7
400
14
300
balikRekursif()p = 100
balikRekursif()p = 200
balikRekursif()p = 300
head = 400
![Page 46: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/46.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 300
400
14 Null
300
8 300
200
7
400
14
300
balikRekursif()p = 100
balikRekursif()p = 200
head = 400
![Page 47: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/47.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 300
400
14 Null
300
8 300
200
7
400
14
300
balikRekursif()p = 100
balikRekursif()p = 200
head = 400
![Page 48: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/48.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 300
400
14 Null
300
8 300
200
7
400
14
300
balikRekursif()p = 100
balikRekursif()p = 200
head = 400
sudah dijalankan sebelumnya
![Page 49: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/49.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 300
400
14 Null
300
8 300
200
7
400
14
300
balikRekursif()p = 100
balikRekursif()p = 200
head = 400
sudah dijalankan sebelumnya
![Page 50: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/50.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 300
400
14 Null
300
8 300
200
7
400
14
300
balikRekursif()p = 100
balikRekursif()p = 200
head = 400
sudah dijalankan sebelumnya
![Page 51: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/51.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 300
400
14 200
300
8 300
200
7
400
14
300
balikRekursif()p = 100
balikRekursif()p = 200
head = 400
sudah dijalankan sebelumnya
![Page 52: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/52.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 300
200
10 200
100main()
7 300
400
14 200
300
8 300
200
7
400
14
300
balikRekursif()p = 100
balikRekursif()p = 200
head = 400
sudah dijalankan sebelumnya
![Page 53: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/53.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 Null
200
10 200
100main()
7 300
400
14 200
300
8
200
7
400
14
300
balikRekursif()p = 100
balikRekursif()p = 200
head = 400
sudah dijalankan sebelumnya
![Page 54: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/54.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 Null
200
10 200
100main()
7 300
400
14 200
300
8
200
7
400
14
300
balikRekursif()p = 100
balikRekursif()p = 200
head = 400
sudah dijalankan sebelumnya
![Page 55: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/55.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 Null
200
10 200
100main()
7 300
400
14 200
300
8
200
7
400
14
300
balikRekursif()p = 100
head = 400
![Page 56: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/56.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 Null
200
10 200
100main()
7 300
400
14 200
300
8
200
7
400
14
300
balikRekursif()p = 100
head = 400
![Page 57: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/57.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 Null
200
10 200
100main()
7 300
400
14 200
300
8
200
7
400
14
300
balikRekursif()p = 100
head = 400
sudah dijalankan sebelumnya
![Page 58: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/58.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 Null
200
10 200
100main()
7 300
400
14 200
300
8
200
7
400
14
300
balikRekursif()p = 100
head = 400
sudah dijalankan sebelumnya
![Page 59: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/59.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 Null
200
10 200
100main()
7 300
400
14 200
300
8
200
7
400
14
300
balikRekursif()p = 100
head = 400
sudah dijalankan sebelumnya
![Page 60: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/60.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 100
200
10 200
100main()
7 300
400
14 200
300
8
200
7
400
14
300
balikRekursif()p = 100
head = 400
sudah dijalankan sebelumnya
![Page 61: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/61.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 100
200
10 200
100main()
7 300
400
14 200
300
8
200
7
400
14
300
balikRekursif()p = 100
head = 400
sudah dijalankan sebelumnya
![Page 62: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/62.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 100
200
10 Null
100main()
7 300
400
14 200
300
8
200
7
400
14
300
balikRekursif()p = 100
head = 400
sudah dijalankan sebelumnya
![Page 63: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/63.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 100
200
10 Null
100main()
7 300
400
14 200
300
8
200
7
400
14
300
balikRekursif()p = 100
head = 400
sudah dijalankan sebelumnya
![Page 64: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/64.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 100
200
10 Null
100main()
7 300
400
14 200
300
8
200
7
400
14
300
head = 400
![Page 65: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/65.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 100
200
10 Null
100main()
7 300
400
14 200
300
8
200
7
400
14
300
head = 400
fungsi sudah dijalankan sebelumnya
![Page 66: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/66.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 100
200
10 Null
100main()
7 300
400
14 200
300
8
200
7
400
14
300
head = 400
fungsi sudah dijalankan sebelumnya
![Page 67: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/67.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
Stack Memory Heap Memory
8 100
200
10 Null
100main()
7 300
400
14 200
300
8
200
7
400
14
300
head = 400
![Page 68: LIST REKURSIF - core.ac.uk · DanangWahyu Utomo, M.Kom, M.CS Konten Pendekatan Iteratif dan Rekursif Membalik List secara Iteratif Fungsi Rekursif pada Memory Membalik List secara](https://reader030.vdocuments.site/reader030/viewer/2022021716/5c921a7909d3f258468cdab5/html5/thumbnails/68.jpg)
Danang Wahyu Utomo, M.Kom, M.CS
Membalik List secara RekursifFungsi membalik list secara Rekursifvoid balikRekursif (Node *p){
if(p->next == NULL){
head = p;
return;
}
balikRekursif(p->next);
p->next->next = p;
p->next = NULL;
}
void main(){
balikRekursif(head);//head=400
}
10 Null
100
7 300
400
8 100
200
14 200
300
head = 400