Laporan Praktikum Modul 2 Percabangan La
LAPORAN MODUL PRAKTIKUM
MODUL KE-2
PERCABANGAN
DOSEN PEMBIMBING :
ARIF SUSANTO S.Kom
NAMA :
ARIANSYAH PUTRA
201410370311194
1E
LABORATORIUM TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH MALANG
2014
(2)
I.
TUJUAN
Mampu memahami dan mampu memanfaatkan tipe data, variable, dan
konstanta di bahasa C
Mampu menggunakan macam- macam operator
Mampu memahami dan mampu menggunakan metode untuk menampilkan
berbagai format ke layar
Mampu memanfaatkan instruksi untuk memasukkan data dalam berbagai
tipe
II. ALAT YANG DIPERGUNAKAN
Computer / Laptop
Dev C++ 4.9.9.2
III.
DASAR TEORI
Pada tugas ini saya mengacu pada madul 2 tentang percabangan
IV.
TUGAS PRAKTIKUM
1. Buatlah program untuk menghitung total harga yang harus dibayar untuk
makanan yang
dipesan di suatu restoran, perhitungannya adalah:
- Inputnya adalah
- Pilihan Paket Menu : A , B, dan C.
- Pilihan Topping : keju, daging dan sosis
- Jumlah : angka
- Perhitungan
- Jika Paket A
- Harga dasar : 5000
- Toping keju : 2000
- Toping daging : 3000
- Toping sosis : 4000
- Discount 10% jika jumlahnya lebih dari 10
- Jika Paket B
- Harga dasar : 6000
- Toping keju : 3000
- Toping daging : 4000
- Toping sosis : 4000
(3)
- Discount 12% jika jumlahnya lebih dari 7
- Jika Paket C
- Harga dasar : 10000
- Toping keju : 4000
- Toping daging : 6000
- Toping sosis : 7000
- Discount 15% jika jumlahnya lebih dari 3
- Output : hasil perhitungan
2. Sebuah operator seluler mempunyai dua buah program NELPON
SUKA-SUKA dan NELPON HEMAT. Buatlah sebuah program yang menghitung
biaya percakapan sesuai dengan pilihan-pilihan tersebut. Berikut ini adalah
aturan masing- masing pilihan:
a. NELPON SUKA-SUKA
Untuk 60 detik pertama, tarif percakapan Rp. 15,-/detik
Setelah 60 detik berikutnya sampai 25 menit pertama, tarif percakapan Rp.
1,5-/ detik
Setelah 25 menit pertama sampai terakhir, tarif percakapan Rp, 3,-/detik
Input program ini berupa lama percakapan dalam satuan menit, sedangkan
outputnya berupa biaya percakapan total.
b. NELPON HEMAT
Untuk 90 detik pertama, tarif percakapan Rp. 10,-/detik
Setelah 90 detik berikutnya sampai 30 menit pertama, tarif percakapan Rp.
1,-/ detik
Setelah 30 menit pertama sampai terakhir, tarif percakapan Rp, 5,-/detik
Buatlah sebuah menu pilihan yang akan digunakan untuk memilih satu
diantara 2 jenis program “nelpon” tersebut. Yang menjadi input dari program
tersebut adalah pilihan menu dan total waktu percakapan (dalam satuan
detik)
Contoh Tampilan Menu :
PROGRAM NELPON SUPER MURAAAAHHHHH !!!
PILIH MENU BERIKUT
========================================
1. Nelpon SUKA_SUKA
2. Nelpon HEMAT
3. Keluar
Pilihan Anda Adalah = 1
Masukkan Total Waktu Percakapan (detik) = 71
Total Biaya Percakapan = Rp. 1065,-
3. Buatlah program untuk menampilkan pilihan , Gunakan Switch
-
Jika user menekan karakter „a‟ maka printf “ Nilai diatas 80”
(4)
-
Jika user menekan karakter „b‟ maka printf “ Nilai antara 70 s/d 79 ”
-
Jika user menekan karakter „c‟ maka printf “ Nilai antara 60 s/d 69”
-
Jika user menekan karakter „d‟ maka printf “Nilai antara 50 s/d 59”
V.
TUGAS PRAKTIKUM
1.
Alogaritma Program :
Input : Pilihan Paket Menu : A , B, atau C
- Pilihan Topping : keju, daging atau sosis
- Jumlah
Output : Harga Bayar
Proses :
Jika User
memilih paket „A‟ (Harga dasar : 5
.000) maka akan ada pilihan
toping lagi:
- Toping keju : 2.000
- Toping daging : 3.000
- Toping sosis : 4.000
- Diskon 10% jika lebih dari 10
Jika User memilih paket „B‟ (Harga dasar : 6.000 maka
akan ada pilihan
toping lagi:
- Toping keju : 3.000
- Toping daging : 4.000
- Toping sosis : 4.000
- Diskon 12% jika jumlahnya lebih dari 7
Jika user meilih paket „C‟ (Harga dasar : 10
.000) maka akan ada pilihan
toping lagi:
- Toping keju : 4.000
- Toping daging : 6.000
- Toping sosis : 7.000
- Diskon 15% jika jumlahnya lebih dari 3
- Harga satuan = Harga dasar + Harga toping
- Harga total = Harga satuan * Jumlah
- diskon = harga_total * diskon
(5)
FlowChart Program :
(6)
#include <stdio.h>//preprosessor Directive main()//fungsi main
{//input data
char menu, topping;
int jumlah, total_harga, harga_dasar, harga_topping, total_bayar, diskon;
float jumlah_diskon;
puts("Pilihan Menu : A, B, C ");//menggunakan puts karena tidak menampilkan nilai string
puts("\nPilih Menu : \n"); scanf("%s",&menu);//pr
//process if(menu=='A'){
harga_dasar = 5000;
puts("Harga : 5.000\n");//menggunakan puts karena tidak
menampilkan nilai string
puts("\nTopping Yang Tersedia"); puts("\na.Keju : 2.000"); puts("\nb.Daging : 3.000"); puts("\nc.Sosis : 4.000"); puts("\nPilih Topping : "); scanf("%s",&topping);
if(topping=='a'){//if bersarang karena terdapat if di dalam if harga_topping = 2000;
puts("\nJumlah Yang Anda Inginkan : "); scanf("%i",&jumlah);//pr
total_harga = (harga_dasar + harga_topping) * jumlah; printf("\nTotal Harga : %i",total_harga);}//:
if(topping=='b'){
harga_topping = 3000;
puts("\nJumlah Yang Anda Inginkan : ");// scanf("%i",&jumlah);
total_harga = (harga_dasar + harga_topping) * jumlah; printf("\nTotal Harga : %i",total_harga);}
if(topping=='c'){
harga_topping = 4000;
puts("\nJumlah Yang Anda Inginkan : "); scanf("%i",&jumlah);
total_harga = (harga_dasar + harga_topping) * jumlah; printf("\nTotal Harga : %i",total_harga);}
if(jumlah>10)
jumlah_diskon = 0.1;//diskon sebesar 10 % jika membeli sebanyak > 10
diskon = total_harga * jumlah_diskon;
printf("\nAnda mendapatkan diskon sebesar : %i",diskon); }
if(menu=='B'){
harga_dasar = 6000;
puts("Harga : 6.000\n");//menggunakan puts karena tidak
menampilkan nilai string
puts("\nTopping Yang Tersedia"); puts("\na.Keju : 3.000"); puts("\nb.Daging : 4.000");
(7)
puts("\nc.Sosis : 4.000"); puts("\nPilih Topping : "); scanf("%s",&topping);
if(topping=='a'){
harga_topping = 3000;
puts("\nJumlah Yang Anda Inginkan : "); scanf("%i",&jumlah);
total_harga = (harga_dasar + harga_topping) * jumlah; printf("\nTotal Harga : %i",total_harga);}
if(topping=='b'){
harga_topping = 4000;
puts("\nJumlah Yang Anda Inginkan : "); scanf("%i",&jumlah);
total_harga = (harga_dasar + harga_topping) * jumlah; printf("\nTotal Harga : %i",total_harga);}
if(topping=='c'){
harga_topping = 4000;
puts("\nJumlah Yang Anda Inginkan : "); scanf("%i",&jumlah);
total_harga = (harga_dasar + harga_topping) * jumlah; printf("\nTotal Harga : %i",total_harga);}
if(jumlah>7)//diskon sebesar 12 % jika membeli sebanyak > 7 jumlah_diskon = 0.12;
diskon = total_harga * jumlah_diskon;
printf("\nAnda mendapatkan diskon sebesar : %i",diskon); }
if(menu=='C'){
harga_dasar = 10000;
puts("Harga : 10.000\n");//menggunakan puts karena tidak
menampilkan nilai string
puts("\nTopping Yang Tersedia"); puts("\na.Keju : 4.000"); puts("\nb.Daging : 6.000"); puts("\nc.Sosis : 7.000"); puts("\nPilih Topping : "); scanf("%s",&topping);
if(topping=='a'){
harga_topping = 4000;
puts("\nJumlah Yang Anda Inginkan : "); scanf("%i",&jumlah);
total_harga = (harga_dasar + harga_topping) * jumlah; printf("\nTotal Harga : %i",total_harga);}
if(topping=='b'){
harga_topping = 6000;
puts("\nJumlah Yang Anda Inginkan : "); scanf("%i",&jumlah);
total_harga = (harga_dasar + harga_topping) * jumlah; printf("\nTotal Harga : %i",total_harga);}
if(topping=='c'){
harga_topping = 7000;
puts("\nJumlah Yang Anda Inginkan : "); scanf("%i",&jumlah);
total_harga = (harga_dasar + harga_topping) * jumlah; printf("\nTotal Harga : %i",total_harga);}
(8)
jumlah_diskon = 0.15;
diskon = total_harga * jumlah_diskon;
printf("\nAnda mendapatkan diskon sebesar : %i",diskon); }
total_bayar = total_harga - diskon;
printf("\n\nTotal yang harus anda bayar : %i",total_bayar);//output }
Tabel 1. Source Code Program
Print Screen Hasil :
3.
Alogaritma Program :
Input :
Pilih Nilai : A , B, C, dan D
Output : Rentang Nilai dari karakter.
Proses :
-
Jika user menekan karakter „A‟ maka printf
“ Nilai diatas 80”
-
Jika user menekan karakter „B‟ maka printf
“ Nilai antara 70 s/d 79 ”
-
Jika user menekan karakter „C‟ maka printf
“ Nilai antara 60 s/d 69”
- Jika user m
enekan karakter „D‟ maka printf
“Nilai antara 50 s/d 59”
(9)
FlowChart Program :
Source Code :
#include <stdio.h> main (){
char nilai_huruf;//
puts("Inputkan nilai huruf A...D : \n"); scanf("%c",&nilai_huruf);
(10)
{
case 'A' :
puts ("nilai angka >=80\n");
break; case 'B' :
puts ("nilai angka >=70 && <=79\n");
break;
case 'C' :
puts ("nilai angka >=60 && <=69\n"); break;
case 'D' :
puts ("nilai angka >=50 && <=59\n"); break;
default :
puts ("permintaan salah"); break;
} }
Tabel 2. Source Code Program
Print Screen Hasil :
KESIMPULAN :
Pada modul kali ini saya diajarkan materi percabangan, percabangan adalah pemilihan 2
pilihan atau banyak pilihan yang akan dieksekusi selanjutnya dimanan pemilihan
tersebut didasarkan atas kondisi tertentu.
(1)
FlowChart Program :
(2)
#include <stdio.h>//preprosessor Directive main()//fungsi main
{//input data
char menu, topping;
int jumlah, total_harga, harga_dasar, harga_topping, total_bayar, diskon;
float jumlah_diskon;
puts("Pilihan Menu : A, B, C ");//menggunakan puts karena tidak menampilkan nilai string
puts("\nPilih Menu : \n"); scanf("%s",&menu);//pr
//process if(menu=='A'){
harga_dasar = 5000;
puts("Harga : 5.000\n");//menggunakan puts karena tidak menampilkan nilai string
puts("\nTopping Yang Tersedia"); puts("\na.Keju : 2.000"); puts("\nb.Daging : 3.000"); puts("\nc.Sosis : 4.000"); puts("\nPilih Topping : "); scanf("%s",&topping);
if(topping=='a'){//if bersarang karena terdapat if di dalam if harga_topping = 2000;
puts("\nJumlah Yang Anda Inginkan : "); scanf("%i",&jumlah);//pr
total_harga = (harga_dasar + harga_topping) * jumlah; printf("\nTotal Harga : %i",total_harga);}//:
if(topping=='b'){
harga_topping = 3000;
puts("\nJumlah Yang Anda Inginkan : ");// scanf("%i",&jumlah);
total_harga = (harga_dasar + harga_topping) * jumlah; printf("\nTotal Harga : %i",total_harga);}
if(topping=='c'){
harga_topping = 4000;
puts("\nJumlah Yang Anda Inginkan : "); scanf("%i",&jumlah);
total_harga = (harga_dasar + harga_topping) * jumlah; printf("\nTotal Harga : %i",total_harga);}
if(jumlah>10)
jumlah_diskon = 0.1;//diskon sebesar 10 % jika membeli sebanyak > 10
diskon = total_harga * jumlah_diskon;
printf("\nAnda mendapatkan diskon sebesar : %i",diskon);
}
if(menu=='B'){
harga_dasar = 6000;
puts("Harga : 6.000\n");//menggunakan puts karena tidak menampilkan nilai string
puts("\nTopping Yang Tersedia"); puts("\na.Keju : 3.000"); puts("\nb.Daging : 4.000");
(3)
puts("\nc.Sosis : 4.000"); puts("\nPilih Topping : "); scanf("%s",&topping);
if(topping=='a'){
harga_topping = 3000;
puts("\nJumlah Yang Anda Inginkan : "); scanf("%i",&jumlah);
total_harga = (harga_dasar + harga_topping) * jumlah; printf("\nTotal Harga : %i",total_harga);}
if(topping=='b'){
harga_topping = 4000;
puts("\nJumlah Yang Anda Inginkan : "); scanf("%i",&jumlah);
total_harga = (harga_dasar + harga_topping) * jumlah; printf("\nTotal Harga : %i",total_harga);}
if(topping=='c'){
harga_topping = 4000;
puts("\nJumlah Yang Anda Inginkan : "); scanf("%i",&jumlah);
total_harga = (harga_dasar + harga_topping) * jumlah; printf("\nTotal Harga : %i",total_harga);}
if(jumlah>7)//diskon sebesar 12 % jika membeli sebanyak > 7 jumlah_diskon = 0.12;
diskon = total_harga * jumlah_diskon;
printf("\nAnda mendapatkan diskon sebesar : %i",diskon); }
if(menu=='C'){
harga_dasar = 10000;
puts("Harga : 10.000\n");//menggunakan puts karena tidak menampilkan nilai string
puts("\nTopping Yang Tersedia"); puts("\na.Keju : 4.000"); puts("\nb.Daging : 6.000"); puts("\nc.Sosis : 7.000"); puts("\nPilih Topping : "); scanf("%s",&topping);
if(topping=='a'){
harga_topping = 4000;
puts("\nJumlah Yang Anda Inginkan : "); scanf("%i",&jumlah);
total_harga = (harga_dasar + harga_topping) * jumlah; printf("\nTotal Harga : %i",total_harga);}
if(topping=='b'){
harga_topping = 6000;
puts("\nJumlah Yang Anda Inginkan : "); scanf("%i",&jumlah);
total_harga = (harga_dasar + harga_topping) * jumlah; printf("\nTotal Harga : %i",total_harga);}
if(topping=='c'){
harga_topping = 7000;
puts("\nJumlah Yang Anda Inginkan : "); scanf("%i",&jumlah);
total_harga = (harga_dasar + harga_topping) * jumlah; printf("\nTotal Harga : %i",total_harga);}
(4)
jumlah_diskon = 0.15;
diskon = total_harga * jumlah_diskon;
printf("\nAnda mendapatkan diskon sebesar : %i",diskon); }
total_bayar = total_harga - diskon;
printf("\n\nTotal yang harus anda bayar : %i",total_bayar);//output }
Tabel 1. Source Code Program
Print Screen Hasil :
3.
Alogaritma Program :
Input :
Pilih Nilai : A , B, C, dan D
Output : Rentang Nilai dari karakter.
Proses :
-
Jika user menekan karakter „A‟ maka printf
“ Nilai diatas 80”
-
Jika user menekan karakter „B‟ maka printf
“ Nilai antara 70 s/d 79 ”
-
Jika user menekan karakter „C‟ maka printf
“ Nilai antara 60 s/d 69”
(5)
FlowChart Program :
Source Code :
#include <stdio.h> main ()
{
char nilai_huruf;//
puts("Inputkan nilai huruf A...D : \n"); scanf("%c",&nilai_huruf);
(6)
{
case 'A' :
puts ("nilai angka >=80\n"); break;
case 'B' :
puts ("nilai angka >=70 && <=79\n"); break;
case 'C' :
puts ("nilai angka >=60 && <=69\n"); break;
case 'D' :
puts ("nilai angka >=50 && <=59\n"); break;
default :
puts ("permintaan salah"); break;
} }