Pengertian Algoritma Dan Teladan Algoritma, Lengkap!
Pengertian Algoritma
Pengertian algoritma ialah suatu urutan dari beberapa langkah yang logis guna menuntaskan masalah. Pada dikala kita mempunyai masalah, maka kita harus sanggup untuk menuntaskan persoalan tersebut dengan menggunakan langkah-langkah yang logis. Contoh dari algoritma sederhana dalam kehidupan konkret ialah pada dikala memasak air. Hal-hal yang perlu dilakukan untuk memasak air mirip berikut : siapkan panci, masukkan air secukupnya ke dalam panci, tutup panci tersebut, letakkan panci tersebut di atas kompor, hidupkan kompor dengan api sedang, apabila air sudah mendidih, matikan kompor, sesudah itu angkat panci tersebut dari kompor. Langkah-langkah untuk memasak air tersebut merupakan algoritma memasak air. Sehingga mempunyai urutan langkah-langkah yang logis.Dalam ilmu matematika dan komputer, pengertian algoritma merupakan mekanisme dari beberapa langkah demi langkah untuk penghitungan. Algoritma digunakan untuk penghitungan, kebijaksanaan budi otomatis, dan pemrosesan data. Pengertian algoritma ialah suatu metode yang efektif diekspresikan sebagai rangkaian yang terbatas dari beberapa arahan yang telah dijelaskan dengan baik guna menghitung sebuah fungsi. Susunan algoritma dimulai dari kondisi awal dan input awal, arahan tersebut mendeskripsikan komputasi yang apabila itu dihukum serta diproses dengan melewati urutan-urutan kondisi terbatas yang terdefinisi dengan baik, sehingga sanggup menghasilkan output atau keluaran dan berhenti di kondisi simpulan yang telah ditentukan.
Algoritma sangat dibutuhkan untuk mengolah data yang ada di komputer. Dalam sistem komputer, pengertian algoritma ialah nalar yang dibentuk dengan menggunakan software oleh para pembuat perangkat lunak untuk menciptakan software tersebut menjadi lebih bagus. Algoritma berbeda dengan Logaritma. Perlu diketahui juga bahwa logaritma ialah sebuah operasi di ilmu matematika guna menghitung kebalikan eksponen dari sebuah perpangkatan.
Kata Algoritma ditemukan oleh Abu Abdullah Muhammad Ibnu Musa Al-Khwarizmi, dia merupakan matematikawan yang berasal dari Persia yang ditemukan pada Abad Ke 9. Dari masa ke masa, kata algoritma mulai berkembang di kala ke 18.
Untuk lebih jelasnya lagi, berikut salah satu tumpuan algoritma :
Algoritma untuk 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 sendiri mempunyai tiga 3 bentuk dasar, antara lain :- Algoritma Sekuensial (Sequence Algorithm) Sequence algorithm atau algoritma sekuensial merupakan algoritma yang langkah-langkahnya secara urut dari awal hingga akhir. Bentuk dari algoritma sekuensial ini salah satu misalnya mirip algoritma memasak air. Langkah demi langkah yang dijalankan harus urut dari atas hingga bawah.
- Algoritma Perulangan (Looping Algorithm) Looping algorithm atau algoritma perulangan merupakan suatu algoritma yang menjalankan beberapa langkah tertentu secara berulang-ulang atau looping. Pada persoalan yang kita hadapi, ada pula sebuah langkah yang harus kita lakukan secara berulang-ulang. Contoh dari algoritma looping ini ialah algoritma menjemur pakaian:
- Algoritma Percabangan atau Bersyarat (Conditional Algorithm) Conditional algorithm atau algoritma bersyarat merupakan algoritma yang menjalankan langkah berikutnya apabila terdapat syarat yang sudah sanggup dipenuhi. Berikut salah satu tumpuan dari algoritma bersyarat :
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 hingga 4 hingga pakaian habis.
Dari algoritma di atas, sanggup diketahui bahwa dari langkah 2 hingga 4 harus dilakukan secara berulang-ulang hingga pakaian habis.
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, kemudian matikan kompor.
7) Angkat panci tersebut dari kompor.
Algoritma bersyarat atau contional algorithm terdapat pada langkah ke 6. Apabila air sudah mendidih, kemudian matikan kompor. Sehingga apabila air tersebut belum mendidih, maka kompor tidak dimatikan.
Merancang Algoritma yang Baik
Menurut Donald E. Knuth, dari pengertian algoritma diatas sanggup diketahui bahwa sebuah algoritma yang baik yaitu algoritma yang mempunyai kriteria sebagai berikut :- Masukan (Input) Algoritma mempunyai input 0 (nol) atau lebih
- Keluaran (Output) Algoritma harus menghasilkan atau mengeluarkan minimal 1 output.
- Terbatas (Finite) Algoritma harus berhenti sesudah melaksanakan langkah-langkah yang diperlukan.
- Pasti (Definite) Algoritma harus terang kapan dimulai dan berakhir. Tujuan dari algoritma harus jelas. Setiap langkah-langkah harus dijelaskan dengan jelas.
- Efisien Membuat sebuah algoritma haruslah efisien. Adanya langkah mirip mencari hasil 1 + 0 tidak efisien. Hal ini alasannya ialah bilangan apapun itu bila ditambah dengan nol maka balasannya ialah bilangan itu sendiri. Sehingga adanya langkah mirip itu tidak perlu dimasukkan ke dalam sebuah algoritma.
Klasifikasi Algoritma
Salah satu cara untuk mengklasifikasikan algoritma yaitu dengan menggunakan cara implementasi.- Rekursi atau iterasi Algoritma rekursi ialah suatu algoritma yang memanggil dirinya sendiri secara berulang kali (looping) hingga pada kondisi tertentu sanggup tercapai. Rekursi merupakan suatu metode umum dalam pemrograman fungsional. Algoritma iteratif menggunakan konstruksi berulang mirip pada pengulangan dan terkadang terdapat struktur data tambahan. Beberapa permasalahan secara alami sanggup cocok dengan 1 implementasi atau yang lainnya. Contohnya : Menara Hanoi yang dikenal dengan implementasi rekursif. Pada setiap versi rekursif mempunyai adanya kesamaan (bisa lebih ataupun kurang kompleks) dengan versi iteratif, ataupun sebaliknya.
- Logical Algoritma sanggup dilihat sebagai sebuah nalar deduksi terkontrol. Pernyataan ini sanggup diekspresikan sebagai: Algoritma = kontrol + logika. Komponen nalar yang mengekspresikan aksioma sanggup digunakan dalam komputasi serta komponen kontrol dalam memilih cara-cara deduksi yang digunakan pada aksioma. Hal tersebut ialah dasar dari paradigma pemrograman logika. Dalam pemrograman, nalar murni komponen kontrol ialah tetap serta algoritma yang ditentukan dengan memperlihatkan hanya ada komponen logikanya. Daya tarik dari pendekatan logical ialah semantik elegan, sebuah perubahan yang ada dalam aksioma mempunyai perubahan dalam algoritma.
- Serial, paralel atau terdistribusi Pada umumnya, suatu algoritma menjalankan satu arahan algoritma setiap waktu. Komputer tersebut sanggup disebut dengan komputer serial. Rancangan algoritma yang digunakan bagi lingkungan tersebut ialah algoritma serial, terbalik dengan algoritma terdistribusi atau algoritma paralel. Algoritma paralel menggunakan arsitektur komputer yang mana terdapat prosesor-prosesor sanggup mengerjakan persoalan pada waktu yang sama. Sedangkan algoritma terdistribusi menggunakan banyak mesin yang terhubung ke jaringan. Algoritma terdistribusi atau paralel membagi permasalahan ke banyak submasalah simetris maupun asimetris dan mengumpulkan hasil yang didapat kembali. Konsumsi dari sumber pada algoritma tersebut tidak hanya ada perputaran prosesor tapi juga terdapat daya komunikasi antara prosesor. Algoritma pengurutan sanggup untuk diparalelkan secara efisien, namun terdapat biaya komunikasi yang sangat mahal. Algoritma iteratif pada umumnya sanggup untuk diparalelkan. Ada juga permasalah yang tidak ada algoritma paralelnya, disebut dengan permasalahan serial lahiriah.
- Deterministik atau non-deterministik Terdapat juga algoritma determministik dan non-determenistik. Algoritma deterministik sanggup menuntaskan masalah-masalah dengan keputusan sempurna disetiap langkah-langkah dari sebuah algoritma. Algoritma non-deterministik sanggup menuntaskan masalah-masalah lewat adanya penerkaan walaupun penerkaan tersebut pada umumnya lebih akurat dengan menggunakan heuristik.
- Tepat atau perkiraan Jika terdapat banyak algoritma sanggup hingga ke solusi yang tepat, ada juga algoritma asumsi yang mencari asumsi terdekat dengan solusi benarnya. Perkiraan tersebut sanggup menggunakan taktik deterministik ataupun acak. Algoritma yang mirip itu sanggup mempunyai nilai lebih untuk banyak permasalahan yang sulit.
- Algoritma quantum Berjalan pada model realistik dari komputasi quantum. Istilah tersebut pada umumnya digunakan bagi algoritma yang intinya quantum, ataupun menggunakan fitur-fitur penting dari komputasi quantum mirip belitan quantum atau superposisi quantum.
Contoh Algoritma
- Menentukan Apakah Bilangan Tersebut Ganjil atau Genap Terdapat bilangan yang berjulukan bilang lingkaran yaitu 0, 1, -1, 2, dst serta bilangan orisinil 1, 2, 3, 4, 5, dst. Kedua jenis bilangan tersebut sering digunakan dalam berhitung. Himpunan bilangan-bilangan lingkaran dalam buku teks aljabar pada umumnya dinyatakan dengan lambang "Z" dan himpunan bilangan-bilangan orisinil dinyatakan dengan lambang "N". Algoritma guna memilih apakah bilangan tersebut ganjil atau genap sanggup disajikan dengan flowchart mirip dibawah ini : Bilangan genap merupakan sebuah bilangan lingkaran yang akan habis atau tidak mempunyai sisa bila dibagi 2 (dua). Bilangan ganjil merupakan sebuah bilangan lingkaran yang tidak akan habis apabila dibagi 2 (dua).
- Menghitung Keliling dan Luas Lingkaran Lingkaran merupakan suatu himpunan dari semua titik-titik pada bidang dalam jarak yang tertentu dan disebut dengan jari-jari dari titik tertentu dan sanggup disebut titik pusat. Lingkaran merupakan tumpuan dari kurva tertutup sederhana, lingkaran membagi bidang menjadi bab luar dan dalam. Algoritma menghitung keliling serta luas lingkaran sanggup disajikan dengan flowchart mirip dibawah ini :
- Menampilkan Bilangan Ganjil Diantara 10 hingga 30 Bilangan ganjil yang terletak diantara 10 dan 30 11,13,15, dan seterusnya. Namun, yang akan ditampilkan kecuali bilangan 21 dan 27. Makara output yang diharapkan dari algoritma tersebut ialah bilangan ganjil 10 hingga 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 :
- Algoritma tahun Kabisat Terdapat juga algoritma tahun kabisat. Tahun kabisat merupakan sebuah tahun yang mempunyai pemanis 1 hari dan bertujuan semoga kalender sanggup sinkron dengan animo tahunan dan keadaan astronomi. Bulan Februari mempunyai 29 hari pada dikala tahun kabisat. Tahun yang sanggup untuk dibagi dengan 4 ialah tahun kabisat. Algoritma guna memilih tahun kabisat bila disajikan dengan flowchart mirip dibawah ini :
- Menampilkan Bilangan Genap Mullai dari Angka 2 hingga n, Kecuali Bilangan Genap yang Kelipatan 4 Bilangan genap merupakan sebuah bilangan-bilangan lingkaran yang habis bila 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 sanggup digambarkan dengan flowchart mirip dibawah ini :
- Menghitung Harga yang Dibayar Setelah Mendapatkan Sebuah Diskon Ada juga algoritma yang sanggup menghitung jumlah dari biaya yang harus dibayar oleh sang pembeli sesudah mendapat sebuah diskon 10% dengan syarat jumlah dari total pembelian tersebut Rp.1.500.000,- Algoritma guna menghitung besaran biaya tersebut sanggup digambarkan dengan flowchart mirip dibawah ini : Jumlah barang mempunyai sifat yang dinamik sesuai dengan input atau masukkan dari user. Apabila jumlah total dari harga tersebut kurang 1500000 maka tidak mendapat sebuah diskon.
- 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 sanggup disajikan dengan flowchart mirip dibawah ini :
- Kalkulator Sederhana dari 2 Bilangan Terdapat sebuah algoritma sebagai kalkulator sederhana untuk operasi penjumlahan, perkalian, pembagian, dan pengurangan. Kalkulator sederhana ini hanya sanggup melaksanakan perhitungan dari 2 bilangan yang diinput oleh user. Algoritma guna menghitung 2 bilangan sanggup digambarkan dengan flowchart mirip dibawah ini :
- 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 :
- Membalik Sebuah Kalimat Seperti yang kita ketahui sebelumnya perihal pengertian algoritma, bahwa algoritma juga sanggup untuk menampilkan sebuah kalimat namun dengan urutan yang terbalik. Misalkan "woocara" dibalik menjadi "aracoow". Struktur data yang digunakan ialah Stack. Untuk membalik sebuah bilangan, abjad dari kalimat kita input dalam stack dengan menggunakan metode Push. Setelah stack tersebut sudah terisi, maka output kembali dengan menggunakan 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 mempunyai panjang yang sama dengan jumlah abjad yang ada dalam kalimat yang akan dibalik tersebut. Pada gambar flowchart dibawah ini, terdapat tiap abjad dari kalimat yang diinput pada array dengan index ke-0 hingga ke-n dengan menggunakan metode push. Kemudian abjad tersebut akan mengeluarkan kata mulai dari index ke-n hingga index ke-0.
Itulah pengertian algoritma, bentuk dasar algoritma, pembagian terstruktur mengenai algoritma, dan tumpuan algoritma. Algoritma sangat dibutuhkan untuk mengolah data yang ada di komputer. Sumber http://woocara.blogspot.com
0 Response to "Pengertian Algoritma Dan Teladan Algoritma, Lengkap!"
Posting Komentar