aritmetika modulus
demikian.
Jawab:
|| = Operator Logika OR
r= o && p && q; R= o || p || q; R= !a
1
BAB POKOK
Perintah If-Then
Perintah If-Then-Else
1. Struktur IF-THEN
Bentuk Struktur :
IF (KONDISI) THEN
…….EKSPRESI……
END IF
Keterangan:
2
Ekspresi sesudah kata Then (dapat berupa saru atau lebih pernyataan)
hanya akan dilaksanakan bila (KONDISI) bernilai benar(true), bila
(KONDISI) bernilai salah(false), tidak ada aksi yang dilaksanakan, kata
endif sengaja ditambahkan untuk mempertegas awal dan akhir struktur
IF-THEN
2. Struktur IF-THEN-ELSE
If<Kondisi>then
Ekspresi 1….
Else
Ekspresi 2….
endif
Keterangan:
3
Pernyataan IF-THEN-ELSE bertingkat digunakan untuk menguji
sebuah kondisi lebih dari dua kondisi yaitu satu kondisi terpenuhi dan
satu lagi kondisi tidak terpenuhi. Bila kondisi yang diuji terpenuhi,
program akan menjalankan pernyataan – pernyataan tertentu, dan
bila kondisi yang diuji salah, program akan menjalankan pernyataan -
pernyataan lain.
If(Kondisi_1) {
Blok_pernyataan_1; }
Else if(kondisi_2) {
Blok_pernyataan_2; }
Else if(kondisi_3) {
Blok_pernyataan_3; }
………
Else if(kondisi_n) {
Blok_pernyataan_n; }
Else {blok_pernyataan_else;}
Keterangan :
4
proses perbandingan tersebut menghasilkan nilai true, maka block
Switch<pilihan>
Case<pilihan_1> : <aksi_1>
Break;
Case<pilihan_2> : <aksi_2>
Break;
…………
Case<pilihan_n> : <aksi_n>
Break;
{ otherwise aksi }
endcase
Keterangan :
5
Pilihan_1, pilihan_2, dst mempunyai nilai kebenaran, setiap pilihan
diperiksa nilai kebenarannya, mulai dari pilihan pertama sampai
ditemukan pilihan yang benar, jika pilihan ke-I bernilai benar maka
aksi ke-I dilaksanakan, pilihan berikutnya yakni pilihan ke-i+1 sampai
2.2. Praktikum
1. Seleksi sederhana
menggunakan seleksi If
a. Script C/C++
6
c. Pembahasan Script
nilai ujian.
7
2. Seleksi Majemuk
a. Script C/C++
c. Pembahasan
8
Pada contoh script ini, sama halnya dengan script pada IF-THEN,
hanya saja dalam script ini kita memberikan dua pernyataan di masing
masing kondisi, dengan menggunakan struktur pemilihan IF-THEN-
ELSE, jika pada IF-THEN, fungsi pemilihan akan berfungsi apabila
<kondisi> selalu bernilai benar<true>, maka dalam IF-THEN-ELSE,
semua<kondisi> baik yang bernilai benar<true> maupun
salah<false>, masing masing kondisi memiliki pernyataannya masing
masing, dalam script diatas, jika<rerata>59> maka pernyataan yang
akan dilaksanakan berupa< Hasil dinyatakan lulus> tetapi apabila
sebaliknya maka pernyataanya adalah <Hasil dinyatakan tidak lulus>,
ada perbedaan lain dalam IF-THEN-ELSE, yaitu penggunaan keyword
9
3. Seleksi Bersarang
a. Script C/C++
c. Pembahasan
10
Pada script ini kita menggunakan fungsi IF-THEN-ELSE, karena akan
ada banyak kemungkinan yang akan terjadi, sehingga kita akan
menerapkan IF-THEN-ELSE bertingkat dimana fungsi struktur if akan
digunakan dan operator logika akan digunakan.
inginkan,
11
4. Seleksi Multi Opsi
a. Script C/C++
c. Pembahasa
12
Pada script ini berbeda dengan fungsi struktur IF-THEN maupun
dengan IF-THEN ELSE, bahkan IF bertingkat, tetapi dalam script ini
kita menggunakan fungsi struktur switch Case, fungsi dasar dari
switch case sebenarnya adalah untuk menyederhanakan instruksi IF-
ELSE bertingkat, statement switch case merupakan statement yang
dimanfaatkan untuk menentukan pilihan dari sejumlah pilihan yang
terlibat, statement juga memiliki dua bentuk, yaitu statement switch
tunggal dan statement switch bersarang. Pada fungsi switch case ini
terbagi menjadi 2 bagian, yaitu bagian Switch dan Case, bagian
Switch digunakan untuk memeriksa nilai variable yang dimasukan,
sedangkan untuk Case digunakan untuk mengeksekusi nilai variable
yang dimasukan dengan berupa pernyataan ataupun ekspresi.
Penggunaan switch case sama halnya dengan penggunaan menu,
dimana kita bisa memilih menu apa yang akan kita gunakan terlebih
dahulu, pada jika dalam semua pilihan tidak ada yang benar maka
Jawab :
################### PSEUDOCODE
####################
13
pilih,t,f =integer
begin
write(‘hallo’)
write(‘1.iya’)
write(‘2.tidak’)
switch(pilih)
case 1:
break;
case 2:
break;
end
FLOWCHART
Start a
Perkenalkan
T
Namaku Rafi pilih
Akum au ngajak
kamu diner
Aku akan
F menjemputmu
1. Iya jam 7 malam
14
a SCRIPT C/C++ end
15
2. Buatlah program yang dapat menentukan apakah bilangan
Jawab:
################### PSEUDOCODE
##################
bil,jum,i = integer
begin
jum←0
if(bil%i==0) then
jum++ }
if (jum==2) then
else
end
FLOWCHART
Start a
Input bilangan F
bulat positif Bil%1==
0
Jum=0
16
For(i=1; i<=bil; i++)
Jum++
T
a b
T
Jum==2
Bilangan F
tersebut
Bilangan
bilangan
tersebut
prima
bukan
bilangan
prima
end
SCRIPT C/C++
17
HASIL RUN SCRIPT
dengan ketentuan:
18
#################### PSEUDOCODE
###################
suhu,nama = integer
begin
read(suhu)
write(‘keadaan anda’)
if(suhu<=33) then
else if(suhu==34)
write(‘terlalu dingin’)
else if(suhu==35)
write(‘dingin’)
else if(suhu==36)
write(‘masih OK’)
else if(suhu==37)
write(‘keadaan fit’)
else if(suhu==38)
write(‘demam ringan’)
else if(suhu==39)
write(‘hampir step’)
else if(suhu>=40)
end
FLOWCHART
start a
19
Suhu T
anda : Terlalu
Suhu=34
Dingin
T
F
Suhu<= Masih
33 a dinyatakan a
hidup
F
T
a
Suhu=
dingin
35
Suhu= Masih OK
36
F
T
Suhu= Keadaan
37 Fit
Suhu= Demam
38 ringan
F
T
Suhu= Hampir
39 step
T
20
Suhu= Panggil
39 ambulan
SCRIPT C/C++
21
2. Buatlah program pemilihan konversi suhu dengan memasukan
satuan suhu celcius ke reamur, Fahrenheit dan kelvin sesuai
Jawab:
####################PSEUDOCODE###################
suhu,satuan,fahrenheit,reamur,kelvin = integer
begin
write(‘konversi suhu’)
write(‘1.fahrenheit’)write(‘2.reamur’)
write(‘3.kelvin’)
write(‘pilih : ‘) read(satuan)
switch(satuan)
case 1:
fahrenheit←suhu*1.8+32
22
write(‘hasil konversi %d celcius : %d fahrenheit’,
suhu, fahrenheit) break
case 2:
reamur←suhu*0.8
case 3:
kelvin←suhu+273
if(satuan>3)
write(‘error’)
end
FLOWCHART
start a
T
Input
suhu ‘suhu : ’
Case 2
, suhu
Konversi suhu
F reamur=suhu*0.8
1.fahrenheit
2.reamur
23
‘suhu : ’ ‘suhu : ’
Case 1 Case 2
, suhu , suhu
T
T
F F
SCRIPT C/C++
24
2.3.3. Tugas Mandiri
1. Buatlah program untuk menghitung jumlah pemakaian
sambungan telepon dengan ketentuan terdapat paket
pembicaraan yang berbeda berdasarkan waktu pembicaraan
Waktu Tarif
06:00:00 s/d 06:59:59 Rp. 50
07:00:00 s/d 11:59:59 Rp. 75
12:00:00 s/d 12:59:59 Rp. 40
13:00:00 s/d 17:59:59 Rp. 75
18:00:00 s/d 20:59:59 Rp. 50
21:00:00 s/d 23:59:59 Rp. 25
00:00:00 s/d 05:59:59 Rp. 10
Jawab:
####################PSEUDOCODE###################
jam1,menit1,detik1,jam2,menit2,detik2 : integer
waktu1,waktu2,total_menit,bayar : integer
25
begin
write(‘tarif telepon’)
read(jam1,menit1,detik1)
read(jam2,menit2,detik2)
waktu1←(jam1*60)+menit1+(detik1/60)
waktu2←(jam2*60)+menit2+(detik2/60)
total_menit←waktu2-waktu1
if(jam1<6)then
bayar←total_menit*10
else if(jam1<7)then
bayar←total_menit*50
bayar←total_menit*75
bayar←total_menit*40
bayar←total_menit*75
bayar←total_menit*50
bayar←total_menit*25
26
write(‘biaya: ‘, bayar)
end
FLOWCHART
START
[JJ:MM:DD] : ‘, jam1,
menit1,detik1
[JJ:MM:DD]: ‘, jam2,
menit2, detik2
Waktu1:(jam1*60)+meni1+(detik1/60)
Waktu2:(jam2*60)+menit2+(detik2/60)
Total_menit:waktu2-waktu1
a a
Jm1<6 Bayar=total_menit*10
F
T
Bayar=total_menit*50
Jm1<7
F
T
Bayar=total_menit*75
Jm1<12
Bayar=total_menit*40
Jm1<13 27
F
T
F
T
F
T
F
T
end
SCRIPT C/C++
28
HASIL RUN SCRIPT
29
2. Buatlah program dalam menghitung jumlah pemakaian air
###################PSEUDOCODE####################
a,b,c = integer
begin
read(a)
if(a<10) then
b←a*5000;
b←(a-10)*7500+50000
b←(a-20)*10000+125000
b←(a-40)*15000+325000
end
30
FLOWCHART
START
T
A<10 B=a*5000
F
T
A<20 B=(a-10)*7500+50000
F
T
B=(a-
A<20 20)*10000+125000
F
T
B=(a-
A>=40 40)*15000+325000
‘Total biaya
yang harus
dibayar : ’, b
31
end
SCRIPT C/C++
32
3. Buatlah program untuk menguji apakah bilangan pecahan
pertama lebih kecil, sama dengan atau lebih besar daripada
bilangan pecahan kedua, bilangan yang akan diuji adalah
Jawab:
####################PSEUDOCODE###################
bil1,bil2,kali,tambah = integer
read(bil1)
read(bil2)
kali←bil1*bil2
tambah←bil1*bil2
if(kali>tambah) then
33
write(‘ %d lebih besar dari %d’, kali, tambah)
else
end
FLOWCHART
START
INPUT
Bilangan 1 :
Bilangan 2 :
Kali=bil1*bil2
Tambah=bil1+bil2
Output
‘%d x %d : %d’,
bil1,bil2,kali
‘%d+%d:%d’,
bil1,bil2,tambah
end
SCRIPT C/C++
35
4. Buatlah program menghitung pajak bagi para wajib pajak
sesuai dengan penghasilannya, jumlah pajak yang harus
dibayarkan sesuai dengan table dibawah ini
Penghasilan Pajak
Sampai dengan 25.000.000 10%
Kelebihan diatas 25.000.000 s/d 50.000.000 15%
Kelebihan diatas 50.000.000 s/d 100.000.000 20%
Diatas 100.000.000 25%
Jawab:
####################PSEUDOCODE###################
#
begin
read(penghasilan)
if(penghsilan<25000001) then
hasil_akhir←penghasilan*10/100
36
else if(penghasilan<50000001)
hasil_akhir←penghasilan*15/100
else if(penghasilan<100000001)
hasil_akhir←penghasilan*20/100
else if(penghasilan>=100000001_
hasil_akhir←penghasilan*25/100
end
FLOWCHART
START
Input
Nominal
penghasilan :
T
Penghasilan< Hasil_akhir=penghasilan*1
250000001 0/100
37
Penghasilan< Hasil_akhir=penghasilan*15/
T
end
SCRIPT C/C++
38
HASIL RUN SCRIPT
BAB AKHIR
39
3.1. Kesimpulan
40