0% menganggap dokumen ini bermanfaat (0 suara)
6K tayangan26 halaman

17 Contoh Program Pascal Untuk Latihan Programming

Artikel ini memberikan 15 contoh program Pascal untuk latihan pemrograman bahasa Pascal. Contoh-contoh program tersebut meliputi program sederhana seperti menentukan bilangan ganjil genap, menghitung luas persegi panjang, hingga program lebih kompleks seperti menghitung gaji karyawan berdasarkan status pernikahan dan jumlah anak.

Diunggah oleh

Siti Saadah Assyifa
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
6K tayangan26 halaman

17 Contoh Program Pascal Untuk Latihan Programming

Artikel ini memberikan 15 contoh program Pascal untuk latihan pemrograman bahasa Pascal. Contoh-contoh program tersebut meliputi program sederhana seperti menentukan bilangan ganjil genap, menghitung luas persegi panjang, hingga program lebih kompleks seperti menghitung gaji karyawan berdasarkan status pernikahan dan jumlah anak.

Diunggah oleh

Siti Saadah Assyifa
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 26

17 Contoh Program Pascal untuk Latihan Programming

written by Teddy

Untuk mempelajari macam-macam bahasa pemrograman, Anda harus sering-sering latihan dan


mempraktekkannya. Anda bisa mempraktekannya menggunakan editor yang mendukung bahasa
pemrograman tersebut. Bahkan, ada beberapa bahasa pemrograman yang didukung oleh
banyak jenis sistem operasi komputer yang dipakai oleh banyak orang.

Salah satu bahasa pemrograman yang sering digunakan oleh programmer adalah bahasa
pemrograman Pascal. Pascal adalah bahasa pemrograman yang dibuat oleh Prof. Niklaus Wirth,
seorang anggota International Federation of Information Processing (IFIP) pada tahun 1971 dan
termasuk ke dalam tingkatan bahasa pemrograman yang tinggi. Nama Pascal sendiri terinspirasi dari
nama matematikawan Perancis yang pertama kali menciptakan mesin penghitung, yaitu Blaise
Pascal. Kelebihan dan kekurangan bahasa pemrograman generasi ke-4 juga dimiliki oleh bahasa
pemrograman ini.

Pada artikel kali ini, kami akan memberikan beberapa contoh program pascal yang bisa menjadi
bahan latihan Anda. Daripada lama-lama, yuk disimak contoh-contohnya di bawah ini:

Contoh 1: Apakah Anda irit atau boros?

program Irit_Boros;
uses crt;
var
saku, peng, hasil : integer;

begin
write(‘Jumlah uang saku Anda per minggu : ‘); readln(saku);
write(‘Pengeluaran Anda per minggu : ‘); readln(peng);
hasil:=saku-peng;
if hasil>=peng then
writeln(‘sisa uang saku Anda per minggunya adalah : ‘,hasil,’ artinya Anda adalah orang yang irit’)
else
writeln(‘sisa uang saku Anda per minggunya adalah : ‘,hasil,’ artinya Anda adalah orang yang boros’);
end.

Contoh 2: Contoh program Pascal untuk Menghitung Gaji

program hitung_gaji;
uses crt;

var
nama_karyawan:string;
alamat:string;
gaji_pokok,tunjangan,pajak,gaji_bersih:comp;

begin
writeln(‘menghitung gaji bersih karyawan’);
write (‘nama karyawan:’);readln(nama_karyawan);
write (‘alamat:’);readln(alamat);
write (‘gaji pokok:’);readln(gaji_pokok);
tunjangan:=0.15 * gaji_pokok;
pajak:=0.075 * gaji_pokok;
gaji_bersih:=gaji_pokok+tunjangan-pajak;
writeln(nama_karyawan);
writeln(‘gaji pokok Anda adalah’,gaji_pokok);
writeln(‘tunjangan Anda sebesar’,tunjangan);
writeln(‘pajak penghasilan Anda sebesar’,pajak);
writeln(‘maka gaji bersih Anda adalah’,gaji_bersih);
end.

Contoh 3: Program “If_Kombinasi”

program IfKombinasi;

uses crt;

var
angka1,angka2 : integer;

begin
writeln(‘Masukkan angka pertama: ‘); readln(angka1);
writeln(‘Masukkan angka kedua: ‘); readln(angka2);
if {not} (angka1>3) and {or} (angka2>4) then
begin
writeln(‘Anda memasukkan nilai angka pertama > 3 dan kedua > 4’);
end
end.

