Tuesday, February 27, 2018

√ Algoritma Pemrograman

 Program komputer ialah rangkaian kata perintah yang telah dimengerti oleh komputer untuk √ Algoritma Pemrograman
1. PROGRAM KOMPUTER
Program komputer ialah rangkaian kata perintah yang telah dimengerti oleh komputer untuk dikerjakannya. Kata-kata perintah tersebut membentuk suatu bahasa yang disebut dengan bahasa pemrograman. Sebagaimana bahasa pada manusia, bahasa pemrograman juga terdiri atas banyak macam bahasa, dan mempunyai aturannya masing-masing.

Sulitnya, komputer dikala ini belum diberi hak inisiatif, sehingga kalau ada sedikit saja kesalahan penulisan perintah oleh pemrogram, ia tidak mau memaklumi-nya atau berusaha memperbaiki sendiri kesalahan tersebut. Serta merta ia “ngambek” dan tidak mau mengerjakan perintah-perintah lainnya. Komputer diciptakan melalui budi manusia, karenanya, ia bekerja secara logis, tanpa campur-tangan “perasaan.”

2. ALGORITMA PEMROGRAMAN
Orang yang telah terbiasa “bergaul” dengan komputer memakai satu bahasa pemrograman tertentu (tingkat mahir), biasanya tidak lagi memerlukan kertas coret-coretan untuk menciptakan suatu aktivitas komputer. Namun bagi pemula, pembelajar, atau yang belum mahir, dibutuhkan kertas coret-coretan tersebut.

Kertas coret-coretan itu akan dipakai untuk menyusun algoritma (langkah-langkah penyelesaian masalah),  flowcharting(alur budi perintah, yang merupakan aplikasi dari algoritma), maupun menuliskan perintah sesuai dengan kaidah dari bahasa pemrograman yang akan digunakannya.

Sewaktu menyusun algoritma, kita tidak perlu tahu (atau tidak perlu menyesuaikan dengan) bahasa pemrograman yang nanti akan kita gunakan. Hal utama yang kita pikirkan ialah kaidah (hirarki) dari komputer itu sendiri, yaitu input-proses-output.

Input ialah data yang harus ada (sudah ada/ sudah tersedia), yang sanggup diproses dengan aturan-aturan tertentu untuk menghasilkan output ibarat yang dikehendaki. Data yang ada harus logis (masuk akal) bahwa “ia” sanggup diproses untuk menghasilkan output.

3. PERLUNYA PERINTAH BAHASA PEMROGRAMAN DI DALAM ALGORITMA
Meskipun sudah dikatakan, bahwa sewaktu kita menyusun algoritma kita tidak perlu tahu bahasa pemrograman apa yang akan dipakai kelak, namun, untuk penulisan algoritma yanglebih efisien dan efektif, maka penggunaan sebagian perintah yang ada di dalam bahasa pemrograman perlu dilakukan juga. Adapun perintah bahasa pemrograman yang paling sering dipakai untuk menyusun algoritma ialah bahasa pemrogrman yang terstrukutur, ibarat Pascal, C, SNOBOL, PL/1, dan sebagainya. 

Misalkan saja, untuk teladan berikut ini :
Langkah 1: Beri nilai 10 ke variabel S, maka akan lebih gampang kalau ditulis sebagai :
Langkah 1 : S := 10;

Belum lagi kalau algoritma yang ditulis harus melaksanakan perulangan langkah ke langkah-langkah sebelumnya (looping).
Mulai I:= 1;
Lakukan perbandingan data ke I dengan data ke I+1
Jika data ke I+1 lebih kecil, maka tukar kawasan keduanya
Tambahkan I dengan 1
Lakukan langkah 11 sampai langkah 13 selama nilai I < 10
Selesai

Tentu akan lebih ringkas kalau kita tulis (perintah BASIC) :
For I= 1 to 10
If A(i) > A(I+1) then SWAP A(i), A(j)
next
end

