Program komputer adalah rangkaian kata perintah yang telah dimengerti oleh komputer untuk dikerjakannya. Kata-kata perintah tersebut membentuk suatu bahasa yang disebut dengan bahasa pemrograman. Sebagaimanabahasa pada manusia, bahasa pemrograman juga terdiri atas banyak macam bahasa, dan memiliki aturannya masing-masing.
Algoritma Pemrograman
Diagram Alur sering digunakan untuk menggambarkan sebuah algoritma.
Dalam matematika dan komputasi, algoritma merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda dengan heuristik. Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai.
Desain dan analisis algoritma adalah suatu cabang khusus dalam ilmu komputer yang mempelajari karakteristik dan performa dari suatu algoritma dalam menyelesaikan masalah, terlepas dari implementasi algoritma tersebut. Dalam cabang disiplin ini algoritma dipelajari secara abstrak, terlepas dari sistem komputer atau bahasa pemrograman yang digunakan. Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan kriteria yang sama.
Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi.
Perlunya Perintah Bahasa Pemrograman Di Dalam Algoritma
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 SMaka, 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).
- Mulai I:= 1;
- Lakukan perbandingan data ke I dengan data ke I+1
- Jika data ke I+1 lebih kecil, maka tukar tempat keduanya
- Tambahkan I dengan 1
- Lakukan langkah 1 hingga langkah 3 selama nilai I < 10
- selesai
- For I= 1 to 10
- If A(i) > A(I+1) then SWAP A(i), A(j)
- next
- end.
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 disusun 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
Algoritmanya bisa menggunakan gabungan kalimat dengan bahasa pemrograman.
Perlunya Prosedur
Kita tidak akan mungkin hanya membuat algoritmanya saja melainkan dilanjutkan ke pembuatan programnya. Karenanya, algoritma sebaiknya dibuat sedemikian rupa agar setiap perintah yang ada di dalamnya dapat diaplikasikan langsung ke dalam bahasa pemrograman. Itulah perlunya prosedur. Misalkan kata “operand” di algoritma di atas yang tidak dapat langsung diaplikasikan di dalam bahasa pemrogramannya, kita buat saja prosedur 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
If top(s) = empty then {top(s) adalah posisi atas stack)
if D(i) = operand then
H = D(i)
menjadi :
If top(s) = empty then {top(s) adalah posisi atas stack)
Do Procedure OPERAND
IF op = .t.
H = D(i)
Kriteria dari suatu algoritma :
Input: algoritma dapat memiliki nol atau lebih inputan dari luar.Instruksi : sintaks (cara pengkodean) sesuai bahasa pemrograman yang dipakai dan mengandung komponen input, output, proses, seleksi, dan perulangan yang menugaskan komputer untuk mengeksekusi suatu perintah tertentu.
Output: algoritma harus memiliki minimal satu buah output/keluaran.
Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu.
Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role).
Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan efektif
Pseudocode :
Berasal dari kata pseudo dan code, berarti kode yang tidak sebenarnya Umumnya dimulai dengan kata “BEGIN” dan diakhiri “END”
IF-THEN dan ELSE digunakan untuk operasi percabangan/seleksi
WHILE dan DO-WHILE digunakan untuk operasi perulangan
Tujuan: memudahkan manusia untuk membaca bahasa pemrograman konvensional
Tidak ada standar untuk pseudocode karena bukan program yang dapat dieksekusi
Contoh pseudocode untuk melakukan panggilan melalui telepon:
BEGIN
Hold Up The Phhone
WHILE not dial
Press dial button
If Connected THEN
WHILE Not Finished
Talking
Hold Down The Phone
END
Contoh pseudocode untuk mengecek apakah bilangan genap atau ganjil:
BEGIN
Number = Input Number
Result = Number % 2
IF Result = 0
THEN Print “The Number Is Even Number”
ELSE
THEN Print “The Number Is Odd Number”
Flowchart ( Diagram Alur ) adalah Representasi skematik dari suatu algoritma atau proses.
Tidak ada komentar:
Posting Komentar
Silahkan tinggalkan komentar anda jika berkenan. komentar Anda sebaiknya berhubungan dengan artikel yang dibahas, apapun komentar anda pahit, asam, asin, pedas apalagi kalau yang manis akan saya terima dengan lapang dada.
KALAU MENINGGALKAN KOMENTAR, HENDAKNYA MENINGGALKAN JEJAK ANDA
Jejaknya bisa URL web atau blog, ataukah alamat e-mailnya, sehingga jika ada pertanyaan bisa dibalas ke tempat yang jelas.