pengertian algoritma

Pengertian Algoritma : Bentuk, Cara Merancang, Klasifikasi, Contoh !!!!

Pengertian algoritma – bahasa pemrograman semakin banyak dipelajari oleh banyak orang. Hal ini berkaitan dengan kemajuan zaman yang menjadikan teknologi sebagai suatu hal yang penting untuk menunjang kemajuan, bagi seorang  yang ingin mempelajari bahasa pemrograman hal dasar yang harus di pelajari atau di pahami adalah algoritma pemrograman tersebut.

Untuk mengerti apa yang dimaksud algoritma pemrograman, silahkan simak ulasan mengenai algoritma di bawah ini.

Dalam ilmu matematika dan ilmu computer, algoritma adalah urutan atau langkah – langkah untuk  menghitung atau menyelesaikan sebuah masalah yang di tulis secara berurutan. Sehingga, algoritma pemrograman ialah suatu urutan atau langkah –  langkah yang digunakan untuk menyelesaikan masalah pemrograman computer.

Dalam sebuah pemrograman, hal penting yang perlu dipahami adalah logika kita dalam berfikir tentang bagaimana cara untuk memcahkan sebuah masalah pemrograman yang akan di buat.

Sebagai contohnya, banyak permasalahan matematika yang mudah jika diselesaikan secara tertulis, tapi cukup sulit jika kita terjemahkan ke dalam pemrograman.

Dalam hal ini, peran algoritma dan logika pemrograman menjadi sangat penting dalam memcahkan masalah. Untuk contoh algoritma dalam ilmu matematika seperti penjelasan di bawah ini :

Algoritma untuk menghitung nilai y dari persamaan y = 3x + 8

Algoritmanya adalah :

  • Mulai
  • Tentukan nilai x
  • Hitung nilai y = 3x + 8
  • Cetak nilai x dan nilai y
  • Selesai

Walaupun algoritma bias di bilang sebagai jantung ilmu dalam computer atau dalam ilmu matematika, tetapi jangan beranggapan bahwa algoritma selalu identik dengan ilmu computer.

Dalam kehidupan sehari – hari, terdapat banyak proses yang dinyatakan salam sebuah algoritma. Misalnya saja cara memasak mie, cara membuat kue, dan yang lainnya.

Jika kita akan membuat algoritma tentang cara memasak mie, maka kita akan buat seperti di bawah ini :

  • Siapkan 1 bungkus mie instan, 400 ml air (atau sekitar 2 gelas), panic, mangkok, sendok, kompor dan garpu
  • Masukkan 400 ml air ke dalam panci
  • Masak air atau panaskan
  • Tunggu sampai mendidih
  • Masukkan mie ke dalam panci yang sudah berisi air mendidih tadi
  • Tunggu dan aduk hingga kurang lebih 3 menit
  • Tunggu hingga matang
  • Siapkan bumbu
  • Aduk hingga merata
  • Sajikan mie

Penyajian algoritma secara garis besar bisa di bagi ke dalam dua bentuk penyajian yaitu secara tulisan dan gambar. Algoritma yang di sajikan dalam bentuk tulisan yaitu dengan struktur bahasa tertentu (misalkan dalam bahasa Indonesia atau bahasa inggris) dan pseudocode.

Yang dimaksud dengan pseudocode adalah kode yang mirip dengan kode pemrograman yang sebenarnya, seperti pascal, atau C, sehingga tetap dipakai atau digunakan dalam menggambar algoritma yang akan dikomunikasikan kepada programmer.

Sedangkan algoritma yang disajikan dalam bentuk gambar adalah dengan flowchart. Yang dimaksud flowchart adalah bagan (chart)yang menunjukkan alir (flow) di dalam suatu program atau merupakan prosedur system secara logika. Flowchart  dapat digunakan sebagai alat bantu komunikasi dan untuk dokumentasi.

PENGERTIAN ALGORITMA MENURUT PARA AHLI

pengertian algoritma
pengertian algoritma

