Materi Algoritma Dan Pemrograman

 Algoritma Dan Pemrograman


Kebanyakan orang awam yang mendengar tentang kata algoritma ini pasti menduga bahwa ini berkaitan dengan bahasa pemrograman, ilmu komputer, matematika dan berisi sekumpulan angka-angka. Hal itu tidaklah salah karena suatu algoritma memang erat hubungannya dengan perhitungan, namun disini akan membahas lebih dalam mengenai pengertian algoritma dalam dunia pemrograman. Secara umum, algoritma sendiri mewakili langkah-langkah dalam pemecahan masalah. Sekarang, terutama di tahun ini, bahasa pemrograman semakin banyak dipelajari oleh orang-orang baik itu di bidang keperawatan, bangunan, pendidikan dan lain sebagainya.

Hampir di semua aktivitas pemrograman pasti tidak akan lepas dengan yang namanya algoritma karena menjadi dasar pijakan yang paling penting dalam membuat suatu program. Tanpa adanya pengetahuan lebih mengenai algoritma pemrograman maka hasil yang diperoleh pasti tidaklah maksimal. Salah satu yang paling penting bagi seorang programmer sebelum membuat program adalah memahami terlebih dahulu logika yang akan dipakai atau biasa disebut algoritma yang akan digunakan.

Algoritma pemrograman ini berbeda dengan algoritma matematis yang terbilang rumit. Algoritma pemrograman merupakan dasar pijakan dalam menciptakan suatu program pada komputer. Meskipun erat kaitannya dengan perhitungan matematis namun pada kenyataannya algoritma dalam pemrograman tidak selalu mengenai perhitungan rumit seperti halnya Genetika Algoritma yang sering dipakai dalam menyelesaikan kasus – kasus yang berhubungan dengan matematika. Pembahasan mengenai algoritma lebih lanjut, ada di bawah ini.


            Mengenal Pengertian Algoritma

 

Sebelum membuat program Anda harus mengetahui pengertian dari algoritma pemrograman. Pengertian algoritma adalah suatu urutan atau alur yang dipakai dalam perhitungan atau pemecahan masalah secara sistematis, dan dalam aktivitas pemrograman algoritma seringkali dianggap sebagai logika dalam penentuan program yang akan dibuat. Pendapat lain mengatakan definisi algoritma adalah proses atau serangkaian aturan yang harus diikuti dalam perhitungan atau operasi pemecahan masalah lainnya, terutama oleh komputer. Dengan kata lain, semua susunan logis yang diurutkan berdasarkan sistematika tertentu dan digunakan untuk memecahkan suatu masalah dapat disebut dengan algoritma.

Pastinya Anda semua pernah melihat resep makanan, mereka mencantumkan bahan-bahan yang dibutuhkan dan serangkaian langkah untuk membuat makanan yang dijelaskan. Nah, algoritma memang seperti itu. Dalam bahasa komputer, kata untuk resep adalah prosedur, dan bahan-bahannya disebut masukan. Komputer Anda melihat prosedur Anda, mengikutinya ke alur tersebut, dan Anda bisa melihat hasilnya, yang disebut output. Algoritma pemrograman menjelaskan cara melakukan sesuatu, dan komputer Anda akan melakukannya persis seperti itu setiap saat.

Penentuan algoritma dalam pemrograman ini merupakan hal dasar yang harus diketahui dan menjadi tahap awal dalam pembuatan program. Penyajian algoritma dapat dilakukan menjadi dua bentuk yakni dalam tulisan maupun gambar, tergantung dari metode atau tahap yang digunakan oleh seorang programmer. Penyajian dalam bentuk tulisan biasanya menggunakan pseudocode sedangkan dalam bentuk gambar biasanya dalam bentuk diagram flowchart. Tantangan tersulit adalah mengimplementasikan algoritma yang ditentukan menjadi code atau script yang tertata dan dapat berjalan sesuai keinginan.




Fungsi Algoritma

