Anda di halaman 1dari 16

Nim 20524003

Nama HAIKAL RIVALDI PRIMAYOGA

Kelas A

Tutorial Pertemuan 3

Pencabangan

Tujuan aktivitas: Mahasiswa dapat memahami fungsi dan cara penggunakan intruksi pencabangan
tunggal, pencabangan lebih dari 1 kondisi, dan pencabangan berhirarki. Dalam bahasa
pemrograman C, kondisi pencabangan dapat dilakukan dengan cara:

1. If – Else statement
2. Swith – Case statement
3. Operator ? :

IF – Else Statement

If (kondisi1)
{
Statement1;
}
Else if (kondisi2)
{
Statement2;
}
Else
{
Statement3;
}

Switch – Case Statement

Switch (nilai)
{
Case 1:
Statement1;
Case 2:
Statement2;
Default:
Statement3;
}
Operator ?:
(kondisi)?Statement_if_true:Statement_if_false;

Aktivitas 1 : 50 menit (If – Else statement)

PENCABANGAN TUNGGAL

Ketikkan program yang ada dibawah ini:

Pertanyaan :

Silahkan jalankan program diatas dan perbaiki (debug) jika


tidak berhasil dijalankan !
Jika nilai variabel lokal a diganti menjadi 3 apakah yang
terjadi ? berikan alasan anda !

Jawab :

Program sudah dijalankan dan dapat berjalan dengan normal. Jika


saat variable lokal a diganti nilainya menjadi 3 program tetap
berjalan namun tidak menampilkan hasil apapun pada layar.
TUGAS 1

1. Buatlah program pencabangan 1 kondisi dengan ketentuan sebagai berikut


a. User dapat memberikan input data karakter/string “y(ya)/t(tidak)”.
b. Jika user memberikan input “y” maka dilayar akan menampilkan tulisan “selamat
anda berhasil”.
PENCABANGAN LEBIH DARI 1 KONDISI

Ketikkan program dibawah ini:

Pertanyaan :

Silahkan jalankan program diatas dan perbaiki (debug) jika


tidak berhasil dijalankan !
Jika program berhasil dijalankan, apakah yang terjadi jika
anda memberikan nilai inputannya adalah 5? Mengapa?
Berikan alasan anda!
Jawab :

Program tidak bisa dijalankan karena ada perbedaan deklarasi pada


variable a, pada deklarasi data integer menggunakan A (huruf a
besar) sedangkan pada input setiap nilai menggunakan a kecil.
Dikarnakan pada percabangan if dan else karna pada kondisi if
kondisi tidak terpenuhi karna nilai a = 5 dilanjutkan ke else. Jika
pada awal kondisi a ≥ 5, maka kondisi akan terpenuhi.
Ketikkan program dibawah ini !
Pertanyaan :

Silahkan jalankan program diatas dan perbaiki (debug) jika


tidak berhasil dijalankan !
Bagaimana hasil keluaran dari program jika diberikan input
10
-1
5.5
Jawaban :

Pada program diatas belum dapat dijalankan karena pada baris ke


20 tidak diberi kurung kurawal tutup ( } ). Jika dimasukan nilai 10 dan
-1 maka proses yang ditampilkan akan mendefinisikan “tidak
terkategori” karena masuk kedalam kondisi else. Sedangakan nilai
yang diinput 5.5 akan masuk ke kategori “kelas 2”.
PENCABANGAN HIRARKI (NESTED)

Ketikkan program dibawah ini!


Pertanyaan :

Jika tipe data variabel p,l, hasil, dan a diubah menjadi tipe
data double, bagaimanakah hasil dari program tersebut jika
dijalankan?
Jawab :
Jika hanya tipe data yang diubah maka hasil yang akan ditampilkan
tidak ada, dikarenakan pada setiap nilai yang akan di inputkan akan
dibaca sebagai tipe float oleh “hasil”.

Bagaimana modifikasi program yang harus dilakukan untuk


dapat memenuhi kondisi yang ada pada pertanyaan diatas
(no. 1) ?
Jawab :
Pada format data scanf dan printf “%f” diganti menjadi “%lf” untuk
dapat membaca data double, agar data yang diinput sesuai dengan
data double.

Jika setial kondisi “else” dihilangkan, apakah yang terjadi


pada program tersebut jika diberi input diluar dari kondisi-
kondisi yang sudah diberikan?
Jawab :

