Anda di halaman 1dari 20

DEFINISI & KONSTRUKSI DASAR

ALGORITMA

Hans F. Wowor
PENDAHULUAN
 Algoritma adalah inti (core) dari ilmu komputer.
 Banyak cabang ilmu komputer yang diacu dalam
terminologi algoritma.
 Algoritma merupakan blueprint dari program.
 Definisi blueprint menurut Oxford Dictionary adalah “detailed
description of a plan”, atau deskripsi yang mendetil mengenai
suatu rencana.
 Apa komentar Anda dengan dua gambar berikut?

1)

2)
DEFINISI

 Algoritma didefinisikan sebagai urutan langkah-


langkah (instruksi) penyelesaian suatu masalah yang
disusun secara logis dan sistematis.
 Kata logis dan sistematis merupakan kata kunci dalam
algoritma.
 Instruksi algoritma bebas (tidak ada bahasa baku)
 Kriteria suatu algoritma:
– Ada input dan output
– Efektif dan efisien
– Terstruktur
ALGORITMA DALAM KEHIDUPAN

 Algoritma sering digunakan dalam kehidupan sehari-


hari.
 Contohnya membuat makanan, dimana dalam resep
makanan terdapat langkah-langkah yang merupakan
algoritma bagaimana membuat makanan yang
dinginkan.
 Lihat gambar disamping?
CONTOH 1

Membuat mie instan:


1. Siapkan 1 bungkus mie instan, air 2 gelas, panci, mangkuk,
sendok dan garpu
2. Masukkan air ke dalam panci
3. Masak air di atas kompor dengan api sedang
4. Biarkan hingga air mendidih
5. Masukkan mie instan ke dalam air mendidih
6. Aduk perlahan hingga matang
7. Jika mie sudah matang masukkan bumbu
8. Aduk mie hingga bumbu merata
9. Tuangkan mie kedalam mangkuk
10. Sajikan
CONTOH 2
Mengganti ban mobil yang kempes?
Coba urutan langkahnya dikerjakan bersama!
CONTOH 3
Buatlah algoritma untuk menentukan apakah suatu sebuah bilangan
merupakan bilangan ganjil atau bilangan genap.
Keynya?
1. Masukkan sebuah bilangan sembarang
2. Hitung sisa hasil bagi bilangan sembarang tersebut dengan 2.
3. Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah
bilangan genap tetapi bila sisa hasil bagi tidak sama dengan 0 maka
bilangan itu adalah bilangan ganjil.
4. Selesai
Pertanyaan:
 Apakah algoritma di atas memberikan hasil yang diinginkan?
 Bagaimana algoritmanya bila bilangannya bukan hanya satu?
LATIHAN
 Diketahui pasangan bilangan A dan B sembarang.
Buatlah algoritma untuk menentukan mana
diantara kedua bilangan tersebut yang terbesar.
 Tugas 1:
 Kembangkan Algoritma dari Latihan di atas untuk 5
pasangan bilangan untuk mencari bilangan terbesar.
Asumsi tidak ada bilangan yang sama besar.

Dateline: besok malam Kamis, 10 Sept.’20 pkl.23.59 pm


via email: tugas015.psti@gmail.com dengan menuliskan
subjek.
TUJUAN DAN FUNGSI ALGORITMA
 Tujuan dari algoritma adalah untuk dapat
memecahkan suatu masalah.
 Fungsinya adalah:
 Membantu menyederhanakan suatu program yang
rumit dan besar.
 Memudahkan membuat sebuah program

 Membantu memecahkan suatu permasalahan dengan


logika secara sistematis.
 Meminimalisir penulisan program secara berulang-
ulang.
 Memudahkan membuat program yang lebih rapih dan
terstruktur sehingga lebih mudah dipahami dan
dikembangkan.
 Memudahkan proses modifikasi pada program karena
