algoritma : control structures

42
Ardian Maretta Prastiawan, Ssi Software Development UPT. Puskom UNS http://wa2n.staff.uns.ac.id http://wa2n.web.id [email protected] Y!m:w4ww4n

Upload: kirra

Post on 10-Jan-2016

113 views

Category:

Documents


0 download

DESCRIPTION

Algoritma : CONTROL STRUCTURES. 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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Algoritma  : CONTROL STRUCTURES

Ardian Maretta Prastiawan, SsiSoftware Development UPT. Puskom UNS

http://wa2n.staff.uns.ac.idhttp://wa2n.web.id

[email protected]!m:w4ww4n

Page 2: Algoritma  : CONTROL STRUCTURES

CONTROL STRUCTURESSEQUENTIAL/ URUTAN

Program dijalankan mulai dari perintah paling atas/ awal sampai paling akhir secara berurutan/ sekuensial.

BRANCHING/ PERCABANGANPenyeleksian kondisi (TRUE/ FALSE) untuk menentukan proses selanjutnya

LOOPING/ PERULANGANMengulangi proses selama syarat/ kondisi tertentu terpenuhi

Page 3: Algoritma  : CONTROL STRUCTURES

SEQUENTIAL/ URUTAN

Action 1

Action 2

Action 3

Entry

Exit

Page 4: Algoritma  : CONTROL STRUCTURES

BRANCHING/ PERCABANGANEntry

Condition 1

Action 1Condition 2

Action 3Action 2

Exit

TRUE FALSE

TRUE FALSE

Page 5: Algoritma  : CONTROL STRUCTURES

LOOPING/ PERULANGAN

Action 1

Action 2

Action 3

Entry

Exit

if 1 if 2

Looping 1

Looping 2

Y

Y

T

T

Page 6: Algoritma  : CONTROL STRUCTURES
Page 7: Algoritma  : CONTROL STRUCTURES

IF - ELSEBiasa digunakan untuk seleksi nilai/ dataKondisi jamak ((kondisi_1) &&/ || (kondisi_2))if (kondisi=TRUE) jalankan_statement_iniif (kondisi=TRUE) statement_1

else statement_2 // if kondisi=FALSEif (kondisi=TRUE) statement_1

else if (kondisi=TRUE) statement_2else statement_3 // if kondisi=FALSE

if (kondisi=TRUE)if (kondisi=TRUE) nested_statement

Page 8: Algoritma  : CONTROL STRUCTURES

SWITCH - CASEBiasa 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

Page 9: Algoritma  : CONTROL STRUCTURES

LOOP FORSyntax source code lebih ringkasBiasa dipakai untuk perulangan yang sudah

jelas jumlah perulangannya

for(nilai_awal; syarat_ulang; inc/dec){

statemen_yang_akan_diulang2;}

Page 10: Algoritma  : CONTROL STRUCTURES

LOOP WHILE & DO-WHILEBiasa dipakai untuk perulangan dengan

kondisi bersyarat/ logikawhile (kondisi=TRUE)

{jalankan_statemen_ini;

}do

{jalankan_statemen_ini;

}while (kondisi=TRUE)

Page 11: Algoritma  : CONTROL STRUCTURES

NESTED LOOPPerulangan bersarang (terjadi di dalam

perulangan)Yang biasa dipakai adalah loop FOR karena

lebih mudah & ringkasContoh kasus yang sering dipakai adalah

pengolahan tampilan, angka dan matrik

for(int i=1; i<=5; i++){

for(int j=1; j<=i; j++)print(“%d “, j); // milik loop for

dalamprint(“\n”); // milik loop for luar

}

Page 12: Algoritma  : CONTROL STRUCTURES

FUNGSIAdalah subrutin/ subprogram/ potongan

programMempunyai tugas tertentuMempunyai bagian RETURN VALUE dan

PARAMETER/ ARGUMENAda istilah deklarasi & prototype fungsi

