Info Terbaru

11+ Pengertian Algoritma, klasifikasi, jenis dan contoh Algoritma

Advertisement
Loading...


Pengertian Algoritma | Inilah arti algoritma menurut para ahli yang orang jadikan referensi untuk mengartikan apa itu pengertian algoritma. Tentu saja banyak yang masih belum mengetahui seperti apa itu algoritma. Oleh karena itu, kami informasiana.com akan membahas tentang pengertian algoritma menurut para ahli.

Algoritma adalah suatu sistem kerja komputer mempunyai hardware, software dan brainware. Tanpa salah satu dari ketiga pada sistem tersebut maka komputer tersebut tak bermanfaat. Kita akan lebih fokus kepada software komputer. Software disusun atas program dan syntax. Untuk bisa menyusun syntax atau program, maka dibutuhkan langkah-langkah logis dan sistematis untuk bisa menyelesaikan tujuan atau permasalahan dalam proses pembuatan sofware. Maka algoritma memiliki peran penting untuk penyusunan syntax atau program tersebut.

Pengertian algoritma adalah suatu susunan yang sistematis dan logis untuk dapat memecahkan masalah atau mencapai tujuan tertentu. Di dunia komputer, algoritma memiliki peran penting untuk membangun suatu software atau aplikasi. Dalam dunia sehari-hari, mungkin tanpa kita sadari bahwa algoritma sudah masuk dalam kehidupan kita.

Pengertian Algoritma, fungsi dan Tujuannya

Pengertian Algoritma menurut wikipedia

Algoritma adalah suatu metode efektif diekspresikan sebagai rangkaian yang terbatas dari instruksi-instruksi yang sudah didefinisikan dengan baik untuk dapat menghitung sebuah fungsi. Dimulai dari adanya sebuah kondisi awal dan input awal (mungkin kosong), instruksi-instruksi tersebut menjelaskan pada sebuah komputasi yang, kalau dieksekusi, diproses melalui sejumlah urutan kondisi terbatas yang telah terdefinisi secara baik yang pada akhirnya dapat menghasilkan “keluaran” dan berhenti pada kondisi akhir. Transisi dari satu kondisi ke kondisi yang selanjutnya tidak mesti deterministik; beberapa algoritma, dikenal dengan “algoritma pengacakan”, menggunakan masukan yang acak.

Meskipun algorism-nya al-Khawarizmi dirujuk sebagai aturan melakukan aritmetika memakai bilangan hindu-arab dan solusi sistematis dan persamaan kuadrat, sebagian formalisasi yang nantinya menjadi algoritme modern dimulai dengan adanya usaha untuk memecahkan permasalahan keputusan yang diajukan oleh David Hilbert tahun 1928. Formalisasi yang selanjutnya dilihat sebagai usaha untuk menentukan “penghitungan efektif” atau “metode efektif”, formalisasi tersebut mengikutkan Godel-Herdbrand-Kleene fungsi rekursif-nya Kurt Godel- jacques Herbrand- Stephen Cole Kleene pada tahun 1930, 1934 dan 193, kalkulus lambda-nya Alonzo Church di tahun 1936. “Formulasi 1”-nya Emil Post di tahun 1936 dan mesin Turing-nya Alan Turing di tahun 1936-7 dan 1939.

Pengertian Algoritma, secara etimologi berasal dari kata “Algoritmi” yang diambil dari bentuk latin nama Al-Khwarizmi, seorang matematikawan, ahli geografi dan ahli astronomi yang berasal dari Persia.

Secara informal, defenisi algoritma berarti “sekumpulan aturan yang secara tepat menentukan seurutan operasi”, yang mengikutkan semua program komputer, termasuk program yang tak melakukan perhitungan numerik. Secara umum bahwa, sebuah program itu hanyalah sebuah algoritme kalau dia akan berhenti nantinya.

Sebuah contoh prototipikal dari suatu algoritma adalah algoritma Euclid untuk menentukan bilangan pembagi terbesar dari dua integer, sebagai contohnya dijelaskan dengan diagram alur di atas dan sebagai contoh di bagian lanjut.

Boolos dan Jeffrey (1973, 1999) memberikan pemaknaan secara informasi untuk kata “algoritme” sebagai berikut:

