Anda di halaman 1dari 22

Wawan Hartanto

Belajar Sendiri Algoritma dan


Pemrograman dari Nol

Awal dari Semuanya, Kamu


Harus Kenal Tokoh Ini...
Namanya: Abu Ja'far
Muhammad bin Musa Al-
Khawarizmi
Beliau adalah ilmuwan besar. Kalangan
ilmuwan Barat menyebut "Al-Khawarizmi"
sebagai "Algoritm". Nah, dari sinilah istilah algoritma itu
bermula!

Karyanya: Al Jabr w'la


Muqobala
Atau Rules of Restoration and Reduction, yang diterbitkan
pada 825 Masehi. Inilah yang membuatnya dijuluki sebagai
Bapak Aljabar Dunia.

Sekarang tentang Algoritma...


Apa Sesungguhnya
Algoritma?
Algoritma menunjukkan urutan langkah-langkah logis dan sistematis untuk
penyelesaian suatu permasalahan. "Logis" menjadi kata kunci disini. Algoritma
bisa digunakan untuk merepresentasikan urutan logis suatu kejadian dan
bisa diterapkan pada semua peristiwa sehari-hari.

Apa Ciri-Cirinya?
Algoritma itu memiliki ciri-ciri, antara lain:

 Memiliki masukan, proses, dan keluaran (IPO Model)

 Memiliki instruksi yang jelas, tidak rancu, dan tidak ambigu.


 Tepat dan pasti (definite).
 Tidak tak terhingga (memiliki stoppingcriteria).

Apa Syarat-Syaratnya?
Sedangkan syarat-syarat algorima adalah:

 Tidak bergantung kepada bahasa pemrograman tertentu


 Tidak memakai simbol dan sintaksis bahasa pemrograman tertentu.
Halaman 1 dari 22
 Notasinya bisa digunakan oleh semua bahasa pemrograman

Notasi Algoritma
Algoritma memiliki notasi yaitu rancangan penyelesaian masalah yang
disusun dengan cara penulisan khusus. Terdapat tiga macam notasi algoritma
yang lazim dipakai yaitu notasi deskriptif, flow-chart, dan pseudo-code.

Notasi Deskriptif

Dengan notasi ini langkah-langkah penyelesaian masalah dituliskan dengan


menggunakan kalimat-kalimat serta urutan-urutan yang jelas. Notasi
deskriptif cocok untuk algoritma yang pendek, namun untuk algoritma yang
panjang kurang cocok karena cenderung menyulitkan dalam mengubahnya ke
notasi bahasa pemrograman. Contoh notasi deskriptif:

1) Mulai
2) Panaskan minyak
3) Jika sudah panas, masukkan onde-onde
4) Tunggu hingga matang
5) Angkat dan tiriskan
6) Sajikan di piring
7) Selesai

Flowchart

Disini langkah-langkah penyelesaian masalah disusun dan disajikan secara


visual dalam bentuk gambar bagan dengan memakai elemen-elemen diagram
alir. Notasi jenis ini cocok untuk algoritma yang tidak begitu panjang, namun
masih mengandung kesulitan dalam mentransfernya ke notasi bahasa
pemrograman. Contoh notasi flowchart:

Halaman 2 dari 22
Pseudo-code

Disini perumusan langkah-langkah penyelesaian masalah mirip dengan notasi


bahasa pemrograman tingkat tinggi, sehingga notasi pseudo-code lebih mudah
ditransfer ke notasi bahasa pemrograman. Contoh notasi pseudo-code:

begin
input A
input B
if B<A then AA/B
else BB/A
end

Notasi contoh diatas kira-kita berbunyi, "Masukkan nilai A, lalu nilai B. Jika
nilai B lebih kecil daripada A maka bagilah nilai A dengan B, namun jika
sebaliknya maka bagilah B dengan A".

Sebaiknya Mempelajari Pemrograman


ataukah Bahasa Pemrograman?
Mempelajari pemrograman berarti belajar menyelesaikan persoalan serta
merumuskan algoritma dari persoalan tersebut, sedangkan mempelajari
bahasa pemrograman berarti belajar memakai suatu bahasa pemrograman
yang meliputi tata bahasa (sintax), kosakata (instruction) serta editornya.

Menguasai pemrograman akan menjadikan kita sebagai seorang system


