201310370311308_Modul2Progstur
-
Upload
haris-junianto -
Category
Documents
-
view
18 -
download
1
Transcript of 201310370311308_Modul2Progstur
LAPORAN PEMROGRAMAN TERSTRUKTUR
MODUL 2
PERCABANGAN
OLEH :
NAMA : M. HARIS JUNIANTO
NIM : 201310370311308
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH MALANG
2013
I. DASAR TEORI
Membuat program dengan dasar percabangan if, if else, dan switch
II. TUGAS PRAKTIKUM
1. Buatlah program untuk menghitung total harga yang harus dibayar untuk makanan yang
dipesan di suatu restoran, perhitungannya adalah:
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
3. Buatlah program untuk menampilkan pilihan , Gunakan Switch
- 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 menekan karakter „d‟ maka printf “Nilai antara 50 s/d 59”
III. HASIL PRAKTIKUM
Program 1
Source Code :
#include <stdio.h>
int main(){
int jumlah,toping;
float hargatotal,hargasatuan,diskon,hargabayar;
char paket;
printf("***************************************************************
********\n");
printf("* K O P K A R U M M M E L A T I
*\n");
printf("***************************************************************
********\n");
printf(" _____________________________________________\n");
printf("| Paket A |\n");
printf("| Harga Dasar : 5000 | _______
_______ \n");
printf("| Diskon 10 persen untuk pembelian diatas 10 | | |___|
| \n");
printf("|_____________________________________________| |_______|
|_______|\n");
printf(" _____________________________________________\n");
printf("| Paket B | :: |_ _
_| :: \n");
printf("| Harga Dasar : 6000 | |__| |__|
\n");
printf("| Diskon 12 persen untuk pembelian diatas 7 |\n");
printf("|_____________________________________________|\n");
printf(" _____________________________________________ Keep
smile \n");
printf("| Paket C |\n");
printf("| Harga Dasar : 10000 | \n");
printf("| Diskon 15 persen untuk pembelian diatas 3 |\n");
printf("|_____________________________________________|\n");
printf("\n");
printf("Masukkan pilihan paket Anda [A/B/C]\n");
scanf("%c",&paket);
switch (paket)
{
case 'A': {
printf("\n");
printf("Sekarang masukkan pilihan toping sesuai nomor\n");
printf("\n");
printf("
=========================================\n");
printf(" 1. Toping keju : 2000\n");
printf(" 2. Toping daging : 3000\n");
printf(" 3. Toping sosis : 4000\n");
printf("
=========================================\n");
printf("\n");
printf("Pilihan toping Anda adalah [1/2/3]\n");
scanf("%d",&toping);
printf("\n");
printf("Sekarang masukkan jumlah yang anda pesan : \n");
scanf("%d",&jumlah);
if(toping == 1 && jumlah >= 10)
{
hargasatuan = 5000 + 2000;
hargatotal = hargasatuan*jumlah;
diskon = hargatotal*0.1;
hargabayar = hargatotal-diskon;
}
else if (toping == 1 && jumlah < 10) {
hargasatuan = 5000 + 2000;
hargatotal = hargasatuan*jumlah;
diskon = 0;
hargabayar = hargatotal-diskon; }
else if (toping == 2 && jumlah >= 10) {
hargasatuan = 5000 + 3000;
hargatotal = hargasatuan*jumlah;
diskon = hargatotal*0.1;
hargabayar = hargatotal-diskon; }
else if (toping == 2 && jumlah < 10) {
hargasatuan = 5000 + 3000;
hargatotal = hargasatuan*jumlah;
diskon = 0;
hargabayar = hargatotal-diskon; }
else if (toping == 3 && jumlah >= 10) {
hargasatuan = 5000 + 4000;
hargatotal = hargasatuan*jumlah;
diskon = hargatotal*0.1;
hargabayar = hargatotal-diskon; }
else if (toping == 3 && jumlah < 10) {
hargasatuan = 5000 + 4000;
hargatotal = hargasatuan*jumlah;
diskon = 0;
hargabayar = hargatotal-diskon; }
printf(":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::\n");
printf(" Harga yang harus Anda bayar = %5.0f \n
",hargabayar);
printf("\n");
printf(":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::\n");
printf("\n");
printf(" >> Terima kasih Anda telah memesan di Kopkar
Melati UMM <<\n");
printf(" >> Kepuasan Anda adalah segalanya bagi kami
^_^ <<\n");
return 0;
}
case 'B': {
printf("\n");
printf("Sekarang masukkan pilihan toping sesuai nomor\n");
printf("\n");
printf("
=========================================\n");
printf(" 1. Toping keju : 3000\n");
printf(" 2. Toping daging : 4000\n");
printf(" 3. Toping sosis : 4000\n");
printf("
=========================================\n");
printf("\n");
printf("Pilihan toping Anda adalah [1/2/3]\n");
scanf("%d",&toping);
printf("\n");
printf("Sekarang masukkan jumlah yang anda pesan : \n");
scanf("%d",&jumlah);
if(toping == 1 && jumlah >= 7)
{
hargasatuan = 6000 + 3000;
hargatotal = hargasatuan*jumlah;
diskon = hargatotal*0.12;
hargabayar = hargatotal-diskon;
}
else if (toping == 1 && jumlah < 7) {
hargasatuan = 6000 + 3000;
hargatotal = hargasatuan*jumlah;
diskon = 0;
hargabayar = hargatotal-diskon; }
else if (toping == 2 && jumlah >= 7) {
hargasatuan = 6000 + 4000;
hargatotal = hargasatuan*jumlah;
diskon = hargatotal*0.12;
hargabayar = hargatotal-diskon; }
else if (toping == 2 && jumlah < 7) {
hargasatuan = 6000 + 4000;
hargatotal = hargasatuan*jumlah;
diskon = 0;
hargabayar = hargatotal-diskon; }
else if (toping == 3 && jumlah >= 7) {
hargasatuan = 6000 + 4000;
hargatotal = hargasatuan*jumlah;
diskon = hargatotal*0.12;
hargabayar = hargatotal-diskon; }
else if (toping == 3 && jumlah < 7) {
hargasatuan = 6000 + 4000;
hargatotal = hargasatuan*jumlah;
diskon = 0;
hargabayar = hargatotal-diskon; }
printf(":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::\n");
printf(" Harga yang harus Anda bayar = %5.0f \n
",hargabayar);
printf("\n");
printf(":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::\n");
printf("\n");
printf(" >> Terima kasih Anda telah memesan di Kopkar
Melati UMM <<\n");
printf(" >> Kepuasan Anda adalah segalanya bagi kami
^_^ <<\n");
return 0;
}
case 'C': {
printf("\n");
printf("Sekarang masukkan pilihan toping sesuai nomor\n");
printf("\n");
printf("
=========================================\n");
printf(" 1. Toping keju : 4000\n");
printf(" 2. Toping daging : 6000\n");
printf(" 3. Toping sosis : 7000\n");
printf("
=========================================\n");
printf("\n");
printf("Pilihan toping Anda adalah [1/2/3]\n");
scanf("%d",&toping);
printf("\n");
printf("Sekarang masukkan jumlah yang anda pesan : \n");
scanf("%d",&jumlah);
if(toping == 1 && jumlah >= 3)
{
hargasatuan = 10000 + 4000;
hargatotal = hargasatuan*jumlah;
diskon = hargatotal*0.15;
hargabayar = hargatotal-diskon;
}
else if (toping == 1 && jumlah < 3) {
hargasatuan = 10000 + 4000;
hargatotal = hargasatuan*jumlah;
diskon = 0;
hargabayar = hargatotal-diskon; }
else if (toping == 2 && jumlah >= 3) {
hargasatuan = 10000 + 6000;
hargatotal = hargasatuan*jumlah;
diskon = hargatotal*0.15;
hargabayar = hargatotal-diskon; }
else if (toping == 2 && jumlah < 3) {
hargasatuan = 10000 + 6000;
hargatotal = hargasatuan*jumlah;
diskon = 0;
hargabayar = hargatotal-diskon; }
else if (toping == 3 && jumlah >= 3) {
hargasatuan = 10000 + 7000;
hargatotal = hargasatuan*jumlah;
diskon = hargatotal*0.12;
hargabayar = hargatotal-diskon; }
else if (toping == 3 && jumlah < 3) {
hargasatuan = 10000 + 7000;
hargatotal = hargasatuan*jumlah;
diskon = 0;
hargabayar = hargatotal-diskon; }
printf(":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::\n");
printf(" Harga yang harus Anda bayar = %5.0f \n
",hargabayar);
printf("\n");
printf(":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::\n");
printf("\n");
printf(" >> Terima kasih Anda telah memesan di Kopkar
Melati UMM <<\n");
printf(" >> Kepuasan Anda adalah segalanya bagi kami
^_^ <<\n");
return 0;
}
}
}
Flowchart :
Mulai
hargatotal,hargasatuan,diskon,hargabayar;
Paket =’a’ Toping == 1
&& jumlah >=10
hargasatuan = 5000 + 2000;
hargatotal = hargasatuan*jumlah;
diskon = hargatotal*0.1;
hargabayar = hargatotal-diskon;
Y
N
Y
N
Toping == 1
&& jumlah < 10
N
hargasatuan = 5000 + 2000;
hargatotal = hargasatuan*jumlah;
diskon = 0;
hargabayar = hargatotal-diskon;
Y
A B C
A B C
Toping == 2
&& jumlah >=10
N
hargasatuan = 5000 + 3000;
hargatotal = hargasatuan*jumlah;
diskon = hargatotal*0.1
hargabayar = hargatotal-diskon;
Y
Toping == 2
&& jumlah < 10
hargasatuan = 5000 + 3000;
hargatotal = hargasatuan*jumlah
diskon = 0
hargabayar = hargatotal-diskon;
Y
N
Toping == 3
&& jumlah >=10
hargasatuan = 5000 + 4000;
hargatotal = hargasatuan*jumlah;
diskon = hargatotal*0.1;
hargabayar = hargatotal-diskon;
Y
N
Toping == 3
&& jumlah < 10
hargasatuan = 5000 + 4000;
hargatotal = hargasatuan*jumlah;
diskon = 0;
hargabayar = hargatotal-diskon;
Y
Paket =’B’ Toping == 1
&& jumlah >=7
hargasatuan = 6000 + 3000;
hargatotal = hargasatuan*jumlah;
diskon = hargatotal*0.12;
hargabayar = hargatotal-diskon;
Y
N
Y
N
Toping == 2
&& jumlah >= 7
hargasatuan = 6000 + 4000;
hargatotal = hargasatuan*jumlah;
diskon = hargatotal*0.12;
hargabayar = hargatotal-diskon;
N
Y
Toping == 2
&& jumlah < 7
hargasatuan = 6000 + 4000;
hargatotal = hargasatuan*jumlah;
diskon = 0;
hargabayar = hargatotal-diskon; }
N
Y
A B C
A B C
Toping == 3
&& jumlah >= 7
hargasatuan = 6000 + 4000;
hargatotal = hargasatuan*jumlah;
diskon = hargatotal*0.12;
hargabayar = hargatotal-diskon;
N
Y
Toping == 3
&& jumlah < 7
hargasatuan = 6000 + 4000;
hargatotal = hargasatuan*jumlah;
diskon = 0;
hargabayar = hargatotal-diskon;
Y
Paket =’C’
Y
Toping == 1
&& jumlah >= 3
hargasatuan = 10000 + 4000;
hargatotal = hargasatuan*jumlah;
diskon = hargatotal*0.15;
hargabayar = hargatotal-diskon;
N
Y
Toping == 1
&& jumlah < 3
hargasatuan = 10000 + 4000;
hargatotal = hargasatuan*jumlah;
diskon = 0;
hargabayar = hargatotal-diskon;
N
Y
Toping == 2
&& jumlah >= 3
hargasatuan = 10000 + 6000;
hargatotal = hargasatuan*jumlah;
diskon = hargatotal*0.15;
hargabayar = hargatotal-diskon;
N
Y
Toping == 2
&& jumlah < 3
hargasatuan = 10000 + 6000;
hargatotal = hargasatuan*jumlah;
diskon = 0;
hargabayar = hargatotal-diskon;
N
Y
Toping == 3
&& jumlah >= 3
hargasatuan = 10000 + 7000;
hargatotal = hargasatuan*jumlah;
diskon = hargatotal*0.12;
hargabayar = hargatotal-diskon;
N
Y
A B C
Printscreen :
A B C
N
Toping == 3
&& jumlah < 3
hargasatuan = 10000 + 7000;
hargatotal = hargasatuan*jumlah;
diskon = 0;
hargabayar = hargatotal-diskon;
Y
hargabayar
selesai
Program 2
Source Code :
#include <stdio.h>
int main() {
int paket,detik;
float biaya;
printf("======================================================================
\n");
printf("\n");
printf(" SELAMAT
DATANG DI LAYANAN TELPON SUPER MURAH DARI EXIST!!! \n");
printf("
dijamin pulsa Anda akan hemat selamanya!!! \n");
printf("\n");
printf("===============
======================================================= \n");
printf("+++++++++++++++
++ Tekan 1 untuk paket Nelpon SUKA SUKA +++++++++++++++ \n");
printf("+++++++++++++++
+++++Tekan 2 untuk paket Nelpon HEMAT++++++++++++++++++ \n");
printf("+++++++++++++++
+++Tekan 3 untuk keluar dari layanan ini+++++++++++++++ \n");
printf("===============
======================================================= \n");
scanf("%d",&paket);
printf("Masukkan total
waktu percakapan (detik) ? \n");
scanf("%d",&detik);
if ( paket == 1 &&
detik <= 60 )
{
biaya = detik*15;
}
else if ( paket == 1 &&
detik > 60 && detik <= 1500 )
{
biaya =
detik*1.5;
}
else if ( paket == 1 &&
detik > 1500 )
{
biaya =
detik*3;
}
else if ( paket == 2 &&
detik <= 90 )
{
biaya =
detik*10;
}
else if ( paket == 2 &&
detik > 90 && detik <= 1800 )
{
biaya =
detik*1;
}
else if ( paket == 2 &&
detik > 1800 )
{
biaya =
detik*5;
}
else if ( paket
== 3 && detik > 1800 )
{
biaya =
detik*5;
}
printf("Paket Anda
adalah : %d \ Lama bicara Anda adalah : %d detik \n",paket,detik);
printf("Biaya yang
harus Anda bayar : Rp.%5.0f,- \n",biaya);
printf("\n");
printf(">>>>>> Terima
kasih Anda telah menggunakan layanan dari Exist <<<<<<<\n");
printf("
_______ _______ \n");
printf(" | |___|
| \n");
printf(" |_______|
|_______| \n");
printf("\n");
printf(" :: |_ _ _|
:: \n");
printf(" |__| |__|
\n");
printf("\n");
printf(" Keep smile
\n");
return 0;
}
Flowchart :
Mulai
Paket, detik, biaya
paket == 1
&& detik <=
60
Y
N
Biaya = detik*15
paket == 1 &&
detik > 60 &&
detik <= 1500
Y
N
Biaya = detik*1.5
paket == 1
&& detik >
1500
Y
N
Biaya = detik*3
A B
A B
paket == 2
&& detik <=
90
Y
N
Biaya = detik*10
paket == 2
&& detik >
90 && detik
<= 1800
Y
N
Biaya = detik*1
paket == 2
&& detik >
1800
YBiaya = detik*5
N
paket == 3
&& detik >
1800
YBiaya = detik*5
biaya
Selesai
Print Screen :
Program 3
Source Code :
#include<stdio.h>
int main()
{
char nilai;
printf("\n");
printf("==============================================================================\n");
printf("[[[[[[[[[[[[[[[[[[[[[[[[[ MASUKKAN NILAI DALAM HURUF ]]]]]]]]]]]]]]]]]]]]]]]]]\n");
printf("--------------------------(Ketikkan a, b, c, atau d)==========================\n");
printf("\n");
printf("\n");
scanf("%c",&nilai);
switch(nilai)
{
case 'a':
printf("\n");
printf("\n");
printf("==============================================================================\n");
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>[Nilai diatas 80]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \n");
printf("==============================================================================\n");
printf(" _______ _______ \n");
printf(" | |___| | \n");
printf(" |_______| |_______| \n");
printf("\n");
printf(" :: |_ _ _| :: \n");
printf(" |__| |__| \n");
printf("\n");
printf(" Keep smile \n");
break;
case 'b':
printf("\n");
printf("\n");
printf("==============================================================================\n");
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>[Nilai antara 70-79]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \n");
printf("==============================================================================\n");
printf(" _______ _______ \n");
printf(" | |___| | \n");
printf(" |_______| |_______| \n");
printf("\n");
printf(" :: |_ _ _| :: \n");
printf(" |__| |__| \n");
printf("\n");
printf(" Keep smile \n");
break;
case 'c':
printf("\n");
printf("\n");
printf("==============================================================================\n");
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>[Nilai antara 60-69]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \n");
printf("==============================================================================\n");
printf(" _______ _______ \n");
printf(" | |___| | \n");
printf(" |_______| |_______| \n");
printf("\n");
printf(" :: |_ _ _| :: \n");
printf(" |__| |__| \n");
printf("\n");
printf(" Keep smile \n");
break;
case 'd':
printf("\n");
printf("\n");
printf("==============================================================================\n");
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>[Nilai antara 50-59]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \n");
printf("==============================================================================\n");
printf(" _______ _______ \n");
printf(" | |___| | \n");
printf(" |_______| |_______| \n");
printf("\n");
printf(" :: |_ _ _| :: \n");
printf(" |__| |__| \n");
printf("\n");
printf(" Keep smile \n");
break;
default:
printf("You entered an invalid choice\n");
}
return 0;
}
Flowchart :
Mulai
nilai
Nilai ==
a Nilai diatas 80
Y
N
Nilai ==
b Nilai antara 70-79
Y
N
Nilai == c Nilai antara 60-69
Y
N
Nilai ==
d Nilai antara 50-59
Y
N
Selesai
Print Screen :
IV. KESIMPULAN
Syntax yang digunakan untuk menentukan suatu kondisi adalah if dan if else
Syntax yang digunakan untuk membuat pilihan adalah switch