• Tidak ada hasil yang ditemukan

465c3 contoh program operasi file

N/A
N/A
Protected

Academic year: 2017

Membagikan "465c3 contoh program operasi file"

Copied!
7
0
0

Teks penuh

(1)

//---//PROGRAM ISI DATA MAHASISWA

//---#include <vcl.h>

#include <conio.h> #include <stdio.h> #include <string.h> #pragma hdrstop

//---#pragma argsused

//deklarasi record struct mhs_rec { char nim[11], nama[25], ttl[30], jkel[2], alamat[30]; } mhs;

FILE *fmhs; void form_mhs() {

gotoxy(35, 3); printf("ISI DATA MAHASISWA"); gotoxy(20, 5); printf("NIM : ");

gotoxy(20, 7); printf("Nama : "); gotoxy(20, 9); printf("Tempat, Tgl Lahir : "); gotoxy(20,11); printf("Jenis Kelamin : "); gotoxy(20,13); printf("Alamat : "); }

void isi_item_mhs() {

gotoxy(40, 5); gets(mhs.nim); gotoxy(40, 7); gets(mhs.nama); gotoxy(40, 9); gets(mhs.ttl); gotoxy(40,11); gets(mhs.jkel);

if ((strcmp(mhs.jkel,"L") == 0)|| (strcmp(mhs.jkel,"l") == 0)) {gotoxy(40,11); printf("Laki-laki");}

else

{gotoxy(40,11); printf("Perempuan");} gotoxy(40,13); gets(mhs.alamat); }

(2)

{

//1. open file

fmhs=fopen("d:mahasiswa.dat", "a+"); if (fmhs == NULL)

{

printf("Open file gagal..!!"); getch();

return(0); }

//2. tampil formulir form_mhs(); //3. isi item data isi_item_mhs(); //4. simpan data

fwrite(&mhs, sizeof(mhs), 1, fmhs); //5. tutup file

fclose(fmhs); return 0; }

//---//PROGRAM REPORT DATA MAHASISWA

//---#include <vcl.h>

#include <conio.h> #include <stdio.h> #include <string.h> #pragma hdrstop

//---#pragma argsused

//deklarasi record struct mhs_rec { char nim[11], nama[25], ttl[30], jkel[2], alamat[30]; } mhs;

FILE *fmhs;

void form_reportmhs() {

(3)

cprintf(" REPORT DATA MAHASISWA"); gotoxy(2, 3);

cprintf("---"); gotoxy(2, 4);

cprintf(" NO NIM NAMA ALAMAT "); gotoxy(2, 5);

cprintf("---"); }

int main(int argc, char* argv[]) {

int no=0; //1. open file

fmhs=fopen("d:mahasiswa.dat", "r"); if (fmhs == NULL)

{

printf("Open file gagal..!!"); getch();

return(0); }

//2. tampil formulir form_reportmhs();

//3. posisikan pointer record di awal file fseek(fmhs, SEEK_SET, 0);

fread(&mhs, sizeof(mhs), 1, fmhs); do {

//4. baca data/record pertama //5 tampilkan data

no++;

gotoxy(2,5+no); cprintf(" %i %10s %-15s %-25s", no, mhs.nim, mhs.nama, mhs.alamat); fread(&mhs, sizeof(mhs), 1, fmhs);

} while (!feof(fmhs)); //selama belum end of file //5. tutup file

gotoxy(2, 6+no);

cprintf("---"); fclose(fmhs);

getch(); return 0; }

//---//PROGRAM HAPUS DATA MAHASISWA

//---#include <vcl.h>

(4)

#pragma hdrstop

//---#pragma argsused

//deklarasi record struct mhs_rec { char nim[11], nama[25], ttl[30], jkel[2], alamat[30]; } mhs;

FILE *fmhs, *ftemp; int norec, no; char cnim[11], jwb; void form_mhs() {

gotoxy(35, 3); printf("KOREKSI DATA MAHASISWA"); gotoxy(20, 5); printf("NIM : ");

gotoxy(20, 7); printf("Nama : "); gotoxy(20, 9); printf("Tempat, Tgl Lahir : "); gotoxy(20,11); printf("Jenis Kelamin : "); gotoxy(20,13); printf("Alamat : "); }

void isi_item_mhs() {

gotoxy(40, 7); gets(mhs.nama); gotoxy(40, 9); gets(mhs.ttl); gotoxy(40,11); gets(mhs.jkel);

if ((strcmp(mhs.jkel,"L") == 0)|| (strcmp(mhs.jkel,"l") == 0)) {gotoxy(40,11); printf("Laki-laki");}

else

{gotoxy(40,11); printf("Perempuan");} gotoxy(40,13); gets(mhs.alamat); }

