Anda di halaman 1dari 33

2

Algoritma dan
Pemrograman
Algoritma Pemrograman

 Apa definisi dari “Algoritma”?


Algoritma adalah urutan langkah-langkah penyelesaian
masalah yang disusun secara sistematis dan logis

Dalam kenyataannya, setiap orang bisa membuat algoritma


yang berbeda untuk menyelesaikan suatu permasalahan

Maka carilah algoritma yang paling efisien dan cepat


Algoritma vs Program

Program adalah kumpulan pernyataan komputer

Metode dan tahapan sistematis dalam program adalah


Algoritma

Program = Algoritma + Bahasa


Keuntungan Algoritma

Pembuatan atau penulisan algoritma tidak tergantung pada


bahasa pemrograman manapun

Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa


pemrograman.

Apapun bahasa pemrogramannya, output yang akan dikeluarkan


sama karena algoritmanya sama.
Ciri daripada Algoritma
• Algoritma harus berhenti setelah mengerjakan sejumlah langkah
terbatas.
• Algoritma memiliki nol atau lebih masukkan.
• Algoritma memiliki satu atau lebih keluaran.
• Algoritma harus efektif (setiap langkah harus sederhana
sehingga dapat dikerjakan dalam waktu yang relatif cepat).
Penyajian Algoritma

Menggunakan bahasa natural (Bahasa manusia:


Indonesia, Inggris)
Kelemahannya masih sering membingungkan (ambigu) / sulit dipahami.
Menggunakan Flowchart
Baik karena alur algoritma dapat dilihat secara visual, tetapi repot
pembuatannya jika algoritma panjang
Menggunakan Pseudocode
Sudah dekat dengan bahasa pemrograman, tetapi sulit dimengerti oleh orang
yang belum tahu pemrograman
Contoh Algoritma sederhana
• Misalkan terdapat dua buah gelas, gelas A dan gelas B.
• Gelas A berisi air berwarna merah dan gelas B berisi air
berwarna biru
• Kita ingin menukartan isi air kedua gelas tersebut, sehingga
gelas A berisi air berwarna biru dan gelas B berisi air berwarna
merah.
Bagaimana algoritmanya?
Keadaan awal
1. Tuangkan air dari gelas A ke gelas C
2. Tuangkan air dari gelas B ke gelas A
3. Tuangkan air dari gelas C ke gelas B
Keadaan akhir
Representasi Algoritma

• Flowchart

• Pseudocode
Flowchart
Jenis-jenis Flowchart

System Flowchart
Urutan proses dalam sistem dengan menunjukkan alat media
input, output, dan jenis media penyimpanan dalam proses
pengolahan data

Program Flowchart
Urutan instruksi penyelesaian persoalan yang digambarkan
dengan simbol tertentu
Flowchart system

Input Output File

Manual Input Arah proses

Proses

Urutan proses dalam sistem dengan


menunjukkan alat media input, output, dan
Magnetic disk jenis media penyimpanan dalam proses
pengolahan data
Contoh Flowchart system

Keyboard

CPU File

Magnetic
disk
Flowchart Program
Masih ingat cara bikin
“telur dadar”?
Algoritma membuat telur dadar

• Nyalakan api kompor


• Tuangkan minyak ke dalam wajan
• Pecahkan telur ayam ke dalam mangkok
• Tambahkan garam secukupnya
• Aduk campuran telur dan garam
• Tuang adonan telur ke dalam wajan
• Masak telur hingga matang
Algoritma membuat telur dadar

Bagaimana Flowchart-nya?
START

Flowchart membuat telur dadar.


Nyalakan api
kompor

Tuangkan minyak ke wajan

Pecahkan telur ke dalam


mangkok

Tambahkan garam

Aduk campuran telur dan garam

Tuang adonan telur dan garam ke


dalam wajan

Masak telur hingga matang

END
Kaidah umum pembuatan Flowchart

• Tidak ada rumus atau patokan yang bersifat


mutlak
• Dapat bervariasi antara satu pemrogram
dengan yang lainnya
• Setiap pengolahan selalu terdiri dari 3 bagian
utama :
• Input
• Proses pengolahan
• Output
Anjuran dalam pembuatan Flowchart

Hindari pengulangan proses yang tidak perlu


dan logika yang berbelit

Digambarkan dari atas ke bawah dan diberikan


tanda panah untuk memperjelas

Diawali dari satu titik START dan diakhiri


dengan END
Bagan Arus Logika Flowchart
Instruksi Tanpa Syarat
Instruksi Bersyarat
Instruksi Pengulangan
Contoh

 Buat algoritma untuk mencari rata-


rata dari 3 bilangan yang diinputkan
Algoritma dengan Bahasa
Indonesia
1. Baca bilangan a, b, dan c
2. Jumlahkan ketiga bilangan tersebut
3. Bagi jumlah tersebut dengan 3
4. Tulis hasilnya
Algoritma dengan
Flowchart
Latihan

 Buatlahalgoritma untuk menghitung luas


lingkaran dan keliling segitiga siku-siku.
 Buatlah flowchart dari algoritma pada soal
diatas.

Anda mungkin juga menyukai