ALGORITMA - PENGERTIAN - KRITERIA - TUJUAN

Pengertian Algoritma Adalah

Daftar isi
Apa yang dimaksud dengan algoritma (algorithm)? Dalam ilmu komputer dan matematika, pengertian algoritma adalah suatu urutan dari beberapa langkah logis dan sistematis yang digunakan untuk menyelesaikan masalah tertentu.
Pendapat lain mengatakan definisi algoritma adalah proses atau serangkaian aturan yang harus diikuti dalam perhitungan atau operasi pemecahan masalah lainnya, terutama oleh komputer. Dengan kata lain, semua susunan logis yang diurutkan berdasarkan sistematika tertentu dan digunakan untuk memecahkan suatu masalah dapat disebut dengan algoritma.
Algoritma digunakan untuk melakukan penghitungan, penalaran otomatis, serta mengolah data pada komputer dengan menggunakan software. Dalam algoritma terdapat rangkaian terbatas dari beberapa intruksi untuk menghitung suatu fungsi yang jika dieksekusi dan diproses akan menghasilkan output, lalu berhenti pada kondisi akhir yang sudah ditentukan.
Berikut ini bentuk dasar algoritma:
  • Algoritma Sekuensial (Sequence Algorithm)
  • Algoritma Perulangan (Looping Algorithm)
  • Algoritma Percabangan atau Bersyarat (Conditional Algorithm)

Pengertian Algoritma Menurut Para Ahli

Agar lebih memahami apa itu algoritma, maka kita dapat merujuk pada pendapat para ahli berikut ini:

1. Abu Ja’far Muhammad Ibnu Musa Al-Khawarizmi

Menurut Abu Ja’far Muhammad Ibnu Musa Al-Khawarizmi  (ahli matematika dari Uzbekistan), pengertian algoritma adalah suatu metode khusus yang digunakan untuk menyelesaikan permasalahan.

2. Donald Ervin Knuth

Menurut Donald Ervin Knuth, definisi algoritma adalah sekumpulan aturan-aturan berhingga yang memberikan sederetan operasi-operasi untuk menyelesaikan suatu masalah tertentu.

3. S. E. Goodman dan S.T. Hedetniemi

Menurut Goodman dan Hedetniemi, pengertian algoritma adalah urutan terbatas dari operasi-operasi yang terdefinisi dengan baik, dimana masing-masing membutuhkan memori dan waktu yang terbatas untuk menyelesaikan suatu masalah.

4. Seymour Lipschutz dan Marc Lipson

Menurut Seymour Lipschutz dan Marc Lipson (praktisi matematika dan komputer), pengertian algoritma adalah suatu daftar langkah demi langkah yang terhingga dari intruksi-intruksi yang terdefinisikan dengan jelas yang digunakan untuk memecahkan permasalahan tertentu.

5. Marvin Minsky

Menurut Marvin Minsky (pakar Artificial Intelligence), pengertian algoritma adalah seperangkat aturan yang memberitahukan kepada kita dari waktu ke waktu, tepatnya bagaimana untuk bertindak.

6. Andrey Andreyevich Markov

Menurut Andrey Andreyevich Markov (ahli matematika dari Rusia), pengertian algoritma adalah hal umum untuk dipahami sebagai suatu keputusan yang tepat untuk mendefinisikan proses komputasi yang mengarahkan dari data awal hingga hasil yang diinginkan.
Baca juga: Pengertian Software

Kriteria Algoritma

Algoritma memiliki lima ciri utama yang saling berhubungan satu dengan lainnya. Menurut Donald E. Knuth, dapun kriteria algoritma adalah sebagai berikut:
  1. Ada Input, yaitu permasalahan yang dihadapi dan akan dicarikan solusinya. Algoritma memiliki nol atau lebih input (masukan).
  2. Ada Proses, yaitu rencana atau langkah-langkah yang harus dilakukan untuk mencapai tujuan akhir.
  3. Ada Output, yaitu solusi atau tampilan akhir yang didapatkan dari suatu algoritma. Algoritma memiliki minimal satu output.
  4. Ada intruksi-intruksi yang jelas dan tidak ambigu, yaitu instrukti yang jelas dalam algoritma sehingga tidak terjadi kesalahan dalam menghasilkan output.
  5. Ada tujuan akhir yang dicapai, yaitu akhir dari program dimana program akan berhenti ketika tujuan akhir telah tercapai.

Tujuan dan Fungsi Algoritma

