Jumat, 22 April 2011

Looping-For

For

Instruksi for digunakan untuk melakukanproses pengulangan yang frekuensi pengulangannya telah diketahui sebelum proses pengulangan dimulai. Pola instruksi for yaitu sebagai berikut :


for ([expression1];[expression2];[expression3]) statement;


Expression1 digunakan untuk melakukanproses awal atau inisialisasi, misalnya pemberian nilai awal kepada pencacah atau counter. Expression2 berupa expresi Boolean yang bila dikerjakan akan memberikan nilai true ( bukan nol) atau false (nol). Expression3 adalah instruksi pasca pengerjaan statement, biasanya digunakan untuk menaikkan atau menurunkan nilai counter. Alur logika instruksi for ditunjukkan oleh gambar dibawah ini

Expr1

Ulangi selama expr2 bernilai

True

Statement

Expr3

Akhir pengulangan


Urutan pengerjaan instruksi for adalah sebagai berikut:

  1. Expression1 dikerjakan
  2. Expression2 dievaluasi
  3. Jika hasil evaluasi expression2 adalah nilai bukan nol maka

    Statement dikerjakan

    Expression3 dikerjakan

    Ulangi langkah 2 dan 3

    Sedangkan jika bernilai nol maka proses selesai

Jadi statement akan dikerjakan berulang kali selama hasil evaluasi expression2 memberikan nilai bukan nol. Statement dapat berupa satu instruksi tunggal atau block statement, yaitu sejumlah instruksi yang dilingkup oleh {}.

Biasanya kita menggunakan instruksi for untuk melakukan pengulangan yang frekuensinya telah diketahui, minimum satu kali. karena expression2 dievaluasi terlebih dahulu sebelum statement dikerjakan, maka ada kemungkinan statement tidak dikerjakan satu kalipun. Oleh sebab itu kita harus memastikan bahwa pada awal pengerjaan instruksi for, hasil evaluasi xpression2 memberikan nilai bukan nol.


Sabtu, 16 April 2011

Struktur Branching (Percabangan)

Struktur Branching (Percabangan)

1. IF

Instruksi IF digunakan untuk memeriksa suatu kondisi dan melaksanakan instruksi lain jika kondisi tersebut terpenuhi atau bernilai true. Statement pada sintaks if boleh berupa satu instruksi tunggal atau beberapa instruksi (block statement) yang ditulis dalam {}. Jika evaluasi terhadap kondisi memberikan nilai true makastatement dikerjakan. Jika bernilai false maka statement tidak dikerjakan . alur logika Instruksi IF dapat anda lihat pada gambar dibawah ini.


Umumnya kondisi berupa sebuah ekspresi yang bernilai Boolean seperti a== 5 atau b > 10. Kondisi yang diuji dapat berupa kondisi tunggal atau kondisi gabungan.

Contoh pemakaian istruksi IF.

Dengan kondisi tunggal

if (nilai > 60) printf ("lulus") ;

Jika nilai lebih besar daripada 60 maka ditampilkan lulus


Dengan kondisi gabungan

if (( grade == 'D') ││ (grade == E' ))

printf ("tidak lulus") ;

Jika grade berisi huruf D atau E maka ditampilkan tidak lulus

2. If Else

Adakalanya kita harus melaksanakan proses yang berbeda untuk kondisi yang berbeda, misalnya menampilkan kata lulus untuk nilai yang sama dengan atau lebih besar daripada 60 dan menampilkan kata tidak lulus untuk nilai yang kurang dari 60 . selain dengan menggunakan dua instruksi if yang terpisah seperti berikut:

if (nilai >= 60) printf ("lulus") ;

if ( nilai < 60 ) printf ("tidak lulus") ;

bahasa C menyediakan klausa else untuk digunakan bersama dengan instruksi if. Secara umum pola dari if else yaitu:


if (kondisi) statement1 ; else statement2;


Apabila evaluasi terhadap kondisi memberikan nilai true maka statementdikerjakan, sebaliknya jika false maka statement2 dikerjakan. Jadi yang dikerjakan selalu salah satu dari kedua statement. Statement dapat berupa instruksi kosong, instruksi tunggal atau beberapa instruksi yang dilingkup dengan { }. Tidak diperbolehkan ada klausa else tanpa instruksi if.


Alur logika instruksi if else dapat andalihat pada gambar dibawah ini:

Contoh pemakaian instruksi if else

If (nilai >= 60) printf ("lulus") ;

Else printf ("tidak lulus")

Jika nilai lebih bessar sama dengan 60 maka tampilkan lulus, selain dari itu maka tampilkan tidak lulus.


If ((bil % 2) == 0) printf ("bilangan genap") ;

Else printf ("bilangan ganjil")

Jika bilangan habis dibagi 2 maka tampilkan genap, selain dari itu maka tampilkan bilangan ganjil


If ((grade == `D`) ││ (grade == 'E'))

Printf ("tidak lulus")

Else printf ("lulus")

Jika grade berisi "D" atau "E" maka tampilkan tidak lulus, selain dari itu tampilkan lulus.

3. Nested If (Struktur If bersarang)

Pada suatu instruksi if, statement yang dikerjakan apabila kondisi bernilai true dapat berupa instruksi if yanglain. Strukstur instruksi seperti ini disebut nested if (if bersarang). Hal yang sama juga berlaku untuk statement yang dikerjakan pada bagian klausa else. Berikut ini salah satu bentuk konfigurasi nested if beserta cara penulisannya :

Berikut ini cara membaca dari flowchart Nested if diatas :

if (kondisi1)

if (kondisi2) {

}

Contoh soal

Terdapat tiga bilangan bulat yang berbeda. Tulis program untuk menampilkan bilangan bulat terbesar diantara bilangan bulat tersebut.