void tampil_item_mhs() {

gotoxy(40, 7); printf("%s",mhs.nama); gotoxy(40, 9); printf("%s",mhs.ttl);

if ((strcmp(mhs.jkel,"L") == 0)|| (strcmp(mhs.jkel,"l") == 0)) {gotoxy(40,11); printf("Laki-laki");}

else

(5)

gotoxy(40,13); printf("%s",mhs.alamat); }

void form_reportmhs() {

textattr(0x0b); //0x -> hexa; 0 warna background d->foreground/text gotoxy(2, 1);

cprintf(" REPORT DATA MAHASISWA"); gotoxy(2, 3);

cprintf("---"); gotoxy(2, 4);

cprintf(" NO NIM NAMA ALAMAT "); gotoxy(2, 5);

cprintf("---"); }

int report_mhs() {

//1. open file

fmhs=fopen("d:mahasiswa.dat", "r"); if (fmhs == NULL)

{

printf("Open file gagal..!!"); getch();

return(0); }

//2. tampil formulir form_reportmhs();

//3. posisikan pointer record di awal file fseek(fmhs, SEEK_SET, 0);

fread(&mhs, sizeof(mhs), 1, fmhs); no=0;

do {

//4. baca data/record pertama //5 tampilkan data

no++;

gotoxy(2,5+no); cprintf(" %i %10s %-15s %-25s", no, mhs.nim, mhs.nama, mhs.alamat); fread(&mhs, sizeof(mhs), 1, fmhs);

} while (!feof(fmhs)); //selama belum end of file //5. tutup file

gotoxy(2, 6+no);

cprintf("---"); fclose(fmhs);

getch(); } //end of report

int main(int argc, char* argv[]) {

//1. open file dengan mode R

(6)

if (fmhs == NULL) {

printf("Open file gagal..!!"); getch();

return(0); }

//tampil formulir form_mhs(); //2. isi key field/NIM gotoxy(40,5); gets(cnim); //3. cari nim di tabel norec = 0;

do {

fread(&mhs, sizeof(mhs), 1, fmhs); norec++;

} while ((strcmp(mhs.nim, cnim)!=0) && (!feof(fmhs))); norec--;

//4. Jika ketemu

if (strcmp(mhs.nim, cnim)==0) {

tampil_item_mhs(); //tampilkan

gotoxy(30, 17); printf("Data ini dihapus [y/t] --> "); jwb = getchar();

if ((jwb == 'y') || (jwb == 'Y')) { //dihapus

ftemp=fopen("d:mahasiswa.tmp", "w"); if (ftemp == NULL)

{

printf("Open file temporary gagal..!!"); getch();

return(0); }

fseek(fmhs, 0, SEEK_SET);

fread(&mhs, sizeof(mhs), 1, fmhs); //baca data mhs do {

if (strcmp(mhs.nim, cnim) != 0) //jika bukan yg dihapus fwrite(&mhs, sizeof(mhs), 1, ftemp); //simpan ke temp fread(&mhs, sizeof(mhs), 1, fmhs); //baca data mhs } while (!feof(fmhs));

fclose(fmhs); fclose(ftemp);

unlink("mahasiswa.dat"); //hapus file mahasiswa.dat

rename("mahasiswa.tmp", "mahasiswa.dat"); //ganti nama mhs.tmp -> mhs.dat }

} else {

printf("Data tidak ditemukan"); getch();

}

(7)

}

Referensi

Dokumen terkait

 Selain beberapa operasi direktori yang kita bahas di beberapa slide sebelumnya, masih ada banyak lagi command-command dalam PHP yang digunakan untuk memanipulasi direktori.

Sama seperti penghapusan, proses pencarian ini dilakukan dengan membaca record satu per satu mulai dari awal record sampai record terakhir8. Setiap record yang

Lampu lalu lintas Kendaraan Tempat lampu lalu

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.

Setelah membuka file dan selesai diproses dengan mode yang ada pada daftar tersebut, maka kita harus menutup sebagai tahapan terakhir dari proses.

Untuk membaca data dari file di dalam program Visual Basic dapat dilakukan dengan terlebih dahulu membuka file untuk keperluan membaca dari file:. Open Nama_File For Input

Hoki menjadi pengadil Setiausaha Sukan Sekolah Guru Penasihat Kelab Hoki Mac (sebulan) RM 350.00 / Kokurikulum Peratus keahlian 3% Pencapaian Pasukan Hoki Sekolah dalam

D4 LJ PJJ PENS-ITS 12 Aplikasi Read – Write File • Tekan button Baca File, maka pada textarea akan menampilkan text yang terdapat pada file txt • Selanjutnya tambahkan text