sistematis berdasarkan urutan yang logis (logika) untuk penyelesaian suatu masalah.
French,C.S. (1984) menyatakan sejumlah konsep yang mempunyai relevansi
dengan masalah rancangan program yaitu kemampuan komputer, kesulitan dan ketepatan.
Penerapan dari konsep tersebut biasanya digunakan dalam rancangan algoritma. Dalam
merancang sebuah algoritma, Fletcher (1991) memberikan beberapa cara atau metode yaitu
kumpulan perintah, ekspresi, tabel instruksi, program komputer, kode semu dan flow chart,
sedangkan Knuth (1973) menyarankan algoritma fundamental. Untuk keperluan
matematika dan program komputer metode yang sering digunakan yaitu :
1. Diagram Alir (Flow Chart)
2. Kode Semu (Pseudo Code)
3. Algoritma Fundamental
Contoh :
Algoritmanya :
Ø Judul program
Ø Deklarasi Type
Data_Nilai_siswa = Record
Ø Inisialisasi variable
Data : Data_Nilai_siswa
Ø Input
Nim,nama,UAS,UTS,Tugas
Ø Proses
Rata_rata:=(75+70+60)/3;
Ø Menghitung kondisi Nilai Rata-rata
Rata-rata >= 80 nilai huruf A keterangan Lulus
Rata-rata >= 70 nilai huruf B keterangan Lulus
Rata-rata >= 60 nilai huruf C keterangan Lulus
Rata-rata >= 50 nilai huruf D keterangan Tidak Lulus
Rata-rata < 50 nilai huruf E keterangan Tidak Lulus
Programnnya adalah :
Data_Nilai_Siswa=record Nim : longint Nama : string[10] UTS,UAS,Tgs : integer Rata_rata : real |
Var Data : Data_Nilai_Siswa |
Data.Nim := 1302100358; Data.Nama := 'miftah'; Data.Nilai_UTS:= 76; Data.Nilai_UAS:= 75; Data.Nilai_Tugas:= 60; |
if Data. Rata_rata<50 |
Data.Rata_rata:=(76+75+60)/3; |
E (‘TidakLulus’) |
D (‘TidakLulus’) |
C (‘Lulus’) |
B (‘Lulus’) |
A (‘Lulus’) |
Cetak |
if Data. Rata_rata>=80 |
if Data. Rata_rata>=70 |
if Data. Rata_rata>=60 |
if Data. Rata_rata>=50 |
End |
SELECTION
Selection merupakan salah satu proses program di samping sequential (pengerjaan secara berurut) dan repetition / looping. Dalam selection, program akan memilih bagian yang akan dijalankan (sehingga terdapat bagian yang tak dijalankan).
Umumnya selection menggunakan IF ... THEN ... ELSE ..., akan tetapi terdapat pula CASE ... OF. Penggunaan IF lebih umum digunakan bila terdapat pilihan yang tidak terlalu banyak dan eksekusi baris program yang panjang.Blok pertama untuk IF dijalankan bila condition yang digunakan bernilai TRUE, sedangkan blok ELSE dijalankan bila nilai conditionnya adalah FALSE.
Contoh:
uses crt;
var bil1, bil2: integer;
begin
clrscr;
write('Masukkan bilangan 1 : ');readln(bil1);
write('Masukkan bilangan 2 : ');readln(bil2);
if bil1<bil2 then begin
writeln('Bilangan 1 lebih kecil');
end
else begin
writeln('Bilangan 2 lebih kecil');
end
readkey;
end.
Penggunaan IF dapat dikombinasikan sehingga suatu blok IF dapat menampung blok IF yang lainnya (nested selection). Penggunaan IF tidak selalu harus selalu bersama ELSE (simple selection). IF juga dapat digunakan lebih dari satu kondisi setelah ELSE (linear selection) atau pada IF yang sama menggunakan operator logika / logical operator (combined selection). Contohnya adalah seperti baris program di bawah:
if (condition1) then begin
if (condition2) then begin
statement1;
stetement2;
end
else if (condition3) then begin
statement3;
statement4;
end
else begin
statement5;
end;
statement6;
statement7;
if (condition4) then begin
statementx;
statementy;
end;
end
else if (conditionx AND conditiony OR conditionz) begin
statement01;
statement02;
end;
REPETITION / LOOPING (Perulangan)
Repetition dapat digunakan untuk menjalankan suatu bagian program secara berulangulang sesuai dengan kondisi yang ada. Looping pada Pascal menggunakan beberapa keyword seperti FOR...DO, WHILE...DO dan REPEAT...UNTIL.
FOR...DO dipergunakan ketika nilai yang akan digunakan sudah diketahui dengan nilai yang ada di dalamnya selalu ditambah atau dikurangi satu ketika mengalami perulangan.
Sintaks:
FOR variable := startindex (TO/DOWNTO) endindex DO BEGIN
statement;
END;
Dari sintaks di atas, terdapat dua jenis perubahan yang dapat digunakan, yaitu TO dan DOWNTO. TO akan menghasilkan nilai incremental atau penambahan satu setiap kali terjadi perulangan. Sedangkan DOWNTO akan menghasilkan nilai decremental atau pengurangan satu setiap kali terjadi perulangan.
Contoh penggunaan FOR...DO:
for i:=1 to 10 do begin
write(i,' ');
end;
for j:=10 downto 1 do begin
write(j,' ');
end;
WHILE...DO dapat digunakan tanpa harus ada perubahan pada nilai kondisi. Selama kondisi masih bernilai TRUE, maka perulangan akan dilakukan terus.
Sintaks:
WHILE (condition) DO BEGIN
statement;
END;
Contoh penggunaan WHILE...DO:
i:=10;
while i>2 do begin
i:=i-2;
writeln(i);
end;
pada akhir perulangan sehingga blok di dalam perulangan akan dijalankan minimal satu kali walaupun kondisi yang ada masih FALSE.
Sintaks:
REPEAT
statement;
UNTIL (condition);
Contoh penggunaan REPEAT...UNTIL:
i:=10;
repeat
i:=i-3;
writeln(i);
until i<1;
Dari penggalan program di atas, dapat dilihat bahwa REPEAT...UNTIL tidak memerlukan BEGIN dan END untuk menjalankan suatu blok statement.
TIPS: Gunakan variabel i, j, k, dan seterusnya untuk menandai indeks perulangan atau
looping.
Struktur Perulangan (Loop)
Perulangan (loop) merupakan bentuk yang sering ditemui dalam suatu program aplikasi. Di dalam bahasa Pascal, dikenal tiga macam perulangan, yaitu dengan menggunakan statemen For, While-Do dan Repeat….Until.
Struktur Perulangan
Perulangan dengan statemen For digunakan untuk mengulang statemen atau satu blok statemen berulang kali sejumlah yang ditentukan. Perulangan dapat berbentuk perulangan positif, negatif dan tersarang.
1. Perulangan Positif
Merupakan perulangan dengan penghitung (counter) dari kecil ke besar. Pendeklarasian perulangan ini adalah sebagai berikut :
FOR variabel_kontrol := nilai_awal To nilai_akhir DO
Statemen
Variabel_kontrol, nilai_awal dan nilai_akhir harus mempunyai tipe yang sama, yaitu bertipe integer.
Program Perulangan_For_Positif;
Var i : byte;
Begin
For i := 1 To 5 Do
Writeln (i);
Readln;
End.
Bila statemen lebih dari satu perintah, maka blok perintah-perintah tersebut harus diawali dengan begin dan diakhiri dengan end.
CONTOH :
Program Perulangan_For_Positif;
Var i : byte;
Begin
For i := 1 To 5 Do
Begin
Write ('No ');
Writeln (i);
End;
Readln;
End.
2. Perulangan Negatif
Merupakan perulangan dengan penghitung (counter) dari besar ke kecil. Pendeklarasian perulangan ini adalah sebagai berikut :
FOR variabel_kontrol := nilai_awal DownTo nilai_akhir DO
Statemen
CONTOH :
Program Perulangan_For_Negatif;
Begin
For i := 5 DownTo 1 Do
Begin
Write ('No ');
Writeln (i);
End;
Readln;
End.
3. Perulangan Tersarang (Nested Loop)
Merupakan perulangan yang berada di dalam perulangan yang lainnnya. Pada sistem perulangan ini, perulangan yang lebih dalam akan diproses terlebih dahulu sampai habis, kemudian perulangan yang lebih luar baru akan bertambah, kemudian mengerjakan perulanan yang lebih dalam lagi mulai dari nilai awalnya, dan seterusnya.
Program Perulangan_For_Bersarang;
Var i : integer;
{ **** Perulangan Luar **** }
For i := 1 To 3 Do
Begin
Write ('Luar = ');
{ ---- Perulangan Dalam ---- }
For j := 1 To 5 Do Luar
Begin
Write ('Dalam = '); Dalam
Writeln (j);
End;
{ - Batas Perulangan Dalam - }
End;
{ * Batas Perulangan Luar * }
Readln;
End.
Struktur Perulangan While-Do
Struktur perulangan ini memiliki bentuk sebagai berikut :
WHILE ungkapan_logika DO
Statemen
Perulangan dengan statemen While-Do digunakan untuk melakukan perulangan suatu statemen atau blok statemen terus-menerus selama kondisi ungkapan_logika pada while masih bernilai logika benar.
CONTOH :
Program Perulangan_While_Do;
Var i : byte;
Begin
i := 1;
While i <= 5 Do
Begin
Write ('No ');
Writeln (i);
i := i + 1;
End;
Readln;
End.
Struktur Perulangan Repeat…Until
Struktur perulangan ini memiliki bentuk sebagai berikut :

