Operasi File pada bahasa c




Universitas Medan Area Prodi Biologi Fakultas Sains dan Teknologi Fakultas Pertanian Prodi Agroteknologi Prodi Agribisnis Fakultas Teknik Prodi Elektro Prodi Mesin Prodi Arsitektur Prodi Informatika Prodi Sipil Prodi Industri Fakultas Psikologi Fakultas Isipol Prodi Pemerintahan Prodi Administrasi Publik Prodi Ilmu Komunikasi Fakultas Hukum Fakultas Ekonomi Prodi Akuntansi Prodi Manajemen Prodi Magister Psikologi Prodi Magister Hukum Prodi Magister Administrasi Publik Prodi Magister Agribisnis Prodi Doktor Ilmu Pertanian Bagian Kepegawaian
Operasi File
Dasar Struktur File
      File adalah sebuah organisasi dari sejumlah record. Masing-masing record bisa terdiri dari satu atau beberapa field. Setiap field terdiri dari satu atau beberapa byte.
      Gambar struktur File :

      Catatan : record adalah nama lain dari struktur(struct)

DASAR FILE –Cont. 1
      Tahapan operasi File :
http://1.bp.blogspot.com/-KUwsuKryAgE/Twv2zj2WwfI/AAAAAAAAAMg/nc5tQXDzgHM/s1600/Struktur+File.JPG
v  Membuka / mengaktifkan file
v  Melaksanakan proses file
v  Menutup file

Membuka/Mem-aktifkan File
      Bentuk deklarasi :
Keterangan :
      Namafile berupa nama dari file yang akan diaktifkan
      Mode berupa jenis operasi yang akan dilakukan terhadap file
      Prototipe ada pada file stdio.h

Jenis Operasi File
      r menyatakan file hanya akan dibaca, jika file belum ada maka tidak akan berhasil
      w menyatakan bahwa file baru diciptakan. Jika file tersebut sudah ada dalam disk, isinya yang lama akan terhapus
      a untuk membuka file yang sudah ada untuk ditambah dengan data, jika file belum ada akan dibuat yang baru
      r+ sama dengan “r” tetapi selain file dapat dibaca, file juga dapat ditulisi
      w+ sama dengan “w” tetapi selain file dapat ditulisi, file juga dapat dibaca
      a+ sama dengan “w” tetapi selain file dapat ditulisi, file juga dapat dibaca

JENIS OPERASI FILE –Cont. 1
      Berhasil tidak nya operasi pengaktifan file dapat dilihat pada keluaran fungsi fopen()
      Jika keluaran fungsi berupa NULL(suatu makro yang didefenisikan pada file stdio.h), berarti operasi pengaktifan file gagal -> misal membuka file dengan mode ‘r’ tapi file nya belum ada
      Contoh :
Ø  Menciptakan dan mengaktifkan file bernama “coba.txt”
Ø  Dengan mode yaitu “w” (mode penulisan ke file)
Ø  Dan menempatkan pointer ke file ke variabel pointer pf
JENIS OPERASI FILE –Cont. 2
      Contoh bentuk pengaktifan file :
If (pf  = fopen(“coba.txt”,  “w” ) ==NULL)
{
Printf(“file tidak dapat diciptakan !\n”);
exit(1);   //keluar dari program
}
Keterangan :
Ø  pf akan diisi dengan keluaran dari fungsi fopen()
Ø  Jika nilainya NULL, maka akan mencetak “File” tidak dapat diciptakan”, setelah itu program dihentikan

MENUTUP FILE
      Apabila file sudah tidak diproses lagi, maka file tersebut ditutup, karena adanya keterbatasan jumlah file yang dapat dibuka secara serentak
      Perintah yang digunakan : fclose();
      Bentuk deklarasi :
      Bentuk deklarasi yang lain :

OPERASI FILE Operasi Penyimpanan dan Pembacaan File Per Karakter
Operasi penyimpanan file
      Penyimpanan karakter ke file menggunakan perintah : fputc()
      Bentuk deklarasi :
