Anda di halaman 1dari 12

Praktikum 4

Percabangan

NIM/Nama : Michael/3311911008

Setelah mengikuti praktikum ini, mahasiswa diharapkan dapat:


1. Membedakan kasus yang memerlukan penyelesaian dengan satu kondisi, dua kondisi,
atau lebih
2. Menerapkan jenis percabangan yang tepat untuk penyelesaian masalah yang diberikan
3. Menulis kode percabangan secara benar dalam bahasa C

Pengumpulan tugas praktikum:


Simpan laporan praktikum ini dengan nama P04_NIM.docx di folder yang sama dengan folder
tempat kode program. Namai folder dengan P04_NIM, kemudian zip. File EXE tidak perlu
diikutkan dalam zip. Upload ke http://learning-if.polibatam.ac.id.

Bagian 1: Program Cek Lulus *)


Buatlah program yang meminta sebuah nilai ujian dimasukkan dari keyboard. Hasilnya berupa
keterangan “lulus” kalau nilainya lebih besar atau sama dengan 60 dan “tidak lulus” kalau
nilainya kurang dari 60. Simpan dengan nama 1_ceklulus.c.

Apa masukan program tersebut? Apa keluarannya? Proses apa yang diperlukan untuk mengubah
masukan menjadi keluaran program ini?

Masukan: nilai

Keluaran: Selamat anda lulus

Maaf anda gagal

Proses: if >=60 anda lulus

maaf anda gagal  else nilai <60

Tuliskan algoritma (notasi bebas) di sini.

Deklarasi: nilai : real

Algoritma:
Input nilai

If nilai >= 60 then lulus

Else if (nilai<60)

tidak lulus

output(lulus/tidak lulus)

Salin kode program di sini.

#include <stdio.h>

main()

int nilai;

printf("Masukan nilai anda :");

scanf("%d",&nilai);

if (nilai >=60)

printf("Selamat, anda lulus");

else

printf ("maaf, anda gagal");

Jelaskan hasil running program!


Nilai 60>= selamat anda
lulus

Nilai <60 maaf anda gagal

Bagian 2: Program Cek Bilangan


Buatlah algoritma dan program yang meminta sebuah bilangan bulat dimasukkan dari keyboard,
kemudian menghasilkan informasi sebagai berikut.

- “bilangan genap” kalau nilainya genap

- “bilangan ganjil” kalau nilainya ganjil

- “nol” kalau nilainya sama dengan nol

Simpan dengan nama 2_cekbilangan.c.

Apa masukan program tersebut? Apa keluarannya? Proses apa yang diperlukan untuk mengubah
masukan menjadi keluaran program ini?

Masukan:bilangan

Keluaran:bilangan ganjil, bilangan genap, nol

Proses:if angka 0 == anda menginput angka 0

else if angka %2== 0 adalah bilangan genap

else adalah bilangan ganjil

Tuliskan algoritma (notasi bebas) di sini.

Menampilkan Bilangan ganjil atau genap

{menentukan bilangan ganjil atau genap}


Deklarasi:

Angka: integer

Pseudocode:

Input(angka)

If (angka == 0) then

nol

Else if (angka % 2 == 0) then

Bilangan genap

Else

Bilangan ganjil

Output(jenis bilangan)

Salin kode program di sini.

#include<stdio.h>

int main()

int angka;

printf ("masukkan bilangan anda :");

scanf("%i", &angka);

if (angka==0)

printf("anda memasukan bilangan 0");

}
else if (angka%2==0)

printf(" ini bilangan genap");

else

printf(" ini bilangan ganjil");

return 0;

Jelaskan hasil running program!

Bila menginput angka 0 maka hasil compile anda 0

Bila menginput angka genap maka %2 bilangan


genap

else bilangan ganjil

Bagian 3: Program Kasir Fast Food dengan Diskon *)


Berikut adalah daftar menu sebuah kedai cepat saji:

Burger Rp 5000

Pizza Rp 4500

Soft Drink Rp 2500

Buatlah sebuah program yang menerima data banyaknya pesanan pelanggan untuk masing-
masing menu tersebut, kemudian hitung dan tampilkan harga total makanan yang harus dibayar.
Program kemudian menanyakan apakah pembeli memiliki kartu member. Jika member, maka
mendapatkan diskon 10%. Contoh jalannya program sebagai berikut.

# FAST FOOD POLIBATAM #


Daftar pesanan:
Burger :3
Pizza :1
Soft Drink :4
------------------------
Member? (y/n) :y

Total : Rp 29500
Diskon : Rp 2950
Bayar : Rp 26550

# FAST FOOD POLIBATAM #


Daftar pesanan:
Burger :3
Pizza :1
Soft Drink :4
------------------------
Member? (y/n) :n

