Anda di halaman 1dari 28

MODUL MATERI

PEMBELAJARAN
Matakuliah: Algoritma dan Pemrograman

MODUL 10
Pemrosesan Teks

Penyusun Modul
DR. SUARGA. MSc, M.Math, Ph.D

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 188


PETA MODUL

Pendahuluan
Solusi Masalah:
Algoritma
Flowchart, Algoritma, Teknik
Program C/C++ Pencarian

Flowcharting

Ujian Tengah Teknik


Semester Pengurutan
Variabel, Data,
dan Operator

Struktur Data
Instruksi : Prosedur
Input & Output, dan Fungsi
If/then/else

Orientasi Objek

Instruksi : Teks File


Seleksi Case,
Perulangan For Ujian Akhir
Semester
Larik:
Instruksi : Vektor
Perulangan While, Matriks
Do While

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 189


PENDAHULUAN
CAPAIAN PEMBELAJARAN : Setelah mengikuti matakuliah ini mahasiswa
diharapkan dapat menganalisis masalah, menyusun algoritma penyelesaian dan
membuat program dalam bahasa C/C++ berdasarkan algoritma untuk berbagai
persoalan komputasi dasar.

KOMPETENSI MODUL : Setelah mengikuti modul ini Mahasiswa mampu merekam teks
ke file dan membaca teks dari File menggunakan program C++.

KERANGKA TOPIK :

1. Pengertian Teks
2. Tatacara mempersiapkan file Teks.
3. Pemrosesan File Teks:
a. Menghitung jumlah byte dalam file
b. Menghitung frekuensi huruf dalam
file teks
c. Menyalin isi file
4. Menggabung isi beberapa file

PRASYARAT BELAJAR:

Mahasiswa sudah harus menguasai semua instruksi dasar pemrograman seperti input/ouput,
seleksi, perulangan, dan prosedur/fungsi sebelum lanjut ke materi pemrosesan teks. Secara
mandiri mahasiswa harus mencoba implementasi dari setiap algoritma yang diberikan ke dalam
bahasa C++, dan mengerjakan tugas-tugas yang diberikan.

DESKRIPSI SINGKAT:

Materi pada modul ini menyajikan pengertian dan tatacara untuk memproses teks dan merekam-
nya ke dalam suatu file, kemudian membaca isi file dan menampilkan hasilnya. Diberikan pula
dasar-dasar intruksi menyalin file dan juga menggabungkan dua file.

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 190


PRE-TEST:
1. Menurut anda apa yang disebut file? Apakah file teks tersebut?

2. Apakah anda pernah menggunakan editor teks? misalnya “Notepad” pada sistem
windows.

3. Sebutkan fungsi-fungsi utama dari program Notepad untuk keperluan file teks.

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 191


URAIAN MATERI:

10. PEMROSESAN TEKS/FILE


Pemrosesan teks banyak dilakukan dalam perangkat lunak pengolah kata (wordprocessor) seperti
MS-Word, WordPerfect, dan perangkat lunak lainnya. Pada bab ini hanya akan dibahas prinsip
dasarnya saja.

Definisi : Teks (text) adalah deretan karakter yang bisa direkam ke dalam suatu file / berkas /
arsip.

• Suatu teks bisa terdiri atas beberapa kata (words).


• Setiap kata terpisah dari kata lainnya, dipisahkan oleh paling sedikit satu spasi.
• Suatu teks dapat terdiri atas beberapa baris (lines) yang dibentuk oleh beberapa kata.
• Setiap baris diakhiri oleh marka end-of-line (EOL).
• Suatu teks diawali oleh marka begin-of-file (BOF) dan diakhiri dengan marka end-of-file
(EOF).

Deklarasi suatu teks didahului dengan tipe-data text.

Konsep Pemrosesan Teks:

