Tipe Data Lanjut, Pointer, & Operasi File : Program Splitter File Teks Eksternal

8 12 2009

8. Soal Shift (Dekripsi -8) Diterjemahkan ke dalam Teks dengan Mozilla Firefox :

Buatlah program splitter file teks eksternal!

*Input: *string separator yang diinputkan lewat keyboard dan sebuah file

teks eksternal

_contoh input:_

string separator: “,”

/*———————–file.txt*/

Praktikum pemrograman terstruktur adalah praktikum yang

menyenangkan,penuh dengan kejutan dan hal-hal yang baru.

* *

*Output: *satu* *atau* *beberapa file eksternal yang telah

terpisah-pisah berdasarkan string separator yang diminta

_Contoh output:_

/*——————-file1.txt*/

Algoritma Program :

  1. Program menampilkan statemen yang berisi nama program ”[PROGRAM SPLITTER]”.
  2. Program membuka file eksternal yang telah disediakan dengan mode ”rt” (read text). Jika file tersebut tidak berisi karakter apapun (NULL), program akan menampilkan statemen ”File tidak dapat dibuka!” dan langsung keluar dari program.
  3. Jika berisi, program akan menginstruksikan user untuk memasukkan separator.
  4. Setelah user memasukkan separator, program menyimpannya dalam variabel ”separator”.
  5. program menginstruksikan user untuk memasukkan nama file pertama dan membuat sebuah file sesuai dengan nama tersebut.
  6. Program membaca setiap karakter file eksternal. Jika belum menemukan karakter EOF(End of File) dan karakter tersebut separator, program akan menginstruksikan user untuk memasukkan nama file selanjutnya.
  7. Jika belum menemukan karakter EOF(End of File) dan karakter – karakter tersebut bukan separator, program akan menyimpan karakter – karakter tersebut pada file tersebut.
  8. Program menampilkan statemen “<<Semua file telah tersimpan>>”.
  9. Program menutup file yang telah dibuka dan file – file yang telah diciptakan.

Sourcecode Program Splitter :

#include<stdio.h>

#include<conio.h>

#include<process.h>

#include<stdlib.h>

int main(void)

{

FILE *baca, *tulis;

char kar, separator, file[10], file_ljt[10];

if((baca=fopen("TEKS EKSTERNAL.txt","rt"))==NULL)

{

cputs("\nFile tidak dapat dibuka!");

exit(1);

}

else

{

puts("\t\t\t\t[PROGRAM SPLITTER]");

printf("\nMasukkan separator\t\t>> ");

scanf("%c", &separator);

printf("\nMasukkan nama file pertama\t>> ");

scanf("%s", file);

tulis=fopen(file, "wt");

}

while((kar=getc(baca))!=EOF)

{

if(kar==separator)

{

printf("\nMasukkan nama file selanjutnya\t>> ");

scanf("%s", file_ljt);

tulis=fopen(file_ljt,"wt");

}

else

{

putc(kar, tulis);

}

}

puts("\n\t\t\t<<Semua file telah tersimpan>>");

fclose(baca);

fclose(tulis);

getch();

return 0;

}

Kelebihan dan Kelemahan Program :

  • Kelebihan Program
  1. Program Splitter yang telah kami buat ini dapat memotong file yang dibatasi oleh separator (input user) dan menyimpannya dalam file – file lain dengan nama sesuai dengan keinginan user.
  • Kelemahan Program
  1. Program Splitter yang telah kami buat ini belum dapat menyeleksi separator yang berada di depan dan di belakang, sehingga jika separator teletak di depan dan atau di belakang, program akan tetap menyimpan data sebelum (depan) dan atau sesudah (belakang) separator dalam file baru yang nantinya file tersebut tak berisi data (NULL).

Kesimpulan :

Program Splitter yang kami buat ini masih perlu dikembangkan lebih lanjut agar dapat berjalan sesuai dengan harapan. Selain itu, kami telah mendapatkan tambahan ilmu dari materi yang diberikan kakak asisten serta pengalaman (jam terbang) dalam membuat program ini serta program lain dalam modul ini yang mempunyai materi Tipe Data Lanjut, Pointer, dan Operasi File.

Posted By : Evan Yofiyanto @ Evan’s Blog : Kuliah Informatika (kuliahinformatika.wordpress.com)

[FREAX]


Actions

Information

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




%d bloggers like this: