SlideShare a Scribd company logo
1 of 31
Algoritma Pemrograman
Modul 10-1:
Pemrosesan Teks
Konsep Pengolahan 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.
9/10/2014 Algoritma Pemrograman, @SUARGA 2
• Definisi : Teks (text) adalah deretan karakter yang
bisa direkam ke dalam suatu file / berkas / arsip.
• Suatu teks bisa terdiri atas beberapa kata
(words).
• Satu kata terdiri atas beberapa karakter.
• 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
(EOLN).
• Suatu teks diawali oleh marka begin-of-file (BOF)
dan diakhiri dengan marka end-of-file (EOF).
9/10/2014 Algoritma Pemrograman, @SUARGA 3
• 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
9/10/2014 Algoritma Pemrograman, @SUARGA 4
Operasi File Teks
• Beberapa instruksi yang berkaitan dengan (file)
teks adalah sbb:
andaikan F adalah variable dari file :
– mengembalikan penunjuk teks ke posisi awal (BOF)
dari file: reset ( F )
– membuka suatu file teks yang ada di storage (disk) :
– assign ( F, nama_file ) atau open(nama-file)
– membaca satu karakter dari file teks : read ( F, char )
– merekam satu karakter ke file teks : write ( F, char )
– menyiapkan file untuk merekam teks : rewrite(F)
– menutup file teks : close ( F )
9/10/2014 Algoritma Pemrograman, @SUARGA 5
Contoh: Hitung Karakter
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 EOLN }
if ( k != EOLN )
then jkar  jkar + 1;
endif.
read ( F, k );
endwhile.
write ( “jumlah karakter
(termasuk spasi ) = “, jkar );
9/10/2014 Algoritma Pemrograman, @SUARGA 6
Contoh: Jumlah Kata
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
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 );
9/10/2014 Algoritma Pemrograman, @SUARGA 7
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)
9/10/2014 Algoritma Pemrograman, @SUARGA 8
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();
9/10/2014 Algoritma Pemrograman, @SUARGA 9
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
- ios::noreplace – jangan ganti isinya
- ios::out - buka sebagai out-stream (default utk out-
stream)
- ios::trunc – buka dengan overwrite isi-nya
9/10/2014 Algoritma Pemrograman, @SUARGA 10
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.
9/10/2014 Algoritma Pemrograman, @SUARGA 11
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;
9/10/2014 Algoritma Pemrograman, @SUARGA 12
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)
9/10/2014 Algoritma Pemrograman, @SUARGA 13
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
9/10/2014 Algoritma Pemrograman, @SUARGA 14
seekg() dan seekp()
• 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
9/10/2014 Algoritma Pemrograman, @SUARGA 15
• 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)
9/10/2014 Algoritma Pemrograman, @SUARGA 16
Contoh 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;
}
9/10/2014 Algoritma Pemrograman, @SUARGA 17
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)
9/10/2014 Algoritma Pemrograman, @SUARGA 18
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
}
9/10/2014 Algoritma Pemrograman, @SUARGA 19
Memeriksa end-of-file
char x;
ifstream in_file;
in_file.open(“mytext.dat”);
if (in_file.fail() ) {
cout << “File tidak bisa dibukan”;
exit(1);
}
in_file >> x;
if (!in_file.eof() ) {
cout << x;
infile >> x;
}
else {
cout << “File sudah selesai dibacan”;
in_file.close();
}
9/10/2014 Algoritma Pemrograman, @SUARGA 20
Contoh: 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;
}
9/10/2014 Algoritma Pemrograman, @SUARGA 21
9/10/2014 Algoritma Pemrograman, @SUARGA 22
Contoh: 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;
}
9/10/2014 Algoritma Pemrograman, @SUARGA 23
9/10/2014 Algoritma Pemrograman, @SUARGA 24
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>
9/10/2014 Algoritma Pemrograman, @SUARGA 25
9/10/2014 Algoritma Pemrograman, @SUARGA 26
9/10/2014 Algoritma Pemrograman, @SUARGA 27
• 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.
9/10/2014 Algoritma Pemrograman, @SUARGA 28
input string
Contoh:
char Nama[22];
cout << “Masukkan nama anda : “;
cin >> Nama;
cout << Nama;
Masukkan nama anda : Abdul Hakim Nasution
hanya menghasilkan : Abdul
9/10/2014 Algoritma Pemrograman, @SUARGA 29
char Nama[22];
cout << “Masukkan nama anda : “;
cin.getline(Nama,21);
cout << Nama;
Masukkan Nama anda : Abdul Hakim Nasution
menghasilkan: Abdul Hakim Nasution.
9/10/2014 Algoritma Pemrograman, @SUARGA 30
//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;
}
9/10/2014 Algoritma Pemrograman, @SUARGA 31