• Teks terdiri atas deretan karakter yang dikenal oleh komputer. Karakter yang dikenal oleh
komputer pada umumnya terdiri atas :
• Abjad atau alphabet, yaitu :{ A, B, C, …, Z, a, b, c, …, z }
• Karakter angka : { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
• Operator dan karakter khusus : { +, - , *, /, >, =, <, |, spasi, !, “, #, $, %, &, ^, @, (, ), …}
• Karakter kontrol seperti : DEL (delete), STX (start of text), ETX (end of text), LF (line feed),
CR (carriage return / Enter), EOLN (end of line), BOF(begin of file), EOF(end of file), VT
(vertical tab), HT (horizontal tab/TAB), dsb.

• Berbagai operasi yang bisa dilakukan terhadap teks, antara lain:


1. menghitung berapa karakter yang ada dalam suatu teks.
2. menghitung berapa kata dalam teks.
3. menghitung berapa baris dalam teks.
4. menghitung berapa kalimat dalam teks.
5. menggabungkan dua teks.
6. mencari kata tertentu dalam teks.
7. menyalin teks
dsb

Beberapa instruksi yang berkaitan dengan teks adalah sbb:

a. mengembalikan penunjuk teks ke posisi awal (BOF) dari file: reset ( F )


b. membuka suatu file teks yang ada di storage (disk) : assign ( F, nama_file )
Suarga,PhD, Modul-10 Algoritma Pemrograman Page 192
c. membaca satu karakter dari file teks : read ( F, char )
d. merekam satu karakter ke file teks : write ( F, char )
e. menutup file teks : close ( F )

Contoh 1 : menghitung jumlah karakter (tidak termasuk marka EOL, BOF, dan EOF) yang ada
dalam suatu file teks bernama : mytext.txt

Algoritma Hit_karakter
{ menghitung jumlah karakter yang ada dalam suatu file teks }

Definisi Variabel
text F;
char k;
integer jkar;

Rincian Langkah
assign ( F, “mytext.txt” );
{ kembalikan ke awal file, baca BOF }
read ( F, k );
if ( k != BOF )
then reset ( F );
read ( F, k );
endif.

{ baca karakter hingga akhir file }


read ( F, k );
jkar  0;
while ( k != EOF ) do
{ hindari tanda EOL }
if ( k != EOL )
then jkar  jkar + 1;
endif.
read ( F, k );
endwhile.

write ( “jumlah karakter (termasuk spasi ) = “, jkar );

Contoh 2 : menghitung jumlah baris yang ada dalam suatu file teks.

Algoritma Hit_baris
{ menghitung jumlah baris pada suatu file teks }

Definisi Variabel
text F;
char k;
integer jbar;

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 193


Rincian Langkah
assign ( F, “mytext.txt” );
{ kembalikan ke awal file, baca BOF }
read ( F, k );
if ( k != BOF )
then reset ( F );
read ( F, k );
endif.

{ menolkan jumlah baris pada awal putaran }


jbar  0;

{ baca karakter berikutnya hingga akhir file }


read ( F, k );
while ( k != EOF ) do
{ bila ketemu tanda EOL tambah jumlah baris }
if ( k = EOL )
then jbar  jbar + 1;
endif.
read ( F, k );
endwhile.

write ( “jumlah baris = “, jbar );

Contoh 3 : menghitung jumlah kata yang ada dalam suatu file teks, dengan anggapan setiap kata
dipisahkan oleh spasi.

Algoritma Hit_kata
{ menghitung jumlah kata dalam suatu file teks }

Definisi Variabel
text F;
char k1, k2;
integer jkata;

Rincian Langkah
assign ( F, “mytext.txt” );
{ kembalikan ke awal file, baca BOF }
read ( F, k1 );
if ( k1 != BOF )
then reset ( F );
read ( F, k1 );
endif.

{ baca dua karakter ber-urutan hingga akhir file }


read ( F, k1 );
read ( F, k2 );
jkata  0;
while ( k1 != EOF ) || ( k2 != EOF ) do

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 194


if ( k1 != ‘ ‘ ) && ( k2 = ‘ ‘ )
then jkata  jkata + 1;
endif.
k1  k2;
read ( F, k2 );
endwhile.
if ( k1 != ‘ ‘ ) && ( k2 = EOF )
then jkata  jkata + 1;
endif.
write ( “jumlah kata = “, jkata );

File dalam C++:


C++ memakai istilah “stream” untuk menyatakan aliran karakter (teks), apabila aliran ini menuju
program maka disebut “input stream” dan bila meninggalkan program disebut “output stream”.
C++ menyediakan 2 macam header file untuk menangani stream, yaitu:

• <iostream> untuk keyboard (cin - input) dan monitor (cout - output)


• <fstream> untuk file, dengan tipe ifstream (input) dan ofstream (output)

Membuka dan Menutup File:

#include <fstream>
ifstream in_file; // definisi input file
ofstream out_file; // definisi output file
in_file.open(“mytext.dat”); // in-stream
out_file.open(“outfile.dat”); //out-stream

Tutup file dengan:

in_file.close();
out_file.close();

Modus Buka File:

bentuk fungsi open file:


void open(char *filename, int mode, int access);

dimana: mode adalah:


• ios::app - utk menambah rekaman (append)
• ios::ate - buka file diakhir file (at the end)
• ios::in - buka sebagai in-stream (default untuk in-
stream)
• ios::nocreate – jangan ciptakan file baru

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 195


• ios::noreplace – jangan ganti isinya
• ios::out - buka sebagai out-stream (default utk out-
stream)
• ios::trunc – buka dengan overwrite isi-nya

Atribut access: kode yang menunjukkan bagaimana akses terhadap file:


0 buka dengan akses normal (default)
1 buka dengan akses read-only
2 buka sebagai hidden file
4 buka sebagai system file
8 file archive bit set
contoh:

ofstream out;
out.open(“text.dat”, ios::out, 0);

sebenarnya sama dengan: out.open(“text.dat”); karena modus dan access-nya semua default.

Membaca dan Merekam:

• Membaca dari in-stream: mirip dengan pemakaian cin >> variable


• Membaca dari file in_stream ke suatu variabel adalah sbb: in_file >> variabel;
• Merekam ke out-stream: mirip dengan pemakaian cout << variable
• Merekam nilai variabel ke file out-stream adalah sbb: out_file << variabel;

get( ) dan put( ) pada stream:

• pada ifstream terdapat satu pointer ke elemen berikut-nya yang akan dibaca, yaitu melalui:
get( ), sehingga pembacaan dapat dilakukan dengan perintah: in_stream.get(var)
• pada ofstream terdapat pointer yang menunjuk lokasi dimana elemen akan ditulis, yaitu
melalui: put( ), sehingga tampilan bisa ditulis atau direkam dengan perintah:
out_stream.put(var)

tellg( ) dan tellp( )


• fungsi tanpa parameter tellg() memberikan nilai integer dari posisi dimana elemen akan
dibaca dengan perintah in_stream.get(var)
• fungsi tanpa parameter tellp() memberikan nilai integer dari posisi dimana elemen akan
direkam/ditulis

seekg( ) dan seekp( )


Suarga,PhD, Modul-10 Algoritma Pemrograman Page 196
• seekg(position) : mencari posisi dalam file dimana pembacaan akan dimulai.
• seekp(position) : mencari posisi dalam file dimana rekaman akan dimulai
• seekg(offset, direction) : mencari posisi awal pembacaan yang dihitung mulai dari nilai
offset hingga nilai direction
• seekp(offset, direction) : mencari posisi awal prekaman yang dihitung mulai dari nilai offset
hingga nilai direction

direction standard: mencari titik awal/offset


Ada tiga macam nilai direction standard yaitu:
1. ios::beg – offset dihitung dari awal file (BOF)
2. ios::cur – offset dihitung dari posisi pointer saat ini
3. ios::end – offset dihitung dari akhir file (EOF)

Contoh-4: menghitung file-size


// fsize.cpp - obtaining file size
#include <iostream>
#include <fstream>
using namespace std;
int main () {
long begin,end;
ifstream myfile ("mytext.txt");
begin = myfile.tellg();
myfile.seekg (0, ios::end);
end = myfile.tellg();
myfile.close();
cout << "size is: " << (end-begin) << " bytes.\n";
system("PAUSE");
return 0;
}

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 197


Status File:

beberapa fungsi dapat dipakai untuk memeriksa status file:


• bad() – status file buruk tidak bisa dibuka baik sebagai in-stream atau sebagai out-
stream

• fail() – mirip dengan bad(), tetapi juga apabila dilakukan pembacaan dengan tipe
data yang beda (misal huruf dibaca sebagai angka)

• eof() – pointer baca sudah sampai ke ujung file (end-of-file)

• good() – bernilai true bila kondisi file bagus, dan false bila buruk (bad atau fail)

Memeriksa Kondisi File:

• Memeriksa apakah file bisa dibuka


ifstream in_file;
in_file.open(“mytext.dat”);
if (in_file.fail() ) {
cout << “File ini tidak bisa dibuka.\n”;
exit(1);
}

• Apakah file sudah mencapai akhir?


if (!in_file.eof() ) {
// belum mencapai akhir
}

• Memeriksa end-of-file
char x;
ifstream in_file;
in_file.open(“mytext.dat”);
if (in_file.fail() ) {
cout << “File tidak bisa dibuka\n”;
exit(1);
}
in_file >> x;
if (!in_file.eof() ) {
cout << x;
infile >> x;

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 198


}
else {
cout << “File sudah selesai dibaca\n”;
in_file.close();
}

Contoh-5 : Hitung Karakter


//hitKar.cpp
//mneghitung jumlah karakter
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream F;
char k;
int jkar;

F.open("mytext.txt");
//ketika file dibuka maka posisi-nya BOF
jkar = 0;
F >> k;
while (!F.eof()) {
jkar += 1;
F >> k;
}
cout << "Jumlah karakter = " << jkar << endl;
system("PAUSE");
return 0;
}

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 199


Contoh-6: Hitung Kata
//hitKata.cpp
//mneghitung jumlah kata
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream F;
char k1,k2;
int jkata;

F.open("mytext.txt");
//ketika file dibuka maka posisi-nya BOF
F >> k1; F >> k2;
jkata = 0;
while (!F.eof()) {
//cout << k1 << k2 << endl;
if ((k1 != ' ') && (k2==' '))
jkata += 1;
k1 = k2;
F.get(k2);
}
if ((k1 != ' ') && (k2==' '))
jkata += 1;
cout << "Jumlah kata dalam file = " << jkata << endl;
system("PAUSE");
return 0;
}

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 200


