Program Membalik Kalimat Dengan Pascal

Posted on Updated on


di kesempatan kali in saya akan sharing sedikit tentang program yang saya buat dalam rangka latihan menuju tes <SENSOR>,,hehee…

program yang akan dibuat adalah program untuk membalik kata – kata dalam kalimat yang diinput , langsung aja cek listingnya..

Listing program:

uses crt;

var

s,t,u,v,w,x,y,z:string;

p,q,i,j,k:integer;

begin

clrscr;

writeln(‘masukan kalimat yang akan dibalik: ‘);

readln(s);

p:=length(s);

i:=1;

for q:=p downto 1 do

begin

insert(s[q],t,i);

inc(i);

end;

writeln(t);

readln();

end.

Output:
perlu diperhatikan bahwa dengan listing program diatas program akan membalik huruf-huruf pada kalimat yang diinput dan juga membalik kata – katanya,, kata pertama akan menjadi kata terakhir dalam output program, demikian juga sebaliknya.
saya juga membuat program untuk membalik klaimat tetapi dengan posisi kata dalam kalimatnya tidak ikut terbalik, demikian listingnya:
uses crt;
var
s,t,u,v,w,x,y,z:string;
p,q,i,j,k:integer;
pos : array[1..100] of integer;
begin
clrscr;
writeln(‘masukan kalimat yang akan dibalik: ‘);
readln(s);
p:=length(s);
i:=1;
for j:=1 to p do
begin
if s[j]=’ ‘ then
begin
pos[i] := j;
inc(i);
end;
end;
pos[i]:=p+1;
k:=1;
for p:=1 to i do
begin
if p = 1 then
begin
for q:= pos[p]-1 downto 1 do
begin
insert(s[q],t,k);
inc(k);
end;
end
else
begin
for q:=pos[p]-1 downto pos[p-1]+1 do
begin
insert(s[q],t,k);
inc(k);
end;
end;
insert(‘ ‘,t,k);
inc(k);
end;
writeln(t);
readln();
end.
output:
nah,, keliatan kan bedanya?? demikian artikel pemrograman saya semoga bermanfaat..^_^



Web development jakarta

