Bagian 3 – Percabangan IF

September 09, 2014
Awan Rimbawan

1. Buat algoritma yang meminta 1 inputan angka kemudian menentukan apakah angka lebih besar atau lebih kecil daripada 10

[sourcecode language=”delphi” wraplines=”true” collapse=”true”] ALGORITMA ContohIF1

VAR
A : Integer

BEGIN
INPUT(A)

IF (A < 10) THEN
OUTPUT(‘nilai A lebih kecil dari 10’)
ELSE
IF A = 10 THEN
OUTPUT(‘nilai A adalah 10’)
ELSE
OUTPUT(‘nilai A lebih besar dari 10’)
END
[/sourcecode]

2. Buat algoritma yang meminta 1 inputan angka kemudian menentukan apakah angka tersebut ganjil atau genap
[sourcecode language=”delphi” wraplines=”true” collapse=”true”] ALGORITMA GanjilGenap

VAR
A,B : Integer

BEGIN
INPUT(A)

IF (A MOD 2 = 0) THEN
OUTPUT(‘A adalah bilangan genap’)
ELSE
OUTPUT(‘A adalah bilangan ganjil’)

END
[/sourcecode]

3. Buat algoritma yang menerima input 3 bilangan kemudian menentukan bilangan mana yang paling besar
[sourcecode language=”delphi” wraplines=”true” collapse=”true”] ALGORITMA Menentukan3Bilangan

VAR
in1, in2, in3 : Integer

BEGIN
INPUT(in1)
INPUT(in2)
INPUT(in3)

IF (in1 > in2) AND (in1 > in3) THEN
OUTPUT(in1)
ELSE
BEGIN
IF (in2 > in1) AND (in2 > in3) THEN
OUTPUT(in2)
ELSE
OUTPUT(IN3)
END

END
[/sourcecode]

4. Buat algoritma untuk menentukan lama bekerja seorang pegawai. Inputan adalah jam masuk dan jam pulang. Catatan: jam berupa angka 1-12, dan seorang pegawai bekerja kurang dari 12 jam.

Contoh:
Jam masuk: 10 (input oleh user)
Jam keluar: 12 (input oleh user)
Lama kerja: 2 jam (output dari algoritma)

Jam masuk: 11 (input oleh user)
Jam keluar: 3 (input oleh user)
Lama kerja: 4 jam (output dari algoritma)

[sourcecode language=”delphi” wraplines=”true” collapse=”true”] ALGORITMA Lama_Bekerja
{jam berupa angka 1-12, dan seorang pegawai bekerja kurang dari 12 jam}

VAR
iMasuk, iKeluar, iLama: Integer

BEGIN
INPUT(iMasuk)
INPUT(iKeluar)

IF (iKeluar >= iMasuk) THEN
iLama <– iKeluar – iMasuk
ELSE
iLama <– (12-iMasuk) + iKeluar

OUTPUT(iLama)
END

[/sourcecode]

5. Tulis program untuk menentukan biaya parkir yang dihitung berdasarkan lama parkir. Lama parkir dihitung dari jam masuk dan jam keluar. Asumsi jam masuk dan keluar parkir berupa angka 1-12, dan lama parkir maksimal 12 jam. Biaya parkir 2 jam pertama 2000, perjam berikutnya 500.
Contoh Masukan dan keluaran:

Contoh:
Jam masuk: 10 (input oleh user)
Jam keluar: 11 (input oleh user)
Lama parkir: 1 jam
Biaya parkir: 2000 (output dari algoritma)

Jam masuk: 10 (input oleh user)
Jam keluar: 2 (input oleh user)
Lama parkir: 4 jam
Biaya Parkir: 3000 (output dari algoritma)

[sourcecode language=”delphi” wraplines=”true” collapse=”true”] Algoritma Biaya_Parkir
{menghitung biaya parkir}

KAMUS DATA
iMasuk, iKeluar, iLama, iBiaya: Integer

BEGIN
Input(iMasuk)
Input(iKeluar)

If (iKeluar >= iMasuk) Then
iLama <– iKeluar – iMasuk
Else
iLama <– (12-iMasuk) + iKeluar

If (iLama > 2) Then
iBiaya <– 2000 + ((iLama – 2)*500)
else
iBiaya <– 2000

