0% menganggap dokumen ini bermanfaat (0 suara)
385 tayangan

Program Turbo Pascal

Program Pascal yang ditampilkan mengandung contoh-contoh script program dasar menggunakan bahasa pemrograman Turbo Pascal seperti program seleksi lulus tidak, program perkalian, program volume tabung, dan program menentukan bilangan positif atau negatif.

Diunggah oleh

YohanesSinurat
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
385 tayangan

Program Turbo Pascal

Program Pascal yang ditampilkan mengandung contoh-contoh script program dasar menggunakan bahasa pemrograman Turbo Pascal seperti program seleksi lulus tidak, program perkalian, program volume tabung, dan program menentukan bilangan positif atau negatif.

Diunggah oleh

YohanesSinurat
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 31

Berikut Contoh-Contoh Script Turbo Pascal :

1. Program Seleksi Lulus atau Tidak


Program Seleksi;
Uses crt;
Var
NilaiUjian : real;
Ket
: string[16];
Begin
Clrscr;
ket:=Anda Tidak Lulus;
Write(Nilai yang Didapat ?
);
Readln(NilaiUjian);
if NilaiUjian > 60 Then
ket:=Anda Lulus
Writeln(ket);
Readln;
End.
Jika Program di atas dijalankan, anda akan diminta memasukkan Nilai yang didapat, Jika Nilai
yang didapat di atas 60 maka akan muncul Anda Lulus, jika Nilai yang dimasukkan 60 atau
dibawahnya maka akan muncul Anda Tidak Lulus..

2. Program Perkalian
Program Perkalian;
Uses crt;
Var
a,b,c : Longint;
Begin
clrscr;
Writeln(Perkalian);
Writeln;
Write(Masukkan Angka Pertama = );
Readln(a);
Write(Masukkan Angka Kedua
= );

Readln(b);
Writeln;
c:=a*b ;
Writeln(Hasilnya adalah = ,c);
Readln;
End.
Jika Program diatas dijalankan kalian akan diminta memasukkan angka yang ingin di kali, Jika
kalian ingin pembagian, pertambahan, pengurangan, hanya diganti yang
berwarna merah menjadi operasi hitung yang kalian inginkan

3. Program Volume Tabung


Program Volume_Tabung;
Uses crt;
Label
10;
Var
R,T,Volume : real ;
Jawab
: char ;
Begin
clrscr;
10:Writeln;
Write(Jari-Jari Alas = );
Readln(R);
Write(Tinggi Tabung
= );
Readln(T);
Volume:=Pi*R*R*T ;
Writeln(Volume Tabung = ,Isi:9:2);
Writeln;
Write(Apakah Ingin Menghitung lagi (Y/T) ? );
Readln(Jawab);
if (Jawab=Y) or (Jawab=y) Then goto 10;
Readln;
End.
Jika Program di atas dijalankan kalian masukkan Jari-jari lingkaran, dan Tinggi tabung,, Jika
sudah akan ada Hasilnya..

4. Program Positive/Negative

Program Positive_Negative;
Uses crt;
Var
Bil : Integer ;
Begin
clrscr;
Writeln(Menentukkan bilangan Positive/Negative)
Writeln;
Write(Masukkan Bilangan = );
Readln(Bil);
Writeln;
if Bil < 0 Then
Write(Bilangan Itu Negative);
else if Bil > 0 Then
Write(Bilangan Itu Positive);
else
Write(Bilangan Itu Nol);
Readln;
End.
Jika Program di atas dijalankan akan diminta untuk memasukkan Bilangan,,
# Jika dimasukkan bilangan -3, akan muncul tulisan yang berwarna merah #
# Jika dimasukkan bilangan 3, maka akan muncul tulisan berwarna biru #
# Jika dimasukkan bilangan 0, maka akan muncul tulisan berwarna kuning #

5. Program Kelipatan
Program Kelipatan;
Uses crt;
Var
a : Integer ;
Begin
clrscr;

