Repetition Control

advertisement
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/ URUTAN
Entry
Action 1
Action 2
Action 3
Exit
BRANCHING/ PERCABANGAN
Entry
Condition 1
TRUE
FALSE
Action 1
Condition 2
FALSE
TRUE
Action 2
Action 3
Exit
LOOPING/ PERULANGAN
Entry
Action 1
Action 2
Looping 1
Y
Y
T
if 1
if 2
Looping 2
T
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<=5; i++)
{
for(int j=1; j<=i; j++)
print(“%d “, j);
print(“\n”);
}
// milik loop for dalam
// milik loop for luar
FUNGSI
 Adalah subrutin/ subprogram/ potongan program
 Mempunyai tugas tertentu
 Mempunyai bagian RETURN VALUE dan
PARAMETER/ ARGUMEN
 Ada istilah deklarasi & prototype fungsi
tipe_return_value nama_fungsi (parameter)
{
statemen2;
// badan fungsi
return (return_value/ variabel);
}
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:
grade >= 60
false
true
print “Passed”
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" );
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:
false
print “Failed”
grade >= 60
true
print “Passed”
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” );
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/diabaikan
 Contoh 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”
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, 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
true
case a action(s)
break
case b action(s)
break
case z action(s)
break
false
case b
true
false
.
.
.
case z
false
default action(s)
true
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;
Repetition Control [2] (while)
• Flowchart:
product <= 1000
false
true
product = 2 * product
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 one
While grade counter is less than or equal to ten
Input the next grade
Add the grade into the total
Add one to the grade counter
Set the class average to the total divided by ten
Print the class average
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
Contoh
 Requirement
 Buat sebuah algoritma untuk memilih bilangan terbesar
dari 3 buah bilangan
 Nantinya ini bisa digeneralisir menjadi n buah bilangan
Algoritma Dalam Bahasa Natural
1.
2.
3.
4.
5.
6.
Ambil bilangan pertama dan set maks sama dengan
bilangan pertama
Ambil bilangan kedua dan bandingkan dengan maks
Apa bila bilangan kedua lebih besar dari maks, set
maks sama dengan bilangan kedua
Ambil blangan ketiga dan bandingan dengan maks
Apabila bilangan ketiga lebih besar dari maks, set
maks sama dengan bilangan ketiga
Variabel maks berisi bilangan terbesar. Tayangkan
hasilnya
Contoh :
Algoritma
dengan
Flowchart
Mulai
Maks = bilangan pertama
Maks <
bilangan kedua
Ya
Maks = bilangan kedua
Ya
Maks = bilangan ketiga
Tidak
Maks <
bilangan ketiga
Tidak
Selesai
Contoh Algoritma dengan
pseudo-code
Begin
Read bilangan pertama
Read bilangan kedua
Read bilangan ketiga
maks ← bilangan pertama
if (maks < bilangan kedua)
maks ← bilangan kedua
if (maks < bilangan ketiga)
maks ← bilangan ketiga
Print maks
end
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
Pseudocode
 Contoh: menentukan bilangan terbesar dari dua
bilangan
 input bilangan1
 input bilangan2
 if (bilangan1 > bilangan2) do step 4 otherwise do step 5
 print bilangan1
 print bilangan2
Flowchart
Start
input b1
input b2
If(b1>b2) do step 4 otherwise do step 5
print b1
print b2
input b1
input b2
b1 > b2 ?
N
print b1
End
Y
print b2
Contoh Algoritma 2
Mencari 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.
Flowchart
Start
input a
x=1
Y=x*x
x=x+1
N
Y
If y<=a
If y=a
N
print a tidak
punya akar bulat
Y
print akar dari a=x
End
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]
Variabel
 Digunakan untuk menyimpan data
 Variabel harus diisi dengan nilai persiapan terlebih
dahulu
 Nama variabel
 Harus diawali dengan huruf
 Hanya terdiri dari 1 kata
 Sebaiknya yang mudah di ingat
 Contoh:
 Panjang, lebar, luas merupakan variabel yang kita
butuhkan untuk mencari luas persegi panjang
Bagaimana Implementasi
ke Program
 Implementasi ke program bergantung kepada bahasa
pemrograman yang digunakan
 Memahami sintaks bahasa yang akan digunakan
 Menerjemahkan sesuai aturan dalam bahasa
pemrograman
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
Bahasa Pemrograman
Berbasis Visual
 Pendekatan Disain menggunakan objek/komponen
dan konsep yang dikembangkan terdiri dari :
 Event
 Methode
 Properties
Event
 Event adalah kejadian yang diinginkan terhadap objek
tersebut. Contoh event seperti :
 Menjalankan objek icon di desktop anda harus klik 2
kali
 Membuka objek menu start di window anda klik satu
kali
 Membuka menu di objek desktop atau lokasi lain
menggunakan klik kanan
Properties
 Properties 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
Methode
 Methode 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
Fungsi IF
 Prinsip Fungsi IF digambarkan notasi flowchart sebagai berikut :
If <kondisi> Then <jika kondisi terpenuhi>
If <kondisi> Then
Proses 1
<jika kondisi terpenuhi>
<kondisi>
<kondisi>
<jika kondisi
terpenuhi>
<jika kondisi
terpenuhi>
Else
<jika kondisi tidak
terpenuhi>
<jika kondisi tidak
terpenuhi>
End if
Proses 1
If <Kondisi 1> then
<jika kondisi 1 terpenuhi>
<kondisi 1>
<jika kondisi 1
terpenuhi>
Elseif <kondisi 2> then
<kondisi 2>
<jika kondisi 2 terpenuhi>
<jika kondisi 2
1
terpenuhi>
<jika kondisi tidak
terpenuhi>
Else
<jika kondisi 1 & 2 tidk terpenuhi>
End if
Download