29
Untuk membuat kata-kata yang dibalik dengan pascal tidak terlalu sulit. Program yang kita buat cukup sederhana,bahkan bagi amatir yang seperti saya ini cukup mudah asalkan bisa memahami algoritmanya dan sedikit bahasa pemrograman. Apakah yang dimaksud dengan membalik kata? Bukan dibalik dari atas ke bawah tentunya. Jadi apa dong? Apa ya, lebih tepatnya dibaca kebalik. Apakah kita harus membalik badan dulu? Sudahlahhhhh..... Saatnya serius. Ya lumayan serius. Yang diamaksud dengan membalik kata adalah, karena sulit untuk dijelaskan dengan kata-kata, maka saya akan memberi contoh. Misalnya kata MAKAN. Jika kata ini dimasukkan ke dalam program yang akan kita buat, maka akan keluar NAKAM. Negrti kan? Nah, silakan teman-teman coba memasukkan kata-kata KASUR INI RUSAK. Apakah hasilnya???? Liat aja ndiri..... Untuk lebih cepatnya, silakan salin script di bawah ini dan baca penjelasan di bawahnya. Oke????? =========================================== PROGRAM PEMBALIK KATA =========================================== type matriks = ARRAY[1..200] of char; var baru : matriks; var kata : string[50]; var i, j, k, l, m, n : integer; var x, y : char; Begin readln(kata); k := length(kata); m := 1; for i := k downto 1 do begin baru[m] := kata[i]; m := m+1; end;

Balik Kata

Embed Size (px)

Citation preview

Page 1: Balik Kata

Untuk membuat kata-kata yang dibalik dengan pascal tidak terlalu sulit. Program yang kita buat cukup sederhana,bahkan bagi amatir yang seperti saya ini cukup mudah asalkan bisa memahami algoritmanya dan sedikit bahasa pemrograman. Apakah yang dimaksud dengan membalik kata? Bukan dibalik dari atas ke bawah tentunya. Jadi apa dong? Apa ya, lebih tepatnya dibaca kebalik. Apakah kita harus membalik badan dulu? Sudahlahhhhh..... Saatnya serius. Ya lumayan serius. Yang diamaksud dengan membalik kata adalah, karena sulit untuk dijelaskan dengan kata-kata, maka saya akan memberi contoh. Misalnya kata MAKAN. Jika kata ini dimasukkan ke dalam program yang akan kita buat, maka akan keluar NAKAM. Negrti kan? Nah, silakan teman-teman coba memasukkan kata-kata KASUR INI RUSAK. Apakah hasilnya???? Liat aja ndiri.....

Untuk lebih cepatnya, silakan salin script di bawah ini dan baca penjelasan di bawahnya. Oke?????

===========================================PROGRAM PEMBALIK KATA===========================================

type matriks = ARRAY[1..200] of char;var baru : matriks;var kata : string[50];var i, j, k, l, m, n : integer;var x, y : char;

Beginreadln(kata);k := length(kata);m := 1;for i := k downto 1 dobeginbaru[m] := kata[i];m := m+1;end;

for i:= 1 to k dobegin

write(baru[i]);end;readln;End.

===========================================

Page 2: Balik Kata

Penjelasan===========================================

Nah, sekarang kita akan melakukan hal yang menarik, yaitu menjelaskan kode program tersebut. Program tersebut terdiri dari input, yang berupa data string, fungsi perulangan pertama yang berfungsi untuk menyusun ulang kata-kata dalam bentuk array, dan fungsi perulangan kedua untuk menampilkan hasil kata-kata yang telah disusun ulang dalam bentuk array lagi. Lalu, bagaimana sih proses pembalik kataan ini? mari gue jelasin. Pada dasarnya, string adalah array dari karakter. Kalo blom tau apa itu string dan karakter, string itu adalah kata atau kalimat (kalimat juga sebenarnya kata-kata yang dipisah oleh spasi, jadi sama aja kan????) sedangkan karakter adalah huruf, spasi, atau tanda baca. Nah, setiap array tentunya memiliki indeks kan, mulai dari 0 sampai terakhir. Inilah proses yang utama. Pada awalnya, kita cari dulu berapa banyak karakter yang ada dalam kata/kalimat tersebut. Itu mengindikasikan jumlah indeks array yang ada. Misalnya ada 5 huruf, maka array itu akan terisi index 0 sampai 4. Lalu, prosesnya akan kita balik. Kita akan menyusun array baru dengan index 0 berisikan karakter dari array lama atau kata input dengan index terakhir, dan begitu seterusnya sampai dalam array kata yang baru, index terakhir diisi oleh karakter dengan index pertama dalam kalimat yang diinputkan. Mudahkan? Kalo bingung, coba deh baca bagian About Us di bawah. Pasti jadi ngerti. Khu...khu...khu...

