Anda di halaman 1dari 28

Algoritma Pemrograman

Bayu firmanto,S.ST,M.T
Outline
Konsep Algoritma
Konsep Pemrograman
Penyajian Algoritma
◦ Flowchart
◦ Pseudo-code
Konsep Dasar
Algoritma merupakan fondasi yang harus
dikuasai oleh setiap mahasiswa yang ingin
menyelesaiakan sebuah permasalahan
logika secara terstruktur, efektif dan
efisien yaitu yang ingin menyusun
program computer untuk menyelesaikan
suatu persoalan.
Definisi Algoritma
Algoritma adalah penyusunan langkah-langkah
penyelesaian masalah dalam bentuk kalimat
dengan jumlah kata terbatas tetapi tersusun secara
logis dan matematis.
Algoritma adalah suatu prosedur yang jelas untuk
menyelesaikan suatu persoalan dengan
menggunakan langkah-langkah tertentu dan
terbatas jumlahnya.
Algoritma adalah susunan langkah yang pasti,
yang bila diikuti maka akan mentransformasi data
input menjadi output yang berupa informasi.
Sejarah Algoritma
Sejarah mencatat bahwa algoritma berasal dari
sebuah kata al-khawarizmi yang berasal dari
seorang muslim yang bernama lengkap Abu Ja’far
Muhammad Ibnu Musa Al-Kwarizmi,
Beliau merupakan ahli matematika dan astronomi
dari Persia, dan juga merupakan penulis buku
“Aljabar wal Muqobala”.
Beliau dianggap sebagai pencetus pertama
algoritma karena di dalam buku tersebut Abu Ja’far
menjelaskan langkah-langkah dalam menyelesaikan
berbagai persoalan arirmatika (aljabar).
Ciri-ciri Algoritma
Menurut Donald E. Knuth penulis buku algoritma abad XX,
menyatakan ada beberapa ciri algoritma yaitu :
Algoritma mempunyai awal dan akhir, suatu algoritma harus
berhenti setelah mengerjakan serangkaian tugas. Dengan
kata lain, suatu algoritma memiliki langkah yang terbatas.
Setiap langkah harus didefinisikan dengan tepat, sehingga
tidak memiliki arti ganda, tidak membingungkan (not
ambiguous)
Memiliki masukan (input) atau kondisi awal
Memiliki keluaran (output) atau kondisi akhir
Algoritma harus efektif, bila diikuti benar-benar maka akan
menyelesaikan masalah.
Definisi Pemrograman
Pemrograman adalah aktifitas yang
berhubungan dengan pembuatan program
dengan mengikuti kaidah bahasa
pemrograman tertentu.
Terdapat sejumlah bahasa pemrograman
seperti Pascal, C, C++, C#, dan BASIC.
Bahasa Pemrograman Tingkat Tinggi
(High-level Language)
Adalah bahasa pemrograman yang
berorientasi kepada bahasa manusia.
Program yang dibuat dengan menggunakan
bahasa pemrograman yang mudah dipahami
oleh manusia, biasanya menggunakan
bahasa inggris, misalnya If, For, While, dll.
Contoh bahasa pemrograman tingkat tinggi
adalah : C, C#, BASIC, PHP, VB, VB.NET,
JAVA, dll.
Bahasa Pemrograman Tingkat Rendah
(Low-level Language)
Adalah bahasa pemrograman yang
berorientasi kepada mesin.
Bahasa ini hanya menggunakan kode
biner ( hanya mengenal bilangan 0 dan 1 )
atau suatu kode sederhana untuk
menggantikan kode-kode tertentu dalam
system biner.
Contoh : Assembler
Langkah-langkah Pemrograman
Menganalisis masalah
◦ Mengidentifikasi informasi yang menjadi keluaran
pemecahan masalah dan data-data yang menjadi masukan.
◦ Kerangka pemecahan masalah = Masukan  Algoritma  Keluaran
Membuat algoritma
◦ Menuangkan ide dari pengidentifikasian masalah ke
dalam bentuk algoritma baik dengan menggunakan
Flowchart atau PseudoCode
Menuangkan algortima ke dalam bentuk program.
◦ Proses membuat kode menggunakan bahasa pemrograman
Mengeksekusi dan menguji program (implementasi)
Contoh Algoritma (1)
Memasak mie instant
1. Memanaskan air
2. Membuka pembungkus mie instant
3. Memasukkan mie ke dalam air
4. Taruh bumbu di piring
5. Angkat mie jika sudah masak
6. Campurkan dengan bumbu yang sudah ada
di piring dengan mie
7. Makan :D
Contoh Algoritma (2)
Menelepon
1. Angkat gagang telepon
2. Tekan nomor teleponnya:
3. Jika diangkat:
1. Mulai berbicara
2. Go to 5
4. Jika tidak diangkat:
1. Go to 5
5. Tutup gagang teleponnya
6. Selesai
Contoh Algoritma (3)
Tukar isi bejana
◦ Ada dua bejana yaitu bejana A, B. Bejana A berisi
tinta berwarna merah, bejana B berisi tinta
berwarna biru.
◦ Pertanyaannya adalah :
 Bagaimana caranya agar bejana A dapat terisi dengan tinta