Write(Masukkan angka = );
Readln(a);
Writeln;
Repeat
Write(a,);
a:=a+a ;
Readln;
Until a>100 ;
Readln;
End.

Membuat Program keliling lingkaran

program genap;
uses wincrt;
var
x : integer;
begin
write('masukkan sembarang angka =');read (x);
if x mod 2=0 then
write('genap')
else
write('ganjil')
end.

Membuat program bilngankelipatan5

program bilangankelipatan5;
uses wincrt;
var bil,batas:integer;
begin
write('Masukkan integer positif,=');
readln(batas);
for bil:=5 to batas do
if bil mod 5=0 then
write(bil,' ');
end.

Membuat Program deretABCDE

program deretABCDE;
uses wincrt;
var i,batas:char;
begin

{write('masukkan integer positif=');


readln(batas);}
for i:='a' to 'e' do
write(i,' ');
end.
Membuat program Deretan angka sampai 10
program deratangka1sampai10;
uses wincrt;
var i,batas:integer;
begin
{write('Masukkan integer positif,=');
readln(batas);}
for i:=1 to 10 do
write(i);
end.

Membuat program DeretAngka2

program deretangka2;
uses wincrt;
var i,batas:integer;
begin
write('masukkan integer positif=');
readln(batas);
for i:=batas downto 1 do
write(i,' ');
end.
Membuat program deretEDCBA
program deretEDCBA;
uses wincrt;
var i,batas:char;
begin
{write('masukkan integer positif=');
readln(batas);}
for i:='e' downto 'a' do
write(i,' ');
end.
Membuat program GanjilGenap
program Ganjilgenap;
uses wincrt;
var bil:integer;
begin
for bil:=6 to 16 do
if bil mod 2=1 then
write(bil,' ');
readln;

end.

Membuat program grade

Program nilai_mahasiswa;
uses wincrt;
Var
Nilai : Real ;
Grade : Char ;
nama : string ;
Begin
write('NAMA ANDA: ',nama);
read(nama);
Write('NILAI YANG ANDA PEROLEH : ');
Read(Nilai);

Membuat program Hadiah belanja


program hadiahBelanja;
Uses wincrt;
var
x:integer;
begin
write('masukkan harga=');read(x);
if x<=49.999 then
write ('maaf sampeyan dereng beruntung')
else
if x<=99.999 then
write ('selamat sampeyan mendapatkan mie goreng')
else
if x<=149.999 then
write ('selamat sampeyan mendapatkan gelas cantik')
else
if x<=199.999 then
write ('selamat sampeyan mendapatkan piring cantik')
else
if x<=5000.000 then
write ('selamat mendpatkan sampeyan payung cantik')
end.
Membuat program binatang
program binatang;
uses wincrt;
var baris,kolom:integer;
begin
clrscr;
for baris:=1 to 8 do
begin
for kolom:=1 to baris do

write('KUCING');
writeln;
end;
readln;
end.

Membuat program HurufAsampaiZ

program hurufAsampaiZ;
uses wincrt;
var i,batas:char;
begin
write('Masukkan huruf a sampai z=');read(batas);
for i:= 'a' to batas do
write(i,' ');
end.

Membuat Program jenis bilangan bulat

program jenis_bilangan_bulat;
uses wincrt;
var
x : integer;
begin
write ('Masukkan sembarang angka=');read(x);
if x >0 then
write ('positif')
else
if x <0 then
write('negatif')
else
write ('nol')
end.

Membuat deretangka1sampai10

program deratangka1sampai10;
uses wincrt;
var i,batas:integer;
begin
{write('Masukkan integer positif,=');
readln(batas);}
for i:=1 to 10 do
write(i);
end.

Membuat program deretABCDE


program deretABCDE;
uses wincrt;
var i,batas:char;
begin
{write('masukkan integer positif=');
readln(batas);}
for i:='a' to 'e' do
write(i,' ');
end.

Membuat Program bilanganKelipatan5

program bilangankelipatan5;
uses wincrt;
var bil,batas:integer;
begin
write('Masukkan integer positif,=');
readln(batas);
for bil:=5 to batas do
if bil mod 5=0 then
write(bil,' ');
end.