Huuuuuuffft, cape juga ya bikin postingan yg bermutu. Nah, gue dapet ide nih buat bikinpostingan ttg sesuatu berhubungan ama pascal. Taraaaaaaa. Membuat bilangan polindrom dengan pascal. Itu judulnya. Lalu, bilangan polindrom tuh apaan c???? Yang jelas, bilangan polindrom itu bilangan yang klo dibaca dari kanan kek atawa kiri kek ya sama aja. Kaya angka 11. Klo dari kanan juga 11, apalagi dari kiri. Nah, klo tmen2 smuwanya pngen tahu, bilangan polindrom ampe 100 juta, silakan baca kode di bawah ini yoooooo.

================================================Program membuat bilangan polindrom dengan pascal================================================ses crt;var x, y, z, i, j, k, o : integer;var m, n, l : string[5];

function muter_kata(m:string):string;Beginx := length(m);n := m[x];For i := x-1 downto 1 dobeginn := concat(n,m[i]);end;

Page 3: Balik Kata

end;

Beginclrscr;readln(y);for o := 1 to y dobeginstr(o, m);muter_kata(m);if m = n thenbeginwriteln(o);end;end;readln;end.

1. buatlah program yang menerima masukan bbilangan bulat n dan keluarannya berupa pola bintang sbb :** ** * ** * * ** * * * * .... n* * * * *...n-1* * * ** * ** **

contoh input n=3maka output** ** * ** **

2. Buatlah program untuk membalik string yang diinputkan oleh user,contoh inputan : SAYA SUKA MAKANoutput : NAKAM AKUS AYAS

3. Buatlah program untuk menampilkan bilangan kelipatan m kurang dari n , input : n, m

4. Buatlah program untuk mengakses menu utama sbb:

Page 4: Balik Kata

Menu :1. Hitung Faktorial2. Hitung PangkatPilih (1 atau 2) :...Keterangan : sebelum dapat mengakses menu tersebut, user diharuskan memasukkan password, jika sampai 3x password masih salah , maka user ditolak untuk mengakses menu tersebut. Selain itu user juga harus memasukkan angka sampai benar (tidak boleh diluar 1 dan 2)Kemudian, sesuai dengan menu yang di pilih, user memasukkan parameter-2 yang diperlukan :- hitung faktorial => n (hasil : n!), bilangan bulat- hitung pangkat -> x,y ( hasil : x^y), x dan y bilangan bulat positif.JAWABAN NO. 1 { 1. tugas program counter dalam pascal latihan tanggal 22-10-2007 lab mkom.ugm input n, keluaran model bintang

Masukkan n : 4

Output :

i : 1 * i : 2 * * i : 3 * * * i : 4 * * * * i : 3 * * * i : 2 * * i : 1 *

} program model_n_bintang; uses wincrt; var n,i,j,k : byte; begin write('Nilai n : ');readln(n); i:=1; while(i<=n) do begin j:=1; write(' i : ',i:5); while(j<=i) do begin write(' * '); inc(j); end; inc(i); writeln; end; i:=n-1; while(i<>0) then write(' i : ',i:5);

{ cari kalo nggak pake if gimana ?}

while(j>=1) do begin

Page 5: Balik Kata

write(' * '); dec(j); end; dec(i); writeln; end; end.