berwarna biru dari bejana B, dan bejana B terisi dengan
tinta berwarna merah dari bejana A ?
◦ Penyelesaian :
 Untuk memindahkan isi dari bejana A ke bejana B maka
dibutuhkan satu lagi bejana kosong, misalnya adalah
bejana C
Contoh Algoritma (3)
Tukar isi bejana
Contoh Algoritma (3)
Tukar isi bejana
Penjelasan:
1. Isi bejana C (asalnya kosong) dari bejana A (Tinta
Merah)
2. Isi bejana A (yang sudah kosong) dari bejana B
(Tinta Biru)
3. Isi bejana B (yang sudah kosong) dari bejana C
(Tinta Merah)
4. Jadi bejana A berisi tinta Biru, bejana B berisi tinta
Merah dan bejana C tetep kosong.
Penyajian Algoritma
Algoritma biasanya disajikan dalam dua
bentuk:
◦ Menggunakan Flowchart (diagram alir)
◦ Menggunakan Pseudo-code
Flowchart
Menggambarkan secara keseluruhan
urutan proses/logika persoalan yang akan
diselesaikan
Simbol-simbol Flowchart (1)
Simbol-simbol Flowchart (2)
Contoh Algoritma dengan Flowchart (1)
 Buatlah diagram alir
untuk menghitung
Luas Persegi Panjang,
dimana nilai panjang
dan lebarnya sudah
diketahui. Yaitu
panjang = 10, dan 
lebar = 5
Contoh Algoritma dengan Flowchart (2)
 Buatlah diagram alir
untuk menuliskan
bilangan 1 sampai 10.
Contoh Algoritma dengan Flowchart (3)
 Buatlah diagram
alir untuk mencetak
bilangan ganjil dari
angka 1 sampai 10.
Pseudo-code
Adalah langkah-langkah yang digunakan
untuk menyelesakain proses algoritma
yang masing-masing dijelaskan dengan
algoritma yang lebih kecil dan lebih
sederhana dari proses secara keseluruhan.
Langkah-langkah dalam penyusunan ini
lebih pada pendekatan kepada bahasa
keseharian manusia.
Pedoman Pembuatan Pseudo-code
 Langkah-langkah dalam penyusunan algoritma ditulis secara berurutan dan bila perlu
diberi nomor urut.
 Notasi  digunakan untuk memberikan nilai ke suatu variable. Contoh : bil  0 
artinya adalah memberikan nilai 0 pada variable bil.
 Setiap pernyataan atau perintah yang dapat berdiri sendiri akan ditulis dalam sebuah
bari tersendiri. Contoh : bil   1 + 2  artinya adalah menugaskan atau memasukkan
hasil penjumlaha 1 dan 2 ke dalam variable bil.
 Notasi masukkan() dan tampilkan() secara berurutan mewakili perintah untuk
memperoleh masukan dan menyajikan keluaran. Contoh : Masukkan (panjang, lebar)
Tampilkan (luas)
 Untuk menyatakan notasi larik (array) berdimensi satu maka penulisannya adalah
A[i] dimana i merupakan nilai index. Sedangkan untuk larik berdimensi dua
penulisannya adalah A[i, j] atau A[i][j] dengan index i sebagai baris dan j sebagai
kolom.
 Indentasi atau penjorokan ke kanan digunakan untuk menuliskan pernyataan-
pernyataan yang berada dalam suatu struktur blok.
Contoh Pseudo-code (1)
 Buatlah pseudocode untuk menghitung Luas Persegi Panjang, dimana nilai
panjang dan lebarnya sudah diketahui. Yaitu panjang = 10, dan  lebar = 5

1. panjang  10
2. lebar    5
3. Luas  panjang * lebar
4. Tampilkan (Luas)
 
Contoh Pseudo-code (2)
 Buatlah pseudocode untuk menuliskan bilangan 1 sampai 10

1. x  1
2. ULANG SELAMA x <= 10
Tampilkan (x)
x   x + 1
AKHIR-ULANG
Contoh Pseudo-code (3)
 Buatlah pseudocode untuk mencetak bilangan ganjil dari angka 1 sampai
10.

1. x   1
2. ULANG SELAMA x<=10
JIKA x % 2 tidak sama dengan 0 MAKA
Tampilkan(x)
AKHIR-JIKA

x   x + 1
AKHIR-ULANG
Latihan
1. Buatlah flowchart untuk menelepon di telepon umum
2. Buatlah flowchart untuk meminum air mineral dari
dispenser
3. Buatlah flowchart untuk menampilkan bilangan genap
dari 1 – 10
4. Buatlah flowchart untuk menghitung luas persegi
panjang
5. Buatlah pseudo-code dari soal nomor 1 s/d 4
6. Apa perbedaan antara program dan bahasa
pemrograman?
7. Apa perbedaan antara algoritma dan program?
8. Apakah yang dimaksud dengan algoritma?

Anda mungkin juga menyukai