analyst, sedangkan menguasai bahasa pemrograman akan menjadikan kita
sebagai seorang programmer. Seorang system analyst pada dasarnya juga
seorang programmer.

Halaman 3 dari 22
Dalam belajar pemrograman terdapat proses coding, yaitu proses penulisan
kode-kode sesuai dengan bahasa pemrograman yang digunakan. Intinya,
bahasa pemrograman yang dipakai boleh apa saja tetapi penekanannya bukan
pada bahasanya melainkan pada fungsinya sebagai alat bantu belajar
algoritma dan pemrograman.

Top-Down Design
Top-down design merupakan pemecahan masalah dengan cara memecahnya
menjadi beberapa bagian yang lebih sederhana (sub-masalah) dan memeriksa
hubungan antara sub-sub masalah tersebut guna dikembangkan menjadi
lebih rinci. Setiap sub masalah (disebut modul) harus memenuhi kriteria:

 Mengerjakan tugas spesifik.


 Tidak terlalu panjang.

Langkah-Langkah Masalah yang


Programmable
Masalah yang programmable artinya masalah itu dapat diterjemahkan ke
dalam bahasa pemrograman komputer dan dapat dieksekusi. Berikut langkah-
langkahnya:

1. Lakukan dekomposisi, yaitu menguraikan masalah utama


menjadi sub-sub masalah secara tepat.

2. Memeriksa setiap sub-masalah apakah dapat dipecahkan


secara tepat.

3. Menggabungkan pemecahan semua sub-masalah dengan cara


tertentu sehingga masalah utama terpecahkan.

4. Ulangi langkah (1) hingga (3) sehingga sub-masalah terbagi


menjadi sub-sub masalah paling sederhana dan dapat
diterjemahkan dalam bahasa pemrograman yang singkat.

Pemrograman
Pemrograman merupakan implementasi dari bahasa pemrograman dan
algoritma. Pemrograman meliputi tahap-tahap yang terdiri dari:

1. Pendefinisan masalah.
2. Pemilihan garis besar pemecahan.
3. Dekomposisi langkah (2).
4. Terjemahkan ke dalam bahasa pemrograman tertentu (coding).
5. Pengujian (debugging).

Kriteria Program yang


Baik
1. Benar, yaitu bebas dari kesalahan baik kesalahan sintaksis, logika, dan
runtime.
2. Jelas, baik dari sisi visual dan pemakaian.
3. Efisien, baik dari sisi cara pemecahan masalah, waktu eksekusi, dan
ruang penyimpanan.

Halaman 4 dari 22
Raptor (Rapid Algorithmic
Prototyping Tool for Ordering
Reason)

Alat Bantu Bikin Purwarupa


Algoritmik secara Cepat
Dengan RAPTOR kamu bisa bikin flowchart
dan mengeksekusinya!

Sebagai contoh, telah tersedia flowchart sederhana yang terdiri dari simbol
Start dan End. Klik tombol Run untuk mengeksekusinya.

Jalannya aliran eksekusi ditandai dengan warna hijau dari simbol ke simbol.

Sementara itu di jendela Console akan memperlihatkan ikhtisar kejadiannya.

Halaman 5 dari 22
----Run complete. 2 symbols evaluated--- Artinya, "Telah selesai
dijalankan dan 2 simbol dievaluasi".

Menambahkan Simbol
Perhatikan garis penghubung Start dan End, itulah garis alir.
Drag simbol Assignment ke garis alir.

Akan ada permintaan untuk menyimpan file terlebih


dahulu, klik OK.

Beri saja nama "Tes Aliran" untuk file baru


tersebut, lalu klik Save.

Memberikan Statemen
Halaman 6 dari 22
Sebagai contoh, kita akan berikan suatu pernyataan yang berbunyi,
"Masukkan nilai 5 ke dalam variabel bernama "Koin".

dobel-klik simbol Assigment pada diagram yang telah


dibuat. Masukkan "Koin" ke dalam kolom Set, dan nilai "5"
ke dalam kolom To, lalu klik Done.

Hasilnya terlihat seperti ini:

Tambahkan simbol Output pada garis alir


berikutnya.

Halaman 7 dari 22
Hasilnya:

Dobel-klik simbol Output untuk menambahkan statemen


