Sabtu, 12 Maret 2011


Pentingnya Algoritma dalam Bahasa Pemrograman

Meskipun sudah dikatakan, bahwa sewaktu kita menyusun algoritma kita tidak perlu tahu bahasa pemrograman apa yang akan digunakan kelak, namun, untuk penulisan algoritma yang lebih efisien dan efektif, maka penggunaan sebagian perintah yang ada di dalam bahasa pemrograman perlu dilakukan juga.

Adapun perintah bahasa pemrograman yang paling sering digunakan untuk menyusun algoritma adalah bahasa pemrogrman yang terstrukutur, seperti Pascal, C, SNOBOL, PL/1, dan sebagainya.

Misalkan saja, untuk contoh berikut ini :

Langkah 1 : Beri nilai 10 ke variabel S
Maka, akan lebih mudah jika ditulis sebagai :
Langkah 1 : S := 10;

Belum lagi jika algoritma yang ditulis harus melakukan perulangan langkah ke langkah-langkah sebelumnya (looping).

10 Mulai I:= 1;
11 Lakukan perbandingan data ke I dengan data ke I+1
12 Jika data ke I+1 lebih kecil, maka tukar tempat keduanya
13 Tambahkan I dengan 1
14 Lakukan langkah 11 hingga langkah 13 selama nilai I < 10 15 selesai Tentu akan lebih ringkas jika kita tulis (perintah BASIC) : 10 For I= 1 to 10 20 If A(i) > A(I+1) then SWAP A(i), A(j)
30 next
40 end

Jadi terlihat, jika algoritma tersebut sederhana, maka penyusunan algoritma akan sama dengan penyusunan sebuah program (karena semua perintahnya sudah sesuai dengan kaidah penulisan di bahasa pemrogramannya). Apakah semuanya akan demikian ?.

Tentu saja tidak, misalkan, kita diminta untuk menentukan bilangan terkecil dari seratus buah bilangan yang akan dimasukkan ke komputer, ini masih dapat langsung dibuatkan programnya.

Algoritma (program)nya bisa kita susun sebagai berikut :
1 DIM A(100)
2 FOR M = 1 TO 100
3 INPUT A(M) : NEXT : KECIL = A(1)
4 FOR M = 2 TO 100
5 IF KECIL > A(M) THEN X = KECIL: KECIL = A(M) : A(M) = X
6 NEXT : PRINT KECIL : END

Tetapi, misalkan jika kita diminta untuk mengalihkan notasi infix menjadi postfix melalui stack, hal itu sulit untuk dilakukan. Algoritmanya bisa menggunakan gabungan kalimat dengan bahasa pemrograman, berikut contoh penggalannya.

Contoh :

1. Asumsi : deretan notasi infix dimasukkan ke dalam sebuah variabel array bernilai string, nama variabelnya D
2. S adalah variabel string untuk menyimpan susunan data di dalam stack
3. H adalah variabel string untuk menyimpan hasil
4. P = banyaknya elemen array
5. For I = 1 to p

If top(s) = empty then {top(s) adalah posisi atas stack)
if D(i) = operand then
H = D(i)
Else
S = S + D(i)
Top(s) = D(i)
Endif
Else
If D(i) = operator then
If derajat D(i) > derajat Top(s) then
. . .
. . .
. . .
. . .

Jadi, terdapat beberapa kata yang tidak dapat dijabarkan langsung ke dalam bahasa pemrograman. Misalkan, kata Top(s), empty, operand, operator, dan derajat.

0 komentar:

Posting Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Blogger Theme by Lasantha - Premium Blogger Templates | Affiliate Network Reviews