“Tidak ada manusia yang dapat menulis begitu cepat, atau begitu lama, atau begitu kecil (“kecil, dan lebih kecil tanpa batas … anda mungkin mencoba menulis di atas molekul, atom, elektron”) untuk mencatat semua anggota dari kumpulan bilangan tak terbatas dengan menuliskan namanya, bergantian, dalam suatu notasi. Tapi manusia bisa melakukan sesuatu yang sama bergunanya, pada kasus kumpulan bilangan tak terbatas: Mereka dapat memberikan instruksi jelas untuk menentukan anggota ke-n dari set, untuk n terbatas acak. Instruksi tersebut diberikan secara eksplisit, dalam bentuk yang dapat diikuti oleh mesin penghitung, atau oleh manusia yang mampu melakukan hanya operasi-operasi dasar dengan simbol-simbol. “

Suatu “bilangan tidak terbatas” adalah suatu bilangan yang elemen-elemennya dapat berkorespondensi satu ke satu dengan integer. Maka Jeffrey dan Boolos menyatakan bahwa suatu algoritme itu berarti perintah bagi sebuah proses yang membuat keluaran integer dari sebuah “masukan” acak integer yang secara teori, bisa sangat besar. Maka sebuah algoritme bisa berupa persamaan aljabar yaitu y=m + n — dua variabel m dan n yang dapat menghasilkan keluaran y. Akan tetapi berbagai penulis yang mencoba mendefinisikan persamaan tersebut menyatakan bahwa kata algoritma memiliki makna lebih dari itu, sesuatu yang kurang lebih (untuk contoh penjumlahan).

Dalam ilmu matematika dan komputer, pengertian algoritme adalah suatu prosedur dari beberapa langkah demi langkah untuk melakukan penghitungan. Algoritma digunakan dalam penghitungan penalaran otomatis dan pemprosesan data.

Algoritma sangat dibutuhkan untuk bisa melakukan pengolahan data yang terdapat di komputer. Pada sistem komputer, pengertian algoritma adalah suatu logika yang dibuat dengan menggunakan software dari para pembuat perangkat lunak untuk melakukan pembuatan software tersebut supaya menjadi lebih bagus. Algoritma itu berbeda dengan logaritma. Mesti diketahui juga bahwa Logaritma adalah suatu operasi dalam matematika untuk menghitang kebalikan eksponen pada sebuah perpangkatan.

pengertian algoritma

Kata algoritma ditemukan oleh Abu Abdullah Muhammad Ibnu Musa Al-Khwarizmi.

Untuk lebih jelasnya lagi, nah berikut salah satu contoh penggunaan algoritma:

Algoritma untuk dapat menghitung nilai x dari persamaan x=17y + 9.

1) Memulai
2) Menentukan nilai y
3) Menghitung nilai x = 17y + 9
4) Menyelesaikan

Bentuk Dasar Algoritma

Algoritma itu sendiri memiliki 3 bentuk dasar yakni:

1. Algoritma Sekuensial (Sequence Algorithm).

Sequence Algorithm atau algoritma Sekuensial termasuk algoritma yang langkah-langkahnya secara urut dari awal sampai akhir. Bentuk dari algoritma sekuensial ini salah satu contohnya yaitu algoritma memasak air. LAngkah demi langkah yang dijalankan mesti diurut dari atas hingga ke bawah.

2. Algoritma Perulangan atau Looping Algorithm.

Algoritma perulangan atau looping algorith adalah suatu algoritma yang menjalankan beberapa langkah tertentu secara looping atau berulang-ulang. Pada masalah yang kita hadapi, ada juga sebuah langkah yang mesti kita lakukan secara perulangan. Contoh dari algoritma looping ini yaitu algoritma menjemur pakaian:

1) Siapkan jemuran.
2) Ambil satu pakaian yang nantinya akan dijemur.
3) Peras pakaian tersebut terlebih dahulu.
4) Letakkan pakaian tersebut pada tiang jemuran.
5) Ulangi langkah dari 2 sampai 4 hingga pakaian habis.
Dari algoritma di atas, dapat diketahui bahwa dari langkah 2 sampai 4 harus dilakukan secara berulang-ulang hingga pakaian habis.

3. Algoritma Percabangan atau Bersyarat (Conditional Algorithm)

