Halaman

Kamis, 28 Februari 2008

PEMOGRAMAN TERSTRUKTUR

A. LISTING PROGRAM

{***********************************************************
KELAS : MIF-X-K32.7
PROGRAM : D-III
CREATED BY : ASEP KURNIA NPM: 07.302.039
BAHAGIA KARO SEKALI NPM: 07.302.041
SAMJA DIPRAJA NPM: 07.302.058
************************************************************}
Program Tugas2_Pemograman_Terstruktur;
uses wincrt;
type BrgRec=record
Kode : string[5];
NamaBrg : string[15];
Harga : integer;
JmlStock : integer;
end;
var
RBrg : BrgRec;
FBrg : File of BrgRec;
vKode : string[5];
Huruf : char;
Jawab,Lagi : char;
Ketemu : boolean;
JmlD,JmlE,JmlL,JmlP,JmlH,JmlI,JmlSpasi: integer;
Pilih1,Pilih2,Pilih3 : byte;
alas,tinggi,sisi,jari,panjang,lebar : integer;
LSegiTiga,LSegiEmpat,KSegiEmpat,LPersegiPanjang,LLingkaran : real;
VKubus,VBola : real;
KPersegiPanjang,L : Real;
{Funngsi untuk menghitung luas kubus}
function L_Kubus(s:real):real;
begin
L_Kubus:=6*s*s;
end;
{Procedure untuk menghitung volume kubus}
procedure V_Kubus(s:real;var V:real);
begin
V:=Sqr(s)*s;
end;
{Funngsi untuk menghitung luas bola}
function L_Bola(r:integer):real;
begin
L_Bola:=4*3.14*r*r;
end;
{Procedure untuk menghitung volume bola}
procedure V_Bola(r:integer;var V:real);
begin
V:=(4*3.14*r*r*r)/3;
end;
{Procedure untuk menghitung luas lingkaran}
procedure L_Lingkaran(r:integer;var L:real);
begin
L:=Pi*r*r;
end;

