Materi Pembelajaran
A. Pengertian Algoritma
Saat pertama mempelajari bahasa pemrograman, mendapatkan kesan bahwa bagian sulit dari menyelesaikan masalah di komputer adalah menerjemahkan ide-ide ke dalam bahasa spesifik yang akan dimasukkan ke dalam komputer. Bagian tersulit dalam menyelesaikan masalah di komputer adalah menemukan metode solusinya. Setelah menemukan metode solusi, kemudian menerjemahkan metode ke dalam bahasa yang diperlukan, baik itu C ++ atau bahasa pemrograman lainnya. Oleh karena itu sangat membantu untuk mengabaikan sementara waktu bahasa pemrograman dan berkonsentrasi pada merumuskan langkahlangkah solusi dan menuliskannya dalam bahasa yang sederhana. Seolah-olah instruksi harus diberikan kepada manusia bukan ke komputer. Urutan instruksi yang dinyatakan dengan cara ini sering disebut algoritma. Istilah algoritma berasal dari seorang ilmuwan terkenal dari Persia yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis kitab atau buku yang berjudul Al Jabr Wal-Muqabala atau The Book of Restoration and Reduction. Dari buku tersebut diperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari Algorism menjadi Algorithm muncul karena kata Algorism sering dikelirukan dengan arithmetic, sehingga akhiran –ism berubah menjadi –ithm. Algoritma merupakan suatu prosedur, urutan langkah-langkah atau tahapan-tahapan sistematis, jelas, dan logis untuk menyelesaikan permasalahan. Langkah logis dalam algoritma harus dapat ditentukan, bernilai salah atau benar.Algoritma merupakan alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. (Moh Sjukani, “Algoritma dan Struktur Data dengan C, C++, dan Java”). B. Aspek Penting dalam Algoritma Beberapa hal yang harus diperhatikan dalam membuat algoritma antara lain algoritma harus mengikuti suatu urutan aturan tertentu dan tidak boleh melompat-lompat. Algoritma seseorang dengan orang yang lain dapat berbeda-beda karena mempunyai alur pikir yang berbeda-beda pula, meskipun untuk menyelesaikan permasalahan yang sama. Langkah demi langkah secara eksak harus dapat memecahkan suatu masalah. Algoritma dapat diwujudkan dalam berupa kalimat, gambar atau tabel tertentu. Menurut Donald E. Knuth, algoritma harus mempunyai lima ciri penting, yaitu sebagai berikut. 1. Finiteness. Algoritma harus berhenti setelah mengerjakan sejumlah langkah tertentu atau terbatas. 2. Definiteness. Setiap langkah harus didefinisikan secara tepat, tidak boleh membingungkan (ambiguous). 3. Input. Sebuah algoritma memiliki nol atau lebih input yang diberikan kepada algoritma sebelum dijalankan. Pemrograman Dasar Kelas X untuk SMK/MAK 4 4. Output. Sebuah algoritma memiliki satu atau lebih output, yang biasanya bergantung kepada Input. 5. Effectiveness. Setiap algoritma diharapkan miliki sifat efektif. Setiap langkah harus sederhana sehingga dapat dikerjakan dalam sejumlah waktu yang masuk akal. C. Ragam Struktur Algoritma Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration atau looping), atau kombinasi dari ketiganya. Struktur dasar penyajian algoritma dibedakan menjadi tiga, yaitu sebagai berikut. 1. Struktur runtunan (sequence), struktur algoritma yang mempunyai pernyataan secara berurutan atau sequential. 2. Struktur pemilihan atau percabangan (selection), struktur algoritma atau program yang menggunakan pemilihan atau penyeleksian kondisi. 3. Struktur perulangan, struktur algoritma atau program yang pernyataannya akan dieksekusi berulang-ulang sampai kondisi tertentu. Pada algoritma, tidak dipakai simbol-simbol atau sintaks dari suatu bahasa pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman mana pun. D. Metode Penyajian Algoritma Penyajian algoritma secara garis besar dapat dibedakan menjadi dua, yaitu berbentuk tulisan dan berbentuk gambar. Algoritma yang disajikan dengan bentuk tulisan dapat menggunakan aturan bahasa natural (alami) dan pseudocode. Bahasa natural menggunakan struktur bahasa tertentu (misalnya struktur bahasa Indonesia atau bahasa Inggris). Pseudocode adalah kode-kode tertentu dan mirip dengan kode bahasa pemrograman (misal bahasa Pascal, C, C++) sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada pemrogram (programmer). Sedangkan algoritma yang disajikan dengan gambar dapat berbentuk diagram alur (flowchart) atau struktogram (Nassi Schneiderman chart).
Komentar
Posting Komentar