Pemrosesan String:

• String adalah untaian beberapa karakter


• Cara mendefinisikan dan inisialisasi:
char Nama[21]; // nama maximum 20 huruf
// akhir string di-isi ‘\0’
char Nama[21] = “Abdul Hakim Nasution”;
• Assignment string tidak diperbolehkan:
Nama = “Abdul Hakim Nasution”; // Salah
• Pemberian nilai diluar inisialisasi harus menggunakan fungsi: strcpy(target, source);
strcpy(Nama, “Abdul Hakim Nasution”);
• Fungsi-fungsi string ada dalam library cstring:
#include <cstring>

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 201


• Membandingkan dua string tidak boleh memakai tanda == atau != , tetapi memakai
fungsi strcmp(string1, string2).

if (string1 == string2) // salah


cout << “Keduanya sama”;
else
cout << “Keduanya berbeda”;

if strcmp(string1, string2) // benar


cout << “Keduanya berbeda”;
else
cout << Keduanya sama”;

• Bila string1 sama dengan string2 maka hasilnya 0 (false) bila string1 > string2 maka
hasilnya 1 (true), dan bila string1 < string2 maka hasilnya -1.

Input String: gunakan cin.getline()


Contoh:
char Nama[22];
cout << “Masukkan nama anda : “;
cin >> Nama;
cout << Nama;

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 202