REPEAT
Statemen
UNTIL ungkapan_logika
Perulangan dengan statemen Repeat…Until digunakan untuk melakukan mengulang (repeat) statemen-statemen sampai batas (until) kondisi yang diseleksi di until tidak terpenuhi.
CONTOH :
Program Perulangan_Repeat_Until;
Var i : byte;
Begin
i := 1;
Repeat
Write ('No ');
Writeln (i);
i := i + 1;
Until i > 5;
Readln;
End.
Catatan :
Proses perulangan tersarang berlaku pada perulangan For, While-Do maupun Repeat….Until. Perulangan tersarang tidak menutup kemungkinan untuk memadukan ketiga perulangan tersebut.
Pustaka
Jogiyanto H. M., Turbo Pascal 5.0, Jilid 1, Andi Offset, Yogyakarta, 1999.

Contoh program Pascal selection (intruksi pemilihan )
Pada penjual coto dengan diskon 20% atau 0.2 dan
Harga 1 mangkok Rp 5000,00

Uses crt;
Var
Jumlah,total:real;
Const harga=5000;
Const diskon=0.2;
Begin
Clrscr;
Write(‘masukkan banyaknya mangkok:’);readln(jumlah);
If jumlah>3 then
Total:=(jumlah*harga)-(jumlah*harga*diskon)
Else if jumlah<=3 then
Total:=(jumlah*harga);
Write(‘total yang di bayar adalah:’,total:8:2);
Readln;
Belajar Looping
BalasHapusLooping While
Looping For
Looping Do While
Nested Loops
Silahkan kunjungi Kelas Pemrograman online Gratis
saya mau belajar giat tentang algoritma ini ....
BalasHapusbagaimana cara cepat belajarnya ?