Karakterisitik apa yang perlu diperhatikan dalam algoritma?

Algoritma adalah suatu urutan dari beberapa langkah yang logis guna menyelesaikan masalah. Pada saat kita memiliki masalah, maka kita harus dapat untuk menyelesaikan masalah tersebut dengan menggunakan langkah-langkah yang logis.

Karakterisitik apa yang perlu diperhatikan dalam algoritma?

Algoritma adalah urutan instruksi terbatas untuk menyelesaikan suatu permasalahan. Algoritma sering digunakan untuk perhitungan dan pengolahan data. Hal ini merupakan metode efektif dalam menyelesaikan suatu permasalahan dimana kita menyusun daftar instruksi langkah demi selangkah seperti dalam membuat diagnosis. Kita diberi sebuah keadaan awal, dilanjutkan melalui serangkaian keadaan berturut-turut yang ditetapkan secara tepat, hingga berakhir dalam keadaan akhir. Agar mendapat hasil akhir sesuai apa yang kita inginkan, maka terdapat beberapa karakteristik untuk menyusun suatu algoritma. Karakteristik tersebut antara lain :

  1. Precision (terdefinisikan)
    Setiap instruksi harus dituliskan dengan tepat, benar, seksama serta tidak ada keraguan. Sehingga, setiap instruksi harus dinyatakan secara eksplisit dan tidak ada bagian yang dihilangkan. Selain itu, Algoritma yang dituliskan harus tepat dan pasti. Maksudnya, algoritma harus menyatakan dengan jelas kapan akan berhenti dan kapan akan meneruskan ke langkah selanjutnya, serta harus memiliki hasil yang sama jika ada dua serangkaian langkah yang sama. Setiap langkah dalam algoritma harus dapat didefinisikan dan logis. Makna yang terdapat dalam algoritma harus jelas dan tidak ambigu. Hasil setiap langkah didefinisikan secara unik dan hanya bergantung pada input serta hasil dari langkah awal.
    Contoh: Tambahkan 1 atau 2 pada x. pada Instruksi tersebut terdapat keraguan.

  2. Jumlah langkah atau instruksi berhingga dan tertentu.
    Artinya algoritma harus dapat dilaksanakan dalam jangka waktu tertentu. Dan untuk kasus yang sama, banyaknya langkah yang diterapkan tetap, meskipun memiliki urutan data yang berbeda. Algoritma akan berhenti setelah sejumlah besar instruksi dieksekusi.
    Contoh : pembuatan jus stroberi. Orang pertama memasukkan potongan buah stroberi, gula, dan air. Lalu diblender. Sedangkan orang kedua memasukkan air, buah stroberi, dan gula. Lalu diblender. Kedua orang tersebut sama-sama menghasilkan jus stroberi dengan langkah yang sama meskipun berbeda urutan.

  3. Efektifitas algoritma
    Algoritma harus disusun secara sederhana dan sistematis. Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses yang akan menjalankannya.
    Contoh: Hitung akar 2 dengan presisi sempurna. Instruksi di atas tidak efektif, agar efektif instruksi tersebut diubah. Misal: Hitung akar 2 sampai dua digit di belakang koma.

  4. Algoritma haruslah benar
    Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, jika memberikan keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik. kita harus mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untuk menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya berupa pendekatan). Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya.

  5. Efisiensi algoritma.
    Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar (paling mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan keluarannya, algoritma tersebut biasanya tidak akan dipakai, setiap orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin buruklah algoritma tersebut. Dalam kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita mengharapkan keluaran yang sama. Jika terjadi demikian, carilah algoritma yang paling efisien dan cepat.

Sumber :
http://bisma.in/algorithm-and-its-characteristics/

Kata algoritma diambil dari nama ilmuwan muslim Abu Ja’far Muhammad bin Musa Al-Khwarismi pada tahun (780-846M) yang banyak mengasilkan karya dalam bidang matematika.

Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis.Kata logis merupakan kata kunci dari algoritma.
Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu.Ada beberapa pertimbangan dalam pemilihan algoritma :

  • Pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan, kalau memberikan keluaran yang salah pastilah algoritma tersebut bukanlah algoritma yang baik.

  • Kedua, harus memperhatikan seberapa baik hasil yang dicapai oleh algoritma tersebut.

  • Ketiga, efisiensi algoritma. Dalam kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu masalah, walaupun terjadi perbedaan menyusun algoritma, tentunya kita mengharapkan keluaran yang sama.

Karakteristik Algoritma

  • Algoritma harus tidak ambigu. Deskripsi algoritma harus bermakna tunggal
  • Algoritma harus tepat. Algoritma harus menyatakan dengan jelas kapan akan berhenti dan kapan akan meneruskan ke langkah selanjutnya
  • Algoritma harus pasti. Hasilnya harus sama jika ada dua serangkaian langkah yang sama
  • Algoritmaa harus berhingga. Serangkaian kata algoritma harus dapat dilaksanakan pada rentang waktu tertentu

Hal yang perlu diperhatikan dalam algoritma

  • Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.
  • Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman.
  • Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri.
  • Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer
  • Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman
  • Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer.

Source:
Rusda, Febryan Ari. Penjelasan pengertian algoritma hingga hal yang harus diperhatikan dalam algoritma. http://www.blog-far.com/2017/02/algoritma.html (dikutip pada 8 Oktober 2017)

Karakteristik apa yang perlu diperhatikan dalam algoritma?

Algoritma dapat diibaratkan seperti jantung dari ilmu komputer. Karena algoritma adalah hal yang sangat penting bagi ilmu komputer. Algoritma diambil dari nama ilmuwan muslim Abu Ja’far Muhammad bin Musa Al-Khwarismi pada tahun (780-846M). Algoritma yaitu langkah-langkah untuk menyelesaikan sebuah masalah yang disusun secara sistematis dan harus bersifat logis.

Algoritma dapat dikatakan baik jika:

  1. Algoritma itu bernilai benar. Artinya, algoritma harus memberikan output yang dikehendaki dari sejumlah masukan yang benar.

  2. Harus selalu memperhatikan hasil yang keluar dari algoritma

  3. Efisiensi algoritma. Jika ingin menyelesaikan suatu permasalahan, pasti setiap orang mempunyai algoritma nya sendiri-sendiri. Tetapi walaupun begitu, semua mengharapkan apa yang dihasilkan suatu algoritma itu sama.

  4. Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar.

  5. Pemrosesan yang efisien (cost rendah). Proses harus diselesaikan secepat mungkin dan frekuensi kalkulasi yang sependek mungkin.

  6. Sifatnya general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus lain yang lebih general.

  7. Bisa dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan requirement yang ada.

  8. Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami algoritma Anda. Susah dimengertinya suatu program akan membuat susah di-maintenance (kelola).

  9. Portabilitas yang tinggi (portability). Bisa dengan mudah diimplementasikan di berbagai platform komputer.

  10. Recise (tepat, betul, teliti). Setiap instruksi harus ditulis dengan seksama dan tidak ada keragu-raguan, dengan demikian setiap instruksi harus dinyatakan secara eksplisit dan tidak ada bagian yang dihilangkan karena pemroses dianggap sudah mengerti. Setiap langkah harus jelas dan pasti.

  11. Jumlah langkah atau instruksi berhingga dan tertentu. Artinya, untuk kasus yang sama banyaknya, langkah harus tetap dan tertentu meskipun datanya berbeda.

  12. Efektif. Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses yang akan menjalankannya.

  13. Harus terminate. Jalannya algoritma harus ada kriteria berhenti. Pertanyaannya adalah apakah bila jumlah instruksinya berhingga maka pasti terminate?

  14. Output yang dihasilkan tepat. Jika langkah-langkah algoritmanya logis dan diikuti dengan seksama maka dihasilkan output yang diinginkan.

Dan beberapa keuntungan dari algoritma yaitu:

  1. Pembuatan algoritma tidak tergantung pada bahasa pemrograman tertentu

  2. Notasi algoritma dapat diterjemahkan ke berbagai bahasa pemrograman

  3. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama

Algoritma juga memiliki beberapa karakteristik. Diantaranya yaitu:

  1. Algoritma harus tidak ambigu. Deskripsi algoritma harus bermakna tunggal. Langkah-langkah dalam algoritma harus dideskripsikan dengan tafsiran atau makna tunggal. Oleh sebab itu, sebuah bahasa pemograman seperti pascal sering digunakan untuk menuliskan algoritma, sehingga langkah-langkah yang dituliskan hanya mempunyai tafsiran atau makna tunggal, terutama menurut komputer.

  2. Algoritma harus tepat. Algoritma harus menyatakan dengan jelas kapan akan berhenti dan kapan akan meneruskan ke langkah selanjutnya

  3. Algoritma harus pasti. Hasilnya harus sama jika ada dua serangkaian langkah yang sama

  4. Algoritmaa harus berhingga. Serangkaian kata algoritma harus dapat dilaksanakan pada rentang waktu tertentuJelas.

  5. Algoritma harus menyatakan urutan langkah-langkahnya dengan jelas. Kapan sebuah langkah x atau langkah y dilakukan atau kapan berhenti dari sebuah langkah untuk melanjutkan ke langkah berikutnya.

Sedangkan, kriteria algoritma menurut Donald E. Knuth ialah :

  1. Input (masukan)
    Sebelum dijalankan, algoritma memiliki nol atau lebih input (masukan) yang diberikan kepada algoritma.

  2. Output (keluaran)
    Algoritma harus memiliki minimal satu buah output keluaran.

  3. Definitess (kepastian)
    Setiap langkah algoritma harus dinyatakan atau didefinisikan dengan tepat dan tidak mengakibatkan makna ganda

  4. Finiteness (keterbatasan)
    Setelah melakukan sejumlah langkah proses, algoritma harus berakhir.

  5. Effectiveness (tepat dan efisien)
    Algoritma sebisa mungkin harus dapat dilaksanakan dan efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1

Sumber:
(https://id.wikipedia.org/wiki/Algoritme)
(http://algoritma-program.blogspot.co.id/2015/02/algoritma-dan-pemrograman_28.html)
(https://andikafisma.wordpress.com/algoritma-dan-pemrograman/)