Rabu, 10 Januari 2018

Dasar Pemrograman SMK: Konsep dan Struktur Algoritma

 Definisi Algoritma
Meskipun pada penjelasan diatas algoritma hanyalah bagian dari 7 langkah dalam pembuatan program, namun ia memiliki posisi yang teramat penting. Algoritma adalah urutan langkah berhingga untuk memecahkan masalah logika atau matematika. Algoritma adalah jantung ilmu komputer atau informatika. Dalam kehidupan sehari-haripun sebenarnya kita juga menggunakan algoritma untuk melakukan sesuatu. Sebagai contoh untuk menulis surat diperlukan langkah-langkah sebagai berikut:
·      Mempersiapkan kertas dan amplop
·      Mempersiapkan alat tulis
·      Mulai menulis.
·      Memasukkan kertas ke dalam amplop.
·      Pergi ke kantor pos untuk mengeposkan surat tersebut.
     Langkah-langkah dari nomor 1 sampai dengan nomor 5 di atas itulah yang disebut dengan algoritma. Jadi sebenarnya kita menggunakan algoritma baik dengan sadar maupun tanpa kita sadar.
Algoritma ditemukan dan dipopulerkan oleh seorang Ilmuwan Muslim yang bernama Muhammad ibnu Musa Al-Khwarizmi. Beliau adalah ilmuwan besar Islam yang karya-karyanya banyak menjadi dasar perkembangan ilmu modern, antara lain dalam bidang Matematika, Astronomi, Astrologi,Geografi dan banyak cabang ilmu lainnya. Al-khwarizmi kemudian berubah menjadi Dan  dari namanya istilah yang akan kita pelajari dalam bab ini muncul. Dari Al-Khawarizmi kemudia berubah menjadi algorithm dalam Bahasa Inggris dan diterjemahkan menjadi algoritma dalam bahasa Indonesia.
Pengertian Algoritma sendiri adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.  Sedangkan dalam Kamus Besar Bahasa Indonesia (KBBI) terbitan Balai Pustaka (1988); Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah.

Dari dua definisi tersebut diatas maka kata kuncinya adalah “Urutan” dan  “logis”, sehingga selain logis Algoritma juga mengharuskan agar langkah langkah tersebut berurutan secara sistematis, agar hasil akhirnya sesuai dengan yang diharapkan.
Struktur Algoritma
Struktur dasar algoritma terbentuk dari tiga struktur dasar, yakni struktur berurutan, struktur percabangan/pemilihan/keputusan dan struktur pengulangan. Dalam bahasa pemrograman ketiga dasar pembentuk sebuah algoritma tersebut dikenal dengan sequencing, branching dan looping. Pada dasarnya hampir semua algoritma merupakan gabungan dari struktur tersebut.
Algoritma  yang  dapat  menyelesaikan  suatu  permasalahan  dalam  waktu  yang  singkat memiliki tingkat kerumitan yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan suatu masalah membutuhkan tingkat kerumitan yang tinggi.
Menurut Donald E.Knuth dalam bukunya yang berjudul The Art of Komputer Programming, Algoritma harus mempunyai lima ciri penting:
·      Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas. Program yang tidak berhenti berarti mengandung algoritma yang salah.
·      Setiap langkah harus mempunyai langkah yang tepat dan tidak mempunyai tafsiran ganda (ambigu).
·      Algoritma memiliki masukan nol atau lebih sebelum algoritma itu sendiri bekerja (input).
·      Algoritma memiliki keluaran nol atau lebih sebagai output yang berhubungan dengan input. Dan keluaran tersebut harus benar adanya, artinya harus sesuai dengan yang kita harapkan.
·      Algoritma harus efektif, artinya setiap langkah harus sederhana sehingga dapat dikerjakan dalam sejumlah waktu yang masuk akal.
Perhatikan contoh algoritma sederhana berikut:
a)        Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang harus dilakukan adalah:
·      Menyiapkan Peralatan Tulis
·      Menulis surat
·      Surat dimasukkan ke dalam amplop tertutup
·      Amplop ditempeli perangko secukupnya.
·      Pergi ke Kantor Pos terdekat untuk mengirimkannya
b)        Algoritma menghitung luas persegi panjang:
·      Masukkan panjang (P)
·      Masukkan lebar (L)
·      Luas P * L
·      Tulis Luas
Perhatikan algoritma menghitung luas segitiga berikut :
1 Start
2 Baca data alas dan tinggi.
3 Luas adalah alas kali tinggi kali 0.5
4 Tampilkan Luas
5 Stop
Penjelasan :
Algoritma di atas adalah algoritma yang sangat sederhana, hanya ada lima langkah. Pada
algoritma ini tidak dijumpai perulangan ataupun pemilihan. Semua langkah dilakukan hanya satu kali.
Sekilas algoritma di atas benar, namun apabila dicermati maka algoritma ini mengandung kesalahan yang mendasar, yaitu tidak ada pembatasan pada nilai data untuk alas dan tinggi.
Hasil perbaikan algoritma perhitungan luas segitiga
1 Start
2 Baca data alas dan tinggi.
3 Periksa data alas dan tinggi, jika nilai data alas dan tinggi lebih besar dari nol maka lanjutkan ke langkah ke 4 jika tidak maka stop
4 Luas adalah alas kali tinggi kali 0.5
5 Tampilkan Luas
6 Stop
Dari  penjelasan  di  atas  dapat  diambil  kesimpulan  pokok  tentang  algoritma.  Pertama, algoritma harus benar. Kedua algoritma harus berhenti, dan setelah berhenti, algoritma memberikan hasil yang benar.
Dalam banyak kasus, algoritma yang dilakukan tidak selalu berutan seperti diatas. Kadang-kadang harus memilih dua atau beberapa pilihan. Sebagai contoh jika kita ingin makan, kita harus menentukan akan memasak sendiri atau dirumah makan. Jika kita memilih untuk makan dirumah makan kita akan menjalankan algoritma yang berbeda jika kita ingin memasak sendiri. Didalam pemrograman hal tersebut dikenal sebagai percabangan.
Dalam kasus lain lagi mungkin kita harus melakukan langkah-langkah tertentu beberapa kali Sebagai contoh, saat kita menulis surat, sebelum memasukkan kertas ke dalam amplop, mungkin kita harus memeriksa apakah surat tersebut sudah benar atau belum. Jika belum benar berarti kita harus menyisihkan kertas baru untuk memperbaiki surat tersebut. Demikian seterusnya sampai surat yang dibuat sesuai dengan yang diharapkan. Hal seperti ini disebut sebagai pengulangan.
Pembuatan algoritma mempunyai banyak keuntungan di antaranya:
·           Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.
·           Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman
·           Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.
·           Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman

Tidak ada komentar:

Posting Komentar

iklan

loading...

Memasak Beras Menjadi Nasi atau Lontong di Alam Bebas

foto: nationalgeographic.co.id Sumber energi selalu kita butuhkan, apalagi saat kita berpetualang di alam bebas. Kebanyakan dari kita se...

Popular Posts