Output Program C++ Rekap Data Mahasiswa |
Pada program ini, terdapat satu class, yaitu class mahasiswa. Kemudian, terdapat 13 method, yaitu diantaranya:
- void calculate()
- void getdata()
- void showdata()
- void show_tabular()
- void write_mahasiswa()
- void display_all()
- void display_sp(int n)
- void modify_mahasiswa()
- void delete_mahasiswa()
- void class_result()
- void result()
- void entry_menu()
- int main()
1. Pertama-tama, buatlah project baru terlebih dahulu di dalam software CodeBlocks. Terserah dengan nama apapun. Kemudian, masukkan list mengenai heading-nya terlebih dahulu:
2. Setelah headingnya berhasil dibuat, sekarang buatlah class dari program tersebut, yaitu class mahasiswa. Disertai dengan deklarasi variable-variable yang akan dipakai./*--Program Design ByURL: Lusdyana.blogspot.comName: Lusiana Haryanti--*/#include <conio.h> //header conio.h#include <iostream> //header iostream#include <stdio.h> //header stdio.h#include <cstdlib> //header csdlib#include <string.h> //header string.h#include <fstream> //header fstream#include <iomanip> //header iomanip#include <windows.h> //header windows.h#include <stdlib.h> //header stdlib.husing namespace std;//***************************************************************// CLASS USED IN PROJECT//****************************************************************
3. Method yang pertama dibuat adalah method calculate() yang berfungsi untuk menghitung nilai mata kuliah yang nantinya akan diinputkan nilainya oleh kita.class mahasiswa //funsi kelas mahasiswa{int nim; //inisialisasi variabel nimchar nama[50]; //inisialisasi vaiabel nama menggunakan char, jumlah maksimum kata adalah 50int nilai_inggris,nilai_matdis,nilai_alpro,nilai_elektronika,nilai_indo; //inisiasli variabel nilai_inggris,nilai_matdis,nilai_alpro,nilai_elektronika,nilai_indofloat per; //inisialisasi per menggunakan floatchar peringkat; //inisialisasi peringkat menggunakan char
4. Kemudian, untuk mendapatkan data dari mahasiswa yang akan kita inputkan, maka buatlah method getdata() dengan menggunakan prosedur public: agar dapat diakses oleh class lain.void calculate() //fungsi prosedur calculate{per=(nilai_inggris+nilai_matdis+nilai_alpro+nilai_elektronika+nilai_indo)/5.0; //nilai per adalah (nilai_inggris+nilai_matdis+nilai_alpro+nilai_elektronika+nilai_indo)/5.0if(per>=60)peringkat='A'; //jika nilai per lebih besar sama dengan 60 maka peringkatnya Aelse if(per>=50 && per<60)peringkat='B'; //jika nilai per lebih besar sama dengan dari 50 dan lebih kecil dari 60 maka peringkatnya Belse if(per>=33 && per<50)peringkat='C'; //jika nilai per lebih besar sama dengan dari 33 dan lebih kecil dari 50 maka peringkatnya Celseperingkat='F'; //jika nilai per tidak memenuhi semua diatas maka peringkatnya F}
5. Untuk menampilkan data keseluruhan dari mahasiswa yang nantinya kita inputkan, maka dibuatlah method showdata().public: // suatu pengenal atau pengidentifikasi yang kita deklarasikan agar kompiler dapat mengenali pada anggota pribadi dari kelas dasar hanya dapat diakses oleh anggota yang kelas dasarvoid getdata() //fungsi prosedur getdata{cout<<"\nMasukkan NIM Mahasiswa: "; //keluarancin>>nim; //masukkancout<<"\n\nMasukkan Nama Mahasiswa :"; //keluarancin>>gets(nama); //masukkancout<<"\nMasukkan Nilai Bahasa Inggris : "; //keluarancin>>nilai_inggris; //masukancout<<"\nMasukkan Nilai Matematika Diskrit : "; //keluarancin>>nilai_matdis; //masukancout<<"\nMasukkan Nilai Struktur Data : "; //keluarancin>>nilai_alpro; //masukancout<<"\nMasukkan Nilai Elektronika : "; //keluarancin>>nilai_elektronika; //masukancout<<"\nMasukkan Nilai Bahasa Indonesia : "; //keluarancin>>nilai_indo; //masukancalculate(); //memanggil fungsi calculate}
6. Nah, setelah itu, buatlah database dengan menggunakan fstream fp; dan mahasiswa st;.void showdata() //kelas prosedur showdata{cout<<"\nNIM Mahasiswa : "<<nim;cout<<"\nNama Mahasiswa : "<<nama;cout<<"\nNilai Inggris : "<<nilai_inggris;cout<<"\nNilai Matematika Diskrit : "<<nilai_matdis;cout<<"\nNilai Struktur Data : "<<nilai_alpro;cout<<"\nNilai Elektronika : "<<nilai_elektronika;cout<<"\nNilai Bahasa Indoneisa :"<<nilai_indo;cout<<"\nRata-Rata Nilai :"<<setprecision(2)<<per;cout<<"\nPeringkat Mahasiswa Tersebut :"<<peringkat;}
7. Setelah kutipan program diatas sudah selesai diketikkan, ketiklah source code berikut ini.void show_tabular() //kelas prosedur show_tabular{cout<<nim<<setw(12)<<nama<<setw(10)<<nilai_inggris<<setw(3)<<nilai_matdis<<setw(3)<<nilai_alpro<<setw(3)<<nilai_elektronika<<setw(3)<<nilai_indo<<setw(6)<<setprecision(3)<<per<<" "<<peringkat<<endl;}int renim(){return nim;}}; //akhri dari semua fungsi class//***************************************************************// deklarasi global untuk stream object, object//****************************************************************fstream fp; //untuk membuat file databasemahasiswa st; //dengan nama mahasiswa
8. Setelah selesai, cobalah untuk me-running program tersebut.//***************************************************************// fungsi untuk membuat catatan di dalam file//****************************************************************void write_mahasiswa(){fp.open("mahasiswa.dat",ios::out|ios::app);st.getdata();fp.write((char*)&st,sizeof(mahasiswa));fp.close();cout<<"\n\nCatatan Mahasiswa Telah Dibuat ";system("pause");}//***************************************************************// fungsi untuk membaca semua data yang ada di dalam file//****************************************************************void display_all(){cout<<"\n\n\n\t\tTunjukkan Semua Data !!!\n\n";fp.open("mahasiswa.dat",ios::in);while(fp.read((char*)&st,sizeof(mahasiswa))){st.showdata();cout<<"\n\n=================================================\n";system("pause");}fp.close();system("pause");}//***************************************************************// fungsi untuk membaca catatan tertentu dari file//****************************************************************void display_sp(int n){int flag=0;fp.open("mahasiswa.dat",ios::in);while(fp.read((char*)&st,sizeof(mahasiswa))){if(st.renim()==n){st.showdata();flag=1;}}fp.close();if(flag==0)cout<<"\n\nCatatan Tidak Ada";system("pause");}//***************************************************************// fungsi untuk memodifikasi catatan di dalam file//****************************************************************void modify_mahasiswa(){int no,found=0;cout<<"\n\n\tUntuk Mengubah ";cout<<"\n\n\tMasukkan NIM Mahasiswa yang Ingin Dirubah :";cin>>no;fp.open("mahasiswa.dat",ios::in|ios::out);while(fp.read((char*)&st,sizeof(mahasiswa)) && found==0){if(st.renim()==no){st.showdata();cout<<"\nMasukkan Data Baru Untuk Mahasiswa Ini :"<<endl;st.getdata();int pos=-1*sizeof(st);fp.seekp(pos,ios::cur);fp.write((char*)&st,sizeof(mahasiswa));cout<<"\n\n\t Catatan Sudah Dibuat\n\n";found=1;}}fp.close();if(found==0)cout<<"\n\n Catatan Tidak Ada ";system("pause");}//***************************************************************// fungsi untuk menghapus catatan di dalam file//****************************************************************void delete_mahasiswa(){int no;cout<<"\n\n\n\tHapus Catatan";cout<<"\n\nTulis NIM Mahasiswa yang Ingin Dihapus :";cin>>no;fp.open("mahasiswa.dat",ios::in|ios::out);fstream fp2;fp2.open("Temp.dat",ios::out);fp.seekg(0,ios::beg);while(fp.read((char*)&st,sizeof(mahasiswa))){if(st.renim()!=no){fp2.write((char*)&st,sizeof(mahasiswa));}}fp2.close();fp.close();remove("mahasiswa.dat");rename("Temp.dat","mahasiswa.dat");cout<<"\n\n\tCatatan Dihapus ..";system("pause");}//***************************************************************// fungsi untuk menampilkan semua laporan//****************************************************************void class_result(){fp.open("mahasiswa.dat",ios::in);if(!fp){cout<<"ERROR!!! Catatan Tidak Ada\n\n\n Tolong Untuk Masuk ke Menu Entri Untuk Membuat Data";cout<<"\n\n\n Program Ditutup ....";exit(0);}cout<<"\n\n\t\tTunjukkan Semua Record Data Mahasiswa \n\n";cout<<"==========================================================\n";cout<<"NIM Name I M A E In Rata-rata Peringkat\n";cout<<"==========================================================\n";while(fp.read((char*)&st,sizeof(mahasiswa))){st.show_tabular();}fp.close();system("pause");}//***************************************************************// Fungsi untuk membuka hasil//****************************************************************void result(){int ans,rno;char ch;cout<<"\n\n\nRESULT MENU";cout<<"\n\n\n1. Semua Hasil\n\n2. Hasil Salah Satu Mahasiswa\n\n3.Back to Main Menu";cout<<"\n\n\nEnter Choice (1/2)? ";cin>>ans;switch(ans){case 1 : class_result();break;case 2 : {do{char ans;cout<<"\n\nMasukkan NIM Mahasiswa : ";cin>>rno;display_sp(rno);cout<<"\n\nIngin Melihat Catatan yang Lain? (y/n)?";cin>>ans;}while(ans=='y'||ans=='Y');break;}case 3: break;default: cout<<"\a";}}//***************************************************************// ENTRY / EDIT MENU FUNCTION//****************************************************************void entry_menu(){char ch2;cout<<"\n\n\n\tENTRY MENU";cout<<"\n\n\t1.Membuat Catatan Mahasiswa";cout<<"\n\n\t2.Tampilkan Semua Catatan Mahasiswa";cout<<"\n\n\t3.Cari Catatan Mahasiwa ";cout<<"\n\n\t4.Rubah Catatan Mahasiswa";cout<<"\n\n\t5.Hapus Catatan Mahasiswa";cout<<"\n\n\t6.Kembali ke Main Menu";cout<<"\n\n\tPilih salah satu (1-6) ";ch2=getche();switch(ch2){case '1': system("CLS");write_mahasiswa();break;case '2': display_all();break;case '3':int num;system("CLS");cout<<"\n\n\tMasukkan Nomor Induk Mahasiswa ";cin>>num;display_sp(num);break;case '4': modify_mahasiswa();break;case '5': delete_mahasiswa();break;case '6': break;default:cout<<"\a";entry_menu();}}//***************************************************************// Fungsi main di dalam program//****************************************************************int main(){char ch;void gotoxy (int x, int y);do{system("CLS");cout<<"\n\n\n\tMAIN MENU";cout<<"\n\n\t01. Hasil Menu";cout<<"\n\n\t02. Masukkan/Edit Data";cout<<"\n\n\t03. Exit";cout<<"\n\n\tPilihlah Salah Satu dari Ketiga Pilihan (1-3) ";ch=getche();switch(ch){case '1': system("CLS");result();break;case '2': entry_menu();break;case '3':exit(0);default :cout<<"\n";}}while(ch!='3');return 0;}
Demikianlah yang bisa Saya sampaikan pada postingan kali ini. Apabila ada yang kurang jelas, silahkan ditanyakan di dalam kolom komentar. Ingat, Saya tidak menyarankan Anda untuk meng-copy paste program tersebut secara langsung. Saya lebih menyarankan Anda untuk mengetik ulang program tersebut ke dalam software compiler milik Anda agar Anda lebih memahami struktur yang terkandung di dalam program tersebut di atas.
0 comments:
Posting Komentar