Ardian Maretta Prastiawan, Ssi Software Development UPT. Puskom UNS http://wa2n.staff.uns.ac.id http://wa2n.web.id [email protected] Y!m:w4ww4n
CONTROL STRUCTURES SEQUENTIAL/ URUTAN Program dijalankan mulai dari perintah paling atas/ awal sampai paling akhir secara berurutan/ sekuensial. BRANCHING/ PERCABANGAN Penyeleksian kondisi (TRUE/ FALSE) untuk menentukan proses selanjutnya LOOPING/ PERULANGAN Mengulangi proses selama syarat/ kondisi tertentu terpenuhi
SEQUENTIAL/ URUTANEntry Action 1
Action 2
Action 3
Exit
BRANCHING/ PERCABANGANEntry Condition 1 TRUE FALSE
Action 1 Condition 2 TRUE Action 2 FALSE
Action 3
Exit
LOOPING/ PERULANGANEntry
Action 1
Action 2 Looping 1 Y Y if 1 T if 2
Looping 2T Action 3 Exit
IF - ELSE
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; } Bisa berbentuk nested/ bersarang
LOOP FOR Syntax source code lebih ringkas Biasa dipakai untuk perulangan yang sudah jelas
jumlah perulangannya
for(nilai_awal; syarat_ulang; inc/dec) { statemen_yang_akan_diulang2; }
LOOP WHILE & DO-WHILE Biasa dipakai untuk perulangan dengan kondisi
bersyarat/ logika while (kondisi=TRUE) { jalankan_statemen_ini; } do { jalankan_statemen_ini; } while (kondisi=TRUE)
NESTED LOOP Perulangan bersarang (terjadi di dalam perulangan) Yang biasa dipakai adalah loop FOR karena lebih mudah & ringkas Contoh kasus yang sering dipakai adalah pengolahan tampilan, angka dan matrik
for(int i=1; i= 60 ) printf( "Passed\n" );
Selection Control [3] (ifelse) Statement ifelse: Menspesifikasikan aksi baik untuk kondisi true maupun untuk
kondisi false Contoh pseudocode: If students grade is greater than or equal to 60 Print Passed else Print Failed Contoh Flowchart:false grade >= 60 true
print Failed
print Passed
Selection Control [4] (ifelse) Dalam C :
if ( grade >= 60 ) printf( "Passed\n"); else printf( "Failed\n"); Ternary conditional operator (?:) Memerlukan tiga argumen (kondisi, nilai jika true, nilai jika false) Contoh di atas dapat ditulis sbb: printf( "%s\n", grade >= 60 ? "Passed" : "Failed" ); Atau dapat ditulis sbb: grade >= 60 ? printf( Passed\n ) : printf( Failed\n );
Selection Control [5] (ifelse) Statement ifelse bertingkat/bersarang: Digunakan untuk menguji banyak kondisi dimana menempatkan
statement seleksi ifelse di dalam statement ifelse Sekali kondisi terpenuhi, sisa statement lainnya dilewatkan/diabaikan Contoh pseudocode: If students grade is greater than or equal to 90 Print A else If students grade is greater than or equal to 80 Print B else If students grade is greater than or equal to 70 Print C else If students grade is greater than or equal to 60 Print D else Print F
Selection Control [6] (ifelse)
Compound statement Ada lebih dari satu statement/aksi yang harus dieksekusi setelah suatu kondisi dipenuhi Sering disebut juga blok karena ditandai dengan pasangan { dan } Contoh: if ( grade >= 60 ) printf( "Passed.\n" );
else { printf( "Failed.\n" ); printf( "You must take this course again.\n" ); } Tanpa tanda kurung kurawal, statement printf( "You must take this course again.\n" ); Akan dieksekusi secara otomatis.
Selection Control [7] (switch) Multiple-Selection Statement switch: Berguna pada waktu sebuah variabel atau ekspresi diuji terhadap semua nilai yang mungkin dan masing-masing mengambil aksi yang berbeda Format penulisan: Sederetan label case dan opsional default case switch ( value ){ case '1': actions case '2': actions default: actions } break; keluar dari statement
Selection Control [8] (switch) Flowchart statement switch:case a false true true case a action(s) break
case b false . . .
case b action(s)
break
case z false default action(s)
true
case z action(s)
break
Repetition Control [1] (while) Struktur pengulangan structure Programmer menentukan aksi yang akan diulang
selama kondisi tetap true Psuedocode: While there are more items on my shopping list Purchase next item and cross it off my list while loop diulang hingga kondisi menjadi false Contoh: product = 2; while ( product bilangan2) do step 4 otherwise do step 5 print bilangan1 print bilangan2
FlowchartStart input b1
input b2Y
input b1 input b2 If(b1>b2) do step 4 otherwise do step 5 print b1 print b2print b2
b1 > b2 ? N print b1
End
Contoh Algoritma 2Mencari akar bulat positif dari bilangan bulat (integer) positif a: Masukkan bilangan bulat positif a Berikan harga awal x sama dengan 1 Hitung y sebesar x * x Jika y sama dengan a maka cetak x sebagai akar dari a. Selesai Tambah nilai x dengan 1 Pergi ke langkah 3.
FlowchartStartinput a x=1 Y=x*x Y If y