Keputusan dan Perulangan

Pertemuan ke-5 dan 6
MK. Algoritma dan Pemrograman
Prodi Teknik Elektro
Universitas Padjadjaran

Dr. Darmawan Hidayat, M.T.

1

Pokok Bahasan dan Tujuan
• Pokok bahasan: Keputusan dan perulangan (Decision and Loops)
• Sub pokok bahasan:
1. Pemrograman if...else
2. Perulangan for...
3. Perulangan do...while
4. Instruksi break dan continue
5. Pernyataan switch...case
6. Lompatan goto
• Tujuan:
Setelah mengikuti praktikum dengan pokok bahasan keputusan dan perulangan
mahasiswa mampu menuliskan program C untuk perhitungan matematika dan
logika menggunakan perintah-perintah uji kondisi dan perulangan dengan benar.
• Waktu: 6 x 50 menit = 300 menit
• Pertemuan ke-5 dan 6
Dr. Darmawan Hidayat, M.T.

2

Pemrograman if, if..else dan
if...else tersarang

Dr. Darmawan Hidayat, M.T.

3

• Jika kondisi bernilai true (syarat terpenuhi) maka pernyataan di dalam tubuh pernyataan if akan dieksekusi tetapi jika kondisi bernilai false maka pernyataan di dalam tubuh if akan diabaikan. Darmawan Hidayat. 4 .Pernyataan if if (kondisi) { pernyataan untuk kondisi bernilai true. Dr. } • Pernyataan if menguji nilai kondisi. M.T.