More Related Content

What's hot

What's hot (20)

Os2013 lap3-rizqitohopi
Os2013 lap3-rizqitohopiOs2013 lap3-rizqitohopi
Os2013 lap3-rizqitohopi
 
Cheat Sheet Ubuntu
Cheat Sheet UbuntuCheat Sheet Ubuntu
Cheat Sheet Ubuntu
 
Os2013 lap6-ridwan
Os2013 lap6-ridwanOs2013 lap6-ridwan
Os2013 lap6-ridwan
 
GoLang_2
GoLang_2GoLang_2
GoLang_2
 
Os2013 lap1-rizqitohopi
Os2013 lap1-rizqitohopiOs2013 lap1-rizqitohopi
Os2013 lap1-rizqitohopi
 
Pemrograman Terstruktur 2
Pemrograman Terstruktur 2Pemrograman Terstruktur 2
Pemrograman Terstruktur 2
 
Operasi File pada PHP
Operasi File pada PHPOperasi File pada PHP
Operasi File pada PHP
 
Os2013 lap2-rizqitohopi
Os2013 lap2-rizqitohopiOs2013 lap2-rizqitohopi
Os2013 lap2-rizqitohopi
 
Praktikum 4A
Praktikum 4APraktikum 4A
Praktikum 4A
 
OPERASI INPUT OUTPUT di Linux
OPERASI INPUT OUTPUT di LinuxOPERASI INPUT OUTPUT di Linux
OPERASI INPUT OUTPUT di Linux
 
Laporan Praktikum Sistem Operasi Modul 1
Laporan Praktikum Sistem Operasi Modul 1Laporan Praktikum Sistem Operasi Modul 1
Laporan Praktikum Sistem Operasi Modul 1
 
Os2013 lap6-rizqitohopi
Os2013 lap6-rizqitohopiOs2013 lap6-rizqitohopi
Os2013 lap6-rizqitohopi
 
Perintah dasar terminal linux 2
Perintah dasar terminal linux 2Perintah dasar terminal linux 2
Perintah dasar terminal linux 2
 
Fungsi-Fungsi PHP
Fungsi-Fungsi PHPFungsi-Fungsi PHP
Fungsi-Fungsi PHP
 
Semua tentang php
Semua tentang phpSemua tentang php
Semua tentang php
 
Modul praktikum-so-2013
Modul praktikum-so-2013Modul praktikum-so-2013
Modul praktikum-so-2013
 
Sistem operasi
Sistem operasiSistem operasi
Sistem operasi
 
Os2013 lap5-rizqitohopi
Os2013 lap5-rizqitohopiOs2013 lap5-rizqitohopi
Os2013 lap5-rizqitohopi
 
Function pada PHP
Function pada PHPFunction pada PHP
Function pada PHP
 
Pelatihan Python Dasar Part 2 - POSS UPI
  Pelatihan Python Dasar Part 2 - POSS UPI  Pelatihan Python Dasar Part 2 - POSS UPI
Pelatihan Python Dasar Part 2 - POSS UPI
 