yang berbunyi PUT "Jumlah koin: "+Koin. Setelah itu klik
Done.

Halaman 8 dari 22
Hasil flow chart:

Flow chart diatas jika ditulis menggunakan notasi Pseudo-


Code akan terlihat seperti berikut:

 begin
 Koin5
 Print "Jumlah koin: "+Koin
 end

Jika ditulis memakai notasi deskriptif:

1) mulai
2) masukkan nilai 5 ke dalam Koin
3) Tulis kalimat "Jumlah koin: "
4) Lanjutkan tulis nilai yang tersimpan di Koin
5) selesai

Klik tombol Run untuk mencoba mengeksekusinya.


Halaman 9 dari 22
Jendela Console akan melaporkannya seperti ini:

Bisakah Hasilkan Kode Program


dari Flow Chart?
File Bahasa Pemrograman C++ (.cpp)

Tentu saja Raptor bisa melakukannya. Sebagai contoh, dari


flow chart akan dibuat kode programnya dalam bahasa
pemrograman C++.

Pilih C++ dari menu Generate.

Di folder My Documents akan terbentuk file Tes Aliran.cpp


(ekstensi .cpp menunjukkan bahwa itu adalah file C++). Kamu
bisa gunakan kode editor yang kamu miliki, misalnya Visual
Studio Code untuk membukannya.

Halaman 10 dari 22
Kode programnya terlihat seperti ini:

Lihatlah baris yang berbunyi ?? koin itu berarti mendefinisikan sebuah


variabel bernama koin. Pendefinisian variabel membutuhkan penetapan
jenis data pula, misalnya pada kode diatas adalahint (bilangan
bulat/integer).

File Standalone (.exe)

File standalone itu berdiri sendiri. Jadi, tidak membutuhkan


aplikasi pemrograman apapun untuk menjalankannya.

Hasilnya berupa file berekstensi .exe yang bisa langsung dijalankan.


Temukan folder "Tes Aliran_exe" dan bukalah!

Halaman 11 dari 22
Dobel-klik file Tes Aliran_rap.exeuntuk mengeksekusinya.

Hasil eksekusi:

Loop
Loop itu perulangan yang dilakukan terus-menerus selama suatu kondisi yang
disyaratkan belum terpenuhi. Begitu syarat terpenuhi, maka selesailah
perulangan itu.

Contoh Kasus 1:

Pada mata pelajaran Informatika, untuk bisa dinyatakan lulus


seorang siswa harus bisa memperoleh nilai ujian sekurang-
kurangnya 70. Buatlah flow chart dari kasus tersebut!

Penyelesaian:
Halaman 12 dari 22
 Siapkan flow chart sebagai berikut:

 Tambahkan pernyataan (statement) pada Input.

Halaman 13 dari 22
 Tambahkan pernyataan (statement) pada Loop.

Halaman 14 dari 22
 Lakukan eksekusi (run) terhadap flow chart

 Cobalah masukkan suatu nilai, lalu OK.

Selection
Selection itu pemilihan suatu kondisi. Jika kondisi terpenuhi harus
bagaimana, dan jika kondisi tidak terpenuhi harus bagaimana.

Contoh Kasus 2:

Pada mata pelajaran Informatika, seorang yang berhasil mencapai


sekurang-kurangnya 70 maka Ia akan mendapatkan predikat
"Lulus", sedangkan jika kurang dari itu maka mendapatkan
predikat "Gagal". Buatlah flow chart dari kasus tersebut!

Halaman 15 dari 22
Penyelesaian:

 Siapkan flow chart sebagai berikut:

 Tambahkan pernyataan (statement) pada Input.

Halaman 16 dari 22
 Tambahkan pernyataan (statement) pada Selection.

Halaman 17 dari 22
 Tambahkan pernyataan (statement) pada Output jika kondisi
terpenuhi.

Halaman 18 dari 22
 Tambahkan pernyataan (statement) pada Output jika kondisi
tidak terpenuhi.

Halaman 19 dari 22
 Lakukan eksekusi (run) terhadap flow chart.

 Berikan nilai 64, lalu OK.

Halaman 20 dari 22
 Eksekusi (run) lagi dengan memberikan nilai 76.

Halaman 21 dari 22
Case Study

Halaman 22 dari 22

Anda mungkin juga menyukai