tugas 4 ( if, case of, procedure, while do, repeat until, for to do, fungi, array)

program logika_matematika;
uses wincrt;

procedure garis;
begin
writeln(‘===============================================’);
end;

var
menu,lagi:char;
menu1,menu2,menu3,menu4:char;
lagi1,lagi2,lagi3,lagi4,lagi5,lagi6:char;
per_1,per_2:string;
depan,belakang:string;
n,i:integer;
x:array [1..100] of integer;

function debel(var de:string; bel:string):string;
begin
debel:=de+bel;
end;

procedure konjungsi;
begin
repeat
clrscr;
writeln(‘KONJUNGSI’);
garis;
writeln(‘1 DEFINISI’);
writeln(‘2 TABEL KEBENARAN KONJUNGSI’);
writeln(‘3 PROGRAM KONJUNGSI’);
garis;
writeln;
write(‘pilih no: ‘);readln(menu1);
case menu1 of
‘1’:begin
clrscr;
writeln(‘DEFINISI’);
garis;
writeln(‘Konjungsi adalah pernyataan majemuk dengan penghubung “dan”‘);
writeln(‘yang dilambangkan dengan “n”.’);
writeln(‘konjungsi “p dan q” dilambangkan dengan “p n q”‘);
garis;
end;
‘2’:begin
clrscr;
writeln(‘TABEL KEBENARAN KONJUNGSI’);
garis;
writeln(‘——————————-‘);
writeln(‘P      Q                  P n Q’);
writeln(‘——————————-‘);
writeln(‘B      B                    B’);
writeln(‘B      S                    S’);
writeln(‘S      B                    S’);
writeln(‘S      S                    S’);
writeln(‘——————————-‘);
end;
‘3’:begin
clrscr;
writeln(‘PROGRAM KONJUNGSI’);
garis;
writeln(‘NOTE: tulis pernyataan dengan huruf besar (B/S)’);
garis;
write(‘pernyataan 1 (B/S): ‘);readln(per_1);
write(‘pernyataan 1 (B/S): ‘);readln(per_2);
writeln;
if (per_1=’B’) and (per_2=’B’) then
writeln(‘maka konjungsinya bernilai: BENAR’)
else
writeln(‘maka konjungsinya bernilai: SALAH’);
writeln;
end;
else
clrscr;
writeln(‘lihat pilihannya baik-baik’);
end;
writeln;
write(‘kembali?(y/t): ‘);readln(lagi1);
lagi1:=upcase(lagi1);
until lagi1=’T’;
end;

procedure disjungsi;
begin
repeat
clrscr;
writeln(‘DISJUNGSI’);
garis;
writeln(‘1 DEFINISI’);
writeln(‘2 TABEL KEBENARAN DISJUNGSI’);
writeln(‘3 PROGRAM DISJUNGSI’);
garis;
writeln;
write(‘pilih no: ‘);readln(menu2);
case menu2 of
‘1’:begin
clrscr;
writeln(‘DEFINISI’);
garis;
writeln(‘Disjungsi adalah pernyataan majemuk dengan kata penghubung “atau”‘);
writeln(‘yang dilambangkan dengan “V”‘);
writeln(‘disjungsi “p atau q” dilambangkan dengan “p V q”‘);
garis;
end;
‘2’:begin
clrscr;
writeln(‘TABEL KEBENARAN DISJUNGSI’);
garis;
writeln(‘——————————-‘);
writeln(‘P      Q                  P V Q’);
writeln(‘——————————-‘);
writeln(‘B      B                    B’);
writeln(‘B      S                    B’);
writeln(‘S      B                    B’);
writeln(‘S      S                    S’);
writeln(‘——————————-‘);
end;
‘3’:begin
clrscr;
writeln(‘PROGRAM DISJUNGSI’);
garis;
writeln(‘NOTE: tulis pernyataan dengan huruf besar (B/S)’);
garis;
write(‘pernyataan 1 (B/S): ‘);readln(per_1);
write(‘pernyataan 1 (B/S): ‘);readln(per_2);
writeln;
if (per_1=’S’) and (per_2=’S’) then
writeln(‘maka disjungsinya bernilai: SALAH’)
else
writeln(‘maka disjungsinya bernilai: BENAR’);
end;
else
clrscr;
writeln(‘lihat pilihannya baik-baik’);
end;
writeln;
write(‘kembali?(y/t): ‘);readln(lagi2);
lagi2:=upcase(lagi2);
until lagi2=’T’;
end;

procedure implikasi;
begin
repeat
clrscr;
writeln(‘IMPLIKASI’);
garis;
writeln(‘1 DEFINISI’);
writeln(‘2 TABEL KEBENARAN IMPLIKASI’);
writeln(‘3 PROGRAM IMPLIKASI’);
garis;
writeln;
write(‘pilih no: ‘);readln(menu3);
case menu3 of
‘1’:begin
clrscr;
writeln(‘DEFINISI’);
garis;
writeln(‘Implikasi atau pernyataan bersyarat adalah suatu pernyataan majemuk’);
writeln(‘dengan penghubung kata “jika…maka”‘);
writeln(‘yang dilambangkan dengan “=>”‘);
writeln(‘implikasi “jika p maka q” dilambangkan dengan “p=>q”‘);
garis;
end;
‘2’:begin
clrscr;
writeln(‘TABEL KEBENARAN IMPLIKASI’);
garis;
writeln(‘——————————-‘);
writeln(‘P      Q                   P=>Q’);
writeln(‘——————————-‘);
writeln(‘B      B                    B’);
writeln(‘B      S                    S’);
writeln(‘S      B                    B’);
writeln(‘S      S                    B’);
writeln(‘——————————-‘);
end;
‘3’:begin
writeln(‘PROGRAM IMPLIKASI’);
garis;
writeln(‘NOTE: tulis pernyataan dengan huruf besar (B/S)’);
garis;
write(‘pernyataan 1 (B/S): ‘);readln(per_1);
write(‘pernyataan 1 (B/S): ‘);readln(per_2);
writeln;
if (per_1=’B’) and (per_2=’S’) then
writeln(‘maka implikasinya bernilai: SALAH’)
else
writeln(‘maka implikasinya bernilai: BENAR’);
end;
else
clrscr;
writeln(‘lihat pilihannya baik-baik’);
writeln;
end;
write(‘kembali?(y/t): ‘);readln(lagi3);
lagi3:=upcase(lagi3);
until lagi3=’T’;
end;

