Anda di halaman 1dari 16

Praktikum 5

Percabangan (lanj.)
NIM/Nama : ………………………………………………………..

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?
Masukkan : NomorChannel
Keluaran : NamaChannel
Proses : if(NomorChannel == 1){

printf("Channel TV = TVRI");}

else if(NomorChannel == 2){

printf("Channel TV = Batam TV");}

else if(NomorChannel == 3){

printf("Channel TV = Indosiar");}

else if(NomorChannel == 4){

printf("Channel TV = Trans TV");}

else if(NomorChannel == 5){

printf("Channel TV = Trans 7");}

else if(NomorChannel == 6){

printf("Channel TV = MNC");}

else if(NomorChannel == 7){

printf("Channel TV = Metro TV");}

else if(NomorChannel == 8){

printf("Channel TV = TV One");}

else if(NomorChannel == 9){

printf("Channel TV = RCTI");}

else if(NomorChannel == 10){

printf("Channel TV = SCTV");}

else{

printf("Channel TV = ANTV");}

Tuliskan algoritma (notasi bebas) di sini.

{Program Channel TV}


Deklarasi : NomorChannel : integer

Algoritma:

Input(NomorChannel)

if(NomorChannel == 1) then

Channel TV = TVRI

else if(NomorChannel == 2) then

Channel TV = Batam TV

else if(NomorChannel == 3) then

Channel TV = Indosiar

else if(NomorChannel == 4) then

Channel TV = Trans TV

else if(NomorChannel == 5) then

Channel TV = Trans 7

else if(NomorChannel == 6) then

Channel TV = MNC

else if(NomorChannel == 7) then

Channel TV = Metro TV

else if(NomorChannel == 8)then

Channel TV = TV One

else if(NomorChannel == 9) then

Channel TV = RCTI

