Rabu, 20 April 2011

Operasi File

Berikut adalah contoh operasi file didalam pemrograman bahasa C :
Contoh 1
/* -------------------------------------------- */
/* file program : BACAACAK.C */
/* untuk melihat isi file secara random */
/* -------------------------------------------- */
#include "stdio.h"
#include "conio.h"

main()
{
 struct
 {
  char judul[26];
  char pengarang[20];
  int jumlah;
 }buku;    /* variabel buku bertipe integer */
 FILE *pf;   /* pinter file */
 char ulang;
 int nmr_record, hasil_baca;
 long int ofset_byte;

 clrscr();

 /* buka file yan berisi data buku */
 if((pf=fopen("DAFBUKU.DAT","rb"))==NULL)
 {
  cputs("File tak dapat dibuka !\r\n");
  exit(1);
 }

 /* baca record scara random */
 ulang ='Y';
 while(ulang == 'y' || ulang == 'Y')
 {
  cputs("\r\nNomor record dari data");
  cputs("yang ingin anda ketahui: ");
  scanf("%d",&nmr_record);

  ofset_byte=(nmr_record-1)*sizeof(buku);
  fseek(pf,ofset_byte, SEEK_SET);

  hasil_baca=fread(&buku,sizeof(buku),1,pf);
  if(hasil_baca==0)
  {
   cprintf("Nomor record tak absah !\r\n");
   continue;   /* kembali kewhile */
  }
  cprintf("judul buku : %-s\r\n",buku.judul);
  cprintf("Pengarang : %-s\r\n",buku.pengarang);
  cprintf("jumlah Buku : %d\r\n",buku.jumlah);

  cputs("\r\nMau mencari informasi lagi (Y/T)?");
  ulang = getche();
 }
 /* tutup file */
 fclose(pf);
}
Contoh 2
/* ----------------------------------------- */
/* file program : COPYC.C */
/* contoh menyalin sembarang file teks */
/* ----------------------------------------- */
# include "stdio.h"
# include "conio.h"
# include "fcntl.h"
# include "io.h"

# define PANJANG 256
# define UKURAN 2048

char buffer[UKURAN]; /* penampung file sebesar 2KB */
main()
{
 int file_inp, file_out;
 long int byte_terbaca;
 char string[PANJANG];
 char namafile_inp[65],
 namafile_out[65];
 clrscr();

 cprintf("PROGRAM UNTUK MENYALIN SEMBARANG FILE \r\n");
 cprintf("Nma file input : ");
 gets(namafile_inp);
 cprintf("Nama fie output : ");
 gets(namafile_out);

 /* buka file input */
 _fmode=O_BINARY;
 if((file_inp=_open(namafile_inp,O_RDONLY))==-1)
 {
  cputs("File input tak dapat dibuka !\r\n");
  getch();
  exit(1);
 }

 /* buka file output */
 if((file_out=_creat(namafile_out,0))==-1)
 {
  cputs("File output takdapat dibuka !\r\n");
  getch();
  exit(1);
 }

 /* proses menyalin file */
 for( ; ; )
 {
  byte_terbaca=_read(file_inp,buffer,sizeof(buffer));
  if(byte_terbaca==0L)break;
  _write(file_out,buffer,byte_terbaca);
 }

 /* menutup file */
 close(file_inp);
 close(file_out);
 getch();
}
Contoh 3
/* ------------------------------ */
/* file program : CTYPE.C */
/* program untuk menampilkan isi file */
/* ke layar atau keprinter */
/* --------------------------------- */
#include "stdio.h"
#include "conio.h"
#include "ctype.h"

#define PANJANG 256