Pada dasarnya tujuan dan fungsi utama dari algoritma adalah untuk memecahkan suatu masalah. Lebih jelasnya, adapun tujuan dan fungsi algoritma adalah sebagai berikut:
  • Untuk membantu menyederhanakan suatu program yang rumit dan besar.
  • Untuk memudahkan dalam membuat sebuah program untuk masalah tertentu.
  • Algoritma dapat digunakan berkali-kali untuk menyelesaikan suatu permasalahan.
  • Membantu memecahkan suatu permasalahan dengan logika dan sistematis.
  • Untuk meminimalisir penulisan program secara berulang-ulang.
  • Agar dapat melakukan pendekatan top-down dan divide and conquer.
  • Untuk memudahkan membuat program yang lebih rapih dan terstruktur sehingga lebih mudah dipahami dan dikembangkan.
  • Memudahkan proses modifikasi pada program karena bisa dilakukan hanya pada satu modul tanpa harus mengubah modiul lainnya.
  • Ketika terjadi kesalahan, algoritma dapat membantu menemukannya karena alur kerja yang jelas.
  • Memudahkan proses dokumentasi.
Baca juga: Teknologi Informasi

Klasifikasi Algoritma

Algoritma dapat diklasifikasikan berdasarkan implementasinya. Mengacu pada pengertian algoritma di atas, adapun klasifikasi algoritma adalah sebagai berikut:
  1. Rekursi dan Iterasi; Algoritma rekursi adalah algoritma yang memanggil dirinya sendiri secara berulang-ulang. Sedangkan algoritma iterasi adalah algoritma yang memakai konstrukti berulang dimana terkadang terdapat data tambahan pada struktur yang dibuat.
  2. Logical; Algoritma logical adalah algoritma yang dapat memposisikan diri seperti logika deduksi yang terkontrol.
  3. Serial, Parallel, atau Terdistribusi; Algoritma serial adalah algoritma yang menjalankan satu instruksi saja. Algoritam parallel adalah algoritma yang dapat mengerjakan suatu perintah dalam waktu yang sama. Sedangkan algoritma terdistribusi adalah algoritma yang memakai banyak mesin yang terkoneksi dengan jaringan.
  4. Deterministik atau Non-deterministik; Algoritma deterministik adalah algoritma yang dapat memecahkan suatu masalah dengan keputusan yang tepat. Sedangkan algoritma Non-deterministik adalah algoritma yang memecahkan suatu masalah dengan metode penerkaan.
  5. Tepat atau Perkiraan; Suatu algoritma mungkin saja memiliki solusi yang tepat, atau setidaknya mempunyai perkiraan yang mendekati solusi yang benar. Dalam merumuskannya dapat dilakukan dengan strategi deterministic ataupun secara acak.
  6. Algoritma Quantum; Algoritma quantum adalah algoritma yang menggunakan model realistik dari komputasi quantum.
Contoh Penggunaan Algoritma
Pada dasarnya algoritma tidak hanya dalam ilmu komputer dan matematika saja, tetapi juga pada berbagai kegiatan manusia sehari-hari. Salah satu contohnya adalah ketika seseorang ingin membuat mie instan, maka algoritmanya adalah sebagai berikut:
  • Siapkan 1 bungkus mie instan, 400 ml air (2 gelas), panci, mangkuk, sendok dan garpu
  • Masukkan air ke dalam panci
  • Masak air di atas kompor dengan api sedang
  • Biarkan hingga air mendidih
  • Masukkan mie instan ke dalam air mendidih
  • Aduk perlahan hingga 3 menit
  • Jika mie sudah matang masukkan bumbu
  • Aduk mie hingga bumbu merata
  • Sajikan mie instan

Pengertian Apa itu Algoritma Pemrograman dan Contohnya

  3 min read

Apa itu algoritma pemrograman

Sebuah kemustahilan jika Anda tidak memahami algoritma pemrograman namun bermimpi ingin menjadi programer yang mampu menghasilkan produk komersial yang laku di pasaran. Pengetahuan dasar mengenai apa itu algoritma dan pemrograman perlu Anda pahami.

Daftar Isi  show 

Selain itu, Anda juga bisa mempelajari list algoritma pemrograman komputer populer untuk lebih menambah pengetahuan atau referensi Anda mengenai ilmu pemrograman.

Apa Itu Algoritma Pemrograman

Apa itu algoritma pemrograman
Apa itu algoritma pemrograman

