BAB I
PENDAHULUAN
Text Editor adalah sebuah software aplikasi yang memungkinkan
pengguna dapat menghitung jumlah karakter, jumlah kata, dan jumlah huruf
vocal (A, I, U, E, O). Aplikasi ini secara umum digunakan untuk tujuan
pemrograman, bukan untuk pembuatan dokumen.
Text Editor Sederhana ini dapat digunakan untuk mengoperasikan suatu
perintah yang berupa menghitung jumlah huruf atau karakter, jumlah kata, dan
jumlah huruf vocal (A, I, U, E, O) sehingga apa yang dilihat oleh pengguna
adalah suatu sarana yang dapat kita lihat ketika teks tersebut diproses oleh
software Text Editor tersebut.
Misalkan apabila pengguna menginput text aku makan nasi :
Maka program Text Editor Sederhana ini akan menampilkan hasil dari
perintah tersebut berupa:
jumlah huruf dan angka dari aku makan nasi
: 12
:3
:6
BAB II
IDE GAGASAN
2.1 Tujuan dan Manfaat Dari Pembuatan Program
2.1.1 Tujuan
Tujuan pembuatan program ini adalah sebagai berikut :
Kami ingin mengetahui bagaimana sebuah program dalam Algoritma
mampu memudahkan pekerjaan seseorang, dalam melakukan penghitungan
secara cepat dalam bentuk kata maupunn angka, layaknya sebuah kalkulator
sederhana. Program yang dapat menghitung suatu masukan yang diberikan
dengan cepat dan mudah, maka dari pada itu, kami menyusun suatu Algoritma
dan mengimplementasikan ke dalam bahasa pemrograman menjadi sebuah
program yang sekiranya dapat bermanfaat.
2.1.2
Manfaat
Manfaat pembuatan program ini adalah agar kita mampu menciptakan
suatu program yang berguna bagi hal layak, yang mampu memudahkan
pekerjaan pengguna tersebut dalam melakukan suatu penghitungan dalam
bentuk teks, dengan adanya program yang dibuat ini, maka suatu pekerjaan
akan cepat terselesaikan, mudah dan lebih efisien. Penggunaan program ini
juga sangat ramah lingkungan. Bisa digunakan oleh siapa saja, karena hanya
melakukan suatu masukkan sederhana
2.2. Rancangan
Di dalam pembuatan program Text Editor Sederhanaini, terdapat
beberapa tahapan pembuatan antara lain :
2.2.1
antara lain :
a. Menghitung Jumlah Huruf Dan Angka
Fitur ini merupakan suatu bagian dari program Text Editor Sederhana
yang berguna untuk menghitung jumlah karatkter yang di masukan oleh
pengguna. Yang mana keluarnnya berupa jumlah dari seluruh karakter didalam
teks yang pengguna masukan.
2.2.2
Pemilihan Bahasa
Dalam pembuatan program kami menggunakan bahasa pemrograman C
pemrogram C lah yang kami adopsi dalam menyelesaikan tugas ini. Kami
menggunakan beragam aplikasi Compiler bahasa pemrograman C yang ada
pada saat ini, seperti Borland C++, DEV C++, TURBO C++ karena masingmasing compiler memiliki kelebihan dan kekurangan masing masing.
2.2.3
Desain Program
Program ini menggunakan fungsi-fungsi pustaka standar C yang
string seperti array, karena array juga merupakan sebuah pointer yang
menunjuk ke elemen pertamanya.[1]
Ada beberapa library file yang dipakai dalam program kami, diantaranya
adalah :
1. Stdio.h(standar input/output) menyimpan fungsi fungsi untuk
input output.[2] Salah satu fungsi yang disediakan adalah gets yaitu
menampilkan suatu nilai dari suatu tipe data.
2. Conio.h(console input/output) mengatur input/output yang salah satu
contohnya menyimpan fungsi fungsi getch, clsr, gotoxy, getche,
textcolour dll.[3]
3. String.h menyimpan fungsi-fungsi yang berhubungan dengan
string.[2] Salah satu fungsi yang disediakan adalah strlen yang
berfungsi uttuk mengembalikan panjang string.[3]
Dalam memproses atau memanipulsai isi dari string, kami banyak
menggunakan sintaks perulangan karena string merupakan array dari tipe
data char dimana untuk memproses elemen array harus menggunakan
sintaks-sintaks perulangan.
BAB III
ALGORITMA INTI PROGRAM TEXT EDITOR
SEDERHANA
Prosedur Cetak Teks
Procedure cetakteks (in/out S: Char)
{I.S = isi string sudah di inputkan}
{F.S = isi srting di outputkan}
{Kamus}
{ALgoritma}
Output(%S)
Function Menghitung Jumlah Karakter
Function karakter (S : Char) integer
{Jumlah karakter menjadi keluaran fungsi}
{kamus}
hitung : Integer
i : integer
hitung <- 0
i < - 0
{Algoritma}
While (S[i]!='\0')
If (S[i]!=' ') then
hitung++;
end if
i++;
end while
(hitung)
do
hitung <- 0
i < - 0
{Algoritma}
For (i to panjang string) do
if(S[i]= 'a' or S[i]='i' or S[i]='u' or
S[i]='e' or S[i]='o' or S[i]='A' or
S[i]='I' or S[i]='U' or S[i]='E' or
S[i]='O' ) then
hitung++;
endif
endfor
(hitung)
Function Menghitung Kata
Function kata(S : char) integer
{Jumlah Kata menjadi keluaran fungsi}
{kamus}
hitung : Integer
i : integer
hitung <- 0
i < - 0
While (S[i]!='\0') do
If (S[i]=' ' and S[i+1]!=' ') then
hitung++;
endif
i++ ;
endwhile
(hitung)
Function Menghitung Jumlah Huruf A
Function vklA(S : char) integer
{Jumlah Huruf A menjadi keluaran fungsi}
{kamus}
hitung : Integer
i : integer
hitung <- 0
i < - 0
{Algoritma}
for(i to panjangstring) do
if (S[i]='a') then
hitung++;
endif
if(S[i]='A') then
hitung++;
endif
endfor
(hitung)
Function Menghitung Jumlah Huruf I
Function vklI(S : char) integer
{Jumlah Huruf I menjadi keluaran fungsi}
{kamus}
hitung : Integer
i : integer
hitung <- 0
i < - 0
{Algoritma}
for(i to panjangstring) do
if (S[i]='i') then
hitung++;
endif
if(S[i]='I') then
hitung++;
endif
endfor
(hitung)
Function Menghitung Jumlah Huruf U
Function vklU(S : char) integer
{Jumlah Huruf U menjadi keluaran fungsi}
{kamus}
hitung : Integer
i : integer
hitung <- 0
i < - 0
{Algoritma}
for(i to panjangstring) do
if (S[i]='u') then
hitung++;
endif
if(S[i]='U') then
hitung++;
endif
endfor
(hitung)
{Algoritma}
for(i to panjangstring) do
if (S[i]='o') then
hitung++;
endif
if(S[i]='O') then
hitung++;
endif
endfor
(hitung)
10
11
BAB IV
PROGRAM C dan IMPLEMENTASI
3.1. Source Code Program
//Header
#include <stdio.h>
#include <string.h>
#include <conio.h>
//Prototype Procedure dan Function
#define sMax 225
void mainmenu();
void buku();
void cetakteks(char *S);
int karakter(char *S);
int vokal(char *S);
int kata(char *S);
int vklA(char *S);
int vklI(char *S);
int vklU(char *S);
int vklE(char *S);
int vklO(char *S);
//Main Driver
int main(){
//kamus-Lokal
char S[sMax];
char menu;
char pilih;
int hasil;
int hitung=0;
//Algoritma Pemanggil Procedure dan Function
buku:
buku();
gotoxy(9,6);gets(S);
clrscr();
mainmenu:
mainmenu();
menu=getch();
12
gotoxy(1,1); printf("Teks :
"); cetakteks(&S);
hasil=karakter(S);
gotoxy(25,11); printf("---------------------------------");
gotoxy(25,12); printf("Jumlah
Karakter yang dimasukan: %d",hasil);
gotoxy(25,13);printf("---------------------------------");
13
break;
}
case '2' : {
clrscr();
gotoxy(1,1); printf("Teks :
"); cetakteks(&S);
gotoxy(10,4); printf("--------[Jumlah Vokal]-------------------------------------");
gotoxy(10,5); printf("-");
gotoxy(10,6); printf("");gotoxy(10,7); printf("-");gotoxy(10,8); printf("");gotoxy(10,9); printf("-");
gotoxy(10,10); printf("");gotoxy(10,11); printf("-");gotoxy(10,12); printf("");gotoxy(10,13); printf("-");
gotoxy(10,14); printf("");gotoxy(10,15); printf("-");gotoxy(10,16); printf("");gotoxy(10,17); printf("-");
gotoxy(10,18); printf("");gotoxy(10,19); printf("-");gotoxy(10,20); printf("");gotoxy(10,21); printf("-");
gotoxy(10,21); printf("-----------------------------------------------------------");
gotoxy(69,5); printf("-");
gotoxy(69,6); printf("");gotoxy(69,7); printf("-");gotoxy(69,8); printf("");gotoxy(69,9); printf("-");
gotoxy(69,10); printf("");gotoxy(69,11); printf("-");gotoxy(69,12); printf("");gotoxy(69,13); printf("-");
gotoxy(69,14); printf("");gotoxy(69,15); printf("-");gotoxy(69,16); printf("");gotoxy(69,17); printf("-");
gotoxy(69,18); printf("");gotoxy(69,19); printf("-");gotoxy(69,20); printf("");gotoxy(69,21); printf("-");
hasil=vokal(S);
gotoxy(21,6);printf("Jumlah
Huruf Vokal : %d\n",hasil);
hasil=vklA(S);
gotoxy(21,8);printf("Dengan :
\n");
gotoxy(21,9);printf("Huruf 'a'
: %d", hasil);
hasil=vklI(S);
gotoxy(21,10);printf("Huruf
'i' : %d", hasil);
hasil=vklU(S);
gotoxy(21,11);printf("Huruf
'u' : %d", hasil);
hasil=vklE(S);
gotoxy(21,12);printf("Huruf
'e' : %d", hasil);
14
hasil=vklO(S);
gotoxy(21,13);printf("Huruf
'o' : %d", hasil);
break;
}
case '4' : {
clrscr();
gotoxy(1,1); printf("Teks :
"); cetakteks(&S);
hasil=kata(S);
gotoxy(25,11); printf("----------------------------------");
gotoxy(25,12); printf("Jumlah
Kata Dalam Teks adalah: %d\n",hasil);
gotoxy(25,13);printf("----------------------------------");
break;
}
case '5' : clrscr();
gotoxy(30,12);
printf("Menu Belum Tersedia !!!"); break;
case '6' : {
goto end;
break;
}
default : { clrscr();
goto buku;
}
}
gotoxy(1,22); printf("\nTekan 1 Untuk Kembali\nTekan 0
Untuk Keluar"); gotoxy(7,23); pilih=getch();
if(pilih=='1'){
clrscr();
goto mainmenu;
}
else{
if(pilih=='0'){
goto end;
}
end:
}
getche ();
}
15
//Realisasi Prototype
void mainmenu(){
/*I.S = main menu terisi dengan keluaran
F.S = main menu ditampilkan di main driver
*/
gotoxy(20,3);printf("-------------------------------------------");
gotoxy(20,4);printf("**\t\t
Main Menu\t\t
**");
gotoxy(20,5);printf("-------------------------------------------");
gotoxy(20,7);printf("**\t(1)-> Tampilan Kata\t\t
**");
gotoxy(20,9);printf("\t(2)-> Hitung Huruf
Vocal");
gotoxy(20,11);printf("\t(3)-> Tampilkan Jumlah
Karakter");
gotoxy(20,13);printf("\t(4)-> Tampilkan Jumlah
Kata");
gotoxy(20,15);printf("\t(5)-> Dan Lain-lain");
gotoxy(20,17);printf("**\t(6)-> Exit\t\t\t
**");
gotoxy(20,19);
printf("-------------------------------------------");
gotoxy(25,21);
printf("Press any key to back write a Text");
}
void buku(){
/*I.S = posisi keluaran tampilan belum ditentukan
F.S = Posisi keluaran ditentukan dengan fungsi gotoxy*/
gotoxy(33,4);printf("TEXT EDITOR V 1.0");
gotoxy(9,7);printf("--------------------------------------------------------------\n");
gotoxy(9,9);printf("--------------------------------------------------------------\n");
gotoxy(9,11);printf("--------------------------------------------------------------\n");
gotoxy(9,13);printf("--------------------------------------------------------------\n");
gotoxy(9,15);printf("--------------------------------------------------------------\n");
gotoxy(9,17);printf("--------------------------------------------------------------\n");
gotoxy(9,19);printf("--------------------------------------------------------------\n");
gotoxy(9,21);printf("--------------------------------------------------------------\n");
gotoxy(9,13);printf("--------------------------------------------------------------\n");
}
16
17
18
if(S[i]=='e') {
hitung++;
}
if(S[i]=='E') {
hitung++;
}
}
return (hitung);
}
int vklO(char *S)
/*I.S = S sudah terisi, jumlah huruf O belum diketahui
F.S = jumlah huruf O menjadi keluaran fungsi
*/
{
int i=0,hitung=0;
for(i=0; i<strlen(S); i++) {
if(S[i]=='o') {
hitung++;
}
if(S[i]=='O') {
hitung++;
}
}
return (hitung);
}
19
Gambar-gambar Program
Tampilan Awal
20
21
BAB V
PENUTUP
5.1 Kesimpulan
Dengan adanya program Text Editor Sederhana ini, disamping sebagai
salah satu syarat untuk menyelesaikan mata kuliah Algoritma dan
Pemrograman, kami juga merasakan berbagai manfaat dan pengalaman yang
berharga diantaranya yaitu : kemampuan membuat suatu program yang dapat
membantu memudahkan pekerjaan orang lain, munculnya kerja sama team
yang saling membantu satu sama lain, dan memudahkan kami sebagai
mahasiswa untuk mengimplementasikan apa yang kami dapat di perguruan
tinggi kedalam kehidupan nyata seperti layaknya pekerja kantoran.
Kemudian, didalam program kami ini juga terdapat beberapa procedure
dan function yang diantaranya ada procedure menghitung jumlah kata dan
huruf , menghitung jumlah kata, dam menghitung jumlah huruf vokal
(a,i,u,e,o), yang masing-masing mempunyai fungsinya dalam Program Text
Editor Sederhana kami ini.
5.2 Saran
Saran kami untuk kedepannya jika ada yang kurang akan dipebaiki oleh
kami karena didalam program text editor sederhana
22
DAFTAR PUSTAKA
1. Mangiri, Herry S; Wirjayanti, I Ketut; Sianipar, Dr.Eng.R.H (2013).
Pemrograman & Struktur Data C. Bandung: Penerbit Informatika.
2. Darmawan, Erico(2009). Pemorgraman Dasar C Java C#. Bandung:
Penerbit Informatika.
3. Munir, Rinaldi(2007). Algortima dan Pemrograman Dalam Bahasa Pascal
dan C. Bandung: Penerbit Informatika.
4. Kadir, Abdul(2012). Algoritma dan Pemrograman menggunakan C
&C++. Yogyakarta : Penerbit CV Andi Offset.
5. c4learn().String Programs. Diperoleh 8 Desember 2013, dari
http://c4learn.com/c-programs/category/string-programs
23