main()
{
 FILE *f_teks,*piranti_keluaran;
 char string[PANJANG],
 pilihan, namafile[65];

 /* pemasukan anama file yang akan dibaca dan pemilihan piranti keluaran */
 directvideo=0;
 cputs("PROGRAM UNTUK MENAMPILKAN ISI FILE TEKS");
 cputs("\r\nNama file : ");
 gets(namafile);

 cputs("\r\nIngin ditampilkan ke printer atau layar : ");
 cputs("\r\nP--> printer    L--> layar : ");
 do
  pilihan=toupper(getch());
 while(!((pilihan=='L')|(pilihan=='P')));
 cprintf("%c\r\n",pilihan);  /* tampilkan ke layar */
 /* membuat file input ----------------------------- */
 if((f_teks=fopen(namafile,"r"))==NULL)
 {
  cputs("File input tak dapat dibuka!\r\n");
  getch();
  exit(1);
 }

 /* penugasan piranti keluaran */
 if(pilihan=='P')
  piranti_keluaran=stdprn;  /* printer */
 else
  piranti_keluaran=stdout;  /* layar */

 /* baca string dari file selama masih ada */
 while((fgets(string,PANJANG,f_teks))!=NULL)
  /* tampilkan kepiranti nalar : layar/printer */
  fprintf(piranti_keluaran,"%s\r",string);

 fclose (f_teks);  /* menutup file -------------------------- */
 getch();
}
Contoh 4
/* -------------------------------------- */
/* file program: FGETS.C  */
/* contoh pemakaian FGETS()  */
/* untuk membaca isi file teks */
/* ------------------------------------------- */
#include "stdio.h"
#include "conio.h"
#include "string.h"

#define PANJANG 256

main()
{
 FILE *f_teks;
 char string[PANJANG];
 char namafile[65];

 directvideo=0;
 cputs("PROGRAM UNTUK MELIHAT ISI FILE TEKS\r\n");
 cprintf("nama file: ");
 gets(namafile);

 if((f_teks=fopen(namafile,"rt"))==NULL)
 {
  cputs("File tak dapat dibuka !\r\n");
  exit(1);
 }
 /* baca string dari fele selama masih ada ");
 while ((fgets(string, PANJANG,f_teks)) !==NULL)

 /* tampilkan sring kelayar*/
 cprintf("%s\r",string);

 fclose(f_teks);   /* tutup file */
 getch();
}
Contoh 5
/* --------------------------------- */
/* file program: FPRINTF.C  */
/* contoh menyimpan data yang diformat */
/* ke file, menggunakan fprintf()  */
/* --------------------------------- */
#include "stdio.h"
#include "conio.h"

main()
{
 FILE *pformat;
 char jawaban;

 struct
 {
  int x;
  int y;

 }koordinat;

 /* buka dan ciptakan file. periksa kalau gagal dibuka */
 if((pformat=fopen("KORDINAT.DAT","w"))==NULL)
 {
  cputs("File tak dapat dibuka !");
  exit(1);
 }

 do
 {
  clrscr();  /* Hapus layar */
  cputs("Masukan data koordinat (bilangan int)\r\n");
  cputs("Format: Posisi x Posisi Y \r\n");
  cputs("Contoh: 20 30 [ENTER]\r\n");

  scanf("%d %d",&koordinat.x,&koordinat.y);
  fflush(stdin);  /* hapus buffer keyboard */

  /* rekam kefile */
  fprintf(pformat, "5d%5d\n",koordinat.x,koordinat.y);
  cputs("\r\nMenyimpan data lagi (Y/T)? ");
  jawaban=getche();  /* baca tombol */
 }
 while(jawaban=='Y'||jawaban=='y');
 fclose(pformat);
 getch();
}
Contoh 6
/* -------------------------------------- */
/* file program :FREAD.C */
/* contoh membaca sebuah structur */
/* dari file , menggunakan fread() */
/* --------------------------------------- */
#include "stdio.h"
#include "conio.h"

#define JUM_BLOK 1 /* sebuah record */

main()
{
 FILE *f_struktur;

 struct
 {
  char judul[26];
  char pengarang[20];
  int jumlah;
 }buku;   /* variabel  struktur */
 clrscr();

 if( (f_struktur=fopen("DAFBUKU.DAT","rb"))==NULL )
 {
  cputs("File tak dapat dibuka !\r\n");
  exit(1);
 }
 while(fread(&buku,sizeof(buku),JUM_BLOK,f_struktur)==JUM_BLOK)
 cprintf("%-2s %-2s %2d\r\n",buku.judul,buku.pengarang, buku.jumlah);

 fclose(f_struktur);  /* tutup file */
 getch();
}
Contoh 7
/* --------------------------------- */
/* file program: FSCANF.C  */
/* contoh membaca data yang diformat */
/* yang ada pada fiile , memakai fscanf() */
/* --------------------------------- */
#include "stdio.h"
#include "conio.h"

