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
A : Integer
BEGIN
INPUT(A)
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]
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
[sourcecode language=”delphi” wraplines=”true” collapse=”true”] ALGORITMA GanjilGenap
VAR
A,B : Integer
A,B : Integer
BEGIN
INPUT(A)
INPUT(A)
IF (A MOD 2 = 0) THEN
OUTPUT(‘A adalah bilangan genap’)
ELSE
OUTPUT(‘A adalah bilangan ganjil’)
OUTPUT(‘A adalah bilangan genap’)
ELSE
OUTPUT(‘A adalah bilangan ganjil’)
END
[/sourcecode]
[/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
[sourcecode language=”delphi” wraplines=”true” collapse=”true”] ALGORITMA Menentukan3Bilangan
VAR
in1, in2, in3 : Integer
in1, in2, in3 : Integer
BEGIN
INPUT(in1)
INPUT(in2)
INPUT(in3)
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
OUTPUT(in1)
ELSE
BEGIN
IF (in2 > in1) AND (in2 > in3) THEN
OUTPUT(in2)
ELSE
OUTPUT(IN3)
END
END
[/sourcecode]
[/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)
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)
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}
{jam berupa angka 1-12, dan seorang pegawai bekerja kurang dari 12 jam}
VAR
iMasuk, iKeluar, iLama: Integer
iMasuk, iKeluar, iLama: Integer
BEGIN
INPUT(iMasuk)
INPUT(iKeluar)
INPUT(iMasuk)
INPUT(iKeluar)
IF (iKeluar >= iMasuk)
THEN
iLama <– iKeluar – iMasuk
ELSE
iLama <– (12-iMasuk) + iKeluar
iLama <– iKeluar – iMasuk
ELSE
iLama <– (12-iMasuk) + iKeluar
OUTPUT(iLama)
END
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 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: 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)
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}
{menghitung biaya parkir}
KAMUS DATA
iMasuk, iKeluar, iLama, iBiaya: Integer
iMasuk, iKeluar, iLama, iBiaya: Integer
BEGIN
Input(iMasuk)
Input(iKeluar)
Input(iMasuk)
Input(iKeluar)
If (iKeluar >= iMasuk)
Then
iLama <– iKeluar – iMasuk
Else
iLama <– (12-iMasuk) + iKeluar
iLama <– iKeluar – iMasuk
Else
iLama <– (12-iMasuk) + iKeluar
If (iLama > 2) Then
iBiaya <– 2000 + ((iLama – 2)*500)
else
iBiaya <– 2000
iBiaya <– 2000 + ((iLama – 2)*500)
else
iBiaya <– 2000
Output(iBiaya)
END
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:
Contoh Masukan dan keluaran:
[sourcecode language=”delphi” wraplines=”true”
collapse=”true”] ALGORITMA MENGHITUNG_JAM_MENIT
{Inputan iJamStart,iMenitStart, iJamStop, iMenitStop. Keluaran iJamDurasi, iMenitDurasi}
{Inputan iJamStart,iMenitStart, iJamStop, iMenitStop. Keluaran iJamDurasi, iMenitDurasi}
VAR
iJamStart,iMenitStart,iMenitStop,iJamStop: integer
iTotMenitStart,iTotMenitStop,iSelangMenit,iJamDurasi,iMenitDurasi: integer
iJamStart,iMenitStart,iMenitStop,iJamStop: integer
iTotMenitStart,iTotMenitStop,iSelangMenit,iJamDurasi,iMenitDurasi: integer
BEGIN
Input(iJamStart)
Input(iMenitStart)
Input(iJamStart)
Input(iMenitStart)
Input(iJamStop)
Input(iMenitStop)
Input(iMenitStop)
iTotMenitStart <–
iJamStart * 60 + iMenitStart
iTotMenitStop <– iJamStop * 60 + iMenitStop
iTotMenitStop <– iJamStop * 60 + iMenitStop
If (iTotMenitStop >=
iTotMenitStart) Then
iSelangMenit <– iTotMenitStop – iTotMenitStart
Else
iSelangMenit <– ((12*60)-iTotMenitStart) + iTotMenitStop
iSelangMenit <– iTotMenitStop – iTotMenitStart
Else
iSelangMenit <– ((12*60)-iTotMenitStart) + iTotMenitStop
iJamDurasi <–
iSelangMenit div 60
iMenitDurasi <– iSelangMenit mod 60
iMenitDurasi <– iSelangMenit mod 60
Output(iJamDurasi)
Output(iMenitDurasi)
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 Masukan :
Koordinat titik (x,y) : 10 -20
Contoh
keluaran:
Kuadran 4
[sourcecode language=”delphi” wraplines=”true” collapse=”true”] ALGORITMA Menghitung_Kuadran
Kuadran 4
[sourcecode language=”delphi” wraplines=”true” collapse=”true”] ALGORITMA Menghitung_Kuadran
VAR
ix, iy: Integer
ix, iy: Integer
BEGIN
Input(ix,iy)
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
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
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
iGajiPokok, iTunjangan, iJmlAnak: Integer
BEGIN
Input(iGajiPokok)
Input(iJmlAnak)
Input(iJmlAnak)
If (iJmlAnak <= 3)
Then
iTunjangan <– iJmlAnak * 0.1 * iGajiPokok
Else
iTunjangan <– 3 * 0.1 * iGajiPokok
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
iJmlPenumpang, iJmlMinibus : Integer
BEGIN
INPUT(iJmlPenumpang)
INPUT(iJmlPenumpang)
iJmlMinibus <–
iJmlPenumpang DIV 7
iSisaPenumpang <– iJmlPenumpang MOD 7
iSisaPenumpang <– iJmlPenumpang MOD 7
IF (iSisaPenumpang
<> 0) THEN
iJmlMinibus <– iJmlMinibus + 1
iJmlMinibus <– iJmlMinibus + 1
OUTPUT(iJmlMinibus)
//bagaimana mengatasi
inputan minus?
END
No comments:
Post a Comment