BELAJAR BAHASA PROGRAM PASCAL






Kelebihan program PascalKelebihan dari bahasa pemrograman Pascal adalah:
Tipe Data Standar, tipe-tipe data standar yang telah tersedia pada kebanyakan bahasa pemrograman. Pascal memiliki tipe data standar: boolean, integer, real, char, string,
User defined Data Types, programmer dapat membuat tipe data lain yang diturunkan dari tipe data standar.
Strongly-typed, programmer harus menentukan tipe data dari suatu variabel, dan variabel tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain dari format yang ditentukan.
Terstruktur, memiliki sintaks yang memungkinkan penulisan program dipecah menjadi fungsi-fungsi kecil (procedure dan function) yang dapat dipergunakan berulang-ulang.
Sederhana dan Ekspresif, memiliki struktur yang sederhana dan sangat mendekati bahasa manusia (bahasa Inggris) sehingga mudah dipelajari dan dipahami. Bahasa PASCAL juga merupakan bahasa yang digunakan sebagai standar bahasa pemrograman bagi tim nasional Olimpiade Komputer Indonesia (TOKI). Selain itu, Bahasa PASCAL masih digunakan dalam IOI (International Olympiad in Informatics).Tipe Data Dalam PascalDalam bahasa Pascal terdapat beberapa jenis tipe data yang bisa digunakan untuk sebuah variabel atau konstanta pada program. Tipe Data tersebut antara lain adalah :

Tipe Data
Deskripsi (range variabel)

Byte
angka dari 0 sampai 255

Integer
angka dari -32768 to 32767

Real
semua nilai pecahan dari 1E-38 to 1E+38

Boolean
nilai TRUE atau FALSE

Char
semua karakter dari tabel ASCII
semua huruf, spasi, frase

Kondisi Pemilihan
Instruksi Pemilihan
Pada umumnya, penyelesaian suatu masalah memiliki beberapa alternatif pelaksanaan perintah atau aksi. Suatu perintah hanya dapat dijalankan apabila persayaratan atau kondisi tertentu dipenuhi.
Instruksi pemilihan adalah instruksi yang dipakai untuk memakai satu dari beberapa kemungkinan aksi berdasarkan suatu persyaratan .
Ada dua bentuk instruksi pemilihan yang sering digunakan, yaitu:
I. IF…THEN
II. CASE…OF
1. Kondisi 1 kasus dgn IF….THEN
If kondisi then
aksi
endif If kondisi then aksi Formula kondisi 1 kasus di Algo Formula kondisi 1 kasus di Pascal
Contoh: Pseudocode
Program Genap
{mencetak pesan “bilangan genap” jika sebuah bilangan bulat yang diinput merupakan bilangan genap}
Deklarasi
X : integer
Algoritma:
Read (x)
If x mod 2 = 0 then
write (‘genap’)
endif
Contoh: Pascal
PROGRAM GENAP;
USES WINCRT;
VAR
X : INTEGER;
BEGIN
WRITE ('NILAI X :'); READLN (X);
IF X MOD 2 = 0 THEN
WRITELN ('BILANGAN TERSEBUT ADALAH BILANGAN GENAP');
END.
IF…THEN..ELSE
If kondisi then
aksi1
ELSE
AKSI2
endif If kondisi then aksi1 ELSE AKSI2 Formula kondisi 2 kasus di Algo Formula kondisi 2 kasus di Pascal
Contoh: Pseudocode
Program Genap
{mencetak pesan “bilangan genap” jika sebuah bilangan bulat yang diinput merupakan bilangan genap}
Deklarasi
X : integer
Algoritma:
Read (x)
If x mod 2 = 0 then
write (‘genap’)
ELSE
WRITE (‘GAJIL’);
endif
Contoh: Pascal
PROGRAM GENAP;
USES WINCRT;
VAR
X : INTEGER;
BEGIN
WRITE ('NILAI X :'); READLN (X);
IF X MOD 2 = 0 THEN
WRITELN ('BILANGAN TERSEBUT ADALAH BILANGAN GENAP')
ELSE
WRITELN ('BILANGAN TERSEBUT ADALAH BILANGAN GANJIL');
END.
KONDISI 3 KASU/LEBIH
If kondisi1 then
aksi1
ELSE
IF KONDISI2 THEN
AKSI2
ELSE
IF KONDISI3 THEN
AKSI3
ELSE
endif
ENDIF
ENDIF
10. Formula kondisi 3 kasus atau lebih di Algo
If kondisi1 then
aksi1
ELSE
IF KONDISI2 THEN
AKSI2
ELSE
IF KONDISI3 THEN
AKSI3
ELSE aksi4 Formula kondisi 3 kasus atau lebih di Pascal
Contoh soal:
Misalkan karyawan PT “ABC” dikelompokkan berdasarkan golongannya. Upah perjam tiap karyawan bergantung pada golongannya. Jumlah jam kerja yang normal selama seminggu adalah 48 jam. Kelebihan jam kerja dianggap lembur dgn upah lembur adalah Rp.3000/jam untuk semua golongan karyawan. Buatlah algoritma yg membaca nama karyawan dan jumlah jam kerjanya selama seminggu, lalu menghitung gaji mingguannya.
Gol Upah per jam
A Rp. 4000
B Rp. 5000
C Rp. 6000
D Rp. 7500
START NAMA$, GOL, JJK,JAMLEMBUR, UPJ,UPAHTOTAL NAMA, GOL, JJK GOL =’A’ UPJ = 4000 Y T GOL =’B’ UPJ = 5000 Y T GOL =’C’ UPJ = 6000 Y GOL =’D’ UPJ = 7500 Y T T JJK <= 48 Upahtotal=JJK*UPJ Y T Jamlembur=JJK-48 Upahtotal=48*UPJ+jamlahlembur*3000 NAMA, UPAHTOTAL START