Selain itu, kita bisa merujuk ke beberapa penjelasan yang berbeda  menurut para ahli dan pakar mengenai arti dari algoritma yang sebenarnya. Berikut ini pengerti :

1. Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi

Pengertian algoritma menurut beliau adalah sebuah metode khusus yang di gunakan untuk menyelesaikan suatu persoalan.

2. KBBI (Kamus Besar Bahasa Indonesia)

Menurut KBBI pengertian algoritma adalah suatu prosedur sistematis untuk memecahkan suatu masalah matematis dalam langkah – langkah terbatas dan suatu urutan yang logis pengambilan keputusan untuk memcahkan sebuah masalah.

3. Goodman Hedet Niemi

Menurut dari Goodman definisi dari algoritma adalah urutan terbatas dari operasi – operasi terdefinisi dengan baik, yang masing – masing memerlukan memori dan waktu yang terbatas untuk menyelesaikan sebuah masalah.

4. Donald E. knuth

Pengertian algoritma menurut Donald adalah sekumpulan aturan – aturan berhingga yang memberikan sederetan operasi – operasi untuk menyelesaikan sebuah jenis masalah yang khusus.

5. Rinaldi Munir

Definisi algoritma menurut beliau adalah suatu bentuk urutan langkah logis yang akan membantu seseorang di dalam menyelesaikan sebuah masalah yang sedang di hadapinya.

6. Seymour Lipschutz, Ph.D dan Marc Lipson, Ph.D.

Pengertian algoritma menurut beliau adalah sebuah daftar langkah demi langkah yang terhingga dari suatu instruksi – instruksi yang terdefinisikan secara jelas yang di pakai untuk menyelesaikan suatu permasalahan tertentu.

7. David Bolton

Menurut Bolton pengertian algoritma ialah deskripsi dari sebuah prosedur yang berakhir dengan sebuah hasil.

8. Andrey Andreyevich Markov

Definisi dari beliau adalah hal yang umum untuk di pahami sebagai sebuah keputusan yang tepat untuk mendefinisikan proses komputasi yang mengarah dari data awal hingga suatu hasil yang diinginkan.

9. Stone dan Knuth

Pengertian algoritma menurut beliau adalah seperangkat aturan yang tepat yang mendefinisikan urutan operasi hingga sedemikian rupa sehingga menciptakan sebuah aturan yang efektif, jelas hingga sedemikian rupa  sehingga berakhir dalam waktu yang terbatas.

10. Minsky

Definisi dari algoritma adalah serangkat aturan yang memberitahukan kepada kita dari waktu ke waktu atau lebih tepatnya bagaimana langkah untuk bertindak.

11. Amikom Yogyakarta

Algoritma adalah sebuah bentuk instruksi dalam bentk cara atau sebuah metode yang akan membantu seseorang dalam menyelesaikan suatu program dengan cara yang lebih sistematis.

BENTUK DASAR ALGORITMA

pengertian algoritma
pengertian algoritma

Algoritma sendiri secara umum memiliki tiga bentuk dasar. Untuk pembahasannya silahkan simak ulasan sebagai berikut :

1. Algoritma Sekuensial (Sequence Algorithm)

Merupakan algoritma yang langkah – langkahnya secara urut dari awal hingga akhir. Salah satu bentuk algoritma sekuensial ini contohnya adalah seperti algoritma memasak air, langkah demi langkah yang dijalankan harus urut dari atas hingga sampai bawah.

2. Algoritma Perulangan (Looping Algorithm)

Algoritma perulangan merupakan suatu algoritma yang menjalankan beberapa langkah tertentu secara berulang – ulang atau looping. Pada sebuah masalah yang kita hadapi, namun ada pula sebuah langkah yang harus kita lakukan secara berulang – ulang. Contoh dari algoritma looping ini antara lain adalah menjemur pakaian adapun langkah – langkahnya sebagai berikut :

  • Siapkan jemuran
  • Ambil salah satu pakaian yang nantinya akan di jemur
  • Peras pakaian tersebut terlebih dahulu
  • Letakkan pakaian tersebut pada tiang jemuran
  • Ulangi langkah 2 sampai langkah 4 hingga pakaian habis