Output(iBiaya)
END

[/sourcecode]

6. Buat program menghitung selisih waktu (dalam jam dan menit) berdasarkan jam mulai (jam,menit) dengan jam selesai (jam,menit). Data yang diinput adalah jam dan menit mulai, jam dan menit selesai. Format jam yang dimasukkan bisa berupa format 12 jam ataupun 24jam.
Contoh Masukan dan keluaran:

if-percabangan1

[sourcecode language=”delphi” wraplines=”true” collapse=”true”] ALGORITMA MENGHITUNG_JAM_MENIT
{Inputan iJamStart,iMenitStart, iJamStop, iMenitStop. Keluaran iJamDurasi, iMenitDurasi}

VAR
iJamStart,iMenitStart,iMenitStop,iJamStop: integer
iTotMenitStart,iTotMenitStop,iSelangMenit,iJamDurasi,iMenitDurasi: integer

BEGIN
Input(iJamStart)
Input(iMenitStart)

Input(iJamStop)
Input(iMenitStop)

iTotMenitStart <– iJamStart * 60 + iMenitStart
iTotMenitStop <– iJamStop * 60 + iMenitStop

If (iTotMenitStop >= iTotMenitStart) Then
iSelangMenit <– iTotMenitStop – iTotMenitStart
Else
iSelangMenit <– ((12*60)-iTotMenitStart) + iTotMenitStop

iJamDurasi <– iSelangMenit div 60
iMenitDurasi <– iSelangMenit mod 60

Output(iJamDurasi)
Output(iMenitDurasi)

END

[/sourcecode]

7.Buat program dengan masukan koordinat sebuah titik (x,y) dalam sebuah system koordinat kartesian, kemudian ditentukan di kuadran mana titik tersebut.
Contoh Masukan :
Koordinat titik (x,y) : 10 -20

Contoh keluaran:
Kuadran 4

[sourcecode language=”delphi” wraplines=”true” collapse=”true”] ALGORITMA Menghitung_Kuadran

VAR
ix, iy: Integer

BEGIN
Input(ix,iy)

If (ix >= 0) Then
If (iy >=0) Then
Output(“Kuadran I”)
Else
Output(“Kuadran IV”)
Else
If (iy >=0) Then
Output(“Kuadran II”)
Else
Output(“Kuadran III”)
END

[/sourcecode]

8.Pemerintah hanya memberikan tunjangan anak dari PNS maksimal sampai 3 anak saja. Setiap anak diberikan tunjangan sebesar 10% dari gaji pokok.
Tulis program untuk menghitung total tunjangan anak, bila gaji pokok dan jumlah anak diinput oleh user.

if-percabangan8
[sourcecode language=”delphi” wraplines=”true” collapse=”true”] ALGORITMA Menghitung_Tunjangan

VAR
iGajiPokok, iTunjangan, iJmlAnak: Integer

BEGIN

Input(iGajiPokok)
Input(iJmlAnak)

If (iJmlAnak <= 3) Then
iTunjangan <– iJmlAnak * 0.1 * iGajiPokok
Else
iTunjangan <– 3 * 0.1 * iGajiPokok

Output (iTunjangan)

END

[/sourcecode]

9. Sebuah acara wisata digunakan minibus kapasitas 7 penumpang per mobil. Apabila terjadi kelebihan penumpang (walaupun cuma 1), maka minibus yang digunakan ditambah 1. Tulis program untuk menghitung jumlah minibus yang diperlukan, bila jumlah pesertanya diinput:

if-percabangan9

[sourcecode language=”delphi” wraplines=”true” collapse=”true”] ALGORITMA Menghitung_Tunjangan

VAR
iJmlPenumpang, iJmlMinibus : Integer

BEGIN
INPUT(iJmlPenumpang)

iJmlMinibus <– iJmlPenumpang DIV 7
iSisaPenumpang <– iJmlPenumpang MOD 7

IF (iSisaPenumpang <> 0) THEN
iJmlMinibus <– iJmlMinibus + 1

OUTPUT(iJmlMinibus)

//bagaimana mengatasi inputan minus?

END

[/sourcecode]
Facebook Comments

No comments

Leave a Reply

Your email address will not be published. Required fields are marked *

9 + 1 =