Pemrograman
Struktur Teks
Algoritma
Aksi
1
Aksi
2
Aksi
3
Struktur Dasar Algoritma (lanjutan)
• SEQUENTIAL/ URUTAN
Program dijalankan mulai dari perintah paling atas/ awal
sampai paling akhir secara berurutan/ sekuensial.
• BRANCHING/ PERCABANGAN
Penyeleksian kondisi (TRUE/ FALSE) untuk menentukan
statemen selanjutnya
• LOOPING/ PERULANGAN
Mengulangi proses selama syarat/ kondisi tertentu masih
terpenuhi
Sequential/Urutan
Entry
Action 1
Action 2
Action 3
Exit
Contoh Urutan
Buatlah diagram alir untuk mengkonversi dari suhu Fahremhait ke Celcius
Masukkan f
c ← (f-32)x 5/9
Tampilkan c
Contoh Urutan (lanjutan)
Tinjau algoritma untuk
menghitung harga
barang di supermarket/
pasar setelah mendapat
diskon sebesar p%.
Percabangan
Entry
Condition 1
TRUE FALSE
Action 1
Condition 2
FALSE
TRUE
Action 2 Action 3
Exit
Percabangan (lanjutan)
• Adakalanya sebuah instruksi dikerjakan jika kondisi tertentu
dipenuhi.
• Misalnya kendaraan anda tiba di perempatan yang ada di traffic
light, jika lampu traffic light sekarang berwarna merah, maka
kendaraan anda harus berhenti.
• Jika lampu traffic light berwarna merah, maka berhenti
• If KondisiThen Aksi
Percabangan (lanjutan)
• Biasa digunakan untuk seleksi nilai/ data
• Kondisi jamak ((kondisi_1) &&/ (kondisi_2))
• if (kondisi=TRUE) jalankan_statement_ini
• if (kondisi=TRUE) statement_1
else statement_2 // if kondisi=FALSE
• if (kondisi=TRUE) statement_1
else if (kondisi=TRUE) statement_2
else statement_3 // if kondisi=FALSE
• if (kondisi=TRUE)
if (kondisi=TRUE) nested_statement
Switch Case
• Biasa digunakan untuk membuat menu dalam program
switch (variabel_pilihan) {
case nilai_1 : statemen_1; break;
case nilai_2 : statemen_2; break;
case nilai_3 : statemen_3; break;
…
default: statemen_default;
}
Action 1
Action 2
Looping 1
Y T
if 1 if 2
Looping 2
T
Action 3 Exit
Looping (lanjutan)
repeat
aksi
until kondisi
while kondisi do
aksi
Looping (lanjutan)
• Contoh lakukan pencarian informasi dari tabel mahasiswa
akademik, dengan asumsi tabel berisi paling sedikit satu entry
Contoh
Tulis nilai x dan y
Salah satu alternatif pseudo-code nya dalam notasi algoritma
adalah:
write (x,y)
Notasi Pseudo-code (lanjutan)
• Notasi algoritma dalam bentuk pseudo-code sebaiknya mudah
ditranslasikan ke dalam bahasa pemrograman pada saat
melakukan koding .
• Pada beberapa bahasa pemrograman, antara setiap instruksi
dipisahkan dengan tanda “;” (semicolon).
• Beberapa contoh translasi pseudo-code ke beberapa bahasa
pemrograman adalah sebagai berikut :
Notasi pseudo-code: Notasi bahasa C++:
write (x,y) cout << x, y;
Notasi bahasa pascal: Notasi bahasa python:
write (x,y); print (x,y)
Notasi bahasa C: Notasi bahasa basic:
printf (“%d %d”, x, y); write x,y
Notasi Pseudo-code (lanjutan)
• contoh lainnya adalah memasukkan nilai x ke dalam y
maka pseudo-code nya dalam notasi algoritma menjadi :
yx
Notasi pseudo-code: Notasi basic:
yx y=x
Notasi bahasa pascal: Notasi bahasa python:
y :=x; y = x;
Notasi bahasa C dan C++:
y =x;
Tentunya masih banyak lagi notasi pseudi-code yang digunakan
dalam menuliskan algoritma.
Struktur Teks Algoritma
Perhatikan algoritma berikut ini:
Dari contoh algoritma Euclidean sebelumnya, maka sebuah teks
algoritma selalu disusun oleh tiga bagian yaitu:
1. bagian judul (header)
2. bagian deklarasi (declaration)
3. bagian algoritma
Program Nama Program (header)
(berisi penjelesan singkat algoritma mengenai masalah apa yang akan diselesaikan,
termasuk apa masukan dan keluarannya)
Deklarasi
(bagian ini berisi deklarasi semua nama tipe, nama konstanta, nama peubah, nama
prosedur, dan nama fungsi diumumkan disini)
Algoritma
(bagian ini adalah inti algoritma, berisi Langkah-Langkah penyelesaian persoalan)
• Dalam setiap algoritma sangat dianjurkan untuk menuliskan komentar
untuk memperjelas maksud dari pernyataan. Komentar adalah kalimat
yang diapit oleh pasangan tanda kurung kurawal (“{ dan }”). Adanya
komentar membuat algoritma menjadi lebih mudah untuk dipahami oleh
orang lain. Di dalam kode program, komentar tidak akan dieksekusi dan
hanya akan dilewati saja.
• Contoh komentar pada algoritma Euclidean yang sebelumnya:
{Program mencari pembagi terbesar Bersama (gcd) dari 2 bilangan}
{dua bilangan yang akan dicari GCD nya}
{bagi m dengan n dan simpan sisanya dalam r}
dst
Bagian Judul (Header)
•
Bagian Deklarasi (Declaration)
• Bagian ini digunakan untuk mengumumkan semua nama yang
dipakai di dalam algoritma beserta propertinya. Nama yang
dideklarasikan di dalam bagian ini antara lain:
• nama konstanta
• nama peubah
• nama tipe bentukan
• nama prosedur/fungsi
• Bagian ini mungkin saja kosong apabila tidak ada penggunaan nama
apapun di dalam bagian algoritmanya.
• Perhatikan kembali algoritma Euclidean dan tunjukkan apa saja yang
dideklarasikan.
Bagian Algoritma
• Bagian inti dari sebuah algoritma. Bagian ini berisi sederetan
aksi. Aksi-aksi tersebut “bekerja” dengan menggunakan nama-
nama yang telah diumumkan pada bagian deklarasi.
• Perhatikan algoritma Euclidean yang sebelumnya.