Dari algoritma di atas, bisa diketahui bahwa langkah 2 sampai langkah 4 harus dilakukan secara berulang – ulang sampai pakaian habis.

3. Algoritma Pencabangan atau Bersyarat (Conditional Algorithm)

Algoritma bersyarat merupakan suatu algoritma yang menjalankan langkah berikutnya apabila terdapat syarat yang sudah bisa dipenuhi. Berikut adalah salah satu contoh dari algoritma bersyarat sebagai berikut :

  • Siapkan sebuah panci
  • Masukkan air secukupnya ke dalam sebuah panci
  • Tutup panci tersebut
  • Letakkan sebuah panci tersebut di atas kompor
  • Hidupkan kompor
  • Apabila air telah mendidih, lalu matikan kompor
  • Angkat panci tersebut dari atas kompor

Algoritma bersyarat terdapat pada langkah ke 6. Apabila air telah mendidih, lalu matikan kompor. Sehingga apabila air tersebut belum mendidih, maka kompor tidak akan dimatikan.

CARA MERANCANG ALGORITMA YANG BAIK

pengertian algoritma
pengertian algoritma

Menurut seorang ilmuan bernama Donald E. Knuth, dari pengertian algoritma diatas bisa diketahui bahwa sebuah algoritma yang baik yaitu algoritma yang memiliki criteria sebagai berikut :

– Masukan (Input)

Sebuah algoritma memiliki input 0 (nol) atau lebih

– Keluaran (Output)

Suatu algoritma harus menghasilkan atau mengeluarkan minimal 1 output

– Terbatas (Finite)

Sebuah algoritma harus berhenti setelah melakukan langkah – langkah yang di perlukan

– Pasti (Definite)

Suatu algoritma harus jelas antara kapan dimulai dan kapan berakhir. Tujuan dari algoritma harus jelas. Pada setiap langkah – langkah harus di jelaskan secara jelas.

– Efisien

Dalam membuat sebuah algortima harus efisien. Adanya sebuah langkah – langkah seperti mencari hasil 1 + 0 tidak efisien. Hal ini dikarenakan bilangan apapun jika ditambah dengan 0 maka hasilnya adalah bilangan itu sendiri. Sehingga adanya sebuah langkah seperi itu tidak perlu dimasukkan dalam sebuah algoritma.

KLASIFIKASI ALGORITMA

pengertian algoritma
pengertian algoritma

Salah satu langkah yang bisa di lakukan untuk dapat mengklasifikasikan algoritma yaitu bisa dengan menggunakan cara implementasi. Untuk penjelasannya sebagai berikut :

1. Rekursi atau Iterasi

Pengertian algoritma rekursi adalah suatu algoritma yang memanaggil dirinya sendiri secara berulang kali (looping) hingga pasa kondisi tertentu bisa tercapai.

Recursi merupakan sebuah metode umum dalam pemrograman fungsional. Algoritma iterasi memakai konstruksi berulang seperti pada penggulangan serta terkadang terdapat struktur data tambahan.

Beberapa permasalahan secara alami bisa cocok dengan 1 implementasi atau yang lainnya. Seperti contohnya : menara Hanoi yang dikenal dengan implementasi rekursif. Pada setiap versi rekursif memiliki adanya kesamaan (bisa lebih ataupun bisa kurang kompleks) dengan versi iterative, ataupun versi sebaliknya.

2. Logical

Algoritma bisa dilihat sebagai suatu logika deduksi terkontrol. Pernyataan ini bisa diekspresikan sebagai : algoritma = control + logika.

Komponen logika yang mengekspresikan aksioma bisa digunakan dalam komputasi serta komponen control dalam menentukan sebuah cara – cara deduksi yang digunakan pada aksioma.

