Anda di halaman 1dari 12

ALGORITMA & PEMROGRAMAN I

Kuliah ke III

Pokok Bahasan :
Pemilihan / pencabangan :
analisa satu kasus & banyak kasus
Konversi teks algoritma ke dalam bahasa C++ & kasus

11/04/21 1
Komputer dapat memroses pogram dengan beberapa cara, yaitu :

Statement 1 expression
true
Expression
false true
Statement 2
Statement
Statement 2 Statement 1
false

Statement 3

a. sequence b. selection c. repetition 2


ANALISA KASUS ( PENCABANGAN)
Mendefinisikan analisa kasus adalah mendefinisikan :
- kondisi, yg berupa suatu ekspresi yg menghasilkan TRUE atau
FALSE
- Aksi/statement, yg akan dilaksanakan jika kondisi yang
dipasangkan dg aksi ybs.

if (condition) statement
Notasi Algoritmik untuk Analisa Kasus :
- SATU KASUS
If (kondisi) (aksi/statement)

Contoh if (x == 100)
cout << "x is 100";

3
2 KASUS
If (kondisi) (statement-1)
Else {not kondisi}
(aksi-2)

if (x == 100)
cout << "x is 100";
else cout << "x is not 100";

if (x > 0)
cout << "x is positive";
else if (x < 0)
cout << "x is negative";
else cout << "x is 0";

4
N Kasus

5
Relational Operators in C++
Operators Description
== Equal to (tepat sama dengan)
!= Not equal to (tidak sama dengan)
< Less than (lebih kecil)
<= Less than or equal to (lebih kecil atau
sama dengan)
> Greater than (lebih besar)
>= Greater than or equal to (lebih besar
atau sama dengan)

Expression Meaning Value


8<15 8 lebih kecil dari 15 true
6 != 6 6 tidak sama dengan 6 false
2.5 > 5.8 2.5 lebih besar dari 5.8 false
5.9 <= 7.5 5.9 lebih kecil atau sama dengan true
7.5
6
Contoh Analisa Kasus
1. Maksimum dua harga
Pertanyaan :
Dibaca dua buah harga a,b, a mungkin sama dengan b.
Tuliskan harga yang lebih besar. Eksekusi akan
menghasilkan dua kemungkinan : tuliskan a, jika a >= b
atau tuliskan b jika b > a, tidak mungkin keduanya.
Spesifikasi :
Input : a dan b integeer
Proses : menuliskan harga yang lebih besar
Output : a atau b integer

program MAXab
{diberikan a dan b integer, tuliskan a jika a>=b atau b
jika b > a}

7
//program untuk mencari nilai maksimum dari dua nilai a,b
#include <iostream>
using namespace std;
int main()
{
int a,b;
cout<<“nilai a : ”;
cin>>a;
cout<<“nilai b : “;
cin>>b;
if(a>=b)
cout<<“nilai maksimum adalah : “<<a;
else
cout<<“nilai maksimum adalah : “<<b;
return 0;
}

8
3. Wujud Air
Pertanyaan :
Dibaca sebuah harga berupa bilangan bulat, yang
mewakili pengukuran suhu air (dalam derajat Celcius)
pd tekanan ATM, tuliskan wujud air pada temperatur
dan tekanan tsb.
Spesifikasi :
Input : T, integeer
Proses : menuliskan wujud air sesuai harga T
Output : ‘Beku’ jika T <= 0
‘Cair’ jika 0 < T <= 100
‘Uap’ jika T > 100

9
LATIHAN
1. Pertanyaan :
Dibaca sebuah harga berupa bilangan bulat, tuliskan apakah
bilangan tersebut termasuk bilangan genap atau ganjil
Spesifikasi :
Input : a, integeer
Proses : tuliskan ‘genap’ jika a genap dan tuliskan ‘ganjil’ jika a
ganjil
Output : ‘genap’ jika a genap (??)
‘ganjil’ jika a ganjil (??)
jawab ?

10
2. Pertanyaan :
Dibaca sebuah harga berupa bilangan bulat, tuliskan ‘valid’ jika
bilangan tersebut berada pada range bilangan 1 s/d 100.
Sebaliknya, di luar range tsb berarti ‘tidak valid’
Spesifikasi :
Input : a, integeer
Proses : tuliskan ‘valid’ jika a di antara [1..100], di luar range
itu, tuliskan ‘tidak valid’
Output : ‘valid’ atau ‘tidak valid’
jawab ?

11
3. Pertanyaan :
analisislah masalah berikut ini dan buatlah program untuk
menentukan Upah per jam, berdasarkan ketentuan yang diberikan oleh
bagian personalia dan keuangan sbb :

Golongan Upah per jam


A Rp.4000
B Rp.5000
C Rp.6000

Jumlah jam kerja normal selama seminggu adalah 40 jam, kelebihan


jam kerja dianggap lembur, dengan uang lembur Rp.2000/jam untuk
semua golongan karyawan.
Input : nama karyawan, golongan karyawan, jumlah jam kerja.
proses : hitung upah berdasarkan golongan dan tambahkan dengan
lemburnya jika ada lembur.
output : nama karyawan, jumlah upah yang diterima

12

Anda mungkin juga menyukai