Contoh 4: Program Tebak Angka

program Tebak_Angka;

uses crt;

var
angka,tebakan : integer;

begin
clrscr;
angka:= 2;
writeln(‘Coba tebak angka antara 1 sampai 10’); readln(tebakan);
if angka = tebakan then
writeln(‘Selamat!, tebakan kamu benar.’)
else
writeln(‘Wakwawww, tebakan kamu salah.’)
end.

Contoh 5: Program Menghitung Detik Menit

program JamKeMenit;

uses crt;

var
jam, menit,i,hasil,dtk,hasildtk : integer;
begin
clrscr;
write(‘Masukkan Nilai Jam : ‘); readln(jam);
i:=60;
dtk:=3600;
if jam =1 then
begin
hasil:=jam*i;
hasildtk:=jam*dtk;
writeln(jam, ‘ jam sama dengan ‘,hasil,’ menit dan ‘, hasildtk, ‘ detik’);
end
else
begin
hasil:=jam*60;
hasildtk:=jam*dtk;
writeln(jam,’ jam sama dengan ‘,hasil, ‘ menit dan ‘, hasildtk, ‘ detik’);
end;
end.

Contoh 6: Program Kalkulator

Program Kalkulatia;
uses crt;

var angka1,angka2,hasil:real,2;
operasi:char;

begin
clrscr;
writeln(‘KALKULATOR’);
writeln(‘===================’);
write(‘Input Angka Pertama : ‘); readln(angka1);
write(‘Operasi yang dilakukan(+,-,/,*) : ‘); readln(operasi);
write(‘Input Angka Kedua: ‘); readln(angka2);
case operasi of
‘+’: hasil :=angka1+angka2;
‘-‘: hasil :=angka1-angka2;
‘*’: hasil :=angka1*angka2;
‘/’: hasil :=angka1/angka2;
end;
writeln(‘Hasil dari ‘,angka1,’ ‘, operasi,’ ‘, angka2, ‘ = ‘,’ ‘, hasil);
end.

Contoh 7: Pangkat Kuadrat

program pangkat_kuadrat;
uses crt;

var
bil : integer;
function pangkat2(b: integer) : integer;
var
hasil : integer;  {hasil sebagai variabel lokal}

begin
hasil := b *b;
pangkat2 := hasil;
end;

{bagian prog.utama}
begin
clrscr;
write(‘masukan bilangan bulat : ‘); readln(bil);
write(‘hasil pangkatnya adalah ‘, pangkat2(bil));
readkey;
end.

Contoh 8: Menghitung Luas Persegi Panjang

program Luas_Persegi_Panjang;

uses crt;

var
panjang : real;
lebar : real;
luas : real;

begin
clrscr;
writeln(‘===================================’);
writeln(‘| ‘,’Program untuk Menghitung Luas Persegi Panjang’,’ |’);
WRITELN(”);
writeln(‘| ‘,’Rumus : Panjang x Lebar (p x l)’,’ |’);
writeln(‘===================================’);
writeln(”);
write(‘Nilai Panjang: ‘); readln(panjang);
write(‘Nilai Lebar: ‘); readln(lebar);
Writeln(‘Rumus Luas: Panjang x Lebar (p x l)’);
luas :=panjang*lebar;
writeln(”);
writeln(‘=============================’);
writeln(‘| ‘,’Jadi p x l = ‘,panjang:0:1,’ x ‘,lebar :0:1);
writeln(‘==============================’);
writeln(luas:0:1);
end.

Contoh 9: Contoh program Pascal “If Bercabang”

program NeastedIf;
uses crt;
var
A,B,C : integer;

begin
clrscr;
writeln (‘Masukkan tiga angka dengan spasi’); readln(A, B, C);
if A >= B then
begin
if A >= C then
writeln (A, ‘ adalah nilai terbesar’)
else
writeln (C, ‘ adalah nilai terbesar’)
end
else if B >= C then

begin
if B >= C then
writeln (B, ‘ adalah nilai terbesar’)
else
writeln (C, ‘ adalah nilai terbesar’)
end
else if C >= A or B then
writeln(C, ‘ adalah nilai terbesar’);
end.

Contoh 10: Program Data Kepegawaian

program data_pegawai;
uses crt;

var
gajipokok, gajibersih, tunjangan1, tunjangan2, tunjangan3, tunjangan4 :real;
status :char;
nama, alamat :string[30];
jumlah :integer;

