Anda di halaman 1dari 23

Text Editor Sederhana

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

jumlah kata dari aku makan nasi

:3

jumlah huruf vocal (a,i,u,e,o) dari aku makan nasi

:6

Dengan menginput text tersebut program akan mengoutputkan seperti


tampilan diatas dan poin diatas, sehingga pengguna dapat mengetahui berapa
jumlah huruf, jumlah kata, dan jumlah huruf vocal dari kata yang diinputkan
tersebut.

Text Editor Sederhana

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

Pembuatan Program Text Editor Sederhana


Terdapat beberapa Fitur yang terdapat pada program Text Editor ini,

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

Text Editor Sederhana

pengguna. Yang mana keluarnnya berupa jumlah dari seluruh karakter didalam
teks yang pengguna masukan.

b. Menghitung Jumlah Kata


Fitur ini merupakan suatu bagian dari program Text Editor Sederhana
yang berguna untuk menghitung jumlah kata yang di input oleh pengguna. Jadi
jika pengguna memasukkan suatu input teks, maka secara otomatis setiap kata
yang ada dalam masukkan tersebut akan di kalkulasikan secara cepat oleh
program ini dan akan menampilkan jumlah dari kata yang dimasukan.

c. Menghitung Jumlah Huruf Vocal


Fitur ini merupakan suatu bagian dari program Text Editor Sederhana
yang berguna untuk menghitung jumlah huruf vocal (a,i,u,e,o) yang di input
oleh pengguna program ini. Sama halnya dengan menghitung jumlah karakter,
keluaran fitur ini berupa jumlah dari seluruh karakter, namun hanya huruf
vokal.

2.2.2

Pemilihan Bahasa
Dalam pembuatan program kami menggunakan bahasa pemrograman C

karena saat ini kami mengimplementasikan matakuliah Algoritma dan


Pemrograman dalam bahasa pemograman

C. Oleh sebab itu bahasa

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

memfasilitasi pemrosesan karakter dan string. String dalam C merupakan


array karakter yang diakhiri dengan karakter null(\0). String diakses melalui
pointer yang menunjuk ke karakter pertama di dalam string. Pada kasus ini,

Text Editor Sederhana

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.

2.3 Realisasi Pembuatan Program

Dalam pembuatan program ini kami menggunakan beberapa procedure


dan function untuk mengkontruksikan program besar menjadi modul-modul
kecil, dengan tujuan agar pengelolaan program lebih mudah dilakukan. Selain
itu penggunaan prucedure dan function juga untuk mengurangi jumlah kode
akibat sejumlah kode yang sama digunakan beberapa kali dalam program.[4]
Kami juga menggunakan fungsi-fungsi pustaka yang disediakan oleh
bahasa C terutama kebanyakan yang memfasilitasi dalam pengelolaan char dan
string. Salah satunya adalah gets, fungsi ini digunakan untuk meng-inputkan
suatu char. Berbeda dengan scanf yang juga berfungsi untuk meng-inputkan
suatu tipe data termasuk char, fungsi gets memungkinkan pengguna untuk
memasukan char tanpa memerhatikan char atau spasi.

Text Editor Sederhana

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 seperti for, while, dll.

Text Editor Sederhana

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

Function Menghitung Jumlah Huruf Vokal


Function vokal(S : Char) integer
{Jumlah Huruf Vokal menjadi keluaran fungsi}
{kamus}
hitung : Integer
i : integer

Text Editor Sederhana

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

Text Editor Sederhana