Similar to Algoritma pemrograman 15

File Processing Persentasi
File Processing PersentasiFile Processing Persentasi
File Processing PersentasiGiliaditya_L
 
MANAJEMEN FILE IO DENGAN PYTHON.pptx
MANAJEMEN FILE IO DENGAN PYTHON.pptxMANAJEMEN FILE IO DENGAN PYTHON.pptx
MANAJEMEN FILE IO DENGAN PYTHON.pptxHanisSiddiq2
 
Algoritma dan Struktur Data - Operasi File
Algoritma dan Struktur Data - Operasi FileAlgoritma dan Struktur Data - Operasi File
Algoritma dan Struktur Data - Operasi FileKuliahKita
 
pengaksesan-berkas-file-dalam-c.pdf
pengaksesan-berkas-file-dalam-c.pdfpengaksesan-berkas-file-dalam-c.pdf
pengaksesan-berkas-file-dalam-c.pdfhalimagung3
 
Algoritma dan Struktur Data - operasi file
Algoritma dan Struktur Data - operasi fileAlgoritma dan Struktur Data - operasi file
Algoritma dan Struktur Data - operasi fileGeorgius Rinaldo
 
implementation e-Government
implementation e-Governmentimplementation e-Government
implementation e-Governmentguest91544b
 
Jeni Intro2 Bab05 Aplikasi Berbasis Teks
Jeni Intro2 Bab05 Aplikasi Berbasis TeksJeni Intro2 Bab05 Aplikasi Berbasis Teks
Jeni Intro2 Bab05 Aplikasi Berbasis TeksIndividual Consultants
 
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptxDDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptxNi Kadek Lia Mastika Dewi
 
10_STREAM DAN FILE.pdf
10_STREAM DAN FILE.pdf10_STREAM DAN FILE.pdf
10_STREAM DAN FILE.pdfJurnal IT
 
Modul praktikum sistem operasi
Modul praktikum sistem operasiModul praktikum sistem operasi
Modul praktikum sistem operasiHidayatullah Aldy
 
Pascal - FileText.txt - Notepad.pdf
Pascal - FileText.txt - Notepad.pdfPascal - FileText.txt - Notepad.pdf
Pascal - FileText.txt - Notepad.pdfJurnal IT
 
Pertemuan FIle.pptx
Pertemuan FIle.pptxPertemuan FIle.pptx
Pertemuan FIle.pptxMenny SN
 
Modul so praktikum
Modul so praktikumModul so praktikum
Modul so praktikumjoko2016
 
Pascal - FileRecord.txt - Notepad.pdf
Pascal - FileRecord.txt - Notepad.pdfPascal - FileRecord.txt - Notepad.pdf
Pascal - FileRecord.txt - Notepad.pdfJurnal IT
 
Sistem berkas lr
Sistem berkas lrSistem berkas lr
Sistem berkas lrLeonardo024
 

Similar to Algoritma pemrograman 15 (20)

File Processing Persentasi
File Processing PersentasiFile Processing Persentasi
File Processing Persentasi
 
MANAJEMEN FILE IO DENGAN PYTHON.pptx
MANAJEMEN FILE IO DENGAN PYTHON.pptxMANAJEMEN FILE IO DENGAN PYTHON.pptx
MANAJEMEN FILE IO DENGAN PYTHON.pptx
 
Algoritma dan Struktur Data - Operasi File
Algoritma dan Struktur Data - Operasi FileAlgoritma dan Struktur Data - Operasi File
Algoritma dan Struktur Data - Operasi File
 
pengaksesan-berkas-file-dalam-c.pdf
pengaksesan-berkas-file-dalam-c.pdfpengaksesan-berkas-file-dalam-c.pdf
pengaksesan-berkas-file-dalam-c.pdf
 
