Trending

ALGORITMA KOMPUTER

Algoritma Komputer
Dalam matematika dan ilmu komputer, algoritma adalah urutan atau langkah-langkah untuk penghitungan atau untuk menyelesaikan suatu masalah yang ditulis secara berurutan. Sehingga, algoritma pemrograman adalah urutan atau langkah-langkah untuk menyelesaikan masalah pemrograman komputer.
Algoritma & pemrograman adalah sesuatu yang berbeda. Kendati demikian, keduanya kerap dianggap sama. Belajar algoritma komputer akan membuat Anda mampu mengetahui definisi, dan membedakan kedua istilah tersebut. Anda juga akan mengetahui bahasa pemrograman. Dikutip dari Oolish Blog UNS, algoritma adalah urutan langkah-langkah logis penyelesaian sebuah masalah yang disusun secara logis dan sistematis.

Mengenai asal- usul dari kata algoritma itu sendiri bukan merupakan sesuatu yang penting dalam pembahasan di dunia pemrograman. Setiap langkah dalam program algoritma ini haruslah logis dan jelas. Yang dimaksud jelas adalah memiliki nilai benar atau salah dan tidak memiliki nilai di tengah-tengah. Alogoritma juga erat kaitannya dengan step by step dalam melakukan pekerjaan. Anda akan melihat proses dari sebuah hasil kerja.

Algoritma pemrograman tidak selalu identik dengan angka. Terdapat 3 pertimbangan dalam pemilihan algoritma. Ke-3 pertimbangan tersebut adalah benar, baik, dan efisien. Benar berarti output dari algoritma tersebut tidak salah. Sebaik apapun algoritmanya, jika salah, maka menjadi percuma.

Berikut definisi dari Algoritma :

  1.  Langkah – langkah yang dilakukan agar solusi masalah dapat diperoleh.
  2.  Suatu prosedur yang merupakan urutan langkah-langkah yg berintegrasi.
  3. Suatu metode khusus yang digunakan untuk menyelesaikan suatu masalah    yang nyata. 



CIRI ALGORITMA

Adapun ciri algoritma sebagai berikut:

  1. Ada Input
  2. Ada proses
  3. Ada Output
  4. Memiliki Instruksi-Instruksi yang jelas dan tidak Ambigu
  5. Harus mempunyai Stoping Role (titik berhenti)

FUNGSI ALGORITMA

Berikut ini terdapat beberapa fungsi algoritma, terdiri atas:

  • Menggunakan fungsi algoritma bisa digunakan untuk memecahkan program yang rumit.
  • Menggunakan fungsi algoritma bisa menjadikan program yang besar menjadi program yang lebih sederhana.
  • Fungsi algoritma bisa digunakan secara berulang atau lebih dari satu kali penggunaan.
  • Memudahkan dalam pembuatan program.
  • Bisa mengatasi segala masalah dengan logika dan urut.
  • Menggunakan fungsi algoritma bisa melakukan pendekatan top-down dan juga devide and conguer.
  • Meminimalisir penulisan program yang berulang-ulang.
  • Program yang ada menjadi lebih terstruktur dengan rapi sehingga dapat lebih mudah untuk dipahami ataupun dikembangkan.
  • Ketika terjadi kesalahan bisa dicari dengan mudah karena dengan fungsi algoritma bisa mendapatkan alur yang jelas.
  • Ketika ingin melakukan modifikasi pada program bisa dilakukan hanya pada satu modul saja tanpa harus merubah dan mengganggu modul yang lain.
  • Dokumentasi yang lebih mudah.
JENIS-JENIS ALGORITMA

Berikut ini terdapat beberapa jenis-jenis algoritma, terdiri atas:

1. Divide and Conquer

Paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkanpermasalahan-permasalahan kecil yang terbentuk.

2. Dynamic programming

Paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal (, dan mengandung beberapa bagian permasalahan yang tumpang tindih. Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi. 

3. Metode serakah

Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap; dan menggunakan pilihan “serakah” apa yang dilihat terbaik pada saat itu.

4. Sistem Flowchart

Sistem Flowchart

Sistem flowchart merupakan diagram alir yang menggambarkan suatu sistem peralatan komputer yang digunakan dalam proses pengolahan data serta hubungan antar peralatan tersebut. Sistem flow chart tidak digunakan untuk menggambarkan urutan langkah untuk memecahkan masalah, tetapi hanya untuk menggambarkan prosedur dalam sistem yang dibentuk.

5. Pseudo Code (Kode Semu)

Pseudo Code (kode semu) merupakan metode yang cukup efisien untuk menggambarkan suatu algoritma . Pseudo Code dituliskan dengan menggunakan bahasa yang mudah dipahami (boleh menggunakan bahasa Indonesia) agar alur logika yang digambarkan dapat dimengeti oleh orang awam sekalipun.

Flowchart Pseudo Code (kode semu) disusun dengan tujuan untuk menggambarkan  tahap-tahap penyelesaian suatu masalah  dengan kata-kata (teks). Metode ini  mempunyai kelemahan, dimana penyusunan algoritma dengan kode semu sangat  dipengaruhi oleh tata bahasa pembuatnya, sehingga kadang-kadang sulit dipahami oleh orang lain.

Oleh karena itu kemudian dikembangkan suatu metode lain  yang dapat menggambarkan suatu algoritma program secara lebih mudah dan sederhana yaitu dengan menggunakan flowchart (diagram alir).

MANFAAT ALGORITMA

Adapun manfaat algoritma sendiri yaitu untuk membantu seseorang dalam menyelesaikan suatu masalah berdasarkan pada pola pikirnya masing-masing.

SIFAT ALGORITMA

Adapun sifat algoritma sebagai berikut:

  • Tidak menggunakan syimbol atau syintaks dari suatu bahasa pemograman.
  • Tidak tergantung pada suatu bahasa pemograman.
  • Notasi-notasinya dapat digunakan untuk seluruh bahasa pemograman.

STRUKTUR DASAR ALGORITMA

Struktut algoritma adalah urutan bagaimana pemrosesan instruksi dalam algoritma dilakukan dan juga bagaimana struktur instruksi algoritma tersebut dibagun.

Struktur dasar algoritma dibagi menjadi 3 bagian sebagai berikut:

1. Runtunan (Sequence)

Sequence atau runtunan dalam struktur algoritma adalah bahwa instruksi-insturksi dalam algoritma diproses secara beruntun langkah demi langkah dari awal sampai akhir dimulai dari langkah pertama hingga langkah terakhir.

2. Pemilihan (Selection)

Pada umumnya instruksi algoritma setidaknya akan mengandung pemilihan, atau selection, instruksi ini akan muncul apabila ada kasus yang memiliki 2 atau lebih alternatif penyelesaian.

Misalkan dalam kehidupan sekali-kali, untuk kasus menyalakan komputer. Langkah-langkah cara menyalakan komputer sebenarnya sangat mudah, namun pada prosesnya bisa terjadi 2 atau lebih alternatif penyelesaian.

Contoh:

langkah 1: colokan kabel listrik,

langkah 2: tekan tombol power pada cashing.

langkah 3: jika setelah power ditekan komputer mati, maka periksa listrik atau periksa kabel dll, jika komputer menyala, lanjutkan ke langkah berikutnya.

….

….

Langkah 3 di atas merupakan salah satu bentuk pemilihan atau selection, bahwa pada saat proses menyalakan komputer bisa kemungkinan terjadi 2 kondisi, komputer tatap mati atau hidup, dimana kedua kondisi tersebut akan memiliki alternatif penyelesaian yang berbeda.

Di dalam struktur algoritma pemilihan atau selection tersebut akan kerap sekali ditemukan, sehingga struktur algoritma tidak lepas dari pemilihan/ selection. pemilihan atau selection dipelajari di bab algoritma Selection / Flow Control).

3. Pengulangan (Repitition)

Struktur dasar algoritma yang ketiga adalah pengulangan atau repitition, artinya kasus-kasus pemecahan masalah dalam algoritma maupun bahasa pemrograman pada kenyataannya tidak akan lepas dari kasus-kasus yang membutuhkan pengulangan.

Di algoritma sendiri untuk mengatasi kasus pengulangan data, memiliki intruksi tersendiri, dengan intruksi tersebut pengulangan akan lebih mudah ditulis secara singkat dan praktis daripada harus di tulis satu-persatu.

Contoh:

Da kasus di algoritma yang membuat sebuah data harus diulang beberapa kali, misal untuk kasus mencetak angka 1 sampai 5.

Penyelesaian pengulangan sebenarnya sangat mudah, bisa saja kita tulis satu persatu misal;

langkah 1: tulis angka 1

langkah 2: tulis angka 2

langkah 3: tulis angka 3 

langkah 4: tulis angka 4 

langkah 5: tulis angka 5.

Membuat intruksi pengulangan dengan menuliskannya satu persatu tentunya bukanlah cara praktis, jika hanya 5 baris mungkin saja bisa dibuat secara manual, ditulis satu-satu, namun bagaimana jika yang harus diulang sebanyak 1.000 (seribu baris misalnya), saya yakin anda akan kerepotan menuliskannya.

Oleh karena itu karena kerap sekali pengulangan ditemukan di kasus-kasus pemecahan masalah terkomputerisasi, maka di algoritma dikenal struktur pengulangan yang akan lebih memudahkan dan mempercepat penulisan proses pengulangan secara praktis dan cepat. (pengulangan ini biasanya dipelajari di materi algoritma Looping/ pengulangan). 

CONTOH ALGORITMA

Berikut ini terdapat beberapa contoh algoritma, terdiri atas:

  • Menentukan Bilangan Ganjil atau Genap

Bilangan bulat yaitu 0, 1, -1, 2, dst, sedangkan bilangan asli 1, 2, 3, 4, 5, dst. Bilangan bulat dan bilangan asli sering dipakai dalam berhitung. Himpunan bilangan bulat dalam buku teks aljabar biasanya dinyatakan dengan lambang “Z” serta himpunan bilangan asli dinyatakan dengan lambang “N”. Algoritma yang digunakan untuk menentukan apakah bilangan tersebut ganjil atau genap disajikan dengan flowchart seperti dibawah ini :

Menentukan Ganjil atau Genap

Bilangan genap adalah bilangan bulat yang dapat habis jika dibagi 2 (dua). Bilangan ganjil adalah bilangan bulat yang tidak habis jika dibagi 2 (dua).

 


Posting Komentar

Please Select Embedded Mode To Show The Comment System.*

Lebih baru Lebih lama

Formulir Kontak