{ 2. tugas program counter dalam pascal latihan tanggal 22-10-2007 lab mkom.ugm membalik kalimat Input : saya suka makan Output : nakam akus ayas

}

program model_membalik_kalimat;uses wincrt;var k : string; l : byte;begin write('masukkan Kalimat : ');readln(k); l:=length(k); writeln('Lebar kalimat : ',l:4); write('Dibalik : '); while(l<=length(k)) do begin write(k[l]); dec(l); end;end.

{ 3. tugas program counter dalam pascal latihan tanggal 22-10-2007 lab mkom.ugm menampilkan barisan bilangan kelipatan m kurang dari n Input : m,n

}

program model_kalipatan_bilangan;uses wincrt;var m,n,l,k : integer;begin write('masukkan N : ');readln(n); write('masukkan M (kelipatan) : ');readln(m); k:=0;l:=1; while(l

4. tugas program counter dalam pascal latihan tanggal 22-10-2007 lab mkom.ugm menu utama dengan security akses

Page 6: Balik Kata

}

program model_membalik_kalimat;uses wincrt;var l,p : byte; sn : string; oc : boolean; n,x,fn,pn,i : integer;begin l:=0;oc:=false; repeat write('Insert Your Security Number (case sensitife mode!) : ');readln(sn); inc(l);

if(l>3) then exit; oc:=((sn='yy') and (l<=3)); until(oc);

while(oc) do begin writeln('Menu Utama'); writeln('0. Selesai'); writeln('1. Faktorial'); writeln('2. Pangkat'); writeln('Pilihan : ');readln(p); if(p=0) then exit; case p of 1: begin writeln('Hitung Faktorial'); write('Masukkan n : ');readln(n); { rumus : N x (N - 1) x (N - 2) ... x 1.} fn:=1; for i:=2 to n do fn:=fn*i; writeln('jawaban ',n,'! = ',fn:5);

end; 2: begin writeln('Hitung Pangkat'); write('Masukkan Bilangan (x) : ');readln(x); write('Masukkan Bilangan pangkat (n) : ');readln(n); pn:=1; for i:=1 to n do pn:=pn*x; writeln('jawaban ',x,'^',n,' = ',pn:10); end; else writeln('Maaf tidak ada pilihan'); end; readln; end;end.

Page 7: Balik Kata

program namabulan;uses wincrt;var bulan : byte;beginrepeatwrite('Masukkan nama bulan : ');readln(bulan);case bulan of1 : writeln('bulan januari');2 : writeln('bulan februari');3 : writeln('bulan maret');4 : writeln('bulan april');5 : writeln('bulan mei');6 : writeln('bulan juni');7 : writeln('bulan juli');8 : writeln('bulan agustus');9 : writeln('bulan september');10 : writeln('bulan oktober');11 : writeln('bulan nopember');12 : writeln('bulan desember');else writeln('salah bulan');end;until(bulan=0);end.

program menuS;uses wincrt;var mn : byte;

procedure kubus;var s,lu: integer;beginwriteln('Kubus');write('Sisi : ');readln(s);lu:= s*s*s;writeln('Volume : ',lu);readln;end;

procedure balok;var p,l,t,lu: integer;beginwriteln('Balok');write('Panjang : ');readln(p);write('Lebar : ');readln(l);write('Tinggi : ');readln(t);lu:= p*l*t;writeln('Volume : ',lu);readln;

end;procedure bola;

Page 8: Balik Kata

var r,lu: real;beginwriteln('Bola');write('Jari-jari : ');readln(r);lu:= (4/3)*3.14*r;writeln('Volume : ',lu:12:2);readln;end;

procedure sg4;var p,l,t,lu: real;beginwriteln('Limas Segi Empat');write('Panjang : ');readln(p);write('Lebar : ');readln(l);write('Tinggi : ');readln(t);lu:= (1/3)*p*l*t;writeln('Volume : ',lu:12:2);readln;

