Jumat, 15 April 2011

PASCAL

Pascal, pasti keluar saat UTS nanti... mari kita bahas lagi tentang "PASCAL"
Dimana ada sebuah cerita atau output yang diharapkan untuk kita, kemudian menerjemahkan dalam bentuk pascal. untuk lebih jelasnya, pahami statement-statement yang ada di catatan teman-teman atau bisa di lihat di blog ini.

Misalkan sebuah soal, dengan output yang diharapkan sesuai dengan gambar di bawah ini :


SOAL :


klik pada gambar untuk memperbesar


Terjemahkan atau buatlah sebuah skrip pascal untuk menghasilkan program seperti di atas...!

JAWAB :







PROGRAM GAJI;
USES CRT;


VAR NIP : INTEGER;
    NAMA : STRING [20];
    ALAMAT : STRING [30];
    JABATAN : INTEGER;
    GOLONGAN : STRING;
    GATOT : REAL;
    YN : CHAR;


BEGIN
REPEAT;
CLRSCR;
TEXTCOLOR (15);
GOTOXY (10,4); WRITELN ('GAJI PEGAWAI');
GOTOXY (4,6); WRITELN ('------------------------------------');


GOTOXY (4,8); WRITE ('Masukkan NIP :'); READLN (NIP);
GOTOXY (4,10); WRITE ('Masukkan Nama :'); READLN (NAMA);
GOTOXY (4,12); WRITE ('Masukkan Alamat :'); READLN (ALAMAT);


GOTOXY (4,14); WRITE ('Masukkan Kode Jabatan :'); READLN (JABATAN);


       IF JABATAN = 1 THEN
       BEGIN
       GOTOXY (4,15); TEXTCOLOR (4); WRITELN ('Jabatan Anda : Direktur');
       END;
       IF JABATAN = 2 THEN
       BEGIN
       GOTOXY (4,15); TEXTCOLOR (4); WRITELN ('Jabatan Anda : Wakil Direktur');
       END;
       IF JABATAN = 3 THEN
       BEGIN
       GOTOXY (4,15); TEXTCOLOR (4); WRITELN ('Jabatan Anda : Staff');
       END;


TEXTCOLOR (15);
GOTOXY (4,17); WRITE ('Masukkan Kode Golongan :'); READLN (GOLONGAN);


       IF (GOLONGAN = 'A') OR (GOLONGAN = 'a') THEN
       BEGIN
       TEXTCOLOR (3);
       GOTOXY (4,18); WRITELN ('Golongan : A');
       GOTOXY (4,19); WRITELN ('Gaji Pokok Anda Sebesar : Rp. 1500000.00');
       GOTOXY (4,20); WRITELN ('Tunjangan Anda Sebesar : Rp. 5000000.00');
       GATOT := 1500000 + 5000000;
       TEXTCOLOR (15);
       GOTOXY (4,22); WRITELN ('Total Gaji Anda Sebesar : Rp. ', GATOT:8:2);
       END;


       IF (GOLONGAN = 'B') or (GOLONGAN = 'b') THEN
       BEGIN
       TEXTCOLOR (3);
       GOTOXY (4,18); WRITELN ('Golongan : B');
       GOTOXY (4,19); WRITELN ('Gaji Pokok Anda Sebesar : Rp. 2000000.00');
       GOTOXY (4,20); WRITELN ('Tunjangan Anda Sebesar : Rp. 1000000.00');
       GATOT := 2000000 + 1000000;
       TEXTCOLOR (15);
       GOTOXY (4,22); WRITELN ('Total Gaji Anda Sebesar : Rp. ', GATOT:8:2);
       END;


       IF (GOLONGAN = 'C') or (GOLONGAN = 'c') THEN
       BEGIN
       TEXTCOLOR (3);
       GOTOXY (4,18); WRITELN ('Golongan : C');
       GOTOXY (4,19); WRITELN ('Gaji Pokok Anda Sebesar : Rp. 3000000.00');
       GOTOXY (4,20); WRITELN ('Tunjangan Anda Sebesar : Rp. 2000000.00');
       GATOT := 3000000 + 2000000;
       TEXTCOLOR (15);
       GOTOXY (4,22); WRITELN ('Total Gaji Anda Sebesar : Rp. ', GATOT:8:2);
       END;


GOTOXY (4,24); WRITE ('Isikan Data Baru ? [Y/N] :'); READLN (YN);
UNTIL ( YN='N' ) OR ( YN='n');


END.

Yang perlu diingat di sini adalah,




VAR NIP : INTEGER;
    NAMA : STRING [20];
    ALAMAT : STRING [30];
    JABATAN : INTEGER;
    GOLONGAN : STRING;
    GATOT : REAL;
    YN : CHAR;


Integer digunakan jika data yang akan dimasukkan berupa numeric atau angka.


- String digunakan jika data yang dimasukkan berupa karakter, huruf, dan angka.


- String [20] artinya data yang dimasukkan tidak boleh melebehi 20 karakter.


- Real biasanya digunakan untuk data yang menampilkan hasil desimal.


- Char biasanya digunakan untuk data yang dimasukkan hanya 1 karakter saja, sama dengan Byte.





Penggunaan 


REPEAT;
blablabla
blablabla
UNTIL ( YN='N' ) OR ( YN='n');
digunakan untuk data yang sifatnya mengulang. Skrip di atas dibaca

Mengulang
blablabla
blablabla
Hingga data yang dimasukkan dalam variable YN  adalah N atau n, 
Artinya
 data akan mengulang terus menerus sampai variable YN bertuliskan N atau n.



tentang penggunaan IF, THEN, dan OR, pasti logika ini semua anak subah bisa. 

sekian dulu dari Admin...
jika ada kesulitan dari teman-teman, boleh lah tanya saya.. haahaa,,,
Terima Kasih

Related Posts Plugin for WordPress, Blogger...