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.
Tidak ada komentar:
Posting Komentar