Pemprograman dengan Bahasa Pascal Dengan Contoh-Contoh Program, Output, Latihan dan Penyelesaian
Disusun Oleh : Nama
: Irpan Kusuma Wijaya
NIM
: 200822018
Faku akultas tas
: Tek Tekn nologi In Industri tri
Jurusan
: Teknik In Informatika
INSTITUT SAINS DAN TEKNOLOGI AL-KAMAL JAKARTA
DAFTAR DAFTAR ISI I SI HALAMAN JUDUL .............................................. ..................................................................... .............................................. .........................
1
DAFTAR DAFTAR ISI ............................................ ................................................................... .............................................. .................................... .............
2
BAB I
Mengenal Pascal ..................................................................... ....................... A. Perkembangan Pascal .............................................. .................................................................. .................... B. Struktur Program Pascal .............................................. ............................................................... .................... C. Penulisan Program Pascal ........................................... .................................................................... ..................................... .............. D. Judul Program ............................................. .................................................................. ................................... ............ E. Bagian Deklarasi ........................................... .................................................................... ......................... 1. Deklarasi Konstanta ............................................. .................................................................. ............................. ...... 2. Deklarasi Variabel ........................................... 3. Deklarasi tipe ........................................... .................................................................. .................................... ............. ..................................................................... .............................. ....... 4. Deklarasi Label .............................................. F. Cara Mengorerasikan Me ngorerasikan Turbo Pascal .............................................. ................................................ ..
3 3 3 3 3 3 4 4 4 4
BAB II Elemen-Element Program Pascal A. Kata-Kata Cadangan ............................................ ................................................................... ........................... .... B. Pengenal (Identifier) ............................................. .................................................................... ........................... .... C. Tipe Data .............................................. ..................................................................... ........................................... .................... D. Tanda Operasi .............................................. ..................................................................... .................................. ........... E. Komentar Program ............................................. .................................................................... ............................. ......
5 5 5 6 6
BAB III Input dan Output Program Output ........................................... ................................................................... ........................................ ................ Program Input .............................................. ..................................................................... ......................................... .................. Tampilan Terformat ........................................... .................................................................. ................................... ............ Pengaturan Letak di Layar dengan Prosedur Gotoxy .......................... .......................... Pengaturan Letak di Layar dengan Prosedur Delay ............................
7 8 11 14 15
BAB IV Perulangan 1. Perulangan For ............................................ ................................................................... ................................... ............ a. Perulangan Perulangan For Positif Positif .......... ............... .......... .......... .......... .......... ......... ......... .......... .......... .......... ......... .... b. Perulangan Perulangan For Negatif .......... .............. ......... .......... .......... .......... .......... .......... .......... .......... .......... ........ ... c. Perulangan For Bersarang ......................................................... ......................................................... 2. Pengulangan Pengulangan While Do .......... ............... .......... ......... ......... .......... .......... .......... .......... .......... .......... .......... ........ ... 3. Perulangan Perulangan Repeat Until .......... ............... .......... .......... .......... .......... .......... .......... .......... .......... ......... ......... .......
22 22 25 26 29 30
BAB V Penyeleksian Kondisi 1. Pendahuluan ........................................... .................................................................. ........................................ ................. 2. Statemen Statemen If .... Then .......... ............... .......... .......... .......... .......... .......... .......... .......... .......... .......... .......... .......... ....... .. 3. Statemen Statemen If .... Then ..... Else ........ ............. .......... .......... .......... .......... ......... ......... .......... .......... .......... ....... 4. Statemen Statemen Case .... of .......... ............... .......... ......... ......... .......... .......... .......... .......... .......... .......... .......... .......... .......
45 45 47 48
PEMPROGRAMAN PASCAL
2
BAB I Mengenal Pascal
A. Perke Perkemba mbanga ngan n Pasca Pascall Pascal adalah bahasa tingkat tinggi (high level language) yang orientasinya pada semua tujuan oleh Professor Niklaus Wirth, nama pascal diambil sebagai penghargaan terhadap Blaise Pascal, ahli matematik dan philosophi terkenal abad 17 dari Perancis. Kompiler Bahasa pascal pertama kali untuk komputer CDC 6000 (Control Data Corporation) untuk membantu mengajar program komputer secara sistematis, khususnya untuk pemprograman terstruktur. B. Strukt Struktur ur Progr Program am Pasc Pascal al Struktur program pascal terdiri dari : 1. Judul udul Prog Progra ram m 2. Blok Blok Progr rogram am a. Bagia agian n dekl deklar aras asii - Deklarasi label - Definisi konstanta - Definisi tipe - Deklarasi variable - Deklarasi prosedur - Deklarasi fungsi b. b. Bagi Bagian an per perny nyat ataa aan n C. Penuli Penulisan san Progr Program am Pascal Pascal Contoh penulisan program yang bebas Begin Writeln(‘Belajar Pascal’); Writeln(--------------‘); End. Contoh penulisan yang tidak dianjurkan Begin Begin Writel Writeln(‘ n(‘Bel Belaja ajar r Pascal Pascal’); ’); Writel Writeln(n(-----------------------‘); ‘); End. Contoh penulisan program yang dianjurkan Begin Writeln(‘Belajar Pascal’); Writeln(--------------‘); End. D. Judu Judull pro progr gram am Judul program (bila ditulis) terletak pada awal program dan diakhiri dengan titik koma.
E. Bagi Bagian an Dekl Deklar aras asii 1. Dekl Deklara arasi si Kons Konstan tanta ta Berisi identifier yang berisi nilai-nilai konstanta. Contoh penulisannya: Const PEMPROGRAMAN PASCAL
3
Panjang=10; Lebar=5; 2. Dekl Deklara arasi si Variab ariabel el Mendefinisikan identifieryang berisi data yang berubah-ubah nilainya dalam program. Var total,gaji:real; Menikah,keterangan:string;
3. Dekl Deklar aras asii tip tipee Ada beberapa tipe dalam pascal antara lain : a. Tipe data data sede sederha rhana, na, terdiri terdiri dari dari : integer,char,real,string,boolean - Tipe data standar : integer,char,real,string,boolean - Tipe data didefinisikan pemakai : enumarated atau scalar type, subrange tipe. b. Tipe data data terst terstruk ruktur tur,, terdiri terdiri dari dari : - File - Array - Set - Record c. Tipe data data penu penunju njuk k (poin (pointer ter type type data) data) Contoh : Type Pecahan = real; Logika = Boolean; Bulat = integer; Huruf = string [25]; Begin 4. Dekl Deklar aras asii labe labell Deklarasi yang neggunakan statemet goto untuk meloncat ke suatu statemen lain. Contoh : Label 100,selesai; Begin ................. Goto 100 ................. 100 : ................. Goto selesai ................. Selesai : End. F. Cara mengope mengoperasik rasikan an Turbo Turbo Pascal Pascal Torbo pascal versi 5.0 hanya dapat dioperasikan pada format sistem operasi DOS, apabila kita menggunakan sistem operasi windows maka harus keluar dari sistem operasi.
PEMPROGRAMAN PASCAL
4
BAB II Element-Element Program Pascal Element-element program pascal adalah sbb : 1. Simb Simbol ol-s -sim imbo boll dasa dasar r 2. Kata Kata-k -kat ataa cada cadang ngan an 3. Pengen Pengenalan alan dide didefin finisi isikan kan oleh oleh pemak pemakai. ai. 4. Data 5. Kara Karakt kter er cont contro roll 6. Tand anda oper operas asii 7. Kome Koment ntar ar prog progra ram m 8. Statemen 9. Prosedur 10. Fungsi Fungsi A. Kata-k Kata-kat ata a cada cadanga ngan n Adalah kata-kata yang telah didefinisikan oleh pascal yang mempunyai maksud tertentu, kata-kata cadangan tidak boleh didefinisikan oleh pemakai sehingga tidak dipergunakan sebagai pengenal(identifier). B. Pengen Pengenal al (ident (identifi ifier er)) Ketetntuan-ketentuan identifier : 1. Terdiri erdiri dari gabunga gabungan n huruf huruf dan angka angka dengan dengan karakte karakterr pertam pertamaa harus harus berupa berupa huruf, huruf, dimana huruf besar dan huruf kecil dianggap sama. 2. Tidak Tidak boleh boleh meng mengand andung ung blank. blank. 3. Tidak Tidak boleh boleh mengandun mengandung g simbolsimbol-simbo simboll khusu khusus. s. 4. Panjangnya Panjangnya bebas, bebas, tetapi tetapi hanya hanya 63 karakter karakter pertama pertama yang diangga dianggap p signifikan signifikan.. C. Tipe ipe dat data a 1. Tipe ipe data data num numer erik ik int integ eger er Tipe Ukuran memory Byte 1 byte Shortint 1 byte Integer 2 byte Word 2 byte Longint 4 byte
jangkauan nilai 0 .. 255 -128 .. 127 -32768 .. 32767 0 .. 65535 -2147483648
2. Tipe ipe data data nume numeri rik k rea reall Tipe konstanta numerik real berkisar dari 1E-38 sampai dengan 1E+38, nilai numerik real menempati memory sebesar 6 byte. 3. Tipe ipe dat dataa kar karak akte ter r Nilai karakter berupa sebuah karakter yang ditulis diantara tanda petik tunggal. 4. Tipe ipe dat dataa str strin ing g Berupa kumpulan beberapa karakter yang terletak diantara tanda petik tunggal. 5. Tipe ipe data data boo boole lean an.. Tipe data ini mempunyai dua nilai yaitu true & false.
PEMPROGRAMAN PASCAL
5
D. Tanda anda Oper Operas asii Dalam bahasa pascal ada beberapa tanda operasi (operator) antara lain : Operator Fungsi assignment operator := sama dengan binary operator * perkalian Div pembagian bulat / pembagian real MOD Modulus (hasil pembagian) + penjumlahan pengurangan bitwise operator NOT Logika Not AND Logika And OR Logika Or XOR Logika Xor SHL gerser ke kiri (shift left) SHR geser ke kanan (shift right) relation operator = sama dengan <> tidak sama dengan > lebih besar dari < lebih kecil dari >= lebih besar sama dengan dari <= lebih kecil sama dengan dari E. Kome Koment ntar ar Pro Progr gram am Komentar program digunakan untuk keperluan dokumentasi program, sehingga program mudah dibaca dan dipahami dapat ditambahkan komentar-komentar di dalam program tidak akan mempengaruhi program. Komentar ditulis dengan tanda pembatas { dan } atau (* dan *).
PEMPROGRAMAN PASCAL
6
BAB III Program Input dan Output
Program Output Dalam bahasa pascal untuk menampilkan hasil digunakan prosedur standard write atau writeln. Write menampilkan hasil tanpa ganti baris. Writeln menampilkan hasil de dengan ganti baris. Contoh-contoh Program serta Outputnya Contoh 1 Begin Writeln(‘Saya Belajar Pascal’); Writeln(‘---------------------------‘); Readln; End. Output Saya Belajar Pascal start
saya belajar pascal
---------------------
stop
Contoh 2 Begin Writeln(‘Hai apa kabar?’); Write(‘Baik-baik saja’); Readln; End. Output Hai apa kabar? Baik-baik saja start
hai apa kabar ?
baik baik saja
stop
Contoh 3 Begin Write(‘Hai apa kabar?’); Write(‘Baik-baik saja’);Readln; End. PEMPROGRAMAN PASCAL
7
Output Hai apa kabar?Baik-baik saja
Contoh 4 Begin Writeln(‘Hai apa kabar?’);Writeln; Write(‘Baik-baik saja’); Readln; End. Output Hai apa kabar?
Baik-baik saja Note : Writeln digunakan untuk pindah baris atau posisi cursor.
Program Input Dalam bahasa pascal untuk memasukan data digunakan prosedur standard read atau readln. untuk memasukan data dalam satu baris . Read Readln untuk memasukan data pada baris yang berbeda. Contoh 1 Uses Crt; { A,B,C A,B,C Merupakan variable yang digunakan dalam Program} Program} Var A,B,C:Byte; Begin Clrscr; sama } Write(‘Masukan nilai A=’);Readln(A);{input data pada baris yang sama} Write(‘Masukan nilai B=’);Readln(B);{input data pada baris yang sama } C:=A+B; {untuk menampilkan A+B=} A+B= } Writeln(‘A+B=’,C); Writeln(A,’+’,B,’=’,C); {untuk menampilkan nilai A dan B yang kita input } input } Readln; End. Output Masukan ukan n i l a i A=5 Masukan ukan n i l a i B=6 A+B=11 5+6=11
{angka 5 merupakan nilai yang kita input } input } {angka 6 merupakan nilai yang kita input } input } {angka 11 merupakan nilai C hasil dari A+B }
PEMPROGRAMAN PASCAL
8
start
var a, b,
c
masukkan nilai a
a
masukkan nilai b
b
c:=a + b
'a'+'b'='c'
a,'+',b,'=',c
stop
Contoh 2 Uses Crt; Var A,B,C:Byte; { A,B,C A,B,C Merupakan variable yang digunakan dalam Program} Program} Begin Clrscr; berbeda } Writeln(‘Masukan nilai A=’);Readln(A); {input data pada baris yang berbeda} berbeda } Writeln(‘Masukan nilai B=’);Readln(B);{input data pada baris yang berbeda} C:=A+B; Uses Crt; Var A,B,C:Byte; Begin Clrscr; Writeln(‘Masukan nilai A=’); Readln(A);C:=A+BWriteln(‘Masukan nilai B=’);Readln(B); Writeln(‘A+B=’,C); {untuk menampilkan A+B=} A+B= } {untuk menampilkan nilai A dan B yang kita input } input } Writeln(A,’+’,B,’=’,C); Readln; End. Output Masukan nilai A= 5 Masukan nilai B= 6 A+B=11 5+6=11
{angka 5 merupakan nilai yang kita input } input } {angka 6 merupakan nilai yang kita input } input } {angka 11 merupakan nilai C hasil dari A+B }
Note : - Clrscr digunakan untuk membersihkan layar monitor dari tampilan sebelumnya - Clrscr harus dipasangkan dengan Uses Crt bila pascal dijalankan dalam DOS - Clrsc Clrscrr harus harus dipasa dipasangk ngkan an dengan dengan Uses Uses WinCrt inCrt bila bila pascal pascal dijal dijalank ankan an dalam dalam Windows. Contoh 3 Var Nama:String[15]; Begin Nama :=’Shabira’; PEMPROGRAMAN PASCAL
9
Write(‘Nama :’); Write(Nama); Readln; End.
Output Nama : Shabira start nama nama:=shabira
nama
shabira
stop
Contoh 4 Var Nama:String[15]; Begin Nama :=’Shabira’; Writeln(‘Nama :’); Writeln(Nama); Readln; End.
Output Nama : Shabira start nama nama:=shabira
nama
shabira
stop
Contoh 5 Var Nama:String[15];
{untuk membatasi jumlah character dalam
string }
Begin Nama :=’Shabira Kusumawati’; Write(‘Nama :’); Write(Nama); Readln; End.
Output Nama : Shabira Kusumaw
PEMPROGRAMAN PASCAL 10
Note : String[15] berarti jumlah character yang akan ditampilkan hanya 15 character.
Contoh 6 Var Huruf1,Huruf2:char; Begin Huruf1:=’A’; Huruf2:=’B’; Writeln(Huruf1,Huruf2); Readln; End. Output AB start
huruf1 huruf2
huruf1:=a huruf2:=b
a, b
stop
Contoh 7 Var Huruf1,Huruf2:char; Begin Huruf1:=’A’; Huruf2:=’B’; C:=concat(AB); Writeln(C); Readln; End.
{concat digunakan untuk menggabungkan character }
Output AB start
huruf1 huruf2
huruf1:=a huruf2:=b
a, b
stop
Contoh 8 Uses Crt; Var A,B,C:Byte; PEMPROGRAMAN PASCAL 11
Begin Clrscr; Write(‘Masukan nilai A=’);Readln(A); Write(‘Masukan nilai B=’);Readln(B); C:=A+B; {untuk menampilkan A+B=} A+B= } Writeln(‘A+B=’,C); {untuk menampilkan nilai A dan B yang kita input } input } Writeln(A,’+’,B,’=’,C); Readln; End.
Output Masukan ukan n i l a i A=5 Masukan ukan n i l a i B=6 A+B=11 5+6=11
{angka 5 merupakan nilai yang kita input } input } {angka 6 merupakan nilai yang kita input } input } {angka 11 merupakan nilai C hasil dari A+B }
Contoh 9 Uses Crt; Var C:Char; B:Boolean; Begin Clrscr; Write(‘Benar atau Salah (B/S)?’);Readln(C); B:=(C=’B’); Write(‘Yang anda maksud adalah :’,B); Readln; End. Output Benar atau Sa Sa lah (B /S) /S ) ?B Yang anda maksud adalah B
{B merupakan nilai yang kita input } input }
start
c,b
benar atau salah ?
c
B:=(c='b')
yang anda maksud adalah
b
stop
PEMPROGRAMAN PASCAL 12
Tampilan Terformat erfor mat a. Param aramet eter er CH:N CH:N Tampilan char selebar n karakter dengan blank di muka sebanyak n-1. b. b. Param aramet eter er S:N S:N Tampilan string dengan lebar n karakter. c. Para arameter ter I: I:N Tampilan integer dengan lebar n digit. d. Param aramet eter er R:N R:N Tampilan nilai numerik real dengan lebar n digit rata sebelah kanan. e. Param aramet eter er R:N R:N:M Tampilan nilai numerik real dengan lebar n digit rata sebelah kanan, dengan m digit angka di belakang koma. f. Parameter B: B:N Tampilan Boolean True atau False dengan lebar n karakter sebelah kanan. Contoh 1 Var Huruf1,Huruf2:Char; Begin Huruf1:=’A’; Huruf2:=’B’; Writeln(Huruf1:5,Huruf2:4); {disediakan 5 character untuk Huruf1 dan 4 character untuk Huruf2 } Huruf2 } Readln; End. Output A B
Contoh 2 Var String1,String2:String[10]; Begin String1:=’Pascal’; Writeln(‘Bahasa’,String1:12); Readln; End.
Output Bahasa
{disediakan 12 character untuk String1} String1 }
Pascal
start
string1 string2
string1:=bahasa string2:=pascal
bahasa pascal
stop
Contoh 3 Uses Crt; PEMPROGRAMAN PASCAL 13
Var
Ket1:Char; Ket2:String[6]; Ket3:Integer; Ket4:Real; Ket5:Boolean;
Begin Clrscr; Ket1:=’A’; Writeln((ket1:5); Ket2:=’Pascal’; Writeln(‘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); Readn; End.
Output A Bahasa : Pascal Jumlah Data : 24200 Nilai Real : 2.22006E+05 Nilai Real Kedua : 222006.000 Nilai Boolean : True A
start
ket1, ket2, ket3, ket4, ket5
24200
ket4=222006
ket1=a nilai real
a
ket2=pascal
bahasa
pascal
ket3=24200
jumlah data
A
222006
nilai real kedua
222006
ket5=true
nilai boolean
true
stop
Latihan 1 (Buatlah Program, Output dan Flowchartnya) 1. Buat Buat prog program ram meng menghi hitu tung ng luas luas dan dan kelil kelilin ing g ling lingka karan ran deng dengan an hasi hasill perh perhit itun unga gann nnya ya menggunakan format 2 angka di belakang koma!.
PEMPROGRAMAN PASCAL 14
2. Buat Buat prog program ram meng menghi hitu tung ng luas luas pers perseg egii panj panjan ang g deng dengan an keten ketentu tuan an panj panjan ang g dan dan leba lebar r diinput. Dengan outputnya menggunakan format 3 angka di belakang koma 3. diketah diketahui ui sebua sebuah h kotak kotak mempun mempunyai yai ukur ukuran an : panjang alas : 10 cm lebar alas : 7 cm tinggi : 15 cm buatlah sebuah program yang akan menghitung isi kotak dan luas permukaan kotak. Tampilan hasil yang diinginkan adalah : ukuran kotak : 10 cm x 7 cm x 15 cm isi kotak : 1050cm3 luas permukaan kotak : 650 cm2
Jawab 1. Program Uses Crt; Var r:Integer; L,K:Real; Begin Clrscr; Write(‘Masukan Jari-jari =’);Readln(r); L:=3.14*r*r; Writeln(‘Luas Lingkaran =’,L:8:2); K:=3.14*2*r; Writeln(‘Keliling Lingkaran =’,K:8:2);Readln; End. Output {10 Masukan J a r i - j a r i = 10 nilai yang kita input } {314.00 hasil perhitungan luas} luas } Luas Luas L ingkaran = 314 314 .00 {62.80 hasil perhitungan keliling } Kel i l ing L ing ingkaran aran = 62.80 2. Program Uses Crt; Var p,l:integer; Luas:real; Begin Clrscr; Write(‘Panjang =’);Readln(p); Write(‘Lebar =’);Readln(l); Luas:=p*l; Writeln(‘Luas Persegi Panjang =’,Luas:8:3); Readln; End. Output Pan Pan jang = 6 Lebar = 3
Luas Luas Perseg er segii Pa Pan jang = 18.000 18. 000
{6 {3 {18.000
nilai p yang kita input } nilai l yang kita input } hasil hasil perhi perhitun tunga gan n
luas} luas}
3. Program Uses Crt; Var p,l,t,i,Luas:integer; s1:string; PEMPROGRAMAN PASCAL 15
s2:char; Begin Clrscr; p:=10; l:=7; t:=15; s1:=’cm’; s2:=’x’; Writeln(‘ukuran kotak : ’,p:3,s1:3,s2:2,l:2,s1:3,s2:2,t:3,s1:3); i:=p*l*t; Writeln(‘isi ko k otak :’,i:5,s1,’3’); Luas:=2*(p*l+p*t+l*t); Writeln(‘luas permukaan kotak :’,Luas:4,s1:3,’2’); Readln; End.
Output ukuran kotak : 10 cm x 7 cm x 15 cm isi kotak : 1050cm3 luas permukaan kotak : 650 cm Flowchart start
r,l,k
masukkan nilai r
r
k=(2*3.14)*r*r
start
p,l,luas
masukkan nilai panjang panjang
start pa,la,t,vol,luas
p
pa=10 la=7 t=15
k=(2*3.14)*r*r ukuran kotak = 10*7*15
l=3.14*r
luas lingkaran: lingkaran:
masukkan nilai lebar
vol=pa*la*t
luas=pa*la
l isi kotak:
l
l=p*l vol
k
luas persegi: luas permikaan kotak :
keliling lingkaran:
luas luas
stop
Nomor 1
stop
Nomor 2
stop
Nomor 3 PEMPROGRAMAN PASCAL 16
Pengaturan Letak di Layar dengan Prosedur gotoxy Sintaks : gotoxy(x,y) artinya output akan terletak pada pada kolom ke-x dan baris ke-y. ke-y. Contoh 1 Uses Crt; Begin Clrscr; Gotoxy(10,15); Writeln(‘Bahasa Pascal’); Readln; End. Output
{Bahasa Pascal terletak pada kolom ke-10 dan baris ke-15 } start gotoxy(10,15)
bahasa pascal
stop
Contoh 2 Uses Crt; Begin Clrscr; Gotoxy(5,5); Writeln(‘Bahasa Pascal’); Readln; End.
Output
{Bahasa Pascal terletak pada kolom ke-5 dan baris ke-5 }
Pengaturan Letak di Layar dengan Prosedur Delay PEMPROGRAMAN PASCAL 17
Delay digunakan untuk menghentikan menghentikan sejenak sejenak proses proses program. program. Ukuran Ukuran waktunya waktunya dalam milisecond (1/1000 detik). Contoh 1 Uses Crt; Begin Clrscr; Writeln(‘Halo mahasiswa, kalian lagi belajar apa?’); {Program akan berhenti sejenak selama 5 detik } detik } Delay(5000); Writeln; Writeln(‘Kami lagi belajar Praktek Pascal’); Readln; End.
Output Halo mahasiswa, kalian lagi belajar apa? {ada selang 5 detik }
Kami lagi belajar Praktek Pascal start
halo mahasiswa, lagi apa ?
delay(5000)
kami lagi belajar pascal
stop
Contoh 2 Uses Crt; Begin Clrscr; Writeln(‘Halo mahasiswa, kalian lagi belajar apa?’); {Program akan berhenti sejenak selama 5 detik } detik } Delay(8000); Writeln; Writeln(‘Kami lagi belajar Praktek Pascal’); Readln; End.
Output Halo mahasiswa, kalian lagi belajar apa? {ada selang 8 detik }
Kami lagi belajar Praktek Pascal
Latihan 2 (Buatlah Program, Output dan Flowchartnya) 1. Buat Buat Prog Program ram yang yang outp outputny utnyaa : Saya suka belajar Pascal { pada posisi (5,10) }. Belajar pascal itu mengasyikan { posisi (12,13) dengan delay 3 detik dari teks pertama }. PEMPROGRAMAN PASCAL 18
2.
3.
4.
5.
Saya sudah bisa membuat program { posisi (20,15) dengan delay 8 detik dari teks pertama }. Buat Buat prog program ram dengan dengan ketentu ketentuan an : Input : masukan nilai x untuk kolom kolom Masukan nilai y untuk baris Output : Hai apa kabar kawan ? delay 7 detik muncul ‘Baik-baik saja’. Perus Perusahaa ahaan n telepo telepon n di kota ‘X’ mempuny mempunyai ai tarip tarip Rp.100 Rp.100 per pulsa. pulsa. Setiap Setiap langganan langganan dikena dikenakan kan biaya biaya langga langganan nan sebesa sebesarr Rp.300 Rp.3000 0 per bulan. bulan. Jumlah Jumlah pulsa pulsa = 235. 235. buatlah buatlah program untuk menghitung tagihan langganan. Keluaran : Jumlah Tagihan Petu Petunj njuk uk : Buat Buatla lah h biay biayaa langg langgan anan an dan dan tar tarif if pul pulsa sa seb sebag agai ai kon konst stan anta ta (kar (karen enaa sama sama untuk semua langganan). Sama dengan dengan soal no.3, no.3, ubahlah ubahlah program program tersebut tersebut sehing sehingga ga tampilannya tampilannya sebagai sebagai berikut berikut : Nom Nomor or lan lang ggan ganan : .... .......... ...... .... .... .... .... .. Nama langganan : ................... Alamat : ................... Perincian tagihan : Biaya Be Berlangganan : Rp. ................... Biay Biayaa Puls ulsa .... ....* *Rp.1 Rp.10 00 : Rp. ... ....... ...... .... .... ........ ...... -------------------------------------------------------------------Total : Rp. ................... Petu etunjuk : Tamb ambahkan data masu asukan Nomor langganan anan,, Nama ama lang angganan anan,, dan Alamat. Buat Buat prog program ram untu untuk k meng menghi hitu tung ng gaji gaji pega pegawa waii PT. PT. Al-K Al-Kam amal al yang yang diter diterim ima, a, deng dengan an ketentuan : tunjangan pegawai adalah 15 % dari gaji pokok. Upah lembur per jam adalah 1 % dari gaji pokok. Input : Nama, Nama, NIP, NIP, Gaji pokok, pokok, jumlah jam lembur Outp Output ut : Perincian gaji pegawai : Gaji Pokok : Rp ................. Tunjangan : Rp ................. Upah Lem Lemb bur : Rp Rp .. ................. ----------------------------------------------Gaji Total : Rp ................. Jawab 1. Program Uses Crt; Begin Clrscr; Goto Gotoxy xy(5 (5,1 ,10) 0); ; Writ Writel eln( n(‘S ‘Say aya a suka suka bela belaja jar r pasc pascal al’) ’); ; Delay(3000); Gotoxy(12,13); Writeln(‘Belajar pascal itu mengasyikan’); Delay(5000); Gotoxy(20,15); Writeln(‘Saya sudah bisa membuat program’); Readln; End. Output
PEMPROGRAMAN PASCAL 19
start
gotoxy(5,10)
saya suka belajar pascal
delay(3000) gotoxy(12,13)
pascal itu menyenagkan delay(11000) gotoxy(20,15)
saya sudah bisa membuat program
stop
2. Program Uses Crt; Var x,y:integer; Begin Clrscr; Write(‘Masukan Kolom :’); Readln(x); Write(‘Masukan Baris :’); Readln(y); Clrscr; Gotoxy(x,y);Writeln(‘Hai apa kabar kawan ?’); Delay(7000);Writeln(‘Baik-baik saja’); Readln; End. Output {misalkan nilai x,y yang kita input adalah 3}
Ha i apa kabar kawan wan ? Baik-baik saja
{terletak pada kolom ke3 dan baris ke 3}
PEMPROGRAMAN PASCAL 20
start x, y
nilai x :
x
nilai y: y gotoxy(x,y)
hai apa kabar
delay 7000
baik baik saja
stop
3. Program Uses Crt; Var jumlah:longint; Const langganan=3000; pulsa=100; Begin Clrscr; jumlah:=langganan+235*pulsa; Writeln('Jumlah Tagihan : Rp.',jumlah); Readln; End. Output Jumlah Tagihan : Rp.26500 start
jp,trf,tag,talang
trf=100 jp=235 tag=trf*jp
tagihan:
tag
tagihan l angganan angganan
talang
stop
4. Program Uses Crt; Var no,nama,alamat:string; x:char; PEMPROGRAMAN PASCAL 21
Const langganan=3000; pulsa=100; Begin Clrscr; x:=':'; Write('Nomor langganan',x:2); Readln(no); Write('Nama langganan',x:3); Readln(nama); Write('Alamat',x:19); Readln(alamat); Writel Writeln(' n('Per Perinc incian ian Tagiha Tagihan n :'); Writeln('Biaya berlangganan',x:12,'Rp.',langganan:8); Writeln('Biaya pulsa 235*Rp.100',x:3,'Rp.',pulsa*235:8); Writeln('-----------------------------------------'); Writeln('Total',x:20,'Rp.',langganan+235* pulsa:8); Readln; End.
Output Nomor langganan :20 Nama langganan :irpan KW Alamat :Bekasi Perincian Tagihan: Biaya berlangganan :Rp. 3000 Biaya pulsa 235*Rp.100 :Rp. 23500 ---------------------------------------------------------------------------------------Total :Rp. 26500
PEMPROGRAMAN PASCAL 22
start jp,nmr,nm,almt total,bp,bl bl=3000 jp=235 bp=jp*100 total=bl+bp
Nomor langganan :
nmr
nama langganan
nm
alamat
almt
perincian tagihan
biaya langganan :bl
biaya pulsa, jp, *Rp100:, bp
---------------------
total : total
stop
5. Program Uses Crt; Var nama,NIP:string; gaji,tunjangan,jam,lembur,total:Real; Begin Clrscr; Write('Nama');gotoxy(20,1);Write(':');Readln(nama); Write('NIP');gotoxy(20,2);Write(':');Readln(NIP); Write('Gaji Pokok');gotoxy(20,3);Write(':');Readln(gaji); Write('Jumlah Jam Lembur');gotoxy(20,4);Write(':');Readln(jam); Writeln; tunjangan:=15*gaji/100; lembur:=jam*gaji/100; Total:=gaji+tunjangan+lembur; Writeln('Perincian gaji pegawai :'); Writeln('------------------------'); Write('Gaji Pokok');gotoxy(20,8);Writeln(': Rp',gaji:10:0); Write('Tunjangan');gotoxy(20,9);Writeln(': Rp',tunjangan:10:0); Write('Upah Lembur');gotoxy(20,10);Writeln(': Rp',lembur:10:0); Writeln('-------------------------------'); PEMPROGRAMAN PASCAL 23
Write('Gaji Total');gotoxy(20,12);Writeln(': Rp',total:10:0); Readln; End.
Output Nama :Irpan KW nip :200822018 Gaji pokok :1200000 Jumlah jam lembur :6 Perincian Gaji pegawai ---------------------Gaji pokok :Rp. 1200000 120000 0 Tunjangan :Rp. 180000 Upah lembur :Rp. 72000 -------------------Rp. -------------------Rp. 1452000------Gaji total
Tugas 1 (Buatlah Program, Output dan Flowchartnya) 1. Buatlah Buatlah Program Program untuk untuk menghitun menghitung g Luas dan dan Volum Volumee Kerucut. Kerucut. - input : variable yg berhubungan, π untuk konstanta - Output : Luas dan Volume Volume kerucut dengan format 4 angka di belakang koma. 2. Buatlah program yang outputnya sbb:
NIM
NIM Nama Lengkap NIM Jurusan Turbo Pascal
Nama Panggilan Panggilan
N am a
3. Buatlah Buatlah program program dg kete ketentu ntuan an sbb sbb : Untuk baris dan kolom diinput, (baris antara 3-6, dan kolom antara 5-10) Setelah diinput akan tampil nama lengkap anda pada posisi yang diinput, setelah 7 detik dari kalimat pertama akan tampil NIM anda pada beda 3 baris dan 5 kolom, setelah beda 16 detik dari kalimat pertama akan tampil jurusan pada beda 5 baris dan 9 kolom, setelah 4 detik dari kalimat kalimat terakhir yang tampil akan muncul muncul saya belajar pascal dengan dengan beda 4 baris dan 2 kolom.
Jawab : 1. Program
Uses Crt; PEMPROGRAMAN PASCAL 24
Var r,t,s,L,V:Real; Const phi=3.14; Begin Clrscr; Write('Tinggi Kerucut');Gotoxy(20,1);Writ Kerucut');Gotoxy(20,1);Write(':');Readln( e(':');Readln(t); t); Write('Jari-Jari');Gotoxy(2 Write('Jari-Jari');Gotoxy(20,2);write(':' 0,2);write(':');Readln(r); );Readln(r); s:=sqrt(r*r+t*t); L:=(phi*r*r)+(phi*r*s); V:=(phi*r*r*t)/3; Write('Luas Kerucut');Gotoxy(20,3);Wri Kerucut');Gotoxy(20,3);Writeln(':',L:10:4 teln(':',L:10:4); ); Write('Volume Kerucut');Gotoxy(20,4);Writ Kerucut');Gotoxy(20,4);Writeln(':',V:10:4 eln(':',V:10:4); ); Readln; End. Output (Misalkan tinggi dan jari-jari sebuah kerucut adalah 10)
2. Program Uses Crt; Begin Gotoxy(1,1);Writeln('200822018'); Gotoxy(72,1);Writeln('200822018'); Gotoxy(37,8);Writeln('Irpan KW'); Writeln;Writeln; Gotoxy(36,11);Writeln('200822018'); Writeln;Writeln; Gotoxy(31,14);Writeln('Teknik Informatika'); Writeln;Writeln; Gotoxy(34,17);Writeln('Turbo Pascal'); Gotoxy(1,25);Write('Irpan KW'); Gotoxy(74,25);Writeln('Irpan KW'); Readln; End.
Output 200822018 200822018 Irpan KW 200822018 Teknik Informatika Turbo Pascal Irpan KW KW
Irpan
PEMPROGRAMAN PASCAL 25
3. Program Uses Crt; Var x,y:integer; Begin Clrscr; Write('Input Baris (3-6) :');Readln(y); Write('Input Kolom (5-10) :');Readln(x); Clrscr; Gotoxy(x,y);Writeln('Irpan KW'); Delay(7000); Gotoxy(x+5,y+3);Writeln('200822018'); Delay(9000); Gotoxy(x+14,y+8);Writeln('Teknik Informatika'); Delay(4000); Gotoxy(x+16,y+12);Writeln('Saya Belajar Pascal'); Readln; End. Output
Irpan kw
20082018
Teknik Informatika
Saya belajar pascal
BAB IV Perulangan A. Peru Perula lang ngan an For For Perulangan for digunakan untuk mengulang satu statement atau satu blok statement sesuai jumlah yang ditentukan. Macam-macam perulangan for : 1. Peru Perula lang ngan an for for Posi Positi tif f PEMPROGRAMAN PASCAL 26
Perulangan dengan penghitung (counter) dari kecil ke besar, perulangan ini dibentuk dengan menggunakan statement For-to-do. Contoh 1 Var I:integer; Begin For I:= 1 to 5 do Writeln(‘Pascal’); Readln; End. Output Pascal Pascal Pascal Pascal Pascal Contoh 2 Var I:integer; Begin For I:= 1 to 5 do Begin Writeln(‘Pascal’); End; Readln; End. Output Pascal Pascal Pascal Pascal Pascal Contoh 3 Var I:integer; Begin end } For I:= 1 to 5 do {mengulang 1 statement di bawahnya dari begin sampai end } Begin Write(I); Writeln(‘Belajar’); End; Readln; End. Output 1Belajar 2Belajar 3Belajar 4Belajar 5Belajar
Contoh 4 Var I:integer; Begin For I:= 1 to 5 do {hanya mengulang nilai ‘I’ nilai ‘I’ dari 1 sampai 5 } Write(I); Writeln(‘Belajar’); PEMPROGRAMAN PASCAL 27
Readln; End.
Output 12345Belajar
Contoh 5 Uses Crt; Var I:Byte; Begin Clrscr; nilai ‘I’ dari 1 sampai 5 } For I:= 1 to 5 do {hanya mengulang nilai ‘I’ Writeln(I); Writeln(‘Selesai’); Readln; End. Output 1 2 3 4 5 Selesai
Contoh 6 Uses Crt; Var I:Byte; Begin Clrscr; end } For I:= 1 to 5 do {mengulang 1 statement di bawahnya dari begin sampai end } Begin Write(I); Writeln(‘Selesai’); End; Readln; End.
Output 1Selesai 2Selesai 3Selesai 4Selesai 5Selesai
Contoh 7 Uses Crt; Var I,awal,akhir,jumlah:word; Begin Clrscr; Write(‘Masukan Batas Awal :’);Readln(awal); Write(‘Masukan Batas Akhir :’);Readln(akhir); PEMPROGRAMAN PASCAL 28
Jumlah:=0; For I:=awal to akhir do Jumlah:=jumlah + I; Writeln(‘Jumlah bilangan-bilangan tersebut adalah :’,jumlah); Readln; End.
Output (misalkan batas awal yg diinput 1 dan batas akhirnya 5)
Contoh 8 Uses Crt; Var a,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 Begin Write('Masukan nilai ke',I,'='); Readln(a); jumlah:=jumlah + a; End; Writeln('Jumlah bilangan-bilangan tersebut adalah :',jumlah); Readln; End. Output (misalkan batas awal yg diinput 1 dan batas akhirnya 5)
Contoh 9 Uses Crt; Var X:integer; C,F:Real; Begin PEMPROGRAMAN PASCAL 29
Clrscr; Writeln('------------------------------'); Writeln(' Celcius Fahrenheit '); Writeln('------------------------------'); 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.
Output
2. Peru Perula lang ngan an for for Neg Negat atif if Perulangan dengan penghitung (counter) dari besar ke kecil, perulangan ini dibentuk dengan menggunakan statement For-downto-do. For-downto-do.
Contoh 1: Uses Crt; Var I:Byte; Begin Clrscr; For I:=5 downto 1 do Writeln(I); Writeln(‘Selesai’); Readln; End. Output 5 4 3 2 1 Selesai Contoh 2: PEMPROGRAMAN PASCAL 30
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*B:8,1/B:12:2); Readln; End. Output
3. Perula Perulanga ngan n For Ber Bersa saran rang g Perulangan yeng berada di dalam perulangan yang lainnya, perulangan yang lebih dalam akan diproses lebih dahulu sampai habis kemudian perulangan yang lebih luar, kemudian mengerjakan perulangan yang lebih dalam lagi mulai dari nilai awalnya dan seterusnya. Contoh 1 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; End; Readln; End. Output
Contoh 2 Uses Crt; Var I,J:Integer; Begin Clrscr; For I:=1 to 5 do Begin PEMPROGRAMAN PASCAL 31
For J:=1 to 4 do Writeln(I:8,J:5); Writeln; End; Readln; End. Output
Contoh 3 Uses Crt; Var I,J,K:Integer; 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; End; End; Readln; End.
Output
PEMPROGRAMAN PASCAL 32
Contoh 3 Uses Crt; Var I,J:Integer; Begin Clrscr; For I:=1 to 3 do Begin For J:=1 to 5 do Write(‘*’); Writeln; End; Readln; End. Output ***** ***** ***** Contoh 4 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; End; Readln; End. Output (misalkan jumlah bintang yang diinput adalah 4)
Masukan Jumlah Bintang :4 * ** *** **** B. Pengul Pengulang angan an while while do Strukt Struktur ur pengu pengulang langan an while while do menggu menggunak nakan an ekspre ekspresi si logika logika untuk untuk menghe menghenti ntikan kan pengulang pengulangan. an. Struktur while do akan terus mengulang mengulang selama syarat terpenuhi, terpenuhi, syarat di dalam pengulangan while do merupakan syarat dilakukannya pengulangan.
Contoh 1 Var I:Integer; Begin I:=0; While I<5 do Begin Writeln(I); I:=I+1; End; PEMPROGRAMAN PASCAL 33
Readln; End.
Output
0 1 2 3 4 Contoh 2 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
Perulangan While-do Bersarang Merupakan perulangan while-do yang satu di dalam perulangan while-do yang lainnya. Contoh 1 Uses Crt; Var Ni,R,T:Real; N,I:Integer; Lagi:Char; Begin Lagi:=’Y’; While Lagi=’Y’ do Begin Clrscr; PEMPROGRAMAN PASCAL 34
Write(‘Jumlah Data ?’);Readln(N); Writeln; I:=0; T:=0; While I
Output (misalkan jumlah data yang diinput 3) 3)
{bila bila
diin diinpu putt
T
maka maka
peng pengul ulan anga gan n
berhenti, tapi jika diinput Y maka akan mengulang terus. }
C. Perula Perulanga ngan n Repeat Repeat Unti Untill Strukt Struktur ur repeat repeat until until menggu menggunak nakan an ekspre ekspresi si logika logika untuk untuk menghe menghenti ntikan kan perulan perulangan gan.. Struktur repeat until akan mengulang statement sampai kondisi yang diseleksi di until tidak terpenuhi. Pada struktur repeat until tidak memerlukan blok dari begin sampai end.
Contoh 1 Uses Crt; Var I:Byte; Begin Clrscr; I:=1; Repeat Writeln(I); Inc(I); Until I>5; Readln; End.
Output
1 2 3 4 5 PEMPROGRAMAN PASCAL 35
Contoh 2 Uses Crt; Var a,b,c,d,y:Real; Begin Write(‘Berapa rupiah batas awal tabel =’);readln(a); Write(‘Berapa rupiah batas akhir tabel =’);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; End.
‘);
Output (misalkan batas awal 5000, batas akhir 25000 & pertambahnnya 5000 ) 5000 )
Contoh 3 Uses Crt; Const harga_bensin=700; Harga_solar=600; Var Var bens bensin in,s ,sol olar ar,I ,I:i :int nteg eger er; ; Begin 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; PEMPROGRAMAN PASCAL 36
End.
Output
Perulangan Repeat Until Bersarang Perulangan repeat until yang satu berada di dalam perulangan repeat until yang lain.
Contoh 1 Uses Crt; Var A,B,C:Real; Begin Clrscr; Writeln(‘=====================’); Writeln(‘Sisi A Sisi B Sisi C’); Writeln(‘=====================’); A:=1; Repeat B:=0; Repeat C:=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; End. Output
PEMPROGRAMAN PASCAL 37
Latihan 3 (Buatlah Program, Output dan Flowchartnya) 1. Buat Buat prog program ram peru perula lang ngan an for for bers bersara arang ng untu untuk k meng mengat atur ur wakt waktu u meled meledak akny nyaa bom bom dengan ketentuan : Bila waktu menunjukan 1 : 00 : 00 akan muncul tulisan ‘BOOOMM...!’ dimana set awal waktunya 0 : 00 : 00 dan dengan bantuan Delay (5000) serta perulangan dimulai dari detik ke menit lalu ke jam. 2. Ganti Soal Soal no.1 no.1 dengan dengan menggunak menggunakan an perulangan perulangan tersarang tersarang WHILE WHILE DO. 3. Ganti Soal no.2 no.2 dengan menggunak menggunakan an perulangan perulangan tersarang tersarang REPEAT REPEAT-UNTIL. -UNTIL. 4. Buatlah Buatlah program program untuk untuk mencatat mencatat 10 10 buah buah bilangan bilangan genap genap pertama. pertama. 5. Buatla Buatlah h program program untu untuk k membua membuatt outpun outpunya ya : ***** **** *** ** Untuk jumlah bintang diinput 6. Buat Buat pro progr gram am unt untuk uk out outpu putt : ‘Saya belajar pascal’ {sebanyak 5x dengan delay waktu 5 deti k perkalimat}. 7. Buat Buat pro progr gram am unt untuk uk out outpu putt : ‘Saya belajar di lab. Komputer’ {posisi (x,y) diinput antara (3-10,10-20); Hasil output harus sekolom sebanyak 5x}. 8. Buat Buat prog program ram mengg menggun unak akan an for for do untu untuk k menc menceta etak k angk angkaa 10 samp sampai ai 80 dengan dengan selisih 5. 9. Buat Buat prog program ram deng dengan an : Input : posisi baris dan kolom Output : ‘Saya lagi belajar pascal’ sebanyak 6 kali dengan selisih 2 baris perkalimat dan pada kolom yang sama dengan selisih delay 5 detik perkalimat.
Jawab 1. Program Uses Crt; PEMPROGRAMAN PASCAL 38
Var J,K:integer; Begin Clrscr; Gotoxy(4,3);Write('0'); Gotoxy(7,3);Write(':'); Delay(5000); For J:=0 to 59 do Begin Gotoxy(9,3);Write(J:2); Gotoxy(12,3);write(':'); Delay(5000); For K:=0 to 59 do Begin Gotoxy(14,3);Write(K:2); Delay(5000); End; End; Gotoxy(4,3);Write('1'); Gotoxy(7,3);Write(':'); Gotoxy(9,3);write('00'); Gotoxy(12,3);Write(':'); Gotoxy(14,3);Write('00'); Gotoxy(25,15);Write('BOOOOM.....!'); Readln; End.
2. Program Uses Crt; Var J,K:integer; Begin Clrscr; Gotoxy(4,3);Write('0'); Gotoxy(7,3);Write(':'); Delay(5000); J:=-1; While J < 59 do Begin J:=J+1; Gotoxy(9,3);Write(J:2); Gotoxy(12,3);write(':'); Delay(5000); K:=-1; While K < 59 do Begin K:=K+1; Gotoxy(14,3);Write(K:2); Delay(5000); End; End; Gotoxy(4,3);Write('1'); Gotoxy(7,3);Write(':'); Gotoxy(9,3);write('00'); Gotoxy(12,3);Write(':'); Gotoxy(14,3);Write('00'); Gotoxy(25,15);Write('BOOOOM.....!'); Readln; End. PEMPROGRAMAN PASCAL 39
3. Program Uses Crt; Var J,K:integer; Begin Clrscr; Gotoxy(4,3);Write('0'); Gotoxy(7,3);Write(':'); Delay(5000); J:=-1; Repeat J:=J+1; Gotoxy(9,3);Write(J:2); Gotoxy(12,3);write(':'); Delay(5000); K:=-1; Repeat K:=K+1; Gotoxy(14,3);Write(K:2); Delay(5000); Until K >= 59; Until J >= 59; Gotoxy(4,3);Write('1'); Gotoxy(7,3);Write(':'); Gotoxy(9,3);write('00'); Gotoxy(12,3);Write(':'); Gotoxy(14,3);Write('00'); Gotoxy(25,15);Write('BOOOOM.....!'); Readln;
End. Output no. 1,2,3
1 : 00 : 00
BOOOOM.....! 4. Program Uses Crt; Var I:integer; Begin Clrscr; I:=0; repeat I:=I+2; writeln(I); until I=20; Readln; end. Output
PEMPROGRAMAN PASCAL 40
5. Program Uses Crt; Var I,J,K:Integer; Begin Clrscr; Write('Masukan Jumlah Bintang :');Readln(I); For J:=I downto 2 do Begin For K:= 1 to J do Write('*'); Writeln; End; Readln; End.
Output Misalkan jumlah bintang yg diinput adalah 6
6. Program Uses Crt; Var I:Integer; Begin Clrscr; For I:=1 to 5 do Begin Writeln('Saya Belajar Pascal'); Delay(5000); End; Readln; End. Output
PEMPROGRAMAN PASCAL 41
7. Program Uses Crt; Var I,y,k,b:Integer; Begin Clrscr; Write('Input Posisi Kolom (3-10) :');Readln(k); Write('Input Posisi Baris (10-20) :');Readln(b); b:=b-1; For I:= 1 to 5 do Begin y:=b+I; Gotoxy(k,y); Writeln('Saya Belajar di Lab. Komputer'); End; Readln; End. Output Misalkan posisi kolom yang diinput 10 dan posisi baris yang diinput 3
8. Program Uses Crt; Var I,n:integer; Begin Clrscr; For I :=2 to 16 do Begin n:=I*5; Writeln(n); End; Readln; End. Output
PEMPROGRAMAN PASCAL 42
9. Program Uses Crt; Var I,b,k,y:integer; Begin Clrscr; Write('Input Posisi Kolom :');Readln(k); Write('Input Posisi Baris :');Readln(b); b:=b-2; For I:= 1 to 6 do Begin y:=b+2; Gotoxy(k,y); Writeln('Saya Lagi Belajar Pascal'); Delay(5000); End; Readln; End. Output Misalkan posisi kolom yang diinput 3 dan posisi baris yang diinput 3
Flowchart
PEMPROGRAMAN PASCAL 43
mulai
mulai
jumlah bintang
K:=-1 K:=0
detik:=K+1; K:=K+1
tidak
tidak
detik>59 K:=jumlah bintang
ya ya J:=-1 J:=jumlah bintang
menit:=J+1; J:=J-1
tidak menit:>59
tidak
ya
J<2
ya
Cetak menit,detik
Cetak Bintang
selesai
selesai
Nomor 1,2,3
Nomor 5 mulai
mulai I:=0
I:=0 I:=I+1
I:=I+2; P:=saya belajar pascal
Cetak I Cetak P
tidak I>20
tidak I>5
ya
ya
selesai
Nomor 4
selesai
Nomor 6
PEMPROGRAMAN PASCAL 44
mulai
k,b
mulai b:=b-1
I:=2 y:=b+I
I:=I+1 gotoxy (k,y)
n:=I*5 p:=Saya Belajar Belajar di Lab. Komputer
Cetak n
Cetak P
tidak
tidak
I>16
I>5
ya
ya
selesai
selesai
Nomor 7
Nomor 8 mulai
k,b
b:=b-2
I:=b+2
gotoxy (k,b)
p:=Saya lagi belajar pascal
Delay 5000
Cetak p
ya I>6
tidak selesai
Nomor 9 PEMPROGRAMAN PASCAL 45
Tugas 2 (Buatlah Program, Output dan Flowchartnya) 1. Buat Buatla lah h prog progra ramn mny ya a. Buatla Buatlah h program program untuk untuk menghitu menghitung ng bilanga bilangan n ganjil ganjil dari akhir ke awal (Batas (Batas awal & akhir diinput). b. Buatlah Buatlah program program untuk untuk menghitung menghitung bilangan bilangan genap genap pangkat pangkat dari 0-30. 0-30. 2. Buatlah Buatlah program program untuk untuk posisi posisi baris dan kolom diinput diinput,, pada pada posisi posisi tersebut tersebut akan tampil tampil Nama, NIM, Jurusan, setelah 7 detik beda 2 baris & 3 kolom akan tampil ‘Saya belajar Pascal’ sebanyak 4x sejajar. Nama NIM Jurusan Saya Belajar Pascal Saya Belajar Pascal Saya Belajar Pascal Saya Belajar Pascal 3. Posis Posisii baris baris dan kolom diinpu diinput, t, pada posisi posisi baris baris dan kolom yang yang diinput diinput akan tampil tampil nama lengkap, anda setelah 6 detik beda 3 baris dan 4 kolom akan tampil NIM sebanyak 3x dengan beda 2 baris dan 5 kolom per NIM, setelah itu akan tampil Jurusan sebanyak 3x dengan beda 2 kolom. Nama Lengkap NIM NIM NIM IF IF IF Jawab 1. a. Program Uses Crt; Var awal,akhir,I:integer; Begin Clrscr; Write(‘Input batas awal (ganjil) :’);Readln(awal); Write(‘Input batas akhir (ganjil) :’);Readln(akhir); I:=akhir+2; Repeat I:=I-2; Writeln(I); Until I=awal; Readln; End. Output Misalkan batas awal yang diinput 1 dan batas akhir yang diinput 11
PEMPROGRAMAN PASCAL 46
b. Program Uses Crt; Var I,n:integer; Begin Clrscr; I:=-2; Repeat I:=I+2; n:=I*I; Writeln(n); Until I=30; Readln; End. Output
2. Program Uses Crt; Var I,B,K,X,Y:Integer; Begin Clrscr; Write('Input Kolom:');Readln(K); Write('Input Baris:');Readln(B); Clrscr; Gotoxy(K,B);Writeln('Irpan KW '); B:=B+1; Gotoxy(K,B);Writeln('200822018'); B:=B+1; Gotoxy(K,B);Writeln('Teknik Informatika'); Delay(7000); For I:=2 to 5 do Begin X:=K+3; Y:=B+I; Gotoxy(X,Y);Writeln('Saya Belajar Pascal'); End; Readln; End. Output Misalkan posisi baris yang diinput 3 dan posisi kolom yang diinput 3
Irpan KW 200822018 PEMPROGRAMAN PASCAL 47
Teknik Informatika Saya Belajar Pascal Saya Belajar Pascal Saya Belajar Pascal
3. Program Uses Crt; Var I,K,B,X,Y:Integer; Begin Clrscr; Write('Input Kolom:');Readln(K); Write('Input Baris:');Readln(B); Clrscr; Gotoxy(K,B);Writeln('Irpan KW'); Delay(6000); X:=K-1; Y:=B+1; For I:=1 to 3 do Begin X:=X+5; Y:=Y+2; Gotoxy(X,Y);Writeln('200822018'); End; X:=X-18; Y:=Y+2; For I:=1 to 3 do Begin X:=X+20; Gotoxy(X,Y);Writeln('Teknik Informatika'); End; Readln; End. Flowchart
PEMPROGRAMAN PASCAL 48
mulai
mulai
awal, akhir
I:=-2
I:=akhir+2
I:=I+2
I:=I-2
n:=I*I
Cetak I
Cetak n
ya I = awal
tidak
ya I = 30
tidak
selesai
selesai
Nomor 1.a
Nomor 1.b mulai
mulai
k,b
k,b
X:=k-1 Y:=b+1
b:=b+1
X:=X+5 Y:=Y+2
gotoxy (X,Y)
gotoxy (k,b) tidak I>3
I:=2
ya X:=X-18 Y:=Y+2
X:=K+3 Y:=B+I
X:=X+20
gotoxy (X,Y) gotoxy (X,Y)
Cetak Nama,NIM,Jurusan Saya Belajar Pascal
Cetak Nama,NIM Jurusan
tidak I>5
tidak I>3
ya selesai
Nomor 2
ya selesai
Nomor 3
PEMPROGRAMAN PASCAL 49
BAB V Penyeleksian Kondisi
A. Pend Pendah ahul ulua uan n Pengambilan keputusan dalam pascal ada dua statement yaitu If ... then dan Case ... of, proses pengambilam keputusan berepran penting dalam teknik pemprograman tersetruktur. B. State Statemen mentt IIff .... .... the then n Strukturnya adalah if ungkapan then statement Ungkapan adalah kondisi yang akan diseleksi oleh statement if. Bila kondisi yang diseleksi terpenuhi, maka statemen yang mengikuti then akan diproses, sebaliknya, bila kondisi tidak terpenuhi, maka yang akan diproses adalah statemen berikutnya. Contoh 1 : Uses Crt; Var a:real; B:string[11]; Begin Clrscr; B:=’Tidak Lulus’; Write(‘Berapa nilai anda?’);readln(a); If a>55 then B:=’Lulus’; Writeln(B);Readln; End. Output Misalkan nilai yang diinput 85
Contoh 2 : Uses Crt; Var pilihan:byte; R,L,T,Luas:Real; Begin Gotoxy(10,2);Writeln(‘PILIHAN’); Gotoxy(10,4);Writeln(‘1. Menghitung luas lingkaran’); Gotoxy(10,6);Writeln(‘2. Menghitung luas segitiga’); Gotoxy(10,8);Writeln(‘3. Menghitung luas bujursangkar’); Gotoxy(10,10);Writeln(‘0. Selesai’); Pilihan:=9; While(pilihan<0) or (pilihan>3) do Begin Gotoxy(10,12);Write(‘Pilih nomor (0-3)?’);Readln(pilihan); End; Clrscr; If pilihan=1 then Begin Write(‘Jari-jari Lingkaran =’);Readln(R); Luas:=3.14*R*R; Writeln(‘Luas Lingkaran =’,Luas:9:2); End; PEMPROGRAMAN PASCAL 50
If pilihan=2 then Begin Write(‘Sisi Alas =’);Readln(L); Write(‘Sisi Tinggi =’);Readln(T); Luas:=0.5*L*T; Writeln; Writeln(‘Luas Segitiga =’,Luas:9:2); End; If pilihan=3 then Begin Write(‘Sisi Panjang =’);Readln(T); Write(‘Sisi Lebar =’);Readln(L); Luas:=T*L; Writeln(‘Luas Bujursangkar =’,Luas:9:2); End; Readln; End.
Output
Misalkan nomor yang diinput 1 dan jari-jarinya 10
Contoh 3 : Uses Crt; Var pilih:integer; Begin Clrscr; Writeln(‘Daftar Tabel Penjualan Barang’); Writeln(‘=======================================’); Writ Writel eln( n(‘J ‘Jik ika a anda anda pilih pilih 1 maka maka terd terdap apat at dafta daftar r harg harga a sabun’); Writ Writel eln( n(‘J ‘Jik ika a anda anda pilih pilih 2 maka maka terd terdap apat at dafta daftar r harg harga a shampo’); Writeln(‘Jika anda pilih 0 maka tidak memilih daftar harga’); Writeln(‘=======================================’); Writeln; Writeln(‘Pilihan anda 1,2,0.....’);Readln(pilih); If pilih=1 then Begin Writeln(‘Daftar Harga-harga Sabun’); Writeln(‘====================’); Writ Writel eln( n(‘S ‘Sab abun un Citr Citra a Rp.8 Rp.800’ 00’); ); Writeln(‘Sabun Lifeboy Rp.450’); Writeln(‘Sabun Lux Rp.450’); Writ Writel eln( n(‘S ‘Sab abun un Prit Prity y Rp.3 Rp.300’ 00’); ); End; PEMPROGRAMAN PASCAL 51
If pilih=2 then Begin Writeln(‘Daftar Harga-harga Shampo’); Writeln(‘====================’); Writeln(‘Shampo Sunsilk Rp.700’); Writeln(‘Sha Writeln(‘Shampo mpo Brisk Rp.1100’); Rp.1100’); Writeln(‘Shampo Re Rejoice Rp.1000’); Writeln(‘Sabun Ka Kao Rp.600’); End; If pilih=0 then Begin Writeln(‘Anda tidak memilih daftar harga’); End; Readln; End. Output Misalkan pilihannya adalah 2
C. Statemen Statementt If .... then ... else else Merupakan pengembangan dari struktur IF THEN dengan struktur : If kondisi then statemen 1 Else statemen 2. Contoh 1 : 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. Output Misalkan pilihannya adalah 80
PEMPROGRAMAN PASCAL 52
Contoh 2 : 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); If (nilai<=100) and (nilai>=80) then Begin 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’); End; If (nilai<=69) and (nilai>=60) then Begin 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’); End Else If (nilai<=49) then Begin Writeln(‘Anda mendapat nilai E’); Writeln(‘Poin yang anda peroleh = 0’); End; Readln; End.
Output Misalkan nilainya adalah 80
Nama anda ?Irpan KW NIM anda ?200822018 Berapa nilai anda ?80 Anda mendapat nilai A Poin yang anda peroleh = 4 D. State Statemen men case case .... .... of of Struktur case dipakai untuk memilih dengan kemungkinan lebih dari 2. Bentuk umum struktur case adalah : Case
of : : : PEMPROGRAMAN PASCAL 53
Variable dan konstanta yang dapat dipakai hanyalah yang mempunyai ordinal, yaiutu tipe integer dan char. cha r. Contoh 1: Uses Crt; Var nilai:char; Begin Write(‘Nilai Huruf yang didapat?’); Readln(nilai); Case nilai of ‘A’: Writeln(‘Sangat Baik’); ‘B’: Writeln(‘Baik’); ‘C’: Writeln(‘Cukup’); ‘D’: Writeln(‘Kurang’); ‘E’: Writeln(‘gagal’); End; Readln; End. Output Misalkan nilai yang diinput adalah A
Contoh 2: Uses Crt; 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’,pembelian:7); Writeln(‘Potongan =Rp’,potongan:7); Writeln(‘-----------------------‘); Writeln(‘Jumlah yang harus dibayar=Rp’,pembelian-potongan:7); Readln; End.
Output Misalkan jumlah pembelian yang diinput 10000
Total Pembelian ?10000 Jumlah Pembelian =Rp 10000 Potongan =Rp 500 ------------------Jumlah yang harus dibayar =Rp 9500
PEMPROGRAMAN PASCAL 54
Contoh 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 Writeln(‘Menghitung harga beras’); Writeln(‘===================’);Writeln; Writeln(‘Berapa kilogram yang anda beli’);Readln(kg); beras:=kg*900; Write(‘Anda harus membayar Rp’,beras:7); End; 2:begin Writeln(‘Menghitung harga ketan’); Writeln(‘===================’);Writeln; Writeln(‘Berapa kilogram yang anda beli’);Readln(kg); ketan:=kg*1000; Write(‘Anda harus membayar Rp’,ketan:7); End; 3:begin Writeln(‘Menghitung harga terigu’); Writeln(‘===================’);Writeln; Writeln(‘Berapa kilogram yang anda beli’);Readln(kg); terigu:=kg*900; Write(‘Anda harus membayar Rp’,terigu:7); End Else Begin Write(‘Pilihan anda salah’); Write(‘Pilih salah satu dari 1,2 atau 3’); End; End; Readln; End. Output
Misalkan pilihan kita 1 dan kita membeli 20 kg PEMPROGRAMAN PASCAL 55
Menghitung harga beras ======= ==== Berapa kilogram yang anda beli 20 Anda harus membayar Rp 18000
Latihan 4 (Buatlah Program, Output dan Flowchartnya) 1. Sebuah pasar swalayan akan memberikan diskon sebesar 10% jika pembelian lebih dari 50000. 50000. Kita Kita akan akan membua membuatt program program yang yang menany menanyakan akan jumlah jumlah pembel pembelian ian.. Outpu Outputt program berapa jumlah yang harus dibayar. 2. Buat program program menggunakan menggunakan if then else dengan dengan ketentuan ketentuan sbb: sbb: Nilai diinput Jika nilai = 60 anda ikut perbaikan Jika nilai > 60 anda lulus Jika nilai < 60 anda mengulang perhitungan penjualan penjualan beras 3. Buat program untuk memilih suatu menu yang berisi daftar perhitungan dan ketan (ketentuan harga beras perkilo Rp.900 sedangkan harga ketan perkilo Rp.1000). contoh hasil keluaran : Daftar Perhitungan Penjualan Beras dan Ketan ===================================== Jika anda memilih angka 1 = maka daftar beras Jika anda memilih angka 2 = maka daftar ketan Pilihan anda ? 1 Berapa kilo beras yang anda beli ? 5 Anda harus membayar Rp.4.500 Ada perintah perulangan untuk pertanyaan “mau coba lagi”. 4. Buat program program untuk untuk menentukan menentukan pajak pajak penghasila penghasilan n bagi pegawai pegawai negeri negeri sipil. (ketentu (ketentuan an untuk golongan A adalah gaji dibawah 500.000 kena pajak 0.75%, untuk golongan B adalah gaji antara 500.000-1.000.000 kena pajak 2%, untuk golongan C adalah gaji antara 1.000.000-5.000.000 kena pajak 5%, untuk golongan Dadalah gaji di atas 5.000.000 kena pajak 10%). Nama, NIM, jurusan, gaji diinput Output Nama NIM Gaji Golongan Pajak yang harus dibayar Gaji bersih Jawab 1. Program Uses winCrt; Var pembelian,potongan,bayar:real; Begin Clrscr; Write('Jumlah pembelian ?');Readln(pembelian); if pembelian > 50000 then Begin potongan:=0.1*pembelian; PEMPROGRAMAN PASCAL 56
bayar:=pembelian-potongan; End Else Begin potongan:=0*pembelian; bayar:=pembelian; End; Writeln('Potongan =Rp.',potongan:7:2); Writeln('Jumlah yang harus dibayar =Rp.',bayar:7:2); Readln; End.
Output Misalkan jumlah pembeliannya 100000
2. Program Uses Crt; Var n:Integer; Begin Clrscr; Write('Berapa Nilai Anda?');Readln(n); If n>60 then Writeln('Anda Lulus'); If n=60 then Writeln('Anda ikut perbaikan') Else if n<60 then Writeln('Anda mengulang');Readln; End. Output Berapa Nilai Anda?70 Anda Lulus or Berapa Nilai Anda?60 Anda ikut perbaikan or Berapa Nilai Anda?50 Anda mengulang
3. Program
Uses Crt; Var Angka,kg,harga:longint; Angka,kg,harga:longint; x:Char; Begin Clrscr; Writeln('Daftar Writeln('Daftar Perhitungan Penjualan Beras dan Ketan'); Writeln('==================== Writeln('================================== ========================'); =========='); Writeln('Jika anda memilih angka 1 = maka daftar beras'); Writeln('Jika anda memilih angka 2 = maka daftar ketan'); PEMPROGRAMAN PASCAL 57
Writeln; Write('Pilihan anda ?');Readln(angka); ?');Readln(angka); Writeln; angka:=4; While (angka<1) or (angka>2) do Begin Write('Mau coba lagi (Y/N) ?');Readln(x); if x='N' then Write('Selesai'); if x='Y' then Write('Pilihan Write('Pilihan anda (1 or 2) ?');Readln(angka); End; Writeln; Case angka of 1:Begin Write('Berapa kilo beras yang anda beli ? ');Readln(kg); harga:=kg*900; Write('Anda harus membayar Rp.',harga); End; 2:Begin Write('Berapa kilo ketan yang anda beli ? ');Readln(kg); harga:=kg*1000; Write('Anda harus membayar Rp.',harga); End; End; Readln; End. Output Daftar Perhitungan Penjualan Beras dan Ketan ============== ======= ============== ============== ============= ======= == Jika anda memilih angka 1 = maka daftar beras Jika anda memilih angka 2 = maka daftar ketan Pilihan anda ?6 Mau coba lagi (Y/N) ?Y Pilihan anda (1 or 2) ?1 Berapa kilo beras yang anda beli ?5 Anda harus membayar Rp.4500 or Daftar Perhitungan Penjualan Beras dan Ketan ==================================== Jika anda memilih angka 1 = maka daftar beras Jika anda memilih angka 2 = maka daftar ketan Pilihan anda ?6 PEMPROGRAMAN PASCAL 58
Mau coba lagi (Y/N) ?N Selesai
4. Program Uses Crt; Var nama,NIM,jurusan:String; gol:Char; pajak,pph,bersih,gaji:real; Begin Clrscr; Write('Nama :');Readln(nama); Write('NIM :');Readln(NIM); Write('Jurusan :');Readln(jurusan); Write('Gaji :');Readln(gaji); If (gaji<=500000) then Begin gol:='A'; pajak:=0.75; pph:=0.0075*gaji; End; If (gaji>500000) and (gaji<=1000000) then Begin gol:='B'; pajak:=2; pph:=0.02*gaji; End; If (gaji>1000000) and (gaji<=5000000) then Begin gol:='C'; pajak:=5; pph:=0.05*gaji; End Else If (gaji>5000000) then Begin gol:='D'; pajak:=10; pph:=0.1*gaji; End; Writeln('Golongan :',gol); Writeln('Besarnya Pajak :',pajak:4:2,'%'); Writeln('Pajak yang harus dibayar :',pph:7:0); Writeln('--------------------------------------------'); bersih:=gaji-pph; Writeln('Gaji Bersih:',bersih:7:0); Readln; End. Output
Nama NIM
:Irpan KW :200822018 PEMPROGRAMAN PASCAL 59
Jurusan :Teknik :Teknik Informatika Gaji :1500000 Golongan :C Besarnya Pajak :5.00% Pajak yang harus dibayar : 75000 ------------------------------------------------------------------------------------------------------------------Gaji Bersih :1425000 Flowchart
PEMPROGRAMAN PASCAL 60
mulai
pembelian
tidak pembelian > 50000
bayar:=pembelian
ya bayar:=pembelian-(0.1*pembelian)
Cetak bayar
selesai mulai
Nilai
ya nilai > 60
p:=Anda Lulus
tidak ya nilai = 60
p:=Anda ikut perbaikan
tidak p:=Anda mengulang
cetak p
selesai
Nomor 1
Nomor 2
PEMPROGRAMAN PASCAL 61
mulai
mulai Nama,NIM Jurusan,Gaji
angka
ya
ya gaji<=500000
angka < 1 angka > 2
ya
mau coba lagi
Y/N
gol:=A pajak:=0.75% pph:=0.0075*gaji
tidak
ya
gol:=B pajak:=2% pph:=0.02*gaji
ya
gol:=C pajak:=5% pph:=0.05*gaji
gaji<=1000000
tidak tidak
ya angka = 1
kg
tidak
tidak
gaji<=5000000
tidak
kg
harga:=kg*1000
harga:=kg*900
gol:=D pajak:=10% pph:=0.1*gaji
gaber:=gaji-pph
Cetak harga
Cetak Nama,NIM,Jurusan gaji,pajak,gaber
selesai
selesai
Nomor 3
Nomor 4
PEMPROGRAMAN PASCAL 62