. scanf("%d". M. Number = -2 ditampilkan di monitor.num). Keluaran 1 Masukkan suatu bilangan. } Dr.h> int main(){ int num. Masukkan suatu bilangan. bernilai true.T. if(num<0){ Jika pengguna memasukkan -2 maka kondisi (num<0) printf("Bilangan = %d\n". Bilangan = -2 Pernyataan if di Bahasa C mudah.Contoh1: pernyataan if Buat program untuk mencetak suatu bilangan yang dimasukkan oleh pengguna hanya jika bilangan tersebut adalah negatif #include<stdio. 5 ..&num).-2 printf("Masukkan suatu bilangan. Sehingga.\n"). Darmawan Hidayat. } Keluaran 2 return0...5 Pernyataan if di Bahasa C mudah.

else digunakan jika programmer ingin mengeksekusi pernyataan-pernyataan ketika kondisi bernilai true dan mengeksekusi pernyataan-pernyataan lainnya jika bernilai false. } else { pernyataan jika kondisi false.. • Sintaks if.. Darmawan Hidayat.T.else: if (kondisi) { pernyataan jika kondisi true.. M..else • Pernyataan if.. 6 . } Dr.Pernyataan if..

Dr.num).h> main(){ int num.Contoh 2: Pernyataan if. else printf("%d ganjil. if((num%2)==0) //sisa= 0 atau 1 ? printf("%d genap.". M. scanf("%d".".&num). printf(“Masukkan sebuah nilai = \n"). Keluaran 2 Masukkan sebuah nilai = 22 22 genap. Return 0.T..else Buat program untuk mengecek bilangan yang dimasukkan oleh pengguna bernilai genap atau ganjil: #include<stdio. Darmawan Hidayat.num). 7 . } Keluaran 1 Masukkan sebuah nilai = 25 25 ganjil..

Pernyataan if. .T... • Sintaks if. } else if (kondisi3) { pernyataan jika kondisi1 dan 2 false dan kondisi3 true. M. . 8 . else { pernyataan jika semua kondisi false. Darmawan Hidayat.else tersarang digunakan ketika program memerlukan lebih dari satu uji kondisi.. } Dr. } else if(kondisi2) { pernyataan untuk kondisi2 true...else tersarang • Pernyataan if. } .else tersarang: if (kondisi1){ pernyataan untuk kondisi1 true..

else tersarang • Pernyataan if. • Jika seluruh kondisi beernilai false maka maka pernyataan di dalam else akan dieksekusi dan program akan keluar dari nested if . Darmawan Hidayat.T. • Jika kondisi pertama bernilai true maka pernyataan di dalam kurung {} akan dieksekusi.else tersarang memiliki lebih dari satu uji kondisi.. • Namun.else. jika bernilai salah maka kondisi kedua akan diuji. M.. • Jika kondisi kedua bernilai ture maka pernyataan di dalam {} di bawahnya akan dieksekusi..Cara kerja if.. • Standar ANSI menentukan 15 tingkat tersarang yang tersedia Dr. 9 .

Darmawan Hidayat. 5 3 Result: 5 > 3 #include<stdio.h> int main(){ int numb1. Enter two integers to check.&numb1. Result: -4 = -4 else if(numb1>numb2)//checking whether numb1 is greater than numb2. else printf("Result: %d > %d".numb2.numb1). -4 if(numb1==numb2)//checking whether two integers are equal. M.&numb2). scanf("%d %d". 10 . numb2.T. } Dr.numb1.numb2). Keluaran 2 printf("Enter two integers to check\n"). printf("Result: %d > %d".Contoh 3: Pernyataan if else tersarang Buat program untuk menghubungkan dua nilai integer yang dimasukkan pengguna dengan tanda = atau > atau < Keluaran 1 Enter two integers to check.numb2). -4 printf("Result: %d = %d". return0.numb1.

T. Lompatan goto Dr. Perulangan do.. 11 . Perulangan while 3. Perulangan for 2.Perulangan 1. Darmawan Hidayat. M. Instruksi break dan continue 5.while 4.

Darmawan Hidayat.while • Sintaks Dr..Perulangan for. 12 . • Terdapat tiga jenis perulangan di dalam pemrograman C: 1. • Perulangan digunakan dalam melakukan tugas berulang di dalam pemrograman. Perulangan do. Perulangan while 3.T. • Perulangan menyebabkan program mengeksekusi suatu blok instruksi tertentu secara berulang hingga kondisi uji bernilai false. Perulangan for 2. M...

M.. pernyataan perbaruan) { pernyataan yang dieksekusi. ungkapan uji. } Dr.T.. Diagram alir for • Sintaks for(nilai awal. 13 . Darmawan Hidayat.Perulangan for.

). Darmawan Hidayat. Cat. uji dan perbaruan dipisahkan dengan titik koma (. Dr.2.count<=n. M. return0. Bilangan natural adalah 1. scanf("%d".&n).Contoh perulangan for Buat sebuah program untuk menghitung penjumlahan n bilangan natural pertama dimana n dimasukkan oleh pengguna. count. sum=0. 14 .sum). Output } Masukkan nilai n = 19 Jumlah = 190 Catat: Ungkapan awal.T. } printf("Jumlah = %d".h> int main(){ int n.++count) //for berhenti jika count>n { sum=sum+count. printf("Masukkan nilai n = ").3… #include<stdio. for(count=1.

T. Darmawan Hidayat.Perulangan while… • Sintaks: while (kondisi) { pernyataan. • Jika kondisi bernilai true maka pernyataan di dalam blok perulangan while dalam kurung {} akan dieksekusi. } • Perulangan while menguji nilai kondisi. 15 . Dr. • Kemudian kondisi akan diuji lagi apakah bernilai true atau false akibat eksekusi pernyataan di dalam blok. M. • Proses ini terus berlanjut hingga kondisi bernilai false.

2. return 0.h> main() { int cacah=1.cacah).T. … #include <stdio. ++cacah.Contoh perulangan while Buat program C untuk menampilkan sepuluh bilangan asli pertama. 16 . } getch(). Dr.3. M. Bilangan asli = 1.h> #include <conio. Darmawan Hidayat. } while(cacah<=10) { printf ( "%d\n".

17 ..Perulangan do.... • Uji kondisi perulangan while ada di awal perulangan sedangkan uji kondisi perulangan do. Darmawan Hidayat.while berada di akhir perulangan.T..while • Pada C. Dr.while do { pernyataan.. perulangan do. M.. } while (kondisi).. • Sintaks perulangan do.while sangat mirip dengan perulangan while.

2. Dr. } getch(). 18 . ++cacah.cacah).3. Darmawan Hidayat.h> #include <conio. M.while #include <stdio.. • Bilangan asli = 1. … main() { int cacah=1.T.Contoh do. return 0.. } while (cacah<=10).h> • Buat program C untuk menampilkan sepuluh bilangan asli pertama. do { printf ( "%d\n".

Darmawan Hidayat.Instruksi break dan continue • Ada dua pernyataan untuk mengubah aliran program yaitu break dan continue. M. • Untuk keperluan tersebut dapat digunakan pernyataan break dan continue. 19 . • Perulangan melakukan pekerjaan yang berulang hingga kondisi bernilai false.T. • Terkadang diperlukan keluar mengabaikan pekerjaan dalam perulangan atau menghentikan perulangan tanpa uji kondisi. • Pernyataan break juga digunakan dalam pernyataan switch untuk keluar dari switch Dr.

