Makalah akhir semester
Mata kuliah,pemrograman pascal
AMIK MAHAPUTRA
PENYUSUN:
NAMA PENYUSUN:
TRI SUSANTO (11 11 0115)
JURUSAN : TEKNIK INFORMATIKA
KELAS :
11 MI
5 (lab B)
MATA KULIAH :
PEMROGRAMAN PASCAL
DOSEN :
EDIS SAHPUTRA PANE M.com
“PEMBELAJARAN PEMROGRAMAN
DALAM BAHASA PASCAL”
KATA PENGANTAR
Segala puji bagi Tuhan yang telah menolong hamba-Nya menyelesaikan
makalah ini dengan penuh kemudahan. Tanpa pertolongan-Nya mungkin kami tidak
akan sanggup menyelesaikan makalah ini dengan baik.
Makalah ini disusun agar pembaca dapat mengetahui beberapa jenis program dalam bahasa pascal. Yang disusun untuk memudahkan bagi yang memakai, serta bagi pemula yang baru memulai belajar pemrog.bahasa pascal. Oleh karena itu makalah ini kami susun agar bisa membantu dalam pembelajaran program tersebut. Selain itu makalah ini kami susun sebagian besar browsing melalui internet,dengan mengakses beberapa situs pembelajaran ilmu komputer, Makalah ini kami susun dengan berbagai rintangan, Baik itu yang datang dari diri kami masing-masing maupun yang datang dari luar. Namun dengan penuh kesabaran dan terutama pertolongan dari Tuhan Y.M.E akhirnya makalah ini dapat terselesaikan.
Makalah ini memuat tentang “Pembelajaran Pemrograman Dalam Bahasa Pascal” dan sengaja dipilih karena dalam pembelajaran permrograman harus disertai pengetahuan dasar terlebih dahulu.
Semoga makalah ini dapat memberikan wawasan yang lebih luas kepada pembaca. Walaupun makalah ini memiliki kelebihan dan kekurangan. Kami hanya bisa mengatakan mohon maaf sebesar-besarnya,
Makalah ini disusun agar pembaca dapat mengetahui beberapa jenis program dalam bahasa pascal. Yang disusun untuk memudahkan bagi yang memakai, serta bagi pemula yang baru memulai belajar pemrog.bahasa pascal. Oleh karena itu makalah ini kami susun agar bisa membantu dalam pembelajaran program tersebut. Selain itu makalah ini kami susun sebagian besar browsing melalui internet,dengan mengakses beberapa situs pembelajaran ilmu komputer, Makalah ini kami susun dengan berbagai rintangan, Baik itu yang datang dari diri kami masing-masing maupun yang datang dari luar. Namun dengan penuh kesabaran dan terutama pertolongan dari Tuhan Y.M.E akhirnya makalah ini dapat terselesaikan.
Makalah ini memuat tentang “Pembelajaran Pemrograman Dalam Bahasa Pascal” dan sengaja dipilih karena dalam pembelajaran permrograman harus disertai pengetahuan dasar terlebih dahulu.
Semoga makalah ini dapat memberikan wawasan yang lebih luas kepada pembaca. Walaupun makalah ini memiliki kelebihan dan kekurangan. Kami hanya bisa mengatakan mohon maaf sebesar-besarnya,
terima kasih.
Penyusun. TRI SUSANTO
Penyusun. TRI SUSANTO
DAFTAR
ISI
1.1 PENGETAHUAN
PASCAL…………………………………………………...
1.2 PENULISAN
PROGRAM PASCAL………………………………………….
1.3 JUDUL
PROGRAM…………………………………………………………....
1.4 BAGIAN DEKLARASI………………………………………………………..
1.5 CARA
MENGOPRASIKAN TURBO PASCAL ……………………………
1.6 INPUT DAN
OUTPUT………………………………………………………..
3.3 TAMPILAN
TERFORMAT………………………………………………….
3.4 PERULANGAN………………………………………………………………..
4.1
PERULANGAN FOR
4.2
PENGULANGAN WHILE DO
4.3
PERULANGAN REPEAT UNTIL
3.5 RESUME PROGRAM PASCAL……………………………………………..
3.6
FLOWCHART………………………………………………………………….
PENUTUP………………………………………………………………………......
DAFTAR
PUSTAKA………………………………………………………………
1.1 PENGETAHUAN PASCAL
STRUKTUR PROGRAM PASCAL
Struktur dari suatu
program pascal terdiri dari sebuah judul program ( program heading ) dan suatu
blok program (program blok ) atau badan program ( body program ). Struktur
program pascal dapat terdiri dari :
1. Judul program
2. Blok program
a. Bagian deklarasi
- deklarasi label
- defenisi konstanta
- definisi tipe
- deklarasi variabel
- deklarasi prosedur
- deklarasi fungsi
- deklarasi label
- defenisi konstanta
- definisi tipe
- deklarasi variabel
- deklarasi prosedur
- deklarasi fungsi
b. Bagian pernyataan
1.2 PENULISAN PROGRAM PASCAL
Progaram pascal
tidak mengenal aturan penulisan dikolom tertentu, jadi boleh ditulis mulai
kolom berapapun. Penulsan statement – statement pada contoh program yang
menjorok masuk beberapa kolom tidak mempunyai pengaruh diproses, hanya
dimaksudkan supaya mempermudah pembacaan perogram, sehingga akan lebih terlihat
bagian – bagiannya.
Contoh penulisan program pascal
yang bebas :
Begin
Writeln(’belajar pascal’);
Wrirteln(’.................’)
End.
Contoh penulisan pascal yang
tidak dianjurkan :
Begin writeln(’belajar pscal’);
writeln(’..............’); end;
Contoh penulisan pascal yang
dianjurkan :
Begin
Writeln(’belajar pascal’);
Writeln(’......................’);
Writeln(’belajar pascal’);
Writeln(’......................’);
End;
1.3 JUDUL PROGRAM
Judul program bila ditulis, harus
terletak pada awal dari program dan
diakhiri dengan titik koma.
Example :
Program contoh;
Begin
Wirte(’..........’);
End;
1.4 BAGIAN DEKLARASI
Bagian deklarasi
digunakan bila didalam program menggunakan pengenal (indentifier). Indentifier
dapat berupa label, konstanta, tipe, variabel, prosedur dan fungsi. Kalau suatu
program menggunakan identifier, pascal menuntut supaya indentifier tersebut
dikenalkan terlebih dahulu sebelum digunakan, yaitu dideklarasikan terlebih
dahulu pada agian ini.
1.4.1 Deklarasi Konstanta
Deklarasi yang
menggunakan indentifier yang berisi nilai-nilai konstanta. Definisi konstanta
diawali dengan kata cadangan Const diikuti dengan kumpulan indentifier yang
diberi suatu nilai konstanta.
Example : progarm
contoh_konstanta;
Const
Panang = 10;
Lebar = 5;
Panang = 10;
Lebar = 5;
Begin...............
End.
1.4.2 Deklarasi variabel
Deklarasi yang
mendefinisikan indentifier yang berisi data yag dapat berubah-ubah nilainya
didalam program. Kata cadangan Var digunakan sebagai judul didalam bagian
deklarasi variabel dan diikuti oleh satu atau lebih indentifier yang dipisahkan
koma, diikuti dengan titik dua dan tipr dari datanya serta diakhiri dengan
titik koma.
Example : Progaram
contoh_variabel;
Var
Toatal,
gaji,tunjangan : real;
Menikah : boolean;
Keterangan : string[36];
Menikah : boolean;
Keterangan : string[36];
Begin.........................
End.
1.4.3 Deklarasi tipe
Deklarasi yang mendenifisikan
tipr data dari indentifier yang
digunakan dalam progarm. Tipe
data dalam pascal terdiri dari :
1. Tipe data
sederhana, terdiri dari :
a. Tipe data standar :
- integer
a. Tipe data standar :
- integer
- real
- char
- string
- Boolean
b. Tipe data didefinisikan
pemakai :
- enumerated atau scalartype
- subrange type
- enumerated atau scalartype
- subrange type
2. Tipe data
terstruktur, terdiri dari :
a. Array
b. Reccod
c. File
d. Set
a. Array
b. Reccod
c. File
d. Set
3. Tipe data penunjuk ( pointer
type data )
Example : Type
Pecahan = real;
logika = boolean;
bulat = integer;
huruf = string [25]
logika = boolean;
bulat = integer;
huruf = string [25]
begin
.............
End.
1.4.4 Deklarasi label
Deklarasi yang
menggunakan statemet Goto untuk meloncat ke suatu statement yang tertentu, maka
dibutuhkan suatu label pada statement yang dituju. Mendeklarasikan label diaali
dengan kata cadangan label diikuti oleh kumpulan indentifier label dengan
dipisahkan oleh koma dan diakhiri dengan titik koma.
Example: progarm contoh_label;
Labe 100,selesai;
Begin
Labe 100,selesai;
Begin
...............
Goto 100
...............
100:
....................
Goto Selesai
....................
Selesai :
End.
Selesai :
End.
1.5 CARA MENGOPRASIKAN TURBO
PASCAL
Progarm TURBO
PASCAL versi 5.0 hanya dapat dioperasikan pada format sistem operasi DOS, maka
apabila kita menggunakan sitem operasi WINDOWS, baik Windows 59,98,NT,ataupun
Windows 2000 maka kita harus keluar dulu dari sistem operasi Windows tersebut
dan masuk ke sistem operasi DOS dengan cara :
- Klik icon Star pada menu
Windows
- Pilih Shutdown
- Pilih Restart to MS DOS Promt
- Pilih Shutdown
- Pilih Restart to MS DOS Promt
Setelah mauk ke DOS maka untuk
mengoperasikan Turbo Pascal
caranya adalah sebagai berikut :
- A : > Ketik Turbo lalu tekan
tombol enter
- Bila program pascal ada
dihardisk maka A prompt diganti menjadi C
prompt, atau drive
Lainnya bila drive hardisknya
lebih dari satu ( misalkan D, E dst ).
Lalu ketikkan Turbo
Pada direktori dimana program
pascal tersebut berada. Misalkan ada
dalam direktori
Pascal, maka kita harus ketikkan
perintah sebagai berikut : C : >
Pascal\Turbo lalu tekan
Tombol enter.
- Setelah tampil menu Turbo
Pascal tekan tombol Esc.
Terlihat tampilan menu yang
terdiri dari :
- FILE : untuk mengambil program
(Load), membuat baru (New),
menyimpan (Save),
Merekam program ke File (Write
to), menampilkan direktori
(Directory), merubah
Direktori (Change Dir),
menjalankan command DOS (OS Shell) atau
mengakhiri/keluar
Dari program
(Quit).
- EDIT : untuk membuat atau mengetik program
- RUN ( Ctrl F9) : untuk menjalankan program
- EDIT : untuk membuat atau mengetik program
- RUN ( Ctrl F9) : untuk menjalankan program
- COMPILE ( Alt F9 ) : untuk
mengkompilasi program pascal menjadi
program yang ber-
Extention EXE.
- OPTION : untuk mengatur atau
menentukan kembali bagaimana
integrated environment
Bekerja.
- DEBUG dan BREAK / WATCH : untuk
melacak program.
Berikut ini adalah berbagai macam
tombol beserta fungsinya yang digunakan
pascal :
1.6 INPUT DAN OUTPUT
3.1 MEMASUKAN DATA
Turbo pascal menyediakan prosedur
untuk mamasukan data yaitu
prosedur standar :
READ
→ Untuk memasukan data dalam 1
baris.
READLN → Untuk memasukan data
perbaris ( pada baris yang berbeda ),
artinya menekan
Tombol enter maka akan ganti
baris, sedangkan pada READ
tidak.
3.2 MENAMPILKAN HASIL
Untuk menampilkan hasil dengan
bahasa pascal digunakan prosedur
standar :
WRITE
→ Untuk menapilkan hasil tanpa
baris,dimana tampilan berikutnya
akan disambung
Pada baris yang sama.
WRITELN → Untuk menapilkan hasil
dengan ganti baris, dimana tampilan
berikutnya berada
Pada baris yang berikutnya pula.
Example program :
1. Begin
Writeln (’saya belajar pascal’);
Writeln ( ’............................’) ;
Readln;
Writeln (’saya belajar pascal’);
Writeln ( ’............................’) ;
Readln;
End.
2. program input ;
Uses crt;
Var A,B,C : Byte;
Uses crt;
Var A,B,C : Byte;
Begin
Clrscr ;
Write (‘masukan nilai A=’);
Readln (A);
Write (‘masukan nilai B=’);
Readln (B);
C:=A+B;
Writeln (‘A+B=’,C);
Writeln (A,’+’,B,’=’,C);
Readln ;
Clrscr ;
Write (‘masukan nilai A=’);
Readln (A);
Write (‘masukan nilai B=’);
Readln (B);
C:=A+B;
Writeln (‘A+B=’,C);
Writeln (A,’+’,B,’=’,C);
Readln ;
End.
3. Program Output1;
Var Nama : String [15];
Begin
Nama :=’vidi’;
Write(’Nama :’);
Write(Nama);
Readln;
Nama :=’vidi’;
Write(’Nama :’);
Write(Nama);
Readln;
End.
4.Progaram Output2;
Var huruf1,huruf2 : char;
Begin
Huruf :=’A’;
Huruf :=’B’;
Writeln(huruf1,huruf2);
Readln;
Huruf :=’A’;
Huruf :=’B’;
Writeln(huruf1,huruf2);
Readln;
End.
5. Progarm output3;
Var string1,string2 : string[10];
Begin
String1 :=’bahasa’;
String2 :=’pascal”;
Writeln(string1,string2);
Readln;
String1 :=’bahasa’;
String2 :=’pascal”;
Writeln(string1,string2);
Readln;
End.
Ketrangan :
Uses crt digunakan untuk memanipulasi
layar teks (windowing,
peletakan cursor dilayar, color
untuk teks, kode extended keyboard, dll). Keuntungan dari penggunaan unitCrt
adalah tambahan kecepatan dan fleksibilitas dari operasi output di layer.
Clrscr adalah fungsi untuk
membersihkan layer layer monitor dari
tampilan-tampilan sebelumnya dan
meletakan kursor di posisi ujung kiri atas dari layer. Prosedur standar ini
bila digunakan harus menyebutkan terlebih dahulu unit standar crt.
Readlnsebelum end titik untuk
membaca garis agar tampilan bisa
rerlihat sebelum balik kembali
kemenu program (untuk berhenti sejenak) sebab setelah di run biasanya pascal
langsung kembali ke menu progarm utama. Pada perintah readln setelah berhenti
sejenak, maka untuk kembali ke program uatama tekan tombol enter.
6. Progarm input_kedua;
Uses crt;
Var C : Char;
Uses crt;
Var C : Char;
B : Boolean;
Begin
Clrscr;
Write (‘Benar atau Salah (B / S)?’);
Readln(C);
B :=(C =’B’);
Writeln(‘yang anda maksyt adalah :’,B);
Readln;
Write (‘Benar atau Salah (B / S)?’);
Readln(C);
B :=(C =’B’);
Writeln(‘yang anda maksyt adalah :’,B);
Readln;
End.
3.3 TAMPILAN TERFORMAT
Walaupun bentuk
default dianggap cukupuntk menapilkan bentuk pada program yang sederhana,
tetapi untuk program aplikasi dibutuhkan bentuk format tertentu yang harus
diatur kemali. Untuk mengatur format tampilan tersebut dipergunakan
parameter-parameter berikut ini.
1. Parameter CH:N
Digunakan untuk membentuk format
tampilan char slebar n karakter
dengan blan dimuka sebanyak n-1.
2. Parameter S:N
Parameter ini digunakan untuk
membentuk format tampilan string dengsan
lebar n karakter.
3. Parameter I:N
Parameter ini digunakan untuk
membentuk format tampilan integer dengan
lebar n digit.
lebar n digit.
4. Parameter R:N
Parameter ini
digunakan untuk membentuk format tampilan nilai numerik
real dengan lebar n
digit rata sebelah kanan.
5. Parameter R:N:M
Parameter ini
digunakan untuk membentuk format tampilan nilai numerik real dengan lebar n
digit rata sebelah kana. Dengan m digit angak dibelakang koma tidak dalam
bentukeksponsial.
6. Parameter B:N
Parametr ini
diginakan untuk membentuk format panggilsn nilaiboolean
trueatau falsedengan
lebar n karakter rata sebelah kanan.
Untuk mengatur
format tampilan dengan prosedur standarwrite
atauwriteln
dipergunakan parameter-parameter.
Exemple:
1.Progaram Otput_terformat1;
Var huruf1,huruf2:Char;
1.Progaram Otput_terformat1;
Var huruf1,huruf2:Char;
Begin
Huruf1:=’A’;
Huruf2:=’B’;
Writeln(huruf1:5,huruf2:4);
Readln;
Huruf1:=’A’;
Huruf2:=’B’;
Writeln(huruf1:5,huruf2:4);
Readln;
End.
2. Progaram Tampilan_terformat2;
Var
string1,string2:string[10];
Begin
String1:=’pascal’;
Writeln(’bahasa’,string1:12);
Readln;
String1:=’pascal’;
Writeln(’bahasa’,string1:12);
Readln;
End.
3.Progarm tampilan_terformat3;
Uses Crt;
Var Ket1:char;
Ket2:string[6];
Ket3:integer;
Ket4:real;
Ket5:Boolean;
Ket2:string[6];
Ket3:integer;
Ket4:real;
Ket5:Boolean;
Begin
Clrscr;
Ket1:=’A’;
Writeln(ket:5);
Ket2:=’pascal’;
Writen(‘bahasa:’,ket2:10);
Ket3:=24200;
Writeln(‘jumlah data:’,ket3:9);
Ket4:=222006;
Writeln(‘nilai real:’,ket4:12);
Writeln(‘nilai real kedua:’,ket4:12:3);
Ket5:=true;
Writeln(‘nilai Boolean:’,ket5:7);
Readln;
Clrscr;
Ket1:=’A’;
Writeln(ket:5);
Ket2:=’pascal’;
Writen(‘bahasa:’,ket2:10);
Ket3:=24200;
Writeln(‘jumlah data:’,ket3:9);
Ket4:=222006;
Writeln(‘nilai real:’,ket4:12);
Writeln(‘nilai real kedua:’,ket4:12:3);
Ket5:=true;
Writeln(‘nilai Boolean:’,ket5:7);
Readln;
End.
3.4 Pengaturan Letak Dilayar
dengan prosedur GOTOXY
prosedur standar
ini digunakan untuk meletakan cursor di posisi layer yang ditunjukan oleh nilai
XPOS dan YPOS.XPOS menunjukan posisi sumbu X (posisi horizontal atau posisi
kkolom diantara kolom 1 sampai dengan kolom 80).nilai YPOS menunjukan posisi
sumbu Y(posisi vertical atau posisi baris, diantara baris 1 sampai dengan baris
25).prosedur standar ini bila digunakan harus melibatkan unit standar crt.
Exemple:
1.progaram tampilan_gotoxy;
Uses crt;
Begin
Clrscr;
Gotoxy(10,15);
Writeln(‘bahasa pascal’);
Readln;
Clrscr;
Gotoxy(10,15);
Writeln(‘bahasa pascal’);
Readln;
End.
3.5 Pengaturan letak dilayar
dengan prosedur delay
Prosedur standar
ini digunakan untuk menghentikan sejenak proses program selama nilai dari
argument tempo, yaitu dalam ukuran waktu millisecond (1/1000 detik), nilai
argumen tempo ini harus dalam bentuk numerik integer, prosedur standar ini bila
digunakan harus melibatkan unit standar crt.
Exemple ;
1.Program tampil_delay
Uses crt;
Begin
Clrscr;
Writeln(‘halo teguh, kamu lagi belajar apa?’);
Delay(5000);
Writeln;
Writeln(’saya lagi belajar praktek pascal’);
Readln;
Clrscr;
Writeln(‘halo teguh, kamu lagi belajar apa?’);
Delay(5000);
Writeln;
Writeln(’saya lagi belajar praktek pascal’);
Readln;
End.
PERULANGAN
Dalam bahasa pascal, dikenal tigs
macam perulangan, yaitu dengan
menggunakan, For, While – Do
danRe pe at..... U nti l .
4.1 PERULANGAN FOR
Perulangan dengan
statemen For digunakan mengulang statemen atau satu blok statemen berulang kali
sejumlah yang ditentukan. Perulangan dengan statemen For dapat berbentuk
perulangan positif, perulangan
negatif, dan perulangan
tersarang.
4.1.1 Perulangan For Positif
Perulangan Positif adalah
perulangan dengan penghitung (counter)
dari kecil ke besar atau dengan
kata lain pertambahannya positif. Perulangan
positif dapat dibentuk dengan
menggunakan statemenFo r- To- Do .
Bentuk umum pengulangan For-Do adalah
:
For < variable
pengontrol>:=<ekspresi1>to<ekspresi2>Do<pernyataan>
Variabel control, ekspresi1,
ekspresi2 harus mempunyai tipe yang sama, yaitu bertipe integer. Pada awal
pengulangan harus terdapat keadaan berikut : ekspresi1<=ekspresi2.
Contoh :
1. Var I: integer;
Begin
For I:=1 to 5 Do
Writeln(‘pascal’);
Readln;
For I:=1 to 5 Do
Writeln(‘pascal’);
Readln;
End.
2. Var I: integer;
Begin
For I:=1 to 5 Do
Begin
Writeln(‘pascal’);
End;
Readln;
End.
Readln;
End.
3. Var I: integer;
Begin
For I:=1 to 5 Do
Begin
Write(I);
Writeln(‘belajar’);
Write(I);
Writeln(‘belajar’);
End;
Readln;
End.
4. Var I: integer;
Begin
For I: integer;
Write(I);
Writeln(‘belajar’);
Readln;
For I: integer;
Write(I);
Writeln(‘belajar’);
Readln;
End.
5. Uses crt;
Var I: Byte;
Begin
Clrscr;
For I:= 1 to 5 Do
Writeln(I);
Writeln(’selesai’);
Readln;
Clrscr;
For I:= 1 to 5 Do
Writeln(I);
Writeln(’selesai’);
Readln;
End.
6. Program
penjumlahan bilangan;
Uses crt;
Var I, awal, akhir, jumlah : word;
Uses crt;
Var I, awal, akhir, jumlah : word;
Begin
Clrscr;
Write(’masukan batas awal :’);readln(awal);
Write(‘masukan batas akhir :’);readln(akhir);
Jumlah :=0;
For I:=awal to akhir do
Jumlah :=jumlah+1;
Writeln(‘jumlah bilangan – bilangan tersebut adalah : ‘ jumlah);
Readln;
Clrscr;
Write(’masukan batas awal :’);readln(awal);
Write(‘masukan batas akhir :’);readln(akhir);
Jumlah :=0;
For I:=awal to akhir do
Jumlah :=jumlah+1;
Writeln(‘jumlah bilangan – bilangan tersebut adalah : ‘ jumlah);
Readln;
End.
7. Program
pengulangan For_to_do;
Uses crt;
Var X : integer;
Uses crt;
Var X : integer;
C,F : real;
Begin
Clrscr;
Writeln(’---------------------------------’);
Writeln(’
Clrscr;
Writeln(’---------------------------------’);
Writeln(’
celcius
fahrenheit ’);
Writeln(’---------------------------------’);
C : = 0;
For X : = 1 to 10 do
Begin
C : = 0;
For X : = 1 to 10 do
Begin
F:=1.8*C+32;
Writeln(C:8:2,F:14:2);
C:=C+0.5;
End;
Writeln(’--------------------------------’);
Readln;
End;
Writeln(’--------------------------------’);
Readln;
End.
Keterangan :
Dibawah perulangan
For X : = 1 to 10 Do terdapat blok program baru yang diawali dengan Begin dan diakhiri
dengan End; Hal ini dikarenakan perulangan For hanya mengulang 1 baris statemen
dibawahnya. Karena perhitungan konversi suhu lebih dari satu baris maka dinuat
blok program baru yang nantinya akan dianggap sebagai satu statemen dari
keseluruhan baris progaram yang terdapat dalam blok program tersebut.
Sub program diawali
dengan Begin dan diakhiri dengan End; ( titik koma) sedangkan program utama
diawali dengan Begin dan diakhiri dengan End. ( ttik ). Dalam program utama
bisa terdapat lebih dari satu sub proghram.
5.1.2 Pengulangan For Negatif
Perulangan negatif
adalah perulangan dengan penghitung (counter)
dari besar ke kecil atau dengan
kata lain pertambahannya negatif. Perulangan negatif dapat dibentuk dengan
menggunakan statemen For- DownTo-Do, dengan bentuk umum :
For <variabel pengontrol>
:= <ekspresi> DownTo <ekspresi2> Do
<pernyataan>
Pada setiap pengulangan, variabel
pengulangan dikurangi 1. pengulangan akan berhenti jika harga variabel
pengontrol sudah lebih kecil dari ekspresi2. pada awal pengulangan, harus
terdapat keadaan berikut:
ekspresi1 >=
ekspresi2
contoh :
1. Program For_Down;
contoh :
1. Program For_Down;
uses crt;
var I : Byte;
begin
clrscr;
for I:=5 downto 1 do
writeln(I);
writeln(’selesai’);
readln;
clrscr;
for I:=5 downto 1 do
writeln(I);
writeln(’selesai’);
readln;
end.
2. Program
Perulangan_for_down;
Uses crt;
Var B : integer;
Begin
Uses crt;
Var B : integer;
Begin
Clrscr;
Writeln(‘-----------------------------------------‘);
Writeln(‘ B B*B
B*B*B 1/B
‘);
Writeln(‘-----------------------------------------‘);
For B:=10 Downto 1 Do
Writeln(B:3,B*B:8,B*B:8,1/B:12:2);
Writeln(‘-----------------------------------------‘);
Readln;
Writeln(‘-----------------------------------------‘);
For B:=10 Downto 1 Do
Writeln(B:3,B*B:8,B*B:8,1/B:12:2);
Writeln(‘-----------------------------------------‘);
Readln;
End.
3.1.3 Perulangan For Tersarang
Pengulangan
tersarang (nested loop) adalah perulangan yang berada
di dalam perulangan yang lainnya.
Perulangan yang lebih dalam akan diproses terlebih dahulu sampai habis,
kemudian perulangan yang lebih luar baru akan bertambah, mengerjakan perulangan
yang lebih dalam lagi mulai dari nilai awalnya dan seterusnya.
Contohnya :
1. Program
pengulangan_tersarang1:
Uses crt;
Var I,J : integer;
Begin
Uses crt;
Var I,J : integer;
Begin
Clrscr;
For I:=1 to 5 do
Begin
For J:=1 to 4 do
Write(I:8,J:5);
Writeln;
For J:=1 to 4 do
Write(I:8,J:5);
Writeln;
End;
Readln;
End.
2. Program
Pengulangan_tersarang2:
Uses crt;
Var I, J, K : integer;
Uses crt;
Var I, J, K : integer;
Begin
Clrscr;
For I:=1 to 5 do
Begin
Clrscr;
For I:=1 to 5 do
Begin
For J:=1 to 4 do
Begin
For K:1 to 3 do
Write(I:8,J:5,K:4);
Writeln;
For K:1 to 3 do
Write(I:8,J:5,K:4);
Writeln;
End;
End;
Readln;
End;
Readln;
End.
3. Program
Tersarang_bintang1;
Uses crt;
Var I, J : integer;
Begin
Uses crt;
Var I, J : integer;
Begin
Clrscr;
For I:=1 to 3 do
Begin
For J:=1 to 5 do
Write(‘*’);
Writeln;
For J:=1 to 5 do
Write(‘*’);
Writeln;
End;
Readln;
End.
4. Program
Tersarang_bintang2:
Uses crt;
Var I, J, K : integer;
Begin
Uses crt;
Var I, J, K : integer;
Begin
Write(’masukan
jumlah bintang:’);readln(I);
For J:=1 to I do
Begin
For K :=1 to J do
Write(’*’);
Writeln;
For K :=1 to J do
Write(’*’);
Writeln;
End;
Readln;
End.
4.2 PENGULANGAN WHILE DO
Struktur
pengulangan While Do menggunakan ekspresi logika untuk menghentikan
pengulangan. Struktur While Do menyatakan bahwa pengulangan akan dilakukan
terus selama syarat terpenuhi. Jadi syarat didalam While Do menyatakan syarat
dilakukan pengulangan.
Bentuk umum struktur While Do :
While <ekspresi
logika>Do<pernyataan>
Contohnya :
1. Var I: integer;
begin
I:=0;
While I<5 Do
Begin
I:=0;
While I<5 Do
Begin
Writeln(I);
I:=I+1;
end;
readln;
end;
readln;
end.
2. Perogram Pengulangan_While_Do;
uses crt;
var Ni, R, T :real;
I, N, J : integer;
uses crt;
var Ni, R, T :real;
I, N, J : integer;
Begin
Clrscr;
Write(’jumlah data ?’);readln(N);
Writeln;
I:=0;
T:=0;
While I<N do
Begin
Clrscr;
Write(’jumlah data ?’);readln(N);
Writeln;
I:=0;
T:=0;
While I<N do
Begin
I : =I+1;
Write(‘nilai data ke’,I,’?’);
readln(Ni);
Write(‘nilai data ke’,I,’?’);
readln(Ni);
T:=T+Ni;
end;
R:=T/N;
writeln;
writeln(‘total nilai =’,T:8:2);
writeln(‘jumlah data=’,N:3);
writeln(.rata-rata nilai =’,R:8:2);
readln;
end;
R:=T/N;
writeln;
writeln(‘total nilai =’,T:8:2);
writeln(‘jumlah data=’,N:3);
writeln(.rata-rata nilai =’,R:8:2);
readln;
end.
3.2.1 Perulangan While – Do
Tersarang
Perulangan While –
Do tersarang ( nested While – Do ) merupakan perulangan While – Do yang satu di
dalam perulangan While – Do yang lainnya.
Conhnya :
Program perulangan_While-Do-Tersarang;
Uses crt;
Var Ni, R, T : real;
Uses crt;
Var Ni, R, T : real;
N, I : integer;
Lagi : char;
Begin
Lagi := ’Y’;
While lagi =’Y’ Do
Lagi := ’Y’;
While lagi =’Y’ Do
Begin
Clrscr;
Write(’jumlah data ?’);
Readln (N);
Writeln;
I :=0;
T :=0;
While I< N Do
Begin
Clrscr;
Write(’jumlah data ?’);
Readln (N);
Writeln;
I :=0;
T :=0;
While I< N Do
Begin
I:=I+1;
Write(’nilai data ke :’,I,’?’);
Readln(Ni);
T:=T+Ni;
Write(’nilai data ke :’,I,’?’);
Readln(Ni);
T:=T+Ni;
End;
Writeln;
Writeln(’total nilai
Writeln;
Writeln(’total nilai
=’,T:8:2);
Writeln(‘jumlah data =’,N:3);
Writeln(‘rata-rata nilai
=’,R:8:2);
Writeln;
Write(‘akan menghitung lagi (Y/T)?’);
Readln(lagi);
Writeln;
Write(‘akan menghitung lagi (Y/T)?’);
Readln(lagi);
End;
End.
4.3 PERULANGAN REPEAT UNTIL
Struktur
pengulangan Repeat Until menggunakan ekspresi logika untuk menghentika
pengulangan. Struktur Repeat Until digunakan untuk mengulang ( Repeat )
statemen-statemen atau blok statemen sampai ( Until ) kondisi yang diseleksi di
Until tidak terpenuhi. Pada struktur Repeat Until tidak diperlukan struktur
blok (begin-end). Struktur Repeat Until menyatakan bahwa pengulangan akan
dilakukan sampai syarat tertentu. Syarat didalam Repeat Until menyatakan syarat
berhentinya pengulangan.
Bentuk umum struktur Repeat Until
adalah :
Repeat<pernyataan>Until<ekspresi
logika>
Contohnya :
1. Program
Pengulangan_Repeat;
Uses crt;
Var I : Byte;
Begin
Uses crt;
Var I : Byte;
Begin
Clrscr;
I := 1;
RepeatWriteln(I);
I := 1;
RepeatWriteln(I);
Inc(I);
Until I>5;
Readln;
End.
2. Program
Pengulangan_Repeat1;
Uses crt;
Var a, b, c, d, y : real;
Uses crt;
Var a, b, c, d, y : real;
Begin
Write(‘berapa rupiah batas awal table =’);readln(a);
Write(‘berapa rupiah batas akhir table =’);readln(b);
Write(‘berapa rupiah pertambahannya =’);readln(c);
Writeln;
Writeln(‘tabel kurs’);
Writeln;
Write(‘berapa rupiah batas awal table =’);readln(a);
Write(‘berapa rupiah batas akhir table =’);readln(b);
Write(‘berapa rupiah pertambahannya =’);readln(c);
Writeln;
Writeln(‘tabel kurs’);
Writeln;
Writeln(‘ rupiah dollar yen
‘);
Writeln(‘======================’);
Repeat
D :=a/1900;
Y :=a/900;
Writeln(a:9:2,’’,d:9:2,’’,y:9:2);
A :=a+C;
Until a>=b;
Writeln(‘======================’);
Readln;
Writeln(‘======================’);
Repeat
D :=a/1900;
Y :=a/900;
Writeln(a:9:2,’’,d:9:2,’’,y:9:2);
A :=a+C;
Until a>=b;
Writeln(‘======================’);
Readln;
End.
3. Program
Pengulangan_Repeat2;
Uses crt;
Const harga_bensin=700;
Uses crt;
Const harga_bensin=700;
Harga_solar=600;
Var bensin, solar, I : integer;
Begin
Clrscr;
Writeln(’tabel harga bahan bakar’);
Writeln(’==================’);
Writeln(’liter
Clrscr;
Writeln(’tabel harga bahan bakar’);
Writeln(’==================’);
Writeln(’liter
bensin
solar’);
Writeln(’==================’);
I := 1 ;
Repeat
Bensin :=700*I;
Solar :=600*I;
Writeln(I:8,’’,bensin:10,’’,solar:10);
I :=I+1;
Until I > 20;
Writeln(’===================’);
Readln;
Writeln(’==================’);
I := 1 ;
Repeat
Bensin :=700*I;
Solar :=600*I;
Writeln(I:8,’’,bensin:10,’’,solar:10);
I :=I+1;
Until I > 20;
Writeln(’===================’);
Readln;
End.
3.3.1 Pengulangan Repeat ...
Until Tersarang
Perulangan Repeat .. Until
tersarang adalah suatu perulangan Repeat ..
Until yang satu berada di dalam
perulangan Repeat ... Until yang lainnya.
Contohnya :
Program perulangan_Repeat-Until_Tersarang;
Uses crt;
Var A, B, C : real;
Begin
Program perulangan_Repeat-Until_Tersarang;
Uses crt;
Var A, B, C : real;
Begin
Clrscr;
Writeln(‘======================’);
Writeln(‘sisi A
Writeln(‘======================’);
Writeln(‘sisi A
sisi B
sisi C’);
Writeln(‘-------------------------------------‘);
A : =1;
RepeatB := 0;
Writeln(‘-------------------------------------‘);
A : =1;
RepeatB := 0;
RepeatC := SQRT(A*A+B*B);
Writeln(A:6:2,B:9:2,C:9:2);
B :=B+5;
Until B > 25;
A:=A+1;
Until A > 3;
Writeln(‘======================’);
Readln;
Until A > 3;
Writeln(‘======================’);
Readln;
End.
IF pilihan = 1 THEN
Begin
Write(‘jari-jari lingkaran
=’);readln(R);
Luas :=3.14*R*R;
Writeln(’luas lingkaran =’,luas:9:2);
Luas :=3.14*R*R;
Writeln(’luas lingkaran =’,luas:9:2);
End;
If pilihan = 2 THEN
BeginWrite(’sisi alas
=’);readln(L);
Write(‘sisi tinggi =’);readln(T);
Luas :=0.5*L*T;
Writeln;
Writeln (‘luas segitiga =’,luas:9:2);
Luas :=0.5*L*T;
Writeln;
Writeln (‘luas segitiga =’,luas:9:2);
End;
IF pilihan =3 THEN
BeginWrite (’sisi panjang
=’);readln(T);
Writeln(’sisi lebar
=’);readln(L);
Luas :=T*L;
Writeln(’luas bujursangkar =’,luas :9:2);
End;
Readln:
Luas :=T*L;
Writeln(’luas bujursangkar =’,luas :9:2);
End;
Readln:
End.
3. Progarm
pilihan_THEN2;
Uses crt;
Var pilih : integer;
Begin
Uses crt;
Var pilih : integer;
Begin
Clrscr;
Writeln (‘daftar table penjualan barang ‘);
Writeln
Writeln (‘daftar table penjualan barang ‘);
Writeln
(’======================================’);
Writeln (’jika anda pilih 1 maka terdapat daftar harga sabun’);
Writeln (’jika anda pilih 2 maka terdapat daftar harga shampo’);
Writeln (’jika anda pilih 0 maka tidak memilih daftar harga’);
Writeln
Writeln (’jika anda pilih 1 maka terdapat daftar harga sabun’);
Writeln (’jika anda pilih 2 maka terdapat daftar harga shampo’);
Writeln (’jika anda pilih 0 maka tidak memilih daftar harga’);
Writeln
(’======================================’);
Writeln;
Writeln (’pilihan anda 1,2,atau 0....’);readln(pilih);
Writeln;
Writeln (’pilihan anda 1,2,atau 0....’);readln(pilih);
IF pilih = 1 THEN
Begin
Writeln (’daftar harga – harga sabun’);
Writeln (’=======================’);
Writeln (’sabun citra
Writeln (’daftar harga – harga sabun’);
Writeln (’=======================’);
Writeln (’sabun citra
Rp 800’);
Writeln (‘sabun lifeboy Rp 450’);
Writeln (‘sabun lux
Writeln (‘sabun lifeboy Rp 450’);
Writeln (‘sabun lux
Rp 450’);
Writeln (‘sabun prity
Rp 300’);
End;
IF pilih = 2 THEN
Begin
Writeln (‘======================’);
Writeln (‘shampo sunsilk
Writeln (‘======================’);
Writeln (‘shampo sunsilk
Rp 700’);
Writeln (‘shampo brisk
Rp 1100’);
Writeln (‘shampo rejoice
Rp 1000’);
Writeln (‘shampo kao
Rp 600’);
End;
IF pilih =0 THEN
Begin
Writeln (‘anda
tidak memilih daftar harga’);
End;
Readln;
End;
Readln;
End.
5.3 STATEMENT IF..... THEN.....
ELSE
Struktur IF … THEN … ELSE
merupakan pengembangan dari struktur
IF ...THEN dengan struktu :
IFk ondi si THEN statement 1 ELSE
statement 2
Statement atau dapat berupa blok
statement akan diproses bilamana kondisi
yang diseleksi benar ( terpenuhi ) sedang statement 2 atau dapat berupa
blok statement akan diproses bilamana kondisi bilamana kondisi yang
diseleksi tidak terpenuhi.
yang diseleksi benar ( terpenuhi ) sedang statement 2 atau dapat berupa
blok statement akan diproses bilamana kondisi bilamana kondisi yang
diseleksi tidak terpenuhi.
Example :
1. Program
seleksi_else1;
Uses crt ;
Var nilai_ujian : real;
Begin
Uses crt ;
Var nilai_ujian : real;
Begin
Write (‘nilai yang didapat ?’);
Readln(nilai_ujian);
IF nilai_ujian > 60 THEN
Writeln(‘lulus’)
ELSE
Writeln(‘tidak lulus’)
Readln; End.
2. Program
seleksi_else2;
Uses crt;
Var nilai : integer ;
Uses crt;
Var nilai : integer ;
Nama,nim : string;
Begin
Clrscr ;
Write(‘nama anda ?’);readln(nama);
Write(‘nim anda ?’);readln(nim);
Write(‘berapa nilai anda?’);readln(nilai);
Clrscr ;
Write(‘nama anda ?’);readln(nama);
Write(‘nim anda ?’);readln(nim);
Write(‘berapa nilai anda?’);readln(nilai);
IF (nilai <= 100) and (nilai
>=80) THEN
Begin
Writeln(‘anda mendapat nilai A’);
Writeln(’poin yang anda peroleh = 4’);
Writeln(‘anda mendapat nilai A’);
Writeln(’poin yang anda peroleh = 4’);
End;
IF (nilai < = 79) and (nilai
>=70)THEN
Begin
Writeln(’anda mendapat nilai B’);
Writeln(’poin yang anda peroleh = 3’);
Writeln(’anda mendapat nilai B’);
Writeln(’poin yang anda peroleh = 3’);
End;
IF (nilai <= 69) and (nilai
>=60)THEN
Begin
Writeln(’ ’anda mendapat nilai C’);
Writeln(’poin yang anda peroleh = 2’);
Writeln(’ ’anda mendapat nilai C’);
Writeln(’poin yang anda peroleh = 2’);
End;
IF (nilai < = 59) and (nilai
>=50)THEN
Begin
Writeln(’anda mendapat nilai D’);
Writeln(’poin yang anda peroleh = 1’);
Writeln(’anda mendapat nilai D’);
Writeln(’poin yang anda peroleh = 1’);
End;
ELSE
IF (nilai < = 49)THEN
Begin
Writeln(’anda mendapat nilai E’);
Writeln(’poin yang anda peroleh = 0’);
Writeln(’anda mendapat nilai E’);
Writeln(’poin yang anda peroleh = 0’);
End;
Readln;
End.
5.5 STATEMENT CASE ….. OF
Struktur CASE dipakai untuk
memilih dengan kemungkinan lebih dari
2, bentuk umum struktur CASE
adalah :
CASE < 27ariable>of
<konstanta1>:<pernyataan>
<konstanta2>:<pernyataan>
<konstanta3>:<pernyataan>
<konstanta1>:<pernyataan>
<konstanta2>:<pernyataan>
<konstanta3>:<pernyataan>
..
..
..
ELSE<pernyataan>
End;
Variabel dan konstanta yang dapat dipakai hanyalah yang mempunyai
ordinal, yaitu tipe integer dan char.
Variabel dan konstanta yang dapat dipakai hanyalah yang mempunyai
ordinal, yaitu tipe integer dan char.
Example :
3. Program case_of_1;
Uses crt;
Var nilai:char;
Begin
Var nilai:char;
Begin
Write(‘nilai huruf yag didapat
?’);
Readln(nilai)
Case nilai of
‘A’ : writeln(‘sangat baik’);
‘B’: writeln(‘baik’);
‘C’ :wri teln(‘cukup’);
‘D’ :wri tel n(‘kurang’);
‘E’ :wri tel n(‘gagal ’);
‘D’ :wri tel n(‘kurang’);
‘E’ :wri tel n(‘gagal ’);
End;
Readln;
End.4. Program case_of_2;
Uses crt;
Var pembelian,potongan:integer;
Begin
Clrscr;
Var pembelian,potongan:integer;
Begin
Clrscr;
Write(’total pembelian ?’);
Readln(pembelian);
Case pembelian of
0 .. 1000 : potongan:=100;
1001 .. 10000 : potongan:=500;
10001 .. 30000 : potongan:=200;
End;
Writeln(’jumlah pembelian = Rp’,potongan:7);
Writeln(’potongan
1001 .. 10000 : potongan:=500;
10001 .. 30000 : potongan:=200;
End;
Writeln(’jumlah pembelian = Rp’,potongan:7);
Writeln(’potongan
= Rp’,potongan:7);
Writeln(’
---------------------’);
Writeln(’jumlah yang dibayar = Rp’,pembelian – potongan:7);
Readln;
Writeln(’jumlah yang dibayar = Rp’,pembelian – potongan:7);
Readln;
End.5. Program case_of_3;
Uses crt;
Var pilihan:byte;
Kg,beras,ketan,terigu:integer;
Begin
Clrscr;
Gotoxy(10,2);writeln(’pilihan anda:’);
Gotoxy(10,4);writeln(’1.menghitung harga beras’);
Gotoxy(10,6);writeln(’2.menghitung harga ketan’);
Gotoxy(10,8);writeln(’3.menghitung harga terigu’);
Gotoxy(10,10);writeln(’pilih nomor 1-3?’);
Readln(pilihan);
Clrscr;
Case pilihan of
1: begin
Gotoxy(10,2);writeln(’pilihan anda:’);
Gotoxy(10,4);writeln(’1.menghitung harga beras’);
Gotoxy(10,6);writeln(’2.menghitung harga ketan’);
Gotoxy(10,8);writeln(’3.menghitung harga terigu’);
Gotoxy(10,10);writeln(’pilih nomor 1-3?’);
Readln(pilihan);
Clrscr;
Case pilihan of
1: begin
Writeln(’menghitung harga
beras’);
Writeln(’=================’);
Writeln;
Writeln(’berapa kilogram yang anda beli’);
Writeln(’=================’);
Writeln;
Writeln(’berapa kilogram yang anda beli’);
Readln(kg);
Beras:=kg*900
Write(’anda hars membayar Rp’,beras:7);
Beras:=kg*900
Write(’anda hars membayar Rp’,beras:7);
End;
2: begin
Writeln(’menghitung harga ketan’);
Writeln(’=================’);
Writeln;
Writeln(’berapa kilogram yang anda beli’);
Readln(kg);
Beras:=kg*1000
Write(’anda hars membayar Rp’,ketan:7);
Writeln(’menghitung harga ketan’);
Writeln(’=================’);
Writeln;
Writeln(’berapa kilogram yang anda beli’);
Readln(kg);
Beras:=kg*1000
Write(’anda hars membayar Rp’,ketan:7);
End;
2: begin
Writeln(’menghitung harga terigu’);
Writeln(’=================’);
Writeln;
Writeln(’berapa kilogram yang anda beli’);
Readln(kg);
Beras:=kg*900
Write(’anda hars membayar Rp’,terigu:7);
Writeln(’menghitung harga terigu’);
Writeln(’=================’);
Writeln;
Writeln(’berapa kilogram yang anda beli’);
Readln(kg);
Beras:=kg*900
Write(’anda hars membayar Rp’,terigu:7);
End;
Else;
Begin
Write(‘pilihan anda salah’);
Write(‘pilih salah satu dari 1,2 atau 3’);
End;
End;
Readln;
Write(‘pilihan anda salah’);
Write(‘pilih salah satu dari 1,2 atau 3’);
End;
End;
Readln;
End.
3.5 RESUME
PROGRAM PASCAL
INPUT (SCRIPT)
{TUGAS AKHIR
MATA KULIAH}
program
Tugas;
uses wincrt;
var
n, ps, ti, bk,
sg, pj,pil: longint;
et, ej, ek, jml,
jumlah, m, tot, disc, totp, cash: real;
pilih : char;
diskon, kode :
string;
change : integer;
procedure
perulangan;
begin
writeln ('APAKAH
ANDA INGIN MEMESAN LAGI....???');
writeln;
writeln ('tekan
1 "ya"');
writeln ('tekan
2 "tidak"');
writeln;
writeln
('PILIHAN ANDA>>>>>>>'); readln(kode);
writeln;
if kode = '2'
then
donewincrt;
end;
procedure cover;
begin
gotoxy(30,8); writeln ('"SELAMAT
DATANG"');
gotoxy(29,9); writeln ('DI WARUNG GORENGAN');
gotoxy(34,10); writeln ('"WICIDA"');
writeln;
gotoxy(18,11); writeln ('INGIN MEMESAN
SILAHKAN TEKAN "1(YA)/2(TIDAK)"'); gotoxy(38,12);readln (kode);
clrscr;
if kode = '2' then
donewincrt;
end;
procedure judul;
begin
writeln('Gorengan "WICIDA"');
writeln('™™™™™™™™™™™™™™™™™™™™');
writeln;
end;
procedure menu;
begin
writeln ('====DAFTAR MENU MAKANAN====');
writeln;
writeln ('- Pisang sanggar ');
writeln ('- Tahu isi ');
writeln ('- Bakwan ');
writeln ('- Singkong goreng ');
writeln ('- Perkedel jagung');
writeln ('=====================');
writeln;
writeln (' - Harga/buah Rp.500,-');
writeln ('=======================');
writeln;
write ('ingin Memesan tekan
"1(YA)/2(KELUAR)">>>>>>>'); readln(kode);
if kode = '2' then
donewincrt;
clrscr;
end;
procedure menu2;
begin
writeln ('====DAFTAR MENU MINUMAN=====');
writeln;
writeln ('- Es teh = Rp.2000,-');
writeln ('- Es jeruk = Rp.2500,-');
writeln ('- Es kelapa = Rp.6000,-');
writeln ('=====================');
writeln;
write ('ingin Memesan tekan
"1(YA)/2(KELUAR)">>>>>>>> = '); readln(kode);
if kode = '2' then
donewincrt;
clrscr;
end;
procedure
input1;
begin
writeln ('====DAFTAR MENU MAKANAN====');
write ('- Pisang sanggar, berapa banyak =');
readln(ps);
write ('- Tahu isi, berapa banyak ='); readln(ti);
write ('- Bakwan, berapa banyak ='); readln(bk);
write ('- Singkong goreng,berapa banyak =');
readln(sg);
write ('- Perkedel jagung,berapa banyak =');
readln(pj);
writeln ('== HARGA/BUAH Rp.500,- ==');
writeln;
end;
procedure
input2;
begin
writeln
('====DAFTAR MENU MINUMAN=====');
write ('- Es
Teh,berapa banyak ='); readln(et);
write ('- Es
jeruk,berapa banyak ='); readln(ej);
write ('- Es
kelapa,berapa banyak ='); readln(ek);
end;
procedure
garis(K:integer;F:string);
var
i :integer;
begin
for i:=1 to K do
write(F);
writeln;
end;
procedure
output;
begin
writeln('Harga = ',tot:0:0);
writeln('Jumlah Pembelian = ',m:0:0,' buah');
writeln('Mendapatkan diskon = ',diskon);
writeln('Total Pembayaran = Rp.',totp:0:0);
gotoxy(21,8);writeln('===========');
write
('Cash =
Rp.');readln(cash);
writeln('Change = Rp.',cash-totp:0:0);
garis(31,'=');
writeln('TERIMAKASIH ATAS KUNJUNGAN ANDA');
writeln('===============================');
writeln;
end;
begin
cover;
repeat
judul;
writeln;
writeln('----DAFTAR MENU-----');
writeln('1, Daftar Menu Makanan');
writeln('2, Daftar Menu Minuman');
writeln;
write('PILIH DAFTAR MENU YANG TERSEDIA : ');readln(pilih);
clrscr;
case pilih of
'1' : Begin
judul;
menu;
input1;
writeln;
m :=ps+ti+bk+sg+pj;
tot :=m*500;
if tot >10000
then
diskon:='5%';
disc:=tot*5/100 ;
if tot >20000
then
diskon:='7.5%';
disc:=tot*7.5/100 ;
if tot >30000
then
diskon:='10%';
disc:=tot*10/100 ;
if tot <10000
then
diskon:='0%';
disc:=0 ;
totp:=tot-disc;
garis(30,'©');
clrscr;
judul;
output;
perulangan;
end;
'2' : begin
judul;
menu2;
input2;
m :=et+ej+ek;
et
:=2000*et;
ej
:=2500*ej;
ek
:=6000*ek;
tot :=et+ej+ek;
if tot >10000
then
diskon:='2%';
disc:=tot*2/100 ;
if tot >15000
then
diskon:='2.5%';
disc:=tot*7.5/100 ;
if tot >20000
then
diskon:='3%';
disc:=tot*3/100 ;
if tot <10000
then
diskon:='0%';
disc:=0 ;
totp:=tot-disc;
garis(30,'©');
clrscr;
judul;
output;
perulangan;
end;
else
Write('MOHON CEK
KEMBALI PILIHAN ANDA...!!')
end;
clrscr;
until pil = 2
end.
OUTPUT
1.
COVER
2. PEMILIHAN
MENU
3. PEMILIHAN
MENU KE - 2
4. PENG-INPUTAN
JUM,LAH PEMBELIAN
5. PROSES AKHIR
PENUTUP
BERDASARKAN
PROGRAM YANG TELAH TERSUSUN SERTA YANG
DI SIMPULKAN DI ATAS, MUDAH-MUDAHAN DAPAT BERGUNA DAN DIFUNGSIKAN SEBAGAI
PEMBELAJARAN TAHAP AWAL SERTA DAPAT MEMBERIKAN MOTIVASI MANJADI SEORANG
PROGRAMER YANG PROFESSIONAL DAN HANDAL, WALAUPUN PROGRAM PASCAL INI HANYALAH
TAHAP AWAL.
TERUSLAH
BERLATIH DAN JANGAN MENYERAH (TRY N ERROR).
SEBAGAI
PENUTUP KAMI MENGUCAPKAN TERIMA KASIH ATAS PERHATIANNYA.
WASSALAM.
DAFTAR PUSTAKA
http://trisusanto-tri.blogspot.com/
makalah pascal
Download di sini aja