• Home
  • Berita
  • Mengenal Algoritma Pemrograman : Istilah Penting di Era Digital

Mengenal Algoritma Pemrograman : Istilah Penting di Era Digital

Oleh Mila Rosyida
No ratings yet.

Apa itu algoritma pemrograman? Algoritma pemrograman adalah susunan yang mengacu pada prosedur yang digunakan dalam suatu perhitungan atau pemecahan suatu masalah secara sistematis.

Algoritma pemrograman bersifat konseptual dan dapat dijelaskan menggunakan bahasa atau diagram alur.

Oleh karena itu kegiatan pemrograman algoritma disebut sebagai logika untuk menentukan bagaimana suatu tugas atau program akan dieksekusi untuk mendapatkan hasil yang diharapkan.

Selain itu, juga didefinisikan sebagai aturan terbatas yang disusun secara logis dan sistematis.

Algoritma pemrograman merupakan dasar pijakan yang harus kamu pahami dan ketahui pada tahap awal dari pembuatan sebuah program.

Meskipun algoritma pemrograman erat kaitannya dengan perhitungan matematis, namun faktanya algoritma pemrograman tidak selalu berisi perhitungan rumit seperti genetika algoritma yang sering dipakai untuk menyelesaikan kasus matematis. 

Kenali Algoritma Pemrograman Lebih Dalam

Penyajian algoritma pemrograman dapat dilakukan dengan menggunakan 2 cara yaitu dalam bentuk tulisan dengan menggunakan pseudocode dan dalam bentuk gambar seperti flowchart.

Tantangan yang biasanya menjadi kesulitan seorang pemrogram adalah mengimplementasikan algoritma yang sudah ditentukan menjadi code atau script yang tertata dan dapat berjalan sesuai dengan keinginan.

Terdapat tiga pertimbangan yang harus diperhatikan dalam memilih algoritma pemrograman.

Pertimbangan pertama yaitu seberapa baik hasil yang diperoleh dari algoritma tersebut dengan menggunakan indikator kedekatan antara hasil yang dibandingkan dengan nilai yang real.

Kemudian untuk pertimbangan kedua seberapa benar output yang dihasilkan algoritma, dalam kata lain output tersebut tidak salah.

Sebab sebaik apapun algoritmanya, jika salah maka tidak akan sesuai dengan yang diharapkan.

Terakhir untuk pertimbangan ketiga yaitu algoritma pemrograman yang digunakan harus efisien baik dari segi waktu maupun memori.

Jangan sampai hanya karena membuat satu program dapat menghabiskan waktu dan memori yang tersedia. 

Perbedaan Algoritma Pemrograman dengan Program

Sebelum membahas perbedaan antara algoritma pemrograman dengan program, sebaiknya kamu memahami tentang pengertian program terlebih dahulu.

Program adalah kumpulan instruksi yang ditulis untuk menjalankan tugas spesifik pada komputer.

Komputer memerlukan adanya program untuk menjalankan fungsinya sebagai komputer dengan mengeksekusi rangkaian instruksi tersebut pada prosesor.

Hingga saat ini sudah banyak bahasa pemrograman yang digunakan oleh seorang programmer untuk menuliskan program komputer.

Beberapa bahasa pemrograman yang populer diantaranya Java, Python, PHP, C++, Ruby, JavaScript, dan lain-lain. 

Berdasarkan penjelasan singkat mengenai program, dapat kita ketahui bahwa algoritma pemrograman bertugas memecahkan masalah sedangkan program melakukan implementasi dalam bentuk yang dapat dieksekusi oleh komputer.

Berikut merupakan beberapa perbedaan utama antara algoritma pemrograman dengan program :

algoritma pemrograman

Berdasarkan uraian beberapa perbedaan diatas, algoritma peomrograman ini merupakan alur kerja logis program. Sedangkan program sendiri adalah implementasi dari banyak algoritma.

Program dibuat dengan menggunakan bahasa pemrograman, sedangkan algoritma pemrograman merupakan tindakan dari yang dibuat.

Tidak hanya itu, algoritma pemrograman disusun oleh manusia sebagai pembuat alur logis. Berbeda dengan program, program juga dapat disbeut dengan produk, sehingga program yang telah dibuat dengan mengimplementasikan algoritma nantinya akan dijalankan dii komputer.

