TUJUAN
Mahasiswa mampu menerapkan Double Linked List
Percobaan 1: Double Linked List
Perbaiki dan jalankan coding berikut ini kemudian beri komentar pada setiap baris coding.
#include <stdlib.h> #include <stdio.h> struct semester { struct semester *prev; char jenis[10]; char nama[20]; char sks[1]; struct semester *next; }; struct semester *first, *matakuliah, *tampung; void tampil_FIFO(); main() { int i; first=(struct semester*)malloc(sizeof(struct semester)); printf("masukkan jenis mata kuliah (praktikum/teori): ");gets(first->jenis); printf("masukkan nama mata kuliah : ");gets(first->nama); printf("masukkan jumlah sks : ");gets(first->sks); matakuliah=first; matakuliah->prev=NULL; matakuliah->next=NULL; for(i=2;i<=5;i++) { tampung=(struct semester*)malloc(sizeof(struct semester)); matakuliah->next=tampung; if(i==2)tampung->prev=first; if(i>2)tampung->prev=matakuliah; printf("masukkan jenis mata kuliah (praktikum/teori):");gets(tampung->jenis); printf("masukkan nama matakuliah : ");gets(tampung->nama); printf("masukkan jumlah sks : ");gets(tampung->sks); matakuliah=tampung; matakuliah->next=NULL; } tampil_FIFO(); } tampil_FIFO() { while(first!=NULL) { printf("matakuliah %s %s sejumlah %s sks\n", first->jenis, first->nama, first->sks); first=first->next; } }
Dari percobaan yang telah dilakukan, jawab pertanyaan berikut ini:
- Tampilkan hasil program setelah dijalankan
- Sebutkan jenis Linked List yang dijalankan pada coding tersebut (FIFO atau FILO) dan jelaskan alasannya.
Data disimpan dalam bentuk FILO dan FIFO, karena ada pointer prev dan next.
Walaupun tanpa modifikasi program, akan keluar dalam bentuk FIFO. - Gambarkan ilustrasi linked list saat ini?
- Ada berapa node dari linked list tersebut?
Ada 5 - Apa isi elemen node head?
SOL - Apa isi elemen node tail?
RPL - Apa fungsi coding baris 6?
Diganti menjadi struct semester *prev;, untuk mengarahkan ke struct sebelumnya. - Apa fungsi coding baris 25?
Mengarahkan ke pointer sebelumnya. - Apa fungsi coding baris 33 dan 34?
Jika i=2, maka prev mengarah ke pointer first. Jika tidak, prev mengarah ke matakuliah. - Apa ciri-ciri sebuah double linked list berdasarkan jenis pointer yang ada didalam struct?
Double Linked List ada *prev dan *next, berarti struct bisa dimundurkan ataupun dimajukan. - Apa fungsi pointer next dan prev?
Next mengarah ke struct selanjutnya
Prev mengarah ke struct sebelumnya
Incoming Terms
- Laporan Praktikum Struktur Data
- Laporan Linked List
- Laporan Praktikum Struktur Data Modul 9
- Laporan Double Linked List
- Laporan Praktikum Struktur Data Tentang Double Linked List
- Laporan Double Link List
- Laporan Praktikum Struktur Data Modul 1
- Laporan Praktikum Linked List