BAB 6 Algoritme Pemrogram (Part 1 )



A. Dasar-Dasar Pemrograman Prosedural

Pemrograman bertujuan untuk mencari solusi menggunakan aplikasi yang telah dibuat. Oleh karena itu, proses pemrograman memerlukan kemampuan untuk menganalisis persoalan yang ada, menerjemahkannya menjadi langkah-langkah penyelesaian, kemudian menerjemahkan dalam bahasa pemrograman tertentu. Oleh karena itu, pada bab ini akan dijelaskan bagaimana membuat algoritme pemrograman.

Ketika menuliskan kode program, sering kali kita perlu menggunakan variabel, konstanta, dan tipe data tertentu. Oleh karena itu, Anda perlu memahami bagaimana menggunakan variabel dan konstanta, serta memilih tipe data dan operatoroperator yang sesuai di dalam kode program. Kemudian, Anda juga harus belajar cara mendeklarasikan variabel dan konstanta, memberikan nilai dan memanipulasi nilai tersebut dengan menggunakan operator-operator di dalam program.

 

1. Pemrograman Prosedural dan Bahasa Pemrograman

Pemrograman (programming) adalah proses menerjemahkan rangkaian logika atau alur berpikir yang disebut dengan algoritme, menjadi notasi-notasi atau karakterkarakter bahasa pemrograman sehingga rangkaian notasi atau karakter tersebut dapat dimengerti dan dijalankan oleh komputer.

Ketika membuat program, ada empat pendekatan yang dikenal dengan paradigma pemrograman, yaitu pemrograman prosedural, objek-oriented, fungsional, dan logika, Sebagai programer pemula, Anda akan diperkenalkan dengan pemrograman prosedural.

- Pemrograman prosedural adalah teknik pendekatan pemrograman yang menempatkan kode-kode program untuk memerintahkan komputer melakukan pekerjaan dengan langkah-langkah yang logis. Paradigma pemrograman ini menggunakan pendekatan linear dari atas ke bawah (top-down approach) serta memperlakukan data dan prosedur sebagai dua entiti yang berbeda. Disebut pemrograman prosedur karena program dibuat dari kumpulan prosedur-prosedur yang terdiri dari kumpulan langkah-langkah yang dijalankan secara berurutan.

 

2. Algoritme Pemrograman