Ø  ptr_file adalah pointer ke File yang berisi keluaran dari fopen(),
Ø  kar berupa karakter yang akan disimpan dalam file

CONTOH PROGRAM TULIS
#include <stdio.h>
#include <stdlib.h>
void main()
{
            FILE *pf;/* Pointer-ke-FILE */
            char kar;  /* Ciptakanfile */
            if ((pf = fopen("COBA.TXT","w")) == NULL)
            {
                        printf("filetakdapatdiciptakan!\r\n");
                        exit(1);
            } //Masukkankarakterper karaktersampaiditekanENTER
            while((kar=getchar()) != '\n')
                        fputc(kar, pf);
            fclose(pf); /* tutupfile */
}

OPERASI FILE –Cont. 1
      Operasi pembacaan file
      Pembacaan karakter dari suatu file memakai perintah : fgetc().
      Bentuk deklarasi :
Algoritma proses pembacaan file per karakter :
  1. Buka file coba.txt dengan mode ‘r’ jika tidak berhasil dibuka maka
-          Beri keterangan pada layar bahwa file tak ada
-          Selesai
2. Baca sebuah karakter dari file, jika karakter sama dengan EOF (tanda akhir file) maka ke langkah 4
3. Tampilkan karakter ke layar dan kembali ke langkah 2
4. Tutup file
5. selesai

Contoh Program Baca
#include <stdio.h>
#include <stdlib.h>
void main()
{
            FILE *pf;
            char kar;
            if((pf=fopen("COBA.TXT","r")) == NULL ) /* bukafile */
            {
                        printf("filetakdapatdibuka!\r\n");
                        exit(1);
} /*Baca karakterper karaktersampaiditemuiEOF*/
            while((kar=fgetc(pf)) != EOF)
                        putchar(kar);
            printf("\n");
            fclose(pf); /* tutupfile */
}

Contoh Program Baca Tulis
#include <stdio.h>
#include <stdlib.h>
void main()
{
            FILE *pf; /* Pointer-ke-FILE */
            char kar; /* Ciptakanfile */
            if ((pf = fopen("COBA.TXT","r+")) == NULL)
            {
                        printf("filetakdapatdiciptakan!\r\n");
                        exit(0);
}
            while((kar=fgetc(pf)) != EOF) /* bacakardarifile */
                        putchar(kar);
            while((kar=getchar()) != '\n') /*bacakardrkeyboard*/
                        fputc(kar, pf);
            fclose(pf);
}
                                                         
Jenis File
      File biner : file yang pola penyimpanan di dalam disk berbentuk biner, yaitu seperti bentuk pada memori RAM(komputer). Dipakai untuk menyimpan data kompleks, mis : struct
      File teks : file yang pola penyimpanan datanya dalam bentuk karakter. Dipakai untuk menyimpan data seperti karakter atau string
      Penentuan mode teks dan mode biner :
      t untuk mode teks
      b untuk mode biner
      Contoh :
      “rt” : mode file adalah teks dan file hendak dibaca
      “rt+” : mode file adalah teks dan file bisa dibaca dan ditulis bisa juga ditulis : “r+t”
      “rb” : mode file adalah biner dan file hendak dibaca

Operasi baca dan tulis file integer
      Perintah yang digunakan : _putw(), _getw()
      Bentuk deklarasi :
Kegunaan :
_getw() untuk membaca sebuah data bertipe int dari file
_putw() untuk menyimpan sebuah data bertipe int ke file