end;procedure prisma;var as,ts,tp,lu: real;beginwriteln('Prisma Segitiga');write('Alas : ');readln(as);write('Tinggi sgt : ');readln(ts);write('Tinggi prisma:');readln(tp);lu:= (as*ts*tp)/2;writeln('Volume : ',lu:12:2);readln;

end;

beginrepeatclrscr;writeln('Menu Utama');writeln('1. Kubus');writeln('2. Balok');writeln('3. Bola');writeln('4. Luas segiempat');writeln('5. Prisma Segitoga Siku2');write('Pilih yg akan dikerjakan : ');readln(mn);case mn of1 : kubus;2 : balok;3 : bola;4 : sg4;5 : prisma;else writeln('salah menu');end;

Page 9: Balik Kata

until(mn=0);end.

program aneh;uses wincrt;const maks = 20;var x,y,sx,sy : integer; x0,y0 : integer;beginclrscr;writeln(' Sistem Koordinat Kuadran ');write('Titik Pusat x : ');readln(x0);write('Titik Pusat y : ');readln(y0);repeatwriteln('Titik Pusat x : ',x0);writeln('Titik Pusat y : ',y0);

write('Titik x : ');readln(x);write('Titik y : ');readln(y);if((x=x0) and (y<=y0)) thenbegin { kuadrant 1} writeln('Data ini ada di kuadran 1'); sx:=x-x0;sy:=y0-y; writeln('Koordinat : x = ',sx); writeln('Koordinat : y = ',sy);end;

uses wincrt;const maks = 200;var x,y,sx,sy : integer; x0,y0 : integer; lg : char;beginclrscr;writeln(' Sistem Koordinat Kuadran ');write('Titik Pusat x : ');readln(x0);write('Titik Pusat y : ');readln(y0);repeatwriteln('Titik Pusat x : ',x0);writeln('Titik Pusat y : ',y0);

write('Titik x : ');readln(x);write('Titik y : ');readln(y);case x of-200..-1 :begin case y of 1..200 : begin { kuadrant 2} writeln('Data ini ada di kuadran 2'); end; 0 : writeln ('Tepat di sumbu Y Positif');

Page 10: Balik Kata

-200..-1: begin { kuadrant 4} writeln('Data ini ada di kuadran 4'); end; end;end;1..200 :begin case y of 1..200 : begin { kuadrant 1} writeln('Data ini ada di kuadran 1'); end; 0 : writeln ('Tepat di sumbu Y Positif'); -200..-1: begin { kuadrant 3} writeln('Data ini ada di kuadran 3'); end; end;end;

else writeln('mbuh tho ..');end; {case}write('Lagi Y/T ');readln(lg);until(upcase(lg)<>'Y');end.

program tanggal;uses wincrt;var d,b,t : integer; db,bb,tb : integer;

beginclrscr;write('Masukkan tanggal : ');readln(d);write('Masukkan bulan : ');readln(b);write('Masukkan tahun : ');readln(t);readln;bb:=b; tb:=t;db:=succ(d);

if(db>31) then begin {bulan baru } bb:=succ(b); if(bb>12) then begin {tahun baru } tb:=succ(t); end;

Page 11: Balik Kata

end;write('Tanggal : ',db);write(' Bulan : ',bb);write(' Tahun : ',tb);readln;end.

program tanggal;uses wincrt;var d,b,t, ub : integer; db,bb,tb : integer;

beginclrscr;write('Masukkan tanggal : ');readln(d);write('Masukkan bulan : ');readln(b);write('Masukkan tahun : ');readln(t);readln;bb:=b; tb:=t;{ check bulan}if(b in [1,3,5,7,8,10,12]) then ub:=31else ub:=30;

if(b=2) thenbegin{apakah kabisat? (t mod 4) = 0yaa maka usia bul feb=28} if( ( ( (t mod 4)=0) and ( ( t mod 100) <> 0 ) ) or ((t mod 400) = 0)) then ub:=28;writeln('UB = ',ub);end;db:=succ(d);