Algoritma bersyarat atau conditional algorithm adalah suatu algoritma yang menjalankan langkah berikutnya ada syarat yang sudah bisa dipenuhi. Berikut salah satu contoh algoritma bersyarat

1) Siapkan panci.
2) Masukkan air secukupnya ke dalam panci.
3) tutup panci tersebut.
4) letakkan panci tersebut di atas kompor.
5) Hidupkan kompor.
6) Apabila air sudah mendidih, lalu matikan kompor.
7) Angkat panci tersebut dari kompor.
Algoritma bersyarat atau contional algorithm terdapat pada langkah ke 6. Apabila air sudah mendidih, lalu matikan kompor. Sehingga apabila air tersebut belum mendidih, maka kompor tidak dimatikan.

Cara merancang algoritma yang baik

Donald E Knuth mengatakan bahwa dari pengertian algoritma yang ada diatas bisa diketahui bahwa sebuah algoritma yang baik itu memiliki kriteria sebagai berikut.

1. Masukan (Input)
Algoritma mempunyai input 0 (nol) atau lebih
2. Keluaran (Output)
Algoritma harus menghasilkan atau mengeluarkan minimal 1 output.
3. Terbatas (Finite)
Algoritma harus berhenti setelah melakukan langkah-langkah yang diperlukan.
4. Pasti (Definite)
Algoritma harus jelas kapan dimulai dan berakhir. Tujuan dari algoritma harus jelas. Setiap langkah-langkah harus dijelaskan dengan jelas.
5. Efisien
Membuat sebuah algoritma haruslah efisien. Adanya langkah seperti mencari hasil 1 + 0 tidak efisien. Hal ini karena bilangan apapun itu jika ditambah dengan nol maka hasilnya ialah bilangan itu sendiri. Sehingga adanya langkah seperti itu tidak perlu dimasukkan ke dalam sebuah algoritma.

Algoritma bisa disajikan dalam 2 bentuk yakni bentuk bahasa atau tulisan dan bentuk gambar. Penyajian suatu algoritma dalam bentuk tulisan atau bahasa mesti menggunakan sebuah bahasa yang bisa dimengerti manusia dalam membuat langkah-langkah algoritma itu sendiri. Penyajian algoritma itu memiliki tulisan atau bahasa memakai pseudocode. Pseudocode itu berasal dari “Pseudo” yang berarti “mirip atau menyerupai” dan “code” yakni “kode program”. Adapun contoh dari beberapa bahasa pemrograman yang seringkali dipakai untuk menyatakan pseudocode yaitu basic, pascal, pascal, C dan lain sebagainya. Ada juga penyajian algoritmanya dalam bentuk flowchart.

Klasifikasi Algoritma

Adapun salah satu cara untuk membagi atau mengklasifikasi algoritma yakni dengan memakai cara implementasi.

1. Iterasi atau rekursi

Algoritma rekursi adalah suatu algoritma yang akan memanggil dirinya sendiri secara berulang kali atau looping sehingga pada kondisi tertentu bisa tercapai. Rekursi termasuk suatu metode umum dalam pemrograman fungsional. Algoritma iteratif menggunakan konstruksi secara berulang seperti pada pengulangan dan biasanya ada struktur data tambahan. Beberapa permasalan secara alami bisa cocok dengan menggunakan 1 implementasi atau yang lainnya. Adapun contohnya: menara Hanoi yang dikenal dengan implementasi rekursif. Pada setiap versi rekursif memiliki kesamaan (bisa lebih atau kurang kompleks) dengan versi iteratif atau pun sebaliknya.

2. Logical

Algoritma bisa dilihat sebagai sebuah logika deduksi terkontrol. Pernyataan ini bisa diungkapkan sebagai algoritma = kontrol + logika. Komponen logika yang mengungkapkan aksioma bisa dipakai dalam komputasi serta komponen kontrol untuk menentukan cara-cara deduksi yang dipakai pada aksioma. Hal tersebut menjadi dasar dari pandangan pemrograman logika. Pada pemrograman, logika murni komponen kontrol adalah tetap serta algoritma yang ditentukan dengan memberikan komponen logikanya. Adaya tarik dari pendekatan logical yaitu semantik elegan, sebuah perubahan yang terdapat pada aksioma memiliki perubahan dalam algoritma.

3. Serial, Paralel atau terdistribusi.