begin
clrscr;
write(‘Nama                  : ‘); readln(nama);
write(‘Alamat                : ‘); readln(nama);
write(‘Gaji pokok            : Rp ‘); readln(gajipokok);
write(‘Status D:menikah, S:belum menikah : ‘); readln(status);
write(‘Jumlah anak           : ‘); readln(jumlah);
if (status = ‘D’) then
if(jumlah <= 3) then begin
tunjangan1 :=(5 * gajipokok) / 100;
tunjangan2 :=(2 * gajipokok * jumlah) / 100;
gajibersih := gajipokok + tunjangan1 + tunjangan2;
writeln(‘tunjangan suami/istri : Rp ‘,tunjangan1:0:0);
writeln(‘tunjangan anak        : Rp ‘,tunjangan2:0:0);
writeln(‘gaji bersih           : Rp ‘,gajibersih:0:0);
end
else
begin
tunjangan1 :=(5 * gajipokok) / 100;
tunjangan2 :=(2 * gajipokok * 3) / 100;
tunjangan3 :=(3 * gajipokok * (jumlah – 3)) / 100;
tunjangan4 :=tunjangan2 + tunjangan3;
gajibersih :=gajipokok + tunjangan1 + tunjangan4;
writeln(‘tunjangan suami/istri : Rp ‘,tunjangan1:0:0);
writeln(‘tunjangan anak        : Rp ‘,tunjangan4:0:0);
writeln(‘Gaji bersih           : Rp ‘,gajibersih:0:0);
writeln(‘Terima Kasih’);
end
else
writeln(‘gajibersih            : Rp ‘,gajipokok:0:0);
readkey;
end.

Contoh 11: Menentukan Bilangan Ganjil atau Genap

program GanjilGenap;
uses crt;

var
angka :integer;

begin
clrscr;
writeln(‘Status Bilangan’);
writeln(‘===============’);
write(‘Masukkan Bilangan: ‘); readln(angka);
if angka < 0 then
begin
if angka mod 2 = 0 then
writeln(‘Status Bilangan : GENAP = NEGATIF’)
else
writeln(‘Status Bilangan : GANJIL = NEGATIF’)
end
else
begin
if angka mod 2 = 0 then
writeln(‘Status Bilangan : GENAP = POSITIF’)
else
writeln(‘Status Bilangan : GANJIL = POSITIF’)
end;
end.

Contoh 12: Game Tebak-Tebakan


program Game_Tebak;
uses crt;
var
pilih : integer;
tebak1, tebak2, tebak3  : string ;

begin
clrscr;
writeln(‘=======================================’);
writeln(‘|’,’ SELAMAT DATANG DI GAME TEBAK ASAL’,’|’);
writeln(‘=======================================’);
writeln(”);
writeln(‘*’,’PILIH KATEGORINYA ‘,’*’);
writeln(‘1. Mudah’);
writeln(‘2. Sedang’);
writeln(‘3. Sulit’);
writeln(‘———————–‘);
writeln(”);
write(‘Mau pilih kategori yang mana nih? 1,2, atau 3 : ‘); readln(pilih);

case pilih of
1:
begin
writeln(‘===========================’);
writeln(‘| ‘,’Kategori Mudah’,’|’);
writeln(‘===========================’);
write(‘Soal Tebak : Siapakah grup band yang ga pernah memihak?’); readln(tebak1);
if tebak1=’netral’ then
writeln(‘Tebakan kamu Bener’)
else
writeln(‘Tebakan kamu Salah, jawabannya adalah Netral’);
end;

2:
begin
writeln(‘===========================’);
writeln(‘| ‘,’Kategori Sedang’,’ |’);
writeln(‘===========================’);
write(‘Soal Tebak : Bidadari-bidadari, kalo tanpa dada jadi apa? ‘); readln(tebak2);
if tebak2=’biri biri’ then
writeln(‘Tebakan kamu Bener. Berarti pikiran kamu ga ngeres’)
else
writeln(‘Tebakan kamu Salah, jawabannya biri biri. Kamu tadi mikir yang nggak-nggak yah??’);
end;

3:
begin
writeln(‘============================’);
writeln(‘| ‘,’Kategori Sulit’, ‘ |’);
writeln(‘============================’);
write(‘Soal Tebak : Siapakah mantan dari penulis artikel ini? ‘); readln(tebak3);
if tebak3=’MaafKurangBeruntung’ then
writeln(‘Tebakan kamu Bener. Kok kamu tahu sih?’)
else
writeln(‘Tebakan kamu Salah, coba deh tanya pacar kamu. Siapa tau dia mantan si penulis wkwkwk’);
end;
end;
end.

