Senin, 12 Januari 2015

CONTOH MENENTUKAN BONUS PEGAWAI

Buatlah program untuk menentukan bonus pegawai, berdasarkan ketentuan yang diberikan oleh bagian personalia dan keuangan sebagai berikut : Pegawai perusahaan digolongkan menjadi  dua golongan, yaitu staff dan non staff. Staff akan mendapatkan bonus sebesar 1 juta rupiah dengan syarat bahwa ia telah bekerja paling tidak 5 tahun dan umurnya sudah mencapai 50 tahun; staff yang bekerja kurang dari 5 tahun dan berapapun umurnya, hanya mendapat bonus sebesar Rp. 500.000. Pegawai non staff yang telah bekerja lebih dari 5 tahun akan mendapatkan bonus Rp. 400.000 jika umur lebih dari 50 tahun  sedangkan pegawai non staff yang berumur kurang dari 50 tahun hanya mendapat bonus Rp. 250.000.
=========================================
Program Bonus_Ardiansyah;
uses wincrt;
var
kerja,usia : real;
golongan : integer;
nama : string;
ulang:char;
Begin
clrscr;
ulang:='Y';
while Upcase(ulang)='Y' do
Begin
ClrScr;
writeln('          =========================================          ');
writeln('          =  BONUS KARYAWAN PT IkhAdyt@gmail.com  =          ');
writeln('          =========================================          ');
writeln;
write('Masukkan Nama Anda : ');readln(nama);
write('Masukkan Golongan [1(Staf)/2(NonStaf)] : ');readln(golongan);
writeln;
writeln('=========================================');
writeln;
case golongan of
     1:
     begin
          write('Lama Bekerja : ');readln(kerja);
          write('Usia Anda    : ');readln(usia);
          if (kerja >=5) and (usia >=50) then writeln('Bonus        : 1000000')
          else if (kerja >=5) and (usia <= 50) then writeln('Bonus        : 500000')
          else if (kerja <=5) and (usia >= 0) then writeln('Bonus : 300000')
          else writeln('Tidak ada bonus ta sodara')
     end;
     2:
     begin
          write('Lama Bekerja : ');readln(kerja);
          write('Usia Anda    : ');readln(usia);
          if (kerja >= 5) and (usia >= 50) then writeln('Bonus        : 400000')
          else if (kerja >=5) and (usia <= 50) then writeln('Bonus        : 250000')
          else writeln('Tidak ada bonus ta broo')
     end;
end;
writeln;
Writeln('==============================================');
    Writeln('= Created, Ardiansyah. B || 20142205002 ||TI.11 =');
Writeln('==============================================');
    write('Mau cek bonus lagi? [Y/T]: ');
    Readln(ulang);
    end;
end.
=======================================
Berikut hasil outputnya :

Contoh While Do (Kedalaman Sumur)

Setelah mengetahui definisi dari while do, sekarang saya akan memberi contoh soal sebagai berikut :

Ada katak masuk kedalam sumur sedalam 31.2 m. 5 hari pertama katak bisa naik 3 m tiap pagi dan merosot 1 m tiap malam, 10 hari berikutnya katak bisa naik 2 m tiap pagi dan merosot 1.25 m tiap malam, selanjutnya naik 2 m tiap pagi dan merosot 1.5 m tiap malam, berapa hari katak tersebut dapat keluar dari sumur?

======================================
Program KodokTampan;
Uses wincrt;
Var ds,t,jt:real;
    i,n:integer;
    ulang:char;

Begin
clrscr;
ulang:='Y';
while Upcase(ulang)='Y' do
Begin
clrscr;
Write('Masukan Kedalaman Sumur = ');readln(ds);
i:=1;
n:=3;
t:=1;
while ds > 0 do
Begin
     if (i>5) and (i <=15) then
     begin
     n:=2;
     t:=1.25;
     end
     else if i > 10 then
     begin
     n:=2;
     t:=1.5;
     end;
jt:=n-t;
ds:=ds-jt;
Writeln(i:4,' hari', n:8,' m', t:8:2, ds:8:2);
i:=i+1;
end;
Writeln;
Writeln('==============================================');
    Writeln('= Created, Ardiansyah. B || 20142205002 ||TI.11 =');
Writeln('==============================================');
    write('Mau ulang lagi? [Y/T]: ');
    Readln(ulang);
end;
end.
=============================================
Hasil Output nya :

Pascal Mencari Tarif Pemakaian PDAM

Masih dalam penggunaan If then, kali ini kita membahas pascal mencari tarif PDAM. Dengan contoh soal sebagai berikut :

PDAM Kota Makassar menetapkan tarif pemakaian  air bersih per m3-nya ditentukan secara pergolongan dimana golongan ditentukan otomatis berdasarkan jumlah pemakainya. Untuk pemakaian 50 m3 pertama dikenakan biaya Rp. 1500. 51-75 m3 dikenakan Rp. 1750. 76-100 m3 dikenakan Rp. 2000 dan lewat dari 100 dikenakan Rp. 2250. Buatlah programuntuk menghitung jumlah yang harus dibayar pelanggan jika volume air diinput dari keyboard.