Membuat Program HurufAsampaiZ


program hurufAsampaiZ;
uses wincrt;
var i,batas:char;
begin
write('Masukkan huruf a sampai z=');read(batas);
for i:= 'a' to batas do
write(i,' ');
end.

Membuat Program Menghitung Jarak

Program Menghitung_Jarak;
Uses WinCrt;
var
x1,x2,y1,y2:integer;
d:real;
begin
Writeln('Program Menghitung Jarak Titik A dan B');
Writeln('======================================');
Writeln;
Write('Masukan Nilai A (X1): ');readln(x1);
Write('Masukan Nilai B (X2): ');readln(x2);
Write('Masukan Nilai A (Y1): ');readln(y1);
Write('Masukan Nilai B (Y2): ');readln(y2);
d:=sqrt(sqr(x2-x1)+sqr(y2-y1));
Writeln;
Writeln('Jadi Jarak Titik A ke B Adalah: ',d:4:2);
end.

Membuat Program Kontreversi Suhu

Program Konversi_Suhu;
Uses WinCrt;
var f,c:real;
begin
Writeln('Program Konversi Fareinheit Ke Celcius');
Writeln('======================================');
Writeln;
Write('Masukan Suhu dalam Farenheit: ');readln(f);
c:=5/9*(f-32);
Writeln;
Writeln('Jadi Suhu Dalam Celcius Adalah: ',c:4:2);
end.

Membuat Program Kontreversi Waktu

Program Konversi_Waktu;
Uses Wincrt;
Var j,m,d,h:integer;
begin
Writeln('Program Konversi Waktu');
Writeln('======================');
Writeln;
Write('Masukkan Jumlah Jam : ');readln(j);
Write('Masukkan Jumlah Menit : ');readln(m);
Write('Masukkan Jumlah Detik : ');readln(d);
Writeln;
h:=(j*3600)+(m*60)+d;
Writeln('Jadi Hasil Konversi : ',h,' Detik');
end.

Membuat Program Kontreversi Waktu1

Program Konversi_Waktu1;
Uses WinCrt;
var j,m,d,dm,sisa,sisa1:integer;
begin
Writeln('Program Konversi Waktu 1');
Writeln('========================');
Writeln;
Write('Masukkan Jumlah Detik : ');readln(dm);
if (dm/3600)>0 then
begin
j:=dm div 3600;
sisa:=dm-(j*3600);end
else
begin
j:=0;
sisa:=dm;
end;
if (sisa/60)>0 then
begin
m:=sisa div 60;
sisa1:=sisa-(m*60);
end
else
begin
m:=0;
sisa1:=sisa;
end;
d:=sisa1;
Writeln;
Writeln('Hasil => ',j,' jam ',m,' menit ',d,' detik');
end.

Skrip Program Pascal


1
2
3
4
5
6

program jum_bil;
uses wincrt;
var

Output
Program
Masukkan
Bilangan =
12
Masukkan

Bilangan =
12

7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

Masukkan
Bilangan =
12

i, jum,bil: integer;
begin

Masukkan
Bilangan =
12

jum:=0; {inisialisasi}
for i:=1 to 5 do
begin
write('Masukkan Bilangan = ');readln(bil);
jum:=jum+bil;
end;
writeln('Jumlah Bilangan = ',jum);
end.

Masukkan
Bilangan =
12
Jumlah
Bilangan =
60

Program Menghitung Jumlah Bilangan Perulangan FOR Dengan


Nilai Dinamis
Output
Program

Skrip Program Pascal


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

program jum_bil2;

Banyak
bilangan :
3
Masukkan
Bilangan 1
= 12

