Program C : Sorting di Database Sederhana (.txt)

Sorting adalah sebuah proses merangkai data dalam urutan tertentu dan/atau dalam himpunan yang berbeda, dan oleh karena itu dia memiliki dua arti umum yang berbeda:
      Pengurutan  :  merangkai benda yang sejenis, sekelas, dll, dalam urutan yang teratur,
      Kategorisasi :  pengelompokan dan pemberian label kepada benda dengan sifat yang serupa
Program dibawah ini hanya melakukan proses pengurutan data. dibawah ini hasil sorting nya.


yoiii :v


Program ini mengurutkan data sesuai dengan huruf paling awal dari suatu baris. Jadi perlu diperhatikan apakah seluruh datanya sudah memiliki huruf awal yang konsisten atau tidak. Misal jika huruf awalnya kapital dari data pertama, maka semua data dari atas sampai bawah juga harus huruf kapital. Karena jika huruf awalnya gabungan dari huruf kapital dan huruf kecil, maka huruf kapital akan di dahulukan(hasil sorting berada diatas huruf kecil).  
Selain itu, hal yang perlu diperhatikan juga adalah jika dibawah data terakhir terdapat baris kosong. Jika anda menginputkan/terdapat enter("\n") setelah data terakhir maka baris yang kosong tersebut juga akan ikut tertukar. jadi pastikan data terakhir pada notepad adalah baris yang akan disorting, bukan baris kosong seperti yang ditandai lingkaran merah berikut ini :


langsung saja source code nya :

#include <stdio.h>

int main(){
FILE *f,*f2;
char temp,huruf[100],baris[100],baris2[100];
int  c,jum=1,jum1=1,jum2,jum3;
int  h,i,j,k,l,m,n;
f=fopen("Test.txt","r");
c=getc(f);
while(c!=EOF){
if(c=='\n') jum1=0;
if(jum1==1){
huruf[jum]=c;
jum++;
jum3++;
}
jum1++; 
c=getc(f);
for (jum2=2;jum2<=jum3;jum2++){ 
for ( jum=1 ;jum<=jum3-1 ;jum++){
h=1; i=1; j=1; l=1; m=1; n=1; k=jum+1;
if (huruf[jum]>huruf[jum+1]){
temp=huruf[jum];
huruf[jum]=huruf[jum+1];
huruf[jum+1]=temp; 
f=fopen("Test.txt","r"); //sesuaikan dengan nama database yang ingin anda sorting
f2=fopen("Test2.txt","w"); //temporary, tdk perlu di ubah, boleh diubah kalo mau :v
c=getc(f);
while(c!=EOF){    
if(l==k-1){
baris[n]=c;
n++;
}
else if(l==k){
baris2[j]=c;
fprintf(f2,"%c",baris2[j]);
j++; 
if (c=='\n'){
for (h=1;h<=n-1;h++) fprintf(f2,"%c",baris[h]);
}
}
else fprintf(f2,"%c",c);
if(c=='\n') l++;
c=getc(f);
}
if(jum==jum3-1) {
fprintf(f2,"\n");
for (h=1;h<=n-2;h++) fprintf(f2,"%c",baris[h]); 
}
fclose(f2);
fclose(f);
f=fopen("Test.txt","w"); //sesuaikan dengan nama database yang ingin anda sorting
f2=fopen("Test2.txt","r"); //temporary, tdk perlu di ubah, boleh diubah kalo mau :v
c=getc(f2);
while(c!=EOF){
fprintf(f,"%c",c);
m++;
c=getc(f2);
}
fclose(f2);
fclose(f);
}
}  
}
fclose(f);
printf("\n\n\t\t\t***********Sorting Done************\n\n\n\n\n\n\n\n\n\n\n\n");
return 0;


}

Sekian, semoga bermanfaat

0 komentar:

Copyright © 2013 Yanamon