• Tidak ada hasil yang ditemukan

MODUL V Percabangan

N/A
N/A
Protected

Academic year: 2017

Membagikan "MODUL V Percabangan"

Copied!
11
0
0

Teks penuh

(1)

MODUL V PERCABANGAN

Percabangan digunakan untuk memecahkan persoalan untuk mengambil suatu keputusan diantara sekian pernyataan yang ada.

Pernyataan

if

Pernyataan if e pu yai pe gertia , Jika ko disi ber ilai be ar, aka peri tah aka dikerjakan dan jika tidak e e uhi syarat aka aka diabaika . Dari pe gertia tersebut dapat dilihat dari diagram alir berikut:

Bentuk Umum dari pernyataan if:

if (kondisi) { // pernyataan }

Contoh Program:

/**

* --- * Program5-1.cpp :

* --- **/

#include <iostream.h> #include <conio.h>

void main() { if (true) {

cout << "Perintah ini akan dijalankan\n"; Kondisi

Perintah

T

(2)

} contoh program untuk menentukan besarnya potongan dari pembelian barang dengan kriteria:

Tidak ada potongan jika total pembelian kurang dari Rp. 50.000,-

Jika total pembelian lebih dari atau sama dengan Rp. 50.000,- potongan yang diterima sebesar 20% dari total pembelian.

/**

* --- * Program5-2.cpp :

* contoh penggunakan if

* ---

cout << "Besarnya potongan Rp. " << potongan << endl; jum_bayar = tot_beli - potongan;

cout << "Jumlah yang harus dibayarkan Rp . " << jum_bayar;

(3)

Hasil Eksekusi:

Total pembelian Rp. 70000 Besarnya potongan Rp. 14000

Jumlah yang harus dibayarkan Rp . 56000

Pernyataan

if - else

Pernyataan if e pu yai pe gertia , Jika ko disi ber ilai be ar, aka perintah-1 akan dikerjakan dan jika tidak memenuhi syarat maka akan mengerjakan perintah-2 . Dari pengertian tersebut dapat dilihat dari diagram alir berikut:

Bentuk Umum dari pernyataan if-else:

if (kondisi) { // pernyataan 1 }

else {

// pernyataan 2 }

Berikut ini contoh program untuk menentukan besarnya potongan dari pembelian barang dengan kriteria:

Jika total pembelian kurang dari Rp. 50.000,- maka potongan yang diterima sebesar 5% dari total pembelian.

Jika total pembelian lebih dari atau sama dengan Rp. 50.000,- potongan yang diterima sebesar 20% dari total pembelian.

Kondisi

Perintah-1 Perintah-2 T

(4)

/**

* --- * Program5-3.cpp :

* contoh penggunakan if-else

* --- **/

#include <iostream.h> #include <conio.h>

void main() {

double tot_beli, potongan = 0, jum_bayar = 0; cout << "Total pembelian Rp. ";

cin >> tot_beli;

if ( tot_beli >= 50000 ) { potongan = 0.2 * tot_beli; }

else {

potongan = 0.05 * tot_beli; }

cout << "Besarnya potongan Rp. " << potongan << endl; jum_bayar = tot_beli - potongan;

cout << "Jumlah yang harus dibayarkan Rp . " << jum_bayar;

getch(); }

Hasil Eksekusi:

Total pembelian Rp. 49000 Besarnya potongan Rp. 2450

Jumlah yang harus dibayarkan Rp . 46550

Pernyataan Nested

if

Nested if merupakan pernyataan if yang berada di dalam pernyataan if yang lain. Bentuk penulisan pernyataan nested if adalah:

(5)

// perintah

Suatu perusahaan memberikan komisi kepada para salesman dengan ketentuan sebagai berikut:

Bila salesman dapat menjual barang hingga Rp. 2.000.000, - maka akan diberikan uang jasa sebesar Rp. 500.000,- ditambah dengan uang komisi Rp. 10% dari pendapatan yang diperoleh hari itu.

Bila salesman dapat menjual barang di atas Rp. 2.000.000, - maka akan diberikan uang jasa sebesar Rp. 500.000,- ditambah dengan uang komisi Rp. 15% dari pendapatan yang diperoleh hari itu.

Bila salesman dapat menjual barang di atas Rp. 5.000.000, - maka akan diberikan uang jasa sebesar Rp. 1.000.000,- ditambah dengan uang komisi Rp. 20% dari pendapatan yang diperoleh hari itu.

/**

* --- * Program5-4.cpp :

* contoh penggunakan nested if

(6)

} else {

if ( pendapatan <= 5000000 ) { jasa = 500000;

komisi = 0.15 * pendapatan; }

else {

jasa = 1000000;

komisi = 0.2 * pendapatan; }

}

total = komisi + jasa;

cout << "Uang jasa Rp. " << jasa << endl; cout << "Uang Komisi Rp. " << komisi << endl; cout << "---" << endl; cout << "Hasil Total Rp. " << total << endl;

getch(); }

Hasil Eksekusi:

Pendapatan hari ini Rp. 3500000 Uang jasa Rp. 500000

Uang Komisi Rp. 524999

--- Hasil Total Rp. 1024999

Pernyataan

if-else

Majemuk

Bentuk dari if-else majemuk bertingkat sebenarnya mirip dengan nested if. Keuntungan penggunakan if-else bertingkat dibanding dengan nested if adalah bentuk penulisannya yang lebih sederhana.

if (kondisi1) { // perintah 1 } else if (kondisi2) { // perintah 2 } else {

(7)

Berikut ini adalah penyederhanaan dari kasus sebelumnya dengan menggunakan if-else majemuk.

/**

* --- * Program5-5.cpp :

* contoh penggunakan if-else majemuk * --- **/

#include <iostream.h> #include <conio.h>

void main() {

long pendapatan, jasa = 0, komisi = 0, total = 0;

cout << "Pendapatan hari ini Rp. "; cin >> pendapatan;

if ( pendapatan > 0 && pendapatan <= 2000000) { jasa = 500000;

komisi = 0.1 * pendapatan; }

else if ( pendapatan <= 5000000 ) { jasa = 500000;

komisi = 0.15 * pendapatan; }

else {

jasa = 1000000;

komisi = 0.2 * pendapatan; }

total = komisi + jasa;

cout << "Uang jasa Rp. " << jasa << endl; cout << "Uang Komisi Rp. " << komisi << endl; cout << "---" << endl; cout << "Hasil Total Rp. " << total << endl;

(8)

Pernyataan

switch - case

Pernyataan switch – case memiliki kegunaan yang sama seperti if – else bertingkat, tetapi untuk memeriksa data yang bertipe karakter atau integer. Bentuk penulisannya seperti berikut:

switch (ekspresi) { case kontanta-1: // pernyataan 1 break;

case konstanta-2: // perintah 2 break;

default:

// perintah }

Contoh Program:

/**

* --- * Program5-5.cpp :

* contoh penggunakan switch-case

* --- **/

#include <iostream.h> #include <conio.h>

void main() { int nHari;

cout << "Masukkan No Hari [1..7] : "; cin >> nHari;

cout << "Ini adalah hari "; switch (nHari) {

case 1:

cout << "Ahad"; break;

case 2:

cout << "Senin"; break;

case 3:

(9)

case 4:

cout << "Rabu"; break;

case 5:

cout << "Kamis"; break;

case 6:

cout << "Jum'at"; break;

case 7:

cout << "Sabtu"; break;

default:

cout << "Kiamat :))"; }

getch(); }

Hasil Eksekusi:

Masukkan No Hari [1..7] : 5 Ini adalah hari Kamis

Pernyataan break menunjukkan siap keluar dari switch. Jika pernyataan ini tidak ada, maka program akan diteruskan ke cabang-cabang yang lainnya.

Contoh Program:

/**

* --- * Program5-5.cpp :

* contoh penggunakan switch-case

* --- **/

#include <iostream.h> #include <conio.h>

void main() { char jkl;

cout << "Gender Anda (L/P) : "; cin >> jkl;

(10)

cout << "Anda adalah "; switch (jkl) {

case 'p': case 'P': cout << "Perempuan"; break;

case 'l': case 'L':

cout << "Laki-laki"; break;

default:

cout << "Complecated"; }

getch(); }

Hasil Eksekusi:

Gender Anda (L/P) : l Anda adalah Laki-laki

Tugas

Perusahaan DINGIN DAMAI, memberikan Honor tetap kepada karyawan kontraknya sebesar Rp.500.000,- per bulan, ditambah tunjangan sebagai berikut:

Tunjangan Jabatan

Golongan Persentase

1 5%

2 10%

3 15%

Tunjangan Pendidikan

Kode Pendidikan Persentase

1 SMU 2,5%

2 D3 5%

3 S1 7,5%

Honor Lembur

Jumlah jam kerja normal sebanyak 8 jam. Honor lembur diberikan jika jumlah jam kerja lebih dari 8 jam. Kelebihan jam kerja tersebut dikalikan dengan honor lembur per jam sebesar Rp. Rp. 2.500,- untuk setiap kelebihan jam kerja per hari.

(11)

Layar Masukan

Program Hitung Honor Karyawan Kontrak PT. DINGIN DAMAI

Nama Karyawan : ... Golongan : ... Pendidikan (1/2/3) : ... Jumlah Jam kerja : ...

Layar Keluaran

Karyawan yang bernama : .... Honor yang diterima

Referensi

Garis besar

Dokumen terkait

Hasil perendaman tulang ayam menggunakan basa kimiawi (NaOH) tingkat konsentrasi 4% dengan lama perendaman 48 jam memberikan hasil yang optimal terhadap

Tujuan dari penelitian ini adalah untuk mengetahui kuat tekan dan densitas pada beton normal dan beton berbahan fly ash 10 % ( sebagai pengganti semen) , serta

Jurnal Ilmiah Fakultas Teknik “Technologia” Analysis (LDA) yang diterapkan pada klasifikasi jenis pohon mangga.Klasifikasi pohon mangga berdasarkan tekstur daun diambil

Tujuan dari penelitian ini yaitu untuk menganalisis persentase wajib pajak badan yang telah melakukan perencanaan pajak (tax planning) dalam memenuhi kewajiban

Jika korelasi antara variabel X dan variabel Y merupakan korelasi positif maksimal atau korelasi positif tertinggi atau korelasi positif sempurna, maka

Pihak pertama berjanji akan mewujudkan target kinerja yang seharusnya sesuai lampiran perjanjian ini, dalam rangka mencapai target kinerja jangka menengah seperti yang

Pertambahan peserta JKN akan meningkatkan investasi di sector kesehatan, seperti pembangunan fasilitas kesehatan, produksi obat dan alkes, dan untuk jangka panjang,

Nama pengapalan yang sesuai dengan PBB : Tidak diatur Kelas Bahaya Pengangkutan : Tidak diatur Kelompok Pengemasan (jika tersedia) : Tidak diatur. Bahaya Lingkungan :