tipe_return_value nama_fungsi (parameter){

statemen2; // badan fungsireturn (return_value/ variabel);

}

Page 13: Algoritma  : CONTROL STRUCTURES

Selection Control [1] (if) Statement if:

Digunakan untuk seleksi suatu kondisi Contoh pseudocode:

If student’s grade is greater than or equal to 60 Print “Passed” Contoh Flowchart:

true

false

grade >= 60 print “Passed”

Page 14: Algoritma  : CONTROL STRUCTURES

Selection Control [2] (if) Jika kondisi true

Statement Print dieksekusi dan program dilanjutkan ke statement berikutnya

Jika kondisi false Statement Print diabaikan dan program dilanjutkan ke

statement berikutnya Dalam bahasa C:

if ( grade >= 60 ) printf( "Passed\n" );

Page 15: Algoritma  : CONTROL STRUCTURES

Selection Control [3] (if…else)Statement if…else:

Menspesifikasikan aksi baik untuk kondisi true maupun untuk kondisi false

Contoh pseudocode:If student’s grade is greater than or equal to 60

Print “Passed”else Print “Failed”

Contoh Flowchart:

truefalse

print “Failed” print “Passed”

grade >= 60

Page 16: Algoritma  : CONTROL STRUCTURES

Selection Control [4] (if…else) 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” );

Page 17: Algoritma  : CONTROL STRUCTURES

Selection Control [5] (if…else)Statement if…else bertingkat/bersarang:

Digunakan untuk menguji banyak kondisi dimana menempatkan statement seleksi if…else di dalam statement if…else

Sekali kondisi terpenuhi, sisa statement lainnya dilewatkan/diabaikanContoh pseudocode:If student’s grade is greater than or equal to 90

Print “A”else

If student’s grade is greater than or equal to 80 Print “B”else If student’s grade is greater than or equal to 70 Print “C” else If student’s grade is greater than or equal to 60 Print “D” else Print “F”

Page 18: Algoritma  : CONTROL STRUCTURES

Selection Control [6] (if…else) 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, statementprintf( "You must take this course again.\n" );

Akan dieksekusi secara otomatis.

Page 19: Algoritma  : CONTROL STRUCTURES

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 caseswitch ( value ){

case '1':actions

case '2':actions

default:actions

} break; keluar dari statement

Page 20: Algoritma  : CONTROL STRUCTURES

Selection Control [8] (switch) Flowchart statement switch:

true

false

.

.

.

case a case a action(s) break

case b case b action(s) break

false

false

case z case z action(s) break

true

true

default action(s)

Page 21: Algoritma  : CONTROL STRUCTURES

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 <= 1000 )

product = 2 * product;

Page 22: Algoritma  : CONTROL STRUCTURES

Repetition Control [2] (while)

product <= 1000 product = 2 * producttrue

false

• Flowchart:

Page 23: Algoritma  : CONTROL STRUCTURES

Repetition Control [3] (while) Pengulangan yang dikontrol sebuah counter

Loop diulang hingga counter mencapai angka tertentu Disebut juga definite repetition karena jumlah pengulangan

dapat kita ketahui Contoh: Sebuah kelas dengan 10 orang mahasiswa mengikuti

kuis. Nilai kuis adalah bilangan bulat dari 0 hingga 100. Tentukan nilai rata-rata kuis tersebut.

Pseudocode: Set total to zero

Set grade counter to oneWhile grade counter is less than or equal to ten

Input the next gradeAdd the grade into the totalAdd one to the grade counter

Set the class average to the total divided by tenPrint the class average

Page 24: Algoritma  : CONTROL STRUCTURES

Repetition Control [4] (while)Pengulangan yang dikontrol sebuah sentinel

Sentinel: tanda berhenti untuk keluar dari suatu loop, biasanya berupa karakter, angka, atau tombol di keyboard sebagai tanda. Misalnya ‘Q’ untuk exit.