PSEUDOCODE:
PROGRAM upahkaryawan
{ menghitung upah mingguan karyawan, input nama, gol, jumlah jam kerja}
Deklarasi
nama :string
gol :char
JJK,jamlembur : integer
upJ,upahtotal :real
ALGORITMA:
READ (NAMA,GOL,JJK)
IF GOL =‘A’ THEN UPJ =4000
ELSE
IF GOL =‘B’ THEN UPJ =5000
ELSE
IF GOL =‘C’ THEN UPJ =6000
ELSE
IF GOL =‘D’ THEN UPJ =7500
ENDIF
ENDIF
ENDIF
ENDIF


IF JJK <= Jamkerjanormal then
upahtotal = jjk * upahperjam
Else
jamlembur = jjk – jamkerjanormal
upahtotal = jamkerjanormal * upahperjam +jamlembur * upahlembur
Endif
Write (nama, upahtotal)

PROGRAM upahkaryawan;
{menghitung upah mingguan karyawan, input nama, gol, jumlah jam kerja}
USES WINCRT;
var
nama :string ;
gol :char ;
JJK,jamlembur : integer ;
upJ,upahtotal :real;
CONST
JAMKERJANORMAL = 48;
UPAHLEMBUR =3000;
begin
write ('nama karyawan :');readln (nama);
write ('golongan :');readln (gol);
write ('julah jam kerja :');readln (jjk);
IF GOL ='A' THEN UPJ :=4000
ELSE
IF GOL ='B' THEN UPJ :=5000
ELSE
IF GOL ='C' THEN UPJ :=6000
ELSE
IF GOL ='D' THEN UPJ :=7500;


