Anda di halaman 1dari 18

DASAR-DASAR

ALGORITMA

Materi 1 Algoritma & Struktur Data


Bahasan
 Penggunaan Logika dalam
Pemrograman
 Representasi Algoritma
 Flowchart
Algoritma
 Algoritma adalah urutan langkah
berhingga untuk memecahkan
masalah logika atau matematika
(Microsoft Book)
 Algoritma adalah urutan langkah-
langkah logis penyelesaian masalah
yang disusun secara sistematis
Contoh Algoritma
 Diberikan dua buah bejana A dan B. A berisi
larutan berwarna Merah dan B berisi larutan
berwarna Biru. Tukarkan isi kedua bejana
sedemikian sehingga A berisi larutan berwarna
Biru dan B berisi larutan berwarna Merah
 Langkah / algoritma :
– Tuangkan larutan dari bejana A ke bejana C
– Tuangkan larutan dari bejana B ke bejana A
– Tuangkan larutan dari bejana C ke bejana B
Contoh Algoritma
 Memasak.
 Jika seseorang ingin mengirim surat kepada kenalannya
di tempat lain, langkah yang harus dilakukan adalah:
– Menulis surat
– Surat dimasukkan ke dalam amplop tertutup
– Amplop ditempeli perangko secukupnya.
– Pergi ke Kantor Pos terdekat untuk mengirimkannya
 Dalam bidang komputer, algoritma sangat diperlukan
dalam menyelesaikan berbagai masalah pemrograman,
terutama dalam komputasi numeris.
 Tanpa algoritma yang dirancang baik maka proses
pemrograman akan menjadi salah, rusak, atau lambat
dan tidak efisien
Struktur Kendali
Representasi Algoritma
 Dalam bahasa natural (Bahasa Indonesia,
Bahasa Inggris, dan bahasa manusia lainnya)
– Tapi sering membingungkan (ambiguous)
 Menggunakan flow chart (diagram alir)
– Bagus secara visual akan tetapi repot kalau
algoritmanya panjang
 Menggunakan pseudo-code
– Sudah lebih dekat ke bahasa pemrograman, namun
sulit dimengerti oleh orang yang tidak mengerti
pemrograman
Algoritma Dalam Bahasa Natural
1. Ambil bilangan pertama dan set maks sama
dengan bilangan pertama
2. Ambil bilangan kedua dan bandingkan dengan
maks
3. Apa bila bilangan kedua lebih besar dari maks, set
maks sama dengan bilangan kedua
4. Ambil blangan ketiga dan bandingan dengan maks
5. Apabila bilangan ketiga lebih besar dari maks, set
maks sama dengan bilangan ketiga
6. Variabel maks berisi bilangan terbesar. Tayangkan
hasilnya
Algoritma dengan Flowchart
Mulai

Maks = bilangan pertama

Maks <
Ya Maks = bilangan kedua
bilangan kedua

Tidak

Maks <
Ya Maks = bilangan ketiga
bilangan ketiga

Tidak

Selesai
Algoritma dengan pseudocode

maks ← bilangan pertama


if (maks < bilangan kedua)
maks ← bilangan kedua
if (maks < bilangan ketiga)
maks ← bilangan ketiga
Pseudocode
Konsep Algoritma
 Analisis masalah
 Merancang algoritma
 Membuat program komputer
 Menguji hasil program komputer
 Dokumentasi
Pendataan Korban Bencana Gempa
di Sumatra Barat
 Daftar awal penduduk Sumatra Barat
sebelum terjadi Bencana
 Mengumpulkan Daftar korban yang telah
teridentifikasi
 Mengklasifikasikan Data/cluster wilayah
 Membuat database antara korban belum
terdidentifikasi dengan data korban
meninggal, hilang/blm ditemukan, korban
selamat (luka-luka)
Merancang algoritma
• Menentukan ide solusi
• Menyatakan algoritma: Easy Case,
UML, Rational Rose dll
• Memvalidasi algoritma
• Menganalisis algoritma
bentuk algoritma harus memenuhi
kriteria berikut:
 Setiap langkah harus bersifat
pasti/tertentu (definite)
 Minimal menghasilkan sebuah
output
 Bersifat terstruktur dan sistematis
 Memiliki kriteria untuk
menghentikan proses
lima syarat yang harus dipenuhi
dalam algoritma, yaitu:
 Logika prosedur pada algoritma harus cukup
mudah dipahami nalar manusia
 Validitas prosedur pada algoritma dapat
ditelusuri dengan mudah
 Tidak menimbulkan kerancuan interpretasi bagi
orang lain
 Prosedur pada algoritma harus cukup mudah
dikonversi ke program komputer
 Prosedur pada algoritma tidak
terpengaruh/bergantung pada bahasa
pemrograman apapun
Program Komputer
 Data apa yang tersedia/akan diproses, hal ini diperlukan untuk
menentukan tipe data yang diperlukan
 Bagaimana meng-input-kan data, hal ini diperlukan untuk
menentukan jenis intruksi input yang digunakan
 Di mana data diletakkan, hal ini diperlukan untuk menentukan
variabel-variabel yang perlu disediakan dalam program
 Operasi apa saja yang diperlukan, hal ini diperlukan untuk
menentukan operator yang diperlukan
 Bagaimana susunan urutan instruksi, hal ini diperlukan untuk
menentukan struktur proses dan jenis instruksi yang diperlukan
(urutan, kondisional/percabangan, atau perulangan)
 Bagaimana menyampaikan informasi hasil pengolahan, hal ini
akan menentukan jenis intruksi output yang digunakan
Evaluasi
 Buatlah algoritma untuk menentukan
nilai dengan ketentuan dari range
jumlah score sbb:
0-20 =E
21-40 =D
41-60 =C
61-80 =B
81-100 =A

Anda mungkin juga menyukai