Makara terlihat, kalau algoritma tersebut sederhana, maka penyusunan algoritmaakan sama dengan penyusunan sebuah aktivitas (karena semua perintahnya sudah sesuai dengan kaidah penulisan di bahasa pemrogramannya). Apakah semuanya akan demikian ?. Tentu saja tidak, misalkan, kita diminta untuk memilih bilangan terkecil dari seratus buah bilangan yang akan dimasukkan ke komputer, ini masih sanggup pribadi dibuatkan programnya. Algoritma (program)nya sanggup kita susun sebagai berikut :
DIM A(100)
FOR M = 1 TO 100
INPUT A(M) : NEXT : KECIL = A(1)
FOR M = 2 TO 100
IF KECIL > A(M) THEN X = KECIL: KECIL = A(M) : A(M) = X
NEXT : PRINT KECIL : END

Tetapi, misalkan kalau kita diminta untuk mengalihkan notasi infix  menjadi postfix melalui stack, hal itu sulit untuk dilakukan. Algoritmanya sanggup memakai adonan kalimat dengan bahasa pemrograman, berikut teladan penggalannya.
Contoh :
1. Asumsi : gugusan notasi infixdimasukkan ke dalam sebuah variabel array bernilai string, nama variabelnya .
2. S ialah variabel stringuntuk menyimpan susunan data di dalam stack
3. H ialah variabel stringuntuk menyimpan hasil
4. P = banyaknya elemen array
5. For I = 1 to p
         If top(s) = empty then {top(s) ialah 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 sanggup dijabarkan pribadi ke dalam bahasa pemrograman. Misalkan, kata Top(s), empty, operand, operator, dan derajat.

4. PERLUNYA PROSEDUR
Toh akhirnya, kita tidak akan mungkin hanya menciptakan algoritmanya saja melainkan dilanjutkan ke pembuatan programnya. Karenanya, algoritma sebaiknya dibentuk sedemikian rupa biar setiap perintah yang ada di dalamnya sanggup diaplikasikan pribadi ke dalam bahasa pemrograman.

Itulah perlunya prosedur. Misalkan kata “operand” di algoritma di atas yang tidak sanggup pribadi diaplikasikan di dalam bahasa pemrogramannya, kita buat saja mekanisme dari algoritma tersebut yang mendefinisikan apa itu “operand.”
Misalkan :
Procedure OPERAND
IF ASC(D(I)) > 64 AND ASC(D(I)) < 91 THEN OP = .T. ELSE OP = .F.
RETURN

Sehingga, di algoritma utamanya sanggup diubah dari :
If top(s) = empty then {top(s) ialah posisi atas stack)
if D(i) = operand then
H = D(i)

Menjadi :
If top(s) = empty then {top(s) ialah posisi atas stack)
Do Procedure OPERAND
IF op = .t.
H = D(i)

5. PERLUNYA STANDAR PENGGUNAAN PERINTAH BAHASA PEMROGRAMAN
Sulit memang menciptakan standardisasi penggunaan perintah bahasa pemrograman di sebuah algoritma. Sulit sebab ada yang hanya memahami satu bahasa pemrogrman saja sehingga ia tak mau memakai perintah di bahasa pemrograman lain. Namun, itu sebatas cara penulisan saja, misalkan di BASIC A = 10, di Pascal berlaku A := 10, namun untuk perintah looping, umumnya mempunyai alur budi yang sama, yaitu dalam penggunaan FOR-NEXT, REPEAT-UNTIL, DO WHILE-ENDDO, WHILE-WEND, dan sebagainya.

Jadi, meskipun tidak ada standar yang pasti, paling-paling hanya berbeda cara penulisannya saja, namun sama dalam alur logikanya. Jadi, ternyata, standardisasi semacam ini tidak diperlukan.

 Credit to Bambang Wahyudi, SKom., MMSI

Sumber http://farihinmuhamad.blogspot.com