Algoritma & pemrograman adalah sesuatu yang berbeda. Kendati demikian, keduanya kerap dianggap sama. Belajar algoritma komputer akan membuat Anda mampu mengetahui definisi, dan membedakan kedua istilah tersebut. Anda juga akan mengetahui bahasa pemrograman. Dikutip dari Oolish Blog UNS, algoritma adalah urutan langkah-langkah logis penyelesaian sebuah masalah yang disusun secara logis dan sistematis.

Mengenai asal- usul dari kata algoritma itu sendiri bukan merupakan sesuatu yang penting dalam pembahasan di dunia pemrograman. Setiap langkah dalam program algoritma ini haruslah logis dan jelas. Yang dimaksud jelas adalah memiliki nilai benar atau salah dan tidak memiliki nilai di tengah-tengah. Alogoritma juga erat kaitannya dengan step by step dalam melakukan pekerjaan. Anda akan melihat proses dari sebuah hasil kerja.

Algoritma pemrograman tidak selalu identik dengan angka. Terdapat 3 pertimbangan dalam pemilihan algoritma. Ke-3 pertimbangan tersebut adalah benar, baik, dan efisien. Benar berarti output dari algoritma tersebut tidak salah. Sebaik apapun algoritmanya, jika salah, maka menjadi percuma.

Baik maksudnya seberapa baik hasil dari algoritma tersebut dengan indikator kedekatan antara hasil dengan nilai yang real. Sebuah algoritma program haruslah efisien dari segi waktu dan memori. Jangan sampai algoritma tersebut menghabiskan waktu dan menghabiskan tempat. Sekarang, apa bedanya algoritma dengan program? Program itu adalah kumpulan pernyataan computer.

Sementara metode tahapan yang sistematis di dalam program adalah algoritma. Dengan kata lain, sebuah program adalah implementasi dari bahasa pemrograman. Program itu dapat dimaknai sebagai algoritma ditambah bahasa atau struktur data. Sebuah program yang baik, memiliki struktur data yang naik pula. Sebaliknya, struktur data yang buruk dengan algoritma yang baik tetap tidak akan membuat sebuah program menjadi baik.

Lantas, adakah standar atau indikator yang dapat menyatakan baik dan buruknya sebuah algoritma? Jawabannya ada, berikut adalah syarat-syarat sebuah algoritma pemrograman komputer dikatakan baik.

  • Algoritma komputer harus efisien dimana prosesnya dapat diselesaikan secepat mungkin dengan frekeusi perhitungan yang sependek mungkin. Dengan kata lain, tidak boros sumber daya.
  • Algoritma yang baik harus dengan mudah diimplementasikan ke perangkat komputer.
  • Program algoritma yang baik harus mudah dipahami. Hal ini berlaku tidak diskriminatif dimana siapapun dapat dengan mudah memahami algoritma tersebut. Dampak buruk dari susahnya dimengerti sebuah algoritma adalah kesulitan pengelolaan algoritma.
  • Akurasi tinggi adalah syarat lain dari program algoritma yang baik. Mana bisa menjadi algoritma yang digunakan secara profesional jika hasilnya tidak akurat.
  • Semakin umum maka semakin baik. Algoritma yang baik adalah algoritma yang berlaku umum dan tidak terbatas pada 1 bidang spesifik. Jika bisa sampai berlaku umum, maka algoritma tersebut mampu menyelesaikan masalah dan bermanfaat di berbagai bidang.
  • Algoritma dan pemrograman yang baik memiliki langkah-langkah yang jelas dan detail. Setiap proses tepat dan lengkap dimana tidak tanggung, penuh kejelasan, dan penuh kepastian.
  • Algoritma yang baik juga harus bisa dikembangkan. Bukan tidak mungkin sebuah algoritma yang tampak sederhana bisa terus dikembangkan untuk menghasilkan hasil yang lebih tinggi dan lebih baik hasilnya.

List Algoritma Pemrograman Apa Saja

Bahasa pemrograman terpopuler
Bahasa pemrograman terpopuler

Ternyata ada banyak algoritma yang telah dibuat. Menentukan mana saja algoritma yang penting tentu bukan pekerjaan yang mudah. Namun, terdapat 32 algoritma yang paling umum di gunakan di dunia komputer oleh para ilmuwan IT. Tentu tidak semua contoh algoritma pemrograman tersebut perlu untuk ditampilkan.

Berikut adalah 10 dari 32 algoritma pemrograman yang paling umum digunakan di dunia komputer.

1. Pencariam Beam

