Seputar Tekno

Pengertian Algoritma

Sobat Gaptex, apa yang terlintas di benak ketika mendengar istilah algoritma? Kebanyakan orang beranggapan bahwa algoritma merupakan salah satu bagian pemrograman komputer. Jika dipelajari lebih lanjut, algoritma punya cakupan yang lebih luas daripada itu. Algoritma memang banyak digunakan dalam pemrograman komputer sehingga istilah ini tentu tidak asing bagi Anda yang punya aktivitas sehari-hari dengan komputer. Agar Sobat lebih memahaminya, mari simak pengertian algoritma di post kali ini.

Pengertian Algoritma

Pengertian Algoritma
Algoritma merupakan suatu urutan dari beberapa step yang logis tentang bagaimana memecahkan berbagai masalah. Algoritma dapat melakukan perhitungan, pengolahan data dan tugas penalaran otomatis.

Algoritma adalah metode efektif yang dapat diekspresikan dalam jumlah terbatas ruang dan waktu. Dalam bahasa formal yang didefinisikan dengan baik untuk menghitung sebuah fungsi. Mulai dari keadaan awal dan masukan awal (mungkin kosong), petunjuk tersebut menggambarkan sebuah perhitungan bahwa, ketika dijalankan, berjalan melalui jumlah terbatas yang didefinisikan dengan tepat, akhirnya menghasilkan “output” dan berakhir pada akhir yang benar. Transisi dari satu state ke state lain tidak harus deterministik karena beberapa algoritma, yang dikenal sebagai algoritma acak, memasukkan input secara acak pula.

Konsep algoritma telah ada selama berabad-abad lamanya, namun, formalisasi parsial dari apa yang akan menjadi algoritma modern dimulai dengan usaha untuk memecahkan masalah Entscheidung (masalah keputusan) yang diajukan oleh David Hilbert pada tahun 1928. Formala berikutnya dibuat sebagai upaya untuk mendefinisikan “perhitungan efektif” atau “metode yang efektif ” formalisasi tersebut mencakup fungsi rekursif Gödel-Herbrand-Kleene tahun 1930, 1934 dan 1935, kalkulus lambda Gereja Alonzo tahun 1936, “Formulasi 1 “Emil Post 1936, dan mesin Turing milik Alan Turing tahun 1936-1937 dan 1939. Memberikan definisi algoritma formal, sesuai dengan gagasan intuitif, tetap menjadi masalah yang menantang.

Pengenalan Algoritma
Di dalam ilmu matematika dan komputer, algoritma adalah prosedur atau langkah-langkah yang dilakukan dalam suatu perhitungan. Pada dasarnya, algoritma adalah susunan logis dan sistematis yang digunakan untuk menyelesaikan permasalahan tertentu. Masalah yang dimaksud di sini adalah berkaitan dengan sistem ataupun program komputer. Kata “logis” adalah keyword dalam algoritma karena langkah-langkah di dalamnya harus masuk akal dan dapat ditentukan bernilai benar atau salah.

Algoritma dipilih melalui sejumlah pertimbangan. Pertama, algoritma harus benar, artinya memberikan output yang diinginkan dari input yang diberikan. Kedua, algoritma harus memberikan hasil yang mendekati nilai yang sebenarnya. Dan ketiga, algoritma harus efisien ditinjau dari segi waktu dan memori, artinya algoritma harus memberikan hasil yang cepat dan memori yang tidak terlalu besar. Algoritma sendiri berbeda dengan program, sebab algoritma adalah bagian dari program.

Algoritma adalah pusat ilmu komputer atau informatika. Berbagai cabang ilmu komputer hampir bisa dipastikan mengarah pada algoritma. Namun seperti dibahas di awal, algoritma tidak selalu identik dengan komputer. Contoh-contoh algoritma dalam kehidupan sehari-hari adalah sebagai berikut :
1. Pendaftaran di Rumah Sakit
– Pasien datang ke rumah sakit.
– Mengambil nomor antrian.
– Mengisi formulir yang disediakan.
– Menunggu hingga nomor antrian dipanggil.
– Petugas memasukkan data di formulir ke dalam sistem.
– Membayar biaya administrasi.
– Memperoleh nomor pendaftaran dan kartu berobat.

2. Membuat Telur Dadar
– Menyalakan kompor.
– Menuang minyak ke wajan.
– Memecahkan telur ke dalam mangkok.
– Menambahkan garam dan irisan daun bawang.
– Mengaduk campuran telur.
– Menuang adonan telur ke wajan.
– Memasak telur hingga matang.

Ciri-ciri Algoritma
Algoritma memiliki ciri-ciri yang merupakan bagian dari sebuah siklus algoritma. Oleh karena itu, algoritma harus memiliki hal-hal berikut, sebab jika tidak, maka tidak dapat dinamakan algoritma. Adapun kelima ciri tersebut adalah :
– Algoritma memiliki input atau masukan
– Algoritma memiliki minimal satu output atau keluaran
– Algoritma memiliki instruksi yang jelas dan tidak ambigu
– Algoritma memiliki stopping role atau titik berhenti
– Algoritma membutuhkan proses tertentu yang efektif

Secara garis besar, algoritma ditampilkan dalam dua bentuk, yaitu tulisan dan gambar. Algoritma gambar disajikan menggunakan flowchart, sedangkan algoritma tulisan disajikan menggunakan pseudocode.

