Top Banner

of 42

02 Algoritma Control Struktur1

Jul 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

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