else if(NomorChannel == 10){

Channel TV = SCTV

else

Channel TV = ANTV
Endif

Endif

Endif

Endif

Endif

Endif

Endif

Endif

Endif

Endif

output (Nama Channel)

Salin kode program di sini.

#include <stdio.h>

int main()

printf("Program Channel TV");

//Deklarasi Variabel

int NomorChannel;

//Masukkan Nilai

printf("\nMasukkan nomor channel yang anda inginkan: ");

scanf("%d", &NomorChannel);

//Proses

if(NomorChannel == 1){
printf("Channel TV = TVRI");}

else if(NomorChannel == 2){

printf("Channel TV = Batam TV");}

else if(NomorChannel == 3){

printf("Channel TV = Indosiar");}

else if(NomorChannel == 4){

printf("Channel TV = Trans TV");}

else if(NomorChannel == 5){

printf("Channel TV = Trans 7");}

else if(NomorChannel == 6){

printf("Channel TV = MNC");}

else if(NomorChannel == 7){

printf("Channel TV = Metro TV");}

else if(NomorChannel == 8){

printf("Channel TV = TV One");}

else if(NomorChannel == 9){

printf("Channel TV = RCTI");}

else if(NomorChannel == 10){

printf("Channel TV = SCTV");}

else{

printf("Channel TV = ANTV");}

return 0;

Jelaskan hasil running program!


Hasil running yaitu program akan meminta untuk memasukkan nomor channel yang diinginkan. setelah
nomor channel dimasukkan maka program akan mengeluarkan nama channel yang sesuai dengan
nomor channelnya.

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?

Masukkan : BMI, BeratBadan, TinggiBadan, TB


Keluaran : BMI, Klasifikasi Berat Badan
Proses : //Proses Output

if(BMI < 18.5){

printf("\nBerat Badan Anda Kurang Dari Normal ");}

else if (BMI >= 18.5 && BMI <= 23.9){

printf("\nBerat Badan Anda Normal ");}

else if (BMI >= 24 && BMI <= 26.9){

printf("\nBerat Badan Anda Melebihi Normal");}

else{

printf("Obesitas");}

Tuliskan algoritma (notasi bebas) di sini.

{ Program Body Mass Index}

Deklarasi : BMI, BeratBadan, TinggiBadan, TB

Algoritma :

Input (Bmi, BeratBadan, TinggiBadan, TB

If (BMI < 18.5) then

Berat Badan Anda Kurang Dari Normal

else if (BMI >= 18.5 && BMI <= 23.9)then


Berat Badan Anda Normal

else if (BMI >= 24 && BMI <= 26.9)

Badan Anda Melebihi Norma

else

Obesitas

End if

End if

End if

Salin kode program di sini.

#include<stdio.h>

main()

printf("Program Menentukan BMI");

//Deklarasi Variabel

float BMI, BeratBadan, TinggiBadan,TB;

//Masukkan Nilai

printf("\nMasukkan Berat Badan Anda (Dalam Kg): ");

scanf("%f", &BeratBadan);

printf("\nMasukkan Tinggi Badan Anda (Dalam Cm): ");

scanf("%f", &TB);

//Proses Hitung BMI

TinggiBadan = TB / 100;

BMI = BeratBadan / (TinggiBadan * TinggiBadan);


printf("\nBMI Anda = %0.1f", BMI);

//Proses Output

if(BMI < 18.5){

printf("\nBerat Badan Anda Kurang Dari Normal ");}

else if (BMI >= 18.5 && BMI <= 23.9){

printf("\nBerat Badan Anda Normal ");}

else if (BMI >= 24 && BMI <= 26.9){

printf("\nBerat Badan Anda Melebihi Normal");}

else{

printf("Obesitas");}

Jelaskan hasil running program!

Hasil running program yaitu program meminta untuk memasukan berat dan tinggi badan setelah itu
program akan menghitung hasil BMI dan termasuk kemana BMI anda.
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?

Masukkan : Nama, Gaji, Jam kerja per minggu, JamLembur, GajiLembur, UpahPerJam, TotalGaji

Keluaran : Nama, Upah per jam, jam kerja perminggu, total gaji

Proses yaitu memasukkan nama dan jam kerja perminggu setelah itu jam kerja per minggu akan dikali
dengan upah perjam dan apabila terdapat jam lembur maka jam lembur dikali upah perjam dan dikali
bonus gajinyaa yaitu 1.5 atau 150%.

Tuliskan algoritma (notasi bebas) di sini.

{Program Perhitungan Gaji}

Deklarasi : Nama, Gaji, JamKerjaperMinggu, JamLembur, GajiLembur, UpahPerJam, TotalGaji

Algoritma:

Input (Nama, Gaji, Jam kerja per minggu, JamLembur, GajiLembur, UpahPerJam, TotalGaji)

if(JamKerjaPMinggu > 40) then

JamLembur = JamKerjaPMinggu - 40

Gaji = (JamKerjaPMinggu – JamLembur) * UpahPerJam

GajiLembur = JamLembur * UpahPerJam * 1.5

TotalGaji = Gaji+ GajiLembur

Else

TotalGaji = UpahPerJam * JamKerjaPMinggu

endif

Salin kode program di sini.

#include<stdio.h>
main()

printf("PROGRAM MENGHITUNG GAJI KARYAWAN");

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

//Deklarasi Variabel

char Nama [38];

int Gaji, JamKerjaPMinggu, JamLembur, GajiLembur, UpahPerJam, TotalGaji;

UpahPerJam = 100000;

//FileTXT

FILE *slipgaji;

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

//Masukkan Nilai

printf("\nTuliskan nama anda: ");

gets(Nama);

printf("Tuliskan jumlah jam kerja anda dalam seminggu: ");

scanf("%d", &JamKerjaPMinggu);

printf("---------------------------------------------------------------");

//Proses Output

if (JamKerjaPMinggu > 40){

JamLembur = JamKerjaPMinggu - 40;


Gaji = (JamKerjaPMinggu - JamLembur) * UpahPerJam;

GajiLembur = JamLembur * UpahPerJam * 1.5;

TotalGaji = Gaji + GajiLembur;

printf("\nGaji Basic Anda Sebesar : %d \n", Gaji);

printf("Bonus Lembur Anda Sebesar : %d \n", GajiLembur);

printf("TotalGaji : %d \n", TotalGaji);

// Write to slipgaji.txt

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

fprintf(slipgaji,"Upah per Jam : %d \n", UpahPerJam);

fprintf(slipgaji,"Jam Kerja per Minggu : %d \n", JamKerjaPMinggu);

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

fprintf(slipgaji,"Bonus Lembur : %d \n", GajiLembur);

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

fclose(slipgaji);}

else{

TotalGaji = UpahPerJam * JamKerjaPMinggu;

printf("\nGaji Anda Sebesar \t: %d\n", TotalGaji);

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

fprintf(slipgaji,"Upah per Jam : %d \n", UpahPerJam);

fprintf(slipgaji,"Jam Kerja per Minggu : %d \n", JamKerjaPMinggu);

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

return 0;
}

Jelaskan hasil running program!

Program akan meminta untuk memasukkan nama dan jumlah jam kerja setelah itu program akan
menghitung total gaji yang akan didapat

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?
Tuliskan algoritma (notasi bebas) di sini.

Salin kode program di sini.

#include <stdio.h>

main()

printf("PROGRAM KONVERSI MATA UANG");

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

//Deklarasi Variabel

float Nominal, JumlahUang, IDRtoUSD, USDtoIDR;

char Konversi;

//Pemilihan menu yang akan digunakan

printf("\n1 = Indonesian Rupiah (IDR) to United States Dollar (USD) ");

printf("\n2 = United States Dollar (USD) to Indonesia Rupiah (IDR)");

printf("\nPilih menu konversi yang anda inginkan: ");

printf("\n[1/2] : ");

scanf("%s", &Konversi);

printf("------------------------------------------------------------------");

//Proses
if (Konversi == '1'){

printf("\nMasukkan Nominal yang ingin anda konversi (Rp): ");

scanf("%f", &Nominal);

JumlahUang = Nominal / 14000;

printf("\nHasil Koversi adalah %0.2f USD", JumlahUang);}

else{

printf("\nMasukkan Nominal yang ingin anda konversi (USD): ");

scanf("%f", &Nominal);

JumlahUang = Nominal * 14000;

printf("Hasil Koversi adalah %0.2f Rupiah", JumlahUang);}

return 0;

Jelaskan hasil running program!


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

Anda mungkin juga menyukai