Pemodelan
Algoritma
Pemodelan
Algoritma merupakan aktivitas dalam mengilustrasikan jalannya suatu alur
Algoritma dalam program dengan menggunakan simbol dan aturan-aturan tertentu.
Ada tiga tipe pemodelan, yaitu:
- Flowcharts
- Nassi Scheniderman (Ns Diagram), dan
- Pseudecode
Dari ketiga
model diatas, model terakhir yaitu pseudecode lah yang amat banyak digunakan
dan populer dikalangan para pemrogramam, khususnya di Indonesia. Hal itu dapat
terlihat di hampir semua perguruan tinggi atau sekolah menggunakan pemodelan
algoritma Pseudecode dalam melakukan pendekatan terhadap code.
Pseudecode
Pseudecode
adalah pemodelan algoritma dengan menggunakan kode yang mirip dengan kode
pemograman yang sebenarnya, seperti BASIC, PASCAL, C, dan lain-lain. Secara
bahasa, Pseudecode berasal dari kata Pseudo yang artinya mirip atau imitasi
atau menyerupai. Dan akar kata kedua yaitu Code yang berarti program.
Ada beberapa
bagian algoritma di dalam Pseudecode, yaitu :
- Judul (Header)
- Deklarasi (Kamus)
- Deskripsi
Pada setiap
bagian tersebut dapat kita berikan dokumentasi berupa komentar. Untuk memberikan
komentar kita gunakan kurung kurawa contoh {komentar}. Notasi algoritmis yang
ditulis didalam kurung kurawa {} maka tidak akan dieksekusi oleh compiler.
Judul
(Header)
Judul
merupakan bagian kepala yang berisi nama algoritma dan penjelasan spesifik mengenai
algoritma tersebut seperti cara kerja, kondisi awal dan kondisi akhir.
Contoh:
Program Perkenalan;
{Judul/Header Program}
{ mencetak
String “Hallo, nama saya Pascal!”, “Boleh kita berkenalan, Siapa nama kamu?”,
“Oh!, TheName. Selamat Belajar Algoritma dan Pemrograman Menggunakan
Bahasa Pascal” ke piranti keluaran (monitor). Dan menerima inputan sebuah nama
(TheName)dari user.}
Deklarasi
(Kamus)
Bagian ini
merupakan ruang untuk mendefinisikan beberapa komponen data (type data,
konstanta), variabel, fungsi dan prosedure.
Contoh:
{Deklarasi/Kamus}
TheName:String; {variabel
penampung inputan bertipe data String}
Deskripsi
Bagian yang
berisi uraian langkah-langkah penyelesaian masalah. Deskripsi merupakan
bagian inti dari algoritma, biasa berisi intruksi-intruksi penyelesaian dan
pemanggilan aksi tertentu yang sudah didefinisikan.
Contoh:
{Deskripsi}
Output(‘Hallo,
nama saya Pascal!’);
Output(‘Boleh
kita berkenalan, Siapa nama kamu?’);
Input(TheName);
Output(‘Oh!
’,TheName ,‘. Selamat Belajar Algoritma dan Pemrograman Menggunakan Bahasa
Pascal’);
Dalam
pembelajaran ini, notasi algoritma yang kita buat dengan model pseudecode akan
kita konversikan ke dalam bahasa pemograman Pascal. Sebelum beranjak lebih jauh
dan untuk mempermudah pelajaran selanjutnya, kita bahas dulu apa itu bahasa
pemograman Pascal.
Bahasa
pemograman Pascal, penamaan Pascal di ambil dari sebuah nama guru besar di
Francis yaitu Blaise Pascal. Pascal termasuk ke dalam kategori bahasa
pemograman prosedural yaitu suatu bahasa pemograman yang impelemtasinya
berdasarkan kepada penyelesaian permasalahan yang mengandalkan langkah terurut
dari beberapa fungsi dan prosedure program yang di definisikan. Kelemahan
kategori ini akan terlalu banyak melibatkan coding dalam penggunaan fungsi dan
prosedure dalam satu medan kerja untuk permasalahan yang kompleks dan sulit
dalam pemeriksaan lebih lanjut terhadap pengembangan code-nya. Namun kemudahan
bahasa pemograman ini jika dibandingkan dengan bahasa pemogaman non-prosedural
lainnya ialah mudah untuk dipelajari, khususnya bagi para pemula dalam
mempelejari dan mengenal apa itu bahasa pemograman.
Struktur
Pascal terdiri dari beberapa bagian yang dimana tiap bagiannya sama dengan
bagian-bagian yang dimiliki oleh Algoritma-Pseudecode. Adapun struktur Pascal
yang dimaksud yaitu:
- Programe name dan Processor directive yang sama dengan judul program pada pseudecode, namun untuk processor directive adalah key word wajib yang mesti dipanggil paling awal pada saat program di buat dan dijalankan. Processor directive ini mengacu kepada library bawaan Pascal untuk melakukan standar baku pemograman, misal wincrt, crt, graphic dan lain-lain.
- Global variabel block merupakan kamus atau deklarasi dalam pseudecode.
- Main procedure dan Main procedure code merupakan deksripsi dalam pseudecode.
Jika secara
sederhana template dari struktur pascal tampak sebagai berikut:
{ Program
name }
PROGRAM my_program_1;
{
Preprocessor directives }
USES crt;
{ Global
Variable Block }
VAR
Int_var : Integer;
String_var : String;
Any_var : Real;
{ Main
Procedure }
BEGIN
{ Main
procedure code }
END.
Contoh
konversi pseudecode program perkenalan ke pascal
Pseudecode
Program Perkenalan;
{Judul/Header Program}
{Deklarasi/Kamus}
TheName:String; {variabel
penampung inputan bertipe data String}
{Deskripsi}
Output(‘Hallo,
nama saya Pascal!’);
Output(‘Boleh
kita berkenalan, Siapa nama kamu?’);
Input(TheName);
Output(‘Oh!
’,TheName ,‘. Selamat Belajar Algoritma dan Pemrograman Menggunakan Bahasa
Pascal’);
Pascal
{judul
program}
PROGRAM perkenalan;
USES crt;
{ Deklarasi
}
VAR
TheName : String;
{ Deskripsi
}
BEGIN
Writeln(‘
Program Perkenalan ‘);
Writeln(‘======================================’);
Writeln;
write(‘Hallo,
nama saya Pascal!’); {write: keyword keluaran}
writeln; {writeln:
keyword keluaran dengan satu enter ke bawah}
writeln(‘Boleh
kita berkenalan, Siapa nama kamu?’);
read(TheName);
{read: keyword untuk masukan}
writeln(‘Oh!
’,TheName ,‘. Selamat Belajar Algoritma dan Pemrograman Menggunakan Bahasa
Pascal’);
readln; {readln:
keyword masukan dengan satu enter ke bawah}
END.
- Program Konversi Waktu (Jam ke Detik)
Pseudecode
{nama
program}
Program
Konversi_Waktu;
{kamus}
j,m,d,h:integer;
{deskripsi}
Input(j);
{jam}
Input(m);
{menit}
Input(d);
{detik}
h:=(j*3600)+(m*60)+d;
{proses konversi}
Output(h);
{detik akumulatif hasil konversi}
Pascal
Program
Konversi_Waktu;
Uses Wincrt;
Var
j,m,d,h:integer;
begin
Writeln(‘Program
Konversi Waktu’);
Writeln(‘======================’);
Writeln;
Write(‘Masukkan
Jumlah Jam : ‘);readln(j);
Write(‘Masukkan
Jumlah Menit : ‘);readln(m);
Write(‘Masukkan
Jumlah Detik : ‘);readln(d);
Writeln;
h:=(j*3600)+(m*60)+d;
Writeln(‘Jadi
Hasil Konversi : ‘,h,’ Detik’);
readln;
end.
- Program Menukar Nilai
Pseudecode
{nama
program}
Program
Menukar_Nilai;
{kamus}
var
A,B,C:integer;
{deskripsi}
Input(A);
Input(B);
{proses
tukar}
C:=A;
A:=B;
B:=C;
Output(
A,B);
Pascal
Program
Menukar_Nilai;
Uses
WinCrt,WinDos;
var
A,B,C:integer;
Begin
Clrscr;
{keyword untuk membersihkan layar}
Writeln(‘Program
Menukar Nilai A Menjadi B’);
Writeln(‘=================================’);
Writeln;
Write(‘Masukkan
Nilai A: ‘);readln(A);
Write(‘Masukkan
Nilai B: ‘);readln(B);
Writeln;
C:=A;
A:=B;
B:=C;
Writeln;
Writeln(‘Hasil
A=’,A,’ B=’,B);
readln;
End.
- Program Hitung Karakter (Nama)
Pseudecode
{nama
program}
PROGRAM
Hitung_Karakter;
{kamus}
nama
: string;
namalen :
integer;
{deskripsi}
input
(nama);
namalen :=
length(nama); {length: keyword untuk hitung karakter}
output
(nama, namalen);
Pascal
PROGRAM
Hitung_Karakter;
USES crt;
VAR
nama
: string;
namalen :
integer;
BEGIN
clrscr;
Writeln(‘Program
Hitung Karakter’);
Writeln(‘=================================’);
Writeln;
write
(‘Masukan nama Anda? ‘);
readln
(nama);
namalen :=
length(nama); {length: keyword untuk hitung karakter}
writeln
(‘Nama ‘, nama,’ memiliki panjang karakter ‘, namalen);
readln;
END.