Contoh 13: Program untuk Menentukan Usia

program menghitung_usia
uses wincrt;

var
nama : string;
umur,TL:integer;

begin
writeln(‘nama kamu siapa?’);readln(nama);
writeln(‘tahun lahir kamu?’);readln(TL);

umur:=2018-TL;
writeln(umur);
readkey;
end.

Contoh 14: Penentuan Harga Buah berdasarkan Kualitas

uses crt;

Var
Berat,harga,hargaperkg:integer;
Kualitas:char;

Begin
Clrscr;
Write(‘ Massukkan Kualitas Buah [A/B/C] : ‘); readln(kualitas);
Write(‘ Berapa Kg yang dibeli? ‘ ); readln(berat);
Case kualitas of
‘A’,’a’: hargaperkg:=1000;
‘B’,’b’: hargaperkg:=750;
‘C’,’c’: hargaperkg:=500;
Else
Begin
Hargaperkg:=0;
Writeln(‘Salah Input’);
End;
End;
Harga:=hargaperkg*berat;
Writeln(‘ Harga per Kg : Rp.’,hargaperkg);
Writeln(‘ Harga Total : Rp.’,harga);
End.

Contoh 15: Program untuk Menghitung Luas Segitiga

uses crt;

var
alas,tinggi:integer;
procedure hitung_luas(a,t:integer);

var
luas:real;

begin
clrscr;
luas:=a*t/2;
writeln(‘Luas segitiga =’,luas);
end;

begin
writeln(‘Masukkan ukuran alas =’);readln(alas);
writeln(‘Masukkan ukuran tinggi =’);readln(tinggi);
hitung_luas(alas,tinggi);
readln;
end.

Contoh 16: Membuat file .txt menggunakan Pascal

uses crt;

var
Tulisan:text;
a,b:byte;
c:byte;

begin
clrscr;
writeln(‘Masukkan angka pertama =’);readln(a);
writeln(‘Masukkan angka kedua =’);readln(b);
c:=a+b;
writeln(‘Jika dijumlahkan, nilainya adalah =’,c);
assign(Tulisan,’hitung.txt’);
rewrite(Tulisan);
write(tulisan,a);
write(Tulisan,’+’);
write(Tulisan,b);
write(Tulisan,’=’);
write(Tulisan,c);
Close(Tulisan);
readln;
end.

Contoh 17: Program untuk Menentukan Biaya Dan Grade

uses crt;

var
nilai:byte;

begin
clrscr;
Write(‘masukkan nilai =’);Readln(nilai);
if nilai>0 then
begin
Writeln(‘GRADE = O ‘);
Writeln(‘Besar biaya = Rp.550000’);
end
else
if nilai<=1 then begin Writeln(‘GRADE = E ‘);
Writeln(‘Besar biaya = Rp.450000’);
end else if nilai<=40 then begin Writeln(‘GRADE = D’);
Writeln(‘Besar biaya = Rp.350000’); end else if nilai<=60 then begin Writeln(‘GRADE = C’);
Writeln(‘Besar biaya = Rp.250000’); end Else if nilai<=70 then begin Writeln(‘GRADE = B’);
Writeln(‘Besar biaya = Rp.150000’); end else begin If nilai >=100 then Writeln(‘GRADE = A’);
Writeln(‘Besar biaya = Rp.50000’);
end;
readln;
end.

Contoh 18: Program untuk Mencari Predikat

uses crt;

Var
nilai:byte;
A,B,C,D:string;

begin
clrscr;
write (‘masukkan nilai=’);readln(nilai);
if nilai< 69 then
writeln(‘predikat D’);
if nilai<79then
writeln (‘predikat C’);
if nilai<90 then
writeln (‘predikat B’);
if nilai<101 then
writeln(‘predikat A’);
readln;
end.
Contoh 19: Program konversi bilangan desimal ke bilangan biner

uses crt;

var Des:integer;
Bin:string;

begin
clrscr;
writeln(‘PROGRAM KONVERSI BILANGAN DESIMAL KE BILANGAN BINER’);
write(‘Masukkan bilangan Desimal=’);
readln(Des);
Bin:=’’;
repeat
begin
{menghitung biner dari hasil bagi}

If Des mod 2=0 then Bin:=’0’+Bin


else Bin:=’1’+Bin;

{membagi bulat bilangan desimal}

Des:= Des div 2;


