Anda di halaman 1dari 12

Praktikum 5

Percabangan (lanj.)
NIM/Nama : 3311901057/Rido Dwi Mareta

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 P05_NIM.docx di folder yang sama dengan folder tempat
kode program. Namai folder dengan P05_NIM, kemudian zip. File EXE tidak perlu diikutkan dalam zip.
Upload ke http://learning-if.polibatam.ac.id.

*) khusus untuk kelas malam/karyawan, soal yang diberi tanda ini menjadi tugas
yang digunakan untuk latihan di rumah dan tidak dikumpulkan

Bagian 1: Channel TV *)
Diketahui nomor channel TV berikut.

1 = TVRI
2 = BatamTV
3 = Indosiar
4 = TransTV
5 = Trans7
6 = MNC
7 = MetroTV
8 = TVOne
9 = RCTI
10 = SCTV
11 = ANTV

Buatlah program yang menerima masukan nomor channel, dan menampilkan nama channel TV yang
sesuai. Simpan dengan nama 1_channel.c.

Apa saja masukan program tersebut? Apa keluarannya? Proses apa yang diperlukan untuk mengubah
masukan menjadi keluaran program ini?
Masukan : nomor channel

Keluaran : nama channel

Proses : dengan menginput nomor channel maka program akan memunculkan nama channel.

Tuliskan algoritma (notasi bebas) di sini.

Start

Input (nomor channel)

