Pagination Sederhana Dengan C++
BackShare - Pagination adalah sebuah teknik menampilkan data, dimana banyaknya data yang ada akan di tampilkan dengan membaginya secara merata jadi beberapa bagian / halaman.
Pagination sendiri sering sekali dingunakan dalam PHP. Tetapi di dalam c++ jarang sekali yang menshare teknik ini. Dengan demikian saya akan membagikan Source Code dari teknik tersebut.
Source Code "pagination.cpp"
#include <iostream>
#include <iomanip>
#include <conio.h>
#include <stdlib.h>
using namespace std;
/* fungsi garis */
int garis() {
int garis;
for(garis=0;garis<=63;garis++) {
cout<<"-";
}
cout<<endl;
}
/* fungsi header tabel */
void header() {
garis();
cout<<" NO NIM ALGO MPP PTI RATA - RATA"<<endl;
garis();
}
/* fungsi utama */
int main() {
//variabel nomor urut
int no[100];
//variabel ID
int nim[100];
//variabel nilai matakuliah
int algo[100],mpp[100],pti[100];
//variabel looping
int save,print;
//variabel banyak data
int data_count;
//variabel sum nilai matkul
float sum_algo=0,sum_mpp=0,sum_pti=0;
//varianel average per matakuliah
float avg_algo,avg_mpp,avg_pti;
//variabel average & sum per data
float avg_perdata[100],sum_perdata[100];
//variabel navigasi
int jumlah_halaman,akhir,nav,mulai,sisa,page=1;
//navigasi pindah halaman
char move;
//memasukan nilai data_count sebagai banyaknnya data
cout<<"MASUKAN BANYAKNYA DATA : ";
cin>>data_count;
garis();
//looping untuk menyimpan data
for(save=0;save<data_count;save++) {
cout<<"MASUKAN NIM : ";
cin>>nim[save];
cout<<"NILAI ALGO : ";
cin>>algo[save];
cout<<"NILAI MPP : ";
cin>>mpp[save];
cout<<"NILAI PTI : ";
cin>>pti[save];
cout<<endl;
sum_perdata[save]=algo[save]+pti[save]+mpp[save];
avg_perdata[save]=sum_perdata[save]/3;
no[save]=save+1;
}
//perhitungan navigasi
mulai=1;
akhir=3;
jumlah_halaman = data_count/akhir;
sisa = data_count%akhir;
if(sisa>0) {
jumlah_halaman++;
}
//looping do while untuk navigasi
do{
system("cls");
//selection navigasi
if(move=='N' || move=='n'){ //jika N maka akan lanjut
if(akhir < data_count){
page+=1;
mulai+=3;
akhir+=3;
}
}
else if(move=='P' || move=='p') { //jika P maka akan kembali
if(mulai >= 3) {
page-=1;
mulai-=3;
akhir-=3;
}
}
//memanggil fungsi garis
garis();
//menampilkan halaman ke berapa dari berapa halaman
cout<<"\t\t "<<"Halaman Ke "<<page<<" Dari "<<jumlah_halaman<<" Halaman";
cout<<endl;
//memanggil fungsi header
header();
//looping unutk menampilkan data
for(print=mulai-1;print<akhir;print++) {
//menyembunyikan file sampah
if(no[print]!=0 && nim[print]!=0 && algo[print]!=0 && pti[print]!=0 && mpp[print]!=0){
cout<<" "<<left<<setw(5)<<no[print]<<setw(11)<<nim[print]<<setw(13)<<algo[print]<<setw(11)<<mpp[print]<<setw(11)<<pti[print]<<setw(10)<<avg_perdata[print]<<endl;
//memanggil fungsi garis
garis();
}
}
cout<<"\t\t ";
//navigasi nomor di bawah tabel
for(nav=1;nav<=jumlah_halaman;nav++){
if(nav==page){
cout<<"["<<nav<<"]";
} else {
cout<<" "<<nav<<" ";
}
}
cout<<endl<<endl;
cout<<"NEXT[N] / PREV[P] / EXIT [PRESS ANY KEY..] : ";
cin>>move;
} while(move=='N' || move=='n' || move=='p' || move=='P');
return(EXIT_SUCCESS);
getch();
}
Berikut ini adalah hasil dari Source Code diatas.
Untuk Source Code dan Program.exe bisa anda download dengan mengklik link dibawah.
source code *.cpp | download
program *.exe | download
Semoga artikel Pagination Sederhana Dengan C++ ini bermanfaat.
Terima Kasih.
mas, pagination untuk data yang bertipe string bisa memakai ini apa tidak?
BalasHapusbisa mas, tinggal ubah saja type data yang saat ini integer menjadi string.
Hapusuntuk fungsi pagination biarkna tetap int, karena untuk memanggil index array.