Masukkan nama anda : Abdul Hakim Nasution
hanya menghasilkan : Abdul

char Nama[22];
cout << “Masukkan nama anda : “;
cin.getline(Nama,21);
cout << Nama;

Masukkan Nama anda : Abdul Hakim Nasution


menghasilkan: Abdul Hakim Nasution.

Contoh Program:

//inputNama.cpp
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char Nama[22];
char x[80];

cout << "Masukkan Nama : ";


cin >> Nama;
cout << "Menghasilkan Nama = " << Nama << endl;

cin.getline(x,80);
cout << endl << endl;

cout << "Masukkan Nama : ";


cin.getline(Nama,21);
cout << "Menghasilkan Nama = " << Nama << endl;

system("PAUSE");
return 0;

Beberapa fungsi standard disediakan untuk manipulasi karakter, fungsi-fungsi tersebut


didefinisikan didalam file <cctype>.

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 203


Berikut ini disajikan program untuk menyalin (copy) file. Pada prinsipnya dinyatakan dua jenis
file, pertama sebagai file yang akan disalin (source-file) berupa file input fin dan yang kedua
sebagai file salinan (target-file) berupa file output fout. Kemudian isi fin dibaca karakter-per-
karakter dan setiap karakter tersebut di-rekam ke file fout.