Proses (program akan menetapkan nomor channel dengan nama channel dengan menggunakan
perintah If-else

Output (nama channel)

end

Salin kode program di sini.

#include <stdio.h>

#include <conio.h>

main ()

int channel;

printf("Masukkan nomor channel tv : ");

scanf("%d",&channel);

if(channel==1){

printf("Channel TVRI");

else if(channel==2){

printf("Channel BatamTV");

}
else if(channel==3){

printf("Channel Indosiar");

else if(channel==4){

printf("Channel TransTV");

else if(channel==5){

printf("Channel Trans7");

else if(channel==6){

printf("Channel MNC");

else if(channel==7){

printf("Channel MetroTV");

else if(channel==8){

printf("Channel TVOne");

else if(channel==9){

printf("Channel RCTI");

else if(channel==10){

printf("Channel ANTV");

getch();
}

Jelaskan hasil running program!

Hasil running program akan menampilkan nama channel sesua dengan nomor channel yang telah
ditetapkan

Bagian 2: Program Body Mass Index


Berat badan ideal seseorang dapat diketahui dari Body Mass Index (BMI)-nya. BMI dapat dihitung
dengan cara berat badan dibagi kuadrat tinggi badan dalam meter:

𝐵𝑒𝑟𝑎𝑡 𝐵𝑎𝑑𝑎𝑛 (𝑘𝑔)


𝐵𝑀𝐼 =
𝑇𝑖𝑛𝑔𝑔𝑖 𝐵𝑎𝑑𝑎𝑛 (𝑚)2

Berdasarkan BMI, berat badan seseorang dapat digolongkan sebagai berikut.

BMI Keterangan
<18.5 Berat badan kurang
18.5 – 23.9 Berat badan normal
24 – 26.9 Berat badan lebih
>27 Obesitas

Buatlah program yang menerima masukan berat badan dalam kg, dan tinggi badan dalam cm. Program
menghitung BMI dan menampilkan tafsiran BMI di layar. Simpan program dengan nama 2_BB.c.

Contoh jalannya program sebagai berikut.

Berat badan (kg) : 50


Tinggi badan (cm) : 161
--------------------------------------
BMI Anda = 19.3
Berat badan Anda normal.

Catatan: tulisan warna merah merupakan masukan dari pengguna, sedangkan warna biru adalah
keluaran dari program.

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

Masukan : berat badan dan tinggi badan

Keluaran : BMI dan keterangan


Proses : input berat badan dan tinggi badan akan diproses sehingga akan menghasilkan nilai bmi dan
menampilkan keterangannya

Tuliskan algoritma (notasi bebas) di sini.

Start

Input (berat badan, tinggi badan)

Proses (program akan meminta berat dan tinggi badan kemudian akan lakukan perhitungan untuk
mendapatkan nilai BMI dan menetapkan keterangan yang akan ditampilkan)

Output (Nilai BMI dan keterangan)

Salin kode program di sini.

#include <stdio.h>

#include <conio.h>

main()

float bb,tb,tinggi,bmi;

printf("Masukkan berat badan anda (kg) : ");

scanf("%f",&bb);

printf("Masukkan tinggi badan anda (cm) : ");

scanf("%f",&tb);

tinggi=tb/100;

bmi=bb/(tinggi*tinggi);

printf("\nBody Mass Index : %0.2f\n",bmi);

printf("Keterangan : ");

if(bmi<18.5){
printf("Berat badan anda kurang");

else if(bmi>18.5&&bmi<23.9){

printf("Berat badan anda normal");

else if(bmi>24&&bmi<26.9){

printf("Berat badan anda lebih");

else if(bmi>27){

printf("!!! OBESITAS !!!");

return 0;

Jelaskan hasil running program!

Hasil running program akan menampilkan nilai BMI dan keterangan dari nilai BMI tersebut

Bagian 3: Perhitungan Gaji *)


Tulislah program yang membaca nama dan upah per jam dari seorang karyawan. Kemudian dimasukkan
jumlah jam karyawan tersebut bekerja selama seminggu. Hitunglah gaji yang harus diterima karyawan
tersebut. Kerja lembur (lebih dari 40 jam) dibayar sebesar 150% dari upah normalnya. Tampilkan total
gaji karyawan tersebut, dan buat rinciannya dalam sebuah file slipgaji.txt. Simpan file program menjadi
3_gaji.c.

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

Masukan : nama, upah, jam

Keluaran : gaji, gaji lembur, total gaji


Proses : jika jam kerja perminggu lebih dari 40 jam maka akan menghitung gaji basic, gaji lembur dan gaji
total. Jika jam kerja kurang dari 40 maka hanya akan menghitung total gajinya saja

Tuliskan algoritma (notasi bebas) di sini.

Start

Input (upah perjam, jam kerja, gaji, jam lembur, gaji lembur, total gaji}

Proses

If jam > 40 then

Total gaji  gaji+gaji lembur

else

Total gaji  gaji

Endif

Output (gaji, gaji lembur, total gaji)

Salin kode program di sini.

//Program

#include <stdio.h>

#include <conio.h>

int main()

//Deklarasi

char nama [20];

int upah,jam,gaji,jamlembur,gajilembur,totalgaji;

//Membuat file .txt

FILE*slipgaji;

slipgaji=fopen("slipgaji.txt","w");
//input

printf("Nama : ");

scanf("%19[^\n]",nama);

printf("Upah perjam : ");

scanf("%d",&upah);

printf("Jam kerja (seminggu) : ");

scanf("%d",&jam);

printf("-------------------------------\n");

//proses

if(jam>40){

jamlembur=jam-40;

gaji=upah*jam;

gajilembur=jamlembur*upah*1.5;

totalgaji=gaji+gajilembur;

//output

printf("Gaji basic : %d\n",gaji);

printf("Gaji lembur : %d\n",gajilembur);

printf("Total gaji : %d\n",totalgaji);

//File .txt

fprintf(slipgaji,"Nama Karyawan : %s\n",nama);

fprintf(slipgaji,"Upah per jam : %d\n",upah);

fprintf(slipgaji,"Jam kerja per minggu : %d\n",jam);


fprintf(slipgaji,"Gaji basic : %d\n",gaji);

fprintf(slipgaji,"Gaji lembur : %d\n",totalgaji);

fclose(slipgaji);

//proses

else {

gaji=upah*jam;

//output

printf("Gaji anda : %d",gaji);

//file .txt

fprintf(slipgaji,"Nama Karyawan : %s\n",nama);

fprintf(slipgaji,"Upah per jam : %d\n",upah);

fprintf(slipgaji,"Jam kerja per minggu : %d\n",jam);

fprintf(slipgaji,"Total gaji : %d\n",gaji);

fclose(slipgaji);

return 0;

Jelaskan hasil running program!

Hasil running program akan menampilkan jumlah gaji, gaji lembur, dan total gaji dari hasil input
berdasarkan upah perjam dan jam kerja perminggu
Jika masih ada waktu tersisa, kerjakan soal berikut. Jika tidak sempat, kerjakan sebagai latihan di rumah.

Ekstra: Konversi Mata Uang


Buatlah program yang dapat menampilkan menu pilihan untuk konversi mata uang. Pilihan pertama
akan memberi menu konversi dari IDR ke USD, sementara pilihan kedua konversi dari USD ke IDR. Jika
pengguna memilih menu 1, program meminta masukan jumlah IDR yang akan dihitung, kemudian
menampilkan hasil konversi ke USD. Jika pengguna memilih menu 2, program meminta masukan jumlah
USD yang akan dihitung, kemudian menampilkan hasil konversi ke IDR. Simpan program ke dalam
4_matauang.c

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

Masukan : menu, IDR, USD

Keluaran : USD, IDR

Proses : untuk konversi IDR ke USD dengan cara membagi nilai IDR dengan 14000, sedangkan untuk
konversi USD ke IDR dengan cara mengalikan nilai USD dengan 14.000

Tuliskan algoritma (notasi bebas) di sini.

Start

Input (IDR, USD, Menu)

Proses

If menu = 1 then

Jml1idr/14000

Else if menu = 2 then

Jml2idr*14000

Output (IDR atau USD)

Salin kode program di sini.

//Program konversi mata uang

#include <stdio.h>

#include <conio.h>
main()

//deklarasi

float idr,usd,menu,jml1,jml2;

//input

printf("Daftar Menu\n");

printf("1. IDR to USD\n");

printf("2. USD to IDR\n");

printf("-------------------------------------\n");

printf("Masukkan menu : ");

scanf("%f",&menu);

//proses

if(menu>=1&&menu<=1){

printf("Masukkan jumlah IDR : ");

scanf("%f",&idr);

jml1=idr/14000;

//output

printf("USD : %0.2f\n",jml1);

//proses

else if(menu>=2&&menu<=2){
printf("Masukkan jumlah USD : ");

scanf("%f",&usd);

jml2=usd*14000;

//output

printf("Hasil konversi : %0.0f\n",jml2);

else if(menu>=3){

printf("Menu tidak ada");

return 0;

Jelaskan hasil running program!

Hasil running program akan menampilkan nilai konversi IDR ke USD atau USD ke IDR

Kesimpulan
Apa saja yang Anda pelajari dari praktikum ini? Kesimpulan apa yang bisa Anda tarik?

Yang dapat saya pelajari dari praktikum ini adalah bagaimana kita bisa membuat program dengan
menggunakan percabangan If-else dengan baik dan benar.

Kesimpulan yang bisa ditarik, yaitu dengan menggunakan percabangan if-else program dapat berpikir
dan menentukan tindakan sesuai dengan logika/kondisi yang kita berikan.

Anda mungkin juga menyukai