Langsung ke konten utama

Tugas Pertemuan 12


TUGAS 

Akan dibuat Linked List untuk mengelola data mahasiswa dengan struktur NIM, NAMA,NILAI. Data tersusun naik berdasarkan NILAI. 
  • Buatlah program untuk mengisikan data baru 
  • Buatlah program untuk menampilkan data dengan NILAI sama dengan 90 
  • Buatlah program untuk menampilkan seluruh data 
  • Buatlah program untuk menghapus data dengan NIM sama dengan 2007140022. 
  • Buatlah program untuk menghitung nilai rata-rata kelas.

CONTOH PROGRAM 

#include <iostream>

#include <conio.h>

#include <stdio.h>

#include <windows.h>


using namespace std;



int pilih; void pilihan();



struct SIMPUL{

 char nim[20];

 int NIM;

 char nama [40];

 char gender [20];

 int info;

 float nilai;

 SIMPUL *prev, *next;

};


SIMPUL *data, *front=NULL, *rear=NULL,*help,*del, *q;


void BUAT_SIMPUL(int X)

{

data=(SIMPUL *)malloc(sizeof(SIMPUL));

if(data!=NULL)

data->info=X;

else

{

cout<<"Membuat simpul gagal";

exit(1);

}

}




void buat_data()//fungsi membuat data data

{

 data = new(SIMPUL);

 cout<<" Masukkan Nama : ";cin>>data->nama;

 cout<<" Masukkan NIM : ";cin>>data->nim;

 cout<<" Masukkan Gender : ";cin>>data->gender;

 cout<<" Masukkan Nilai : ";cin>>data->nilai;

 cout<<"\n ==========================";

 cout<<"\n   Data telah dimasukkan   ";

 getch();

  data->prev=NULL;

 data->next=NULL;

}


void insert_data()

{

 buat_data();

 if(front==NULL)

 {

  front=data;

  rear=data;

  rear->next=NULL;

 }


 else

 {

  

  rear->next=data;

  rear=data;

  rear->next=NULL;

 }

 cout<<endl<<endl;

}


void hapus_data()//fungsi penghapusan data

{

 int hapus,NIM;

  if (rear==NULL)

 {

  cout<<"\n Linked List kosong, \nPenghapusan tidak dapat dilakukan"<<endl;//data yang habis maka tampilannya

 }

 else

 {

  hapus=front->NIM;

  cout<<"\n Data yang dihapus adalah :";//pemilihan data yang akan dihapus

  cin>>NIM;

  del = front;

  q = front->next;

  front=q;

  delete del;

  getch();

 }

}


void cetak_data()

{

 if (rear==NULL){

 cout<<" Queue kosong!";

 getch();

 }

 else

 {

  help=front;

  while(help!=NULL)

  {

   cout<<" Nama : "<<help->nama<<endl;

   cout<<" NIM : "<<help->nim<<endl;//data akan muncul dengan tampilan

   cout<<" Gender : "<<help->gender<<endl;

   cout<<" Nilai : "<<help->nilai<<endl;

   cout<<endl;

   help=help->next;

  

 }

getch();


}

}


void cetak_data90()

{

 if (rear==NULL){

 cout<<" Queue kosong!";

 getch();

 }

 else if(data->nilai<=90)

 {

  help=front;

  while(help!=NULL)

  {

   cout<<" Nama : "<<help->nama<<endl;

   cout<<" NIM : "<<help->nim<<endl;//data akan muncul dengan tampilan

   cout<<" Gender : "<<help->gender<<endl;

   cout<<" Nilai : "<<help->nilai<<endl;

   help=help->next;

  

 }

getch();


}

}


void ratarata()

{

float ratarata;

int nilai, info;

ratarata=data->nilai/info;

cout<<"nilai rata ratanya adalah "<<ratarata;

getch(); 

}


void pilihan()//fungsi "pilihan" untuk pemrosesan

{

if(pilih==1){

 insert_data();}

else if(pilih==2)

   hapus_data();

   

else if(pilih==3)

   cetak_data90();

   

else if(pilih==4)

   cetak_data();

else if(pilih==5)

   ratarata();

else

 {

 cout<<" Terima kasih sudah menggunakan program ini"<<endl;

  }

}




int main()//interface monitor

{

system ("color F0");

 do

 {

  system("cls");

  cout<<" Linked List"<<endl;

  cout<<" ============================="<<endl;

  cout<<" 1. INSERT DATA"<<endl;

  cout<<" 2. HAPUS DATA"<<endl;

  cout<<" 3. CETAK DATA NILAI 90"<<endl;

  cout<<" 4. CETAK SELURUH DATA"<<endl;

  cout<<" 5. Hitung nilai rata-rata kelas "<<endl;

  cout<<" ============================="<<endl;

  cout<<" Pilihan : ";

  cin>>pilih;

  cout<<" ============================="<<endl;

  cout<<endl;

  pilihan()

 }


 while(pilih!=10);

}


Komentar