end;
Until Des=0;
Writeln(‘Bilangan Biner =’,Bin);
readln;
end.
Program hitung_ipk; // memulai program

// memanggil plugin crt dari bawaan program pascal ini

uses crt;

// membuat variabel yang di butuhkan untuk menghitung nilai ipk ini

var i,n,sks,nilai,jml,jmlsks,jmlmutu:integer;

rata:real;

k,mk:string;

//-------------------------------------------------

// membuat prosedure untuk menentukan bobot dari nilai dari setiap matakuliah

procedure bobot_nilai(a:string);

begin

if a='a' then nilai:=4

else if a='b' then nilai:=3

else if a='c' then nilai:=2

else if a='d' then nilai:=1

else if a='e' then nilai:=0;


end;

//--------------------------------------------------

// membuat fungsi sendiri untuk menghitung nilai sks dan nilai sesuai gendrenya

function hitung(a,b:integer):integer;

begin

jml:=a*b;

end;

//--------------------------------------------------

// menjumlahkan semua sks dari matakuliah yang di masukan

procedure jumlah_sks(a:integer);

begin

jmlsks:=jmlsks+a;

end;

//--------------------------------------------------

// menghitung jumlah mutu dari nilai gendre matakuliah

procedure jumlah_mutu(a:integer);

begin

jmlmutu:=jmlmutu+a;
end;

//--------------------------------------------------

// menghitung rata-rata dari nilai yang di dapat untuk mendapatkan nilai IPK nya

function rerata(a,b:integer):real;

begin

rata:=b/a;

end;

//--------------------------------------------------

// Memulai proses program utama

begin

clrscr; // untuk menghapus histori sebelumnya pada layar hasil

write('Banyak mata kuliah = '); readln(n); // memasukan jumlah mata kuliah yang akan di hitung

writeln;

writeln('----------------------------------------------');

writeln('No Makul SKS Keriteria Nilai Mutu');

writeln(' a/b/c/d/e ');

writeln('----------------------------------------------');

for i:=1 to n do // melakukan pengulangan sebanyak jumlah matakuliah yang nanti di input
begin

write(i); // menampilkan urutan matakuliah yang di input

gotoxy(4,6+i); readln(mk); // memasukan dan menampilkan nama matakuliah

gotoxy(20,6+i); readln(sks); // memasukan dan menampilkan jumlah sks matakuliah

gotoxy(28,6+i); readln(k); // memasukan dan menampilkan gendre nilai matakuliah

bobot_nilai(k); // memanggil prosedur bobot nilai untuk menentukan nilai dari seriap gendre

gotoxy(37,6+i); write(nilai); // menampilkan nilai gendre

hitung(sks,nilai); // memanggil fungsi hitung untuk menghitung nilai sks dan nilai gendre

gotoxy(43,6+i); write(jml:4); // menampilkan hasil dari perhitungan sks dengan nilai gendre

jumlah_sks(sks); // menjumlahkan keseluruhan sks dari setiap matakuliah yang ada

jumlah_mutu(jml); // menjumlahkan keseluruhan nilai mutu/gendre dari setiap matakuliah yang ada

writeln; // membuat jarak enter

end;

writeln('---------------------------------------------');

write('Jumlah');
gotoxy(20,wherey); write(jmlsks); // menampilak jumlah sks yang telah di jumlah

gotoxy(43,wherey); writeln(jmlmutu:4); // menampilkan jumlah nilai mutu/gendre yang telah di


jumlah

rerata(jmlsks,jmlmutu); // mengitung rata-rata dari jumlah sks dengan nilai mutu/gendre untuk
mendapatkan nilai IPK

writeln('---------------------------------------------');

write('IP = ',rata:2:2); // menampilkan hasil IPK dari selurh matakuliah yang ada

readkey;

end. // selesai

untuk penjelasannya, di dalam bahasa pemograman pascal ini semua procedure atau function di
simpan di atas program utama sehingga jika kita menyimpan function atau prosedure di bawah atau
di dalam program utama akan terjadi error. Dan Program utamanya itu dalah ini

Baca Juga:

Tutorial Codeigniter Bahasa Indonesia Lengkap Plus Source Code

Tutorial PHP Bahasa Indonesia Lengkap Plus Source Code

Cara Membuat CRUD Plus Upload Gambar dengan PHP dan MySQL

Cara Mudah Membuat CRUD dengan Codeigniter dan MySQL

//--------------------------------------------------

// Memulai proses

begin

clrscr; // untuk menghapus histori sebelumnya pada layar hasil