main()
{
 struct
 {
  int x;
  int y;

 }koordinat;

 FILE *pkoord;
 char kar;  /* untukk menyimpan keluaran fungsi fscanf()*/
 int kode; /* untuk memegang keluaran fungsi fscanf() */

 /* buka file. periksa kalau gagal dibuka */
 if((pkoord=fopen("KORDINAT.DAT","rt"))==NULL)
 {
  cputs("File tak dapat dibuka !");
  exit(1);
 }
 while((kode=fscanf(pkoord,"%5d%5d%c",&koordinat.x,&koordinat.y,&kar)) !=EOF)
 {
  if(kode !=3)   /* jika yang dibaca tidak sama dengan */
        /* tiga buah file */
  {
   cputs("program dihentikan.\r\n");
   cputs("sebab format data dalam file salah !\r\n");
   exit(1);
  }
  cprintf("%5d %5d\r\n",koordinat.x, koordinat.y);

 }
 fclose(pkoord);
 getch();

}
Contoh 8
/* -------------------------------------- */
/*  file program : FWRITE.C */
/* contoh menyimpan data bertipe structur */
/* ke file , menggunakan fwrite() */
/* --------------------------------------- */
#include "stdio.h"
#include "conio.h"

main()
{
 FILE *f_struktur;
 char jawaban;

 struct data_pustaka
 {
  char judul[26];
  char pengarang[20];
  int jumlah;
 }buku;   /* variabel buku bertipe struktur */

 /* buka file */
 if( (f_struktur=fopen("DAFBUKU.DAT","wb"))==NULL )
 {
  cputs("File tak dapat diciptakan !\r\n");
  exit(1);
 }

 do
 {
  clrscr();
  cputs("judul buku :  ");
  gets(buku.judul);
  cputs("nama pengarang : ");
  gets(buku.pengarang);
  cputs("jumlah buku :  ");
  scanf("%d",&buku.jumlah);
  /* hapus isi penampung keyboard */
  fflush(stdin);

  /* rekam sebuah data bertipe struktur */
  fwrite(&buku,sizeof(buku),1,f_struktur);

  cputs("\r\nmau merekam data lagi (Y/T)? ");
  jawaban=getche();
 }
 while(jawaban=='Y'||jawaban=='y');

 fclose(f_struktur);  /* tutup file */

}
Contoh 9
/* ------------------------------- */
/* file program : GANTIFIL.C */
/* utntuk mengganti nama file */
/* ------------------------------------ */
#include "conio.h"
#include "stdio.h"

main()
{
 int kode;
 char namafilelama[65],namafilebaru[65];
 clrscr();

 cputs("Nama file yang akan diganti : ");
 gets(namafilelama);
 cputs("Nama file pengganti : ");
 gets(namafilebaru);

 kode=rename(namafilelama,namafilebaru);
 if (kode==-1)
  cputs("Gagal dalam mengganti nama file !\r\n");
 else
  cputs("File sudah diganti\r\n");
  getch();

}
Contoh 10
/* -------------------------------------------- */
/* file program : GANTIREC.C */
/* untuk mengganti isi suatu record */
/* secara acak */
/* -------------------------------------------- */
#include "stdio.h"
#include "conio.h"

#define SATU_RECORD 1

main()
{
 struct
 {
  char judul[26];
  char pengarang[20];
  int jumlah;
 }buku;    /* variabel buku bertipe struktur */
 FILE *pf;   /* pinter ke-file */
 char ulang;
 int nmr_record, hasil_baca;
 long int ofset_byte;

 clrscr();

 /* buka file yan berisi data buku */
 if((pf=fopen("DAFBUKU.DAT","rb"))==NULL)
 {
  cputs("File tak dapat dibuka !\r\n");
  exit(1);
 }

 /* baca record secara random */
 do
 {
  cputs("\r\nNomor record dari data");
  cputs("yang ingin anda ketahui: ");
  scanf("%d",&nmr_record);

  /* atur penunjuk posisi file ke record
     yang di kehendaki ----------------*/
  ofset_byte=(nmr_record-1)*sizeof(buku);
  fseek(pf,ofset_byte, SEEK_SET);

  /* baca record yang ditunjuk oleh
     penunjuk posisi file -------*/
  hasil_baca=fread(&buku,sizeof(buku),SATU_RECORD,pf);

  if(hasil_baca==0)
   cprintf("Nomor record tak absah !\r\n");
  else
  {
   cprintf("judul buku : %-s\r\n",buku.judul);
   cprintf("Pengarang : %-s\r\n",buku.pengarang);
   cprintf("jumlah Buku : %d\r\n",buku.jumlah);

   cprintf("Jumlah buku kini : ");
   scanf("%d",&buku.jumlah);

   /* atur penunjuk posisi file
      ke posisi sebelumnya---*/
   fseek(pf,ofset_byte,SEEK_SET);

   /* rekam ulang */
   fwrite(&buku,sizeof(buku),SATU_RECORD,pf);
  }

  cputs("\r\nMau mengubah lagi (Y/T)?");
  ulang = getche();
 }
 while (ulang=='Y'||ulang=='y');
 /* tutup file */
 fclose(pf);
}
Contoh 11
/* -------------------------------------- */
/* file program : GETC.C */
/* contoh untuk membaca isi file */
/* per karakter */
/* --------------------------------------------- */
#include "stdio.h"
#include "conio.h"
main()
{
 FILE *pf;
 char kar;

 clrscr();      /* hapus layar */
 if((pf=fopen("COBA.TXT","r"))==NULL) /* buka file */
 {
  cputs("File tak dapat dibuka !\r\n");    /* tulis kelayar */
  exit(1);    /* selesai */
 }

 while ((kar=getc(pf)) !=EOF)    /* baca kar dari file */
  putch(kar);          /* tampilkan ke layar */

  fclose(pf);
 getch();
}
Contoh 12
/* --------------------------------- */
/* file program: GETW.C  */
/* contoh membaca isi file */
/* menggunakan getw */
/* --------------------------------- */
#include "stdio.h"
#include "conio.h"