procedure biimplikasi;
begin
repeat
clrscr;
writeln(‘BIIMPLIKASI’);
garis;
writeln(‘1 DEFINISI’);
writeln(‘2 TABEL KEBENARAN BIIMPLIKASI’);
writeln(‘3 PROGRAM BIIMPLIKASI’);
garis;
writeln;
write(‘pilih no: ‘);readln(menu4);
case menu4 of
‘1’:begin
clrscr;
writeln(‘DEFINISI’);
garis;
writeln(‘Biimplikasi atau implikasi dua arah adalah pernyataan majemuk’);
writeln(‘yang dihubungkan dengan kata-kata “…jika dan hanya jika…”‘);
writeln(‘yang dilambangkan dengan “<=>”‘);
writeln(‘biimplikasi “p jika dan hanya jika q” dilambangkan dengan “p<=>q”‘);
garis;
end;
‘2’:begin
clrscr;
writeln(‘TABEL KEBENARAN BIIMPLIKASI’);
garis;
writeln(‘——————————-‘);
writeln(‘P      Q                  P<=>Q’);
writeln(‘——————————-‘);
writeln(‘B      B                    B’);
writeln(‘B      S                    S’);
writeln(‘S      B                    S’);
writeln(‘S      S                    B’);
writeln(‘——————————-‘);
end;
‘3’:begin
clrscr;
writeln(‘PROGRAM BIIMPLIKASI’);
garis;
writeln(‘NOTE: tulis pernyataan dengan huruf besar (B/S)’);
garis;
write(‘pernyataan 1 (B/S): ‘);readln(per_1);
write(‘pernyataan 1 (B/S): ‘);readln(per_2);
writeln;
if (per_1=’B’) and (per_2=’B’) or (per_1=’S’) and (per_2=’S’) then
writeln(‘maka biimplikasinya bernilai: BENAR’)
else
writeln(‘maka biimplikasinya bernilai: SALAH’);
end;
else
clrscr;
writeln(‘lihat pilihannya baik-baik’);
writeln;
end;
write(‘kembali?(y/t): ‘);readln(lagi4);
lagi4:=upcase(lagi4);
until lagi4=’T’;
end;

procedure prog_array;
begin
clrscr;
writeln(‘ROGRAM ARRAY’);
garis;
write(‘masukkan jumlah data: ‘);readln(n);
writeln;
for i:= 1 to n do
readln(x[i]);
writeln;
write(‘data yang telah dimasukkan: ‘);
for i:= 1 to n do
write(x[i],’ ‘);
writeln;
garis;
end;

procedure prog_nama;
begin
repeat
clrscr;
writeln(‘PROGRAM NAMA’);
garis;
write(‘masukan nama depan anda    : ‘);readln(depan);
write(‘masukan nama belakang anda : ‘);readln(belakang);
writeln;
writeln(‘nama lengkap anda adalah   : ‘,debel(depan,belakang),’ ‘);
writeln;
write(‘kembali?(y/t): ‘);readln(lagi6);
lagi6:=upcase(lagi6);
until lagi6=’T’;
end;

procedure selesai;
begin
clrscr;
writeln(‘TERIMA KASIH TELAH MENGGUNAKAN PROGRAM SAYA’);
garis;
writeln(‘nama         : novri irawan’);
writeln(‘smstr/kelas  : III/D’);
writeln(‘nim          : 2225092262′);
writeln(’email        : novri_irawan@yahoo.com’);
writeln(‘website      : http://www.novriirawan.wordpress.com&#8217;);
garis;
end;

begin
lagi:=’y’;
while (lagi=’y’) or (lagi=’Y’) do
begin
clrscr;
writeln(‘PROGRAM LOGIKA MATEMATIKA’);
garis;
writeln(‘1 KONJUNGSI’);
writeln(‘2 DISJUNGSI’);
writeln(‘3 IMPLIKASI’);
writeln(‘4 BIIMPLIKASI’);
writeln(‘5 PROGRAM ARRAY’);
writeln(‘6 PROGRAM NAMA’);
writeln(‘7 SELESAI’);
garis;
writeln(‘0 EXIT’);
garis;
write(‘pilih no: ‘);readln(menu);
case menu of
‘1’: konjungsi;
‘2’: disjungsi;
‘3’: implikasi;
‘4’: biimplikasi;
‘5’: prog_array;
‘6’: prog_nama;
‘7’: selesai;
‘0’: donewincrt;
else
clrscr;
writeln(‘pilihannya dari 1-6’);
end;
writeln;
write(‘kembali ke menu awal?(y/t): ‘);readln(lagi);
clrscr;
writeln(‘TERIMA KASIH TELAH MENGGUNAKAN PROGRAM SAYA’);
garis;
writeln(‘nama         : novri irawan’);
writeln(‘smstr/kelas  : III/D’);
writeln(‘nim          : 2225092262′);
writeln(’email        : novri_irawan@yahoo.com’);
writeln(‘website      : http://www.novriirawan.wordpress.com&#8217;);
garis;
end;
end.