Secara sederhana, algoritma pemrograman merupakan sebuah cara berpikir secara logika dalam bentuk tahapan-tahapan yang sistematis untuk menyelesaikan masalah pada pemrograman komputer.
Istilah tunggal algoritma sangat erat kaitannya dengan matematika dan informatika (ilmu komputer). Algoritma secara khusus dirancang secara sistematis untuk menyelesaikan masalah atau tugas tertentu. Sementara istilah algoritma pemrograman adalah dasar sebuah program di dalam komputer berupa langkah-langkah yang secara sistematis juga bisa menyelesaikan masalah.
Algoritma memang dirancang secara sistematis dan logis supaya mudah diikuti maupun diimplementasikan oleh komputer ataupun sistem pemrosesan sebuah data lainnya. Dalam artian sederhana, algoritma pemrograman dasar logika dalam pembuatan program komputer supaya bisa berjalan sesuai perintah.
Dalam kehidupan sehari-hari, pemrograman sering digunakan dalam berbagai bidang. Diantaranya matematika, komputasi dan ilmu data. Baik itu untuk memecahkan masalah yang sederhana maupun masalah yang bersifat kompleks.
Algoritma adalah aspek paling penting saat developer membuat program dengan menggunakan bahasa pemrograman apapun. Pasalnya, hasil akhir dari program yang dibuat tersebut tergantung dari algoritma yang telah ditulis.
Seperti yang sudah disinggung sebelumnya, algoritma ini bertujuan untuk membantu memecahkan masalah secara lebih sistematis dan terstruktur, sehingga solusi dapat ditemukan dengan mudah. Untuk fungsi utama dari algoritma sendiri adalah membantu para programmer dalam merancang maupun menulis kode secara efektif, efisien dan bisa dipahami dengan mudah.
Selain yang sudah disebutkan di atas, berikut adalah beberapa fungsi lain dari algoritma pemrograman yang wajib kamu ketahui.
Menyederhanakan program yang rumit dan besar menjadi lebih sederhana, sehingga penggunaannya bisa lebih efektif dan efisien.
Memudahkan untuk cepat menemukan kesalahan dalam program saat terjadi eror dan bisa segera diatasi segera karena alurnya yang jelas dan runtut.
Proses modifikas menjadi lebih mudah karena tidak perlu merubah seluruh modul, namun cukup mengubah modul yang berkaitan saja.
Membantu menyelesaikan permasalahan yang kompleks pada programs serta meminimalisir kesalahan penghitungan matematis tingkat tinggi.
Script yang telah dibuat secara urut dan sistematis membuat proses pengembangan menjadi lebih mudah.
Bisa digunakan berulang kali dan tidak perlu repot menuliskan kembali program yang sama, sehingga lebih memudahkan dalam membuat program.
Ada dua pendekatan yang digunakan dalam algoritma pemrograman untuk memudahkan proses pembuatan program, yaitu top down dan divide & conquer.
Terdapat tiga aspek utama di dalam pemrograman, yaitu ada input, proses dan output. Saat pengguna memasukkan data (perintah), maka komputer akan melakukan analisa dan mengeksekusinya sesuai dengan alur algoritma agar output yang dihasilkan bisa sesuai dengan harapan.
Sebagai contoh sederhana, saat kamu melakukan pencarian di mesin Google, langkah logika dari algoritma google adalah sebagai berikut. Menulis query pencarian – sistem memproses perintah yang kamu tulis – sistem menampilkan hasil pencarian yang paling relevan dengan perintah yang kamu masukkan tersebut.
Pada praktiknya, konstruksi pada algoritma pemrograman ini terdiri dari tiga macam. Berikut adalah penjelasan lengkapnya:
Algoritma Percabangan (Conditional)
Konstruksi logaritma ini menjalankan keputusan dengan berdasarkan pada kondisi tertentu dengan dua ataupun lebih percabangan. Contohnya, jika nilai ujian mencapai lebih dari 75, maka hasilnya adalah lulus.
Algoritma Sekuensial (Linear Sequence)
Konstruksi ini merupakan algoritma dengan prosedur yang berjalan pada satu proses menuju proses selanjutnya hingga mencapai hasil akhir. Misalnya, merebus ketela mentah hingga matang.
Algoritma Pengulangan (Looping)
Ini merupakan konstruksi algoritma dengan menjalankan urutan perintah yang berulang-ulang sampai beberapa kali. Misalnya, menampilkan bilangan kelipatan 5 mulai dari angka 0 hingga 100.
Dalam algoritma, terdapat dua persamaan yang umum digunakan. Yaitu yang pertama persamaan linear dan yang kedua ada persamaan matriks. Persamaan linear adalah salah satu metode yang paling banyak dijumpai di sejumlah disiplin ilmu, seperti fisika, matematika, statistika, teknik, bisnis dan sebagainya.
Sementara persamaan matriks adalah konsep matematika yang di dalamnya melibatkan matriks. Matriks sendiri merupakan susunan sejumlah elemen dalam baris atau kolom. Matriks juga bisa dioperasikan melalui penjumlahan, pengurangan dan perkalian.
Dalam menyusun algoritma pemrograman terdapat dua cara yang bisa dilakukan, yaitu dengan menggunakan flowchart dan pseudocode. Berikut adalah penjelasan selengkapnya:
Flowchart merupakan diagram yang di dalamnya menampilkan proses dan langkah dalam pengambilan keputusan di dalam sebuah program. Tujuannya adalah menyederhanakan rangkaian dari prosedur sehingga bisa mengurangi risiko kesalahan tafsir.
Selain sederhana, keuntungan lain yang bisa didapat dari flowchart ini adalah lebih mudah dimengerti karena menampilkan algoritma secara visual. Dengan begitu kesalahan bisa ditemukan dengan mudah dan keakuratannya juga dianggap lebih terperinci.
Pseudocode merupakan cara penulisan program informal sesuai kaidah sendiri, ketimbang menggunakan aturan dari bahasa pemrograman yang sudah ditetapkan. Tujuannya adalah agar alur logika yang sudah ditulis bisa dipahami dengan mudah oleh manusia.
Sesuai dengan namanya, pseudocode berarti palsu atau bukan yang sebenarnya, sehingga pseudocode berarti hanya berisi hasil fundamental dari sebuah kode. Kegunaannya biasanya untuk menulis representasi algoritma secara cepat.
Bahasa C++ adalah bahasa yang dapat digunakan untuk membuat aplikasi berkinerja tinggi. Bahasa C++ dikembangkan oleh Bjarne Strostrup, sebagai pengembangan dari bahasa C. Bahasa C++ memberikan programmer kemampuan tinggi dalam mengendalikan sistem dan memori. Bahasa C++ telah diperbarui tiga kali yaitu pada tahun 2011, 2014 dan 2017 dengan nama C++11, C++14 dan C++17.
C++ adalah salah satu dari bahasa pemrograman yang paling popular di dunia. C++ dapat ditemukan pada sistem operasi saat ini, sistem antar muka dan sistem embedded. C++ portabel dan dapat digunakan untuk pengembangan aplikasi yang dapat diadaptasi oleh semua platform. C++ merupakan bahasa pemrograman yang menyenangkan dan mudah untuk dipelajari.
Untuk memulai menggunakan C++, ada dua hal yang diperlukan yaitu:
Sebuah teks editor (Editor) seperti notepad untuk menulis kode C++
Sebuah kompiler (Compiler) seperti GCC untuk menerjemahkan kode C++ ke bahasa yang dipahami oleh komputer (Bahasa Mesin) Ada banyak teks editor dan kompiler salah satunya yaitu menggunakan Integrated Development Environment (IDE).
Untuk mempelajari Pemrograman C++ kali ini Kita akan menggunakan IDE Dev C++ yang bisa kita download secara gratis di website https://www.bloodshed.net/
Untuk memulai Pemrograman C++ menggunakan IDE Dev-C++, pilih menu File - New - Source File , sehingga akan ditampilkan inteface pada gambar dibawah ini
1 #include <iostream>
2 using namespace std;
3 int main(){
4 cout <<"Halo SMAN1K";
5 return 0;
6 }
Setelah mengetik kode program diatas, simpan dengan nama file Latihan-1, dari menu File-Save, lanjutkan dengan melakukan Compail program dengan menekan menu Execute-Compile(f9), untuk menjalankan program lakukan menu Execute-Run(10).
Jika tidak terjadi error maka program akan menghasilkan keluaran Halo SMAN1K
Penjelasan Program
#include <iostream> adalah library atau pustaka yang mengizinkan bekerja dengan perintah input dan output, seperti perintah cout pada baris lima.
using namespace std berarti dapat menggunakan nama untuk objek dan variabel dari pustaka standar.
int main() adalah fungsi yang selalu muncul pada program C++. Fungsi tersebut dinamakan dengan program utama. Program dalam tanda { } akan dieksekusi.
cout dapat dibaca dengan kata “see-out” adalah objek yang digunakan bersama dengan operator (<<) untuk mengeluarkan atau mencetak tulisan (teks). Pada contoh tersebut akan mengeluarkan tulisan "Halo SMAN1K". Catatan: Setiap baris program pada C++ diakhiri dengan titik koma (;).
return 0 berfungsi untuk mengakhiri fungsi utama. Baris 7: Jangan lupa untuk menambahkan kurung kurawal penutup } untuk mengakhiri fungsi program utama.
Pada program C++ terkadang ditemui program tanpa library namespace standar. Perintah using namespace std dapat diganti dengan kata std diikuti dengan operator :: seperti pada program berikut.
1 #include <iostream>
2 int main(){
3 std::cout <<"Halo SMAN1K";
4 return 0;
5 }
Untuk menambahkan baris baru, dapat digunakan karakter \n atau degan perintah manipulasi endl
Contoh-1 :
1 #include <iostream>
2 using namespace std;
3 int main(){
4 cout <<"Halo SMAN1K \n";
5 cout <<"Selamat Belajar C++ \n";
7 return 0;
8 }
Contoh-2 :
1 #include <iostream>
2 using namespace std;
3 int main(){
4 cout <<"Halo SMAN1K" <<endl;
5 cout <<"Selamat Belajar C++" <<endl;
7 return 0;
8 }
Komentar dapat digunakan untuk menjelaskan kode C++ dan untuk membuat kode lebih mudah dipahami. Komentar juga dapat digunakan untuk menghindari eksekusi kode program yang diuji coba. Komentar dapat berupa komentar baris tunggal maupun komentar multi baris.
Komentar baris tunggal (//)
Tulisan antara tanda // dan akhir baris akan dihiraukan oleh kompiler (tidak akan dieksekusi).
Contoh:
1 #include <iostream>
2 using namespace std;
3 int main(){
4 //Ini adalah komentar program
5 cout <<"Halo SMAN1K";
6 return 0;
7 }
Komentar Multi Baris (/*…*/)
Komentar multi baris dimulai dengan tanda /* dan diakhiri dengan tanda */. Tulisan dan teks apapun antara tanda /* dan */ akan dihiraukan oleh kompiler.
Contoh:
1 #include <iostream>
2 using namespace std;
3 int main(){
4 /* Kode berikut akan menampilkan tulisan Halo
5 SMAN1K pada layar cmd/ Terminal */
6 cout <<"Halo SMAN1K";
7 return 0;
8 }
Algoritma adalah urutan atau langkah-langkah untuk perhitungan atau menyelesaikan masalah yang ditulis secara berurutan. Algoritma pemrograman adalah urutan atau langkah-langkah untuk menyelesaikan masalah pemrograman komputer Dalam pemrograman hal yang terpenting untuk dipahami adalah logika dalam berpikir bagaimana cara memecahkan dan menyelesaikan masalah pemrograman yang akan dibuat.
Algoritma dapat dituliskan dalam bentuk teks maupun gambar. Beberapa bentuk algoritma adalah tulisan bebas, pseudocode dan diagrm alir.
Soal 1
Bagaimana cara mendapatkan air dengan volume 4 liter dari gelas dengan ukuran 2 liter, 3 liter dan 5 liter? Sebutkan 2 cara!
Jawab:
Ada dua cara Masukkan 2 liter air pada gelas 5 liter sebanyak dua kali sehingga diperoleh air dengan volume 4 liter Masukkan air ke dalam gelas 5 liter dan 2 liter sampai penuh. Tuang air di dalam gelas 5 liter ke gelas 3 liter sehingga menyisakan air 2 liter. Tuang air dalam gelas 2 liter ke gelas tersebut.
Soal 2
Bagaimana cara mendapatkan air dengan volume 4 liter dari gelas dengan ukuran 3 liter dan 5 liter?
Soal 3
Diketahui sebuah program sebagai berikut:
x=1;
y=2;
x=y;
z=x;
Berapa nilai z?
Soal 4
Diketahui sebuah program sebagai berikut:
x=1;
x++;
x=x+1;
x+=1
Berapa nilai x?
Soal 5
Diketahui sebuah program sebagai berikut :
x=5;
x--;
x=x*2;
x-=1
Berapa nilai x?
Soal 6
Diketahui sebuah program sebagai berikut:
x=1;
y=2;
z=x+y;
z=3;
x=y+z;
y=x+y+z;
Berapa nilai x, y dan z?
Contoh 1:
program hitung_luas_persegi_panjang
Deklarasi:
var panjang, lebar, luas: integer;
Algoritma:
input(panjang);
input(lebar);
luas <-- panjang * lebar;
print(luas);
Contoh 2:
program hitung_luas_lingkaran
Deklarasi:
var phi: float;
var r, luas: integer;
Algoritma:
phi <-- 3.14;
input(r); {diinput user}
luas <-- phi * r *r;
output(luas);
Contoh 3:
program_ganjil_genap
Input bilangan
If bilangan mod 2 = 0 then,
“Output Genap”
Else
“Output Ganjil”
End if
Bentuk blok diagram alir ditunjukkan pada tabel berikut :
Contoh Diagram Alir untuk menghitung dan menampilkan luas persegi panjang.