Kriteria Algoritma – Sejauh ini sebetulnya belum ada standarisasi tentang bagaimana menyusun algoritma. Namun pada prinsipnya, kita diberikan kebebasan untuk menyusun bentuk algoritma (algorithm). Kendati begitu, kita pasti memerlukan sebuah kriteria algoritma atau dasar untuk merancang algoritma yang baik dan benar. Show Lalu apa kriteria itu? Menurut KBBI, Kriteria adalah ukuran yang menjadi dasar penilaian atau penetapan sesuatu. Dan pada postingan kali ini, kita akan mempelajari apa saja ukuran dasar dari penyusunan algoritma. Kriteria yang akan dijabarkan diambil dari buku yang ditulis oleh Donald E. Knuth. Beliau adalah seorang ilmuwan komputer, matematikawan dan sudah menulis banyak buku tentang Algoritma. Dan berikut adalah penjabarannya: Kriteria Penyusunan Algoritma1. Input (Masukan)Sebuah Algoritma harus memiliki nol input atau inputan dari pengguna (user). Apa yang dimaksud dengan nol input? Nol input dapat diartikan algoritma atau program tidak mendapat inputan data dari pengguna. Bukan berarti algoritma tidak memiliki masukan sama sekali, tetapi inputan pada algoritma sudah di deklarasikan diawal program. Contoh : Sedangkan yang dimaksud dengan inputan dari pengguna. Seperti contoh diatas, dimana panjang jari-jari perlu diinputkan agar program dapat berjalan dan memberikan hasil yang diinginkan. 2. Output (Keluaran)Dalam penyusunan kriteria algoritma yang baik dan benar minimal harus memiliki satu output. Ini karena algoritma mengusung teori IPO (Input-Proses-Output) dimana setiap ada masukan pasti ada proses dan keluarannya. Output yang dikeluarkan oleh program dapat berbentuk File, Video, teks, audio dan lain sebagainya. Dapat juga output nya sebagai sebuah data yang disimpan di database. 3. Finiteness (Terbatas)Terbatas disini bukan artinya mempunyai keterbatasan dalam pengembangan algoritma tetapi algoritma yang dijalankan harus mempunyai batas. Atau bisa diartikan juga suatu program yang dirancang dan dieksekusi haruslah berhenti dan selesai pada output. Program yang buruk adalah program yang mengalami infinite, yaitu semacam program berjalan terus menerus sampai not responding atau bahasa kerennya nge-Hang. 4. Definiteness (Pasti)Dalam perancangan, program harus memiliki algoritma yang pasti dimana arah dan tujuan yang jelas. Program yang baik adalah program yang memiliki algoritma dengan pernyataan yang jelas seperti kapan mulai dan kapan berakhirnya sebuah progam, tujuan dari program dan output yang jelas. Pada hal ini cukup diperlukan tingkat ke peka an dalam membangun program (software) guna memperkecil persentasi hasil yang tidak diinginkan. 5. EfisienPenyusunan kriteria algoritma yang terakhir adalah Efisien. Menurut KBBI (Kamus Besar Bahasa Indonesia), efisien adalah tepat atau sesuai untuk mengerjakan (menghasilkan) seauatu dengan tidak membuang-buang waktu, tenaga dan biaya. Hal ini menandakan bahwa algoritma yang ditulis pada program haruslah efisien. Bagaimana program yang efisien? Program yang efisien adalah program yang tidak memakan banyak memori dan tidah melakukan hal-hal yang tidak diperlukan selama proses. Lalu kenapa efisien masuk dalam kriteria algoritma yang baik? Karena setiap program akan memakan waktu dalam setiap proses eksekusinya. Jika program mengerjakan hal-hal yang tidak perlu dilakukan, maka bisa dipastikan program tersebut akan berjalan lambat. Kesimpulan Kriteria AlgoritmaDari kriteria-kriteria algoritma diatas, kita dapat menarik beberapa kesimpulan antara lain :
Sekian dari saya, semoga postingan “Kriteria-kriteria Algoritma yang Baik dan Benar” dapat memberikan kita pengetahuan tentang kriteria algoritma lebih dalam lagi. Bila ada kesalahan dalam penulisan mohon dikoreksi, saya menunggu respon mengenai postingan ini dari rekan-rekan semua dapat melalui kolom komentar ataupun email ke . Terima kasih, keep calm and always code programming!!! Wasallam, Sumber :
Algoritma…Menurut Donald E. Knuth dalam bukunyaThe Art of ComputerProgramming, sebuah algoritma harus mempunyai 5 ciri penting:1.Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas2.Setiap langkah harus didefinisikan dengan tepat dan tidak berarti dua[ambiguous]. Contoh yang tidak terdefinisikan dengan tepat: “bagilah pdengan beberapa buah bilangan bulat positif”.3.Algoritma memiliki nol atau lebih masukan [input]. Masukan adalahbesaran yang diberikan kepada algoritma untuk diproses4.Algoritma memiliki nol atau lebih keluaran [output]5.Algoritma harus efektif. Setiap langkah harus sederhana sehingga dapatdikerjakan dalam jumlah waktu yang masuk akal. Program dan Pemrograman•Algoritma baru efektif jika dijalankan oleh sebuah pemroses. Suatupemroses [processor] harus:1.Mengerti setiap langkah dalam algoritma2.Mengerjakan operasi yang bersesuaian dengan langkah tersebut•Komputer adalah alat bantu untuk menjalankan perintah-perintah didalam algoritma yang telah dimasukkan ke dalamnya.•Agar komputer mengerti perintah yang dimaksudkan, maka perintahtersebut harus ditulis dalam bahasa yang dipahami olehnya. Oleh karenaitu algoritma harus ditulis dalam bahasa khusus, yaitubahasa komputer.•Algoritma yang ditulis dengan bahasa komputer disebut denganprogram.•Bahasa yang digunakan untuk membuat program komputer disebutbahasa pemrograman•Kegiatan merancang dan menulis program disebutpemrograman•Dalam pemograman, aktivitas menulis kode program dinamakancoding Komponen Utama KomputerSecara garis besar, komputer tersusun atas empat komponen utama: pirantimasukan [input], piranti keluaran [output], unit pemroses utama [centralprocessing unit, CPU], dan memoriCPU adalah“otak”komputer, yang befungsi mengerjakan operasi-operasidasar. Memori adalah komponen yang berfungsi menyimpan atau mengingatMula-mula program dimasukkan ke dalam memori komputer. Ketikaprogram dieksekusi, setiap perintah di dalam program yang telah tersimpandi dalam memori dikirim ke CPU. Kemudian CPU mengerjakan operasi-operasi yang bersesuaian dengan perintah tersebut.Unit PemrosesUtama [CPU]PirantiKeluaranPirantiMasukanMemori Bahasa Pemrograman•Belajar memrogram tidak sama dengan belajar bahasa pemograman.•Belajar memrogram berarti mempelajari metodologi pemecahan masalah,kemudian menuliskan algoritma pemecahan masalah dalam notasitertentu•Belajar bahasa pemrograman berarti belajar memakai suatu bahasakomputer, aturan tata bahasanya, instruksi-instruksinya, tata carapengoperasian compilernya dan memanfaatkan instruksi-instruksitersebut untuk membuat program yang ditulis dalam satu bahasa tertentu.•Di dalam pemrograman, kita lebih menekankan pada pemecahan masalah.•Mula-mula kita memikirkan rancangan pemecahan masalah tanpatergantung pada bahasa pemrograman yang digunakan atau komputeryang menjalankan program itu nanti. Upload your study docs or become a Course Hero member to access this document Upload your study docs or become a Course Hero member to access this document End of preview. Want to read all 26 pages? Upload your study docs or become a Course Hero member to access this document Untuk menyelesaikan suatu masalah kita harus menggunakan komputer untuk memudahkannya, namun masalah yang ingin diselesaikan tidak dapat langsung diterima oleh komputer. Agar komputer dapat menyelesaikan masalah, maka Anda perlu merumuskan langkah-langkah penyelesaian tersebut dalam suatu rangkaian instruksi. Komputerlah yang akan mengerjakan rangkaian instruksi tersebut, karena komputer dapat mengerjakannya dengan cepat, akurat, bahkan berulang-ulang tanpa kenal lelah dan bosan. Sekumpulan instruksi yang merupakan penyelesaian masalah itu dinamakan program. Program “dimasukkan” ke dalam komputer, komputer mengerjakan instruksi di dalam program tersebut, lalu memberikan hasil atau keluaran yang di inginkan. Tapi untuk memberikan instruksi anda harus membuat suatu program menggunakan bahasa yang dimengerti oleh komputer Sebagaimana dalam kehidupan manusia, kita hanya dapat memberikan perintah kepada orang lain dalam bahasa yang dimengerti olehnya. Karena komputer adalah mesin, maka program harus ditulis dalam bahasa yang khusus dibuat untuk “berkomunikasi” dengan komputer. Bahasa komputer yang digunakan dalam menulis program dinamakan bahasa pemrograman. Saat ini, dengan berkembangnya teknik pemrograman terstruktur, orang tidak lagi memecahkan masalah dengan langsung menulis programnya dalam bahasa pemrograman. Orang mulai memikirkan suatu cara penyelesaian masalah yang akan diprogram dengan menekankan pada desain atau rancangan yang mewakili pemecahan masalah tersebut. Desain ini independen dari bahasa pemrograman yang digunakan dari komputer yang menjalankan program. Desain menyajikan cara berpikir si pemrogram dalam menyelesaikan masalah.Desain berisi urutan langkah-langkah pencapaian solusi yang ditulis dalam notasi-notasi deskriptif. Urutan langkah-langkah yang sistematis untuk menyelesaikan sebuah masalah dinamakan algoritma. Di Artikel kali ini kita akan memberikan informasi tentang pengenalan Algoritma: Definisi, Ciri – ciri, dan contohnya. Mengenal Apa Itu Algoritma ?Algoritma adalah deretan instruksi yang jelas dalam memecahkan masalah, yaitu untuk memperoleh keluaran yang diinginkan dari suatu masukkan dalam jumlah waktu yang terbatas. Algoritma yang ditulis dalam bahasa komputer dinamakan program. Bahasa komputer yang digunakan untuk menulis program dinamakan bahasa pemrograman. Orang yang membuat program komputer disebut pemrogram, dan kegiatan merancang dan menulis program disebut pemrograman, serta ada aktivitas menulis kode program dinamakan coding. Pada pemrograman ditekankan pada pemecahan masalah, rancangan pemecahan masalah berisi urutan langkahlangkah pencapaian solusi ditulis dalam notasi diskriptif [notasi algoritmik] Kata algorism berasal dari nama penulis buku Arab yang terkenal, yaitu Abu Ja’far Muhammad Ibnu Musa alKhuwarizmi [al-Khuwarizmi dibaca orang Barat menjadi algorism]. Seorang ilmuwan Persia yang menulis kitab al jabr w’al muqabala yang artinya “Buku pemugaran dan pengurangan” [The Book of Restoration and Reduction]. Perubahan kata dari kata algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa/lumrah, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan [komputasi] secara umum, sehingga kehilangan makna aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma. Berikut definisi dari Algoritma :
Baca Juga : Pembaruan Algoritma Google 2020, Yuk Cek Dampaknya! Tidak semua urutan langkah penyelesaian masalah yang logis dapat disebut sebagai algoritma. Menurut Donald E. Knuth di dalam bukunya yang berjudul The Art of Computer Programming, algoritma mempunyai lima ciri penting yang meliputi: Finiteness [keterbatasan], algoritma harus berakhir setelah mengerjakan sejumlah langkah proses. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas [berhingga]. Barisan instruksi yang dibuat dalam suatu urutan tertentu, dimaksudkan agar masalah yang dihadapi dapat diselesaikan. Banyaknya instruksi atau langkah itu haruslah berhingga. Jika tidak demikian, proses yang dilakukan akan memerlukan waktu yang relatif lebih lama dan diperoleh hasil yang tidak diperlukan atau tidak berhubungan dengan masalah yang ada, bahkan mungkin proses akan terus berlangsung walaupun solusi yang diharapkan telah diperoleh. Hasil akhir yang didapat merupakan solusinya atau informasi tidak ditemukannya solusi. Dengan kata lain, baik dalam kondisi ada solusi ataupun tidak, proses tetap akan berhenti. Sebagai contoh, tinjau kembali algoritma EUCLIDEAN. Pada langkah 1, jika n = 0, algoritma berhenti. Jika n ≠ 0, maka nilai n selalu berkurang sebagai akibat langkah 2 dan 3, dan pada akhirnya nilai n = 0. Program yang tidak pernah berhenti adalah program yang berisi algoritma yang salah. Suatu prosedur yang hanya akan berhenti jika mempunyai atau menghasilkan solusi disebut semi algoritma. Definiteness [kepastian], setiap langkah harus didefinisikan secara tepat dan tidak berarti ganda. Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua [ambiguous]. Pembaca harus mengerti apa yang dimaksud dengan “m dan n adalah bilangan bulat tak-negatif”. Contoh lainnya, pernyataan “bagilah P dengan sejumlah beberapa buah bilang bulat positif” dapat bermakna ganda. Input [masukan], algoritma memiliki nol atau lebih data masukan [input]. Algoritma memiliki nol atau lebih masukan [input]. Masukan adalah besaran yang diberikan kepada algoritma sebelum algoritma mulai bekerja. Algoritma EUCLIDEAN mempunyai dua buah masukan, m dan n, sedangkan algoritma TUKAR ISI BEJANA memiliki masukan larutan bejana A dan larutan bejana B. Output [keluaran], algoritma mempunyai nol atau lebih hasil keluaran [output]. Algoritma mempunya nol atau lebih keluaran [output]. Keluaran adalah besaran yang memiliki hubungan dengan masukan. Keluaran tersebut tentunya harus merupakan solusi dari masalah yang sedang diselesaikan. Algoritma EUCLIDEAN mempunyai satu keluaran yaitu n pada langkah 2 yang merupakan pembagi bersama terbesar dari kedua masukannya. Algoritma TUKAR ISI BEJANA tidak memiliki keluaran sama sekali. Effectiveness [efektivitas], algoritma harus sangkil [efektif], langkah-langkah algoritma dikerjakan dalam waktu yang wajar. Algoritma harus efektif dan efisien. Setiap langkah harus sederhana sehingga dapat dikerjakan dalam sejumlah waktu yang masuk akal. Suatu algoritma dikatakan efektif jika algoritma tersebut dapat menghasilkan suatu solusi yang sesuai dengan masalah yang diselesaikan. Dengan kata lain suatu algoritma harus tepat guna. Suatu algoritma dikatakan efisien jika waktu proses dari algoritma relatif lebih singkat dan penggunaan memorinya lebih sedikit. Pada beberapa sumber lain, ada tambahan ciri dari algoritma: Algoritma harus terstruktur. Urutan baris langkah-langkahnya yang digunakan harus disusun sedemikian rupa agar proses penyelesaiannya tidak berbelit-belit, sehingga memungkinkan waktu prosesnya akan menjadi relatif lebih singkat. Hal ini akan memperlihatkan bahwa bagian-bagian dari proses tersebut dapat dibedakan secara jelas [bagian input, proses dan output]. Dengan demikian memudahkan kita didalam melakukan pemeriksaan ulang. Suatu algoritma harus menghasilkan output yang tepat guna [efektif] dalam waktu yang realtif singkat dan penggunaan memori yang relatif sedikit [efisien] dengan langkah yang berhingga dan prosesnya berakhir baik dalam keadaan diperoleh suatu solusi maupun tidak adanya solusi. Sedang sifat algoritma adalah:
Baca Juga : Panduan Search Engine Optimization [SEO] Terupdate dan Terbaru di 2020 Contoh-Contoh AlgoritmaAlgoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang di acu dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari pun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Berikut adalah beberapa contoh algoritma dalam kehidupan sehari-hari. Langkah-langkah pada algoritma haruslah logis. Secara umum, pihak [benda] yang mengerjakan proses disebut pemroses [processor]. Pemroses tersebut dapat berupa manusia, komputer, robot, atau alat-alat mekanik/elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau mengeksekusi algoritma yang menjabarkan proses tersebut. Melaksanakan algoritma berarti mengerjakan langkahlangkah di dalam algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Karena itu suatu algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus :
Penutup dan KesimpulanAlgoritma adalah metode efektif yang diekspresikan sebagai rangkaian terbatas. Algoritma juga 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 syarat untuk setiap permasalahan memiliki kriteria kondisi awal yang harus dipenuhi sebelum menjalankan sebuah algoritma. Algoritma juga memiliki pengulangan proses [iterasi], dan juga memiliki keputusan hingga keputusan selesai. Setelah membaca artikel ini kita sudah mengetahui pentingnya Algoritma dalam Ilmu Komputer maupun di kehidupan sehari – hari, untuk mempermudah menyelesaikan masalah yang ada. Dengan demikian pembahasan mengenai “Mengenal apa itu Algoritma: Definisi, Ciri – ciri, dan contohnya” kali ini, semoga anda sudah mengerti, apabila ada pertanyaan maupun saran anda bisa berkomentar dibawah. Video yang berhubungan |