Struktur keputusan adalah struktur program yang melakukan proses pengujian untuk mengambil suatu keputusan apakah suatu baris atau blok instruksi akan diproses atau tidak. Pengujian kondisi ini dilakukan untuk memilih salah satu dari beberapa alternatif yang tersedia. Syarat dalam dunia pemrograman adalah sebuah pernyataan Boolean,yang dapat bernilai benar (true) arau salah (false). Biasanya sebuah syarat terdiri dari operand-operand yang dihubungkan dengan operator logika. Yaitu: =, <>, >, <, >=, <=, and (dan) dan or (atau).
Mulai
Syarat
Perintah 1
Perintah 2
Selesai
I. Hubungan Antar Kondisi 1. Hubungan DAN Merupakan hubungan antar kondisi yang mensyaratkan kedua kondisi terpenuhi. Contoh: Untuk menentukan penerimaan calon pegawai ditentukan kriteria sebagai: - umur dibawah 30 tahun, dan - nilai test lebih besar dari 60
Capeg diterima
Status$=kawin
MK>=3
TJ=6%*GP
TJ=0
TJ= 3%*GP
2. Hubungan ATAU Merupakan hubungan antar kondisi yang mensyaratkan hanya salah satu kondisi yang terpenuhi.
Contoh: Tunjangan pensiun diberikan kepada pegawai yang berusia lebih dari 60 tahun. Untuk pegawai uang mempunyai masa kerja lebih dari 25 tahun juga mendapat tunjangan tersebut.
YA
ALIH KONTROL
Selama ini, arus diagram alur mengalir lurus dari atas ke bawah masalah sederhana. Masalah yang lebih rumit terjadi alih kontrol berupa percabangan (branching) dan pemutaran kembali (looping)
Percabangan
Kondisi dengan dua pilihan: BENAR atau SALAH
X>Y
tidak
ya
Contoh: Diketahui 2 buah bilangan. Buat diagram alur untuk mencetak bilangan yang terbesar diantara kedua bilangan tersebut!
Mulai
Bil=0
Bil<0
Cetak negatif
Cetak positif
Selesai
Soal: Buat diagram alur untuk menentukan kelulusan seorang mahasiswa. Kelulusan dihitung dari nilai rata-rata 2 mata kuliah. Bila nilai rata-rata lebih dari 60, siswa dinyatakan lulus. Sebaliknya siswa dinyatakan tidak lulus. Kondisi dalam suatu diagram alur bisa terdiri lebih dari satu.
Contoh: Buat diagaram alur untik menentukan apakah suatu bilangan termasuk bilangan positif, negatif atau nol!
Mulai
Baca A,B
A>B
Cetak A
Cetak B
selesai
Soal:
1. Dalam pemilihan jurusan IPA dan IPS, dinilai 3 pelajaran eksakta dan 2 pelajaran non eksakta. Bila nilai rata-rata eksakta lebih besar dari nilai ratarata non eksakta maka siswa dijuruskan ke IPA, bila nilai rata-rata eksakta dan non eksakta sama maka siswa diperbolehkan memilih. 2. Untuk mendapatkan kredit pemilikan mobil, perlu dinilai penghasilan pemohon. pendapatan Cara penilaian: pendapatan setengah tetap/pokok dan dihitung penuh, keluarga
tambahan
dihitung
pendapatan
(suami/istri) dihitung sepertiga. Apabila jumlah pendapatan lebih besar atau sama dengan Rp. 1.000.000,- mendapat kredit SEDAN, kurang dari itu tetapi masih lebih besar dari Rp. 500.000,- mendapat kredit MINIBUS, selain itu tidak berhak mendapat kredit.
mulai
Bil=20
Bil=Bil-7
Bil<2
Cetak Bil
Selesai
Membatasi Pengulangan
Perulangan perlu dibatasi dengan memanfaatkan kkotak keputusan. Flowchart untuk mencetak kuadrat bilangan-bilangan 1 s/d 10
Mulai
A=1
A>10
B= A*A
?B
A= A+1
Selesai
PANJI (FLAG)
Kita dapat menggunakan flowchart untuk menggambarkan proses yang berlangsung berulang kali untuk data masukan yang lebih dari satu. Untuk menandai bahwa data telah habis, kita gunakan tehnik panji yaitu membuat suatu data yang kita letakkan di bagian akhir himpunan data. Dalam mengambil harga panji harus dipastikan bahwa harga tersebut paasti bukan harga data sebenarnya. Kadang-kadang orang mengambil harga panji 999 atau 9999 untuk variabel bilangan dan XXX atau EOF untuk variabel untai kata. Flowchart untuk menghitung luas 3 segitiga yang diproses satu persatu dan diketahui alas dan tingginya.
A=0
Selesai
L = (A*T)/2
Cetak L
COUNTER
Dasar-dasar tehnik counter
Tehnik counter dipakai untuk mengontrol pengulangan proses. Pengontrolan dilakukan dengan memeriksa isi variable yang digunakan sebagai counter, sehingga jumlah pengulangan dapat diketahui. Tehnik counter merupakan tehnik penyusunan flowchart dengan memanfaatkan suatu varibel sebagai pengontrol pengulangan.
Mulai
N=0 T=0 N= N + 1
T=T+N
N=5
?T
Selasai
Penggunaan Counter
Ketika kita membuat suatu variable yang fungsinya khusus sebagai kantong penghitung, biasanya harga awal dari variable tersebut nol. Setiap kali pemutaran harga variable selalu bertambah atau berkurang. Flowchart untuk menghitung jumlah 6 suku pertama barisan 1 2, 22, 32, ..
Mulai
S = S + (N*N)
N=6
?S
Selesai 9