Algoritma dan Struktur Data - operasi file
Algoritma dan Struktur Data - operasi fileAlgoritma dan Struktur Data - operasi file
Algoritma dan Struktur Data - operasi file
 
Jeni Intro2 Bab12 Stream Io Lanjut
Jeni Intro2 Bab12 Stream Io LanjutJeni Intro2 Bab12 Stream Io Lanjut
Jeni Intro2 Bab12 Stream Io Lanjut
 
implementation e-Government
implementation e-Governmentimplementation e-Government
implementation e-Government
 
Jeni Intro2 Bab05 Aplikasi Berbasis Teks
Jeni Intro2 Bab05 Aplikasi Berbasis TeksJeni Intro2 Bab05 Aplikasi Berbasis Teks
Jeni Intro2 Bab05 Aplikasi Berbasis Teks
 
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptxDDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
 
10_STREAM DAN FILE.pdf
10_STREAM DAN FILE.pdf10_STREAM DAN FILE.pdf
10_STREAM DAN FILE.pdf
 
Project akhir uas
Project akhir uasProject akhir uas
Project akhir uas
 
Manajemen file
Manajemen fileManajemen file
Manajemen file
 
Modul praktikum sistem operasi
Modul praktikum sistem operasiModul praktikum sistem operasi
Modul praktikum sistem operasi
 
Pascal - FileText.txt - Notepad.pdf
Pascal - FileText.txt - Notepad.pdfPascal - FileText.txt - Notepad.pdf
Pascal - FileText.txt - Notepad.pdf
 
Pertemuan FIle.pptx
Pertemuan FIle.pptxPertemuan FIle.pptx
Pertemuan FIle.pptx
 
Flowchart
FlowchartFlowchart
Flowchart
 
Modul so praktikum
Modul so praktikumModul so praktikum
Modul so praktikum
 
Pascal - FileRecord.txt - Notepad.pdf
Pascal - FileRecord.txt - Notepad.pdfPascal - FileRecord.txt - Notepad.pdf
Pascal - FileRecord.txt - Notepad.pdf
 
Sistem berkas lr
Sistem berkas lrSistem berkas lr
Sistem berkas lr
 
FILE.pptx
FILE.pptxFILE.pptx
FILE.pptx
 

More from ZainalAbidin909479 (14)

Algoritma pemrograman 14
Algoritma pemrograman 14Algoritma pemrograman 14
Algoritma pemrograman 14
 
Algoritma pemrograman 13
Algoritma pemrograman 13Algoritma pemrograman 13
Algoritma pemrograman 13
 
Algoritma pemrograman 12
Algoritma pemrograman 12Algoritma pemrograman 12
Algoritma pemrograman 12
 
Algoritma pemrograman 11
Algoritma pemrograman 11Algoritma pemrograman 11
Algoritma pemrograman 11
 
Algoritma pemrograman 1
Algoritma pemrograman 1Algoritma pemrograman 1
Algoritma pemrograman 1
 
Algoritma pemrograman 2
Algoritma pemrograman 2Algoritma pemrograman 2
Algoritma pemrograman 2
 
Algoritma pemrograman 3
Algoritma pemrograman 3Algoritma pemrograman 3
Algoritma pemrograman 3
 
Algoritma pemrograman 4
Algoritma pemrograman 4Algoritma pemrograman 4
Algoritma pemrograman 4
 
Algoritma pemrograman 5
Algoritma pemrograman 5Algoritma pemrograman 5
Algoritma pemrograman 5
 
Algoritma pemrograman 6
Algoritma pemrograman 6Algoritma pemrograman 6
Algoritma pemrograman 6
 
Algoritma pemrograman 7
Algoritma pemrograman 7Algoritma pemrograman 7
Algoritma pemrograman 7
 
Algoritma pemrograman 8
Algoritma pemrograman 8Algoritma pemrograman 8
Algoritma pemrograman 8
 
Algoritma pemrograman 9
Algoritma pemrograman 9Algoritma pemrograman 9
Algoritma pemrograman 9
 