Secara umum, suatu algoritma akan menjalankan satu perintah algoritma setiap waktu. Komputer tersebut bisa disebut dengan komputer serial. Rancangan algoritma yang dipakai bagi lingkungan tersebut adalah algoritma serial, terbalik dengan algoritma terdistribusi atau algoritma paralel. Algoritma paralel memakai arsitektur komputer yang dimana terdapat prosesor-prosesor bisa mengerjakan masalah di waktu yang sama. Sedangkan untuk algoritma terdistribusi memakai banyak mesin yang terkoneksi pada jaringan. Algoritma terdistribusi atau paralel akan membagi permasalahan ke banyak sub masalah simetris maupun asimetris dan mengumpulkan hasil yang diperoleh kembali. Konsumsi dari sumber pada algoritma tersebut tak hanya tersedia perputaran prosesor. Akan tetapi juga terdapat daya komunikasi antara prosesor. Algoritma pengurutan bisa diparalelkan secara efisien. Akan tetapi ada biaya komunikasi yang tergolong sangat mahal. Algoritma iteratif secara umum bisa kita paralelkan. AKan tetapi ada juga masalah yang tak ada di algoritma paralelnya disebut dengan permasalahan serial lahiriah.

4. Deterministik atau non-deterministik

Ada juga algoritma deterministik dan non deterministik. Algoritma deterministik bisa menyelesaikan masalah-masalah dengan keputusan tepat pada setiap langkah-langkah dari suatu algoritma. Algoritma non deterministik bisa menyelesaikan beberapa masalah lewat adanya penerkaan meskipun penerkaan tersebut pada umumnya lebih akurat dengan menggunakan heuristik.

5. Tepat atau prediksi.

Kalau terdapat banyak algoritma bisa sampai ke solusi yang tepat, terdapat juga algoritma prediksi yang mencari perkiraan terdekat dengan solusi yang sebenarnya. Perkiraan tersebut bisa menggunakan strategi deterministik atau acak. Algoritma yang seperti itu bisa memiliki nilai lebih untuk banyak permasalahan yang sulit.

6. Algoritma Quantum

Berjalan pada model realistik dari komputasi quantum. Istilah tersebut secara umum digunakan untuk algoritma yang pada dasarnya quantum atau menggunakan fitur-fitur penting dari komputasi kuantum seperti superposisi quantum atau belitan quantum.

Contoh Quantum

1. Menentukan apakah bilangan tersebut genap atau ganjil

Terdapat bilangan yang bulat yakni 0,1,-1,2, dst dan bilangan asli 1,2,3,4,5 dst. Pada kedua jenis bilangan tersebut seringkali dipakai untuk berhitung. Himpunan bilangan-bilangan bulat dalam buku teks aljabar secara umum dinyatakan dengan lambang “Z” dan himpunan bilangan-bilangan asli dinyatakan dengan menggunakan lambang “N”. Algoritma berguna menentukan apakah pada bilangan tersebut genap atau ganjil bisa disajikan dengan flowchart seperti dibawah ini:

Bilangan genap adalah sebuah bilangan bulat yang akan habis atau tak mempunyai sisa kalau dibagi 2 (dua). Sedangkan bilangan ganjil adalah sebuah bilangan bulat yang takkan habis ketika dibagi 2 (dua).

2. Menghitung luas lingkaran dan keliling.

Lingkaran adalah suatu himpunan dari semua titik-titik pada bidang dalam jarak tertentu dan disebut sebagai jari-jari dari titik dan bisa disebut titik pusat. Lingkaran adalah suatu contoh dari kurva tertutup sederhana, lingkaran akan membagi bidangnya menjadi bagian luar dan dalam. Algoritma melakukan penghitungan keliling dan luas lingkaran dengan cara sebagai berikut:

3. Menampilkan bilangan ganjil antara 10 sampai 30.

Bilangan ganjil yang terletak diantara 10 dan 30 11,13,15, dan seterusnya. Namun, yang akan ditampilkan kecuali bilangan 21 dan 27. Jadi output yang diharapkan dari algoritma tersebut adalah bilangan ganjil 10 sampai 30 kecuali bilangan 21 dan 27. Algoritma untuk menampilkan bilangan ganjil antara 10 hingga 30 kecuali bilangan 21 dan 27 disajikan dengan flowchart dibawah ini :