Contoh-7 : menyalin file


//copyFile.cpp
//menyalin isi satu file
//ke suatu file lain

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 204


//
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream Fin;
fstream Fout;
char namaFin[16], namaFout[16];
char next;

cout << "Masukkan nama file yang mau di-copy : ";


cin >> namaFin;
Fin.open(namaFin);
if (Fin.fail()) {
cout << "Tidak bisa buka file input\n";
exit(1);
}
cout << "Masukkan nama file salinan-nya : ";
cin >> namaFout;
Fout.open(namaFout);
if (Fout.fail()) {
cout << "Tidak bisa buka file output\n";
exit(1);
}
// menyalin file
cout << "\nIni isi file asli : " << namaFin << "\n";
Fin.get(next);
while (!Fin.eof()) {
cout << next;
Fout << next;
Fin.get(next);
}
Fin.close();
Fout.close();
cout << "\n\ncopy File Selesai\n\n";
// menampilkan hasil copy
cout << "Ini hasil copy : " << "file : " << namaFout << "\n";
Fin.open(namaFout);
Fin.get(next);
while (!Fin.eof()) {
cout << next;
Fin.get(next);
}
cout << "\n\n";
Fin.close();

system("PAUSE");
return 0;
}

Hasil uji coba:

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 205


Versi lain dari program menyalin file disajikan berikut ini. Perbedaan utama program pertama
dengan program kedua hanya terletak pada deklarasi file input dan file output. Pada program
pertama fin dan fout didefinisikan sebelum fungsi utama main(), sedangkan pada program kedua
kedua file tersebut didefinisikan di dalam fungsi main() sekaligus membuka file-nya.

//fileCopy.cpp
//menyalin isi satu file
//ke suatu file lain
//
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
int main() {
char namaFin[16], namaFout[16];
char next;

cout << "Masukkan nama file yang mau di-copy : ";


cin >> namaFin;
ifstream Fin(namaFin); // deklarasi ini sekaligus membuka file
if (Fin.fail()) {
cout << "Tidak bisa buka file input\n";
exit(1);
}

cout << "Masukkan nama file salinan-nya : ";


cin >> namaFout;
ofstream Fout(namaFout); // deklarasi ini sekaligus membuka file

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 206


// bila tdk ada langsung di-create file baru
if (Fout.fail()) {
cout << "Tidak bisa buka file output\n";
exit(1);
}
// menyalin file
cout << "\nIni isi file asli : " << namaFin << "\n";
Fin.get(next);
while (!Fin.eof()) {
cout << next;
Fout << next;
Fin.get(next);
}
Fin.close();
Fout.close();

cout << "\n\ncopy File Selesai\n\n";


// menampilkan hasil copy
cout << "Ini hasil copy : " << "file : " << namaFout << "\n";
Fin.open(namaFout);
Fin.get(next);
while (!Fin.eof()) {
cout << next;
Fin.get(next);
}
cout << "\n\n";
Fin.close();

system("PAUSE");
return 0;
}

Hasil uji coba:

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 207


Contoh selanjutnya adalah program yang meng-edit suatu file teks, dalam hal ini andaikan file
teks berisi uraian tentang bahasa C namun kemudian di-revisi menjadi uraian tentang bahasa
C++ sehingga huruf C bila ditemukan dalam teks akan diubah menjadi C++.

Contoh-8 : edit file