Algoritma pemrograman 10
Algoritma pemrograman 10Algoritma pemrograman 10
Algoritma pemrograman 10
 

Recently uploaded

Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTIndraAdm
 
POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)
POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)
POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)PUNGKYBUDIPANGESTU1
 
Latsol TWK Nasionalisme untuk masuk CPNS
Latsol TWK Nasionalisme untuk masuk CPNSLatsol TWK Nasionalisme untuk masuk CPNS
Latsol TWK Nasionalisme untuk masuk CPNSdheaprs
 
Modul Projek - Batik Ecoprint - Fase B.pdf
Modul Projek  - Batik Ecoprint - Fase B.pdfModul Projek  - Batik Ecoprint - Fase B.pdf
Modul Projek - Batik Ecoprint - Fase B.pdfanitanurhidayah51
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfCandraMegawati
 
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxPPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxssuser8905b3
 
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSovyOktavianti
 
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxsukmakarim1998
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptPpsSambirejo
 
presentasi lembaga negara yang ada di indonesia
presentasi lembaga negara yang ada di indonesiapresentasi lembaga negara yang ada di indonesia
presentasi lembaga negara yang ada di indonesiaNILAMSARI269850
 
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
HiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaaHiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaafarmasipejatentimur
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BAbdiera
 
(NEW) Template Presentasi UGM 2 (2).pptx
(NEW) Template Presentasi UGM 2 (2).pptx(NEW) Template Presentasi UGM 2 (2).pptx
(NEW) Template Presentasi UGM 2 (2).pptxSirlyPutri1
 
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...Kanaidi ken
 
aksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajaraksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajarHafidRanggasi
 
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptxMODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptxSlasiWidasmara1
 
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk HidupUT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidupfamela161
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptArkhaRega1
 
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)MustahalMustahal
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CAbdiera
 

Recently uploaded (20)

Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UT
 
POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)
POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)
POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)
 
Latsol TWK Nasionalisme untuk masuk CPNS
Latsol TWK Nasionalisme untuk masuk CPNSLatsol TWK Nasionalisme untuk masuk CPNS
Latsol TWK Nasionalisme untuk masuk CPNS
 
Modul Projek - Batik Ecoprint - Fase B.pdf
Modul Projek  - Batik Ecoprint - Fase B.pdfModul Projek  - Batik Ecoprint - Fase B.pdf
Modul Projek - Batik Ecoprint - Fase B.pdf
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
 
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxPPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
 
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
 
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
 
presentasi lembaga negara yang ada di indonesia
presentasi lembaga negara yang ada di indonesiapresentasi lembaga negara yang ada di indonesia
presentasi lembaga negara yang ada di indonesia
 
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
HiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaaHiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
 
(NEW) Template Presentasi UGM 2 (2).pptx
(NEW) Template Presentasi UGM 2 (2).pptx(NEW) Template Presentasi UGM 2 (2).pptx
(NEW) Template Presentasi UGM 2 (2).pptx
 
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...
 
aksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajaraksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajar
 
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptxMODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
 
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk HidupUT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
 
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
 

