Laporan Praktikum Struktur Data Modul 9 – Double Linked List

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 
#include 

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:

  1. Tampilkan hasil program setelah dijalankan
    1
  2. 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.
  3. Gambarkan ilustrasi linked list saat ini?
    2
  4. Ada berapa node dari linked list tersebut?
    Ada 5
  5. Apa isi elemen node head?
    SOL
  6. Apa isi elemen node tail?
    RPL
  7. Apa fungsi coding baris 6?
    Diganti menjadi struct semester *prev;, untuk mengarahkan ke struct sebelumnya.
  8. Apa fungsi coding baris 25?
    Mengarahkan ke pointer sebelumnya.
  9. Apa fungsi coding baris 33 dan 34?
    Jika i=2, maka prev mengarah ke pointer first. Jika tidak, prev mengarah ke matakuliah.
  10. 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.
  11. Apa fungsi pointer next dan prev?
    Next mengarah ke struct selanjutnya
    Prev mengarah ke struct sebelumnya
Share

Tinggalkan Balasan