bisa dilakukan hanya pada satu modul tanpa harus
mengubah modul lainnya.
 Dapat membantu menemukan kesalahan logika karena
alur kerja yang jelas.
 Memudahkan proses dokumentasi.
KONSTRUKSI DASAR ALGORITMA
1. Struktur Sekuensial (Sequence)
Merupakan algoritma yang langkah-langkahnya secara
urut dari awal hingga akhir.
2. Struktur Percabangan/Bersyarat (Conditional)
Merupakan algoritma yang menjalankan langkah
berikutnya berdasarkan syarat dari suatu kondisi yang
diuji dapat dipenuhi.
3. Struktur Perulangan (Repetition/Looping)
Merupakan suatu algoritma yang menjalankan beberapa
langkah tertentu secara berulang-ulang atau looping.
 Algoritma Sekuensial
Sebuah runtunan terdiri atas satu atau lebih pernyataan/aksi
yang dikerjakan secara beruntun, berari bahwa:
1. Tiap instruksi dikerjakan satu per satu

2. Tiap instruksi dilaksanakan tepat satu kali, tidak ada


instruksi yang diulang.
3. Urutan instruksi yang dilaksanakan adalah sesuai dengan
urutan perintah dalam algoritma.
4. Akhir dari instruksi terakhir merupakan akhr algoritma.

(Lihat contoh 1 algoritma)


 Urutan instruksi menunjukkan urutan logika
penyelesian masalah.
 Urutan instruksi yang berbeda tidak selamanya
berpengaruh terhadap solusi persoalan, tergantung
pada masalahnya.
Contoh permasalahan: Menghitung hasil penjumlahan
dan perkalian 2 (dua) buah bilangan.
Buat algoritmanya kemudian coba dirubah-rubah
urutan instruksinya dan perhatikan hasilnya mana yang
tetap sama dan mana yang berbeda.
ALGORITMANYA

1. Siapkan bilangan A dan B


2. Hitung C=A+B
3. Hitung D=A*B
4. Tampilkan nilai C dan D
5. Selesai
 Algoritma Percabangan/Bersyarat (Conditional)
 Dikatakan algoritma bersyarat karena aksi yang akan
dikerjakan tergantung kondisi yang diuji.
 Urutan Aksi yang akan dieksekusi tergantung dari hasil
pengujian kondisi.
 Dengan adanya proses pengujian kondisi maka ada
proses pengambilan keputusan mana yang akan
dieksekusi selanjutnya.
 Pengambilan keputusan menggunakan operator
pembanding (>,<,>=,<=,<>) yg bisa dikombinasi dengan
operator Boolean(AND, OR atau NOT)
Contoh aplikasi, lihat CONTOH 3.
CONTOH APLIKASI
Buatlah algoritma untuk menentukan apakah suatu sebuah
bilangan merupakan bilangan ganjil atau bilangan genap.
1. Input A
2. Hitung B=mod(A/2)
3. Uji: Jika B=0 then tampilkan “A Bilangan Genap”else
tampilkan “A Bilangan Ganjil”
4. Selesai
 Algoritma Pengulangan (Looping)
 Salah satu kelebihan computer adalah mampu
mengerjakan pekerjaan yang sama berulang kali
tanpa mengenal lelah ataupun bosan.
 Dengan algoritma pengulangan memungkinkan
pemrogram membuat sebuah program yang lebih
efektif tanpa harus menulis instruksi yang sama
secara berulang.
Contoh : Membaca data penduduk sebuah propinsi atau
Kab/Kota yang jumlahnya relative banyak sekali
CONTOH DARI ALGORITMA SEBELUMNYA

1. Siapkan bilangan A dan B


2. Hitung C=A+B
3. Hitung D=A*B
4. Tampilkan nilai C dan D
5. Selesai

Jika pasangan bilangan di atas ada 10 Bagaimana


caranya?
IMPLEMENTASI ?
 Pertemuan berikutnya!

Anda mungkin juga menyukai