Loop diulang hingga mencapai sentinel tersebut Jumlah pengulangan belum dapat kita ketahui secara

pasti

Page 25: Algoritma  : CONTROL STRUCTURES

ContohRequirement

Buat sebuah algoritma untuk memilih bilangan terbesar dari 3 buah bilangan

Nantinya ini bisa digeneralisir menjadi n buah bilangan

Page 26: Algoritma  : CONTROL STRUCTURES

Algoritma Dalam Bahasa Natural1. Ambil bilangan pertama dan set maks sama

dengan bilangan pertama2. Ambil bilangan kedua dan bandingkan dengan

maks3. Apa bila bilangan kedua lebih besar dari maks,

set maks sama dengan bilangan kedua4. Ambil blangan ketiga dan bandingan dengan

maks5. Apabila bilangan ketiga lebih besar dari maks,

set maks sama dengan bilangan ketiga6. Variabel maks berisi bilangan terbesar.

Tayangkan hasilnya

Page 27: Algoritma  : CONTROL STRUCTURES

Maks = bilangan pertama

Maks < bilangan kedua

Maks = bilangan kedua

Maks < bilangan ketiga

Maks = bilangan ketiga

Ya

Ya

Selesai

Mulai

Tidak

Tidak

Page 28: Algoritma  : CONTROL STRUCTURES

Contoh Algoritma dengan pseudo-codeBegin

Read bilangan pertama

Read bilangan kedua

Read bilangan ketiga

maks ← bilangan pertamaif (maks < bilangan kedua)

maks ← bilangan kedua

if (maks < bilangan ketiga)maks ← bilangan ketigaPrint maksend

Page 29: Algoritma  : CONTROL STRUCTURES

Pseudocode Mendapatkan nilai maksimal dari sejumlah nilai

ujian for i = 1 10 input nilai[i] endfor max nilai[1] for j = 2 10 if (nilai[j] > max) max = nilai[j] endif endfor print max

Page 30: Algoritma  : CONTROL STRUCTURES

PseudocodeContoh: menentukan bilangan terbesar dari

dua bilanganinput bilangan1input bilangan2if (bilangan1 > bilangan2) do step 4 otherwise

do step 5print bilangan1print bilangan2

Page 31: Algoritma  : CONTROL STRUCTURES

Flowchart

Start

input b1

input b2

b1 > b2 ?

print b2

End

print b1

input b1input b2If(b1>b2) do step 4 otherwise do step 5print b1print b2

Y

N

Page 32: Algoritma  : CONTROL STRUCTURES

Contoh Algoritma 2Mencari akar bulat positif dari bilanganbulat (integer) positif a:Masukkan bilangan bulat positif aBerikan harga awal x sama dengan 1Hitung y sebesar x * xJika y sama dengan a maka cetak x

sebagai akar dari a. SelesaiTambah nilai x dengan 1Pergi ke langkah 3.

Page 33: Algoritma  : CONTROL STRUCTURES

FlowchartStart

input a

If y<=a

End

print akar dari a=x

Y

Y=x*x

x=1

x=x+1

If y=a

print a tidak punya akar bulat

N

N

Y

Page 34: Algoritma  : CONTROL STRUCTURES

Tugas Dikumpulkan Jelaskan apa yang dimaksud dengan: algoritma,

pemrograman, program,bahasa pemrograman, programmer,flowchart,pseudocode.

Buat pseudecode & flowchart untuk kasus berikut: Menghitung nilai terkecil,terbesar,rata-rata,median

dari 5 bilangan jumlah bilangan dibawah 1000 yang habis dibagi 3

dan 5 Buatlah algoritma untuk menentukan apakah 3

bilangan (a, b dan c) merupakan triplet phytagoras (a2 = b2 + c2)

Tugas dikirim email ke [email protected] dalam format msword/doc beri nim dan nama, dikumpulkan paling lambat pertemuan berikutnya

