Bagian 3 – Percabangan IF - Menu

Breaking

Monday, March 5, 2018

Bagian 3 – Percabangan IF


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:


[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.


[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:

[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


No comments:

Post a Comment