Uas Praktikum Struktur Data

download Uas Praktikum Struktur Data

of 64

Transcript of Uas Praktikum Struktur Data

  • 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