2. Kelompok 7 :
Kharisma Muhammad 5108100104
Pambudi Surya 5108100138
Dading Zainul Gusti 5108100179
3. Control Structures (I)
• 3 Tipe dari struktur seleksi :
– if
• Single-selection structure
– Digunakan untuk menyeleksi suatu kondisi tunggal. Bila proses yang diseleksi terpenuhi atau bernilai benar, maka pernyataan yang ada di
dalam blok if akan diproses dan dikerjakan.
– if/else
• Double-selection structure
– Dalam if.....else minimal terdapat dua pernyataan. Bila kondisi yang diperiksa bernilai benar, maka pernyataan pertama yang akan
dilaksanakan dan jika kondisi yang diperiksa bernilai salah maka pernyataan yang kedua yang akan dilaksanakan.
– switch
• Multiple-selection structure
– switch....case....default digunakan untuk penyeleksian nilai dengan kemungkinan yang terjadi cukup banyak. Fungsi ini akan melaksanakan
salah satu dari beberapa pernyataan ‘case’ tergantung nilai yang tertera di dalam switch. Selanjutnya proses diteruskan hingga ditemukan
pernyataan ‘break’. Jika tidak ada nilai pada case yang sesuai dengan nilai di dalam switch, maka proses akan diteruskan kepada pernyataan
yang ada di ‘default’.
4. Control Structures (II)
• Empat tipe struktur repetition
– while
– do/while
– for
– for/in
• Dua cara dalam mengkombinsikan struktur
– Control-structure stacking
• Single-entry/single-exit structures
– Control-structure nesting
6. If Selection Structure (II)
• Pseudocode:
Jika nilai mahasiswa lebih besar dari atau sama dengan 60
Print “lulus”
• JavaScript statement:
if( grade >= 60 )
document.writeln( “Lulus” );
• Flowchart:
7. if/else Selection Structure (I)
• Bentuk umum if…else adalah :
if(kondisi)
{
pernyataan1;
}
else
pernyataan2;
8. if/else Selection Structure (I)
• Pseudocode:
Jika nilai mahasiswa lebih besar dari atau sama dengan 60
Print “Lulus”
else
Print “Tidak lulus”
• JavaScript statement:
if ( grade >= 60 )
document.writeln( “Lulus” );
else
document.writeln( “Tidak lulus” );
10. if/else Selection Structure (III)
• Conditional Operator (?:)
• Bentuk :
condition ? expression1 : expression2;
• Contoh
document.writeln(
nilaiMahasiswa >= 60 ? “Lulus” : “Tidak lulus” );
• Sama seperti if/else pada contoh sebelumnya.
11. if/else Selection Structure (IV)
Nested if/else Structures:
• 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”
13. while Repetition Structure
Program segment: find first power of 2 larger than 1000
• Pseudocode:
While product is less than 1000
multiply product by 2
• JavaScript statement:
var product = 2;
while ( product <= 1000 )
product = 2 * product;
• Flowchart:
14. Formulating Algorithms
Studi kasus 1 : counter-controlled repetition
Studi kasus 2 : sentinel-controlled repetition
Studi kasus 3 : nested control structure
15. Counter-controlled repetition
Menggunakan while dengan sebuah variabel counter
yang di-incremen atau di-decremen tiap kali looping
sebagai pengecekan
Perulangan akan berhenti ketika counter mencapai
nilai tertentu dan membuat kondisi menjadi false
Digunakan ketikai jumlah looping yang akan
dilakukan sudah diketahui
18. Sentinel-controlled repetition
Menggunakan sebuah nilai sebagai sentinel, dan
sebuah variabel. Ketika variabel tersebut bernilai
sama dengan sentinel-value, maka condition akan
jadi false dan looping akan berhenti
Gunakan ketika ketika jumlah looping yang akan
dilakukan disesuaikan dengan inputan user
Sentinel-value adalah nilai diluar domain inputan
user
Inputan user pertama kali dilakukan sebelum while
22. Nested control repetition
Sebuah control-structure bisa ditempatkan di
dalam control-structure yang lain
Dalam javaScript, jika sebuah local-variable tidak
diinisialisasi di awal maka akan otomatis
diinisialisasi oleh javaScript
23. contoh
<script language = "javascript">
var maks,
temp,
counter;
counter= 0;
temp= window.prompt("masukkan input : ", "0");
maks= parseInt(temp);
var input= new Array(maks);
while(counter< maks){
input[counter]= Math.floor(Math.random()*(maks+ 1));
counter++;
}
document.writeln("<h3>random generated initial array is: "+input+"</h3>");
24. var i= 0;
while(i< maks){
var r= 0;
while(r< maks){
if(input[i]< input[r]){
var temp= input[i];
input[i]= input[r];
input[r]= temp;
}
r++;
}
i++;
}
document.writeln("<h3>Sorted array: "+input+"</h3>");
</script>
26. Assignment Operators
Bentuk operasi assignment operators :
c = c+ 3 equals to c+= 3
kedua ekspresi di atas sama-sama berfungsi untuk
menambahkan nilai 3 kepada variabel c
Bentuk c+= 3 hanya memiliki sedikit perbedaan
dalam kecepatan eksekusi dengan bentuk c = c+ 3,
namun kecepatan eksekusi akan jauh berbeda
ketika melibatkan jumlah operasi yang besar
28. Increment and Decrements
Operators
Increment operators (++)
c++; equals to c+= 1; equals to c= c+ 1;
Decrement operators (–)
c--; equals to c-= 1; equals to c= c- 1;
Bisa digunakan untuk mengekspresikan
preincremented/decremented atau
postincremented/decremented
Increment/decrement operators bisa mengurangi
runtime ketika melakukan perulangan yang banyak