Pencarian Beam adalah algoritma yang mengoptimalkan pencarian terbaik pertama. Sebagaimana pencarian terbaik pertama, pencarian ini menggunakan fungsi heuristic untuk mengevaluasi node-node yang diperiksa.

2. Pencarian Binary

Teknik untuk menemukan nilai tertentu di linear array dengan mengesampingkan setengah data setiap langkah.

3. Kompresi Data

Kompresi data atau source coding adalah proses encoding sebuah informasi menggunakan bit yang lebih sedikit ketimbang representasi tanpa kode yang harus menggunakan skema encoding yang spesifik.

Baca juga : Bahasa Pemrograman Terpopuler

4. Branch and Bound

Branch and Bound
Branch and Bound

Sebuah metode algoritma umum untuk menemukan solusi optimal dari beragam masalah pada pengoptimalan. Hal tersebut terutama pada masalah optimasi disktir dan kombinasi.

5. Hashing

Sebuah fungsi untuk merangkum atau mengidentifikasi data secara probabilistik. Biasanya hal ini bermakna satu orang menerapkan rumus matematika ke data, menghasilkan string yang mungkin unik untuk data tersebut. String tersebut jauh lebih pendak dari data orisinal. Namun, data tersebut dapat digunakan untuk pengidentifikasian.

6. Dynamic Programming

Dynamic Programming
Dynamic Programming

Metode mengurangi runtime algoritma yang menampilkan sub-masalah tumpang tindih dan substruktur optimal.

7. Maximum Flow

Permasalahan maximum flow adalah menemukan hukum melalui alur aliran yang maksimal. Kadang-kadang hal ini didefinisikan sebagai menemukan nilai aliran seperti itu. Lebih lanjut, masalah ini dapat dilihat sebagai kasus khusus dari masalah alur aliran yang lebih kompleks. Maximum flow juga terkait dengan pemotongan di dalam jaringan oleh teori Max-flow min-cut. Algoritma Ford-Fulkerson menghitung aliran maksimal dalam jaringan aliran.

8. Metode Newton

Metode Newton adalah algoritma yang efisien untuk menemukan perkiraan ke nol dari fungsi bernilai nyata. Metode Newton juga merupakan algoritma yang dikenal untuk menemukan akar persamaan dalam satu atau lebih dimensi. Ini juga dapat digunakan untuk menemukan maksimal lokal dan fungsi minimal lokal.

9. Karatsuba Multiplication

Untuk sistem yang perlu mengalikan angka dalam kisaran beberapa ribu digit layaknya sistem aljabar komputer dan perpustakaan bignum, perkalian panjang dinilai terlalu lambat. Sistem ini menggunakan perkalian Karatsuba.

Baca juga : Pentingnya Website Untuk Bisnis

10. Q-Learning

Q-Learning
Q-Learning

Q-Learning adalah teknik pembelajaran penguatan yang bekerja dengan mempelajari fungsi dari nilai tindakan yang memberikan utility yang diharapkan untuk mengambil tidaknakan pada situasi tertentu. Selain itu hal tersebut juga ditujukan untuk mengikuti kebijakan sesudahnya. Kekuaran Q-Learning terletkan pada kemampuannya membandingkan utility yang diharapkan dari tidak yang ada tanpa memerlukan model lingkungan.

Mempelajari algoritma pemrograman bukan hal mudah. Anda bisa mempelajarinya secara otodidak atau mengambil kelas ilmu pemrograman untuk mendapatkan pengetahuan yang lebih banyak lagi. Selain itu, Anda juga wajib memiliki buku algoritma dan pemrograman untuk lebih memahami dunia pemrograman, terutama pemrograman komputer. Jika Anda membutuhkan layanan Cloud Hosting dan Domain, Anda bisa memilih Qwords.com.

Qwords adalah perusahaan IT yang menyediakan beragam produk IT, baik barang maupun jasa. Selain Cloud dan Domain, Qwords.com juga menyediakan layanan lain, diantaranya software-software yang ada kaitannya dengan dunia websiteemail suite, dan server. Qwords menyediakan web hosting dengan harga yang rasional. Bukan berarti mahal, namun web hosting yang disediakan sebanding dengan performa yang cepat dan dapat diandalkan.

Terima kasih

Komentar

Postingan populer dari blog ini

25+ Macam Macam Perangkat Keras Komputer dan Fungsinya (Hardware)

Macam-macam Jaringan Komputer Beserta Fungsinya yang Perlu Diketahui

12 Perangkat Keras Jaringan Komputer : Fungsi Beserta Gambarnya