if(db>ub) then begin {bulan baru } db:=1; bb:=succ(b); if(bb>12) then begin {tahun baru } bb:=1; tb:=succ(t); end; end;write('Tanggal : ',db);write(' Bulan : ',bb);write(' Tahun : ',tb);readln;end.

Page 12: Balik Kata

MASALAH LOOP 1. WHILE...DO { 1. program counter dalam pascal latihan tanggal 22-10-2007 lab mkom.ugm }program counter_while;uses wincrt;var i,j,p,q : byte;begin write('Nilai p : ');readln(p); write('Nilai q : ');readln(q); i:=1; while(i<=p) do begin j:=1; write(' i : ',i:5); while(j<=q) do begin write('j=',j:3,' : ',i*j : 6); inc(j); end; inc(i); writeln; end; writeln; readln; writeln;

i:=p; writeln(' i : ',i:5,' j : ',j:5); writeln; while(i>=1) do begin j:=q; while(j>1) do begin write(i*j:6); dec(j); end; dec(i); writeln; end;end.

2. REPEAT ... UNTIL { 2 program counter dalam pascal latihan tanggal 22-10-2007 lab mkom.ugm

}program counter_repeat;uses wincrt;var i,j,p,q : byte;begin write('Nilai p : ');readln(p); write('Nilai q : ');readln(q); i:=1; repeat j:=1; write(' i : ',i:5);

Page 13: Balik Kata

repeat write('j=',j:3,' : ',i*j : 6); inc(j); until(j>=q); inc(i); writeln; until(i>=p); writeln; readln; writeln;

i:=p; writeln(' i : ',i:5,' j : ',j:5); writeln; repeat j:=q; repeat write(i*j:6); dec(j); until(j<=1); dec(i); writeln; until(i<=1);end.

program mumet;uses wincrt;var i,j,k,l : byte;beginwrite('masukkan batas counter 1 : ');readln(i);write('masukkan batas counter 2 : ');readln(j);for k:=1 to i do begin for l:=1 to j do begin write(k*l:4); end; writeln; end;

writeln (' turun sekarang ');

for k:=1 to i do begin for l:=j downto 1 do begin write(k*l:4); end; writeln; end;

end.

program banyak_huruf_dalam_kalimat;uses wincrt;

var n:array[1..26] of integer; i,j:integer;kata : String;

begin

Page 14: Balik Kata

for i:=1 to 26 do n[i]:=0;write('Ketikkan sebuah kalimat : ');readln(kata);for i:=1 to length(kata) dofor j:=1 to 26 doif ord(upcase(kata[i]))=64+j theninc(n[j]);for i:=1 to 13 dowriteln(chr(64+2*i-1),' = ',n[2*i-1],' ',chr(64+2*i),'=',n[2*i]);end.

Huruf Mati, Huruf Hidup dan angka detector tanpa spasi

Posted by Ketut Joko on Tuesday, July 6, 2010 Under: Half

OM SWASTIASTU, Punapi gatra? he...baik rekan-rekan sekalian kali ini saya akan memberikan source code pascal yang dapat mendeteksi berapa jumlah huruf hidup, hurup mati serta angka, namun tanpa membaca spasi yang ada. dengan output sebagai berikut:

ini source codenya :

program carihurufhidupmatidanangka;uses crt;var b,k,i,j, angka:integer;

Page 15: Balik Kata

n:char;beginCLRSCR;writeln('ANGKA, HURUF MATI DAN HURUF HIDUP DETECTOR');WRITE('MASUKKAN KATA ATAU KALIMAT YANG DI AKHIRI TITIK(.) : ');b:=0;k:=0;repeatread(n);

 if (48 <= ord(n)) and (ord(n) <= 57) thenangka := angka + 1;

n:=upcase(n);for i := ord('A') to ORD('Z') do

beginif n = char(i) thenbeginj := ord(n);if (j=ord('A')) or (j=ord('E')) or (j=ord('I')) or (j=ord('O')) OR (j=ord('U')) thenk:=k+1elseb:=b+1;end;end;until n = '.';writeln('HURUF hidup : ',k);writeln('HURUF mati  : ',b);writeln('ANGKA : ' , ANGKA);READKEY;end.

