201310370311308_modul2progstur

Post on 28-Nov-2015

18 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related