uses wincrt;
var
i, n: integer;
jum, bil: real;
begin
write(Banyak bilangan :
jum := 0;
For i:= 1 to n do
begin

');read(n);

Masukkan
Bilangan 2
= 13
Masukkan
Bilangan 3

18
19
20
21
22
23
24
25
26
27
28
29

write('Masukkan Bilangan ',i, '=');read(bil);


jum := jum+bil;
end;
writeln('Jum = ',jum:0:2);
end.

= 14
Jum =
39.00

Program Menghitung Jumlah dan Mean Bilangan Perulangan FOR


Dengan Nilai Dinamis
Output
Skrip Program Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

program contoh_3;
uses wincrt;
var

Program
Masukkan
nilai N = 3
Nilai N
adalah= 3

n, i : integer;
rata : real;
jum, bil : integer;
begin
Write('Masukkan nilai N = ');readln(n);
writeln ('Nilai N adalah= ',n);writeln;
for i := 1 to n do
begin
write('Masukkan bilangan : ');read(bil);
jum := jum+bil;
end;
rata := jum/n;writeln;
writeln('Jumlahnya adalah : ',jum);
writeln('Nilai rata-ratanya :', rata:0:2);

Masukkan
bilangan: 1
Masukkan
bilangan: 2
Masukkan
bilangan: 3
Jumlahnya
adalah : 6
Nilai rataratanya :
2.00

31
32
33
34
35

end.

Program Menghitung Jumlah dan Banyaknya Data

Script Program Pascal


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

program contoh4;
uses wincrt;
var
n, i,byk,jum, bil : integer;
begin
Write('Masukkan nilai perulangan : ');readln(n);
Writeln;
for i := 1 to n do
begin
write('Bilangan ',i,' = ');read(bil);
if bil &gt;= 10 then
begin
byk := byk+1;
jum := jum+bil ;
end;
end;
writeln;
writeln('banyak bilangan yang >= 10 : ',byk);
writeln('jumlah bilangan yang >= 10 : ',jum);
end.

Output
Program
Pascal

38
39

Prosedur dan Fungsi


Di sub judul ini, ada 4 source code yang mengandung fungsi dan prosedur. Fokus yang ada disini
adalah bukan mengenai bagaimana isi prosedur itu, tapi lebih ke bagaimana penggunaan fungsi dan
prosedur itu. Tentang bagaimana deklarasinya, penerapan parameter, pemanggilannya dan
sebagainya Contoh disini dimulai dari yang paling sederhana hingga yang lebih ribet sedikit..
Dilatasi
Fungsi : Mengalikan dua buah angka yang dimasukan dengan angka tertentu.
Hint : Screenshot Output:

uses crt;
var absis,ordinat,pengali:integer;
procedure dilat(a,b,peng:integer);
var c,d:integer;
begin
c:=a*peng;
d:=b*peng;
writeln('(',c,',',d,')');
end;
begin
writeln('Kordinat Awal');
write('Absis : ');readln(absis);
write('Ordinat : ');readln(ordinat);
writeln;
write('masukan faktor pengali ');readln(pengali);
write('Kordinat (',absis,',',ordinat,') setelah didilatasikan terhadap faktor ',pengali,' menjadi ');
dilat(absis,ordinat,pengali);
readln;
end.

Mencari Penyelesaian Fungsi Kuadrat


Fungsi : Mengitung nilai persamaan kuadrat bila nilai x diketahui

Hint: Masukan nilai a,b,c dan nilai x.


Screen Shot :

uses crt;
var x,y,z,s:integer;
function fungsi(a,b,c,x:integer):integer;
begin
fungsi:=a*(x*x)-b*x+c;
end;
begin
write('masukan a : ');readln(x);
write('masukan b : ');readln(y);
write('masukan c : ');readln(z);
write('masukan x : ');readln(s);
writeln('f(x)=',x,'(x^',x,'2)-',y,'x+',z);
writeln('f(',s,') =',fungsi(x,y,z,s));
readln;
end.

Menghitung Waktu Gerhana


Fungsi : Menghitung tanggal gerhana pada bulan tertentu dengan rumus yang sudah ada.
Hint: Sebenarnya intinya hanya membuat prosedur yang menampilkan jumlah hari dalam bulan
tertentu..waktu gerhana ini sebagai tambahan saja.
Screen Shot :

uses crt;
var b,ha,ger:integer;
bul:string;
procedure maks(s:integer);
var y,k:integer;
begin
case s of
1,3,5,7,8,10,12:ha:=31;
4,6,9,11:ha:=30;
2:begin
write('masukan tahun ');readln(y);
k:=y mod 4;
if k=0 then

ha:=28
else ha:=29;
end;
else writeln('Bulan salah!!!');readln;exit;
end;
end;
procedure hitung(bee:integer);
begin
ger:=bee-(2*b);
end;
begin
write('masukan bulan ke- :');readln(b);
maks(b);
hitung(ha);
write('Gerhana bulan ');
case b of
1 : WRITE('Januari');
2:WRITE('Februari');
3:WRITE('Maret');
4:WRITE('April');
5:WRITE('Mei');
6:WRITE('Juni');
7:write('Juli');
8:WRITE('Agustus');
9:write('September');
10:write('Oktober');
11:WRITE('November');
12:WRITE('desemberrrr');
end;
writeln(' terjadi pada hari ke-',ger);
readln;
end.

Penjumlah Pecahan
Fungsi : Menjumlahkan 2 buah pecahan.
Hint: Tinggal masukan saja penyebut dan pembilang.
Screenshot :

uses crt;
var pemi,pemII,penyi,penyII:integer;

j,k:integer;
function pemb(a,c:integer):integer;
begin
j:=penyii;
k:=penyi;
pemb:=a*j+k*c;
end;
function peny(b,d:integer):integer;
begin
peny:=b*d;
end;
begin
writeln('Pecahan 1 ');
write('Pembilang i :');readln(pemi);
write('Penyebut i :');readln(penyI);
writeln;
write('Pecahan 2 ');
write('Pembilang ii :');readln(pemII);
write('Penyebut II: ');readln(penyII);
writeln;
writeln('maka
hasil
dari
pertambahan
',pemb(pemi,pemii),'/',peny(penyi,penyii));
readln;
end.

',pemi,'/',penyI,'+',pemii,'/',penyII,'

adalah

ARRAY
Setelah prosedur dan fungsi, beralih ke Array. Karena sudah masuk ke array, kode-kode yang sini
mungkin terlihat lebih rumit dari sebelumnya
Mencari angka kelipatan 3
Fungsi :Mencari angka kelipatan 3 dari sekumpulan angka yang diinputkan.
Hint: Masukan angka dan masukan -1 untuk berhenti, otomatis hasil akan ditampilkan.
Screen Shot :

uses crt;
var a,b:array[1..10] of integer;

i,j,k,l:integer;
begin
{memasukan angka}
j:=1;
repeat
write('angka ke-',j,': ');readln(a[j]);
j:=j+1;
until a[j-1]=-1;
{menentukan mana yang kelipatan 3}
for k:=1 to j do
begin
if a[k] mod 3=0 then
b[k]:=a[k];
end;
{Menampilkan mana yang kelipatan tiga}
write('angka kelipatan 3 adalah : ');
for i:=1 to (j-1) do
begin
if b[i]<>0 then
write(b[i],', ');
end;
readln;
end.

Penjumlah Matrix
Fungsi : Menjumlahkan dua matriks 3x3 yang diinputkan
Hint: Masukan nilai matriks di tiap-tiap baris dan kolom.
Screen Shot :

uses crt;
var m1,m2,mp:array[1..10,1..10] of integer;
i,j,k,l:integer;
begin
{Menginput nilai matriks}
writeln('Matriks ke 1');
for i:=1 to 3 do
for j:=1 to 3 do
begin
write('m1[',i,',',j,'] : ');readln(m1[i,j]);
end;
writeln;
writeln('Matriks ke 2');
for i:=1 to 3 do
for j:=1 to 3 do
begin
write('m2[',i,',',j,'] : ');readln(m2[i,j]);
end;
writeln;
{jumlahkan}
begin
for i:=1 to 3 do
for j:=1 to 3 do
begin
mp[i,j]:=m1[i,j]+m2[i,j];
end;
{lukis hasil penjumlahan}
writeln('Hasil Penambahan = ');
writeln;
for i:=1 to 3 do
begin
writeln;
for j:=1 to 3 do
write(mp[i,j],' ');
end;
readln;
end;
end.

Pendata Mahasiswa
Fungsi: Mendata data mahasiswa, atau apalah dengan array dan menampilkannya.
Hint: Intinya adalah membuat array di record.
Screen shot :

program mhsw;
uses crt;
type mahasiswa=record
nama,nim,kelas:string;
end;
var m:array[1..41] of mahasiswa;
j,i:integer;
begin
write('Jumlah mahasiswa yang mendaftar : ');readln(j);
clrscr;
for i:=1 to j do
begin
writeln('Mahasiswa ',i,':');
write('Nama
: ');readln(m[i].nama);
write('Nim
: ');readln(m[i].nim);
write('Kelas
: ');readln(m[i].kelas);
writeln;
writeln;
end;
clrscr;
writeln('==================================');
writeln;
writeln('DATA MAHASISWA KOMPUTOK');
writeln;
writeln('==================================');
for i:=1 to j do
begin
writeln('Mahasiswa ',i,':');
writeln('Nama
: ',m[i].nama);
writeln('Nim
: ',m[i].nim);
writeln('Kelas
: ',m[i].kelas);
writeln;
writeln;

end;
readln;
end.

Tabel Ajaib
Fungsi : Membuat tabel angka yang apabila nilai tabel dalam satu baris, kolom, dan diagonal di
jumlahkan hasilnya akan sama.
Hint: jangan terlalu heran, semua sudah ada rumusnya. Tinggal masukan angka-angka saja.
Screen Shot :

uses crt;
var a,b,c,d,w,x,y,z,i,j:integer;
tab:array[1..4,1..4] of integer;
procedure lukistabel;
{Prosedur untuk menampilkan tabel}
var c:string;
begin
for i:=1 to 4 do
begin
writeln;
writeln;
for j:=1 to 4 do
begin
begin
if (tab[i,j]>9) or ((tab[i,j]<0) and (tab[i,j]>-10)) then
c:=' '
else if (tab[i,j]<10) and (tab[i,j]>-1) then
c:='
'
else c:=' ';
end;
if j=1 then
write(tab[i,j],c)
else if j=2 then write(tab[i,j])

else write(c,tab[i,j]);
end;
end;
end;
{program utama}
Begin
{memasukan nilai}
write('a = ');readln(a);
write('b = ');readln(b);
write('c = ');readln(c);
write('d = ');readln(d);
write('w = ');readln(w);
write('x = ');readln(x);
write('y = ');readln(y);
write('z = ');readln(z);
writeln('memproses.......');
delay(500);
{rumusnya ini}
tab[1,1]:=a-w;
tab[1,2]:=c+w+y;
tab[1,3]:=b+x-y;
tab[1,4]:=d-x;
tab[2,1]:=d+w-z;
tab[2,2]:=b;
tab[2,3]:=c;
tab[2,4]:=a-w+z;
tab[3,1]:=c-x+z;
tab[3,2]:=a;
tab[3,3]:=d;
tab[3,4]:=b+x-z;
tab[4,1]:=b+x;
tab[4,2]:=d-w-y;
tab[4,3]:=a-x+y;
tab[4,4]:=c+w;
{pemanggilan prosedur lukis tabel}
lukistabel;
readln;
end.

Fibbonaci Generator

Fungsi: Kode untuk Menghasilkan deret fibbonaci


Hint : Fibbonaci adalah deret yang angka selanjutnya adalah penjumlahan 2 angka sebelumnya.
Misal : 1 1 2 3 5 8 13 21 .dst
Screen Shot

uses crt;
var a:array[1..1000] of longint;
i,k:integer;
begin
clrscr;
write('Input banyaknya fibbonaci: ');readln(i);
{fibbonacigenerator}
a[1]:=1;
a[2]:=1;
for k:=2 to i do
begin
a[k+1]:=a[k]+a[k-1];
end;
writeln;
writeln;
{menulis fibbonaci}
for k:=1 to i do
begin
write(a[k],' ');
end;
writeln;
readln;
end.

Iterasi
Nah, ini bagian perulangan. Tidak lebih rumit dari array, namun tidak sesederhana di sub bab fungsi
dan prosedur.
Angka
Fungsi: Tak ada fungsi khusus, hanya menampilkan pola-pola angka saja
Hint : Begitu jalan, langsung masukan angka saja, Jangan masukan angka terlalu kecil atau besar.
Screen Shot

uses crt;
var inp,i,a,t,r:integer;
begin
readln(inp);
t:=inp;
for i:=1 to inp do
begin
for a:=1 to inp do
write(a-t);
writeln;
t:=t-1;
end;
readln;
end.

Jumlah Pangkat
Fungsi: untuk menghasilkan deret pangkat, misal : 1, 4, 9, 16, 25 dst dan menjumlahkannya
Hint : Masukan jumlah deret pangkat yang akan ditampilkan untuk di jumlah
Screen Shot

uses crt;
var k,jum:double;
i,n:longint;
begin
clrscr;
readln(n);
jum:=0;
for i:=1 to n do
begin
k:=sqr(i);

write(k:0:0);
if i<>n then
write('+');
jum:=jum+k;
end;
write('=',jum:0:0);
readln;
end.

Tebak Angka
Fungsi: Permainan Tebak angka, masukan angka rahasia dan suruh teman untuk menebaknya
Hint : Permainan ini tidak akan asik bila dilakukan sendirian.
Screen Shot

uses crt;
var a,teb,c,d,rhs:integer;
begin
Write('Bilangan Rahasia : ');readln(rhs);
clrscr;
repeat
write('masukan Tebakan anda : ');readln(teb);
if (teb<>rhs) and (teb>rhs) then
writeln('Bilangan terlalu besar!')
else if (teb<>rhs) and (teb
writeln('bilangan terlalu kecil');
until (teb=rhs);
writeln('Tebakan Anda Benar!!!!, selamat!!!!');
readln;
end.
Z
Fungsi: Melukis huruf Z dengan karakter * sebesar jumlah perulangan yang di inputkan
Hint : Masukan angka untuk menentukan besar huruf Z
Screen Shot

uses crt;
var n,i,a:integer;
begin
readln(n);
for i:=1 to n do
begin
for a:=1 to n do
begin
if (i=1) or (i=n) then
write('#')
else if (i<>1) and (i<>n) then
begin
if a+i=n then
write('#')
else
write(' ');
end;
end;
writeln;
end;
readln;
end.

Program Pencari Pembagi


Program yang mungkin terlihat paling ribet, tapi sebenarnya alurnya sederhana. Berungsi untuk
menampilkan pembagi dan hasil bagi bilangan bulat yang di masukan. Selain itu, disini juga bisa
digunakan untuk menentukan bilangan mana yang prima atau bukan. Sebelumnya program ini sudah
pernah di publish di artikel ini, namun saya tidak tampilkan source kodenya. Silahkan bila ingin
langsung mencoba bisa langsung kesana.
Sebenarnya ada cacat di program ini, yaitu ada 2 perulangan disini. Yang satu untuk menentukan
bilangan prima, satunya lagi untuk menentukan pembagi. Sebenarnya 2 perulangan itu dapat
dipangkas menjadi satu saja. Sehingga 2 perulangan menjadi tidak efisien. Kenapa harus 2?

Sejarahnya begini, awalnya saya menulis program ini iseng-iseng hanya untuk mencari yang mana
bilangan prima. Lalu saya kembangkan lagi menjadi bisa menuliskan daftar bilangan pembagi, waktu
itu, daripada repot mengedit perulangan untuk menentukan bilangan prima yang sudah mapan, saya
membuat perulangan baru. Dan akhirnya program ini punya 2 perulangan yang strukturnya hampir
mirip.
Tapi nampaknya tidak masalah, toh selisih waktu kalkulasinya hanya beberapa milidetik, bahkan
untuk bilangan yang mencapai ratusan juta sekalipun. Mau edit lagi, rasanya malasBerikut
kodenya.:
Hint: Sebelum di compile, buat dulu file bernama output.txt di folder yang sama dengan source code
pembagi.

program pembagi;
uses crt;
var x,y,q,w,z,e,f,g:longint;
l,a:string;
out:text;
label k;
{prosedur untuk sekedar merapikan hasil output}
procedure rapikan(s:longint;var t:string);
begin
if s<10 then
t:='
'
else if (s>9) and (s<100) then
t:='
'
else if (s>99) and (s<1000) then
t:='
'
else if (s>999) and (s<10000) then
t:='
'
else if (s>9999) and (s<100000) then
t:='
'
else if (s>99999) and (s<1000000) then
t:=' '
else if (s>999999) and (s<10000000) then
t:=' '
else if (s>9999999) and (s<100000000) then
t:=' '
else if (s>99999999) and (s<1000000000) then

t:=' '
else if (s>999999999) and (s<1000000000) then
t:=' '
else t:=' ';
end;
{program utama}
begin
textbackground(blue);
textcolor(Yellow);
clrscr;
assign(out,'output.txt');
append(out);
gotoxy(3,1);writeln('+______________________________________________________+');
gotoxy(3,2);writeln('|Copyright@2009, Xenovon, http://komputok.blogspot.com |');
gotoxy(3,3);Writeln('+------------------------------------------------------+');
writeln;
writeln;
gotoxy(3,5);writeln('Hint: Masukan angka 2 untuk keluar');
gotoxy(3,6);writeln('
hasil juga dioutputkan ke output.txt');
writeln;
writeln;
gotoxy(15,9);writeln('----[MENENTUKAN PEMBAGI SUATU BILANGAN BULAT]------');
writeln;
writeln;

{menuliskan ke output.txt}
writeln(out);
writeln(out);
writeln(out);
writeln(out,'+______________________________________________________+');
writeln(out,'|Copyright@2009, Xenovon, http://komputok.blogspot.com |');
Writeln(out,'+------------------------------------------------------+');
writeln(out);
writeln(out);
writeln(out);
writeln(out,'----[MENENTUKAN PEMBAGI SUATU BILANGAN BULAT]------');
writeln(out);
begin
{input bilangan yang akan di cari}
k:
write('masukan bilangan yang akan di cek : ');readln(x);writeln;
{error handling}
if x<2 then goto k else
{pemeriksaan kondisi untuk keluar program, yaitu dengan menginput angka 2}
if x=2 then
begin

writeln('2 adalah bilangan prima');


writeln;
write('Mau keluar?(y/x)');readln(l);
writeln;
if l='y' then exit else goto k;
end;
{Menentukan apakah bilangan prima atau bukan}
begin
y:=1;
repeat
y:=y+1;
q:=x mod y;
until (q=0);
end;
if y=x then
begin
writeln(x,' adalah bilangan prima');writeln;
writeln(out,x,' adalah bilangan prima');writeln(out);
end
else
begin
{apabila bukan prima, maka program menentukan pembagi yang mungkin}
writeln('Pembagi dari ',x,': ');
writeln('--------------------');
writeln(out,'Pembagi dari ',x,': ');
writeln(out,'--------------------');
writeln(out);
w:=1;
repeat
w:=w+1;
e:=x mod w;
if e=0 then
begin
{menuliskan pembagi & hasil bagi ke konsole dan ke output.txt}
g:=x div w;
rapikan(w,a);
writeln(w,a,'--> ',x,'/',w,'= ',g);
writeln(out,w,a,'--> ',x,'/',w,'= ',g);
end;
until (w=x);
writeln;
writeln(out);
end;
goto k;
end;
close(out);
end.

Nah, sekian dulu.semoga bisa berguna.(AHP 07 Januari 2010, 16:10)

Anda mungkin juga menyukai