Program Administrasi_Mahasiswa;
uses crt;
const
pkkspp = 400000;
infospp = 600000;
elekspp = 500000;
bogaspp = 450000;
ptikspp = 500000;
pkkprak = 100000;
infoprak = 500000;
elekprak = 450000;
bogaprak = 600000;
ptikprak = 350000;
sehat : real = 10000;
var
nm,jur : string;
nojur : byte;
tahun :integer;
spp,prak : real;
tot : real;
begin
clrscr;
writeln(‘Administrasi Mahasiswa Fakultas Teknik dan Kejuruan’);
writeln(‘===================================================’);
write(‘Nama : ‘); readln(nm);
writeln(‘Keterangan Jurusan : ‘);
writeln(’1. PKK’);
writeln(’2. D3 Informatika’);
writeln(’3. D3 Elektro’);
writeln(’4. D3 Boga Perhotelan’);
writeln(’5. PTIK’);
write(‘Jurusan (tulis no saja) : ‘); readln(nojur);
write(‘Tahun Masuk : ‘); readln(tahun);
if tahun<2004 then
begin
if nojur = 1 then
begin
spp := pkkspp;
jur := ‘PKK’
end
else if nojur = 2 then
begin
spp :=infospp;
jur := ‘D3 Informatika’;
end
else if nojur = 3 then
begin
spp :=elekspp;
jur := ‘D3 Elektro’
end
else if nojur = 4 then
begin
spp :=bogaspp;
jur := ‘D3 Boga Perhotelan’;
end
else if nojur= 5 then
begin
spp :=ptikspp;
jur := ‘PTIK’
end
else
writeln(‘Jurusan salah, tolong ulangi !!’);
end
else
begin
if nojur = 1 then
begin
spp := pkkspp;
prak:= pkkprak;
jur := ‘PKK’
end
else if nojur= 2 then
begin
spp :=infospp;
prak:= infoprak;
jur := ‘D3 Informatika’;
end
else if nojur = 3 then
begin
spp :=elekspp;
prak:=elekprak;
jur := ‘D3 Elektro’;
end
else if nojur = 4 then
begin
spp :=bogaspp;
prak:=bogaprak;
jur := ‘D3 Boga Perhotelan’;
end
else if nojur= 5 then
begin
spp :=ptikspp;
prak:=ptikprak;
jur := ‘PTIK’;
end
else
writeln(‘Jurusan salah, tolong ulangi !!’);
end;
tot := spp+prak+sehat;
writeln(‘Nama : ‘,nm);
writeln(‘Jurusan : ‘,jur);
writeln(‘Tahun Masuk : ‘,tahun);
writeln(‘Uang SPP : Rp. ‘,spp:7:2);
writeln(‘Uang Praktikum : Rp. ‘,prak:7:2);
writeln(‘Uang Kesehatan : Rp. ‘,sehat:7:2);
writeln(‘———————————’);
writeln(‘Total Pembayaran : Rp. ‘,tot:7:2);
writeln(‘=================================================’);
readln;
end
Ini adalah program yang saya buat ketika saya membuat tugas untuk ujian praktek semester 1 lalu.
Berikut ini adalah tampilan utama programnya :
Tampilan menu utama Program Pembuatan SIM
Program Data_Surat_Izin_Mengemudi;
Uses WinCrt;
Type SIM = Record
Nama : String[30];
Alamat : String[30];
JK : Char;
Jenis_Kelamin : String[10];
T : String[12];
TL : String [10];
Tinggi : String[5];
Pekerjaan : String[20];
No_SIM : Word;
Berlaku : String[10];
Pembuatan : String[10];
Jenis_SIM : Char;
End;
Var
Filesim : File of SIM;
Data : SIM;
Pil,Pilihan,Ul : Char;
Procedure Menu;
Begin
Clrscr;
Gotoxy(28,2);Write('{PROGRAM DATA PEMBUATAN SIM}');
Gotoxy(25,3);Write('==================================');
Gotoxy(30,4);Write('--======--');
Gotoxy(25,5);Write('==================================');
Gotoxy(28,7);Write('-* 1. Tambah Data SIM *-');
Gotoxy(28,9);Write('-* 2. Edit Data SIM *-');
Gotoxy(28,11);Write('-* 3. Hapus Data SIM *-');
Gotoxy(28,13);Write('-* 4. Tampilkan Data SIM *-');
Gotoxy(28,15);Write('-* 5. Lihat *-');
Gotoxy(28,17);Write('-* 6. Tentang *-');
Gotoxy(28,19);Write('-* 7. Keluar *-');
Gotoxy(26,24);Writeln('Hak Cipta Dilindungi Oleh "SAYA"');
Gotoxy(35,21);Write('Pilihan [1-7]: ');Pil:=Readkey;
End;
Procedure BukaFile;
Begin
Assign(Filesim,'Sim.Dat');{$IReset(Filesim);{$I+};
End;
Procedure Tambah;
Var
Lagi: Char;
Ada : Boolean;
i : Integer;
NOCR: Word;
Begin
Ul:='Y';
Lagi:='Y';
Clrscr;
BukaFile;
If IOResult<>0 Then
Rewrite(Filesim);
Repeat
Clrscr;
Ada:=False;
i:=0;
Gotoxy(30,1);write('=====================');
Gotoxy(30,2);Write('| TAMBAH DATA |');
Gotoxy(30,3);Write('=====================');
Gotoxy(20,6);Write('No. SIM : ');Readln(NOCR);
While (Ada=False) And (i<>Filesize(Filesim)) Do
Begin
Seek(Filesim,i);
Read(Filesim,Data);
If Data.No_SIM=NOCR Then
Ada:=True
Else
Inc(i);
End;
If (Ada=True) Then
Begin
Gotoxy(26,17);Write('Nomor SIM "',NOCR,'" Ini Sudah Ada !');
End
Else
Begin
Seek(Filesim,Filesize(Filesim));
Data.No_SIM:=NOCR;
Gotoxy(20,7);Write('Nama : ');Readln(Data.Nama);
Gotoxy(20,8);Write('Alamat : ');Readln(Data.Alamat);
Gotoxy(20,9);Write('Tempat & Tanggal Lahir : ');Readln(Data.T);
Gotoxy(20,10);Write(' ');Readln(Data.TL);
Gotoxy(20,11);Write('Jenis Kelamin (L: Laki-laki dan P: Perempuan):
');Readln(Data.JK);
If (Data.JK = 'L') Or (Data.JK = 'l') Then
Data.Jenis_Kelamin:= 'Pria'
Else
If (Data.JK = 'P') Or (Data.JK = 'p') Then
Data.Jenis_Kelamin:= 'Wanita'
Else
Data.Jenis_Kelamin:= '-';
Gotoxy(20,12);Write('Jenis Kelamin Anda : ', Data.Jenis_Kelamin);
Gotoxy(20,13);Write('Tinggi : ');Readln(Data.Tinggi);
Gotoxy(20,14);Write('Pekerjaan : ');Readln(Data.Pekerjaan);
Gotoxy(20,15);Write('Tanggal Berlaku : ');Readln(Data.Berlaku);
Gotoxy(20,16);Write('Tanggal Pembuatan : ');Readln(Data.Pembuatan);
Gotoxy(20,17);Write('Jenis SIM : ');Readln(Data.Jenis_SIM);
Write(Filesim,Data);
End;
Gotoxy(26,19);Write('Mau Tambah Data Lagi [Y/T]: ');Lagi:=Upcase(Readkey);
Until Lagi<>'Y';
Close(Filesim);
End;
Procedure Edit;
Var
Lagi: Char;
Ada : Boolean;
i : Integer;
NOCR: Word;
Begin
Ul:='Y';
Lagi:='Y';
Clrscr;
BukaFile;
If IOResult <> 0 Then
Write('Data Masih Kosong...!')
Else
Begin
Repeat
Clrscr;
Ada:=False;
i:=0;
Gotoxy(30,1);write('=====================');
Gotoxy(30,2);Write('| EDIT DATA |');
Gotoxy(30,3);Write('=====================');
Gotoxy(20,6);Write('Masukkan No. SIM : ');Readln(NOCR);
While (Ada=False) And (i<>Filesize(Filesim)) Do
Begin
Seek(Filesim,i);
Read(Filesim,Data);
If Data.No_SIM=NOCR Then
Begin
Ada:=True;
Gotoxy(20,7);Write('Nama : ',Data.Nama);
Gotoxy(20,8);Write('Alamat : ',Data.Alamat);
Gotoxy(20,9);Write('Tempat & Tanggal Lahir : ',Data.T);
Gotoxy(20,10);Write(' ',Data.TL);
Gotoxy(20,11);Write('Jenis Kelamin : ', Data.Jenis_Kelamin);
Gotoxy(20,12);Write('Tinggi : ',Data.Tinggi);
Gotoxy(20,13);Write('Pekerjaan : ',Data.Pekerjaan);
Gotoxy(20,14);Write('Tanggal Berlaku : ',Data.Berlaku);
Gotoxy(20,15);Write('Tanggal Pembuatan : ',Data.Pembuatan);
Gotoxy(20,16);Write('Jenis SIM : ',Data.Jenis_SIM);
End
Else
Inc(i);
End;
If (Ada=True) Then
Begin
Data.No_SIM:=NOCR;
Gotoxy(20,18);Write('Nama : ');Readln(Data.Nama);
Gotoxy(20,19);Write('Alamat : ');Readln(Data.Alamat);
Gotoxy(20,20);Write('Tempat & Tanggal Lahir : ');Readln(Data.T);
Gotoxy(20,21);Write(' ');Readln(Data.TL);
Gotoxy(20,22);Write('Jenis Kelamin (L: Laki-laki dan P: Perempuan):
');Readln(Data.JK);
If (Data.JK = 'L') Or (Data.JK = 'l') Then
Data.Jenis_Kelamin:= 'Pria'
Else
If (Data.JK = 'P') Or (Data.JK = 'p') Then
Data.Jenis_Kelamin:= 'Wanita'
Else
Data.Jenis_Kelamin:= '-';
Gotoxy(20,23);Write('Jenis Kelamin Anda : ', Data.Jenis_Kelamin);
Gotoxy(20,24);Write('Tinggi : ');Readln(Data.Tinggi);
Gotoxy(20,25);Write('Pekerjaan : ');Readln(Data.Pekerjaan);
Gotoxy(20,26);Write('Tanggal Berlaku : ');Readln(Data.Berlaku);
Gotoxy(20,27);Write('Tanggal Pembuatan : ');Readln(Data.Pembuatan);
Gotoxy(20,28);Write('Jenis SIM : ');Readln(Data.Jenis_SIM);
Seek(Filesim,i);
Write(Filesim,Data);
End
Else
Begin
Gotoxy(27,29);Write('No. SIM "',NOCR,'" Ini Tidak Ada!');
End;
Gotoxy(27,30);Write('Mau Edit Data Lagi [Y/T]: ');Lagi:=Upcase(Readkey);
Until Lagi<>'Y';
End;
Close(Filesim);
End;
Procedure Hapus;
Var
FileTmp : File of SIM;
Lagi,Hapus: Char;
Ada : Boolean;
i : Integer;
NOCR : Word;
Begin
Ul:='Y';
Lagi:='Y';
Clrscr;
Repeat
BukaFile;
If IOResult<>0 Then
Write('Data Masih Kosong...!')
Else
Begin
Clrscr;
Assign(FileTmp,'Sim.Tmp');
Rewrite(FileTmp);
Ada:=False;
i:=0;
Gotoxy(30,1);write('=====================');
Gotoxy(30,2);Write('| HAPUS DATA |');
Gotoxy(30,3);Write('=====================');
Gotoxy(20,6);Write('Masukkan No. SIM : ');Readln(NOCR);
While (Ada=False) And (i<>Filesize(Filesim)) Do
Begin
Seek(Filesim,i);
Read(Filesim,Data);
If Data.No_SIM=NOCR Then
Ada:=True
Else
Inc(i);
End;
If (Ada=True) Then
Begin
Gotoxy(20,7);Write('Nama : ',Data.Nama);
Gotoxy(20,8);Write('Alamat : ',Data.Alamat);
Gotoxy(20,9);Write('Tempat & Tanggal Lahir : ',Data.T);
Gotoxy(20,10);Write(' ',Data.TL);
Gotoxy(20,11);Write('Jenis Kelamin : ', Data.Jenis_Kelamin);
Gotoxy(20,12);Write('Tinggi : ',Data.Tinggi);
Gotoxy(20,13);Write('Pekerjaan : ',Data.Pekerjaan);
Gotoxy(20,14);Write('Tanggal Berlaku : ',Data.Berlaku);
Gotoxy(20,15);Write('Tanggal Pembuatan : ',Data.Pembuatan);
Gotoxy(20,16);Write('Jenis SIM : ',Data.Jenis_SIM);
Gotoxy(20,17);Write('Apakah Anda Mau Menghapus Data Ini? [Y/T]: ');Readln(Hapus);
If Upcase(Hapus)='Y' Then
Begin
For i := 1 to Filesize(Filesim) Do
Begin
Seek(Filesim,i-1);
Read(Filesim,Data);
If Data.No_SIM<>NOCR Then
Write(FileTmp,Data);
End;
Close(Filesim);
Assign(Filesim,'Sim.Dat');
Erase(Filesim);
Assign(FileTmp,'Sim.Tmp');
Rename(FileTmp,'Sim.Dat');
Gotoxy(20,17);Write('No. SIM "',NOCR,'" Sudah Di Hapus!');
End;
End
Else
Begin
Gotoxy(28,18);Write('No. SIM "',NOCR,'" Ini Tidak Ada!');
End;
Gotoxy(28,19);Write('Mau Hapus Data Lagi [Y/T]: ');Lagi:=Upcase(Readkey);
End;
Until Lagi<>'Y';
End;
Procedure Tampil;
Var
i : Integer;
Begin
Clrscr;
Ul:='Y';
BukaFile;
If IOResult <> 0 Then
Writeln(' Maaf Data Masih Kosong ! ')
Else
Begin
Clrscr;
Writeln(' ========================== ');
Writeln(' | DATA KETERANGAN SIM | ');
Writeln(' ========================== ');
Writeln('===========================================================================
====');
Writeln('| | | Jns| | Tempat | | | No. SIM & |');
Writeln('|No| Nama |Klmn| Alamat | dan Tgl |Tinggi| Pekerjaan | Tanggal |');
Writeln('| | | | | Lahir | | | Berlaku |');
Writeln('===========================================================================
====');
i:=0;
While Not EoF(Filesim) Do
Begin
Inc(i);
Read(Filesim,data);
Writeln('|',i:2,Data.Nama:14,Data.JK:5,Data.Alamat:13,Data.T:12,Data.Tinggi:7,Data.P
ekerjaan:12,Data.No_SIM:12,'|');
Writeln('|',Data.TL:46,Data.Berlaku:31,'|':1Writeln('===============================
================================================');
Close(Filesim);
End;
Writeln;
Write(' Tekan tombol apa saja untuk Kembali... ' );Readkey;
End;
Procedure Lihat_Nama;
Var
Nama : String[20];
Lagi : Char;
Begin
Ul:='Y';
Repeat
Clrscr;
Write('Masukkan Nama Anda : ');Readln(Nama);
BukaFile;
If IOResult <> 0 Then
Write('Maaf Data Masih Kosong ! ')
Else
Begin
While Not EoF(Filesim) Do
Begin
Read(Filesim,Data);
If Data.Nama = Nama Then
Begin
Clrscr;
Gotoxy(18,5);Write('====================================================');
Gotoxy(34,6);Write('SURAT IZIN MENGEMUDI');Gotoxy(64,6);Write(Data.Jenis_SIM);
Gotoxy(35,7);Write('(Driving License)');
Gotoxy(18,8);Write('====================================================');
Gotoxy(18,9);Write('Nama : ',Data.Nama);Gotoxy(60,9);Write(Data.Jenis_Kelamin);
Gotoxy(18,10);Write('Alamat : ',Data.Alamat);
Gotoxy(18,11);Write('Tempat & Tanggal Lahir : ',Data.T);
Gotoxy(18,12);Write(' ',Data.TL);
Gotoxy(18,13);Write('Tinggi : ',Data.Tinggi);
Gotoxy(18,14);Write('Pekerjaan : ',Data.Pekerjaan);
Gotoxy(18,15);Write('No. SIM : ',Data.No_SIM);
Gotoxy(18,16);Write('Berlaku s/d : ',Data.Berlaku);
Gotoxy(18,17);Write('Pembuatan : ',Data.Pembuatan);
Gotoxy(18,18);Write('====================================================');
End;
End;
Close(Filesim);
End;
Writeln;
Gotoxy(30,19);Write('Mau Lihat Data Lagi [Y/T]: ');Lagi:=Upcase(Readkey);
Until Lagi<>'Y';
End;
Procedure Lihat_No_SIM;
Var
No_SIM : Word;
Lagi : Char;
Begin
Ul:='Y';
Repeat
Clrscr;
Write('Masukkan No SIM Anda : ');Readln(No_SIM);
BukaFile;
If IOResult <> 0 Then
Write('Maaf Data Masih Kosong ! ')
Else
Begin
While Not EoF(Filesim) Do
Begin
Read(Filesim,Data);
If Data.No_SIM = No_SIM Then
Begin
Clrscr;
Gotoxy(18,5);Write('====================================================');
Gotoxy(34,6);Write('SURAT IZIN MENGEMUDI');Gotoxy(64,6);Write(Data.Jenis_SIM);
Gotoxy(35,7);Write('(Driving License)');
Gotoxy(18,8);Write('====================================================');
Gotoxy(18,9);Write('Nama : ',Data.Nama);Gotoxy(60,9);Write(Data.Jenis_Kelamin);
Gotoxy(18,10);Write('Alamat : ',Data.Alamat);
Gotoxy(18,11);Write('Tempat & Tanggal Lahir : ',Data.T);
Gotoxy(18,12);Write(' ',Data.TL);
Gotoxy(18,13);Write('Tinggi : ',Data.Tinggi);
Gotoxy(18,14);Write('Pekerjaan : ',Data.Pekerjaan);
Gotoxy(18,15);Write('No. SIM : ',Data.No_SIM);
Gotoxy(18,16);Write('Berlaku s/d : ',Data.Berlaku);
Gotoxy(18,17);Write('Pembuatan : ',Data.Pembuatan);
Gotoxy(18,18);Write('====================================================');
End;
End;
Close(Filesim);
End;
Writeln;
Gotoxy(30,19);Write('Mau Lihat Data Lagi [Y/T]: ');Lagi:=Upcase(Readkey);
Until Lagi<>'Y';
End;
Procedure Lihat_JenisKelamin;
Var
i : Integer;
JK : Char;
Lagi : Char;
Begin
Ul:='Y';
Lagi:='Y';
Repeat
Clrscr;
Write('Masukkan Jenis Kelamin (L: Laki-laki dan P: Perempuan) : ');Readln(JK);
BukaFile;
If IOResult <> 0 Then
Write('Maaf Data Masih Kosong ! ')
Else
Begin
Clrscr;
Writeln(' ========================== ');
Writeln(' | DATA KETERANGAN SIM | ');
Writeln(' ========================== ');
Writeln('===========================================================================
====');
Writeln('| | | Jns| | Tempat | | | No. SIM & |');
Writeln('|No| Nama |Klmn| Alamat | dan Tgl |Tinggi| Pekerjaan | Tanggal |');
Writeln('| | | | | Lahir | | | Berlaku |');
Writeln('===========================================================================
====');
i:=0;
While Not EoF(Filesim) Do
Begin
Read(Filesim,Data);
If Data.JK = JK Then
Begin
Inc(i);
Writeln('|',i:2,Data.Nama:14,Data.JK:5,Data.Alamat:13,Data.T:12,Data.Tinggi:7,Data.P
ekerjaan:12,Data.No_SIM:12,'|');
Writeln('|',Data.TL:46,Data.Berlaku:31,'|':1End;
Writeln('===========================================================================
====');
Close(Filesim);
End;
Writeln;
Write('Mau Lihat Data Lagi [Y/T]: ');Lagi:=Upcase(Readkey);
Until Lagi<>'Y';
End;
Procedure Lihat;
Var
Pilihan : Char;
Begin
clrscr;
Gotoxy(31,1);write('=====================');
Gotoxy(31,2);Write('| LIHAT |');
Gotoxy(31,3);Write('=====================');
Gotoxy(27,7);Write('1. Lihat Berdasarkan Nama');
Gotoxy(27,8);Write('2. Lihat Berdasarkan Nomor SIM');
Gotoxy(27,9);Write('3. Lihat Berdasarkan Jenis Kelamin');
Gotoxy(27,12);Write('Pilihan [1..3]: ');Pil:=Readkey;
if pil='1' then Lihat_Nama;
if pil='2' then Lihat_No_SIM;
if pil='3' then Lihat_JenisKelamin;
End;
Procedure Tentang;
Begin
Ul:='Y';
BukaFile;
Clrscr;
writeln;
writeln(' ________$$$$ =====================');
writeln(' _______$___$ | TENTANG |');
writeln(' _______$___$$ =====================');
writeln(' _______$$___$$ ');
writeln(' ________$____$$ ');
writeln(' ________$$____$$$ ');
writeln(' _________$$_____$$ ----------------------------------- ');
writeln(' _________$$______$$ Program Data Pembuatan Surat Izin');
writeln(' __________$_______$$ Mengemudi Versi 1.0');
writeln(' ____$$$$$$$________$$ Aplikasi Sederhana Ini Dibuat');
writeln(' __$$$_______________$$$$$$ Oleh Muhammad Rida');
writeln(' _$$____$$$$____________$$$$ Hak Cipta © 2014-20XX');
writeln(' _$___$$$__$$$___________$$$ Kontak HP : 085249178713');
writeln(' _$$________$$$____________$ Facebook : Muhammad Rida');
writeln(' __$$____$$$$$$____________$ Twitter : @muhammad_rida14');
writeln(' __$$$$$$$____$$___________$ -----------------------------------');
writeln(' __$$_______$$$$___________$');
writeln(' ___$$$$$$$$$__$$_________$$');
writeln(' ____$________$$$$_____$$$$$');
writeln(' ____$$____$$$$$$____$$$$$$$');
writeln(' _____$$$$$$____$$__$$' );
writeln(' _______$_____$$$_$$$');
write(' ________$$$$$$$$$$ Tekan tombol apa saja untuk Kembali... ');Readkey;
End;
Begin
Repeat
Menu;
Case Pil Of
'1' : Tambah;
'2' : Edit;
'3' : Hapus;
'4' : Tampil;
'5' : Lihat;
'6' : Tentang;
End;
Until (Ul<>'Y') Or (Pil='7');
DoneWinCrt;
End.
Program ini program penjualan dimana jika jumlah penjualan lebih dari Rp. 65.000 mendapatkan diskon
sebesar 10%. Berikut listing programnya :
Program Discount;
Uses wincrt;
Var
Nama:string;
Begin
writeln(‘Program Discount’);
repeat
writeln(‘ ‘);
readln(Nama);
readln(Jumlah);
Diskon := 0;
Bayar := Jumlah-Diskon;
writeln(‘ ‘);
writeln(‘==================================’);
until keypressed;
readln;
End.
2.Program Gaji Karyawan
Program ini di buat untuk keperluan penggajian Pegawai / Karyawan dengan ketentuan Gaji pokok +
Tunjangan – Ppn 10%. Berikut listing programnya :
Uses wincrt;
Var nama:string[20];jabatan:string;
Gaji:longint;
Tunj,ppn,Total,gajibersih:real;
Begin
Clrscr;
Begin
Gaji:=3000000;
Tunj:=0.2* gaji;
End
Gaji:=2000000;
Tunj:=0.2* gaji;
End
Begin
Gaji:=1000000;
Tunj:=0.2* gaji;
End
Else
Begin
Gaji:=800000;
Tunj:=0.2* gaji;
End;
ppn:=0.1*gaji;
Writeln(‘PPN 10 % : Rp.’,ppn:9:2);
Total:=gaji+Tunj-ppn;
Readln;
3.Program Penghitung Luas Segitiga.
Program ini bertujuan untuk menghitung luas segitiga dengan memasukan nilai Alas dan Tingginya.
Berikut listing programnya :
program luas;
uses wincrt;
var
a,t: integer;
L: real;
begin
clrscr;
readln (a);
readln(t);
writeln(‘ ‘);
L:=(a*t)/2;
writeln(‘Luas Segitiga adalah =’,L:6:2);
readln;
end.
Program ini sebagai kalkulator sederhana dengan memasukan nilai angka ke 1 dan ke 2 serta pilihan
operator nya. Berikut listing programnya :
uses wincrt;
var x,y,hasil:real;
jawab:char;
begin
readln (jawab);
write (‘masukan angka ke-2 = ‘);readln (y);
begin
hasil:= x+y
end;
begin
hasil:= x-y
end;
begin
hasil:= x*y
end;
if (jawab=’/’) then
begin
hasil:= x/y
end;
end.
5.Program Penghitung Luas Persegi Panjang.
Program ini untuk menghitung luas dari sebuah persegi panjang dengan memasukan nilai panjang dan
pendeknya. Berikut listing programnya :
Program Luas_Persegi_Panjang;
uses wincrt;
var
begin
luas := panjang*lebar;
writeln;
end.
Dokumenkul-dodiksriyanto.blogspot.co.id/2014/01/membuat-5-contoh-program-menggunakan-turbo-
pascal.
disini saya memakai turbo pascal 7.0 for dos, mungkin yang memakai versi window kayaknya sintaksnya
sama hehehehe... :v.
Penjumlahan
Pembagian
Pengurangan
Perkalian
sekian dari PR saya :v ee.. maksudnya sekian dari artikel saya semoga artikel ini bermanfaat untuk bosku
;), jika ada yang error atau salah sintaks please coment di bawah artikel ini :v Wasalamu'alaikum Wr Wb.
(-/\-)
Hasil
Sourcode:
uses wincrt;
type
data = record
kode : string[5];
nama : string[10];
harga : real;
jumlah : integer;
total : real;
end;
var
t,n,a:string;
jumlahbrg,i,j:byte;
totalpembelian,tot,kembali:real;
nama:string[20];
barang:array [1..100] of data;
begin
writeln('Nama : Aldi Suryadi ');
writeln('NIM : 3125311046 ');
writeln('____________________________________');
writeln(' Nota Pembelian ');
writeln(' Toko Aldi Suryadi ');
writeln('Jl. Bausasran Kec. Danurejan (08994025463)');
writeln('-----------------------------------------');
writeln;
write('Tanggal Pembelian : ');readln(t);
write('Nama Pembeli : ');readln(n);
writeln;
write('Jumlah Pembelian : ');readln(jumlahbrg);
for i := 1 to jumlahbrg do
begin
writeln('Masukkan data ke-',i:2);
begin
write('Kode Barang : ');readln(barang[i].kode);
write('Nama Barang : ');readln(barang[i].nama);
write('Harga Satuan : ');readln(barang[i].harga);
write('Jumlah Beli : ');readln(barang[i].jumlah);
end;
end;
writeln;
writeln('Nama Pembeli : ',n);
writeln('==================================================');
writeln('|No|Nama Barang|Harga Satuan|Jumlah Beli| Total |');
writeln('==================================================');
begin
barang[i].total:=0;
for i := 1 to jumlahbrg do
begin
barang[i].total:=barang[i].harga*barang[i].jumlah;
write(i:2);
write(barang[i].nama:12);
write(barang[i].harga:14:2);
write(barang[i].jumlah:5);
writeln(barang[i].total:15:2);
end;
writeln('--------------------------------------------------');
for j:= 1 to jumlahbrg do
tot:= tot+barang[j].total;
writeln(' Total Keseluruhan : ',tot:20:2);
write(' Total Pembayaran : ');read(totalpembelian);
kembali:= totalpembelian-tot;
writeln(' Jumlah Kembalian : ',kembali:20:2);
writeln('==================================================');
writeln('TERIMA KASIH')
end;
end.
Setelah mempelajari pengertian variabel pada tutorial sebelumnya, dalam tutorial belajar pascal di
duniailkom kali ini kita akan membahas tentang pengertian konstanta dan cara penulisan konstanta dalam
bahasa pemrograman pascal.
Pengertian Konstanta
Secara singkat, konstanta adalah variabel yang nilainya bersifat tetap dan tidak dapat diubah sepanjang
kode program. Umumnya konstanta digunakan untuk nilai yang tidak akan berubah, seperti nilai phi
dalam matematika yang bernilai 3.14, atau kecepatan_cahaya yang bernilai 299.792.458 m/s.
Cara Penulisan Konstanta di dalam Pascal
Di dalam pascal, sebuah konstanta hanya dapat diisi dengan tipe data dasar, yakni char, integer, real,
boolean, serta tipe data string dan set. Penulisan nama konstanta juga mengkuti aturan penulisan
identifier, yakni:
Berbeda dengan variabel, konstanta harus diisi nilai pada saat deklarasi. Berikut format dasar penulisan
konstanta:
const
nama_kosntanta=nilai_konstanta;
const
phi = 3.14;
dollar = 13000;
nama = ‘Joko’;
Perhatikan bahwa pascal menggunakan tanda sama dengan ‘ = ’ untuk memberikan nilai kepada
konstanta saat dideklarasikan (proses inisialisasi).
program konstanta;
uses crt;
const
phi=3.14;
dollar=13000;
nama='Joko';
var
situs:string='www.duniailkom.com';
begin
clrscr;
writeln(phi:4:2);
writeln(dollar);
writeln(nama);
writeln(situs);
readln;
end.
Dalam kode program diatas, saya membuat beberapa konstanta, kemudian menampilkan nilainya
menggunakan perintah writeln. Khusus pada baris ke 14, saya menulis phi:4:2, ini digunakan untuk
men-format tampilan angka desimal. Angka 4:2 berarti saya ingin menampilkan angka dengan 4 digit
sebelum desimal, dan 2 digit setelah tanda desimal.
Jika kita mencoba untuk mengubah nilai konstanta di dalam kode program, pascal akan mengeluarkan
“error: variable identifier expected”, dimana kita diberitahu untuk menggunakan variabel jika ingin
mengubah nilai konstanta.
Sepanjang pembuatan program, konstanta relatif jarang digunakan jika dibandingkan dengan variabel.
Konstanta umumnya dipakai untuk program matematis yang sering memiliki nilai yang selalu tetap.
contoh penggunaan const adalah ketika menghitung luas lingkaran. dimana nilai phi = 3.14 tidak bisa
dirubah2.. maka dari itu lebih baik kita menggunakan konstanta.
program pascal_aritha;
uses wincrt;
const phi = 3.14;
var
r : integer;
luas : real;
begin
write ('==============Program Luas Lingkaran===============');
writeln;
writeln;
luas:= phi*r*r;
writeln('luas =', luas:0:2);
end.
untuk mendeklarasikan sebuah konstanta dan nilainya. menggunakan perintah const nama_konst = nilainya;
fungsi dari luas:0:2 adalah untuk menampilkan 2 angka ibelakang koma.
kemudian pada variabel luas type datanya tida integer lagi. tapi real. kenapa? karena integer adalah type data
untuk bilangan bulat. karena luas merupakan bilangan berkoma (karena mengalikan nya dengan 3.14) maka kita
menggunakan type data real untuk bilangan berkoma.
tipe data
type
bulat =integer;
jadi di bagian var nya kita bisa menggunakan tipe data tersebut
bulat p;
seperti itu..
lanjut.
program pascal_aritha;
uses wincrt;
const x= 3;
var
a,b,c : integer;
rata : real;
begin
write ('==============Program Rata Rata===============');
writeln;
source : http://kuliahkusayang.blogspot.com/2011/02/variabel-dan-konstanta-pada-pascal.html#ixzz52TYYFbor
program cek_kelulusan_siswa;
uses crt;
var
nama : string[25];
kelas : string[5];
no_absen : string[3];
n_tugas : byte;
n_u_hari : byte;
n_u_umum : byte;
rerata : real;
lulus : boolean;
predikat : string[20];
begin
clrscr;
writeln(‘====================================================’);
writeln(‘| Program Mengecek Kelulusan Siswa |’);
writeln(‘====================================================’);
writeln;
writeln(‘Input Data Siswa’);
writeln(‘—————-’);
write(‘Nama : ‘); readln(nama);
write(‘Kelas : ‘); readln(kelas);
write(‘No Absen : ‘); readln(no_absen);
write(‘Nilai Tugas : ‘); readln(n_tugas);
write(‘Nilai Ulangan Harian : ‘); readln(n_u_hari);
write(‘Nilai Ulangan Umum : ‘); readln(n_u_umum);
rerata:=(n_tugas + 2 * n_u_hari + 3 * n_u_umum)/6;
if rerata >=70 then lulus:=true
else lulus:= false;
clrscr;
writeln(‘====================================================’);
writeln(‘| Program Mengecek Kelulusan Siswa |’);
writeln(‘====================================================’);
writeln;
writeln(‘ Siswa dengan’);
writeln(‘—————-’);
writeln(‘Nama : ‘,nama);
writeln(‘Kelas : ‘,kelas);
writeln(‘No Absen : ‘,no_absen);
writeln(‘Nilai Tugas : ‘,n_tugas);
writeln(‘Nilai Ulangan Harian : ‘,n_u_hari);
writeln(‘Nilai Ulangan Umum : ‘,n_u_umum);
writeln(‘Rata – rata : ‘,rerata:0:2);
if lulus then
begin
if rerata < 80 then predikat:=’memuaskan’
else if rerata <90 then predikat:=’sangat memuaskan’
else predikat:=’dengan pujian’;
writeln(‘Dinyatakan Lulus dengan ‘,predikat);
end
else
writeln(‘Dinyatakan Tidak Lulus’);
readln;
end.
uses crt;
type nilai = record
hari,tugas,umum,na : real;
end;
type mapel = record
kimia,basindo : nilai;
end;
type siswa = record
nama : string[25];
nis : string[3];
mp : mapel;
end;
var
i,n,a : byte;
student : array [1..100] of siswa;
stop : boolean;
b : string[4];
begin
stop := false;
Repeat
clrscr;
write(‘Banyak siswa : ‘); readln(n);
clrscr;
writeln(‘====================================================================
===’);
writeln(‘NIS Nama Siswa Mata Pelajaran N.Hr N.Tgs N.Umum N.Akhir’);
writeln(‘———————————————————————–’);
a:=4;
for i := 1 to n do
begin
with student[i] do
begin
readln(nis);
gotoxy(6,a);
readln(nama);
with mp do
begin
gotoxy(26,a);
writeln(‘Bahasa Indonesia’);
with basindo do
begin
gotoxy(44,a);
readln(hari);
gotoxy(50,a);
readln(tugas);
gotoxy(57,a);
readln(umum);
na:=(2*hari+tugas+3*umum)/6;
gotoxy(65,a);
writeln(na:3:2);
end;