Anda di halaman 1dari 6

TUGAS PRAKTIKUM ALGORITMA DAN STRUKTUR DATA

PRAKTIKUM 5

SINGLE LINKED LIST NON CIRCULAR

Nama : Pandu Pramudya

NIM : 18102280

Kelas : S1-IF-06-H

A. Materi

Linked List adalah sejumlah simpul (node) yang dikaitkan dengan simpul yang lain dengan bantuan
pointer dalam suatu urutan tertentu. Suatu linked list dikatakan single linked list apabila hanya ada satu
pointer yang menghubungkan setiap node (satu arah “next”) dan dikatan non sircular jika pointer next
pada node terakhir(tail) menunjuk ke NULL.

a. Buatlah program menggunakan Single Linked List Non Circular untuk

menyimpan Nama dan NIM data mahasiswa berupa NAMA dan NIM.

1. Masukkan data mahasiswa berikut:

NAMA NIM

Dede 12347867

Kiki 98765674

Nina 67453279

Andi 83450120

2. Tampilkan data pada list!

3. Hapus list Andi!

4. Tampilkan lagi data pada list!

Source Code :

#include <iostream>

#include <conio.h>

#include <malloc.h>

#include <cstdlib>
using namespace std;

struct node

string maha;

int nim;

node* next; // untuk menghubungkan dengan node lain, tipe data


dibuat sama seperi aturan penggunaan pointer.

};

node* head;

node* tail;

node* curr;

node* entry;

node* del;

node* bantu;

void inisialisasi()

head = NULL; //Inisialisasi

tail = NULL; //Inisialisasi

void input()

node* baru; //deklarasi pointer baru

for(int i=0;i<4;i++) { //perulangan

baru = new node; //membuat node baru

cout<<"Masukan Nama Mahasiswa : ";


cin>>baru->maha;

cout<<"Masukan NIM Mahasiswa : ";

cin>>baru->nim;

baru->next = NULL; //inisialisasi nilai bary->next

if(head == NULL) {

head = baru; //inisialisaasi head

head->next = NULL;

} else {

bantu = head;

while(bantu->next != NULL) { //Diulang jika nilai bantu->next


tidak NULL

bantu = bantu->next;

bantu->next = baru;

void hapus()

string d; //deklarasi variabel

if (head != NULL) //kondisi jika head !- NULL

if(head->next != NULL) //kondisi jika head->next != NULL

bantu = head; //inisialisaai nilai head

while(bantu->next->next!=NULL) //diulang jika bantu->next->next !=


NULL
{

bantu = bantu->next;

del = bantu->next;

d = del->maha; //mengisis nilai d

bantu->next = NULL;

delete del; //menghapus node del

else

d = head->maha;

head = NULL;

cout<<d<<" terhapus";

else

cout<<"Masih kosong\n";

void cetak()

curr = head;

if(head == NULL) //kondisi jika head = null

cout<<"\ntidak ada data dalam linked list"<<endl;

else

cout<<"Nama Mahasiswa \t NIM \n";

while(curr!=NULL) //diulang jika curr != NULL

cout<<curr->maha<<"\t\t"<<curr->nim<<endl;
curr = curr->next;

cout<<endl;

int main()

int nim;

string mhs;

inisialisasi();

input();

cetak();

hapus();

cout<<endl;

cetak();

return EXIT_SUCCESS;

}
d. Screenshot

Anda mungkin juga menyukai