Daftar Blog Saya

Kamis, 24 September 2020

TUGAS MATA KULIAH STRUKTUR DATA Pertemuan Ke-9 " Animasi Linear Singly Linked List Untuk Mengelola Data Mahasiswa "

Bismillah, 

Assalamualaikum Wr.Wb.


Hello My Name Is Alif Yoga Prasetya 😉

Disini Saya Akan Membagikan Tugas Perkuliahan Dengan Mata Kuliah " Struktur Data "



SOAL :

Buat program animasi Linear Singly Linked List untuk mengelola data mahasiswa dengan struktur mahasiswa sbb : NAMA, NIM, GENDER, NILAI STRUKTUR DATA. Program dibuat dalam bentuk menu dengan pilihan : INSERT DATA, HAPUS DATA, CETAK DATA, EXIT. Ket :

INSER DATA : menyisipkan satu simpul pada akhir linked list HAPUS DATA :menghapus satu simpul pada akhir linked list CETAK DATA : mencetak seluruh isi linked list EXIT : Keluar/selesai.


JAWABAN :


SOURCE CODE PROGRAM


#include <iostream>

#include <conio.h>

#include <iomanip> //setw()

using namespace std;

struct Data_node

{

char nama[25];

char kelas[7];

char nim[10];

char nilai[5];

};

struct node

{

Data_node data;

node *next;

};

node *_head;

node *_tail;

node *_curr;

node *_entry;

node *_del;

void inisialisasi()

{

_head = NULL;

_tail = NULL;

}

void input(Data_node dt)

{

_entry = (node *)malloc(sizeof(node)); //alokasi memori

_entry->data = dt; //penugasan struktur

_entry->next = NULL;

if (_head == NULL)

{

_head = _entry;

_tail = _head;

}

else

{

_tail->next = _entry;

_tail = _entry;

}

}

void hapus()

{

node _simpan;

if (_head == NULL)

{

cout << "\nLinked list kosong, penghapusan tidak bisa dilakukan." << endl;

}

else

{

_simpan.data = _head->data;

cout << "\nData yang dihapus adalah ";

cout << _simpan.data.nama << "/" << _simpan.data.kelas << "/" << _simpan.data.nim << "/" << _simpan.data.nilai << endl;

//hapus depan

_del = _head;

_head = _head->next;

delete _del;

}

}

void cetak()

{

_curr = _head;

if (_head == NULL)

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

else

{

cout << "\nData yang ada dalam linked list : \n"

<< endl;

cout << "\t";

while (_curr != NULL)

{

cout << _curr->data.nama << "/" << _curr->data.kelas << "/" << _curr->data.nim << "/" << _curr->data.nilai;

cout << " -> ";

_curr = _curr->next;

}

cout << "NULL";

cout << endl;

}

}

void menu()

{

char pilih, ulang;

node tmp;

do

{

fflush(stdin);

system("cls");

cout << "~•~•~•~•~•~•~•~•~•~•~•~•" << endl;

cout << "LINEAR SINGLY LINKED LIST" << endl;

cout << "~•~•~•~•~•~•~•~•~•~•~•~•" << endl;

cout << "Menu : " << endl;

cout << "1. Insert data" << endl;

cout << "2. Hapus data" << endl;

cout << "3. Cetak Data" << endl;

cout << "4. Exit" << endl;

cout << "Masukkan pilihan Anda : ";

cin >> pilih;

switch (pilih)

{

case '1':

fflush(stdin);

cout << "\nMasukkan nama : ";

cin >> tmp.data.nama;

cout << "Masukkan Gender : ";

cin >> tmp.data.kelas;

cout << "Masukkan NIM : ";

cin >> tmp.data.nim;

cout << "Masukkan Nilai Struktur Data : ";

cin >> tmp.data.nilai;

input(tmp.data);

break;

case '2':

hapus();

break;

case '3':

cetak();

break;

case '4':

exit(0);

break;

default:

cout << "\nPilihan salah" << endl;

}

cout << "\nKembali ke menu?(y/n)";

cin >> ulang;

} while (ulang == 'y' || ulang == 'Y');

}

int main()

{

inisialisasi();

menu();

return EXIT_SUCCESS;

}


TAMPILAN OUTPUT


  • INSERT :





  • MENAMPILKAN/CETAK :


  • MENGHAPUS DATA :


  • EXIT :



Wa'alaikumussalam Warahmatullahi Wabarakatuh 😎

Tidak ada komentar:

Posting Komentar

Catatan: Hanya anggota dari blog ini yang dapat mengirim komentar.

TUGAS STRUKTUR DATA PERTEMUAN KE-4 " STACK (TUMPUKKAN) "

Bismillah,  Assalamualaikum Wr.Wb. Hello My Name Is Alif Yoga Prasetya 😉 Disini Saya Akan Membagikan Tugas Perkuliahan Dengan Mata Kuliah &...