Jika kondisi “else” dihilangkan, pada program tetap terbaca tetapi


tidak menampilkan apa apa, sedangkan jika kita memberikan input
diluar dari kondisi yang sudah diberikan saat kondisi “else” tidak
dihilangkan maka akan muncul “pilihan tidak ada” atau “mode tidak
terdefinisi”pada baris 79 dan 84.
Aktivitas 2 : 40 menit (Switch – Case)

Ketikkan program dibawah ini


Pertanyaan :

Apakah kedua program tersebut memberikan hasil yang


berbeda? Jika berbeda, jelaskan perbedaanya! Mengapa hal
tersebut dapat terjadi ?
Apa yang terjadi jika nilai variabel tipe diberi nilai:
Nilai = 0
Nilai = 10
Jawab :

Kedua program memberikan hasil yang berbeda, karena pada


program pertama jika ditampilkan mode tidak ada. Sedangkan pada
program kedua menampilkan hasil “anda dalam mode 2” sekaligus
menampilkan “mode tidak ada” karna pada program kedua ini tidak
terdapat command break; pada setiap casenya. Jika masing masing
variable diberi nilai 0 dan 10 akan menampilkan “mode tidak ada
karena yang terdapat pada percabangan switch hanya terdapat 2
case dan 3 case.
TUGAS 2

1. Silahkan modifikasi program pada pencabangan hirarki (nested) yang sebelumnya


menggunakan if-else menjadi switch-case !
Aktivitas 3 : 30 menit (Operator ? if_true : if_false)

Ketikkan program dibawah ini

Pertanyaan :

Apakah memungkinkan merancang pencabangan 3 kondisi menggunakan


“operator ?:” ? jika memungkinkan buatlah sebuah program sederhana minimal 3
kondisi pencabangan menggunakan operator tersebut !
TUGAS BESAR (30 menit)

Buatlah flow chart, pseudocode untuk menghitung nilai Indeks Prestasi Mahasiswa.
Nilai yang diberikan berbentuk huruf A,B,C,D dan E. Pembobotan nilai dengan huruf
yaitu; A=4, B=3, C=2, D=1, dan E=0. Ada 5 mata kuliah yang dinilai yaitu Kalkulus, Fisika,
Elektronika, Pemrograman, dan Bahasa Inggris. Tiap Mata kuliah berbobot 3 SKS. Rumus
untuk menghitung IP adalah sebagai berikut!
PH 1∗SKS+ PH 2∗SKS+ PH 3∗SKS+ PH 4∗SKS+ PH 5∗SKS
IP=
Jumlah SKS
PH : Bobot nilai huruf, contoh jika A maka PH = 4
Jumlah SKS adalah 15 karena kelima mata kuliah berbobot masing-masing 3 SKS

Kategorikanlah hasil dari perolehan IPK tersebut dengan ketentuan sebagai berikut !
● Jika nilai IP diatas 3.5 kategorikan sebagai “Cumlaude”
● Jika nilai IP antara 3 dan 3.49 kategorikan “Sangat Baik”
● Jika nilai IP antara 2.5 dan 3 kategorikan “Baik”
● Jika nilai IP dibawah 2.5 maka sistem akan memberikan bertanya kembali
“apakah anda masih ingin melanjutkan kuliah ?”, jika user menjawab “ya”, maka
tampilkan tulisan “tingkatkan IP”, dan jika tidak “silahkan hub prodi”.
● Selain dari kategori diatas tampilkan pesan “maaf sistem tidak terdefinisi”

Ketentuan dalam program tersebut:


a. Menggunakan pencabangan berhirarki (nested)
b. Kombinasi minimal menggunakan 2 jenis teknik pencabangan didalam program
tersebut (contoh if-else dengan swith case atau if-else, switch-case, dan operator ?:)
Jawaban Tugas Besar

Start

Input data
nilai dari 5
mata kuliah

Menghitung nilai IP

Nilai IP
ditampilkan

IP>3,5 3>IP>3.49 2,5>IP>3 IP,2,5

input keadaan yang


akan dilakukan
Sangat
cumlaude baik mahasiswa
baik

Tingkatkan IP(ya) Hubungi prodi (tidak)


Sikap
mahasiswa

Output dari
sikap
mahasiswa

Selesai

Anda mungkin juga menyukai