Setelah mengetahui pengertian dari algoritma, Anda juga harus mengetahui apa fungsi sebenarnya dari algoritma ini. Pada dasarnya fungsi utama dari algoritma adalah untuk memecahkan suatu masalah. Suatu algoritma pemrograman membawa keuntungan serta fungsi penting dalam aktivitas pembuatan program. Berikut ini merupakan fungsi algoritma yang perlu Anda ketahui :
  • Pemrograman dapat mengatasi permasalahan rumit dalam program yang kemungkinan juga melibatkan perhitungan tingkat tinggi. Karena menggunakan perhitungan seringkali program yang dibuat tidak berjalan semestinya karena adanya kesalahan, hal ini dapat diminimalisir dengan menerapkan algoritma dalam pemrograman.
  • Algoritma pemrograman juga mampu menyederhanakan program, dari program yang besar menjadi program yang lebih sederhana, sehingga penggunaannya lebih efektif dan efisien. Selain itu, terdapat dua pendekatan yang dimiliki algoritma pemrograman yaitu pendekatan top-down serta pendekatan divide and conquer.
  • Fungsi dari algoritma ini bukan merupakan sekali pakai, artinya dapat digunakan secara berulang-ulang ini memberikan Anda keuntungan dalam meminimalisir penulisan program yang berulang-ulang. Jadi, Anda tidak perlu repot-repot menuliskan lagi program yang sama di lain waktu, yang hal ini memudahkan Anda dalam pembuatan program.
  • Dalam pembuatan program pastinya akan menjumpai beberapa kesalahan, hal ini sangatlah wajar. Dengan menerapkan fungsi algoritma maka pencarian kesalahan dapat lebih mudah serta dapat diperbaiki dengan cepat.
  • Adanya alur yang jelas yang dimiliki oleh algoritma pemrograman, Anda dapat dengan mudah mencari kesalahan jika terjadi kesalahan. Karena program sudah tertata atau tersusun dengan rapi, sehingga memudahkan Anda dalam pencarian dan menemukan kesalahan yang terjadi pada program di dalam perangkat komputer yang Anda miliki.



Cara Kerja Algoritma
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. Jadi program adalah perwujudan atau implementasi teknis algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh komputer. Kata “algoritma” dan “program” seringkali dipertukarkan dalam penggunaannya.

Misalnya ada orang yang berkata seperti ini: “program pengurutan data menggunakan algoritma selection sort”. Atau pertanyaan seperti ini: “bagaimana algoritma dan program menggambarkan grafik tersebut?”. Jika Anda sudah memahami pengertian algoritma yang sudah disebutkan sebelum ini, Anda dapat membedakan arti kata algoritma dan program. Algoritma adalah langkah-langkah menyelesaikan masalah, sedangkan program adalah realisasi algoritma dalam bahasa pemrograman.

Program ditulis dalam salah satu bahasa pemrograman dan kegiatan membuat program disebut pemrograman (programming). Orang yang menulis program disebut pemrogram (programmer). Tiap-tiap langkah di dalam program disebut pernyataan atau instruksi. Jadi, program tersusun atas sederetan instruksi. Bila suatu instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan instruksi tersebut dikerjakan komputer. Secara garis besar komputer tersusun atas empat komponen utama yaitu, piranti masukan, piranti keluaran, unit pemroses utama, dan memori.

Unit pemroses utama (Central Processing Unit – CPU) adalah “otak” komputer, yang berfungsi mengerjakan operasi-operasi dasar seperti operasi perbandingan, operasi perhitungan, operasi membaca, dan operasi menulis. Memori adalah komponen yang berfungsi menyimpan atau mengingat ingat. Yang disimpan di dalam memori adalah program (berisi operasi-operasi yang akan dikerjakan oleh CPU) dan data atau informasi (sesuatu yang diolah oleh operasi-operasi).

