201310370311308_Modul2Progstur

18
LAPORAN PEMROGRAMAN TERSTRUKTUR MODUL 2 PERCABANGAN OLEH : NAMA : M. HARIS JUNIANTO NIM : 201310370311308 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2013

Transcript of 201310370311308_Modul2Progstur

Page 1: 201310370311308_Modul2Progstur

LAPORAN PEMROGRAMAN TERSTRUKTUR

MODUL 2

PERCABANGAN

OLEH :

NAMA : M. HARIS JUNIANTO

NIM : 201310370311308

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS MUHAMMADIYAH MALANG

2013

Page 2: 201310370311308_Modul2Progstur

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”

Page 3: 201310370311308_Modul2Progstur

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");

Page 4: 201310370311308_Modul2Progstur

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");

Page 5: 201310370311308_Modul2Progstur

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");

Page 6: 201310370311308_Modul2Progstur

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");

Page 7: 201310370311308_Modul2Progstur

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

Page 8: 201310370311308_Modul2Progstur

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

Page 9: 201310370311308_Modul2Progstur

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

Page 10: 201310370311308_Modul2Progstur

Printscreen :

A B C

N

Toping == 3

&& jumlah < 3

hargasatuan = 10000 + 7000;

hargatotal = hargasatuan*jumlah;

diskon = 0;

hargabayar = hargatotal-diskon;

Y

hargabayar

selesai

Page 11: 201310370311308_Modul2Progstur

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 )

Page 12: 201310370311308_Modul2Progstur

{

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;

}

Page 13: 201310370311308_Modul2Progstur

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

Page 14: 201310370311308_Modul2Progstur

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

Page 15: 201310370311308_Modul2Progstur

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");

Page 16: 201310370311308_Modul2Progstur

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;

}

Page 17: 201310370311308_Modul2Progstur

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

Page 18: 201310370311308_Modul2Progstur

Print Screen :

IV. KESIMPULAN

Syntax yang digunakan untuk menentukan suatu kondisi adalah if dan if else

Syntax yang digunakan untuk membuat pilihan adalah switch