*"SElamat mencoba ya..." "OM CANTIH3X.. OM"

Mungkin sebelumnya saya memosting Asscii viewer yang berguna untuk menampilkan hasil dari kode asscii ke charakter, nah rekan-rekan dapat mengonvert dari asscii ke charakter atau sebaliknnya. berikut source kode pada pascal:

PROGRAM ASSCIICHAR;USES crt;var i,j: char;k : integer;

Page 16: Balik Kata

label akhir;beginclrscr;repeat;writeln;writeln;writeln;writeln('1. ascii to char');writeln('2. char to ascii');write('input pilihan, ' + chr(39) + 'Q' + chr(39) +' untuk keluar : ');j := readkey ;j := upcase(j);if j = 'Q' then   goto akhirelsewriteln;write('input : ');if j  = '1' thenbeginreadln(k);writeln('ascii to char = ', chr(k));endelse if j = '2' thenbeginreadln(i);writeln('char to ascii = ', ord(i))end;until j = 'q';akhir:end.

dengan hasil output sebagai berikut:

Page 17: Balik Kata

Selamat Mencoba yaw...program anak_ayam;uses crt;var n:integer;beginwrite('Masukkan Jumlah Ayam');readln(n);writeln('lagu anak ayam:');

if n > 1 thenrepeatwriteln('anak ayam turunlah ',n);writeln('mati satu tinggalah ',n-1);n:=n-1;until (n=1);writeln('anak ayam turunlah 1');writeln('mati satu tinggalah induknya');readkey;end.

Fungsi Spasi

Posted by Ketut Joko on Thursday, September 16, 2010 Under: fungsi spasi

Kali ini saya akan memaparkan bagaimana membuat space(tempat) untuk spasi. ini biasanya digunakan untuk pembuatan tabel, ini hanya diperlukan untuk kerapian. kususnya peng arsipan.

Page 18: Balik Kata

program spasi;uses crt;type data=record     nama,nim:string;     end;

var i,text:integer;dt : array[1..2] of data;function spasi(teks:string):string;var teks1:string;j:integer;beginteks1:=teks;for j := 1 to (20-length(teks1)) doteks1 := teks1 + ' ';spasi := teks1;

end;

beginfor i := 1 to 2 dobeginwrite('masukkan nama : ');readln(dt[i].nama);write('masukkan nim  : ');readln(dt[i].nim);end;for i := 1 to 2 dobegin

Page 19: Balik Kata

writeln(spasi(dt[i].nama),dt[i].nim);end;readln;end.

Record + Array pada Pascal

Posted by Ketut Joko on Thursday, September 16, 2010 Under: record array

Record adalah sebuah sebuah bentuk yang dapat menampung variabel yang berbeda. sedangkan array adalah berfungsi untuk menampung data dengan index yang ada, sehingga cukup 1 variabel yang digunakan. record dan array dapat digabungkan sebagai berikut

program record&array;uses crt;type    Thiphop = record            nama : string[20];            alamat : string[30];            Nick   : string[10];            end;var i:byte;hiphoper :array[1..6] of Thiphop;beginwriteln('inputkan kosong / enter untuk selesai');for i := 1 to 2 dobeginwrite('input nama : ');readln(hiphoper[i].nama);write('input alamat : ');readln(hiphoper[i].alamat);write('input nick : ');readln(hiphoper[i].nick);end;readkey;for i := 1 to 2 dobeginwriteln(hiphoper[i].nama  );

Page 20: Balik Kata

writeln(hiphoper[i].alamat  );writeln(hiphoper[i].nick);

end;READKEY;end.

Polindrom

Posted by Ketut Joko on Thursday, September 16, 2010 Under: polindrom

Om Suastiastu ide dane sareng sami.. kali ini saya akan memberikan salah satu program polindrom pada pascal. kata polindrom adalah sebuah kata yang bila di baca dari belakang memiliki makna yang sama. contoh : "katak" bila dibaca dari kanan maka akan sama yaitu "katak"