Total : Rp 29500
Diskon : Rp 0
Bayar : Rp 29500

Catatan: tulisan warna merah merupakan masukan dari pengguna, sedangkan warna biru adalah
keluaran dari program. Simpan dengan nama 3_kasirdiskon.c.

Apa masukan program tersebut? Apa keluarannya? Proses apa yang diperlukan untuk mengubah
masukan menjadi keluaran program ini?

Masukan: burger, pizza, softdrink, total, diskon, bayar, dan member

Keluaran: Total pembayaran menggunakan member y/n

Proses: total = (burger * 5000) + (pizza * 4500) + (soft * 2500

if member diskon = total * 10 / 100

else  diskon = 0
bayar = total - diskon

Tuliskan algoritma (notasi bebas) di sini.

Member diskon

{membuat program hitungan kasir dengan menggunakan program percabangan}

Deklarasi

Burger, pizza, softdrink, total, bayar, diskon : integer

Member : float

Pseudocode

Input(burger)

Input(pizza)

Input(softdrink)

total = (burger * 5000) + (pizza * 4500) + (soft * 2500)

if (member == 'y') then

member = diskon = total * 10 / 100;

else

member = diskon = 0;

endif

output(total, diskon, bayar)

Salin kode program di sini.

#include<stdio.h>

int main()

int burger, pizza, softdrink, total, diskon, bayar;


char member;

printf("Pesan Burger : ");

scanf("%d", &burger);

printf("Pesan Pizza : ");

scanf("%d", &pizza);

printf("Pesan Soft Drink : ");

scanf("%d", &softdrink);

printf("menggunakan kartu member? [y/n]: ");

scanf("%s", &member);

total = (burger * 5000) + (pizza * 4500) + (softdrink * 2500);

if (member == 'y')

member = diskon = total * 10 / 100;

else

member = diskon = 0;

bayar = total - diskon;

printf("Total : Rp %d\n", total);

printf("Diskon : Rp %d\n", diskon);

printf("Bayar : Rp %d", bayar);

return 0;

}
Jelaskan hasil running program

Input Burger,Pizza,Softdrink

Menggunakan member y

diskon = total * 10 / 100

Total harga – Diskon = Total bayar

Input Burger,Pizza,Softdrink

Menggunakan member n

Total harga = Total bayar

Jika masih ada waktu tersisa, kerjakan soal berikut. Jika tidak sempat, kerjakan sebagai latihan di
rumah.

Ekstra: Program Cek Segitiga


Buatlah algoritma program yang menerima masukan panjang ketiga sisi suatu segitiga. Hasilnya
berupa keterangan:

- “sama sisi” jika ketiga sisi sama

- “sama kaki” jika kedua sisi sama

- “semua sisi berbeda” jika tidak ada sisi yang sama

Simpan dengan nama 4_ceksegitiga.c.


Apa masukan program tersebut? Apa keluarannya? Proses apa yang diperlukan untuk mengubah
masukan menjadi keluaran program ini?

Masukan: niali sisi 1, sisi 2, sisi 3

Keluaran: jenis segitiga

Proses: Proses:if (a==b==c)

segitiga = printf("Segitiga sama sisi");

else if ((a==b)||(a==c)|| (b==c))

segitiga = printf("Segitiga sama kaki");

else

segitiga = printf("Segitiga sembarang");

return 0;

Tuliskan algoritma (notasi bebas) di sini.

Cek segitiga

{menentukan apakah itu segitiga sama sisi? Sama kaki? Atau sembarang dengan inputkan nilai sisi segitiga}

Deklarasi

a, b, c, segitiga

Pseudocode

Input(1)

Input(2)

Input(3)

if (a==b==c) then

segitiga = printf("Segitiga sama sisi");

else if ((a==b)||(a==c)|| (b==c)) then

segitiga = printf("Segitiga sama kaki");

else

segitiga = printf("Segitiga sembarang");

endif
return 0;

output(segitiga)

Salin kode program di sini.

#include <stdio.h>

int main()

int a,b,c,segitiga;

printf("Masukkan sisi 1 : ");

scanf("%d", &a);

printf("Masukkan sisi 2 : ");

scanf("%d", &b);

printf("Masukkan sisi 3 : ");

scanf("%d", &c);

if (a==b==c)

segitiga = printf("ini adalah segitiga sama sisi");

else if ((a==b)||(a==c)|| (b==c))

segitiga = printf("ini adalah segitiga sama kaki");

else

segitiga = printf("ini adalah segitiga sembarang");

return 0;
}

Jelaskan hasil running program!

Bila 2 sisi sama maka segitiga sama kaki

Bila tidak ada sisi sama maka segitiga sembarang

Bila semua sisi sama segitiga sama sisi

Anda mungkin juga menyukai