Hal ini adalah merupakan sebuah dasar dari paradigm pemrograman logika. Dalam sebuah pemrograman, logika murni komponen control ialah tetap, serta algoritma yang di tentukan dengan cara memberikan hanya ada komponen logikanya.

Daya Tarik dari pendekatan logical ini adalah semakin elegan, suatu perubahan yang ada dalam aksioma memiliki perubahan pula dalam algoritma.

3. Serial, Paralel atau Terdistribusi

Secara umum, sebuah algoritma menjalankan satu instruksi algoritma di setiap waktu. Computer tersebut bisa disebut dengan komputer serial. Sebuah rancangan algoritma yang digunakan untuk lingkungan tersebut adalah algoritma serial, terbalik dengan algoritma terdistribusi atau algoritma paralel.

Dalam sebuah algoritma parallel menggunakan arsitektur sebuah computer yang mana terdapat prosesor – prosesor yang dapat mengerjakan masalah pada waktu yang bersamaan.

Sedangkan  algoritma terdistribusi dengan menggukana banyak mesin yang terhubung pada sebuah jaringan. Algoritma terdistribusi atau paralel membagi permasalah ke banyak submasalah simetris maupun asimetris serta mengumpulkan hasil yang didapat kembali.

Komsumsi dari sumber pada algoritma tersebut tidak hanya ada perputaran prosesor saja, tapi juga terdapat daya komunikasi antara prosesor.

Algoritma pengurutan bisa diparalelkan secara efisien, namun terdapat biaya komunikasi yang sangat mahal. Algoritma iteratife secara umumnya bisa diparalelkan. Namun ada juga permasalahan yang tidak ada algoritma paralelnya, yang di sebut dengan permasalahan serial lahiriah.

4. Deterministik atau Non-deterministik

Ada juga algoritma deterministik atau non-deterministik. Algoritma deterministic bisa menyelesaikan masalah – masalah dengan keputusan yang tepat disetiap langkah – langkah dari sebuah algoritma.

Sedangkan, algooritma non-deterministik bisa menyelesaikan masalah – masalah lewat adanya penerkaan, walaupun penerkaan tersebut secara umum lebih akurat dengan menggunakan heuristik.

5. Tepat atau perkiraan

Jika terdapat banyak algoritma maka akan sampai ke solusi yang tepat, namun ada juga algoritma perkiiraan yang mencari perkiraan terdekat dengan solusi sebenarnya.

Perkiraan tersebut bisa memakai sebuah strategi deterministic atau secara acak. Algoritma yang seperti itu bisa mempunyai nilai lebih untuk suatu permasalahn yang sangat sulit.

6. Algoritma Quantum

Algoritma ini berjalan pada model realistic dari komputasi quantum. Istilah ini pada umumnya di pakai bagi algoritma yang pada dasarnya quantum, atapun yang memakai fitur – fitur penting dari komputasi quantum seperti belitan quantum atau superposisi quantum.

CONTOH ALGORITMA

pengertian algoritma
pengertian algoritma

Beikut adalah contoh – contoh dari algoritma sebagai berikut :

1. Menentukan Apakah Bilangan Tersebut Ganjil atau Genap

Terdapat bilangan yang bernama bilangan bulat yaitu 0, 1, -1, 2 dan seterusnya serta bilangan asli 1, 2, 3, 4, 5, dan seterusnya.

Kedua jenis bilangan tersebut sering digunakan dalam berhitung. Himpunan bilangan – bilangan bulat dalam buku teks aljabar secara umum dinyatakan dengan lambang “Z” dan sebuah himpunan bilangan – bilangan asli dinyatakan dengan lambing “N”.

Algoritma berguna untuk  menentukan apakah blangan tersebut ganjil atau genap dapat disajikan dengan flowchart.

Bilangan genap merupakan suatu bilangan bulat yang akan habis atau tidak memiliki sisa jika di bagi 2 (dua). Bilangan ganjil merupakan suatu bilangan bulat yang tidak akan habis jika di bagi 2 (dua).

