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.