Algoritma pemrograman 15

  • 2. Konsep Pengolahan 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. 9/10/2014 Algoritma Pemrograman, @SUARGA 2
  • 3. • Definisi : Teks (text) adalah deretan karakter yang bisa direkam ke dalam suatu file / berkas / arsip. • Suatu teks bisa terdiri atas beberapa kata (words). • Satu kata terdiri atas beberapa karakter. • 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 (EOLN). • Suatu teks diawali oleh marka begin-of-file (BOF) dan diakhiri dengan marka end-of-file (EOF). 9/10/2014 Algoritma Pemrograman, @SUARGA 3
  • 4. • 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 9/10/2014 Algoritma Pemrograman, @SUARGA 4
  • 5. Operasi File Teks • Beberapa instruksi yang berkaitan dengan (file) teks adalah sbb: andaikan F adalah variable dari file : – mengembalikan penunjuk teks ke posisi awal (BOF) dari file: reset ( F ) – membuka suatu file teks yang ada di storage (disk) : – assign ( F, nama_file ) atau open(nama-file) – membaca satu karakter dari file teks : read ( F, char ) – merekam satu karakter ke file teks : write ( F, char ) – menyiapkan file untuk merekam teks : rewrite(F) – menutup file teks : close ( F ) 9/10/2014 Algoritma Pemrograman, @SUARGA 5
  • 6. Contoh: Hitung Karakter 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 EOLN } if ( k != EOLN ) then jkar  jkar + 1; endif. read ( F, k ); endwhile. write ( “jumlah karakter (termasuk spasi ) = “, jkar ); 9/10/2014 Algoritma Pemrograman, @SUARGA 6
  • 7. Contoh: Jumlah Kata 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 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 ); 9/10/2014 Algoritma Pemrograman, @SUARGA 7
  • 8. 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) 9/10/2014 Algoritma Pemrograman, @SUARGA 8
  • 9. 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(); 9/10/2014 Algoritma Pemrograman, @SUARGA 9
  • 10. 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 - ios::noreplace – jangan ganti isinya - ios::out - buka sebagai out-stream (default utk out- stream) - ios::trunc – buka dengan overwrite isi-nya 9/10/2014 Algoritma Pemrograman, @SUARGA 10
  • 11. 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. 9/10/2014 Algoritma Pemrograman, @SUARGA 11
  • 12. 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; 9/10/2014 Algoritma Pemrograman, @SUARGA 12
  • 13. 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) 9/10/2014 Algoritma Pemrograman, @SUARGA 13
  • 14. 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 9/10/2014 Algoritma Pemrograman, @SUARGA 14
  • 15. seekg() dan seekp() • 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 9/10/2014 Algoritma Pemrograman, @SUARGA 15
  • 16. • 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) 9/10/2014 Algoritma Pemrograman, @SUARGA 16
  • 17. Contoh 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; } 9/10/2014 Algoritma Pemrograman, @SUARGA 17
  • 18. 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) 9/10/2014 Algoritma Pemrograman, @SUARGA 18
  • 19. 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 } 9/10/2014 Algoritma Pemrograman, @SUARGA 19
  • 20. Memeriksa end-of-file char x; ifstream in_file; in_file.open(“mytext.dat”); if (in_file.fail() ) { cout << “File tidak bisa dibukan”; exit(1); } in_file >> x; if (!in_file.eof() ) { cout << x; infile >> x; } else { cout << “File sudah selesai dibacan”; in_file.close(); } 9/10/2014 Algoritma Pemrograman, @SUARGA 20
  • 21. Contoh: 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; } 9/10/2014 Algoritma Pemrograman, @SUARGA 21
  • 23. Contoh: 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; } 9/10/2014 Algoritma Pemrograman, @SUARGA 23
  • 25. 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> 9/10/2014 Algoritma Pemrograman, @SUARGA 25
  • 28. • 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. 9/10/2014 Algoritma Pemrograman, @SUARGA 28
  • 29. input string Contoh: char Nama[22]; cout << “Masukkan nama anda : “; cin >> Nama; cout << Nama; Masukkan nama anda : Abdul Hakim Nasution hanya menghasilkan : Abdul 9/10/2014 Algoritma Pemrograman, @SUARGA 29
  • 30. char Nama[22]; cout << “Masukkan nama anda : “; cin.getline(Nama,21); cout << Nama; Masukkan Nama anda : Abdul Hakim Nasution menghasilkan: Abdul Hakim Nasution. 9/10/2014 Algoritma Pemrograman, @SUARGA 30
  • 31. //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; } 9/10/2014 Algoritma Pemrograman, @SUARGA 31