Contoh program tulis
#include <stdio.h>
#include <stdlib.h>
void main( )
{
            FILE *pf; /* ptr-ke-FILE*/
            int nilai, data, i;
           
            if((pf=fopen("BILANGAN.TXT", "wb")) == NULL )
            {
                        printf("filegagaldiciptakan!\n");
                        exit(1);
}
            printf("Masukkanbanyaknyadata : ");
            scanf("%d",&data);
            for (i=0;i<data;i++)
            {
                        printf("\nBilanganyang disimpan: ");
                        scanf("%d", &nilai); /* bacanilaidrkeyboard */
                        _putw(nilai, pf); /* bacabilangankefile */
}
            printf("\nOke. Data sudahdisimpandalamfile.\n");
            fclose(pf);
            /* menutupfile */
}

Contoh program baca
#include <stdio.h>
#include <stdlib.h>
void main()
{
            FILE *pf; /* ptrkefile */
            int nilai, nomor= 0; /* Bukafile bineruntukdibaca*/
            if((pf=fopen("BILANGAN.TXT","rb")) == NULL)
            {
                        printf("Filegagaldibuka.\n");
                        exit(1);
}
            printf("Isifile BILANGAN.TXT : \n");
            while(1) /* file berhasildibuka*/
            {
                        nilai= _getw(pf); /* Baca sebuahintdrfile */
                        if (feof(pf) != 0)
                                    break; /*Jikaakhirfile, keluarloop*/
                        printf("%2d. %d \n", ++nomor, nilai); /* Tampilkankelayar*/
}
            fclose(pf);
            /* Tutupfile */
}

Operasi baca dan simpan data string pada file
      Perintah yang digunakan : fgets() dan fputs()
      Bentuk deklarasi :
Kegunaan :
fputs() : menyimpan string str kedalam file
fgets() : membaca string dari file sampai ditemukannya karakter baris baru ‘\n’ atau setelah  
(n-1) karakter, dengan n adalah panjang maksimal string yang dibaca per waktu-baca
Note : saat simpan, fputs() tidak menambahkan karakter baris – baru (‘\n’) dengan
sendirinya, dan karakter null tidak ikut disimpan
Baik fgets() maupun fputs() digunakan untuk file teks.

CONTOH PROGRAM BACA
#include <stdio.h>
#include <stdlib.h>
void main( )
{
            FILE *pf; /* ptr-ke-FILE*/
            int data, i;
            char nama[40];
            if((pf=fopen("latihan.txt", "r")) == NULL )
            {
                        printf("filegagaldibuka!\n");
                        exit(1);
}
            /*Baca file per string sampaiditemuiEOF*/
            while (fgets(nama,6,pf))
                        printf("%s\n",nama);
            fclose(pf);
            /* menutupfile */
}

Menghapus file
      Bentuk deklarasi :
Namafile : pointer yang menunjuk ke nama file yang aka dihapus
      Jika operasi hapus berhasil, akan menghasilkan output = 0
      Prototype : stdio.h

Contoh program hapus
#include <stdio.h>
#include <stdlib.h>
#define PJG 65
void main()
{
            int kode;
            char namafile[PJG];
            printf("Namafile yang akandihapus: ");
            gets(namafile);
            kode= remove(namafile);
            if(kode== 0)
                        printf("Filesudahdihapus\n");
            else
                        printf("Gagaldalammenghapusfile\n");
}

Mengganti nama File
      Bentuk deklarasi :
      Jika operasi penggantian berhasil, akan menghasilkan output = 0
      Prototype : stdio.h

Contoh program ganti nama
#include <stdio.h>
#include <stdlib.h>
#define PJG 65
void main()
{
            int kode;
            char namafilelama[PJG], namafilebaru[PJG];
            printf("Namafile yang akandiganti: ");
            gets(namafilelama);
            printf("Namafile yang baru: ");
            gets(namafilebaru);
            kode= rename(namafilelama, namafilebaru);
            if(kode== 0)
                        printf("Namafile sudahdiganti\n");
            else
                        printf("Gagaldalammenggantinama\n");
}

gimana mudah kan cara nya buat teman" yg baru belajar. selamat mencaoba dan sukses salam
kampus terbaik di medan Universitas Medan Area

Komentar

Posting Komentar