Tipe Algoritma Pemrograman

Ada banyak jenis algoritma pemrograman yang dapat kamu gunakan, beberapa diantaranya seperti berikut : 

Algoritma Brute Force 

Algoritma brute force merupakan salah satu algoritma yang paling sederhana untuk suatu masalah.

Algoritma ini melakukan iterasi kemungkinan solusi dalam mencari satu atau lebih penyelesaian suatu fungsi. Contoh algoritma ini Matching algorithm.

Algoritma Rekursif

Sesuai dengan namanya, algoritma rekursif berjalan secara rekursi atau berulang.

Dalam hal ini, masalah akan dipecah menjadi beberapa sub-bagian kemudian dijalankan fungsi yang sama berulang kali sampai masalah dapat terpecahkan.

Contohnya menghitung faktorial, deret fibonacci, menara hanoi, dan lain sebagainya.

Algoritma Backtracking

Algoritma backtracking akan berjalan menemukan solusi untuk masalah dengan memecahkan satu bagian masalah pada satu waktu.

Jika satu solusi gagal, backtracking akan menelusuri kembali ke titik kegagalan dan membangun solusi berikutnya kemudian melanjutkan proses hingga menemukan solusi yang cocok.

Salah satu contoh algoritma backtracking yaitu N Queens problem, Rat in maze problem, Hamiltonian cycle, M-coloring problem, dan lain sebagainya.   

Algoritma Searching

Algoritma searching adalah salah satu algoritma yang digunakan untuk mencari elemen atau kelompok elemen dari struktur data tertentu.

Algoritma ini dapat berbentuk berbagai tipe sesuai dengan pendekatan atau struktur data di mana elemen harus ditemukan.

Contoh algoritma searching yaitu linear search, binary search, sequential search, dan lain sebagainya.

Sumber : Elements Envato

 

Algoritma Sorting 

Algoritma sorting adalah algoritma yang melakukan penyusunan sekelompok data dengan berbagai cara sesuai dengan kebutuhan.

Biasanya algoritma sorting digunakan untuk mengurutkan kelompok data secara meningkat atau menurun.

Beberapa algoritma sorting diantaranya bubble sort, insertion sort, selection sort, dan lain sebagainya.

Algoritma Hashing  

Jenis algoritma hashing berjalan hampir mirip dengan algoritma pencarian. Tapi mereka berisi indeks dengan key ID.

Dalam hashing, key diberikan ke data tertentu yang spesifik. Algoritma hashing bertugas mengacaukan data dan membuatnya tidak dapat terbaca.

Selain itu algoritma ini diprogram satu arah, sehingga teks tidak dapat diacak dan dikodekan oleh orang lain.

Algoritma ini dikaitkan sebagai elemen penting dalam bidang kriptografi dan praktik keamanan.

Algoritma Divide and Conquer

Berdasarkan namanya, algoritma divide and conquer membagi masalah menjadi sub-masalah yang lebih kecil, memecahkan sub-masalah tersebut dan menggabungkan solusi bersama untuk mendapatkan solusi akhir.

Contoh algoritma nya yaitu Strassen’s matrix multiplication, merge sort, dan lain sebagainya.

Algoritma Greedy

Jenis algoritma ini digunakan untuk memecahkan masalah optimasi. Algoritma greedy membangun solusi part by part, yang berarti solusi dari bagian selanjutnya dibangun berdasarkan manfaat langsung dari bagian berikutnya.

Satu solusi yang memberikan manfaat paling banyak akan dipilih sebagai solusi untuk bagian selanjutnya.

Contoh algoritmanya yaitu Pohon Huffman, Dijkstra Shortest Path Algorithm, Prim’s Algorithm, Kruskal’s Algorithm, dan lain sebagainya.

Algoritma Dynamic Programming

Algoritma dynamic programming dianggap dapat mengurangi runtime dengan menampilkan sub-masalah yang tumpang tindih dan substruktur optimal.

Algoritma ini berjalan dengan menggunakan solusi yang sudah ditemukan untuk menghindari perhitungan berulang dari bagian masalah yang sama.

Contohnya algoritma knapsack, traveling salesman problem, flight planning, dan lain sebagainya

