program bulan;
uses wincrt;
var
no:integer;
function nama_bulan(no:integer):string;
begin
case (no) of
1:nama_bulan:='Januari';
2:nama_bulan:='Februari';
3:nama_bulan:='Maret';
4:nama_bulan:='April';
5:nama_bulan:='Mei';
6:nama_bulan:='Juni';
7:nama_bulan:='Juli';
8:nama_bulan:='Agustus';
9:nama_bulan:='September';
10:nama_bulan:='Oktober';
11:nama_bulan:='November';
12:nama_bulan:='Desember';
end;
end;
begin
clrscr;
writeln('Input Nomor Bulan : ');
readln(no);
writeln('Nama Bulan:',nama_bulan(no));
readln;
end.
Sunday, 5 January 2014
PROGRAM pascal penjualan buah
Program
Penjualan_Buah_Segar_;
Uses
wincrt;
Var
napem,nb:string[15] ;
hrg,jb,jh,disc,tot:real;
Ul:char;
begin
Repeat
clrscr;
writeln;
writeln('----------------------------------------');
writeln('
DATA PENJUALAN BUAH SEGAR /KG');
writeln('----------------------------------------');
writeln;
write('Nama
Pembeli = '); readln(napem);
writeln;
write('Buah
Yang Dibeli = '); readln(nb);
writeln('.............................');
if
nb='jeruk' then hrg:=5000 else
if
nb='mangga' then hrg:=7000 else
if
nb='apel' then hrg:=9000 else
if
nb='duren' then hrg:=11000;
begin
end;
writeln;
write('HargaBuah =','Rp',hrg:6:0,'/Kg');
writeln;
writeln;
write('JumlahBeli =
'); readln(jb);
writeln;
jh:=
hrg*jb;
write('JumlahHarga =','Rp',jh:10:0);
writeln;
writeln('.............................');
writeln;
if
jb> 3 then disc:=0.2*jh;
begin
end;
write('Anda
Dapat Diskon=','Rp',disc:10:0);
writeln;
writeln('.............................');
writeln;
writeln;
write('Total
Bayar =','Rp',hrg*jb-disc:10:0);
writeln;
writeln('----------------------------------------');writeln;
write('Terima
kasih atas Kunjungannya#Ricky#');
readln;
Write('Mau
Ulang Lagi? [Y/T]: ');Readln(Ul);
Until
Upcase(Ul)<>'Y';
end.
CONTOH PROGRAM DERET KELIPATAN PASCAL
turbo pascal 1.5 - deret kelipatan x yang kurang dari y
writeln(' ================================================= ');
writeln('');
writeln(' PROGRAM DERET KELIPATAN ');
writeln(' Dibuat oleh ricky coebra ');
writeln(' @copyright 2013 ');
writeln('');
writeln(' ================================================= ');
write('X = ');readln(x);write('Y = ');readln(y);
write('Deret = ');
i:=x;
while x<y do
begin
write(x,' ');
x:=x+i;
end;
end.
contoh PRogram Faktorial menggunakan PASCAL
program faktorial; {program menghitung nilai faktorial dari inputan N}
uses wincrt;
var
i,N,jumlah :integer;
begin
writeln(' ================================================= ');
writeln('');
writeln(' PROGRAM MENGHITUNG FAKTORIAL ');
writeln(' Dibuat oleh ricky coebra ');
writeln(' @copyright 2013 ');
writeln('');
writeln(' ================================================= ');
jumlah:=1;
write('inputkan suatu nilai : '); readln(N);
write('faktorial dari ',N,' adalah : ');
write('1');
for i:=2 to N do
begin
write(' x ',i);
jumlah:=jumlah*i;
end;
write(' = ',jumlah);
end.
uses wincrt;
var
i,N,jumlah :integer;
begin
writeln(' ================================================= ');
writeln('');
writeln(' PROGRAM MENGHITUNG FAKTORIAL ');
writeln(' Dibuat oleh ricky coebra ');
writeln(' @copyright 2013 ');
writeln('');
writeln(' ================================================= ');
jumlah:=1;
write('inputkan suatu nilai : '); readln(N);
write('faktorial dari ',N,' adalah : ');
write('1');
for i:=2 to N do
begin
write(' x ',i);
jumlah:=jumlah*i;
end;
write(' = ',jumlah);
end.
CONTOH PROGRAM PASCAL PERULANGAN BERSARANG
program segitigabintang; {program menampilkan karakter bintang sebanyak N baris}
uses wincrt;
var
i,j,N :integer;
begin
writeln(' ================================================= ');writeln('');
writeln(' PROGRAM KARAKTER BINTANG ');
writeln(' Dibuat oleh ricky coebra ');
writeln(' @copyright 2013 ');
writeln('');
writeln(' ================================================= ');
write(' berapa jumlah baris bintang : '); readln(N);
writeln;
for i:=n downto 1 do
begin
for j:=1 to i do
begin
write(' ');
end;
for j:=i to N do
begin
write('*');
end;
writeln;
end;
end.
Contoh Program Bahasa Pascal Perpustakaan
program pinjam_buku_perpus;
uses wincrt;
type buku=record
judul,pengarang:string;
stok:byte;
end;
larik_buku=array[1..20] of buku;
type pinjam=record
nama,judulb:string;
end;
larik_pinjam=array[1..20] of pinjam;
var buk:larik_buku;
pinj:larik_pinjam;
m,n,i,j,pil:byte;
ketemu:boolean;
procedure tambah_buku(var x:larik_buku);
var baru1,baru2:string;
begin
ketemu:=false;
write('masukkan judul buku baru : ');readln(baru1);
write('masukkan pengarangnya : ');readln(baru2);
{cek judul sudah ada/belum}
for i:=1 to n do
begin
if (x[i].judul=baru1) and (x[i].pengarang=baru2) then
begin
ketemu:=true;
writeln('Judul tersebut sudah ada di perpus, lakukan proses no 2');
end;
end;
if not ketemu then
begin
inc(n);
x[n].judul:=baru1;
x[n].pengarang:=baru2;
write('berapa exemplar ');readln(x[n].stok);
end;
end;
procedure tambah_stok(var x:larik_buku);
var baru1,baru2:string;
ts,pos:byte;
oke:boolean;
begin
{cek judul di stok}
ketemu:=false;oke:=false;
write('masukkan judul buku yang akan ditambah stok : ');readln(baru1);
{cetak buku dengan judul tsb}
for i:=1 to n do
if x[i].judul=baru1 then
begin writeln(x[i].judul:15,' ',x[i].pengarang:15);oke:=true;end;
writeln;
if oke then
begin
write('masukkan pengarang yang anda maksud dr judul diatas : ');
readln(baru2);
end;
for i:=1 to n do
if (x[i].judul=baru1) and (x[i].pengarang=baru2) then
begin ketemu:=true;pos:=i;end;
if ketemu then
begin
write('berapa tambahan stok ? ');readln(ts);
x[pos].stok:=x[pos].stok+ts;
end
else
writeln('maaf buku tersebut belum ada, lakukan proses no 1');
end;
procedure cetak_buku(var x:larik_buku);
begin
writeln('DAFTAR BUKU YANG ADA DI PERPUSTAKAAN ');
writeln('------------------------------------------------');
writeln('No Judul Pengarang Stok');
writeln('------------------------------------------------');
for i:=1 to n do
writeln(i:3,' ',x[i].judul:15,' ',x[i].pengarang:15,' ',x[i].stok:3);
writeln('------------------------------------------------');
end;
procedure cetak_pinjam(var x:larik_pinjam);
begin
writeln('DAFTAR PEMINJAM BUKU YANG PERPUSTAKAAN ');
writeln('------------------------------------------------');
writeln('No Peminjam Judul Buku');
writeln('------------------------------------------------');
for i:=1 to m do
writeln(i:3,' ',x[i].nama:10,' ',x[i].judulb:20);
writeln('------------------------------------------------');
end;
procedure urut_judul(var x:larik_buku);
var dum:buku;
begin
for i:=1 to n-1 do
begin
for j:=i+1 to n do
begin
if x[i].judul>x[j].judul then
begin
dum:=x[i];
x[i]:=x[j];
x[j]:=dum;
end;
end;
end;
end;
procedure urut_pengarang(var x:larik_buku);
var dum:buku;
begin
for i:=1 to n-1 do
begin
for j:=i+1 to n do
begin
if x[i].pengarang>x[j].pengarang then
begin
dum:=x[i];
x[i]:=x[j];
x[j]:=dum;
end;
end;
end;
end;
procedure pinjam_buku(var x:larik_buku);
var cari:string;
nb,ya:string;
pos:byte;
label lagi;
begin
lagi:
write('masukkan judul buku yang akan dipinjam ');readln(cari);
{cek}
ketemu:=false;
for i:=1 to n do
if x[i].judul=cari then begin pos:=i;ketemu:=true;end;
{jika judul ditemukan}
if (ketemu) and (x[pos].stok>0) then
begin
write('buku tersedia, masukkan nama anda ');readln(nb);
{memasukkan ke array pinjam}
inc(m); dec(x[pos].stok);
pinj[m].nama:=nb;
pinj[m].judulb:=cari;
end
else
begin
writeln('maaf buku yang anda cari tidak ada');
write('apakah akan meminjam buku lain ?<y/t> ');readln(ya);
if ya='y' then goto lagi;
end;
end;
procedure kembali_buku(var x:larik_buku);
var kembali,nm:string;
pos:byte;
label selesai;
begin
if m=0 then
begin writeln('Maaf tidak ada yang meminjam buku');goto selesai;end;
pos:=0;
writeln('Selamat datang di pengembalian buku ');
write('masukkan nama peminjam ');readln(nm);
write('masukkan judul buku yg kembali '); readln(kembali);
{menambahkan stok buku dg judul tsb}
for i:=1 to n do
begin
if (x[i].judul)=kembali then inc(x[i].stok);
end;
{menghapus record di daftar peminjam buku}
for i:=1 to m do
if (pinj[i].judulb=kembali) and (pinj[i].nama=nm) then pos:=i;
if pos<>0 then
begin
writeln('judul ',kembali ,' dipinjam oleh ',nm,' sudah dikembalikan');
{hapus dan geser}
for j:=pos to m-1 do pinj[j]:=pinj[j+1];
dec(m);
end
else writeln('maaf nama peminjam atau buku yang dikembalikan tidak benar');
selesai: end;
begin{utama}
repeat
begin
clrscr;
writeln('Pengelolaan buku Perpustakaan Cerdas');
writeln('1.Tambah judul buku');
writeln('2.Tambah stok buku');
writeln('3. Cetak buku');
writeln('4. Cetak urut judul');
writeln('5. Cetak urut pengarang');
writeln('6. Pinjam buku');
writeln('7. Cetak peminjaman');
writeln('8. Pengembalian buku');
writeln('9. Selesai');
write('Pilihan anda ==> ');readln(pil);
case pil of
1: tambah_buku(buk);
2: tambah_stok(buk);
3: cetak_buku(buk);
4: begin
urut_judul(buk);cetak_buku(buk);
end;
5: begin
urut_pengarang(buk);cetak_buku(buk);
end;
6: pinjam_buku(buk);
7: if m=0 then writeln('tidak ada yang meminjam') else cetak_pinjam(pinj);
8: if m>0 then kembali_buku(buk) else
writeln('maaf saat ini tidak ada yang sedang meminjam buku') ;
9: writeln('Terimakasih ');
end;
readln;
end
until(pil=9);
end.
uses wincrt;
type buku=record
judul,pengarang:string;
stok:byte;
end;
larik_buku=array[1..20] of buku;
type pinjam=record
nama,judulb:string;
end;
larik_pinjam=array[1..20] of pinjam;
var buk:larik_buku;
pinj:larik_pinjam;
m,n,i,j,pil:byte;
ketemu:boolean;
procedure tambah_buku(var x:larik_buku);
var baru1,baru2:string;
begin
ketemu:=false;
write('masukkan judul buku baru : ');readln(baru1);
write('masukkan pengarangnya : ');readln(baru2);
{cek judul sudah ada/belum}
for i:=1 to n do
begin
if (x[i].judul=baru1) and (x[i].pengarang=baru2) then
begin
ketemu:=true;
writeln('Judul tersebut sudah ada di perpus, lakukan proses no 2');
end;
end;
if not ketemu then
begin
inc(n);
x[n].judul:=baru1;
x[n].pengarang:=baru2;
write('berapa exemplar ');readln(x[n].stok);
end;
end;
procedure tambah_stok(var x:larik_buku);
var baru1,baru2:string;
ts,pos:byte;
oke:boolean;
begin
{cek judul di stok}
ketemu:=false;oke:=false;
write('masukkan judul buku yang akan ditambah stok : ');readln(baru1);
{cetak buku dengan judul tsb}
for i:=1 to n do
if x[i].judul=baru1 then
begin writeln(x[i].judul:15,' ',x[i].pengarang:15);oke:=true;end;
writeln;
if oke then
begin
write('masukkan pengarang yang anda maksud dr judul diatas : ');
readln(baru2);
end;
for i:=1 to n do
if (x[i].judul=baru1) and (x[i].pengarang=baru2) then
begin ketemu:=true;pos:=i;end;
if ketemu then
begin
write('berapa tambahan stok ? ');readln(ts);
x[pos].stok:=x[pos].stok+ts;
end
else
writeln('maaf buku tersebut belum ada, lakukan proses no 1');
end;
procedure cetak_buku(var x:larik_buku);
begin
writeln('DAFTAR BUKU YANG ADA DI PERPUSTAKAAN ');
writeln('------------------------------------------------');
writeln('No Judul Pengarang Stok');
writeln('------------------------------------------------');
for i:=1 to n do
writeln(i:3,' ',x[i].judul:15,' ',x[i].pengarang:15,' ',x[i].stok:3);
writeln('------------------------------------------------');
end;
procedure cetak_pinjam(var x:larik_pinjam);
begin
writeln('DAFTAR PEMINJAM BUKU YANG PERPUSTAKAAN ');
writeln('------------------------------------------------');
writeln('No Peminjam Judul Buku');
writeln('------------------------------------------------');
for i:=1 to m do
writeln(i:3,' ',x[i].nama:10,' ',x[i].judulb:20);
writeln('------------------------------------------------');
end;
procedure urut_judul(var x:larik_buku);
var dum:buku;
begin
for i:=1 to n-1 do
begin
for j:=i+1 to n do
begin
if x[i].judul>x[j].judul then
begin
dum:=x[i];
x[i]:=x[j];
x[j]:=dum;
end;
end;
end;
end;
procedure urut_pengarang(var x:larik_buku);
var dum:buku;
begin
for i:=1 to n-1 do
begin
for j:=i+1 to n do
begin
if x[i].pengarang>x[j].pengarang then
begin
dum:=x[i];
x[i]:=x[j];
x[j]:=dum;
end;
end;
end;
end;
procedure pinjam_buku(var x:larik_buku);
var cari:string;
nb,ya:string;
pos:byte;
label lagi;
begin
lagi:
write('masukkan judul buku yang akan dipinjam ');readln(cari);
{cek}
ketemu:=false;
for i:=1 to n do
if x[i].judul=cari then begin pos:=i;ketemu:=true;end;
{jika judul ditemukan}
if (ketemu) and (x[pos].stok>0) then
begin
write('buku tersedia, masukkan nama anda ');readln(nb);
{memasukkan ke array pinjam}
inc(m); dec(x[pos].stok);
pinj[m].nama:=nb;
pinj[m].judulb:=cari;
end
else
begin
writeln('maaf buku yang anda cari tidak ada');
write('apakah akan meminjam buku lain ?<y/t> ');readln(ya);
if ya='y' then goto lagi;
end;
end;
procedure kembali_buku(var x:larik_buku);
var kembali,nm:string;
pos:byte;
label selesai;
begin
if m=0 then
begin writeln('Maaf tidak ada yang meminjam buku');goto selesai;end;
pos:=0;
writeln('Selamat datang di pengembalian buku ');
write('masukkan nama peminjam ');readln(nm);
write('masukkan judul buku yg kembali '); readln(kembali);
{menambahkan stok buku dg judul tsb}
for i:=1 to n do
begin
if (x[i].judul)=kembali then inc(x[i].stok);
end;
{menghapus record di daftar peminjam buku}
for i:=1 to m do
if (pinj[i].judulb=kembali) and (pinj[i].nama=nm) then pos:=i;
if pos<>0 then
begin
writeln('judul ',kembali ,' dipinjam oleh ',nm,' sudah dikembalikan');
{hapus dan geser}
for j:=pos to m-1 do pinj[j]:=pinj[j+1];
dec(m);
end
else writeln('maaf nama peminjam atau buku yang dikembalikan tidak benar');
selesai: end;
begin{utama}
repeat
begin
clrscr;
writeln('Pengelolaan buku Perpustakaan Cerdas');
writeln('1.Tambah judul buku');
writeln('2.Tambah stok buku');
writeln('3. Cetak buku');
writeln('4. Cetak urut judul');
writeln('5. Cetak urut pengarang');
writeln('6. Pinjam buku');
writeln('7. Cetak peminjaman');
writeln('8. Pengembalian buku');
writeln('9. Selesai');
write('Pilihan anda ==> ');readln(pil);
case pil of
1: tambah_buku(buk);
2: tambah_stok(buk);
3: cetak_buku(buk);
4: begin
urut_judul(buk);cetak_buku(buk);
end;
5: begin
urut_pengarang(buk);cetak_buku(buk);
end;
6: pinjam_buku(buk);
7: if m=0 then writeln('tidak ada yang meminjam') else cetak_pinjam(pinj);
8: if m>0 then kembali_buku(buk) else
writeln('maaf saat ini tidak ada yang sedang meminjam buku') ;
9: writeln('Terimakasih ');
end;
readln;
end
until(pil=9);
end.
CONTOH Program pascal program matriks
program matrik;
uses wincrt;
type data = array[1..5,1..5] of integer;
var
matrikI,matrikII : data;
baris,kolom,pil : integer;procedure isi;
var i,j :integer;
begin
writeln('Penentuan ORDO MATRIK I');
write('Masukan banyak baris matrik I : ');readln(baris);
write('Masukan banyak kolom matrik I : ');readln(kolom);
for i:=1 to baris do
for j:=1 to kolom do
begin gotoxy(j*10,i*5);
readln(matrikI[i,j]);
end;
clrscr;
writeln('Penentuan ORDO MATRIK II');
write('Masukan banyak baris matrik II : ');
readln(baris);
write('Masukan banyak kolom matrik II : ');
readln(kolom);
for i:=1 to baris do
for j:=1 to kolom do
begin gotoxy(j*10,i*5);
readln(matrikII[i,j]);
end;
end;procedure gagal;
begin
writeln('Program Dibatalkan');
end;procedure kali(a1,a2 : data);
var
hasil:data;
i,j,z:integer;
begin
for i:=1 to baris do
for j:=1 to kolom do
begin
hasil[i,j]:=0;
for z:=1 to baris do
hasil[i,j]:=hasil[i,j]+matrikI[i,z]*matrikII[z,j];
end;
clrscr;
writeln('Hasil perkalian');
for i:=1 to baris do
for j:=1 to kolom do
begin gotoxy(j*10,i*5);
write(hasil[i,j]);
end;
end;
begin
writeln('MENU');
writeln('Ketik(1) Perkalian Matrik');
writeln('ketik(2) Batal Program');
write('Pilihan = ');
readln(pil);
clrscr;
case pil of
1:begin
isi;
kali(matrikI,matrikII);
end;
2:begin
gagal;
end;
end;
end.
uses wincrt;
type data = array[1..5,1..5] of integer;
var
matrikI,matrikII : data;
baris,kolom,pil : integer;procedure isi;
var i,j :integer;
begin
writeln('Penentuan ORDO MATRIK I');
write('Masukan banyak baris matrik I : ');readln(baris);
write('Masukan banyak kolom matrik I : ');readln(kolom);
for i:=1 to baris do
for j:=1 to kolom do
begin gotoxy(j*10,i*5);
readln(matrikI[i,j]);
end;
clrscr;
writeln('Penentuan ORDO MATRIK II');
write('Masukan banyak baris matrik II : ');
readln(baris);
write('Masukan banyak kolom matrik II : ');
readln(kolom);
for i:=1 to baris do
for j:=1 to kolom do
begin gotoxy(j*10,i*5);
readln(matrikII[i,j]);
end;
end;procedure gagal;
begin
writeln('Program Dibatalkan');
end;procedure kali(a1,a2 : data);
var
hasil:data;
i,j,z:integer;
begin
for i:=1 to baris do
for j:=1 to kolom do
begin
hasil[i,j]:=0;
for z:=1 to baris do
hasil[i,j]:=hasil[i,j]+matrikI[i,z]*matrikII[z,j];
end;
clrscr;
writeln('Hasil perkalian');
for i:=1 to baris do
for j:=1 to kolom do
begin gotoxy(j*10,i*5);
write(hasil[i,j]);
end;
end;
begin
writeln('MENU');
writeln('Ketik(1) Perkalian Matrik');
writeln('ketik(2) Batal Program');
write('Pilihan = ');
readln(pil);
clrscr;
case pil of
1:begin
isi;
kali(matrikI,matrikII);
end;
2:begin
gagal;
end;
end;
end.
Subscribe to:
Posts (Atom)