write('Banyak mata kuliah = '); readln(n); // memasukan jumlah mata kuliah yang akan di hitung

writeln;
writeln('----------------------------------------------');

writeln('No Makul SKS Keriteria Nilai Mutu');

writeln(' a/b/c/d/e ');

writeln('----------------------------------------------');

for i:=1 to n do // melakukan pengulangan sebanyak jumlah matakuliah yang nanti di input

begin

write(i); // menampilkan urutan matakuliah yang di input

gotoxy(4,6+i); readln(mk); // memasukan dan menampilkan nama matakuliah

gotoxy(20,6+i); readln(sks); // memasukan dan menampilkan jumlah sks matakuliah

gotoxy(28,6+i); readln(k); // memasukan dan menampilkan gendre nilai matakuliah

bobot_nilai(k); // memanggil prosedur bobot nilai untuk menentukan nilai dari seriap gendre

gotoxy(37,6+i); write(nilai); // menampilkan nilai gendre

hitung(sks,nilai); // memanggil fungsi hitung untuk menghitung nilai sks dan nilai gendre

gotoxy(43,6+i); write(jml:4); // menampilkan hasil dari perhitungan sks dengan nilai gendre

jumlah_sks(sks); // menjumlahkan keseluruhan sks dari setiap matakuliah yang ada


jumlah_mutu(jml); // menjumlahkan keseluruhan nilai mutu/gendre dari setiap matakuliah yang ada

writeln; // membuat jarak enter

end;

writeln('---------------------------------------------');

write('Jumlah');

gotoxy(20,wherey); write(jmlsks); // menampilak jumlah sks yang telah di jumlah

gotoxy(43,wherey); writeln(jmlmutu:4); // menampilkan jumlah nilai mutu/gendre yang telah di


jumlah

rerata(jmlsks,jmlmutu); // mengitung rata-rata dari jumlah sks dengan nilai mutu/gendre untuk
mendapatkan nilai IPK

writeln('---------------------------------------------');

write('IP = ',rata:2:2); // menampilkan hasil IPK dari selurh matakuliah yang ada

readkey;
program Input_data;
uses crt;
type
    mhs= record
    nama, alamat : string [11];
    fakultas, jurusan : string[9];
    nim, semester, ttl : integer;
    th_msk : longint;
    end;
const
     z = #0;   c = #180; e =#192;  g=#194; m=#196; k=#217;
     b = #179; d = #191; f =#193;  h=#195; j=#197; l=#218;
var
   nama, alamat : string [11];
   fakultas, jurusan, tempat : string [9];
   nim, semester, ttl, a,i,n, pilih : integer;
   Th_msk : longint;
   dtmhs:array [1..10] of mhs;

procedure input;
begin
clrscr;
       gotoxy(23,1);writeln ('======  INPUT DATA MAHASISWA   ======');
       gotoxy(23,2);write ('Jumlah Mahasiswa    : '); readln (a); writeln;
       for i:= 1 to a do
       begin
       with dtmhs[i] do
            begin
                 writeln ('Data Ke-',i);

                 write ('Nama   : '); readln (nama);


            repeat
                  write ('Tahun Masuk    : '); readln (Th_msk);
                  if th_msk = 2015 then
                     begin
                     repeat
                      write ('NIM : 602001150'); readln (nim);
                       case nim of
                        01..27 : writeln ('Nama Dosen Pembimbing : Faisal ST MT');
                        28..54 : writeln ('Nama Dosen Pembimbing : Andi Muhammad Syafar');
                        55..81 : writeln ('Nama Dosen Pembimbing : Andi Hutami Endang S,Kom. M,Kom.');
                       else write ('NIM ini tidak terdaftar'); writeln;
                       end;
                     until nim  <= 81
                     end
            else
                  if th_msk = 2016 then
                     begin
                     repeat
                           write ('NIM : 602001160'); readln (nim);
                            case nim of
                            01..27 : writeln ('Nama Dosen Pembimbing : Faisal ST MT');
                            28..54 : writeln ('Nama Dosen Pembimbing : Andi Muhammad Syafar');
                            55..81 : writeln ('Nama Dosen Pembimbing : Andi Hutami Endang S,Kom. M,Kom.');
                           else write ('NIM ini tidak terdaftar'); writeln;
                           end;
                     until nim <=81
                     end
             else
                 if th_msk = 2017 then
                    begin
                    repeat
                          write ('NIM : 602001170'); readln (nim);
                           case nim of
                           01..27 : writeln ('Nama Dosen Pembimbing : Faisal ST MT');
                           28..54 : writeln ('Nama Dosen Pembimbing : Andi Muhammad Syafar');
                           55..81 : writeln ('Nama Dosen Pembimbing : Andi Hutami Endang S,Kom. M,Kom.');
                          else write ('NIM ini tidak terdaftar'); writeln;
                          end;
                    until nim <=81
                    end
                    else writeln ('Tahun Masuk Hanya tahun 2015 s/d 2017');
             until Th_msk <> 2015 or 2017 or 2016;

       write ('Tempat Lahir : '); readln (tempat);


       write ('Tanggal Lahir : '); readln (ttl);
       write ('Alamat  : '); readln (alamat);
       write ('Fakultas  : '); readln (fakultas);
       write ('Jurusan   : '); readln (Jurusan);
       write ('Semester  : '); readln (Semester);
             end;
       readln;
       end;