15 thoughts on “Program Membalik Kalimat Dengan Pascal

    Anonim said:
    November 3, 2011 pukul 8:30 am

    terimah kasih atas bantuan, semoga makin suksess..

      ayum said:
      November 15, 2011 pukul 8:58 am

      kenapa listing program yg pertama g bs jln?
      jd,, dia menampilkan kembali kalimat atau huruf-huruf yg kita ketik sebelumny

    Fadly46 said:
    Januari 25, 2012 pukul 4:17 pm

    kalu menggunkan stack, gmana listing membalik katanya saja bukan seluruhnya sperti pada contoh ke2?

      codycoding responded:
      Februari 3, 2012 pukul 8:42 am

      pada dasarnya sama,
      jika ingin membalik kalimat tanpa merubah struktur katanya,,

      pertama, masukan seluruh karakter kalimat kedalam array,,
      lalu masukan karakter dalam kalimat kedalam stack (PUSH) dimulai dari karakter yg paling belakang (paling kanan),,

      buat juga kondisi untuk melakuakn POP pada seluruh isi stack jika karakter kalimat = ‘ ‘ (spasi)
      dengan demikian kata yg berada di paling belakang kalimat akan menjadi paling depan dan seterusnya..

    halojack said:
    Maret 31, 2012 pukul 2:31 pm

    TENGKYU MAS BRO…..
    running berhasill…

    halojack said:
    Maret 31, 2012 pukul 2:32 pm

    tengkyu mas bro..
    running berhasil…

    rio said:
    Mei 29, 2012 pukul 12:07 pm

    makasih untuk ilmunya

    yanpu said:
    November 11, 2012 pukul 6:43 am

    Outputny
    Msukan kalimat : saya adalah mahasiswa
    Awsisaham halada ayas
    Mahasiswa adalah saya

    Klo outputny kya gtu gmna dong.
    Bls ya,
    Plissss

    yanpu said:
    November 11, 2012 pukul 6:45 am

    Kash tauu listinny yaaa,
    Plisss

    Anonim said:
    November 26, 2012 pukul 3:09 pm

    program balik_kalimat;
    uses crt;
    type
    stack=record
    tampung:0..100;
    isi:array[1..100]of char;
    end;
    var
    s:stack;
    huruf:char;
    kalimat, kalimatBalik, tempKalimat :string;
    kataBalik :array[1..100] of string;
    i, arCount, j:integer;
    procedure inisialisasi;
    begin
    s.tampung:=0;
    end;
    procedure push(var s:stack; x:char);
    begin
    s.tampung:= s.tampung+1;
    s.isi[s.tampung]:=x;
    end;
    procedure pop(var s:stack; var x:char);
    begin
    x := s.isi[s.tampung];
    s.tampung := s.tampung-1;
    end;
    begin
    clrscr;
    write(‘Masukkan Kalimat: ‘); readln(kalimat);
    for i:=1 to length(kalimat) do
    begin
    huruf:=kalimat[i];
    push(s,huruf);
    end;
    arCount:=1;
    while s.tampung 0 do
    begin
    pop(s, huruf);
    kalimatBalik := kalimatBalik+huruf;
    if huruf ‘ ‘ then
    kataBalik[arCount]:=kataBalik[arCount]+huruf
    else
    inc(arCount);
    end;
    for i:=1 to arCount do
    begin
    tempKalimat :=”;
    for j:=length(kataBalik[i]) downto 1 do
    tempKalimat := tempKalimat+(kataBalik[i])[j];
    kataBalik[i] := tempKalimat;
    end;
    for i:=1 to (length(kalimat))+15 do
    write(‘-‘);
    writeln;
    writeln(‘Kalimat dibalik per karakter: ‘, kalimatBalik);
    write(‘Kalimat dibalik per kata: ‘);
    for i:=1 to arCount do
    write(kataBalik[i],’ ‘);
    readln;
    end.

    Anonim said:
    April 18, 2013 pukul 10:59 am

    program hapus kata donk😦

    Anonim said:
    Mei 30, 2013 pukul 10:05 am

    uses wincrt;
    const elemen = 255;
    type s255 = string[elemen];
    tumpukan = record
    isi:s255;
    atas: 0..elemen;
    end;

    var t: tumpukan;
    i, k, l, m: integer;
    kal, word: s255;

    procedure awalan(var t: tumpukan);
    begin
    t.atas:=0;
    end;

    procedure push (var t:tumpukan; x: char);
    begin
    t.atas:=t.atas+1;
    t.isi[t.atas]:= x;
    end;

    function pop(var t:tumpukan):char;
    begin
    pop:=t.isi[t.atas];
    t.atas:=t.atas-1;
    end;

    begin
    clrscr;
    awalan(t);
    writeln(‘membalik kalimat Adjja’);
    writeln;
    write(‘Masukan Kalimat yang kaba pengen: ‘); readln(kal);
    clrscr;
    writeln(‘kalimat asli: ‘,kal);
    writeln;
    write(‘Hasil stack adalah : ‘);
    for i:=1 to length(kal) do
    begin
    if (kal[i]=’ ‘) then
    begin
    for k:=(i-1) downto l do
    word:=word+kal[k];
    word:=word+kal[i];
    end;
    l:=length(word);
    if i=length(kal) then
    begin
    for i:=length(kal) downto l do
    word:=word+kal[i];
    end;
    end;

    for i := 1 to (length(kal) + 1) do
    push(t, word [i]);
    for i := 1 to (length(kal) + 1) do
    write (pop (t) );
    readln;

    end.

    Octavia said:
    Mei 30, 2013 pukul 10:06 am

    uses wincrt;
    const elemen = 255;
    type s255 = string[elemen];
    tumpukan = record
    isi:s255;
    atas: 0..elemen;
    end;

    var t: tumpukan;
    i, k, l, m: integer;
    kal, word: s255;

    procedure awalan(var t: tumpukan);
    begin
    t.atas:=0;
    end;

    procedure push (var t:tumpukan; x: char);
    begin
    t.atas:=t.atas+1;
    t.isi[t.atas]:= x;
    end;

    function pop(var t:tumpukan):char;
    begin
    pop:=t.isi[t.atas];
    t.atas:=t.atas-1;
    end;

    begin
    clrscr;
    awalan(t);
    writeln(‘membalik kalimat Adjja’);
    writeln;
    write(‘Masukan Kalimat yang kaba pengen: ‘); readln(kal);
    clrscr;
    writeln(‘kalimat asli: ‘,kal);
    writeln;
    write(‘Hasil stack adalah : ‘);
    for i:=1 to length(kal) do
    begin
    if (kal[i]=’ ‘) then
    begin
    for k:=(i-1) downto l do
    word:=word+kal[k];
    word:=word+kal[i];
    end;
    l:=length(word);
    if i=length(kal) then
    begin
    for i:=length(kal) downto l do
    word:=word+kal[i];
    end;
    end;

    for i := 1 to (length(kal) + 1) do
    push(t, word [i]);
    for i := 1 to (length(kal) + 1) do
    write (pop (t) );
    readln;

    end.

      Anonim said:
      Februari 15, 2015 pukul 5:27 am

      bisa buat program yang input nya nama nnti ouput nya jadi pemenggalan dari nama itu ga ?

    Siti Aisyah Adhani said:
    Februari 15, 2015 pukul 5:30 am

    bisa buat progam input nama lengkap nanti output nya jadi pemenggalan nama nya menjadi beberapa kata

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s