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

Postingan populer dari blog ini

Tugas Pertemuan 13

TUGAS  Buat program animasi Linear Doubly Linked List untuk mengelola data mahasiswa dengan struktur mahasiswa sbb : NAMA, NIM, GENDER, NILAI . Data terurut naik berdasarkan NIM.Program dibuat dalam bentuk menu dengan pilihan : INSERT DATA, HAPUS DATA, CETAK DATA, EXIT.  Ket :  INSER DATA : menambah data  HAPUS DATA : menghapus satu data berdasarkan kriteria  NIM CETAK DATA : mencetak seluruh isi linked list   EXIT : Keluar/selesai   Tampilan menu :                    LIN. DOUBLY LINKED LIST                    ==========================  1. INSERT DATA  2. HAPUS DATA  3. CETAK DATA  4. EXIT Pilihan (1 – 4) :  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]; ...
“Ing ngarsa sung tulada, ing madya mangun karsa, tut wuri handayani. Di Depan, Seorang Pendidik harus memberi Teladan atau Contoh Tindakan Yang Baik, Di tengah atau di antara Murid, Guru harus menciptakan prakarsa dan ide, Dari belakang Seorang Guru harus Memberikan dorongan dan Arahan” - Ki Hajar Dewantara