end;

procedure output;
begin
clrscr;
     gotoxy (35,1);   writeln ('DATA  MAHASISWA');
     writeln
(l,m,m,m,m,m,m,m,m,m,m,m,g,m,m,m,m,m,m,m,m,m,m,m,m,g,m,m,m,m,m,m,m,m,m,m,m,g,m,m,
m,m,m,
     m,m,m,g,m,m,m,m,m,m,m,m,m,m,g,m,m,m,m,m,m,m,m,m,g,m,m,m,m,m,m,m,m,m,m,d);
     writeln (b,z,'  NAMA   ',z,b,z,'   NIM    ',z,b,z,'   TTL   ',z,b,z,'ALAMAT',z,
     b,z,'FAKULTAS',z,b,z,'JURUSAN',z,b,z,'SEMESTER',z,b);
     writeln
(h,m,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,m,j,m,m,
m,m,m,
     m,m,m,j,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,c);
     writeln (b,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,
     z,z,z,b,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,b);
     writeln
(h,m,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,m,j,m,m,
m,m,m,
     m,m,m,j,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,c);
     writeln (b,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,
     z,z,z,b,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,b);
     writeln
(h,m,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,m,j,m,m,
m,m,m,
     m,m,m,j,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,c);
     writeln (b,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,
     z,z,z,b,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,b);
     writeln
(h,m,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,m,j,m,m,
m,m,m,
     m,m,m,j,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,c);
     writeln (b,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,
     z,z,z,b,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,b);
     writeln
(h,m,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,m,j,m,m,
m,m,m,
     m,m,m,j,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,c);
     writeln (b,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,
     z,z,z,b,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,b);
     writeln
(h,m,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,m,j,m,m,
m,m,m,
     m,m,m,j,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,c);
     writeln (b,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,
     z,z,z,b,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,b);
     writeln
(h,m,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,m,j,m,m,
m,m,m,
     m,m,m,j,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,c);
     writeln (b,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,
     z,z,z,b,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,b);
     writeln
(h,m,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,m,j,m,m,
m,m,m,
     m,m,m,j,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,c);
     writeln (b,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,
     z,z,z,b,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,b);
     writeln
(h,m,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,m,j,m,m,
m,m,m,
     m,m,m,j,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,c);
     writeln (b,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,
     z,z,z,b,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,b);
     writeln
(h,m,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,m,j,m,m,
m,m,m,
     m,m,m,j,m,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,j,m,m,m,m,m,m,m,m,m,m,c);
     writeln (b,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,
     z,z,z,b,z,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,b,z,z,z,z,z,z,z,z,z,z,b);
     writeln
(e,m,m,m,m,m,m,m,m,m,m,m,f,m,m,m,m,m,m,m,m,m,m,m,m,f,m,m,m,m,m,m,m,m,m,m,m,f,m,m,
m,m,m,
     m,m,m,f,m,m,m,m,m,m,m,m,m,m,f,m,m,m,m,m,m,m,m,m,f,m,m,m,m,m,m,m,m,m,m,k);
     n:= 5;
     for i:= 1 to a do
         with dtmhs [i] do
         begin
         gotoxy (3,n);  write (nama);
         gotoxy (14,n); write (nim);
         gotoxy (27,n); write (tempat);
         gotoxy (39,n); write (alamat);
         gotoxy (48,n); write (Fakultas);
         gotoxy (59,n); write (jurusan);
         gotoxy (69,n); write (semester);
         n:= n+2;
         end;
readln;
end;
function keluar : string;
 begin
  writeln('Anda akan Keluar dari Program, Silahkan tekan ENTER');
 end;