{Program utama}
Label 1;
Label 2;
Label 3;
Label 4;
Label 5;
Label 6;
Label 7;
Label 8;
Label 9;
Label 10;
Label 11;
Label 12;
Label 13;
Label 14;
Label 15;
Label 16;
Label 17;
begin
1:
clrscr;
gotoxy(30,02); write('PEMOGRAMAN TERSETRUKTUR');
gotoxy(13,03); write('Manajemen Informatika-Program D-III Piksi Ganesha Bandung');
gotoxy(30,04); write('Created by : MIF-X-K32.7');
gotoxy(18,05); write('Asep Kurnia, Bahagia Karo Sekali, Samja Dipraja');
gotoxy(06,06); write('=============================================');
gotoxy(25,10); write('KASUS PEMOGRAMAN TERSETRUKTUR');
gotoxy(25,11); write('---------------------------------------------------------');
gotoxy(25,12); write('[1] Mesin Karakter');
gotoxy(25,13); write('[2] Opersai Matematik');
gotoxy(25,14); write('[3] Input Data');
gotoxy(25,15); write('[4] Keluar Program');
gotoxy(25,17); write('Pilihan [1-4] : '); Readln(Pilih1);
case Pilih1 of
1: begin
2:
clrscr;
gotoxy(30,02); write('PEMOGRAMAN TERSETRUKTUR');
gotoxy(13,03); write('Manajemen Informatika-Program D-III Piksi Ganesha Bandung');
gotoxy(30,04); write('Created by : MIF-X-K32.7');
gotoxy(18,05); write('Asep Kurnia, Bahagia Karo Sekali, Samja Dipraja');
gotoxy(06,06); write('==============================================');
gotoxy(25,10); write('MESIN KARAKTER');
gotoxy(25,11); write('---------------------------');
gotoxy(25,12); write('[1] Definisi Mesin Karakter');
gotoxy(25,13); write('[2] Contoh Program Mesin Karakter');
gotoxy(25,14); write('[3] Close');
gotoxy(25,16); write('Pilihan [1-3] : '); Readln(Pilih2);
case Pilih2 of
1: begin
5:
clrscr;
gotoxy(30,02); write('PEMOGRAMAN TERSETRUKTUR');
gotoxy(13,03); write('Manajemen Informatika-Program D-III Piksi Ganesha Bandung');
gotoxy(30,04); write('Created by : MIF-X-K32.7');
gotoxy(18,05); write('Asep Kurnia, Bahagia Karo Sekali, Samja Dipraja');
gotoxy(06,06); write('==============================================');
gotoxy(25,10); write('DEFINISI MESIN KARAKTER');
gotoxy(25,11); write('----------------------------------------');
gotoxy(04,12); write('Mesin Karakter adalah mesin abstrak yang menggambarkan dalam suatu mesin');
gotoxy(04,13); write('terdapat pita yang bertipe karakter, numerik, dan sebagainya');
gotoxy(04,15); write('Jika pita bertipe karakter maka akhir dari pta tersebut ditandai dengan ');
gotoxy(04,16); write('tanda titik. Jika pita bertipe numerik maka pita tersebut diakhiri dengan');
gotoxy(04,17); write('tanda 9999. Jika pita hanya berisi akhiran "."/"9999" berarti pita kosong');
gotoxy(04,19); write('Mesin Karakter terdiri atas empat komponen yaitu : Tombol STAR (posisi pada');
gotoxy(04,20); write('karakter pertama), ADV, maju satu karakter, sebuah lampu EOP (End of Pita)');
gotoxy(04,21); write('dan JENDELA yang ukurannya sebesar satu karakter. Hanya karakter yang ');
gotoxy(04,22); write('posisinya pada jendela yang dapat di konsultasi/dibaca. Karakter yang sedang');
gotoxy(04,23); write('dibaca pada jende;a dinamakan "CC" (Current Character).');
gotoxy(04,25); write('Close [Y/T] : '); readln(Jawab);
if Upcase(Jawab)='Y' then
goto 1
else
goto 5;
end;
2: begin
repeat
Jawab:='Y';
clrscr;
JmlD:=0;
JmlE:=0;
JmlL:=0;
JmlP:=0;
JmlH:=0;
JmlI:=0;
JmlSpasi:=0;
gotoxy(30,02); write('PEMOGRAMAN TERSETRUKTUR');
gotoxy(13,03); write('Manajemen Informatika-Program D-III Piksi Ganesha Bandung');
gotoxy(30,04); write('Created by : MIF-X-K32.7');
gotoxy(18,05); write('Asep Kurnia, Bahagia Karo Sekali, Samja Dipraja');
gotoxy(06,06); write('==============================================');
gotoxy(25,08); write('CONTOH PROGRAM MESIN KARAKTER');
gotoxy(25,09); write('-------------------------------------------------------');
gotoxy(05,10); write('Program menghitung banyaknya huruf "D,E,L,P,H,I" dari sebuah kalimat.');
gotoxy(05,11); write('Program akan berhenti jika ditekan tanda "titik" (.)');
gotoxy(05,13); write('Masukan huruf : '); readln(Huruf); gotoxy(23,13); write('');
while huruf <>'.' do
begin
Huruf:=Upcase(Huruf);
if Huruf='D' then
JmlD:=JmlD+1
else
if Huruf='E' then
JmlE:=JmlE+1
else
if Huruf='L' then
JmlL:=JmlL+1
else
if Huruf='P' then
JmlP:=JmlP+1
else
if Huruf='H' then
JmlH:=JmlH+1
else
if Huruf='I' then
JmlI:=JmlI+1
else
if Huruf=' ' then
JmlSpasi:=JmlSpasi+1;
gotoxy(05,13); write('Masukan huruf : '); readln(Huruf);
gotoxy(23,13); write('');
end;
writeln;
gotoxy(21,15); write('Huruf/Kalimat yang telah anda masukan');
gotoxy(21,17); write('Jumlah huruf "D" adalah : ',JmlD,' buah huruf');
gotoxy(21,18); write('Jumlah huruf "E" adalah : ',JmlE,' buah huruf');
gotoxy(21,19); write('Jumlah huruf "L" adalah : ',JmlL,' buah huruf');
gotoxy(21,20); write('Jumlah huruf "P" adalah : ',JmlP,' buah huruf');
gotoxy(21,21); write('Jumlah huruf "H" adalah : ',JmlH,' buah huruf');
gotoxy(21,22); write('Jumlah huruf "I" adalah : ',JmlI,' buah huruf');
gotoxy(21,23); write('Jumlah "SPASI" adalah : ',JmlSpasi,' buah spasi');
writeln;
gotoxy(05,25); write('Anda ingin mencoba lagi [Y/T] : '); readln(Jawab);
until upcase(Jawab)='T';
goto 1;
end;
3: begin
if Jawab='1' then
goto 1
else
goto 1;
end;
end;
end;
2: begin
6:
clrscr;
gotoxy(30,02); write('PEMOGRAMAN TERSETRUKTUR');
gotoxy(13,03); write('Manajemen Informatika-Program D-III Piksi Ganesha Bandung');
gotoxy(30,04); write('Created by : MIF-X-K32.7');
gotoxy(18,05); write('Asep Kurnia, Bahagia Karo Sekali, Samja Dipraja');
gotoxy(06,06); write('==============================================');
gotoxy(25,10); write('OPERASI MATEMATIK');
gotoxy(25,11); write('--------------------------------');
gotoxy(25,12); write('[1] Luas Segitiga');
gotoxy(25,13); write('[2] Luas Segiempat');
gotoxy(25,14); write('[3] Luas Persegi Panjang');
gotoxy(25,15); write('[4] Luas Lingkaran');
gotoxy(25,16); write('[5] Luas Kubus');
gotoxy(25,17); write('[6] Luas Bola');
gotoxy(25,18); write('[7] Volume Kubus');
gotoxy(25,19); write('[8] Volume Bola');
gotoxy(25,20); write('[9] Keliling Segiempat');
gotoxy(25,21); write('[10] Keliling Persegi Panjang');
gotoxy(25,22); write('[11] Close');
gotoxy(25,24); write('Pilihan [1-11] : '); readln(Pilih3);
case Pilih3 of
1: Begin
7:
clrscr;
gotoxy(30,02); write('PEMOGRAMAN TERSETRUKTUR');
gotoxy(13,03); write('Manajemen Informatika-Program D-III Piksi Ganesha Bandung');
gotoxy(30,04); write('Created by : MIF-X-K32.7');
gotoxy(18,05); write('Asep Kurnia, Bahagia Karo Sekali, Samja Dipraja');
gotoxy(06,06); write('==============================================');
gotoxy(25,10); write('PROGRAM MENGHITUNG LUAS SEGITIGA');
gotoxy(25,11); write('-----------------------------------------------------------');
gotoxy(25,12); write('Masukan nila alas segitiga : '); readln(alas);
gotoxy(25,13); write('Masukan nilai tinggi segitiga : '); readln(tinggi);
LSegiTiga:=0.5*alas*tinggi;
gotoxy(25,15); write('Luas segitiga adalah : ',LSegitiga:12:2);
gotoxy(25,17); write('Anda ingin menghitung lagi [Y/T] : ');readln(Jawab);
if upcase(Jawab)='Y' then
goto 7 else goto 6;
end;
2: Begin
8:
clrscr;
gotoxy(30,02); write('PEMOGRAMAN TERSETRUKTUR');
gotoxy(13,03); write('Manajemen Informatika-Program D-III Piksi Ganesha Bandung');
gotoxy(30,04); write('Created by : MIF-X-K32.7');
gotoxy(18,05); write('Asep Kurnia, Bahagia Karo Sekali, Samja Dipraja');
gotoxy(06,06); write('=============================================='); gotoxy(25,10); write('PROGRAM MENGHITUNG LUAS SEGIEMPAT');
gotoxy(25,11); write('---------------------------------------');
gotoxy(25,12); write('Masukan nila sisi segiempat : '); readln(sisi);
LSegiEmpat:=sisi*sisi;
gotoxy(25,14); write('Luas segiempat adalah : ',LSegiEmpat:12:2);
gotoxy(25,16); write('Anda ingin menghitung lagi [Y/T] : ');readln(Jawab);
if upcase(Jawab)='Y' then
goto 8 else goto 6;
end;
3: Begin
9:
clrscr;
gotoxy(30,02); write('PEMOGRAMAN TERSETRUKTUR');
gotoxy(13,03); write('Manajemen Informatika-Program D-III Piksi Ganesha Bandung');
gotoxy(30,04); write('Created by : MIF-X-K32.7');
gotoxy(18,05); write('Asep Kurnia, Bahagia Karo Sekali, Samja Dipraja');
gotoxy(06,06); write('==============================================');
gotoxy(25,10); write('PROGRAM MENGHITUNG LUAS PERSEGI PANJANG');
gotoxy(25,11); write('-------------------------------------------------------------------------');
gotoxy(25,12); write('Masukan nila panjang : '); readln(panjang);
gotoxy(25,13); write('Masukan nilai lebar : '); readln(lebar);
LPersegiPanjang:=panjang*lebar;
gotoxy(25,15); write('Luas Persegi Panjang adalah : ',LPersegiPanjang:12:2);
gotoxy(25,17); write('Anda ingin menghitung lagi [Y/T] : ');readln(Jawab);
if upcase(Jawab)='Y' then
goto 9 else goto 6;
end;
4: Begin
10:
clrscr;
gotoxy(30,02); write('PEMOGRAMAN TERSETRUKTUR');
gotoxy(13,03); write('Manajemen Informatika-Program D-III Piksi Ganesha Bandung');
gotoxy(30,04); write('Created by : MIF-X-K32.7');
gotoxy(18,05); write('Asep Kurnia, Bahagia Karo Sekali, Samja Dipraja');
gotoxy(06,06); write('==============================================');
gotoxy(25,10); write('PROGRAM MENGHITUNG LUAS LINGKARAN');
gotoxy(25,11); write('---------------------------------------------------------------');
gotoxy(25,12); write('Masukan jari-jari lingkaran : '); readln(jari);
L_Lingkaran(jari,LLingkaran);
gotoxy(25,14); write('Luas lingkaran adalah : ',LLingkaran:12:2);
gotoxy(25,16); write('Anda ingin menghitung lagi [Y/T] : ');readln(Jawab);
if upcase(Jawab)='Y' then
goto 10 else goto 6;
end;
5: Begin
11:
clrscr;
gotoxy(30,02); write('PEMOGRAMAN TERSETRUKTUR');
gotoxy(13,03); write('Manajemen Informatika-Program D-III Piksi Ganesha Bandung');
gotoxy(30,04); write('Created by : MIF-X-K32.7');
gotoxy(18,05); write('Asep Kurnia, Bahagia Karo Sekali, Samja Dipraja');
gotoxy(06,06); write('==============================================');
gotoxy(25,10); write('PROGRAM MENGHITUNG LUAS KUBUS');
gotoxy(25,11); write('-------------------------------------------------------');
gotoxy(25,12); write('Masukan nila sisi kubus : '); readln(sisi);
gotoxy(25,14); write('Luas kubus adalah : ',L_Kubus(sisi):12:2);
gotoxy(25,16); write('Anda ingin menghitung lagi [Y/T] : ');readln(Jawab);
if upcase(Jawab)='Y' then
goto 11 else goto 6;
end;
6: Begin
12:
clrscr;
gotoxy(30,02); write('PEMOGRAMAN TERSETRUKTUR');
gotoxy(13,03); write('Manajemen Informatika-Program D-III Piksi Ganesha Bandung');
gotoxy(30,04); write('Created by : MIF-X-K32.7');
gotoxy(18,05); write('Asep Kurnia, Bahagia Karo Sekali, Samja Dipraja');
gotoxy(06,06); write('==============================================');
gotoxy(25,10); write('PROGRAM MENGHITUNG LUAS BOLA');
gotoxy(25,11); write('------------------------------------------------------');
gotoxy(25,12); write('Masukan nila jari-jari bola : '); readln(jari);
gotoxy(25,14); write('Luas bola adalah : ',L_Bola(jari):12:2);
gotoxy(25,16); write('Anda ingin menghitung lagi [Y/T] : ');readln(Jawab);
if upcase(Jawab)='Y' then
goto 12 else goto 6;
end;
7: Begin
13:
clrscr;
gotoxy(30,02); write('PEMOGRAMAN TERSETRUKTUR');
gotoxy(13,03); write('Manajemen Informatika-Program D-III Piksi Ganesha Bandung');
gotoxy(30,04); write('Created by : MIF-X-K32.7');
gotoxy(18,05); write('Asep Kurnia, Bahagia Karo Sekali, Samja Dipraja');
gotoxy(06,06); write('==============================================');
gotoxy(25,10); write('PROGRAM MENGHITUNG VOLUME KUBUS');
gotoxy(25,11); write('-------------------------------------------------------------');
gotoxy(25,12); write('Masukan nila sisi kubus : '); readln(sisi);
V_Kubus(sisi,VKubus);
gotoxy(25,14); write('Volume kubus adalah : ',VKubus:12:2);
gotoxy(25,16); write('Anda ingin menghitung lagi [Y/T] : ');readln(Jawab);
if upcase(Jawab)='Y' then
goto 13 else goto 6;
end;
8: Begin
14:
clrscr;
gotoxy(30,02); write('PEMOGRAMAN TERSETRUKTUR');
gotoxy(13,03); write('Manajemen Informatika-Program D-III Piksi Ganesha Bandung');
gotoxy(30,04); write('Created by : MIF-X-K32.7');
gotoxy(18,05); write('Asep Kurnia, Bahagia Karo Sekali, Samja Dipraja');
gotoxy(06,06); write('==============================================');
gotoxy(25,10); write('PROGRAM MENGHITUNG VOLUME BOLA');
gotoxy(25,11); write('----------------------------------------------------------');
gotoxy(25,12); write('Masukan nila jari-jari bola : '); readln(jari);
V_Bola(jari,VBola);
gotoxy(25,14); write('Volume bola adalah : ',VBola:12:2);
gotoxy(25,16); write('Anda ingin menghitung lagi [Y/T] : ');readln(Jawab);
if upcase(Jawab)='Y' then
goto 14 else goto 6;
end;
9: Begin
15:
clrscr;
gotoxy(30,02); write('PEMOGRAMAN TERSETRUKTUR');
gotoxy(13,03); write('Manajemen Informatika-Program D-III Piksi Ganesha Bandung');
gotoxy(30,04); write('Created by : MIF-X-K32.7');
gotoxy(18,05); write('Asep Kurnia, Bahagia Karo Sekali, Samja Dipraja');
gotoxy(06,06); write('==============================================');
gotoxy(25,10); write('PROGRAM MENGHITUNG KELILING SEGIEMPAT');
gotoxy(25,11); write('--------------------------------------------------------------------');
gotoxy(25,12); write('Masukan nila sisi segiempat : '); readln(sisi);
KSegiEmpat:=4*sisi;
gotoxy(25,14); write('Keliling segiempat adalah : ',KSegiEmpat:12:2);
gotoxy(25,16); write('Anda ingin menghitung lagi [Y/T] : ');readln(Jawab);
if upcase(Jawab)='Y' then
goto 15 else goto 6;
end;
10: Begin
16:
clrscr;
gotoxy(30,02); write('PEMOGRAMAN TERSETRUKTUR');
gotoxy(13,03); write('Manajemen Informatika-Program D-III Piksi Ganesha Bandung');
gotoxy(30,04); write('Created by : MIF-X-K32.7');
gotoxy(18,05); write('Asep Kurnia, Bahagia Karo Sekali, Samja Dipraja');
gotoxy(06,06); write('==============================================');
gotoxy(25,10); write('PROGRAM MENGHITUNG KELILING PERSEGI PANJANG');
gotoxy(25,11); write('------------------------------------------------------------------------------');
gotoxy(25,12); write('Masukan nila panjang : '); readln(panjang);
gotoxy(25,13); write('Masukan nilai lebar : '); readln(lebar);
KPersegiPanjang:=2*panjang*lebar;
gotoxy(25,15); write('Luas Persegi Panjang adalah : ',KPersegiPanjang:12:2);
gotoxy(25,17); write('Anda ingin menghitung lagi [Y/T] : ');readln(Jawab);
if upcase(Jawab)='Y' then
goto 16 else goto 6;
end;
11: goto 1
else goto 6;
end;
end;
3: begin
17:
clrscr;
assign(FBrg,'Barang.Dat');
{$I-}
reset(FBrg);
{$I+}
if IOresult<>0 then rewrite(FBrg);
Lagi:='Y';
while upcase(Lagi)='Y' do
begin
clrscr;
gotoxy(30,02); write('PEMOGRAMAN TERSETRUKTUR');
gotoxy(13,03); write('Manajemen Informatika-Program D-III Piksi Ganesha Bandung');
gotoxy(30,04); write('Created by : MIF-X-K32.7');
gotoxy(18,05); write('Asep Kurnia, Bahagia Karo Sekali, Samja Dipraja');
gotoxy(06,06); write('==============================================');
gotoxy(25,10); write('INPUT DATA BARANG');
gotoxy(25,11); write('-------------------------------');
gotoxy(25,12); write('Kode Barang : ');
gotoxy(25,13); write('Nama Barang : ');
gotoxy(25,14); write('Harga Barang : ');
gotoxy(25,15); write('Jumlah Stock : ');
gotoxy(40,12); readln(vKode);
Ketemu:=False;
seek(FBrg,0);
while not EOF(FBrg) and not Ketemu do
begin
read(FBrg,RBrg);
if RBrg.Kode=vKode then
begin
clrscr;
gotoxy(30,02); write('PEMOGRAMAN TERSETRUKTUR');
gotoxy(13,03); write('Manajemen Informatika-Program D-III Piksi Ganesha Bandung');
gotoxy(30,04); write('Created by : MIF-X-K32.7');
gotoxy(18,05); write('Asep Kurnia, Bahagia Karo Sekali, Samja Dipraja');
gotoxy(06,06); write('=========================================');
gotoxy(25,17); write('Data Sudah Ada ');
readln;
clrscr;
Ketemu:=True;
end;
end;
if not Ketemu then
begin
RBrg.Kode:=vKode;
Jawab:='T';
while upcase(Jawab)='T' do
begin
gotoxy(40,13); readln(RBrg.NamaBrg);
gotoxy(40,14); readln(RBrg.Harga);
gotoxy(40,15); readln(RBrg.JmlStock);
gotoxy(25,17); write('Data Sudah Benar [Y/T] : '); readln(Jawab);
end;
write(FBrg,RBrg);
end;
gotoxy(30,02); write('PEMOGRAMAN TERSETRUKTUR');
gotoxy(13,03); write('Manajemen Informatika-Program D-III Piksi Ganesha Bandung');
gotoxy(30,04); write('Created by : MIF-X-K32.7');
gotoxy(18,05); write('Asep Kurnia, Bahagia Karo Sekali, Samja Dipraja');
gotoxy(06,06);write('=========================================');
gotoxy(25,19); write('Masukan Data Lagi [Y/T] : '); readln(Lagi);
if upcase(Lagi)='Y' then
goto 17
else
goto 1;
end;
close(FBrg);
end;
4: exit
else
clrscr;
gotoxy(30,02); write('PEMOGRAMAN TERSETRUKTUR');
gotoxy(13,03); write('Manajemen Informatika-Program D-III Piksi Ganesha Bandung');
gotoxy(30,04); write('Created by : MIF-X-K32.7');
gotoxy(18,05); write('Asep Kurnia, Bahagia Karo Sekali, Samja Dipraja');
gotoxy(06,06); write('==============================================');
gotoxy(25,16); write('Pilihan tidak termasuk kriteria');
gotoxy(36,17); writeln(''); gotoxy(44,17); readln;
goto 1;
end;
end.