IF JJK <= JAMKERJANORMAL THEN
UPAHTOTAL:=JJK *UPJ
ELSE
JAMLEMBUR:=JJK - JAMKERJANORMAL;
UPAHTOTAL:= JAMKERJANORMAL * UPJ + JAMLEMBUR *UPAHLEMBUR;
WRITELN ('NAMA KARYAWAN =',NAMA);
WRITELN ('JUMLAH LEMBUR =',JAMLEMBUR , 'JAM');
WRITELN ('UPAH TOTAL =',UPAHTOTAL:7:0);
READLN;
END.
II. CASE..OF
- Instruksi CASE digunakan sebagai instruksi pemilihan yg akan dilakukan hanya bergantung pada nilai dari satu macam var.
Var tersebut harus bertipe CHAR atau Integer
Bentuk umum, CASE dlm algoritma adalah: CASE var nilai1 :aksi1 nilai2 :aksi2 nilai3 :aksi3 . nilain :aksi_n default : aksi_x ENDCASE
CONTOH
PROGRAM upahkaryawan;
{menghitung upah mingguan karyawan, input nama, gol, jumlah jam kerja}
USES WINCRT;
var
nama :string ;
gol :char ;
JJK,jamlembur : integer ;
upJ,upahtotal :real;
CONST
JAMKERJANORMAL = 48;
UPAHLEMBUR =3000;
begin
write ('nama karyawan :');readln (nama);
write ('golongan :');readln (gol);
write ('julah jam kerja :');readln (jjk);
CASE GOL OF
'A' : UPJ :=4000;
'B' : UPJ :=5000;
'C' : UPJ :=6000;
'D' : UPJ :=7500;
END;
IF JJK <= JAMKERJANORMAL THEN
UPAHTOTAL:=JJK *UPJ
ELSE
JAMLEMBUR:=JJK - JAMKERJANORMAL;
UPAHTOTAL:= JAMKERJANORMAL * UPJ + JAMLEMBUR *UPAHLEMBUR;
WRITELN ('NAMA KARYAWAN =',NAMA);
WRITELN ('JUMLAH LEMBUR =',JAMLEMBUR , 'JAM');
WRITELN ('UPAH TOTAL =',UPAHTOTAL:7:0);
READLN;
END.
CASE dlm pascal:
CASE VAR OF
NILAI1 : AKSI1
NILAI2 : AKSI2
NILAI3 : AKSI3
NILAIN : AKSIN
END;

Indeks nilai mahasiswa ditentukan berdasarkan nilai ujiann yg diraihnya. Ketentuan pemberian nilai indeks adalah sebagai berikut:
jika nilai ujian >= 80, indeks nilai =A
jika 70 <= nilai ujian <80, indeks nilai = B
jika 55 <=nilai ujian <70, indeks nilai = C
jika 40 <=nilai ujian <55, indeks nilai = D
jika nilai ujian < 40, indeks nilai = E
buatlah algoritma yg membaca nilai ujian, lalu menentukan indeksnya, kemudian mencetak nilai dan indeksnya .
A. PERULANGAN FOR-DO
Looping for-do digunakan untuk mengulang statement berulang kali sejumlah yangditentukan. Bila terdapat lebih dari satu statement yang ada di dalam looping makamenggunakan begin...end;, jika hanya satu blok saja tidak perlu menggunakan begin...end;.
Ada 3 bentuk looping for-do yaitu for-to-do, for-downto-do dan for-do tersarang.1. For-to-doAdalah looping dari perhitungan kecil ke perhitungan besar.Bentuk Umumnya yaitu:For (nilai awal) to (nilai akhir)
Contoh:
var x:integer;beginFor x:= 1 to 5 do writeln(‘Sixiz gitu lho..!!’);end.
Output :Sixiz gitu lho..!!Sixiz gitu lho..!!Sixiz gitu lho..!!Sixiz gitu lho..!!Sixiz gitu lho..!!

2. For-downto-doAdalah Looping dari nilai besar ke nilai kecil kecil. Bentuknya sebagai berikut :
Bentuk Umum :For (Nilai_akhir) downto (nilai_awal) doContoh :var x:integer;beginFor x:= 5 downto 1 doBeginwrite(x);writeln(‘ Percobaan’);end;end.
Share on Google Plus
0 Komentar untuk "BELAJAR BAHASA PROGRAM PASCAL "

Back To Top