{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

Text Editor Sederhana

{Algoritma}
for(i to panjangstring) do
if (S[i]='u') then
hitung++;
endif
if(S[i]='U') then
hitung++;
endif
endfor
(hitung)

Function Menghitung Jumlah Huruf E


Function vklE(S : char)
integer
{Jumlah Huruf E menjadi keluaran fungsi}
{kamus}
hitung : Integer
i : integer
hitung <- 0
i < - 0
{Algoritma}
for(i to panjangstring) do
if (S[i]='e') then
hitung++;
endif
if(S[i]='E') then
hitung++;
endif
endfor
(hitung)
Function Menghitung Jumlah Huruf O
Function vklO(S : char) integer
{Jumlah Huruf O menjadi keluaran fungsi}
{kamus}
hitung : Integer
i : integer
hitung <- 0
i < - 0
9

Text Editor Sederhana

{Algoritma}
for(i to panjangstring) do
if (S[i]='o') then
hitung++;
endif
if(S[i]='O') then
hitung++;
endif
endfor
(hitung)

10

Text Editor Sederhana

11

Text Editor Sederhana

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

Text Editor Sederhana

/*Switch Case untuk main menu*/


switch(menu){
case '1' : {
clrscr();
gotoxy(10,2); printf("--------[Show Text]----------------------------------------");
gotoxy(10,3); printf("-");
gotoxy(10,4); printf("");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,19); printf("-----------------------------------------------------------");
gotoxy(69,3); printf("-");
gotoxy(69,4); 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(12,3);cetakteks(&S);
break;
}
case '3' : {
clrscr();

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

Text Editor Sederhana

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

Text Editor Sederhana

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

Text Editor Sederhana

//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

Text Editor Sederhana

void cetakteks(char *S)


/*I.S = isi string sudah di inputkan
F.S = isi srting di outputkan*/
{
printf("%s", S);
}
int karakter(char *S)
/*I.S = S sudah terisi, jumlah karakter belum diketahui
F.S = jumlah karakter menjadi keluaran fungsi*/
{
int hitung=0,i=0;
while(S[i]!='\0') {
if(S[i]!=' '){
hitung++;
}
i++;
}
return (hitung);
}
int vokal(char *S)
/*I.S = S sudah terisi, jumlah huruf vokal belum diketahui
F.S = jumlah vokal menjadi keluaran fungsi*/
{
int i=0,hitung=0;
for(i=0; i<strlen(S); i++) {
if(S[i]=='a' || S[i]=='i' || S[i]=='u' || S[i]=='e'
|| S[i]=='o' || S[i]=='A' || S[i]=='I' || S[i]=='U' ||
S[i]=='E' || S[i]=='O' ) {
hitung++;
}
}
return (hitung);
}
int kata(char *S)
/*I.S = S sudah terisi, jumlah kata belum diketahui
F.S = jumlah kata menjadi keluaran fungsi */
{
int i=0,hitung=1;
while(S[i]!='\0'){
if(S[i]==' ' && S[i+1]!=' ') {
hitung++;
}
i++ ;
}
return (hitung);
}
int vklA(char *S)

17

Text Editor Sederhana

/*I.S = S sudah terisi, jumlah huruf A belum diketahui


F.S = jumlah huruf A menjadi keluaran fungsi
*/
{
int i=0,hitung=0;
for(i=0; i<strlen(S); i++) {
if(S[i]=='a') {
hitung++;
}
if(S[i]=='A') {
hitung++;
}
}
return (hitung);
}
int vklI(char *S)
/*I.S = S sudah terisi, jumlah huruf I belum diketahui
F.S = jumlah huruf I menjadi keluaran fungsi
*/
{
int i=0,hitung=0;
for(i=0; i<strlen(S); i++) {
if(S[i]=='i') {
hitung++;
}
if(S[i]=='I') {
hitung++;
}
}
return (hitung);
}
int vklU(char *S)
/*I.S = S sudah terisi, jumlah huruf U belum diketahui
F.S = jumlah huruf U menjadi keluaran fungsi
*/
{
int i=0,hitung=0;
for(i=0; i<strlen(S); i++) {
if(S[i]=='u') {
hitung++;
}
if(S[i]=='U') {
hitung++;
}
}
return (hitung);
}
int vklE(char *S)
/*I.S = S sudah terisi, jumlah huruf E belum diketahui
F.S = jumlah huruf E menjadi keluaran fungsi
*/
{
int i=0,hitung=0;
for(i=0; i<strlen(S); i++) {

18

Text Editor Sederhana

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

Text Editor Sederhana

Gambar-gambar Program
Tampilan Awal

Pengguna memasukan teks

20

Text Editor Sederhana

Tampilan Menu Utama

Pengguna Memilih angka 4

21

Text Editor Sederhana

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

kami masih banyak

kekurangannya, karena kami masih dalam proses belajar.

Demikianlah laporan dokumentasi dari kelompok kami mohon maaf jika


ada kekurangan didalam program text editor sederhana kami,karena kami
masih dalam proses belajar. Terimakasih kami ucapkan kepada pihak-pihak
yang telah membantu menyelesaikan program text editor sederhana kami.

22

Text Editor Sederhana

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

6. programmingsimplified(200).String Leght. Diperoleh 7 Desember 2013,


dari http://www.programmingsimplified.com/c-program-find-string-length

23

Anda mungkin juga menyukai