Begin
clrscr;
textcolor(green);
repeat
clrscr;
       writeln;
       gotoxy(23,1); writeln ('=======   DATA MAHASISWA JURUSAN  =======');
       gotoxy(23,2);Writeln ('1. Input Data Mahasiswa');
       gotoxy(23,3);writeln ('2. Tampilkan Data Mahasiswa');
       gotoxy(23,4);writeln ('3. Keluar');
       writeln;
       gotoxy(23,5);write ('Masukkan Pilihan [1/2/3] : '); readln (pilih);
       case pilih of
       1 : input;
       2 : output;
       3 : keluar;
        end;
until pilih = 3;

readln;
end.
program lahir;
uses wincrt;
var tgl_skrg, bln_skrg, thn_skrg, tgl_lahir, bln_lahir, thn_lahir, selisihtgl,
selisihbln, selisihthn: integer;
jawab : integer;
standar: longint;
tglAwal, blnAwal, thnAwal : integer;
label K, L;
begin

writeln (‘                              PROGRAM USIA ‘);


writeln (‘                              disusun oleh : ‘);
writeln (‘                            ELYZABETH (1006638)’);
writeln
(‘==========================================================
====================’);
writeln (‘modifikasi : menampilkan usia, hari kelahiran dan dapat melakukan
pengulangan’);
writeln;
K:
begin
writeln (‘MASUKAN TANGGAL LAHIR ANDA!’);
write (‘tanggal      : ‘); read (tgl_lahir);
write (‘bulan (1-12) : ‘); read (bln_lahir);
write (‘tahun        : ‘); read (thn_lahir);
writeln;
writeln (‘MASUKAN TANGGAL HARI INI!’);
write (‘tanggal      : ‘); read (tgl_skrg);
write (‘bulan (1-12) : ‘); read (bln_skrg);
write (‘tahun        : ‘); read (thn_skrg);
writeln;

begin
selisihtgl := tgl_skrg-tgl_lahir;
begin
if selisihtgl < 0 then
selisihtgl := (tgl_skrg+30)-tgl_lahir;
end;
end;
begin
if tgl_skrg < tgl_lahir then
bln_skrg := (bln_skrg-1) ;
begin
selisihbln := bln_skrg-bln_lahir;
begin
if selisihbln < 0 then
selisihbln := (bln_skrg+12)-bln_lahir;
end;
end;
end;

begin
selisihthn := thn_skrg-thn_lahir;
begin
if bln_skrg < bln_lahir then
selisihthn := (thn_skrg-1)-thn_lahir ;
end;
end;
writeln (‘usia anda saat ini : ‘ ,selisihthn, ‘ tahun ‘ ,selisihbln, ‘ bulan ‘ ,selisihtgl, ‘
hari ‘);
writeln ;
tglAwal := tgl_lahir;
blnAwal := bln_lahir;
thnAwal := thn_lahir;
standar := (thn_lahir – 1) * 365 + (thn_lahir-1) div 4;
bln_lahir := bln_lahir – 1;
while bln_lahir > 0 do
begin
case bln_lahir of
1  : standar := standar + 31;
2  : if (thn_lahir mod 4 = 0) then standar := standar + 29 else standar := standar +
28;
3  : standar := standar + 31;
4  : standar := standar + 30;
5  : standar := standar + 31;
6  : standar := standar + 30;
7  : standar := standar + 31;
8  : standar := standar + 31;
9  : standar := standar + 30;
10 : standar := standar + 31;
11 : standar := standar + 30;
end;
bln_lahir := bln_lahir -1;
end;
standar := standar + tgl_lahir;

begin
writeln (‘tanggal ‘, tglAwal, ‘-‘, blnAwal,’-‘,thnAwal);
write (‘Anda lahir pada hari: ‘);
case (standar mod 7) of
0 : writeln (‘Minggu’);
1 : writeln (‘Senin’);
2 : writeln (‘Selasa’);
3 : writeln (‘Rabu’);
4 : writeln (‘Kamis’);
5 : writeln (‘Jumat’);
6 : writeln (‘Sabtu’);
end;
end;
end;
L:
writeln;
writeln (‘ulangi ? (tekan 1 untuk ya, tekan 2 untuk tidak)’);
write (‘jawab : ‘) ;
read (jawab);
writeln;
writeln;
if (jawab = 1) then
goto K
else
if jawab = 2 then
write (‘————–TERIMAKASIH TELAH MENCOBA PROGRAM INI
————— ‘);
end.

Anda mungkin juga menyukai