main()
{
 FILE *pf;       /* ptr-ke-FILE */
 int nilai;
 char nomor=0;

 clrscr();
 /* buka file biner untuk dibaca */
 if((pf=fopen("BILANGAN.DAT","wb"))==NULL)
 {
  cputs("File gagal dibuka! \n");
  exit();
 }
 cputs("isi file BILANGAN.DAT:");
 while(1)
 {
  /* baca sebuah int dari file  */
  nilai=getw(pf);
  /* jika akhir file, keluar loop */
  if(feof(pf)!=NULL)break;
  /* tampilkan kelayar */
  cprintf("%2d. %2d\r\n",++nomor,nilai);
 }
 fclose(pf); /* tutup file */
 getch();
}
Contoh 13
/* ------------------------------- */
/* file program : HAPUSTIL.C */
/* utntuk menghapus file */
/* ------------------------------------ */
#include "conio.h"
#include "stdio.h"

main()
{
 int kode;
 char namafile[65];

 cputs("Nama file yang akan dihapus : ");
 gets(namafile);

 kode=unlink(namafile);
 if (kode==-1)
  cputs("Gagal dalam menghapus !\r\n");
 else
  cputs("File sudah dihapus\r\n");
  getch();

}
Contoh 14
/* ------------------------------------- */
/* file program : PUTC.C */
/* contoh menambah tulisan */
/* dengan data karakter dari keyboard */
/* -------------------------------------- */

#include "stdio.h"
#include "conio.h"

#define CTRL_Z 26

main()
{
 FILE *pf;              /* pointer-ke-FILE */
 char kar;

 if((pf=fopen("COBA.TXT","a"))==NULL)   /* ciptakan file */
 {
  cputs("File tak dapat dibuka !\r\n");    /* tulis kelayar */
  exit(1);           /* selesai */
 }
 while((kar=getche()) !=CTRL_Z)   /* baca kar dari keyboard */
  putc(kar,pf);    /* tulis ke file */

 fclose(pf);
 getch();
}
Contoh 15
/* ------------------------------------- */
/* file program : PUTC.C */
/* contoh menciptakan dan mengisi file */
/* dengan data karakter dari keyboard */
/* -------------------------------------- */

#include "stdio.h"
#include "conio.h"

#define CTRL_Z 26

main()
{
 FILE *pf;              /* pointer-ke-FILE */
 char kar;

 if((pf=fopen("COBA.TXT","w"))==NULL)   /* ciptakan file */
 {
  cputs("File tak dapat diciptakan !\r\n");    /* tulis kelayar */
  exit(1);           /* selesai */
 }
 while((kar=getche()) !=CTRL_Z)   /* baca kar dari keyboard */
  putc(kar,pf);    /* tulis ke file */

 fclose(pf);
 getch();
}
Contoh 16
/* --------------------------------- */
/* file program: PUTW.C  */
/* contoh menyimpan data bertipe int */
/* menggunakan putw */
/* --------------------------------- */
#include "stdio.h"
#include "conio.h"