Algoritme adalah rangkaian langkah-langkah logis yang dilakukan untuk menyelesaikan pekerjaan atau tugas komputasi. Algoritme yang baik terdiri atas langkahlangkah logis yang tepat dan efisien. Oleh karena itu, logika merupakan kunci dasar untuk menjadi programmer yang baik, walaupun tidak semua program yang dibangun menuntut tingkat kerumitan algoritme yang sama. Umumnya, program yang dibuat dengan tujuan digunakan oleh pengguna di luar organisasi (front-end) akan memiliki tingkat kerumitan yang lebih rendah dibandingkan dengan program yang dibangun untuk digunakan di dalam organisasi (back-end

Pada awalnya, algoritme lahir sebagai bagian dari ilmu matematika. Kata algoritme (algorithm) diperkenalkan oleh ilmuwan matematika, astronomi, dan geografi dari Persia bernama Muhammad Ibn Musa Al-Khawarizmi (780-850 M). Seiring dengan perkembangan teknologi informasi dan komunikasi saat ini, algoritme dianggap lebih berhubungan erat dengan ilmu komputer.

Suatu program dibangun untuk menjalankan prosesproses atau prosedur-prosedur. Namun, tidak semua prosedur yang ada di dalam kode program dapat disebut algoritme. Algoritme biasanya memiliki karakteristik sebagai berikut.

a. Unambiguous

Algoritme seharusnya jelas dan tidak membingungkan. Setiap langkah atau fase, memiliki input atau output yang jelas dan hanya mempunyai satu arti. Sebagai contoh, perintah "Lakukan proses perulangan" merupakan perintah yang dapat menimbulkan kebingungan karena kita tidak tahu sampai berapa kali atau sampai kapan perulangan dilakukan. Perintah "Lakukan proses perulangan sampai 1.000 kali" atau "Lakukan perulangan sampai nilai x = 0" merupakan algoritme yang lebih baik.

b. Input

Algoritme biasanya memiliki nol atau lebih input yang terdefinisikan dengan baik.

c. Output

Algoritme seharusnya memiliki satu atau lebih output yang didefinisikan dengan baik. Output tersebut haruslah sesuai dengan yang diinginkan.

d. Finiteness

Algoritme harus berhenti pada titik atau kondisi tertentu setelah melakukan beberapa langkah-langkah terhingga. Jangan sampai algoritme mempunyai proses yang tidak terhingga sehingga proses terus berjalan dan tidak pernah berhenti. Hal ini dapat terjadi pada algoritme yang berupa perulangan.

e. Feasibility

Algoritme harus dapat dijalankan dengan sumber daya yang tersedia.

f. Independent

Algoritme seharusnya mempunyai langkah-langkah yang tidak tergantung pada kode-kode pemrograman. Artinya, bahasa pemrograman apapun yang digunakan untuk menuliskan kode program, maka langkah-langkah yang ada di algoritme tetap sama.

Tidak ada standar baku yang sudah ditentukan untuk menuliskan algoritme. Namun, perlu dicatat bahwa algoritme tidak boleh ditulis menggunakan bahasa pemrograman tertentu. Meskipun demikian, jika ada beberapa kode program yang umum digunakan seperti kode untuk perulangan (do, for, while) atau kode untuk percabangan (if-else), dan lain-lain, dapat digunakan untuk menuliskan algoritme.

Penulisan algoritme dilakukan selangkah demi selangkah, tetapi tidak mutlak. Untuk proses yang relatif rumit, penulisan algoritme dapat dilakukan dengan mendefinisikan permasalahan terlebih dahulu. Pemahaman terhadap permasalahan utama dan pencarian solusinya merupakan hal penting dalam menuliskan algoritme.

Ada dua notasi yang umum digunakan untuk menuliskan algoritme, yaitu menggunakan pseudocode dan flowchart. Pseudocode adalah rangkaian instruksi yang menggambarkan langkah-langkah untuk menyelesaikan permasalahan. Pseudocode tidak sama dengan bahasa pemrograman dan tidak terikat pada bahasa pemrograman tertentu. Oleh karena itu, pseudocode tidak dapat disamakan dengan sintaks program.

Meskipun pseudocode bukanlah bahasa pemrograman, cara penulisan pseudocode sama dengan penulisan kode-kode dari bahasa pemrograman. Setiap baris algoritme ditulis dalam barisnya sendiri dalam rangkaian perintah-perintah. Untuk memudahkan pembacaan, biasanya perintah-perintah dituliskan dengan huruf kapital, variabel dituliskan menggunakan huruf kecil, dan pesan-pesan dituliskan dalam kalimat. Dalam pseudocode, input dituliskan dalam kalimat tanya, sedangkan output dituliskan dalam pesan di layar.

Notasi lain yang digunakan untuk membuat algoritme adalah dengan menggunakan flowchart. Flowchart adalah diagram yang mewakili kumpulan dari instruksi-instruksi.

Meskipun tidak ada standar untuk menuliskan algoritme, algoritme yang baik adalah algoritme yang mudah dibaca dan dianalisis oleh programmer sehingga mudah diterjemahkan menjadi kode-kode program. Dengan membaca algoritme yang ada, programmer dapat memahami operasi-operasi apa saja yang digunakan dan bagaimana proses terjadi di dalam program.

Sebagai seseorang yang baru belajar menjadi programmer, mungkin Anda akan membutuhkan waktu untuk terbiasa menyusun algoritme. Berikut beberapa tips yang mungkin akan berguna, yaitu sebagai berikut.

a. Berpikir untuk Mencari Solusi

Membuat program berarti belajar untuk menyelesaikan masalah. Terkadang masalah yang ada merupakan masalah yang besar dan rumit. Untuk menyelesaikan masalah yang besar, pecahlah masalah tersebut menjadi masalah-masalah yang lebih kecil dan sederhana, kemudian selesaikan masalah tersebut satu per satu. Dalam konteks pemrograman, pecahlah proses yang besar menjadi langkah-langkah yang lebih kecil dan buatlah algoritme untuk langkah kecil tersebut.

b. Praktis

Algoritme merupakan kumpulan atau rangkaian dari langkah-langkah terbatas yang digunakan untuk mencari solusi. Cobalah untuk berpikir mencari langkah-langkah yang lebih praktis dalam menyelesaikan permasalahan.

c. Belajar Struktur Data dan Algoritme

Pemahaman Anda tentang struktur data dan algoritme akan membuat Anda menjadi lebih fokus pada perencanaan solusi dan membuat perangkat lunak yang lebih efisien.


d. Belajar Paradigma Pemrograman

Belajar paradigma pemrograman, misalnya paradigma Object-Oriented Programming (OOP), akan memudahkan programmer untuk menemukan cara penyelesaian masalah dan membangun program.

 

e. Belajar dari Kode Program Orang Lain

Belajar dari kode program yang dituliskan oleh programmer lain merupakan salah satu cara belajar yang dapat membantu programmer pemula berkembang dengan lebih cepat. Dengan cara ini, Anda dapat melihat bagaimana cara orang lain mendekati masalah dan menemukan solusinya.





Komentar