4. Algoritma tahun Kabisat
Terdapat juga algoritma tahun kabisat. Tahun kabisat merupakan sebuah tahun yang memiliki tambahan 1 hari dan bertujuan agar kalender dapat sinkron dengan musim tahunan dan keadaan astronomi. Bulan Februari memiliki 29 hari pada saat tahun kabisat. Tahun yang dapat untuk dibagi dengan 4 adalah tahun kabisat. Algoritma guna menentukan tahun kabisat jika disajikan dengan flowchart seperti dibawah ini :

5. Menampilkan Bilangan Genap Mullai dari Angka 2 sampai n, Kecuali Bilangan Genap yang Kelipatan 4
Bilangan genap merupakan sebuah bilangan-bilangan bulat yang habis jika dibagi 2. Deret yang ditampilkan dari algoritma kali ini merupakan deret dari bilangan genap dari 2 hingga ke n kecuali bilangan yang merupakan kelipatan 4. Algoritma tersebut dapat digambarkan dengan flowchart seperti dibawah ini :

6. Flowchart menghitung harga yang dibayar setelah mendapatkan diskon.

Ada juga algoritma yang mampu menghitung jumlah dari biaya yang mesti dibayar oleh sang pembeli sesudah mendapatkan sebuah diskon 10 persen dengan syarat jumlah dari total pembelian tersebut sebesar Rp. 1.500.000. Algoritma bermanfaat menghitung besaran biaya tersebut bisa tergambarkan dalam bentuk flowchart sebagai berikut:

Jumlah barang memiliki sifat yang dinamik sesuai dengan input atau masukkan dari user. Apabila jumlah total dari harga tersebut kurang 1500000 maka tidak mendapatkan sebuah diskon.

7. Mencari Maks dan Min dari suatu Deret Bilangan
Terdapat juga sebuah algoritma guna mencari nilai maks serta min dari suatu n deret bilangan yang dimasukkan atau diinput oleh user. Algoritma tersebut dapat disajikan dengan flowchart seperti dibawah ini :

8. Kalkulator Sederhana dari 2 Bilangan
Terdapat sebuah algoritma sebagai kalkulator sederhana untuk operasi penjumlahan, perkalian, pembagian, dan pengurangan. Kalkulator sederhana ini hanya dapat melakukan perhitungan dari 2 bilangan yang diinput oleh user. Algoritma guna menghitung 2 bilangan dapat digambarkan dengan flowchart seperti dibawah ini :

9. Menghitung Beberapa Angka dari Suatu Bilangan
Pada flowchart kali ini mengenai sebuah algoritma untuk menghitung beberapa angka dari suatu bilangan yang dimasukkan atau diinput oleh user. Berikut flowchart algoritma tersebut :

10. Membalik Sebuah Kalimat
Seperti yang kita ketahui sebelumnya tentang pengertian algoritma, bahwa algoritma juga dapat untuk menampilkan sebuah kalimat namun dengan urutan yang terbalik. Misalkan “woocara” dibalik menjadi “aracoow”. Struktur data yang digunakan ialah Stack. Untuk membalik sebuah bilangan, huruf dari kalimat kita input dalam stack dengan menggunakan metode Push. Setelah stack tersebut sudah terisi, maka output kembali dengan memakai metode Pop. Pada algoritma membalik sebuah kalimat, adanya penggunaan struktur data stack diimplementasikan ke array. Dalam implementasinya ke array tersebut, kita harus terlebih dahulu menyiapkan sebuah array dengan memiliki panjang yang sama dengan jumlah huruf yang ada dalam kalimat yang akan dibalik tersebut. Pada gambar flowchart dibawah ini, terdapat tiap huruf dari kalimat yang diinput pada array dengan index ke-0 hingga ke-n dengan memakai metode push.

Kemudian huruf tersebut akan mengeluarkan kata mulai dari index ke-n hingga index ke-0.

Baca juga:

Demikianlah informasi tentang pengertian algoritma, klasifikasi, jenis dan contoh algoritma. Semoga saja informasi ini dapat memberikan manfaat kepada anda yang sedang membutuhkan informasi mengenai pengertian algoritma.

Loading...
Advertisements
11+ Pengertian Algoritma, klasifikasi, jenis dan contoh Algoritma | fajeros | 4.5