main()
{
 FILE *pf;       /* ptr-ke-FILE */
 int nilai;
 char jawab;

 clrscr();
 if((pf=fopen("BILANGAN.DAT","wb"))==NULL)   /* ciptakan file biner */
 {
  cputs("File gagal diciptakan! \n");
  exit();
 }
 cputs("programuntuk menyimpan data integer ke file.");

 do
 {
  cputs("\r\nBilangan yang akan disimpan: ");
  scanf("%d",&nilai);    /* baca nilai dari key board */
  putw(nilai,pf);   /* tulis bilangan kefile */
  cputs("memasukan data lagi (Y/T(?");
  jawab=getche();   /* baca jawaban dari keyboard */
 }
 while(jawab=='Y'||jawab=='y');
 fclose(pf);  /* menutup file */
 cputs("\r\nOke. Data sudah disimpan pada file.\r\n");
 getch();
}
Contoh 17
/* ------------------------------------- */
/* file program : SALINFIL.C */
/* contoh menyalin isifile teks */
/* ------------------------------------- */
#include "stdio.h"
#include "conio.h"
#include "string.h"

#define PANJANG 256

main()
{
 FILE *pf_input, *pf_output;
 char string[PANJANG];
 char namafile_inp[65],
   namafile_out[65];

 cputs("PROGRAM UNTUK MENYALIN ISI FILE TEKS\r\n");
 cputs("HURUF KECIL AKAN DIGANTI HURUF KAPITAL\r\n");
 cprintf("Nama file input: ");
 gets(namafile_inp);
 cprintf("Nama File output: ");
 gets(namafile_out);

 /* buka file input */
 if((pf_input=fopen(namafile_inp, "rt")) == NULL)
 {
  cputs("File input tak dapat dibuka !\r\n");
  exit(1);
 }

 /* buka file output */
 if((pf_output=fopen(namafile_out,"wt"))==NULL)
 {
 cputs("File output tak dapat dibuka !\r\n");
 exit(1);
 }

 /* ******************************** */
 /* baca string dari file input      */
 /* dan konversikan kehuruf kapital  */
 /* kemudian rekam ke file output    */
 /* ******************************** */
 while((fgets(string, PANJANG, pf_input)) !=NULL)
 {
  strupr(string);
  fputs(string, pf_output);
 }
 fcloseall();   /* tutup file input dan file output */
 getch();
}
Contoh 18
/* -------------------------------- */
/* file program: STDINOUT.C */
/* contoh penggunaan stdin dan stdout */
/* -------------------------------------- */
#include "conio.h"
#include "stdio.h"

main()
{
 int x;

 fprintf(stdout,"Masukan sebuah bilangan bulat.");
 fscanf(stdin,"%d",&x);
 fprintf(stdout,"Bilangan yang ana masukan : %d",x);
 getch();
}
Contoh 19
/* ---------------------------- */
/* file program : STDPRN.C */
/* contoh menggunakan stdprn */
/* untuk mencetak keprinter */
/* ------------------------------- */
#include "stdio.h"
main()
{
 fprintf(stdprn,"%c%s\r\n",15,"CONDENSED");
 fprintf(stdprn,"%c%s\r\n",18,"NORMAL");
 fprintf(stdprn,"%c%s\r\n",14,"LEBAR");
 getch();
}
Contoh 20
/* ---------------------------- */
/* file program: TES1.C */
/* contoh untuk redirection keluaran */
/* keprinter atau file */
/* ----------------------------- */
main()
{
 clrscr();
 printf("Tes %d\n",123);
 getch();
}
Contoh 21
/* ---------------------------- */
/* file program: TES2.C */
/* contoh untuk redirection masukan dari file */
/* sampai tombol CTRL-Z ditekan diikuti ENTER */
/* ----------------------------- */
#include "stdio.h"
#include "conio.h"

main()
{
 int jum = 0;
 char kar;

 /* menghitung jumlah huruf a atau A
    pada data yang berasal dari stdin ------------------ */
 while((kar=getchar())!=EOF)
    if(kar=='a'||kar=='A')
    jum++;
    cprintf("\r\nJumlah huruf a atau A = %d\r\n",jum);
 getch();
}

Sumber : Abdul Kadir, 2003 Pemrograman Dasar Turbo C untuk IBM PC.

1 komentar:

anita mengatakan...

makasi kaka... sangat2 membantu.. :D

Posting Komentar

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Justin Bieber, Gold Price in India