Piranti masukan dan keluaran (I/O devices) adalah alat yang memasukkan data atau program ke dalam memori, dan alat yang digunakan komputer untuk mengkomunikasikan hasil-hasil aktivitasnya. Contoh piranti masukan antara lain, papan kunci (keyboard), pemindai (scanner), dan cakram (disk). Contoh piranti keluaran adalah, layar peraga (monitor), pencetak (printer), dan cakram. Mekanisme kerja keempat komponen di atas dapat dijelaskan sebagai berikut.

Mula-mula program dimasukkan ke dalam memori komputer. Ketika program dilaksanakan (execute), setiap instruksi yang telah tersimpan di dalam memori dikirim ke CPU. CPU mengerjakan operasi operasi yang bersesuaian dengan instruksi tersebut. Bila suatu operasi memerlukan data, data dibaca dari piranti masukan, disimpan di dalam memori lalu dikirim ke CPU untuk operasi yang memerlukannya tadi. Bila proses menghasilkan keluaran atau informasi, keluaran disimpan ke dalam memori, lalu memori menuliskan keluaran tadi ke piranti keluaran (misalnya dengan menampilkannya di layar monitor).



Contoh Algoritma

Algoritma merupakan suatu alur yang sistematis untuk memecahkan masalah, dengan salah satu bentuk penyajiannya menggunakan flowchart atau diagram. Algoritma ini, juga tidak hanya diterapkan pada pemrograman saja, akan tetapi di kehidupan sehari-hari pun secara sadar Anda menggunakan algoritma.

Contoh sederhana adalah ketika hendak memasak mie rebus, ada langkah-langkah yang harus Anda lakukan terlebih dahulu. Serta langkah itulah yang disebut dengan algoritma sederhana. Sebagai contoh lain, misalnya ada banyak permasalahan matematika yang mudah jika diselesaikan secara tertulis, tetapi akan menjadi cukup sulit jika kita terjemahkan ke dalam pemrograman. Dalam hal ini, algoritma dan logika pemrograman akan sangat penting dalam pemecahan masalah.

Algoritma untuk menghitung nilai y dari persamaan y = 3x + 8
Maka, Algoritmanya adalah:

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

Walaupun Algoritma bisa dibilang sebagai jantung, terutama jika terkait dalam ilmu komputer ataupun informatika (baca pengertian Informatika disini), tetapi jangan sampai beranggapan bahwa algoritma selalu identik dengan ilmu komputer saja.



Kesimpulan dan Penutup

Sesuai dengan penjelasan diatas bahwa algoritma adalah prosedur untuk menyelesaikan suatu masalah, baik itu dalam ilmu matematika, ilmu komputer, bahkan masalah kehidupan manusia sehari-hari. Algoritma mencakup perhitungan, penalaran, dan pemrosesan data yang dapat disajikan dalam bahasa alami, kode, diagram alur (flowchart), dan lain-lain. Serta dari contoh algoritma di atas kita dapat memahami bahwa suatu algoritma dapat diekspresikan dan dianalisis melalui diagram alur (flowchart).

Sebenarnya algoritma ini tidak hanya ada satu jenis melainkan terdapat tiga jenis algoritma. Tiga jenis algoritma tersebut yang pertama adalah sequence (urutan) adalah jenis algoritma ini ditandai dengan serangkaian langkah, dan setiap langkah akan dieksekusi satu demi satu. Kedua adalah percabangan, jenis algoritma ini diwakili oleh masalah “jika-maka”. Jika suatu kondisi benar, output akan menjadi A, jika kondisinya salah, output akan menjadi B.

Jenis algoritma ini juga dikenal sebagai “tipe seleksi”. Ketiga adalah loop, untuk tipe ini, proses mungkin berulang kali dieksekusi dalam kondisi tertentu. Ini diwakili oleh masalah “sementara” dan “untuk”. Namun pastikan prosesnya akan berakhir setelah sejumlah loop dalam kondisi tersebut. Tipe algoritma ini juga dikenal sebagai “tipe pengulangan”.

Komentar