Ketika array, perulangan dan percabangan ngumpul bareng di pascal


Sugeng rawuh

Ya sekarang saya ingin posting mengenai pascal, yang berjudul Ketika array, perulangan dan percabangan ngumpul bareng di pascal, meski agak nyeleneh…
langsung aja ya array itu seperti apa?
array adalah sebuah variabel deretan yang dapat menampung data dengan tipe data yang sama.
cara deklarasinya seperti ini :

(nama_array):array[(index_awal)..(index_akhir)] of (tipe_data);

contoh : nama:array[1..10] of string;

terus kalo perulangan kayak apa?

yang aku tahu baru cuma 3 yaitu, for…do, while..do, dan repeat…until, cara penggunaannya :

for (variabel_penampung_nilai):=(nilai_mulai) to (nilai_akhir) do

begin

statement;

statement;

end;

contoh :

for i:=1 to 10 do writeln(‘mulai hitung’,i);

untuk while…do

while (variabel_penampung_nilai)(tanda dapat =, <=, <>, >=, kemudian syarat nilainya) do

begin

statement;

statement;

end;

contoh :

while i<=10 do

begin

writeln(‘mulai hitung’,i);

i:=i+1;

end;

untuk repeat

repeat

begin

statement;

statement;

end

until(nilai_syarat terpenuhi)

contoh :

repeat

write(‘tekan y/n :’);

readln(msk);

until msk=’n’;

nah perlu diketahui penggunaan begin-end itu bergantung dari banyaknya statement kita, apabila statement lebih dari 1 statement harus di apit oleh begin dan end;

terus kalo percabangan ?

percabangan ada dua yaitu if dan case;

terus mending pake yang mana?

tergantung kasus apabila nilai persyaratannya sudah pasti mending pake case, namun apabila masih dalam bentuk kira-kira atau antara mending pake if.

deklarasi if

if (syarat) then

begin

statement;

statement;

end

elese statement;

contoh :

if (a<=5) and (b<=6) then

begin

writeln(‘nilai a pasti di bawah 5’);

writeln(‘nilai b pasti di bawah 6’);

end

else writeln(‘nilai a dan b di atas 5’);

kalo untuk case?

case (variabel) of

1:statement;

2:statement;

end;

contoh :

case plh of

1:writeln(‘anda pilih angka 1 kan’);

2:writeln(‘pasti pilih angka 2’);

end;

sama sepeti yang tadi penggunaan begin-end itu tergantung dari banyaknya statement.

terus jika ngumpul bareng bisa jadi seperti ini :

terus kalo ngumpul ngapain?

ya seperti ini

program tugas1;
uses crt;
const
garis='=====================================================';
pesan='tekan enter untuk melanjutkan';
t='Tulis yang anda cari :';
var
bus,i,cek,cok:integer;
n1,n2,na:real;
pencari:string;
plh:char;
nama:array[1..10] of string;
nilai1,nilai2,nAkhir:array[1..10] of real;
procedure input();
begin
clrscr();
i:=bus+1;
repeat
write('ke-',i,' Masukan Nama :');readln(nama[i]);
nilai1[i]:=random(100);
nilai2[i]:=random(100);
nAkhir[i]:=(nilai1[i]+nilai2[i])/2;
write('apakah akan tambah data (y/n) :');readln(plh);
if(plh='y') then i:=i+1;
until plh='n';
bus:=i;
end;
procedure output();
begin
clrscr();
gotoxy(1,2);write('Nama');
gotoxy(15,2);write('Nilai1');
gotoxy(25,2);writeln('Nilai2');
writeln(garis);
for i:=1 to bus do
begin
gotoxy(1,3+i);write(nama[i]);
gotoxy(15,3+i);write(nilai1[i]:6:2);
gotoxy(25,3+i);writeln(nilai2[i]:6:2);
end;
writeln(garis);
write(pesan);
end;
procedure header();
begin
clrscr();
gotoxy(1,2);write('Nama');
gotoxy(15,2);write('Nilai1');
gotoxy(25,2);write('Nilai2');
gotoxy(35,2);writeln('Nilai Akhir');
writeln(garis);
end;
procedure isi();
begin
gotoxy(1,3+i);write(nama[i]);
gotoxy(15,3+i);write(nilai1[i]:6:2);
gotoxy(25,3+i);write(nilai2[i]:6:2);
gotoxy(35,3+i);writeln(nAkhir[i]:6:2);
end;
procedure nilaiAkhir();
begin
clrscr();
header;
for i:=1 to bus do isi;
writeln(garis);
write(pesan);
end;
procedure cari();
begin
clrscr();
plh:='0';
writeln('cari berdasarkan :');
writeln('1. NAMA');
writeln('2. NILAI 1');
writeln('3. NILAI 2');
writeln('4. NILAI AKHIR');
write('masukan pilihan anda :');readln(plh);
if(ord(plh)>58)or(ord(plh)<47) then write('Yang anda  masukan bukan angka')
else
begin
case plh of
'1':begin
write(t);readln(pencari);
header;
for i:= 1 to bus do
if nama[i]=pencari then isi;
writeln(garis);
end;
'2':begin
write(t);readln(n1);
header;
for i:= 1 to bus do
if nilai1[i]=n1 then isi;
writeln(garis);
end;
'3':begin
write(t);readln(n2);
header;
for i:= 1 to bus do
if nilai2[i]=n2 then isi;
writeln(garis);
end;
'4':begin
write(t);readln(na);
header;
for i:= 1 to bus do
if nAkhir[i]=na then isi;
writeln(garis);
end;
else write('Pilihan anda belum ada');
end;
end;
end;
procedure hapus();
begin
clrscr();
write('Masukan nama yang akan di hapus :');readln(pencari);
cok:=0;cek:=3;
for i:= 1 to bus do
begin
if nama[i]=pencari then
begin
nama[i]:='';
nilai1[i]:=0;
nilai2[i]:=0;
nAkhir[i]:=0;
writeln('Data berhasil di hapus');
cok:=2;
end
else
begin
if nama[i]<>pencari then
begin
cek:=2;
if nama[i]='' then cek:=1;
end;
end;
end;
if (cok<2) and (cek<=2) then write('Nama yang anda masukan belum ada');
end;
procedure menu();
begin
gotoxy(10,2);
writeln('Program Menghitung Nilai');
writeln(garis);
writeln('1. Input NIM');
writeln('2. Output Nilai1 dan Nilai2');
writeln('3. Lihat Nilai Akhir');
writeln('4. Cari');
writeln('5. Hapus');
writeln('6. Keluar');
writeln(garis);
write('Masukan angka berdasarkan menu di atas :');readln(plh);
if(ord(plh)>58)or(ord(plh)<47) then write('Yang anda  masukan bukan angka')
else
begin
case plh of
'1':input;
'2':output;
'3':nilaiAkhir;
'4':cari;
'5':hapus;
'6':exit();
else write('Pilihan anda belum ada');
end;
end;
readln();
end;
begin
repeat
clrscr();
menu;
until plh='6';
end.

yang suka .exe nya ini di download

oke..kayaknya udah cukup ya,semoga bermanfaat.
matur suwun

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s