Algoritma Randomized

Pada algoritma randomized digunakan bilangan acak yang dapat memberikan manfaat langsung.

Nomor acak membantu dalam menentukan hasil yang diharapkan. Salah satu contoh algoritma randomized adalah quicksort.

Pada quicksort digunakan nomor acak untuk memilih pivot

Fungsi algoritma pemrograman

Pada dasarnya fungsi utama algoritma pemrograman adalah untuk memecahkan suatu masalah. Algoritma ini merupakan suatu hal yang penting dalam aktivitas membuat suatu program. Berikut fungsi algoritma pada pemrograman lainnya:

  • Algoritma pemrograman dapat mengatasi permasalahan rumit dalam suatu program yang kemungkinan juga melibatkan perhitungan tingkat tinggi. Penggunaan perhitungan seringkali membuat program tidak berjalan semestinya karena terdapat kesalahan. Hal ini dapat kamu minimalisir dengan menggunakan algoritma pemrograman. 
  • Fungsi algoritma pemrograman selanjutnya yaitu mampu menyederhanakan suatu program, dari program kompleks menjadi lebih sederhana, sehingga penggunaannya lebih efektif dan efisien. 
Sumber : Elements Envato
  • Penggunaan algoritma pemrograman bukan hanya sekali pakai, dengan kata lain dapat digunakan secara berulang-ulang. Sehingga kamu tidak perlu menulis program yang sama lagi. 
  • Pada pembuatan program tentunya kamu akan menemui beberapa error atau kesalahan, dengan menggunakan algoritma pemrograman dapat mempermudah pencarian kesalahan serta dapat memperbaikinya dalam waktu yang cepat. Hal ini dapat terjadi sebab penggunaan algoritma pemrograman membuat alur proses yang jelas dimana pembuatannya disusun secara lebih tertata dan tersusun rapi.

Cara kerja algoritma pemrograman

Berdasarkan pemaparan diatas, kita dapat mengetahui bahwa cara kerja algoritma pemrograman adalah mendeskripsikan dari sebuah proses untuk menyelesaikan masalah yang disusun secara rapi.

Secara sederhana cara kerja algoritma di pemrograman terbagi menjadi tiga proses, yaitu input, proses, dan output.

Pada mulanya program diinputkan atau dimasukkan ke dalam memori komputer.

Saat program tersebut dilaksanakan (execute), tiap instruksi yang telah tersimpan pada memori dikirim ke Central Processing Unit (CPU).

CPU bertugas untuk memproses operasi-operasi yang bersesuaian dengan instruksi.

Jika sebuah operasi membutuhkan data, maka data akan dibaca pada input device kemudian disimpan pada memori lalu dikirim ke CPU untuk operasi yang memerlukannya tasi.

Jika proses menghasilkan output, maka output tersebut akan disimpan ke dalam memori, lalu memori menuliskan output ke output device (misalnya output ditampilkan pada layar monitor).

Contoh algoritma pemrograman

Seperti penjelasan sebelumnya, algoritma pemrograman dapat disajikan menggunakan pseudocode, diagram alur, flowchart, dan lain sebagainya. 

Contoh nya adalah pada penentuan nilai siswa yang memenuhi syarat kriteria kelulusan.

Disediakan data berupa nama dan nilai siswa, dimana jika nilai siswa lebih besar atau sama dengan 75  maka siswa tersebut dinyatakan lulus, tetapi jika nilai siswa di bawah nilai 75  maka dinyatakan tidak lulus.

Sehingga bentuk algoritma pemrogramannya seperti berikut:

Baca Juga : Belajar Coding untuk Pemula, Cuma 10 Menit Mudah

Mila Rosyida

Halo ! I'm a Technical Content Specialist in DomaiNesia. I love learn anything about Technical, Data, Machine Learning, and more Technology.


Berlangganan Artikel

Dapatkan artikel, free ebook dan video
terbaru dari DomaiNesia

{{ errors.name }} {{ errors.email }}
Migrasi ke DomaiNesia

Pindah Ke DomaiNesia

Tertarik mendapatkan semua fitur layanan DomaiNesia? Dapatkan Diskon Migrasi 40% serta GRATIS biaya migrasi & setup

Ya, Migrasikan layanan Saya!

Hosting Murah