1.14.2011

UAS Alogaritma

nah ini posting ttg alogaritma.
ada dua materi teori (ibu erlina) praktek ( pak tri ) .
buat teori ..
Ibu kasih contoh tentang soal analisis logika soalnya dan jawabannya klick di sini
selain itu
harus juga pelajari lagi tentang algritma di post sebelumnya.

klo buat algoritma praktek .
Selain materi dari pencetakan karakter, perhitungan , dll.
Dengan menggunakan statement bercabang seperti If then else , Case Of.
lalu LooPing seperti Repeat Until, While Do , For To Do .

ada tambahan lagi tentang Array & Procedure
Array adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama . Komponen-komponen tersebut di sebut sebagai komponen type , larik mempunyai jumlah komponen yang jumlahnyua tetap. Banyaknya komponen dalam larik di tunjukkan oleh suatu indeks, dimana tiap komponen di Array dapat bertipe data sederhana seperti byte, word, integer, real, bolean , char, string dan tipe scalar atau subrange. Tipe larik mengartikan isi dari larik atau komponen-komponennya mempunyai nilai dengan tipe data tersebut.
untuk penjelasan lebih jauh bisa lihat di sini atau lebih dalam Di sini.

sedangkan untuk contoh pembuatan programnya dalam pascal kurang lebih seperti ini :
penggunaan array yang di gabung dengan record dan pengulangan.
Program input_Data_gaJi;
uses wincrt;
var
Nip :array[1..4] of string;
Nama :array[1..4] of string;
Gol :array[1..4] of char;
GP :array[1..4]of longint;
Lagi :char;
i,j,k,b,ma,mb,mc,md :integer;
cari,status :string;
Begin
writeln (' Daftar Gaji Karyawan ');
writeln (' =====================');
i:=1;
ma:=0;
mb:=0;
mc:=0;
md:=0;
while i<=4 do
begin
write (i,'.Nip : ') ;readln(nip[i]);
write (' Nama : ') ;readln(nama[i]);
write (' Golongan : ') ;readln(gol[i]);
if (gol[i]='A') or (gol[i]='a') then
begin
gp[i]:=1000000;
ma:=ma+1;
end

else if (gol[i]='B') or (gol[i]='b') then
begin
gp[i]:=1500000;
mb:=mb+1;
end

else if (gol[i]='C') or (gol[i]='c') then
begin
gp[i]:=2000000;
mc:=mc+1;
end

else if (gol[i]='D') or (gol[i]='d') then
begin
gp[i]:=2500000;
md:=md+1;
end;
writeln('Gaji Pokok : ',gp[i]);
i:=i+1;

clrscr;
end;


gotoxy(16,1);writeln (' Daftar Gaji Penjualan');
gotoxy(16,2);writeln (' =====================');
gotoxy(2,3);writeln ('______________________________________________________');
gotoxy(2,5);write ('No');
gotoxy(5,5);write ('Nip');
gotoxy(14,5);write ('Nama');
gotoxy(28,5);write ('Golongan');
gotoxy(41,5);write ('Gaji Pokok');
gotoxy(2,6);writeln('______________________________________________________');
J:=8;
for b:=1 to 4 do
begin
gotoxy(2,J);write(b,'.');
gotoxy(5,J);write(nip[b]);
gotoxy(14,J);write(nama[b]);
gotoxy(28,J);write(gol[b]);
gotoxy(41,J);write(gp[b]);
j:=j+1;
end;
gotoxy(2,12);writeln('______________________________________________________');
gotoxy(2,13);writeln('Jumlah Golongan A : ',ma);
gotoxy(2,14);writeln('Jumlah Golongan B : ',mb);
gotoxy(2,15);writeln('Jumlah Golongan C : ',mc);
gotoxy(2,16);writeln('Jumlah Golongan D : ',md);
writeln;
repeat
write(' Nip yang Anda Cari : ');readln(cari);
k:=1;
status:='Tidak ada';
while (status='Tidak ada') and (k<=4)do
begin
if cari=Nip[k] then
Status:='Ketemu'
else
k:=k+1;
end;
if status='Ketemu' then
begin
writeln(' Nip : ',Nip[k]);
writeln(' Nama : ',nama[k]);
writeln(' Golongan : ',gol[k]);
writeln(' Gaji Pokok : ',gp[k]);
end
else
writeln(' Nip Yang Anda Cari Tidak ketemu');
writeln;
begin
write(' Coba Lagi [Y/T] ? ');readln(lagi);
writeln;
end;
until lagi='t';
writeln(' *** TERIMA KASIH ***');
end.