berikut listingnya:

program polindrom;uses crt;var kata,huruf,huruf1:string;    i,j:integer;begin    write('Masukkan kata : ');readln(kata);    j:=length(kata);    writeln;

Page 21: Balik Kata

    huruf:='';    for i:=1 to j do    huruf:=huruf+kata[i];    for i:=j downto 1 do    huruf1:=huruf1+kata[i];    writeln('origin word : ',huruf);    writeln('reverse word : ',huruf1);    writeln;    if (huruf=huruf1) then    writeln('polindrom')    else    writeln('not polindrom');    readln;end.

program assciiViewer;USES CRT;var i,n:integer;beginCLRSCR;for i := 1 to 255 dobeginIF  I < 255 THENwrite(i,' : ',char(i), ', ')ELSEwrite(i,' : ',char(i));READKEY;end;end.

erikut merupakan contoh-contoh program pascal sederhana.

Membuat segitiga bintang (*) menurun

program segitigabintang;uses crt;var i,j,k,x: integer;beginclrscr;write ('masukkan sisi:');readln(x);k:=1;for i:=1 to x-1 dobeginwriteln ('*');

Page 22: Balik Kata

for j:=1 to k dobeginwrite ('*');end;k:=k+1;end;writeln ('*');readkeyend.

Membuat segitiga angka urut

program segitigaangka;uses crt;var i,j,k,x: integer;beginclrscr;write ('masukkan sisi:');readln(x);k:=1;for i:=1 to x-1 dobeginwriteln (i);for j:=1 to k dobeginwrite (j);end;k:=k+1;end;writeln (i+1);readkeyend.

Membuat segitiga angka tidak berurut menurun

uses crt;var m,n,o:shortint;beginClrscr;writeln('Membuat segitiga');write('Input banyak angka:');readln(o);for m:=1 to o dobeginfor n:=1 to m doBeginwrite(m*n);write(' ');

Page 23: Balik Kata

end;writeln;end;readln;end.

Program menghitung huruf kapital, vocal,konsonan dan panjang kata

uses crt;type karakter = set of char;var hrf_kptl, hrf_vkl : karakter;jml_kptl, jml_vkl, jml_mati, k : integer;kata_kata : string;beginclrscr;hrf_kptl := ['A'..'Z'];hrf_vkl := ['A','E','I','U','O','a','i','u','e','o'];jml_kptl := 0;jml_vkl := 0;jml_mati := 0;Writeln ('Masukkan Kalimat/Kata Bebas (bebas hurufnya besar/kecil)');readln (kata_kata);for k :=1 to length (kata_kata) dobeginif kata_kata[k] in hrf_kptl then jml_kptl := jml_kptl + 1;if kata_kata[k] in hrf_vkl then jml_vkl := jml_vkl + 1Else jml_mati := jml_mati + 1;end;write ('Jumlah Huruf Kapitalnya=');writeln (jml_kptl);write ('Jumlah Huruf Vokalnya=');writeln (jml_vkl);write ('Jumlah Huruf Konsonannya=');writeln (jml_mati);write ('Panjang Kata-Kata/Kalimatnya=');writeln (length (kata_kata));readln;end.

Program Menghitung Faktorial

uses crt;var fak,hasil : integer;procedure faktorial ;var x : integer;beginhasil := 1;for x := 2 to fak do

Page 24: Balik Kata

hasil := hasil * x;end;beginclrscr;write ('berapa faktorial?');readln (fak);faktorial;writeln; writeln (fak,'faktorial=',hasil);readln;end.

Program Bilangan_Prima;uses crt;var a,b,c,d,e:longint;procedure deret_prima(x,y,z:longint);beginwriteln('2':7);for x:=3 to z dobeginfor y:= 2 to x-1 dobeginif x mod y = 0 then begind:=x ; end else begin e:=x; end;end;if x=d thenbeginy:= x-1;end elsewriteln(e:7);end;end;beginclrscr;write('bilangan prima sampai berapa? '); readln(c);deret_prima(a,b,c);readln;end.