Showing posts with label pemrograman c. Show all posts
Showing posts with label pemrograman c. Show all posts

Fungsi~getc() pada Pemrograman C

Posted by belajar



Untuk melihat isi file hasil program di atas, bisa juga melalui program dengan memakai fungsi fgetc(), yang digunakan untuk pembacaan per karakter dari isi file. Prototipe dari fungsi ini ada di stdio.h. Bentuk deklarasifgetc():


Program berikut digunakan untuk membaca isi file COBA.TXT dengan langkah-langk sebagai berikut :
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


Script program C nya:


/* File program: fgetc.c
contoh membaca isi file per karakter */
#include <stdio.h> #include <stdlib.h>
main()
{
FILE *pf;
char kar;
if((pf=fopen("COBA.TXT","r")) == NULL )      /* buka file */
{
printf ("file tak dapat dibuka ! \ r\ n" ) ;
exit (1) ;                                          /* selesai */
}
while((kar=fgetc(pf)) != EOF)      /* baca kar dari file */
putchar(kar);                  /* tampilkan ke layar*/
printf("\n");
fclose(pf);                                 /* tutup file */
}




Contoh eksekusi :
Mencoba menulis ke file COBA.TXT

Baca selengkapnya

File Biner dan File Teks pada Pemrograman C

Posted by belajar



Pada saat file dibuka, file bisa diperlakukan sebagai file biner atau file teks. File biner adalah file yang pola penyimpanan di dalam disk berbentuk biner, yaitu seperti bentuk pada memori RAM (komputer). Misalnya data bertipe int selalu akan menempati ruang 4 byte (pada mesin 32 bit), berapapun harganya.
Sedangkan file teks merupakan file yang pola penyimpanan datanya dalam bentuk karakter. Bilangan bertipe int misalnya, bisa saja menempati ruang 1 byte, 2 byte atau lebih bergantung kepada nilai dari bilangannya. Sebagai contoh, bilangan 54 akan disimpan dalam 2 byte (berupa karakter 5 dan 4), tetapi bilangan 123 akan disimpan dalam 3 byte. File seperti ini bisa dilihat langsung dengan perintah TYPE melalui prompt DOS atau memakai editor teks (seperti Notepad).
File teks biasanya dipakai untuk menyimpan data bertipe karakter atau string. Sedangkan file biner dipakai untuk menyimpan data bilangan atau data kompleks, seperti struktur (struct).
Penambahan yang perlu dilakukan untuk menentukan mode teks atau mode biner berupa :


t untuk mode teks
b untuk mode biner
Contoh :

  •  " rt "    Berarti mode file adalah teks dan file hendak dibaca
  •  " rt+ "    Berarti mode file adalah teks dan file bisa dibaca dan ditulisi Bentuk penulisan yang lain (tetapi maknanya sama) : " r+t "
  •  " rb"    Berarti mode file adalah biner dan file hendak dibaca.


Catatan :
Jika pada mode file tidak terdapat karakter t atau b, mode file akan ditentukan oleh variabel global bernama imode (deklarasinya ada pada file fcntl.h). Jika imode tidak dilibatkan dalam program, maka mode file yang tak mengandung t atau b akan diperlakukan sebagai file teks (secara default).
Variabel _fmode bisa diisi dengan O_BINARY untuk menyatakan file biner, atau O_TEXT untuk menyatakan file teks. Contoh :

_fmode = 0 _BINARY;
pf = fopen("TEST1", "r");

Berarti bahwa "TEST1 " adalah file biner dan hendak dibaca.
O_TEXT ataupun O_BINARY didefinisikan pada file fcntl.h


Baca selengkapnya

Operasi Penyimpanan dan Pembacaan File Per Int pada Pemrograman C

Posted by belajar



Untuk keperluan menyimpan atau membaca membaca file bertipe int, C menyediakan fungsi _putwO dan _getwO. Betuk deklarasinya :
int _putty(int nilai, FILE *ptr_file); int _getty(FILE *ptr_file);
Dengan prototipe ada pada stdio.h. Kegunaan masing-masing adalah :
_getwO untuk membaca sebuah data bertipe int dari file
_putwO untuk menyimpan sebuah data (yang disimpan dalam variabel nilai) yang bertipe int ke file.
Contoh berikut merupakan program untuk menyimpan sejumlah data bertipe int ke dalam file bertipe biner bernama BILANGAN.DAT.Dalam hal ini, file BILANGAN.DAT akan diperlakukan sebagai file biner.


/* File program: _putty.c
contoh menyimpan data bertipe int menggunakan putty() */
#include <stdio.h> #include <stdlib.h>
main( )
{
FILE *pf;                                    /* ptr-ke-FILE */
int nilai, sudah benar;
_
char jatyab;
if((pf=fopen("BILANGAN.DAT", "tyb")) == NULL )
/* ciptakan file*/
{
printf ("file gagal diciptakan ! \ n" ) ;
exit (1) ;
}
printf("MENYIMPAN DATA INTEGER KE FILE\n");

do {
printf("\nBilangan yang akan disimpan: ");
scanf ("%d", &nilai) ;        /* baca nilai dr keyboard */
putw(nilai, pf);             /* baca bilangan ke file */
printf("memasukkan data lagi (Y/T)?      ");
do
{
jawab = getchar () ; /* baca jawaban dr keyboard */ sudah benar = ( (jawab == 'Y') II (jawab == 'y')
II (jawab == 'T') II (jawab == 't')); / while(! sudah benar);
2
/
while (jawab == 'y' I I jawab == 'Y' ) ;
printf("\nOke. Data sudah disimpan dalam file.\n");
fclose(pf);                                 /* menutup file */
/


Contoh eksekusi :
Program untuk menyimpan data integer ke file
Bilangan yang akan disimpan: 60 Memasukkan data lagi (Y/T)? y
Bilangan yang akan disimpan: 998 Memasukkan data lagi (Y/T)? y
Bilangan yang akan disimpan: -75 Memasukkan data lagi (Y/T)? t
Oke. Data sudah disimpan dalam file.
Program yang digunakan untuk menampilkan isi file BILANGAN.DAT pada dasarnya sama dengan program fgetc.c yang menampilkan isi file teks COBA.TXT di atas. Hanya saja, untuk mendeteksi akhir dari file, diperlukan makro bernamafeof(), yang memiliki bentuk deklarasi
int feof(FILE *ptrfile);
dengan prototipe dan definisinya ada pada filestdio.h
Keluaran feof() berupa nilai nol (NULL) jika operasi pembacaan yang terakhir membaca tanda akhir file. Sebagai contohnya, perhatikan implementasi pada program di bawah ini.
Contoh membaca isi file biner menggunakan getw() */
#include <stdio.h> #include <stdlib.h>
main()
{
FILE *pf;                              /* ptr ke file */
int nilai, nomor = 0;
/* Buka file biner untuk dibaca */ if((pf=fopen("BILANGAN.DAT","rb")) == NULL)
{
printf ("File gagal dibuka . \ n" ) ;
exit (1) ;
}
printf("Isi file BILANGAN.DAT : \n");
while(1)                                /* file berhasil dibuka */
{
nilai = _getw(pf);             /* Baca sebuah int dr file */
if (feof (pf) != 0) /*Jika akhir file, keluar loop*/
break;
/* Tampilkan ke layar */
printf("%2d. %d \n", ++nomor, nilai);
}
fclose (pf) ;                          /* Tutup file */
}


Contoh eksekusi :
Isi file BILANGAN.DAT :
1.    60
2.    998
3.    -75


Baca selengkapnya