uas praktikum struktur data
TRANSCRIPT
-
7/26/2019 Uas Praktikum Struktur Data
1/64
UAS PRAKTIKUM STRUKTUR DATA
PROGRAM PENGOLAHAN DATA DAN
NILAI MAHASISWA
1.1 Penjelasan ProgramProgram pengolahan data dan nilai mahasiswa ini berisi fitur menu
menambahkan data mahasiwa, menampilkan hasil rata-rata dari
mahasiswa serta lulus dan tidak lulus nya nilai mahasiswa, mencari nilai
mahasiswa berdasarkan inputan yang ditambahkan di menu tambah data,
mensorting data mahasiswa berdasarkan inputan mahasiswa, menghapus
data mahasiswa yang telah di- inputkan sebelumnya.
1.2 Listing Program
/* Program data nilai mahasiswa menggunakan linked list*//* by ashry ramadhan *//* 29 may 2016, sunday , jam 14:57 WIB */
// header#include #include
#include #include
using namespace std;
void warna(unsigned short color){
HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleTextAttribute(hCon,color);
}
// struct data siswa
struct node{
-
7/26/2019 Uas Praktikum Struktur Data
2/64
string nama;string pel;
int noabsen;int NIM;float rata;float kehadiran;float nilaiUTS;float nilaiUAS;float tugas;node *next, *prev;};
// pendeklarasian tipe data nodenode *baru, *head=NULL, *tail=NULL, *bantu, *hapus;
// pendeklarasian variable globalint rata;int posisi;int banyakdata;int poshapus;float kehadiran;float tugas;float nilaiUTS;float nilaiUAS;int x_noabsen;int x_NIM;char x_mapel[50];
char x_nama[50];int x_kehadiran;int x_rata;int x_nilaitugas;int x_nilaiUTS;int x_nilaiUAS;char pass[256];char userName[256];char myPass[50] = {'1','2','3','4','5','6','7','8'}; //passwordchar myUname[50] = {'a','s','h','r','y'}; // username
// method tambah data baruvoid data_baru_siswa(){
string name;string mapel;
baru = new(node);cout > baru->noabsen;cout nama = name;
-
7/26/2019 Uas Praktikum Struktur Data
3/64
cout > baru->NIM;cout pel = mapel;
warna(10);cout
-
7/26/2019 Uas Praktikum Struktur Data
4/64
warna(12);cout nilaiUTS < 0);
do{cout baru->nilaiUAS;
if(baru->nilaiUAS > 100 || baru->nilaiUAS < 0){
warna(12);
cout nilaiUAS < 0 );baru->next=NULL;baru->prev=NULL;}
void password(){start :
system("cls");cout
-
7/26/2019 Uas Praktikum Struktur Data
5/64
data_baru_siswa();if(head==NULL){
head=baru;tail=baru;}else{
// tambah data ke tail listtail->next=baru;tail=baru->prev;baru->next=NULL;tail=baru;
}cout prev=NULL;head=baru;
}cout
-
7/26/2019 Uas Praktikum Struktur Data
6/64
cout
-
7/26/2019 Uas Praktikum Struktur Data
7/64
}getch();
}
// searching namavoid cari_data_nama(){
int flag=0;
if(head==NULL){cout nama == x_nama){// pemberian warna hijau pada data
yang di cariwarna(10);cout
-
7/26/2019 Uas Praktikum Struktur Data
8/64
if(bantu->rata > 90 && bantu->rata rata rata > 70 && bantu-
>rata rata > 60 && bantu-
>rata rata rata >= 0 && bantu-
>rata rata < 50 && bantu->rata >=
0){
cout
-
7/26/2019 Uas Praktikum Struktur Data
9/64
}}
}
// searching NIMvoid cari_data_NIM(){
int flag=0;
if(head==NULL){cout NIM == x_NIM){
warna(10);cout
-
7/26/2019 Uas Praktikum Struktur Data
10/64
>rata rata > 70 && bantu->rata rata rata rata >= 0 && bantu->rata =0)
{cout
-
7/26/2019 Uas Praktikum Struktur Data
11/64
int flag=0;
if(head==NULL){cout noabsen == x_noabsen){warna(10);cout
-
7/26/2019 Uas Praktikum Struktur Data
12/64
B";else if(bantu->rata > 60 && bantu-
>rata rata rata =0){
cout
-
7/26/2019 Uas Praktikum Struktur Data
13/64
else{
bantu=head;while(bantu!=NULL) {if(bantu->rata == x_rata){
warna(10);cout
-
7/26/2019 Uas Praktikum Struktur Data
14/64
>rata rata >= 0 && bantu->rata =0)
{cout
-
7/26/2019 Uas Praktikum Struktur Data
15/64
cout
-
7/26/2019 Uas Praktikum Struktur Data
16/64
E";
if(bantu->rata < 50 && bantu->rata >=0){
cout
-
7/26/2019 Uas Praktikum Struktur Data
17/64
NIM;cout
-
7/26/2019 Uas Praktikum Struktur Data
18/64
: TIDAK LULUS!!";}
else{cout
-
7/26/2019 Uas Praktikum Struktur Data
19/64
tugas;cout nilaiUAS)*0.4);rata =
kehadiran+tugas+nilaiUTS+nilaiUAS;bantu->rata=rata;
cout 90 && bantu->rata rata > 80 && bantu-
>rata rata > 70 && bantu-
>rata rata rata rata =0)
{cout
-
7/26/2019 Uas Praktikum Struktur Data
20/64
}cout
-
7/26/2019 Uas Praktikum Struktur Data
21/64
-
7/26/2019 Uas Praktikum Struktur Data
22/64
bantu=bantu->next;}
if(flag==0)cout
-
7/26/2019 Uas Praktikum Struktur Data
23/64
kehadiran+tugas+nilaiUTS+nilaiUAS;bantu->rata=rata;
cout 90 && bantu->rata rata > 80 && bantu-
>rata rata > 70 && bantu-
>rata rata rata > 50 && bantu-
>rata rata >= 0 && bantu-
>rata =0)
{cout
-
7/26/2019 Uas Praktikum Struktur Data
24/64
{cout next-
>noabsen){
// memindahkan no absentempnoabsen=bantu->noabsen;bantu->noabsen=bantu->next-
>noabsen;bantu->next-
>noabsen=tempnoabsen;
// memindahkan namatempnama=bantu->nama;bantu->nama=bantu->next->nama;
bantu->next->nama=tempnama;
-
7/26/2019 Uas Praktikum Struktur Data
25/64
// memindahkan NIM
tempNIM=bantu->NIM;bantu->NIM=bantu->next->NIM;bantu->next->NIM=tempNIM;
// memindahkan mata pelajarantempmapel=bantu->pel;bantu->pel=bantu->next->pel;bantu->next->pel=tempmapel;
// memindahkan kehadirantempkehadiran=bantu->kehadiran;bantu->kehadiran=bantu->next-
>kehadiran; bantu->next->kehadiran=tempkehadiran;
// memindahkan tugastemptugas=bantu->tugas;bantu->tugas=bantu->next->tugas;bantu->next->tugas=temptugas;
// memindahkan UTStempnilaiUTS=bantu->nilaiUTS;bantu->nilaiUTS=bantu->next-
>nilaiUTS;bantu->next-
>nilaiUTS=tempnilaiUTS;
// memindahkan UAStempnilaiUAS=bantu->nilaiUAS;bantu->nilaiUAS=bantu->next-
>nilaiUAS;bantu->next-
>nilaiUAS=tempnilaiUAS;
// memindahkan rata
temprata=bantu->rata;bantu->rata=bantu->next->rata;bantu->next->rata=temprata;
}else// perulangan berlanjut
bantu = bantu->next;}bantu=head; // reset bantu
}}}
-
7/26/2019 Uas Praktikum Struktur Data
26/64
// sorting berdasarkan nilai rata - rata yang diperolahdari rumus rata - rata
void sort_data_rata() {// pendeklarasian variabel temp masing - masingattributstring tempnama;string tempmapel;int counter;int tempnoabsen;int tempkehadiran;int tempNIM;int temptugas;int tempnilaiUTS;int tempnilaiUAS;
int temprata;
// kondisi jika list kosongif(head==NULL){
cout next;counter++;
}
bantu=head;for(int i=0; inext){
// kondisi membandingkan nilai rata -rata
if(bantu->rata < bantu->next->rata){
// memindahkan no absen
tempnoabsen=bantu->noabsen;bantu->noabsen=bantu->next-
>noabsen;bantu->next-
>noabsen=tempnoabsen;
// memindahkan namatempnama=bantu->nama;bantu->nama=bantu->next->nama;bantu->next->nama=tempnama;
// memindahkan NIM
tempNIM=bantu->NIM;
-
7/26/2019 Uas Praktikum Struktur Data
27/64
bantu->NIM=bantu->next->NIM;bantu->next->NIM=tempNIM;
// memindahkan mata pelajarantempmapel=bantu->pel;bantu->pel=bantu->next->pel;bantu->next->pel=tempmapel;
// memindahkan kehadirantempkehadiran=bantu->kehadiran;bantu->kehadiran=bantu->next-
>kehadiran;bantu->next-
>kehadiran=tempkehadiran;
// memindahkan tugastemptugas=bantu->tugas;bantu->tugas=bantu->next->tugas;bantu->next->tugas=temptugas;
// memindahkan UTStempnilaiUTS=bantu->nilaiUTS;bantu->nilaiUTS=bantu->next-
>nilaiUTS;bantu->next-
>nilaiUTS=tempnilaiUTS;
// memindahkan UAStempnilaiUAS=bantu->nilaiUAS;bantu->nilaiUAS=bantu->next-
>nilaiUAS;bantu->next-
>nilaiUAS=tempnilaiUAS;
// memindahkan ratatemprata=bantu->rata;bantu->rata=bantu->next->rata;bantu->next->rata=temprata;
}else
// perulangan berlanjutbantu = bantu->next;
}bantu=head; // reset bantu
}}}
// sorting berdasarkan nama menggunakan nilai characterdari kode ASCII
void sort_data_nama() {
-
7/26/2019 Uas Praktikum Struktur Data
28/64
// pendeklarasian variabel temp masing - masingattribut
string tempnama;string tempmapel;int counter;int tempnoabsen;int tempkehadiran;int tempNIM;int temptugas;int tempnilaiUTS;int tempnilaiUAS;int temprata;
// kondisi jika list kosong
if(head==NULL){cout next;counter++;
}
// memulai sorting dengan bantuan counter diatasbantu=head;for(int i=0; inext){
// kondisi membandingkan kode ASCIIdari character nama yang di input
if(bantu->nama > bantu->next->nama){
// memindahkan no absentempnoabsen=bantu->noabsen;
bantu->noabsen=bantu->next->noabsen;
bantu->next->noabsen=tempnoabsen;
// memindahkan namatempnama=bantu->nama;bantu->nama=bantu->next->nama;bantu->next->nama=tempnama;
// memindahkan NIMtempNIM=bantu->NIM;
bantu->NIM=bantu->next->NIM;
-
7/26/2019 Uas Praktikum Struktur Data
29/64
bantu->next->NIM=tempNIM;
// memindahkan mata pelajarantempmapel=bantu->pel;bantu->pel=bantu->next->pel;bantu->next->pel=tempmapel;
// memindahkan kehadirantempkehadiran=bantu->kehadiran;bantu->kehadiran=bantu->next-
>kehadiran;bantu->next-
>kehadiran=tempkehadiran;
// memindahkan tugastemptugas=bantu->tugas;bantu->tugas=bantu->next->tugas;bantu->next->tugas=temptugas;
// memindahkan UTStempnilaiUTS=bantu->nilaiUTS;bantu->nilaiUTS=bantu->next-
>nilaiUTS;bantu->next-
>nilaiUTS=tempnilaiUTS;
// memindahkan UAStempnilaiUAS=bantu->nilaiUAS;bantu->nilaiUAS=bantu->next-
>nilaiUAS;bantu->next-
>nilaiUAS=tempnilaiUAS;
// memindahkan ratatemprata=bantu->rata;bantu->rata=bantu->next->rata;bantu->next->rata=temprata;
}
else//perulangan lanjutbantu = bantu->next;
}bantu=head; // reset bantu
}}}
// sorting berdasarkan NIMvoid sort_data_NIM() {// pendeklarasian variabel temp masing - masing
attribut
-
7/26/2019 Uas Praktikum Struktur Data
30/64
string tempnama;string tempmapel;
int counter;int tempnoabsen;int tempkehadiran;int tempNIM;int temptugas;int tempnilaiUTS;int tempnilaiUAS;int temprata;
// kondisi jika list kosongif(head==NULL){
cout next;counter++;
}
// memulai sorting dengan bantuan counter diatasbantu=head;
for(int i=0; inext){
// kondisi membandingkan nilai NIMif(bantu->NIM > bantu->next->NIM){
// memindahkan no absentempnoabsen=bantu->noabsen;bantu->noabsen=bantu->next-
>noabsen;bantu->next-
>noabsen=tempnoabsen;
// memindahkan namatempnama=bantu->nama;bantu->nama=bantu->next->nama;bantu->next->nama=tempnama;
// memindahkan NIMtempNIM=bantu->NIM;bantu->NIM=bantu->next->NIM;bantu->next->NIM=tempNIM;
// memindahkan mata pelajaran
-
7/26/2019 Uas Praktikum Struktur Data
31/64
tempmapel=bantu->pel;bantu->pel=bantu->next->pel;
bantu->next->pel=tempmapel;
// memindahkan kehadirantempkehadiran=bantu->kehadiran;bantu->kehadiran=bantu->next-
>kehadiran;bantu->next-
>kehadiran=tempkehadiran;
// memindahkan tugastemptugas=bantu->tugas;bantu->tugas=bantu->next->tugas;
bantu->next->tugas=temptugas;
// memindahkan UTStempnilaiUTS=bantu->nilaiUTS;bantu->nilaiUTS=bantu->next-
>nilaiUTS;bantu->next-
>nilaiUTS=tempnilaiUTS;
// memindahkan UAStempnilaiUAS=bantu->nilaiUAS;bantu->nilaiUAS=bantu->next-
>nilaiUAS;bantu->next-
>nilaiUAS=tempnilaiUAS;
// memindahkan ratatemprata=bantu->rata;bantu->rata=bantu->next->rata;bantu->next->rata=temprata;
}else
//perulangan lanjutbantu = bantu->next;
}bantu=head; // reset bantu
}}}
// sorting berdasarkan mata pelajaranvoid sort_data_mapel() {// pendeklarasian variabel temp masing - masingattributstring tempnama;string tempmapel;
int counter;
-
7/26/2019 Uas Praktikum Struktur Data
32/64
int tempnoabsen;int tempkehadiran;
int tempNIM;int temptugas;int tempnilaiUTS;int tempnilaiUAS;int temprata;
// kondisi jika list kosongif(head==NULL){
cout next;counter++;
}
// memulai sorting dengan bantuan counter diatasbantu=head;for(int i=0; inext)
{// kondisi membandingkan nilai NIMif(bantu->pel > bantu->next->pel){
// memindahkan no absentempnoabsen=bantu->noabsen;bantu->noabsen=bantu->next-
>noabsen;bantu->next-
>noabsen=tempnoabsen;
// memindahkan nama
tempnama=bantu->nama;bantu->nama=bantu->next->nama;bantu->next->nama=tempnama;
// memindahkan NIMtempNIM=bantu->NIM;bantu->NIM=bantu->next->NIM;bantu->next->NIM=tempNIM;
// memindahkan mata pelajarantempmapel=bantu->pel;bantu->pel=bantu->next->pel;
bantu->next->pel=tempmapel;
-
7/26/2019 Uas Praktikum Struktur Data
33/64
// memindahkan kehadiran
tempkehadiran=bantu->kehadiran;bantu->kehadiran=bantu->next->kehadiran;
bantu->next->kehadiran=tempkehadiran;
// memindahkan tugastemptugas=bantu->tugas;bantu->tugas=bantu->next->tugas;bantu->next->tugas=temptugas;
// memindahkan UTS
tempnilaiUTS=bantu->nilaiUTS;bantu->nilaiUTS=bantu->next->nilaiUTS;
bantu->next->nilaiUTS=tempnilaiUTS;
// memindahkan UAStempnilaiUAS=bantu->nilaiUAS;bantu->nilaiUAS=bantu->next-
>nilaiUAS;bantu->next-
>nilaiUAS=tempnilaiUAS;
// memindahkan ratatemprata=bantu->rata;bantu->rata=bantu->next->rata;bantu->next->rata=temprata;
}else
//perulangan lanjutbantu = bantu->next;
}bantu=head; // reset bantu
}
}}
// sorting berdasarkan jumlah kehadiranvoid sort_data_kehadiran() {// pendeklarasian variabel temp masing - masingattributstring tempnama;string tempmapel;int counter;int tempnoabsen;int tempkehadiran;
int tempNIM;
-
7/26/2019 Uas Praktikum Struktur Data
34/64
int temptugas;int tempnilaiUTS;
int tempnilaiUAS;int temprata;
// kondisi jika list kosongif(head==NULL){
cout next;counter++;}
// memulai sorting dengan bantuan counter diatasbantu=head;for(int i=0; inext){
// kondisi membandingkan jumlahkehadiran
if(bantu->kehadiran < bantu->next->kehadiran)
{// memindahkan no absentempnoabsen=bantu->noabsen;bantu->noabsen=bantu->next-
>noabsen;bantu->next-
>noabsen=tempnoabsen;
// memindahkan namatempnama=bantu->nama;
bantu->nama=bantu->next->nama;bantu->next->nama=tempnama;
// memindahkan NIMtempNIM=bantu->NIM;bantu->NIM=bantu->next->NIM;bantu->next->NIM=tempNIM;
// memindahkan mata pelajarantempmapel=bantu->pel;bantu->pel=bantu->next->pel;bantu->next->pel=tempmapel;
-
7/26/2019 Uas Praktikum Struktur Data
35/64
// memindahkan kehadirantempkehadiran=bantu->kehadiran;
bantu->kehadiran=bantu->next->kehadiran;bantu->next-
>kehadiran=tempkehadiran;
// memindahkan tugastemptugas=bantu->tugas;bantu->tugas=bantu->next->tugas;bantu->next->tugas=temptugas;
// memindahkan UTStempnilaiUTS=bantu->nilaiUTS;
bantu->nilaiUTS=bantu->next->nilaiUTS;bantu->next-
>nilaiUTS=tempnilaiUTS;
// memindahkan UAStempnilaiUAS=bantu->nilaiUAS;bantu->nilaiUAS=bantu->next-
>nilaiUAS;bantu->next-
>nilaiUAS=tempnilaiUAS;
// memindahkan ratatemprata=bantu->rata;bantu->rata=bantu->next->rata;bantu->next->rata=temprata;
}else
//perulangan lanjutbantu = bantu->next;
}bantu=head; // reset bantu
}}
}
// sorting berdasarkan nilai tugasvoid sort_data_nilaitugas() {// pendeklarasian variabel temp masing - masingattributstring tempnama;string tempmapel;int counter;int tempnoabsen;int tempkehadiran;
int tempNIM;
-
7/26/2019 Uas Praktikum Struktur Data
36/64
int temptugas;int tempnilaiUTS;
int tempnilaiUAS;int temprata;
// kondisi jika list kosongif(head==NULL){
cout next;counter++;}
// memulai sorting dengan bantuan counter diatasbantu=head;for(int i=0; inext){
// kondisi membandingkan nilai tugasif(bantu->tugas < bantu->next->tugas)
{// memindahkan no absentempnoabsen=bantu->noabsen;bantu->noabsen=bantu->next-
>noabsen;bantu->next-
>noabsen=tempnoabsen;
// memindahkan namatempnama=bantu->nama;bantu->nama=bantu->next->nama;bantu->next->nama=tempnama;
// memindahkan NIMtempNIM=bantu->NIM;bantu->NIM=bantu->next->NIM;bantu->next->NIM=tempNIM;
// memindahkan mata pelajarantempmapel=bantu->pel;bantu->pel=bantu->next->pel;bantu->next->pel=tempmapel;
// memindahkan kehadiran
tempkehadiran=bantu->kehadiran;
-
7/26/2019 Uas Praktikum Struktur Data
37/64
bantu->kehadiran=bantu->next->kehadiran;
bantu->next->kehadiran=tempkehadiran;
// memindahkan tugastemptugas=bantu->tugas;bantu->tugas=bantu->next->tugas;bantu->next->tugas=temptugas;
// memindahkan UTStempnilaiUTS=bantu->nilaiUTS;bantu->nilaiUTS=bantu->next-
>nilaiUTS;
bantu->next->nilaiUTS=tempnilaiUTS;
// memindahkan UAStempnilaiUAS=bantu->nilaiUAS;bantu->nilaiUAS=bantu->next-
>nilaiUAS;bantu->next-
>nilaiUAS=tempnilaiUAS;
// memindahkan ratatemprata=bantu->rata;
bantu->rata=bantu->next->rata;bantu->next->rata=temprata;
}else
//perulangan lanjutbantu = bantu->next;
}bantu=head; // reset bantu
}}}
// sorting berdasarkan nilai UTSvoid sort_data_nilaiUTS() {// pendeklarasian variabel temp masing - masingattributstring tempnama;string tempmapel;int counter;int tempnoabsen;int tempkehadiran;int tempNIM;int temptugas;int tempnilaiUTS;
int tempnilaiUAS;
-
7/26/2019 Uas Praktikum Struktur Data
38/64
int temprata;
// kondisi jika list kosongif(head==NULL){cout next;counter++;
}
// memulai sorting dengan bantuan counter diatasbantu=head;for(int i=0; inext){
// kondisi membandingkan nilai UTSif(bantu->nilaiUTS < bantu->next-
>nilaiUTS){
// memindahkan no absen
tempnoabsen=bantu->noabsen;bantu->noabsen=bantu->next-
>noabsen;bantu->next-
>noabsen=tempnoabsen;
// memindahkan namatempnama=bantu->nama;bantu->nama=bantu->next->nama;bantu->next->nama=tempnama;
// memindahkan NIM
tempNIM=bantu->NIM;bantu->NIM=bantu->next->NIM;bantu->next->NIM=tempNIM;
// memindahkan mata pelajarantempmapel=bantu->pel;bantu->pel=bantu->next->pel;bantu->next->pel=tempmapel;
// memindahkan kehadirantempkehadiran=bantu->kehadiran;bantu->kehadiran=bantu->next-
>kehadiran;
-
7/26/2019 Uas Praktikum Struktur Data
39/64
bantu->next->kehadiran=tempkehadiran;
// memindahkan tugastemptugas=bantu->tugas;bantu->tugas=bantu->next->tugas;bantu->next->tugas=temptugas;
// memindahkan UTStempnilaiUTS=bantu->nilaiUTS;bantu->nilaiUTS=bantu->next-
>nilaiUTS;bantu->next-
>nilaiUTS=tempnilaiUTS;
// memindahkan UAStempnilaiUAS=bantu->nilaiUAS;bantu->nilaiUAS=bantu->next-
>nilaiUAS;bantu->next-
>nilaiUAS=tempnilaiUAS;
// memindahkan ratatemprata=bantu->rata;bantu->rata=bantu->next->rata;bantu->next->rata=temprata;
}else
//perulangan lanjutbantu = bantu->next;
}bantu=head; // reset bantu
}}}
// sorting berdasarkan nilai UASvoid sort_data_nilaiUAS() {
// pendeklarasian variabel temp masing - masingattributstring tempnama;string tempmapel;int counter;int tempnoabsen;int tempkehadiran;int tempNIM;int temptugas;int tempnilaiUTS;int tempnilaiUAS;int temprata;
-
7/26/2019 Uas Praktikum Struktur Data
40/64
// kondisi jika list kosongif(head==NULL){
cout next;counter++;
}
// memulai sorting dengan bantuan counter diatas
bantu=head;for(int i=0; inext){
// kondisi membandingkan nilai UASif(bantu->nilaiUAS < bantu->next-
>nilaiUAS){
// memindahkan no absentempnoabsen=bantu->noabsen;bantu->noabsen=bantu->next-
>noabsen;bantu->next-
>noabsen=tempnoabsen;
// memindahkan namatempnama=bantu->nama;bantu->nama=bantu->next->nama;bantu->next->nama=tempnama;
// memindahkan NIMtempNIM=bantu->NIM;bantu->NIM=bantu->next->NIM;
bantu->next->NIM=tempNIM;
// memindahkan mata pelajarantempmapel=bantu->pel;bantu->pel=bantu->next->pel;bantu->next->pel=tempmapel;
// memindahkan kehadirantempkehadiran=bantu->kehadiran;bantu->kehadiran=bantu->next-
>kehadiran;bantu->next-
>kehadiran=tempkehadiran;
-
7/26/2019 Uas Praktikum Struktur Data
41/64
// memindahkan tugas
temptugas=bantu->tugas;bantu->tugas=bantu->next->tugas;bantu->next->tugas=temptugas;
// memindahkan UTStempnilaiUTS=bantu->nilaiUTS;bantu->nilaiUTS=bantu->next-
>nilaiUTS;bantu->next-
>nilaiUTS=tempnilaiUTS;
// memindahkan UAS
tempnilaiUAS=bantu->nilaiUAS;bantu->nilaiUAS=bantu->next->nilaiUAS;
bantu->next->nilaiUAS=tempnilaiUAS;
// memindahkan ratatemprata=bantu->rata;bantu->rata=bantu->next->rata;bantu->next->rata=temprata;
}else
//perulangan lanjutbantu = bantu->next;
}bantu=head; // reset bantu
}}}
void hapus_data() {if(head==NULL)cout next == NULL)
{hapus=head;head=NULL;tail=NULL;delete hapus;
}else{
bantu=head;banyakdata=1;while(bantu->next!=NULL){
bantu=bantu->next;
banyakdata++;
-
7/26/2019 Uas Praktikum Struktur Data
42/64
}poshapus=1;
if((posisibanyakdata)){cout next;poshapus++;
}
hapus=bantu->next;
bantu->next=hapus->next;delete hapus;}
}getch();}
void hapus_depan() {if(head == NULL) {
cout next == NULL)
{hapus=head;head=NULL;tail=NULL;delete hapus;
}else{
hapus=head;head=hapus->next;head->prev=NULL;delete hapus;
}}
void hapus_belakang() {if(head == NULL) {
cout next == NULL){
hapus=head;head=NULL;tail=NULL;
delete hapus;
-
7/26/2019 Uas Praktikum Struktur Data
43/64
}else
{ bantu=head;while(bantu->next!=tail)bantu=bantu->next;
tail=bantu;bantu=tail->next;tail->next=NULL;delete hapus;
}}
void tambah_tengah() {data_baru_siswa();if(head == NULL){
head=baru;tail=baru;
}else{
bantu=head;banyakdata=1;while(bantu->next!=NULL) {
bantu=bantu->next;banyakdata++;
}poshapus=1;
if((posisi < 1) && (posisi > banyakdata)){
cout next;poshapus++;
}baru->next=bantu->next;bantu->next=baru;
}}}
void loading()
-
7/26/2019 Uas Praktikum Struktur Data
44/64
{system("cls");
system("color A");cout
-
7/26/2019 Uas Praktikum Struktur Data
45/64
tambahdata :system("cls");
char tambah;warna(10);cout
-
7/26/2019 Uas Praktikum Struktur Data
46/64
}getch();
break;}case '2' :
{system("cls");
warna(10);cout
-
7/26/2019 Uas Praktikum Struktur Data
47/64
-
7/26/2019 Uas Praktikum Struktur Data
48/64
case '3' :{
if(head==NULL){cout x_NIM;
loading();cari_data_NIM();getche();goto searchdata;
}break;
}case '4' :
{if(head==NULL){
cout
-
7/26/2019 Uas Praktikum Struktur Data
49/64
}else
{ system("cls");cout > x_rata;loading();
cari_data_rata();getche();goto searchdata;
}
break;}case '6' :
{if(head==NULL){
cout
-
7/26/2019 Uas Praktikum Struktur Data
50/64
jumlah nilai tugas: "; cin >> x_nilaitugas;loading();
cari_data_nilaitugas();getche();goto searchdata;
}break;
}case '8' :
{if(head==NULL){
cout x_nilaiUTS;loading();
cari_data_nilaiUTS();
getche();goto searchdata;
}break;
}case '9' :
{if(head==NULL){
cout x_nilaiUAS;loading();
cari_data_nilaiUAS();getche();goto searchdata;
}
-
7/26/2019 Uas Praktikum Struktur Data
51/64
break;}
case '0' :{goto menu;
}}getch();break;
}case '4' :
{sortdata :system("cls");
char sorting;
warna(10);cout
-
7/26/2019 Uas Praktikum Struktur Data
52/64
cout next!=NULL) {
bantu=bantu->next;
banyakdata++;}poshapus=1;while(poshapus next;
}sleep(1);goto sortdata;
}break;
}case '2' :
{if(head==NULL){
cout next;
-
7/26/2019 Uas Praktikum Struktur Data
53/64
banyakdata++;}
poshapus=1;while(poshapus next;}sleep(1);goto sortdata;
}
break;}case '3' :
{if(head==NULL){
cout next;}sleep(1);goto sortdata;
}break;
}
-
7/26/2019 Uas Praktikum Struktur Data
54/64
case '4' :{
if(head==NULL){cout next;
banyakdata++;}poshapus=1;while(poshapus next;}sleep(1);goto sortdata;
}break;
}case '5' :
{if(head==NULL)
{cout
-
7/26/2019 Uas Praktikum Struktur Data
55/64
bantu=bantu->next;
banyakdata++;}poshapus=1;while(poshapus next;}
sleep(1);goto sortdata;}break;
}case '6' :
{if(head==NULL){
cout next;
banyakdata++;}poshapus=1;while(poshapus next;}sleep(1);
goto sortdata;
-
7/26/2019 Uas Praktikum Struktur Data
56/64
}break;
}case '7' :{
if(head==NULL){
cout next;
banyakdata++;}poshapus=1;while(poshapus next;}sleep(1);goto sortdata;
}break;
}case '8' :
{if(head==NULL){
cout
-
7/26/2019 Uas Praktikum Struktur Data
57/64
bantu=head;banyakdata=1;
while(bantu->next!=NULL) {
bantu=bantu->next;
banyakdata++;}poshapus=1;while(poshapus next;}sleep(1);goto sortdata;
}break;
}case '9' :
{if(head==NULL)
{cout next;
banyakdata++;}poshapus=1;while(poshapus posisi;hapus_data();getche();posisi=0;goto hapusdata;break;
}
case '4' :{goto menu;
}}
break;}
getch();}}while(pilih!='0');}
-
7/26/2019 Uas Praktikum Struktur Data
60/64
1.3 Sreenshoot Program
Gambar 1.3.1 Tampilan menu
Gambar 1.3.2 Tampilan inputdata.
-
7/26/2019 Uas Praktikum Struktur Data
61/64
Gambar 1.3.3 Tampilan semua data.
-
7/26/2019 Uas Praktikum Struktur Data
62/64
Gambar 1.3.4 Pencarian dan hasil pencarian dengan nama
-
7/26/2019 Uas Praktikum Struktur Data
63/64
Gambar 1.3.5 Hasil Sorting.
Gambar 1.3.6 Menu hapus data.
-
7/26/2019 Uas Praktikum Struktur Data
64/64