//editFile.cpp
//mengganti semua 'C' yang ada
//dalam file menjadi 'C++'
//
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
void add_plus_plus(ifstream &inFile, ofstream &outFile);
// fungsi yang mengganti C menjadi C++
int main() {
ifstream Fin;
ofstream Fout;

cout << "Editing dimulai.\n";


Fin.open("bahasaC.txt");
if (Fin.fail()) {
cout << "Tidak bisa buka file input\n";
exit(1);
}

Fout.open("bahasaC++.txt");
if (Fout.fail()) {
cout << "Tidak bisa buka file output\n";
exit(1);
}

add_plus_plus(Fin,Fout);
Fin.close();
Fout.close();

cout << "Editing Selesai\n";


system("PAUSE");
return 0;
}
// prosedur mengganti C menjadi C++
void add_plus_plus(ifstream &inFile, ofstream &outFile) {
char next;

inFile.get(next);
while (!inFile.eof()) {

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 208


if (next == 'C')
outFile << "C++";
else
outFile << next;
inFile.get(next);
}
}

Hasil uji coba :

Input File

Output file sebelum proses

Proses editing berlangsung

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 209


Output file setelah proses

Contoh selanjutnya adalah menggabungkan isi dari dua file teks.


• File pertama akan dibaca hingga akhir dan disalin ke dalam file gabungan
• File kedua kemudian dibaca hingga akhir dan disambungkan ke file gabungan
• Tampilkan isi file gabungan.

Contoh-9 : Gabung file


//gabungFile.cpp
//menggabung isi dua file
//ke dalam file gabungan
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
int main() {
char namaFin1[16], namaFin2[16], namaFout[16];
char next;

cout << "Masukkan nama file yang pertama : ";


cin >> namaFin1;
ifstream Fin1(namaFin1);
if (Fin1.fail()) {
cout << "Tidak bisa buka file pertama\n";
exit(1);
}

cout << "Masukkan nama file yang kedua : ";


cin >> namaFin2;
ifstream Fin2(namaFin2);
if (Fin2.fail()) {
cout << "Tidak bisa buka file kedua\n";
exit(1);
}

cout << "Masukkan nama file gabungan-nya : ";

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 210


cin >> namaFout;
ofstream Fout(namaFout);
if (Fout.fail()) {
cout << "Tidak bisa buka file gabunga\n";
exit(1);
}
// menyalin file1
Fin1.get(next);
while (!Fin1.eof()) {
Fout << next;
Fin1.get(next);
}
Fin1.close();
// menyalin file2
Fin2.get(next);
while (!Fin2.eof()) {
Fout << next;
Fin2.get(next);
}
Fin2.close();
Fout.close();

cout << "\n\nMenggabung File Selesai\n\n";


// menampilkan hasil copy
cout << "Ini hasil gabungan : " << "file : " << namaFout << "\n";
Fin1.open(namaFout);
Fin1.get(next);
while (!Fin1.eof()) {
cout << next;
Fin1.get(next);
}
cout << "\n\n";
Fin1.close();

system("PAUSE");
return 0;
}

Hasil uji coba :

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 211


Suarga,PhD, Modul-10 Algoritma Pemrograman Page 212
POST-TEST:
1. Notepad adalah aplikasi untuk file teks, apakah dengan pengetahuan program C++ yang
anda ketahui bisa dibuat aplikasi seperti Notepad?

2. Dapatkan anda membuat aplikasi yang membaca file teks kemudian mengubah semua
karakter isi file tersebut menjadi karakter yang digeser 3 posisi kedepan dan merekamnya
dengan nama file teks yang berbeda? (Petunjuk huruf a menjadi d, huruf b menjadi e dan
seterusnya).

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 213


SOAL :
1. Tulis sebuah algoritma yang membaca sebuah file teks, kemudian menampilkan menu pilihan
untuk menghitung jumlah karakter, jumlah baris, atau jumlah kata yang terdapat didalam file
teks tersebut, namun setiap perhitungan teks tersebut dilaksanakan melalui fungsi.
2. Implementasikan soal 1 ke dalam bahasa C++.

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 214


SUMBER BACAAN:
1. Suarga, Drs,MSc,MMath,Ph.D, “ALGORITMA dan Pemrograman”, Penerbit Andi,
Yogyakarta, 2012.
2. Despande,P.S., “C & Data Structures”, PART-I, the C Language, Charles River Media,
2004.
3. Farrel,M., “Computer Programming”, Thomson Course Technology, Boston,MA, 2008
4. Savitch, W., “Problem Solving with C++”, 7th, Pearson Addison-Wesley, Massachusetts,
2009

Suarga,PhD, Modul-10 Algoritma Pemrograman Page 215

Anda mungkin juga menyukai