• Pernyataan break digunakan bersama dengan pernyataan if.. M.Pernyataan break • Pernyataan break digunakan digunakan untuk menghentikan perulangan pada tiga perulangan C for. Dr. 20 ..while. while dan do. Darmawan Hidayat.T. • Sintaks pernyataan break break.

if (kondisi) { break.T. } do{ pernyataan if (kondisi2) { break. Darmawan Hidayat. } pernyataan. uji kondisi. 21 . } Dr. } while (kondisi1) For (nilai awal. M. } pernyataan.Pernyataan break while (kondisi1) { pernyataan if (kondisi2) { break. } pernyataan. ungkapan perbaruan) pernyataan.

Dr. 22 . • Untuk keperluan itu dapat digunakan pernyataan continue. Darmawan Hidayat.T. M. • Sintaks pernyataan continue continue.Pernyataan continue • Terkadang diperlukan melompati beberapa pernyataan di dalam perulangan.

} pernyataan. Darmawan Hidayat. } pernyataan. } pernyataan. ungkapan perbaruan) pernyataan. } do{ pernyataan if (kondisi2) { continue. if (kondisi) { continue.Pernyataan continue while (kondisi1) { pernyataan if (kondisi2) { continue. } while (kondisi1) For (nilai awal. 23 . M.T. } Dr. uji kondisi.

product).Contoh continue • Buat program C untuk menghitung perkalian 4 bilangan integer yang dimasukkan pengguna.num.&num). • Jika pengguna memasukkan 0 maka bilangan 0 akan dilewati. M. getch().T.product. if(num==0) continue.++i) { printf("Masukkan bilangan ke-%d = ". }Dr.product=1.h> #include<conio. scanf("%d".h> main() { int i. Darmawan Hidayat.i). 24 . #include<stdio.i<=4. /*jika num=0. return 0. product*=num dilewati. loop lanjut*/ product=product*num. } printf("Hasil perkalian empat bilangan tersebut = %d". for(i=1.

T.Dr. 25 . M. Darmawan Hidayat.

...case.else tersarang namun ini akan membuat program menjadi kompleks.T..Pernyataan switch.case • Pembuatan keputusan diperlukan ketika program menghadapi situasi untuk memilih satu pilihan di antara banyak pilihan pernyataan. M. • Masalah ini dapat diatasi dengan pernyataan switch. 26 . Darmawan Hidayat. • Untuk keperluan ini dapat digunakan if... Dr.

27 .. Darmawan Hidayat. Dr. break.Pernyataan switch... . • Jika nilai n cocok dengan konstanta pada case maka kode pernyataan terkait akan dieksekusi. case konstanta2: pernyataan jika n=konstanta2.T. .case switch (n) { case konstanta1: pernyataan jika n=konstanta1. break. • Jika nilai n tidak ada yang cocok dengan satupun konstanta case maka kode pernyataan di dalam default yang akan dieksekusi lalu meninggalkan pernyataan switch.. default: pernyataan jika n = tidak ada yang cocok.case Sintaks switch. } • Nilai n adalah sebuah bilangan integer atau karakter. M. .

3 4. num2.&o). scanf("%f%f". Keluaran Enter operator either + or . } return0.num2.'*' or '/') dan memasukkan dua operan dan melakukan perhitungan terkait pada operan tersebut.T.Contoh pernyataan switch.num1.1f * %.or * or / * Enter two operands: 2. num1/num2). break.num1.3 * 4.&num2).1f ..&num1.5 2..or * or / \n"). scanf("%c". num1+num2).1f".h> int main(){ char o. break. default: printf("Error! operator is not correct").num1.1f + %.5 = 10. } Buat program yang meminta pengguna untuk memilih operator ('+'.1f = %. case'/': printf("%. M. num1*num2). case'*': printf("%. switch(o){ case'+': printf("%. break. case'-': printf("%.1f".%. printf("Enter two operands: "). num2. printf("Select an operator either + or .3 Dr. break.case # include <stdio. num1-num2).'-'. num2. 28 .1f". break. float num1. Darmawan Hidayat.1f / %.1f = %.num1.1f = %.1f". num2.1f = %.

... goto maka kontrol program akan lompat menuju label: dan mengeksekusi perintah di • Sintaks pernyataan goto bawahnya. M.. program dengan memindahkan • Ketika kontrol program mencapai pernyataan kendali ke bagian lain di program.. Dr..... ......... goto label.. label: statement... Darmawan Hidayat.............T. ..Lompatan goto • Pernyataan goto digunakan untuk mengubah urutan normal eksekusi • label merupakan suatu pengenal.... 29 ..

30 .Contoh pernyataan goto Dr. M.T. Darmawan Hidayat.