Materi bisa di download di http://wa2n.staff.uns.ac.id

Y!M: [email protected]

Page 35: Algoritma  : CONTROL STRUCTURES

VariabelDigunakan untuk menyimpan dataVariabel harus diisi dengan nilai persiapan

terlebih dahuluNama variabel

Harus diawali dengan hurufHanya terdiri dari 1 kataSebaiknya yang mudah di ingat

Contoh:Panjang, lebar, luas merupakan variabel yang

kita butuhkan untuk mencari luas persegi panjang

Page 36: Algoritma  : CONTROL STRUCTURES

Bagaimana Implementasi ke ProgramImplementasi ke program bergantung kepada

bahasa pemrograman yang digunakanMemahami sintaks bahasa yang akan

digunakanMenerjemahkan sesuai aturan dalam bahasa

pemrograman

Page 37: Algoritma  : CONTROL STRUCTURES

Jenis Jenis Bahasa Pemrograman Bahasa Pemrograman berbasis teks adalah

bahasa pemrograman dimana dalam pemberian instruksi menggunakan teks. Contoh: Quick Basic, Pascal, C, C++

Bahasa pemrograman berbasis Visual adalah bahasa pemrograman dimana dalam pendisainan dibantu komponen /objek yang dapat langsung digunakan

Page 38: Algoritma  : CONTROL STRUCTURES

Bahasa Pemrograman Berbasis Visual Pendekatan Disain menggunakan

objek/komponen dan konsep yang dikembangkan terdiri dari :Event MethodeProperties

Page 39: Algoritma  : CONTROL STRUCTURES

EventEvent adalah kejadian yang diinginkan

terhadap objek tersebut. Contoh event seperti :Menjalankan objek icon di desktop anda harus

klik 2 kaliMembuka objek menu start di window anda

klik satu kaliMembuka menu di objek desktop atau lokasi

lain menggunakan klik kanan

Page 40: Algoritma  : CONTROL STRUCTURES

PropertiesProperties berfungsi untuk menentukan sifat

dari suatu objek. Arti sifat seperti warna, jenis huruf, ukuran huruf, gambar latar belakang, menghidupkan atau mematikan menu.Contoh :

Latar belakang desktop dapat diganti gambar melalui menu properties desktop

Warna dari window dapat juga anda atur melalui desktop

Bentuk tampilan di window dapat anda ubah melalui template(cetakan) yang disediakan

Page 41: Algoritma  : CONTROL STRUCTURES

MethodeMethode adalah susunan perintah yang

dikerjakan bila event dijalankan misal Bila event klik satu kali di menu start

dijalankan maka program (susunan perintah) untuk menampilkan menu start dijalankan.

Bila icon di desktop dklik dua kali maka akan dijalankan program(susunan perintah) memanggil file sesuai dengan file yang telah didaftarkan

Page 42: Algoritma  : CONTROL STRUCTURES

Fungsi IFPrinsip Fungsi IF digambarkan notasi flowchart sebagai

berikut :

If <kondisi> Then <jika kondisi terpenuhi>

Proses 1

Proses 1

<kondisi>

<jika kondisi terpenuhi>

If <kondisi> Then

<jika kondisi terpenuhi>

Else

<jika kondisi tidak terpenuhi>

End if

<kondisi>

<jika kondisi terpenuhi>

<jika kondisi tidak terpenuhi>

<kondisi 1>

<jika kondisi tidak terpenuhi>

<kondisi 2><jika kondisi 1 terpenuhi><jika kondisi 1 terpenuhi>

<jika kondisi 1 terpenuhi><jika kondisi 2 terpenuhi>

If <Kondisi 1> then

<jika kondisi 1 terpenuhi>

Elseif <kondisi 2> then

<jika kondisi 2 terpenuhi>

Else

<jika kondisi 1 & 2 tidk terpenuhi>

End if