=============================================
Program PDAM_Makassar_City;
uses wincrt;
var
gol1,gol2,gol3,gol4,pk,total:longint;
        ulang:char;

Begin
clrscr;
ulang:='Y';
while Upcase(ulang)='Y' do

begin
clrscr;
writeln ('Program PDAM Makassar City');
writeln ('++++++++++++++++++++++++++');
write   ('Masukan Jumlah Pemakaian air = ');readln(pk);

writeln;
if (pk <=50) then
gol1 := 1500*pk
else if (pk<=75) then
begin
gol1 :=1500*50;
gol2 :=1750*(pk-50);
end
else if (pk<=100) then
begin
gol1:=1500*50;
gol2:=1750*25;
gol3:=2000*(pk-75);
end
else
begin
gol1:=1500*50;
gol2:=1750*25;
gol3:=2000*25;
gol4:=2250*(pk-100);
end;
total:=gol1+gol2+gol3+gol4;
writeln('Tarif Golongan 1 = Rp.',gol1:8);
writeln('Tarif Golongan 2 = Rp.',gol2:8);
writeln('Tarif Golongan 3 = Rp.',gol3:8);
writeln('Tarif Golongan 4 = Rp.',gol4:8);
writeln('Total            = Rp.',total:8);
writeln;
Writeln('==============================================');
    Writeln('= Created, Ardiansyah. B || 20142205002 ||TI.11 =');
Writeln('==============================================');
    write('Mau cek pemakaian air lagi? [Y/T]: ');
    Readln(ulang);
    end;
end.
==============================================
Berikut hasil outputnya :

Jumat, 02 Januari 2015

Penggunaan Record pada Turbo Pascal
uses crt;
type nilai = record
hari,tugas,umum,na : real;
end;
type mapel = record
kimia,basindo : nilai;
end;
type siswa = record
nama : string[25];
nis : string[3];
mp : mapel;
end;
var
i,n,a : byte;
student : array [1..100] of siswa;
stop : boolean;
b : string[4];
begin
stop := false;
Repeat
clrscr;
write(‘Banyak siswa : ‘); readln(n);
clrscr;
writeln(‘=======================================================================’);
writeln(‘NIS Nama Siswa Mata Pelajaran N.Hr N.Tgs N.Umum N.Akhir’);
writeln(‘———————————————————————–’);
a:=4;
for i := 1 to n do
begin
with student[i] do
begin
readln(nis);
gotoxy(6,a);
readln(nama);
with mp do
begin
gotoxy(26,a);
writeln(‘Bahasa Indonesia’);
with basindo do
begin
gotoxy(44,a);
readln(hari);
gotoxy(50,a);
readln(tugas);
gotoxy(57,a);
readln(umum);
na:=(2*hari+tugas+3*umum)/6;
gotoxy(65,a);
writeln(na:3:2);
end;
CONTOH PROGRAM ARRAY
1. CONTOH PROGRAM array 1 dimensi
Program coba_array;
Uses wincrt;
Var
i,jum_data:integer;
nama:array [1..20] of string;
Begin
writeln(‘MENCETAK NAMA MAHASISWA DENGAN ARRAY’);
writeln;
write(‘masukkan jumlah data : ‘);readln(jum_data);
for i:=1 to jum_data do
Begin
write(‘masukkan nama ke ‘,i,’ : ‘);readln(nama[i]);
end;
writeln;
writeln(‘No Nama’);
writeln(‘———————-‘);
for i:=1 to jum_data do
writeln(i:5,nama[i]:15);
End.

2. CONTOH PROGRAM array 2 dimensi
Program coba_array2_dimensi;
Uses wincrt;
const maks=3;
Var
i,j:integer;
matriks:array [1..maks,1..maks] of integer;
Begin
writeln(‘MENGISI MATRIKS A’);
writeln;
for i:=1 to maks do
for j:=1 to maks do begin
write(‘A [‘,i,’,’,j,’] : ‘);readln(matriks[i,j]);
end;writeln;
writeln(‘ISI MATRIKS A’);
writeln(‘————-‘);
for i:=1 to maks do
for j:=1 to maks do begin
if j=maks then writeln(matriks[i,j])
Else write(matriks[i,j],’ ‘);
end;
End.
1. Flowchart untuk menghitung luas lingkaran

2. Flowchart untuk menghitung luas segitiga



3. Flowchart untuk menghitung luas persegi panjang


4. Flowchart untuk menghitung luas tabung

1. Program bagi pemula dengan struktur biasa