Flowchart merupakan bagan yang memperlihatkan urutan antar serangkaian proses yang dinyatakan dengan simbol. Setiap simbol menggambarkan proses tertentu dimana antar simbol/proses dihubungkan dengan garis penghubung. Sementara itu, pseudocode merupakan kode-kode tertentu yang menjelaskan langkah-langkah algoritma. Kelebihan dari pseudocode adalah strukturnya lebih ringkas namun tetap dimengerti manusia. Pseudocode melibatkan beragam command populer, seperti IF, ELSE, dan THEN, serta menggunakan sejumlah tanda baca, seperti garis bawah, kutip, titik koma, dan lain-lain.

Artikel menarik:  11 Aplikasi Android Pengusir Nyamuk

Dalam sistem komputer, algoritma pada dasarnya adalah contoh logika yang ditulis dalam perangkat lunak oleh pengembang perangkat lunak agar efektif untuk komputer yang ditargetkan untuk menghasilkan keluaran dari input yang diberikan (mungkin null). Algoritma yang optimal, bahkan berjalan di perangkat keras lama, akan menghasilkan hasil yang lebih cepat daripada algoritma non-optimal (kompleksitas waktu yang lebih tinggi) untuk tujuan yang sama, berjalan pada perangkat keras yang lebih efisien; Itulah sebabnya algoritma, seperti perangkat keras komputer, dianggap teknologi.

Algoritma versus pada komputer dapat dihitung dengan algoritma, dan untuk fungsi tertentu, beberapa algoritma mungkin ada. Ini benar, bahkan tanpa memperluas set instruksi yang tersedia bagi programmer. Hal ini penting karena untuk membedakan antara pengertian algoritma, yaitu prosedur dan konsep fungsi yang dapat dihitung dengan algoritma, yaitu pemetaan yang dihasilkan oleh prosedur. Fungsi yang sama mungkin memiliki beberapa algoritma yang berbeda”.

Klasifikasi Algoritma
Salah satu cara untuk mengklasifikasikan algoritma adalah dengan menggunakan metode implementasi.

1. Rekursi atau iterasi
Algoritma rekursi adalah algoritma yang memanggil dirinya sendiri berulang-ulang (perulangan) sampai kondisi tertentu dapat dicapai. Rekursi adalah metode umum pemrograman fungsional. Algoritma Iteratif menggunakan konstruksi repetitif seperti pengulangan dan kadang-kadang struktur data tambahan. Beberapa masalah secara alami dapat mencocokkan 1 implementasi atau yang lainnya. Sebagai contoh: Hanoi Tower dikenal dengan implementasi rekursifnya. Dalam setiap versi rekursif ada kesamaan (bisa lebih atau kurang kompleks) dengan versi iteratif, atau sebaliknya.

2. Logis
Algoritma ini dapat dilihat sebagai logika deduksi terkontrol. Pernyataan ini dapat dinyatakan sebagai: Algoritma = control + logic. Komponen logika yang mengekspresikan aksioma dapat digunakan dalam perhitungan serta komponen kontrol dalam menentukan cara deduksi yang digunakan dalam aksioma. Ini adalah dasar dari paradigma pemrograman logika. Dalam pemrograman, logika murni komponen kontrol tetap dan algoritma yang ditentukan hanya dengan menyediakan komponen logis. Daya tarik pendekatan logis adalah semantik yang elegan, sebuah perubahan yang ada dalam aksioma memiliki perubahan dalam algoritma.

3. Serial, paralel atau terdistribusi
Secara umum, sebuah algoritma menjalankan satu algoritma instruksi setiap saat. Komputer bisa disebut komputer serial. Desain algoritma yang digunakan untuk lingkungan adalah algoritma serial, dibalik oleh algoritma terdistribusi atau algoritma paralel. Algoritma paralel menggunakan arsitektur komputer dimana ada prosesor yang bisa bekerja pada masalah pada saat bersamaan.

Sedangkan algoritma terdistribusi menggunakan banyak mesin yang terhubung ke jaringan. Algoritma terdistribusi atau paralel membagi masalahnya menjadi banyak masalah sub-simetris atau asimetris dan mengumpulkan hasil yang diambil. Konsumsi sumber pada algoritma bukan hanya putaran prosesor tapi juga kekuatan komunikasi antar prosesor. Algoritma sortasi dapat diparalel secara efisien, namun ada biaya komunikasi yang sangat tinggi. Algoritma Iteratif umumnya dapat diparalelkan. Ada juga masalah bahwa tidak ada algoritma paralel, yang disebut outer serial problem.

4. Deterministik atau non-deterministik
Ada juga algoritma deterministik dan non-deterministik. Algoritma deterministik dapat memecahkan masalah dengan keputusan yang tepat pada masing-masing langkah algoritma. Algoritma non-deterministik dapat memecahkan masalah melalui kehadiran meskipun umumnya lebih akurat menggunakan heuristik.

5. Tepat atau perkiraan
Jika ada banyak algoritma untuk mendapatkan solusi yang tepat, ada juga algoritma perkiraanyang mencari pendekatan terdekat dengan solusi sebenarnya. Perkiraan tersebut dapat menggunakan strategi deterministik atau acak. Algoritma semacam itu dapat memiliki nilai lebih untuk banyak masalah sulit.

6. Algoritma kuantum
Berjalan pada model perhitungan kuantum yang realistis. Istilah ini umumnya digunakan untuk algoritma yang pada dasarnya kuantum, atau menggunakan fitur penting dari komputasi kuantum seperti quantum winding atau quantum superposition.

Semoga bermanfaat.