Minggu, Februari 16
ALGORITMA
BERDASARKAN FORMAT PENULISAN
Penulisan algoritma
tidak ter-ikat pada suatu aturan tertentu, Notasi algoritma bukan merupakan notasi bahasa pemograman, namun
notasi ini dapat diterjemahkan kedalam berbagai bahasa pemograman. Algoritma dapat
dinotasikan dalam beberapa cara, yaitu:
1. Untaian
Kalimat Deskriptif (Natural)
Algoritma deskriptif ialah algoritma yang ditulis
dalam bahasa manusia seperti bahasa Indonesia atau bahasa Ingris dan dalam bentuk kalimat. Notasi ini
cocok digunakan untuk algoritma yang pendek, namun untuk notasinya yang panjang, notasi ini kurang efektif
digunakan dan juga pengkonversian notasi algoritma ke notasi bahasa pemrograman
menjadi cenderung relatif sukar.
2. Pseudocode
Pseudocode berasal dari kata pseudo dan code . Pseudo berarti imitasi dan code ber-arti kode yang
dihubungkan dengan instruksi yang
ditulis dalam bahasa komputer atau kode bahasa pemograman. Pseudocode
digunakan untuk menggambarkan logika urut-urutan dari program tanpa
memandang bagaimana bahasa pemrogramannya.
3. Flow
Chart (Diagram Alir)
Diagram alir atau flow chart
adalah bagan menggambarkan
urutan langkah-langkah kegiatan atau program mulai dari awal sampai akhir dengan
menggunakan simbol atau gambar tertentu dan dan garis alir. Simbol-simbol yang mewakili
fungsi-fungsi langkah program dan garis alir (flow lines) yang menunjukkan urutan dari simbol-simbol yang
akan dikerjakan. Flowchart lebih baik digunakan dibandingkan dengan menggunakan pseudocode. Jumlah
simbol yang digunakan dalam flowchart sedikit,
Dalam pembuatan flowchart program tidak ada rumus atau patokan yang bersifat
mutlak, karena flowchart merupakan gambaran hasil pemikiran
dalam menganalisis suatu masalah dengan komputer sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram
dengan yang lainnya.
A. TEKS ALGORITMA
Teks algoritma merupakan penjelasan atau deskripsi
langkah-langkah dari penyelesaian masalah yang tersusun secara sistematis. Langkah-langkah tersebut tidak
memiliki standar yang baku seperti pada bahasa pemrograman tetapi langkah-langkah tersebut mudah di mengerti
oleh si pembacanya. Agar teks algoritma yang dibuat mudah di translasikan ke bahasa pemrograman tertentu
maka sebaiknya langkah-langkah dari teks algoritma yang dibuat berkoresponden
dengan perintah-perintah bahasa pemrograman. Teks algoritma disusun atas tiga bagian
atau blok yaitu; bagian judul agoritma (header), bagian deklarasi, dan bagian
deskripsi. Setiap bagian dapat diberi komentar yang biasanya dituliskan
menggunakan kurung kurawal.
·
Deklarasi
Deklarasi
atau disebut juga Kamus, deklarasi adalah bagian teks algoritma sebagai tempat
untuk mendefinisikan semua
nama yang dipakai di dalam algoritma. Nama tersebut dapat berupa nama
type, nama konstanta, nama variabel, nama fungsi, dan nama prosedur. Semua nama tersebut baru
dapat dipakai di dalam algoritma jika telah didefinisikan terlebih dahulu
didalam kamus. Penulisan sekumpulan nama dalam kamus sebaiknya dikelompokan menurut
jenis nama tersebut. Nama variabel belum terdefinisi nilainya ketika
didefinisikan. Pendefinisian nama konstanta sekaligus memberikan harga
konstanta tersebut, pendefinisian nama fungsi dilakukan sekaligus dengan domain
atau range serta spesifikasinya. Pendefinisian nama prosedur sekaligus dengan
pendefinisian parameter (jika ada) dan spesifikasi prosedur (kondisi awal
“Initial State”, Kondisi akhir “ Final State” dan proses yang dilakukan).
Contoh :
Kamus
{Nama type, hanya untuk type yang bukan type
dasar}
type jam : <hh,mm,ss :integer>
{Type jam terdiri dari 3 masukan yaitu “hh” sebagai
jam. “mm” sebagai menit dan “ss” sebagai
detik}
{Nama konstanta, harus menyebutkan type dan
nilai }
constant phi : real =
3,14159
constant nama : string =
‘Alex’
constant benar : boolean = true
{Nama Informasi, menyebutkan type}
x,y : integer {suatu
nilai yang bertype bilangan bulat}
NMax : real {nilai
maksimum yang bertype bilangan real}
Nama : string {suatu
nilai yang merupakan kumpulan character}
P : point {suatu
nilai pada bidang kartesian}
Cari : Boolean {suatu
nilai logika}
{Nama fungsi, menyebutkan domain dan range}
function RealToInt
(x:real) → integer
{mengubah harga x yang bertype real menjadi
harga ekivalen yang bertype integer}
{Nama prosedur, menyebutkan “IS” initial
state, “FS” final state dan proses}
procedure tukar
(input/output x,y : real)
{ IS x dan y terdefinisi, x = a dan y = b
FS x = b dan y = a
Proses : menukar isi informasi bilangan x dan
y }
·
Deskripsi
Deskripsi
atau sering disebut juga algoritma. Deskripsi adalah bagian inti dari suatu
algoritma yang berisi instruksi atau pemanggilan aksi yang telah didefinisikan.
Komponen-komponen teks algoritma dalam pemrograman yaitu: instruksi dasar
seperti input/output, assignment , sequence (runtutan), analisa kasus, perulangan. Setiap langkah algoritma dibaca dari langkah
paling atas hingga langkah paling bawah. Urutan penulisan menentukan urutan
pelaksanaan perintah.
Contoh :
Algoritma
input (c,d) {menerima masukan 2 bilangan c dan
d}
if c < d then {operasi kondisional}
e ← a + b {e di assignment oleh
nilai a dan b}
else
e ← a – b
output (e) {hasil keluaran berupa bilangan e}
B. STRUKTUR DASAR ALGORITMA
Sebuah
algoritma dapat dibangun dari tiga buah struktur dasar yang membentuk
konstruksi suatu algoritma. Struktur-struktur dasar tersebut ialah:
·
Runtunan (sequence)
Pada struktur sekuensial instruksi dikerjakan
secara berurutan baris perbaris mulai dari baris pertama hingga baris terakhir,
tanpa ada loncatan atau perulangan. Pada struktur ini Tiap instruksi dikerjakan
satu per satu.
·
Pemilihan (selection)
Struktur seleksi adalah instruksi yang
dipakai untuk memilih satu aksi dari beberapa kemungkinan aksi berdasarkan suatu syarat.
·
Pengulangan (repetition)
Struktur perulangan adalah instruksi yang
dapat mengulang sederetan instruksi secara berulang-ulang sesuai persyaratan
yang ditetapkan. Struktur instruksi perulangan pada dasarnya terdiri atas :
• Kondisi perulangan, yaitu suatu kondisi
yang harus dipenuhi agar perulangan dapat terjadi.
• Badan atau body perulangan, yaitu deretan
instruksi yang akan diulang-ulang pelaksanaannya.
• Pencacah (counter) perulangan, yaitu suatu
variabel yang nilainya harus berubah agar perulangan dapat terjadi dan pada
akhirnya membatasi jumlah perulangan yang dapatdilaksanakan.