Program Contoh_Awal;
Uses CRT;
Var i,j,k : integer;
Begin
ClrScr;
Write(‘masukkan nilai i dan j : ‘);
Readln(i,j);
k:=i+j;
Writeln(‘nilai k : ‘,k);
Readln;
End.
2. Program bagi pemula dengan struktur biasa
Program ContohInteger;
Uses CRT;
Var y : Integer;
p : Real;
X : Real;
Begin
y := 5;
p := 6;
x := y + p;
Writeln(‘Nilai X adalah :’,x:4:1);
End.
3. Program untuk menginput sejumlah variabel dan menampilkannya
Program Contoh_Variabel;
Uses crt;
Var
Nama : string[15];
Jumlah,harga : Longint;
Nilai : real;
Begin
ClrScr;
{Memasukkan data}
Nama:=’Semen';
jumlah:=10;
harga :=250000;
Nilai :=Harga * Jumlah ;
{Menampilkan Data yang Telah Diproses}
writeln(‘Nama Barang:’,Nama);
writeln(‘Jumlah:’,Jumlah);
writeln(‘Harga:’,Harga);
writeln(‘Nilai Barang:’,Nilai);
Readln;
end.
4. Program untuk mengolah variabel
(* Variable dan Konstanta *)
Program Contoh_2a;
Uses CRT;
Const phi = 3.14;
Var x : Integer;
y : Real;
Begin
ClrScr;
x := 5;
y := x * phi;
Writeln(‘Nilai y = ‘, y:5:2);
Readln;
End.
5. Program untuk mengolah variabel, konstanta dengan model lain
Program Contoh_2b;
Uses CRT;
Const phi = 3.14;
Var x : Integer;
y : Real;
Begin
ClrScr;
Write(‘Masukkan Harga x =’);
Readln(x);
y := x * phi;
Writeln(‘Nilai y = ‘, y:10:2);
Readln;
End.
6. Program untuk mengolah data dengan type
{ Deklarasi Type }
Program Contoh_3a;
Uses CRT;
Type bulat = Integer;
pecahan = Real;
var x : bulat;
y : pecahan;
Begin
clrscr;
Write(‘Harga x : ‘); Readln(x);
Write(‘Harga y : ‘); Readln(y);
Writeln(‘Nilai x : ‘,x:3);
Writeln(‘Harga y : ‘,y:3:0);
Readln;
End.
7. Program untuk mengolah data dengan type
{ Deklarasi Type }
Program Contoh_3b;
Uses CRT;
Type bulat = Integer;
pecahan = Real;
var x : bulat;
y : pecahan;
Label Ulang;
Begin
Ulang:
clrscr;
Write(‘Harga x : ‘); Readln(x);
Write(‘Harga y : ‘); Readln(y);
Writeln(‘Nilai x : ‘,x:3);
Writeln(‘Harga y : ‘,y:3:0);
readln;
Goto Ulang;
End.
8. Program membandingkan 2 variabel
Program Banding;
Uses CRT;
Var a, b : Integer;
Begin
ClrScr;
read(a);
read(b);
if (a >b) then
Writeln(‘Bilangan A terbesar’)
else
Writeln(‘Bilangan B terbesar’);
end.
9. Program membandingkan 3 variabel
Program BanVar2;
Uses CRT;
Var a, b, c : Integer;
Begin
write(‘Masukkan bilangan A :’); readln(A);
write(‘Masukkan bilangan B :’); readln(B);
write(‘Masukkan bilangan C :’); readln(C);
if (a>b) then
if (a>c) then
Writeln(‘Bilangan A terbesar’)
else
Writeln(‘Bilangan C terbesar’)
else
if (b>c) then
Writeln(‘Bilangan B terbesar’)
else
Writeln(‘Bilangan C terbesar’);
End.
10. Program membandingkan 3 variabel model lain
Program BanVar2;
Uses CRT;
Var a, b, c : Integer;
Begin
write(‘Masukkan bilangan A :’); readln(A);
write(‘Masukkan bilangan B :’); readln(B);
write(‘Masukkan bilangan C :’); readln(C);
if (a>b) then
if (a>c) then
begin
Writeln(‘Bilangan A terbesar’);
if (b>c) then
Writeln(‘Bilangan C terkecil’)
else
Writeln(‘Bilangan B terkecil’);
End
else
begin
Writeln(‘Bilangan C terbesar’);
Writeln(‘Bilangan B terkecil’);
end
else
if (b>c) then
begin
Writeln(‘Bilangan B terbesar’);
if (a>c) then
Writeln(‘Bilangan C terkecil’)
else
Writeln(‘Bilangan A terkecil’);
end
else
begin
Writeln(‘Bilangan C terbesar’);
Writeln(‘Bilangan A terkecil’);
end;
End.
11. Program membandingkan 3 variabel model lain
Program Bandingkan3Variabel;
Uses CRT;
Var a,b,c : Real;
jb : Char;
Begin
jb := ‘y';
Repeat
ClrScr;
Write(‘A = ‘); Readln(a);
Write(‘B = ‘); Readln(b);
Write(‘C = ‘); Readln(c);
If (a > b) Then
If (a > c) Then
Begin
Writeln(‘Bil. A terbesar’);
if (b c) Then
Begin
Writeln(‘Bil. B terbesar’);
if (a <= c) Then
Writeln(‘Bil. A terkecil’)
Else
Writeln(‘C Terkecil’)
End
Else
Begin
Writeln(‘Bil. C terbesar’);
Writeln(‘Bil. A terkecil’)
End;
Write(‘Ulangi (y/t) : ‘); Readln(jb);
Until jb=’t';
End.
12. Program untuk Tipe data Boolean
Program Boolean1;
Uses CRT;
var tokka : boolean;
lahir : String;
nama : String;
jawab : char;
Begin
Write(‘Masukkan nama : ‘);
readln (nama);
Write(‘Pernahkah melahirkan ?(Y/T) : ‘);
readln(jawab);
if (jawab =’Y’) or (jawab=’y’) then tokka := true
else tokka := false;
if (tokka= False) then
Writeln(‘Berarti anda pria’)
else
Writeln(‘Berarti anda wanita’)
End.
13. Program untuk membedakan bilangan ganjil dan genap
Program ContohGanjilGenap;
Uses CRT;
var i : Byte;
ganjil, genap : Byte;
Begin
Clrscr;
ganjil := 0;
genap := 0;
For i:= 1 to 100 do
Begin
if (i mod 2)=0 Then
Inc(genap)
Else
Inc (ganjil);
End;
Writeln(‘Jumlah bilangan genap : ‘,genap);
Writeln(‘Jumlah bilangan ganjil : ‘,ganjil);
Readln;
End.
14. Program untuk membedakan bilangan ganjil dan genap
Program gangen;
uses crt;
var
bil : integer;
jumgen, jumgan : Integer;
i : byte;
Label ulang;
begin
jumgen := 0;
jumgan := 0;
i := 1;
ulang:
write(‘Masukkan bila ke-‘,i,’ : ‘); readln(bil);
if (bil mod 2 = 0) then
jumgen := jumgen+1
else
jumgan := jumgan+1;
if (i<10) then
begin
inc(i);
goto ulang;
end else
Begin
Writeln(‘Jumlah bilangan genap : ‘,jumgen);
Writeln(‘Jumlah bilangan ganjil : ‘, jumgan);
halt(1);
end;
end.
15. Program menggunakan label
{ Deklarasi Label }
Program Contoh_1;
Uses Crt;
Label A;
Begin
Clrscr;
a:
Writeln(‘Belajar Pascal’);
goto A;
End.
16. Program untuk mengkonversi waktu
Program BagiDIV;
Uses CRT;
var jam, menit, detik : Integer;
jlhdetik : integer;
Begin
ClrScr;
Write(‘Jam : ‘); Readln(jlhdetik);
jam := jlhdetik div 3600;
menit := (jlhdetik mod 3600) div 60;
detik := (jlhdetik mod 3600) mod 60;
Writeln(‘Jam : ‘, jam);
Writeln(‘Menit : ‘, menit);
Writeln(‘Detik : ‘, detik);
Readln;
End.
17. Program menggunakan perintah MOD
Program Modulus;
Uses CRT;
var i : Byte;
Begin
Clrscr;
for i:=1 to 10 do
Writeln(i,’ mod 3 = ‘, i mod 3);
Readln;
End.
18. Program Password
Uses CRT;
Label 5;
var kata: string[25];
i : integer;
Begin
Clrscr;
i := 1;
Repeat
Write(‘Anda Kuliah Dimana ? :’);
Readln(kata);
if i = 3 Then
Begin
Clrscr;
Writeln(‘Bye-bye’);
Goto 5;
End
Else
i := i+1;
Until Kata=’BD';
Writeln(‘Pasword anda benar’);
5 :
End.
19. Program yang menggunakan sejumlah perintah dengan menu pilihan
uses crt;
var
jurusan, kelas, cc : string;
pil, kls : byte;
totharga, harga : longint;
jlh : integer;
begin
clrscr;
writeln(‘Pilih Tujuan’);
writeln(‘————–‘);
writeln(‘1.Jakarta’);
writeln(‘2.Yogya’);
writeln(‘3.Surabaya’);
writeln(‘————-‘);
write(‘Pilih jurusan : ‘); readln(pil);
writeln;
Writeln(‘Pilih Kelas : ‘);
Writeln(‘1. Eksekutif’);
Writeln(‘2. Bisnis’);
Writeln(‘3. Ekonomi’);
writeln;
Write(‘Pilihan Anda : ‘); readln(kls);
Write(‘Jumlah tiket : ‘); readln(jlh);
if (pil=1) then
begin
cc:=’Jakarta';
case kls of
1 : begin
kelas := ‘Eksekutif';
harga := 70000;
totharga := harga * jlh;
end;
2 : begin
kelas := ‘Bisnis';
harga := 40000;
totharga := harga * jlh;
end;
3 : begin
kelas := ‘Ekonomi';
harga := 10000;
totharga := harga * jlh;
end;
else begin
kelas := ‘tidak jelas';
harga :=0;
totharga := harga * jlh;
end;
end;
end else
if (pil =2) then
begin
cc:=’Yogyakarta';
case kls of
1 : begin
kelas := ‘Eksekutif';
harga := 80000;
totharga := harga * jlh;
end;
2 : begin
kelas := ‘Bisnis';
harga := 50000;
totharga := harga * jlh;
end;
3 : begin
kelas := ‘Ekonomi';
harga := 20000;
totharga := harga * jlh;
end;
else begin
kelas := ‘tidak jelas';
harga :=0;
totharga := harga * jlh;
end;
end
end else
if (pil =3) then
begin
cc:=’Surabaya';
case kls of
1 : begin
kelas := ‘Eksekutif';
harga := 90000;
totharga := harga * jlh;
end;
2 : begin
kelas := ‘Bisnis';
harga := 60000;
totharga := harga * jlh;
end;
3 : begin
kelas := ‘Ekonomi';
harga := 30000;
totharga := harga * jlh;
end;
else begin
kelas := ‘tidak jelas';
harga :=0;
totharga := harga * jlh;
end;
end;
end else
begin
cc := ‘Tidak jelas';
kelas := ‘Tidak jelas';
harga := 0;
totharga := harga * jlh;
end;
writeln;
Writeln(‘Tujuan : ‘, cc);
Writeln(‘Kelas : ‘, kelas);
Writeln(‘Harga pertiket : Rp.’,harga);
Writeln(‘Harga Total : Rp.’,totharga);
readln;
end.
20. Program untuk membuat menu pilhan
Program Pilihan;
Uses Crt;
Var
pil, i : byte;
Bil, JumBilGjl, JumBilGnp, BilBes, BilKec : Integer;
Jen_kel, Hobby, Sifat : String;
piljen, pilhob : byte;
Label UlangGanGen, UlangKecBes, Ulang;
Begin
Ulang :
Clrscr;
Textcolor(15);
Writeln(‘Menu Pilihan : ‘);
Writeln(‘1. Tampil semua bil ganjil dan genap sekaligus dari 10 kali input data’);
Writeln(‘2. Tampil bil yang terbesar dan terkecil sekaligus dari 10 kali input data’);
Writeln(‘3. Tampil sifat seseorang berdasarkan input data’);
Writeln(‘4. Keluar’);
Writeln;
Write(‘Masukkan pilihan Anda : ‘); Readln(pil);
Case pil of
1 : Begin
(* Menampilkan semua bilangan ganjil dan genap
sekaligus dari 10 kali input data *)
JumBilGjl := 0; JumBilGnp := 0; i := 1;
UlangGanGen :
Write(‘Masukkan bilangan ke-‘, i , ‘ : ‘); Readln (bil);
If (bil mod 2 = 0) then
JumBilGnp := JumBilGnp + 1
Else
JumBilGjl := JumBilGjl + 1;
If (i BilBes) then
Begin
BilBes := bil;
If (bil < BilKec) then
BilKec := bil;
End Else
If (bil<BilKec) Then
BilKec := bil;
If (ib Then
if a>c Then
besar :=a
Else besar := c
Else If b>c Then
besar := b
Else besar := c;
Writeln(‘Bilangan a,b,c : ‘, a,’, ‘,b,’, ‘,c);
Writeln(‘Bilangan terbesar : ‘, besar);
Readln;
End.
22. Program pengolahan data
Program SoalNo2;
Uses CRT;
Var i : Byte;
Begin
ClrScr;
i:=10;
while (i >= 1) Do
Begin
If i mod 2 = 1 Then
Begin
Write(i,’ ‘);
if i= 5 Then
exit
End;
Dec(i);
End;
Readln;
End.
23. Program pengolahan data
Program SoalNo3;
Uses CRT;
var NIM : String[9];
Nm : String[25];
nh : Char;
tgs, mid, fnl, tot : Real;
Begin
ClrScr;
Write(‘NIM : ‘); Readln(NIM);
Write(‘Nama : ‘); Readln(Nm);
Write(‘Tugas : ‘); Readln(tgs);
Write(‘MID : ‘); Readln(mid);
Write(‘Final : ‘); Readln(fnl);
tot := 0.2*tgs + 0.3*Mid + 0.5*fnl;
If tot >= 80 Then nh := ‘A’ Else
If tot >= 70 Then nh := ‘B’ Else
If tot >= 51 Then nh := ‘C’ Else
If tot >= 41 Then nh := ‘D’ Else
nh := ‘E';
Clrscr;
Writeln(‘ DAFTAR NILAI MAHASISWA’);
Writeln(‘ JURUSAN INFORMATIKA’);
Writeln;
Write(‘NIM Mahasiwa : ‘,NIM);
Writeln(‘ Nama Mahasiswa : ‘,Nm);
Writeln(‘Nilai Tugas : ‘,tgs:3:2);
Writeln(‘Nilai Mid Test : ‘,mid:3:2);
Writeln(‘Nilai final Test : ‘, fnl:3:2);
Write(‘Total Nilai : ‘,tot:3:2);
Writeln(‘ Nilai Huruf : ‘,nh);
Readln;
End.
24. Program pengolahan data
Program Sore1;
Uses CRT;
Var a,b,c,d, kecil : Integer;
Begin
ClrScr;
Write(‘Harga a : ‘); Readln(a);
Write(‘Harga b : ‘); Readln(b);
Write(‘Harga c : ‘); Readln(c);
d:= c; c := b; b := a; a := d;
if a<b Then
if a<c Then
kecil :=a
Else kecil := c
Else If b<c Then
kecil := b
Else kecil := c;
Writeln(‘Bilangan a,b,c : ‘, a,’, ‘,b,’, ‘,c);
Writeln(‘Bilangan terkecil : ‘, kecil);
Readln;
End.
25. Program pengolahan data
Program Sore2;
Uses CRT;
Var i : Byte;
Begin
ClrScr;
i:=1;
while (i =3.00) then
Writeln(‘Anda berhasil lulus’)
else
Writeln(‘Anda perlu belajar lebih giat’)
Readln;
End.
31. Program untuk pergeseran BIT
Program BitWise;
Uses CRT;
Begin
ClrScr;
Writeln(4 shl 1);
Readln;
end.
32. Program untuk pergeseran BIT
Program BitWise;
Uses CRT;
Var x, y : Integer;
Begin
ClrScr;
Write(‘Harga x : ‘); Readln(x);
Write(‘Harga y : ‘); Readln(y);
Writeln(‘x shr y = ‘,x shr y);
Writeln(‘x shl y = ‘,x shl y);
Readln;
End.
33. Program yang menggunakan tipe data WORD
Program ContohWord;
Uses CRT, Dos;
Var hh,mm,ss,ns : Word;
i: byte;
Begin
ClrScr;
Settime(0,0,0,0);
for i := 1 to 10 do
Writeln(‘i = ‘,i);
gettime(hh,mm,ss,ns);
Writeln(hh:3,mm:3,ss:3,ns:3);
Readln;
End.
34. Program menggunakan Array
Program BalikArray;
Uses CRT;
Var a : array[1..25] of char;
temp : char;
i,n : byte;
Begin
Clrscr;
Writeln(‘Masukkan Nilai Array’);
for i:= 1 to 5 do
Begin
Write(‘a[‘,i,’]= ‘); Readln(a[i]);
End;
clrscr;
for i := 1 to 5 do
Write(a[i],’ ‘);
Writeln;
i:=1; n:=5;
While (i<=n) do
Begin
temp := a[i];
a[i] := a[n];
a[n] := temp;
inc(i);
dec(n);
End;
for i:=1 to 5 do
Write(a[i],’ ‘);
Readln;
End.
Latihan Array :
35. typing and then run
Program Array_1D_0;
Uses CRT;
Var
n,i : byte;
a : array [1..500] of real;
Begin
clrscr;
write(‘Masukkan banyak elemen data : ‘); readln(n);
(* bagian ini untuk memasukkan elemen data array
melalui keyboard *)
writeln;
writeln(‘Data-data anda yang akan diinput melalui keyboard’);
for i := 1 to 50 do
write(chr(205));
writeln;
for i := 1 to n do
begin
write(‘Data yang ke-‘,i, ‘ = ‘); readln(a[i]);
end;
(* bagian ini untuk mencetak data ke layar *)
writeln;
writeln(‘Data-data anda yang telah diinput sebelumnya’);
for i := 1 to 50 do
write(chr(205));
writeln;
for i := 1 to n do
writeln(‘Data yang ke-‘,i, ‘ = ‘, a[i]:4:2);
readln;
End.
36. Typing and then Run
Program Array_1D_1;
Uses CRT;
Var
n,i : byte;
a,b : array [1..500] of real;
Begin
clrscr;
write(‘Masukkan banyak elemen data : ‘); readln(n);
(* bagian ini untuk memasukkan elemen data array
melalui keyboard *)
writeln;
writeln(‘Data-data anda yang akan diinput melalui keyboard’);
for i := 1 to 50 do
write(chr(205));
writeln;
for i := 1 to n do
begin
write(‘Data A[‘,i, ‘] = ‘); readln(a[i]);
write(‘Data B[‘,i, ‘] = ‘); readln(b[i]);
end;
(* bagian ini untuk mencetak data ke layar *)
writeln;
writeln(‘Data-data anda yang telah diinput sebelumnya’);
for i := 1 to 50 do
write(chr(205));
writeln;
for i := 1 to n do
begin
write(‘A[‘, i, ‘] = ‘ , a[i]:4:2, ‘ ‘);
writeln(‘B[‘, i, ‘] = ‘ , b[i]:4:2);
end;
readln;
End.
37. Typing and then Run
Program Array_1D_1_1;
Uses CRT;
Var
n,i : byte;
a,b,c : array [1..500] of real;
Begin
clrscr;
write(‘Masukkan banyak elemen data : ‘); readln(n);
(* bagian ini untuk memasukkan elemen data array
melalui keyboard *)
writeln;
writeln(‘Data-data anda yang akan diinput melalui keyboard’);
for i := 1 to 50 do
write(chr(205));
writeln;
for i := 1 to n do
begin
write(‘Data A[‘,i, ‘] = ‘); readln(a[i]);
write(‘Data B[‘,i, ‘] = ‘); readln(b[i]);
write(‘Data C[‘,i, ‘] = ‘); readln(c[i]);
end;
(* bagian ini untuk mencetak data ke layar *)
writeln;
writeln(‘Data-data anda yang telah diinput sebelumnya’);
for i := 1 to 50 do
write(chr(205));
writeln;
for i := 1 to n do
begin
write(‘A[‘, i, ‘] = ‘ , a[i]:4:2, ‘ ‘);
write(‘B[‘, i, ‘] = ‘ , b[i]:4:2, ‘ ‘);
writeln(’C[‘, i, ‘] = ‘ , c[i]:4:2);
end;
readln;
End.
38. Typing and then Run
Program Input_Array_1D;
Uses CRT;
Var
n,i : byte;
a,b : array [1..500] of real;
Begin
clrscr;
write(‘Masukkan banyak elemen data : ‘); readln(n);
(* bagian ini untuk memasukkan elemen data array
melalui keyboard *)
writeln;
writeln(‘Data-data anda yang akan diinput melalui keyboard’);
for i := 1 to 50 do
write(chr(205));
writeln;
(* membaca data dengan menentukan posisi input *)
i := 1;
while (i<=n) do
begin
gotoxy(2, 4+i); write(‘Data A[‘,i, ‘] = ‘); readln(a[i]);
gotoxy(25,4+i); write(‘Data B[‘,i, ‘] = ‘); readln(b[i]);
i := i+1;
end;
(* bagian ini untuk mencetak data ke layar *)
writeln;
writeln(‘Data-data anda yang telah diinput sebelumnya’);
for i := 1 to 50 do
write(chr(205));
writeln;
for i := 1 to n do
begin
write(‘A[‘, i, ‘] = ‘ , a[i]:4:2, ‘ ‘);
writeln(‘B[‘, i, ‘] = ‘ , b[i]:4:2);
end;
readln;
End.
39. Typing and then Run
Program Jumlah_Array_1D;
Uses CRT;
Var
n,i : byte;
a,b,c : array [1..500] of real;
Begin
clrscr;
write(‘Masukkan banyak elemen data : ‘); readln(n);
(* bagian ini untuk memasukkan elemen data array
melalui keyboard *)
writeln;
writeln(‘Data-data anda yang akan diinput melalui keyboard’);
for i := 1 to 50 do
write(chr(205));
writeln;
i := 1;
while (i<=n) do
begin
gotoxy(2, 4+i); write(‘Data A[‘,i, ‘] = ‘); readln(a[i]);
gotoxy(25,4+i); write(‘Data B[‘,i, ‘] = ‘); readln(b[i]);
i := i+1;
end;
(* bagian ini untuk melakukan penjumlahan Array A dan B
dan disimpan di C’ *)
for i := 1 to n do
c[i] := a[i] + b[i];
(* bagian ini untuk mencetak data ke layar *)
writeln;
writeln(‘Hasil penjumlahan dari data yang telah diinput sebelumnya’);
for i := 1 to 58 do
write(chr(205));
writeln;
for i := 1 to n do
begin
write(‘A[‘, i, ‘] = ‘ , a[i]:4:2, ‘ + ‘);
write(‘B[‘, i, ‘] = ‘ , b[i]:4:2, ‘ = ‘);
writeln(c[i]:5:2);
end;
readln;
End.
40. Typing and then Run
Program Kurang_Array_1D;
Uses CRT;
Var
n,i : byte;
a,b,c : array [1..500] of real;
Begin
clrscr;
write(‘Masukkan banyak elemen data : ‘); readln(n);
(* bagian ini untuk memasukkan elemen data array
melalui keyboard *)
writeln;
writeln(‘Data-data anda yang akan diinput melalui keyboard’);
for i := 1 to 50 do
write(chr(205));
writeln;
i := 1;
while (i<=n) do
begin
gotoxy(2, 4+i); write(‘Data A[‘,i, ‘] = ‘); readln(a[i]);
gotoxy(25,4+i); write(‘Data B[‘,i, ‘] = ‘); readln(b[i]);
i := i+1;
end;
(* bagian ini untuk melakukan penjumlahan Array A dan B
dan disimpan di C’ *)
for i := 1 to n do
c[i] := a[i] – b[i];
(* bagian ini untuk mencetak data ke layar *)
writeln;
writeln(‘Hasil pengurangan dari data yang telah diinput sebelumnya’);
for i := 1 to 58 do
write(chr(205));
writeln;
for i := 1 to n do
begin
write(‘A[‘, i, ‘] = ‘ , a[i]:4:2, ‘ – ‘);
write(‘B[‘, i, ‘] = ‘ , b[i]:4:2, ‘ = ‘);
writeln(c[i]:5:2);
end;
readln;
End.
41. Typing and then Run
Program Jumlah_Matriks_2D;
Uses CRT;
Var
n,i,j, posx : byte;
posa, posb, posc : byte;
a,b,c : array [1..10,1..10] of real;
Begin
clrscr;
writeln(‘Masukkan ukuran ordo matriks maksimum 2′);
write(‘Masukkan ukuran ordo : ‘); readln(n);
(* bagian ini untuk memasukkan elemen data array
melalui keyboard *)
writeln;
writeln(‘Data matriks yang akan diinput melalui keyboard’);
(* untuk membuat garis *)
for i := 1 to 50 do
write(chr(205));
writeln;
(* memasukkan Array A *)
i := 1;
while (i<=n) do
begin
posx := 2;
j := 1;
while (j<=n) do
begin
gotoxy(posx, 5+i); write(‘Data A[‘,i, ‘,’ ,j, ‘] = ‘);
readln(a[i,j]);
posx := posx + 17;
j := j+1;
end;
i := i+1;
end;
(* memasukkan Array B *)
i := 1;
while (i<=n) do
begin
posx := 40;
j := 1;
while (j<=n) do
begin
gotoxy(posx, 5+i); write(‘Data B[‘,i, ‘,’ ,j, ‘] = ‘);
readln(b[i,j]);
posx := posx + 17;
j := j+1;
end;
i := i+1;
end;
(* bagian ini untuk melakukan penjumlahan Array A dan B
dan disimpan di C’ *)
for i := 1 to n do
for j := 1 to n do
c[i,j] := a[i,j] + b[i,j];
(* bagian ini untuk mencetak data ke layar *)
writeln;
writeln(‘Hasil penjulahan dari data yang telah diinput sebelumnya’);
for i := 1 to 56 do
write(chr(205));
writeln;
i := 1;
while (i<=n) do
begin
posa := 2;
posb := 23;
posc := 47;
j := 1;
while (j<=n) do
begin
gotoxy(posa, 10+i); writeln(a[i,j]:5:0);
gotoxy(posb, 10+i); writeln(b[i,j]:5:0);
gotoxy(posc, 10+i); writeln(c[i,j]:5:0);
posa := posa + 6;
posb := posb + 6;
posc := posc + 8;
j := j+1;
end;
i := i+1;
end;
readln;
End.
42. Typing and then Run
Program Perkalian_Matriks_2D;
Uses CRT;
Var
n,i,j,k, posx : byte;
posa, posb, posc : byte;
a,b,c : array [1..10,1..10] of real;
Begin
clrscr;
writeln(‘Masukkan ukuran ordo matriks maksimum 2′);
write(‘Masukkan ukuran ordo : ‘); readln(n);
(* bagian ini untuk memasukkan elemen data array
melalui keyboard *)
writeln;
writeln(‘Data matriks yang akan diinputkan melalui keyboard’);
(* untuk membuat garis *)
for i := 1 to 50 do
write(chr(205));
writeln;
(* memasukkan Array A *)
i := 1;
while (i<=n) do
begin
posx := 2;
j := 1;
while (j<=n) do
begin
gotoxy(posx, 5+i); write(‘Data A[‘,i, ‘,’ ,j, ‘] = ‘);
readln(a[i,j]);
posx := posx + 17;
j := j+1;
end;
i := i+1;
end;
(* memasukkan Array B *)
i := 1;
while (i<=n) do
begin
posx := 40;
j := 1;
while (j<=n) do
begin
gotoxy(posx, 5+i); write(‘Data B[‘,i, ‘,’ ,j, ‘] = ‘);
readln(b[i,j]);
posx := posx + 17;
j := j+1;
end;
i := i+1;
end;
(* bagian ini untuk melakukan perkalian Array A dan B
dan disimpan di C’ *)
for i := 1 to n do
for j := 1 to n do
begin
c[i,j] := 0;
for k :=1 to n do
c[i,j] := c[i,j] + a[i,k] * b[k,j];
end;
(* bagian ini untuk mencetak data ke layar *)
writeln;
writeln(‘Hasil penjulahan dari data yang telah diinput sebelumnya’);
for i := 1 to 56 do
write(chr(205));
writeln;
i := 1;
while (i<=n) do
begin
posa := 2;
posb := 23;
posc := 47;
j := 1;
while (j<=n) do
begin
gotoxy(posa, 10+i); writeln(a[i,j]:5:0);
gotoxy(posb, 10+i); writeln(b[i,j]:5:0);
gotoxy(posc, 10+i); writeln(c[i,j]:5:0);
posa := posa + 6;
posb := posb + 6;
posc := posc + 8;
j := j+1;
end;
i := i+1;
end;
readln;
End.