Kuliahkomputer Weblog

kuliah komputer, kuliah unud, tentang jaringan, lan, seo, BPR, STRuktur data

  • Kategori

  • Arsip

Membuat Program Menghapus Karakter dengan Pascal

Posted by kuliahkomputer pada Desember 5, 2007

Program penghapusan beberapa string dari string yang sudah ada

Algoritma program penghapusan string

Program ini bertujuan untuk menghapus beberapa bagian string dari string yang sudah ada berdasarkan index awal dan akhir yang dimasukkan oleh pengguna.


Algoritma program hapus string adalah sebagai berikut.

Deklarasi global

1. Deklarasikan konstanta maxChar=255

2. Deklarasikan tipe arrKata=array[1..maxChar] of char;

Fungsi doHapus

fungsi doHapus bertujuan untuk memproses penghapusan karakter dari karakter yang dimasukkan. Adapun parameter yang di ikutkan adalah strKata bertipe string berfungsi untuk melewatkan kata atau kalimat yang ingin dihapus nilainya, awal dan akhir yang merupakan batas penghapusan karakter. Nilai keluaran dari fungsi ini adalah string hasil penghapusan. Adapun algoritma pada fungsi doHapus ini adalah sebagai berikut.

1. Deklarasikan variable I dan j dengan tipe data integer

2. Deklarasikan arrHasilHapus bertipe arrKata

3. Deklarasikan strHasilHapus bertipe string

4. Inisialisasi j=0

5. Lakukan langkah 6 dari i=1 sampai dengan panjang strKata

6. Jika i<awal atau i>akhir i>akhir maka karakter tersebut dimasukkan kedalam arrHasilHapus ke j dan naikkan nilai j sebesar 1.

Program Utama

1. Memasukkan kata atau kalimat yang ingin di hapus karakternya.

2. Masukkan batas awal dan akhir penghapusan

3. Memanggil fungsi doHapus

4. Cetak hasil dari fungsi doHapus

 

Source Code program penghapusan string

 

program HapusString;

 

uses wincrt;

const maxChar=255; {maximal jumlah karakter}

type

arrKata=array[1..maxChar] of char;

 

var awal, akhir:byte; {posisi awal dan akhir karakter yang dihapus}

kata, hasilHapus, tempNilai:string;

nilaiKonv:integer;

pil : char;

isNumber:boolean;

 

function doHapus(strKata:string; awal, akhir:byte):string;

{fungsi untuk melakukan penghapusan mulai dari index Awal sampai index akhir dengan keluaran berupa string yang sudah dihapus }

var i,j:integer;

arrHasilHapus:arrKata;

strHasilhapus:string;

begin

j:=1; {inisialisasi untuk counter arrHasilHapus}

for i := 1 to length(strKata) do

begin

if (i<awal) or (i>akhir) then

begin

arrHasilHapus[j]:=strKata[i];

j:=j+1; {pencacah j di increase sebanyak 1}

end

end;

strHasilHapus :=”;

for i:=1 to j-1 do

begin

strHasilHapus:=strHasilHapus+ arrHasilHapus[i];

end;

doHapus:=strHasilHapus;

end;

 

procedure menu;

begin

clrscr;

writeln(‘===============================================================================’);

writeln(‘# PROGRAM PENGHAPUS KARAKTER #’);

writeln(‘# program ini menghapus karakter dari kalimat yang dimasukkan. #’);

writeln(‘#—————————————————————————–#’);

writeln(‘# Silakan pilih menu berikut : #’);

writeln(‘# 1. Masukkan kalimat #’);

writeln(‘# 2. Masukkan index awal dan akhir penghapusan #’);

writeln(‘# x. Keluar #’);

writeln(‘# Pilihan : #’);

writeln(‘===============================================================================’);

gotoxy(2,11);writeln(‘##################################################################’);

gotoxy(2,12);writeln(‘# #’);

gotoxy(2,13);writeln(‘# Kalimat yang dimasukkan : ‘,kata);

gotoxy(2,14);writeln(‘# #’);

gotoxy(2,15);writeln(‘##################################################################’);

gotoxy(67,13);writeln(‘#’);

 

 

 

gotoxy(4,17);writeln(‘ ——————‘);

gotoxy(4,18);writeln(‘|Indexs Awal :’,awal);

gotoxy(4,19);writeln(‘|Indexs Akhir :’,akhir);

gotoxy(4,20);writeln(‘ ——————‘);

gotoxy(23,18);writeln(‘|’);

gotoxy(23,19);writeln(‘|’);

gotoxy(2,21);writeln(‘==================================================================’);

gotoxy(2,22);writeln(‘# Hasil Penghapusan : ‘,hasilHapus);

gotoxy(2,23);writeln(‘==================================================================’);

gotoxy(67,22);writeln(‘#’);

pil:=’ ‘;

 

end;

 

 

 

begin

{Program utama}

repeat

menu;

gotoxy(46,9);pil:=readkey;

case upcase(pil) of

‘1’ : begin

gotoxy(46,9);writeln(‘Memasukkan kalimat’);

gotoxy(30,13);writeln(‘ ‘);

gotoxy(30,13);readln(kata);

hasilHapus:=doHapus(kata, awal, akhir);

end;

‘2’ : begin

if kata=” then

begin

clrscr;

gotoxy(6,11);writeln(‘————————————————————————‘);

gotoxy(6,12);writeln(‘ Kalimat masih kosong, silakan isi dahulu ‘);

gotoxy(6,13);writeln(‘————————————————————————‘);

readln;

end else

begin

gotoxy(46,9);writeln(‘Memasukkan index’);

gotoxy(19,18);writeln(‘ ‘);

gotoxy(19,19);writeln(‘ ‘);

gotoxy(19,18);readln(tempNilai);

val(tempNilai, awal,nilaiKonv);

if nilaiKonv=0 then

begin

isNumber:=true;

gotoxy(19,19);readln(tempNilai);

val(tempNilai, akhir,nilaiKonv);

if nilaiKonv<>0 then

begin

isNumber:=false

end;

end else isnumber:=false;

if isnumber=false then

begin

clrscr;

gotoxy(6,11);writeln(‘————————————————————————‘);

gotoxy(6,12);writeln(‘silakan masukkan angka’);

gotoxy(6,13);writeln(‘err : ‘,tempNilai,’ : bukan angka’);

gotoxy(6,14);writeln(‘————————————————————————‘);

readln;

end else

begin

if (awal<1) or (awal >length(kata)) or (akhir<1) or (akhir>length(kata)) or (awal>akhir) then

{pengecekan apakah memnuhi syarat untuk dihapus}

begin

clrscr;

gotoxy(6,11);writeln(‘————————————————————————‘);

gotoxy(6,12);writeln(‘index awal dan akhir tidak sesuai dengan karakter pada kalimat : ‘);

gotoxy(6,13);writeln(kata);

gotoxy(6,14);writeln(‘————————————————————————‘);

readln;

end else

begin

hasilHapus:=doHapus(kata, awal, akhir); end;

end;

end;

end;

‘X’ : begin

donewincrt;

end;

 

 

else writeln(‘Maaf, pilihan yang anda masukkan salah. Silakan ulangi lagi’);

end;

until upcase(pil)=’X’;

end.

 

 

 

 

Tinggalkan komentar