Sedangkan Procedur adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram (program bagian). Diawali dengan kata cadangan “Procedure” didalam bagian deklarasi prosedur. Prosedur banyak digunakan pada program yang terstruktur karena :
- merupakan penerapan konsep program modular, yaitu memecah-mecah program yang rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur-prosedur.
- Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.

Contoh nya pada pembuatan program perhitungan kalkulator.
Program Prosedur;
Uses Wincrt;

Var
Nilai_1 : Integer;
Nilai_2 : Integer;
Hasil : Real ;
Ulang : Boolean;
Pilih : Integer;
Lagi : Char;

Procedure Penambahan;
Begin
Hasil := Nilai_1 + Nilai_2;
End;

Procedure Pengurangan;
Begin
Hasil := Nilai_1 - Nilai_2;
End;

Procedure Perkalian;
Begin
Hasil := Nilai_1 * Nilai_2;
End;

Procedure Pembagian;
Begin
Hasil := Nilai_1 / Nilai_2;
End;

Begin
Ulang :=True;
While Ulang Do

Begin
Clrscr;
Writeln (' Menu Utama ');
Writeln ('============');
Writeln (' 1. Perhitungan Kalkulator Penambahan ');
Writeln (' 2. Perhitungan Kalkulator Pengurangan ');
Writeln (' 3. Perhitungan Kalkulator Perkalian');
Writeln (' 4. Perhitungan Kalkulator Pembagian ');
Writeln (' 5. Selesai');
Writeln;

Write ('Pilih :'); Readln (Pilih);

Case Pilih Of

1 : Begin
Lagi := 'Y';
While Upcase (Lagi) = 'Y' do
Begin
Clrscr;
Writeln ('Perhitungan Kalkulator Penambahan');
Writeln ('=================================');
Writeln;
Write (' Masukan Nilai ke - 1 : '); Readln (Nilai_1);
Write (' Masukan Nilai ke - 2 : '); Readln (Nilai_2);

Penambahan;

Writeln ( ' Hasil Penjumlahan :', Hasil :0:0);
Writeln;
Write ('Isi Lagi (Y/T) :'); Readln (Lagi);
Readln;
End;

End;

2 : Begin
Lagi := 'Y';
While Upcase (Lagi) = 'Y' do
Begin
Clrscr;
Writeln ('Perhitungan Kalkulator Pengurangan');
Writeln ('=================================');
Writeln;
Write (' Masukan Nilai ke - 1 : '); Readln (Nilai_1);
Write (' Masukan Nilai ke - 2 : '); Readln (Nilai_2);

Pengurangan;

Writeln ( ' Hasil Pengurangan :', Hasil :0:0);
Writeln;
Write ('Isi Lagi (Y/T) :'); Readln (Lagi);
Readln;
End;

End;


3 : Begin
Lagi := 'Y';
While Upcase (Lagi) = 'Y' do
Begin
Clrscr;
Writeln ('Perhitungan Kalkulator Perkalian');
Writeln ('=================================');
Writeln;
Write (' Masukan Nilai ke - 1 : '); Readln (Nilai_1);
Write (' Masukan Nilai ke - 2 : '); Readln (Nilai_2);

Perkalian;

Writeln ( ' Hasil Perkalian :', Hasil :0:0);
Writeln;
Write ('Isi Lagi (Y/T) :'); Readln (Lagi);
Readln;
End;

End;
4 : Begin
Lagi := 'Y';
While Upcase (Lagi) = 'Y' do
Begin
Clrscr;
Writeln ('Perhitungan Kalkulator Pembagian');
Writeln ('=================================');
Writeln;
Write (' Masukan Nilai ke - 1 : '); Readln (Nilai_1);
Write (' Masukan Nilai ke - 2 : '); Readln (Nilai_2);

Pembagian;

Writeln ( ' Hasil Perkalian :', Hasil :0:0);
Writeln;
Write ('Isi Lagi (Y/T) :'); Readln (Lagi);
Readln;
End;

End;
5 : Exit;
End; {case}
End; {While Ulang}
End.

contoh lainnya Program Konversi Suhu.



suMber : Nusinau.com




0 komentar:

Posting Komentar