2. Menghitung Keliling dan Luas Lingkungan

Lingkaran merupakan sebuah himpunan dari semua titik – titik pada bidang dalam jarak yang tertentu serta disebut juga dengan jari – jari dari titik tertentu dan bisa juga disebut titik pusat.

Lingkaran merupakan sebuah contoh dari kurva tertutup sederhana, lingkaran membagi bidang menjadi dua bagian yaitu bagian dalam dan bagian luar. Algoritma menghitung keliling serta luas lingkaran bisa disajikan dengan flowcart.

3. Menampilkan Bilangan Ganjil Diantara 10 sampai 30

Bilangan ganjil yang terletak diantara bilangan 10 dan 30 adalah 11, 13, 15, 17, 19 dan seterusnya. Namun, yang akan kecuali bilangan 21 dan 27. Jadi, output yang diharapkan dari algoritma tersebut ialah bilangan ganjil 10 sampai 30 kecuali bilangan 21 dan 27.

4. Algoritma Tahun Kabisat

Tahun kabisat merupakan sebuah tahun yang mempunyai tambahan 1 hari serta bertujuan agar kalender dapat sinkron dengan musim tahunan serta keadaan astronomi. Pada bulan februari hanya memiliki 29 hari pada saat tahun kabisat. Sebuah tahun yang hanya bisa dibagi 4 adalah tahun kabisat.

5. Menampilkan Bilangan Genap Mulai dari Angka 2 sampai N, Kecuali Bilangan Genap yang Kelipatan 4

Bilangan genap merupakan suatu bilangan – bilangan bulat yang akan habis jika dibagi 2 hingga ke N kecuali bilangan yang merupakan kelipatan 4.

6. Menghitung Harga yang Dibayar Setelah Mendapatkan Sebuah Diskon

Ada juga sebuah algoritma yang bisa menghitung jumlah dari biaya yang harus di bayar oleh seseorang setelah mendapatkan diskon 10% dengan syarat dari total pembelian tersebut Rp. 1.500.000 algoritma untuk menghitung besaran biaya tersebut bisa digambarkan dengan flowchart.

Jumlah barang mempunyai sifat yang dinamik sesuai dengan input atau masukan dari user. Dan apabila jumlah total dari harga tersebut kurang dari 1.500.000 maka tidak akan mendapatkan sebuah diskon.

7. Mencari Maks dan Min dari suatu Deretan Bilangan

Terdapat juga sebuah algoritma yang berguna untuk mencari maks dan min dari suatu deretan bilangan yang dimasukkan atau diinput oleh user.

8. Kalkulator Sederhana dari 2 Bilangan

Terdapat juga sebuah algoritma sebagai kalkulator sederhana untuk operasi penjumlahan, perkalian, pembagian, dan pengurangan. Kalkulator sederhana ini hanya bisa melakukan perhitungan dari 2 bilangan yang diinput oleh user.

9. Membalik Sebuah Kalimat

Seperti yang kita ketahui sebelumnya mengenai pengertian algoritma, bahwa algoritma juga bisa untuk menampilkan sebuah kalimat namun dengan urutan yang terbalik. Misalkan salah satu contohnya “woocara” dibalik menjadi “aracoow”. Struktur data yang dipakai adalah Stack.

Untuk dapat membalik sebuah bilangan, huruf dari kalimat kita input dengan stack 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, terlebih dahulu kita harus menyiapkan sebuah array dengan memiliki panjang yang sama dengan jumlah huruf yang ada dalam kalimat yang akan di balik nantinya.

Dalam gambar flowchart terdapat tiap huruf dari kalimat yang diinput pada array dengan index ke 0 hingga ke N dengan menggunakan metode push.

Demikian ulasan mengenai penjelasan algoritma semoga bisa bermanfaat dan menambah wawasan kita sekian dan terimakasih.

Pengertian Algoritma

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *