soal alpro yaya.doc
TRANSCRIPT
-
7/22/2019 Soal Alpro yaya.doc
1/23
Soal Durasi:
tuliskanlah algoritma untuk membaca dua buah besaran bertype jam yang mewakili awal
dan akhir suatu percakapan telpon dan menuliskan durasi waktu dalam detik yang dihitung
dari kedua jam yang dibaca.
Type jam terdiri jam, menit, dan detik dan dipakai system jam dengan jam 00:00:00 am
sampai dengan 11:59:59 pm.
!enyelesaian :
"ari soal diatas kita dapat kita ketahui input, proses dan outputnya.
#nput $ waktu awal dan akhir percakapan.
!roses $ waktu akhir kurang waktu awal.
%utput $ selisih antara dua waktu.
"alam menginput waktu &jam'menit'detik( tidak boleh melebihi &11'59'59( oleh
karena itu apabila menginputkan lebih dari 11 untuk jam, lebih dari 59 untuk menit dan detik
maka program akan meminta membaca kembali input waktu.
"ari )ormat am'pm tersebut ada hal yang harus di perhatikan dalam proses
pengurangan waktu akhir dengan waktu akhir. *aitu :
+pabila detik pada waktu akhir lebih kecil dari waktu awal, maka detik akhir akan
ditambah 0 dan menit akhir akan dikurang 1, setelah itu baru dikurangkan dengan
detik awal.
-ika waktu akhirnya sama atau lebih besar dari waktu awal, maka langsung
dikurangkan dengan detik awal.
-ika menit akhir pada waktu akhir lebih kecil dari waktu awal, maka menit akhir
ditambah 0 dan jam akhir dikurang1, setelah itu baru dikurangkan dengan menit
awal.
-ika menit akhir sama atau lebih besar dari menit awal maka langsung di kurangi
dengan menit awal.
-
7/22/2019 Soal Alpro yaya.doc
2/23
+pabila )ormat am'pm pada awal dan akhir tidak sama, maka jam akhir ditambah 1.
"an setelah itu baru dikurangkan dengan jam awal.
+pabila )ormat am'pm sama dan jam akhir lebih kecil dari jam awal, maka jam akhir
ditambah / dan setelah itu dikurangkan dengan jam awal.
+pabila )ormat am'pm sama dan jam akhir sama atau lebih besar jam awal, maka
langsung saja jam akhir dikurang dengan jam awal.
"an dalam proses menampilkan durasi pada masing ariable hasil jam, hasil menit, hasil
detik tidak dapat langsung ditampilkan karena ada kemungkinan terjadi dari menit atau detik
ada yang lebih dari 59. ntuk memecahkan masalahnya maka :
-ika hasil detik lebih dari 59 maka hasil detik kurangi 0 dan hasil menit tambah 1
-ika hasil menit lebih dari 59 maka hasil menit kurangi 0 dan hasil jam tambah 1
2erikut adalah hasil printscreen apabila program di runningkan
Gambar 1 awal membuka program Gambar 2 menginput data
Gambar 3 hasil penghitungan
-
7/22/2019 Soal Alpro yaya.doc
3/23
Algoritma :
33333333333333333333333333333333333333333333333333333333333333333333333333333333333
!rogram "urasi
33333333333333333333333333333333333333333333333333333333333333333333333333333333333
4amus :
hasil3detik,hasil3menit,hasil3jam,jam1, jam,menit1,menit,detik1,detik : integer
ap1,ap ,lagi: char
33333333333333333333333333333333333333333333333333333333333333333333333333333333333
+lgoritma :
lagi 6 7*7
while lagi $ 7*7 do
input &jam1(
while jam1 8 11 do
input &jam1(
input &menit1(
while menit1 8 59 do
input &menit1(
input &detik1(
while detik1 8 59 do
input &detik1(
input&ap1(
while &ap 18 7+7( and &ap1 8 7!7( do
input &+!1(
input &jam(
while jam8 11 do
input &jam(
input &menit(
while menit 8 59 do
input &menit(
input &detik(
while detik 8 59 do
input &detik(
input&ap(
while &ap 8 7+7( or &ap 8 7!7( do
input &ap(
i) detik detik1 then
-
7/22/2019 Soal Alpro yaya.doc
4/23
menit 6 menit 1
detik 6 detik ; 0
hasil3detik6 detik detik1
else
hasil3detik 6 detik detik1
i) menitmenit1 then
jam 6 jam 1
menit 6 menit ; 0
hasil3menit 6 menit menit1
else
hasil3menit 6 menitmenit1
i) &ap 8 ap1( then
jam 6 jam ; 1
hasil3jam6 jam jam1
else i) &jamjam1( then
jam 6 jam ; /
hasil3jam 6 jam jam1
else
hasil3jam 6 jam jam1
i) hasil3detik8 59 then
hasil3detik 6 hasil3detik 0
hasil3menit 6 hasil3menit;1
else i) hasil3menit 8 59 then
hasil3menit 6 hasil3menit 0
hasil3jam 6 hasil3jam ;1
output& 7durasi adalah 7 hasil3jam , 7:7 ,hasil3menit, 7:7 ,hasil3detik(
input&lagi(
333333333333333333333333333333333333333333333333333333333333333333333333333
-
7/22/2019 Soal Alpro yaya.doc
5/23
Program Pascal
program durasi
uses wincrt
ar
lagi : char
ap1,ap : string,jam1,jam,menit1,menit,detik1,detik:integer
begin
lagi :$ 7*7
while lagi $ 7*7 do
begin
clrscr
goto?y&1,1( writeln&7pertama $ : : @ &11'1'1A +'!@(7(
goto?y&1,( writeln&7kedua $ : : @ &11'1'1A +'!@(7(
goto?y&11,1(readln&jam1(
while jam18 11 do
begin
goto?y&11,1(readln&jam1(
end
goto?y&1/,1(readln&menit1(
while menit18 59 do
begin
goto?y&1/,1(readln&menit1(
end
goto?y&1B,1(readln&detik1(
while detik18 59 do
begin
goto?y&1B,1(readln&detik1(
end
goto?y&0,1(readln&ap1(
while &ap187+7( and &ap1 87!7( do
begin
goto?y&0,1(readln&ap1(
end
goto?y&11,(readln&jam(
while jam 8 11 do
-
7/22/2019 Soal Alpro yaya.doc
6/23
begin
goto?y&11,(readln&jam(
end
goto?y&1/,(readln&menit(
while menit 8 59 do
begin
goto?y&1/,(readln&menit(
end
goto?y&1B,(readln&detik(
while detik 8 59 do
begin
goto?y&1B,(readln&detik(
end
goto?y&0,(readln&ap(
while &ap 8 7+7( and &ap 8 7!7( do
begin
goto?y&0,(readln&ap(
end
i) detik detik1 then
begin
menit :$ menit 1
detik :$ detik ; 0
+ :$ detikdetik1
end
else
begin
+ :$ detikdetik1
end
i) menit menit1 then
begin
jam :$ jam 1
menit :$ menit ; 0
2 :$ menitmenit1
end
else
begin
-
7/22/2019 Soal Alpro yaya.doc
7/23
2 :$ menitmenit1
end
i) &ap1 8 ap( then
begin
jam :$ jam ;1
> :$ jam jam1
end
else i) &jamjam1( then
begin
jam :$ jam ;/
> :$ jam jam1
end
else
> :$ jam jam1
i) + 8 59 then
begin
+ :$ + ; 0
2 :$ 2 ;1
end
i) 2 8 59 then
begin
2 :$ 20
> :$ > ; 1
end
writeln&>,7:7,2,7:7,+(
writeln&7ulang C &*'T(7(
readln&lagi(
end
end.
-
7/22/2019 Soal Alpro yaya.doc
8/23
Doal konersi suhu :
dibaca sebuah besaran riil, yang mewakili hasil pengukuran temperature dalam derjat
celcius. Eitung ekuialennya dalam derajat )ahrenhaet, rheamur dan kelin
!enyelesaian :
"ari data diatas dapat di tentukan input, proses dan optput, yaitu :
#nput : suhu derajat celcius
!roses : konersi derajat celcius ke rheamur, )ahrenheit, dan kelin
%utput : menampilkan hasil konersi
"alam proses konersi ada beberapa rumus yaitu :
Fheamur $ /'5 ? celcius
Gahrenheit $ &9'5( ? celcius
4elin $ celcius ;BA
Easil dari printscreen dari program konersi suhu adalah :
Gambar 4 awal tampilan suhu Gambar 5 proses dan output suhu
-
7/22/2019 Soal Alpro yaya.doc
9/23
Algoritma :
33333333333333333333333333333333333333333333333333333333333333333333333333333333333
!rogram konersi
33333333333333333333333333333333333333333333333333333333333333333333333333333333333
4amus :
>,F,G,4 : real
33333333333333333333333333333333333333333333333333333333333333333333333333333333333
+lgoritma :
input &>(
F 6 /'5 H >
G 6 9'5 H > ; A
4 6 > ; BA
output &7konersi >elcius ke Feamur adalah 7,F(
output &7konersi >elcius ke Gahrenheit adalah 7,G(
output &7konersi >elcius ke 4elin adalah 7,4(
33333333333333333333333333333333333333333333333333333333333333333333333333333333333
-
7/22/2019 Soal Alpro yaya.doc
10/23
Program Pascal :
program konersi
uses wincrt
ar
F,>,G,4: real
lagi : char
begin
lagi :$ 7*7
while lagi$7*7 do
begin
clrscr
writeln&7masukan nilai celcius7(
readln&>(
F :$ > H 0.I
G :$&> H 1.I( ; A
4 :$ > ; BA
writeln&>:9:, 7derajat celcius adalah 7 , G:9:, 7)ahrenheit7(
writeln&>:9:, 7derajat celcius adalah 7 , F:9:, 7reamur7(
writeln&>:9:, 7derajat celcius adalah 7 , 4:9:, 7kelin7(
writeln& 7ulangC &*'T(7(
readln&lagi(
end
end.
-
7/22/2019 Soal Alpro yaya.doc
11/23
Gambar 6 awal tampilan deret
Soal deret ganjil :
2uatlah algoritma untuk menampilkan deret berikut :
1 A 5 B JJ.
4etentuan :
a. >acah yang ditampilkan adalah K. misal : jika n $5, maka program akan
menampilkan : 1 A 5 B 9.
b. !engulangan untuk program menggunakan while
c. 2uat juga jumlah dari semua suku tersebut dan tampilkan hasilnya
d. 2uat juga program pascalnya
!enyelesaian :
ntuk memebuat program terserbut saya menggunakan A aiabel, yang digunakan
untuk :
ntuk menginput sampai ke suku berapa yang ingin ditampilkan.
@enampilkan suku ken sesuai dengan pengulangan. !engulangan dilakukan
sebanyak input dari use. "an setiap pengulangan suku ditambah dari sukusebelumnya.
@enampilkan jumlah suku yang telah ditampilkan.
Easil printscreen dari program tersebut adalah
Gambar 7 proses dan output deret
-
7/22/2019 Soal Alpro yaya.doc
12/23
Algoritma :
33333333333333333333333333333333333333333333333333333333333333333333333333333333333
!rogram deretbil
33333333333333333333333333333333333333333333333333333333333333333333333333333333333
4amus :
suku,jumlah3suku,input3deret : integer
33333333333333333333333333333333333333333333333333333333333333333333333333333333333
+lgoritma :
input &input3deret(
suku 6 1
jumlah3suku 6 0
while input3deret 8 0 do
output &suku (
input3deret 6 input3deret 1
jumlah3suku 6 jumlah3suku ; suku
suku 6 suku ;
output &jumlah suku(
33333333333333333333333333333333333333333333333333333333333333333333333333333333333
-
7/22/2019 Soal Alpro yaya.doc
13/23
Program Pascal :
program deret
uses wincrt
ar
ulang : char
a,b,n : integer
begin
ulang :$ 7*7
while ulang $ 7*7 do
begin
clrscr
writeln&7berapa suku yang ingin anda tampilkanC7(
readln&n(
+ :$ 1
b :$ 0
while n8$1 do
begin
write&7 7,a(
n :$ n1
b :$ b;a
a :$ a;
end
writeln
writeln&7total$7,b(
writeln&7ulang C &*'T(7(
readln&ulang(
end
end.
-
7/22/2019 Soal Alpro yaya.doc
14/23
Soal deret Fibonacci :
2uat algoritma untuk menampilkan deret Gibonacci
0 1 1 A 5 I 1A 1 J..
4etentuan :
a. >acah suku yang ditampilkan adalah K. misal : jika K $ B maka program akan
menampilkan 0 1 1 A 5 I
b. !engulangan untuk program menggunakan repeat J. ntil.
c. Tampilkan juga semua suku ganjil pertama, ketiga, kelima dst dan jumlahkan.
Tampilkan hasilnya
d. 2uat juga program pascalnya
Algoritma :
33333333333333333333333333333333333333333333333333333333333333333333333333333333333
!rogram )ibonacci
33333333333333333333333333333333333333333333333333333333333333333333333333333333333
4amus :
suku3n,bilangan,temp,jumlah3suku3ganjil,cacah3ganjil,jumlah,pengulangan : integer
33333333333333333333333333333333333333333333333333333333333333333333333333333333333
+lgoritma :
input &pengulangan(
i) pengulangan 8$1 then
suku3n 6 1
bilangan 6 0
temp 6 0
jumlah3suku3ganjil 6 0
cacah3ganjil 6 1
repeat
output &bilangan(
i) cacah3ganjil mod 8 0 then
jumlah3suku3ganjil 6 jumlah3suku3ganjil ; bilangan
temp 6 bilangan
bilangan 6 suku3n
suku3n 6 temp ; bilangan
pengulangan 6 pengulangan 1
-
7/22/2019 Soal Alpro yaya.doc
15/23
jumlah 6 jumlah ; temp
cacah3ganjil 6cacah 3ganjil ;1
until pengulangan $0
output &jumlah(
output &jumlah3suku3ganjil(
end.
33333333333333333333333333333333333333333333333333333333333333333333333333333333333
Program Pascal :
program )ibonacci
uses wincrt
ar
a,b,c,d,e,),n : longint
lagi : char
begin
lagi :$ 7y7
while lagi $ 7y7 do
begin
clrscr
write &7masukkan nC 7( readln &n(
i) n 8$ 1 then
begin
a :$ 1
b :$ 0
c :$ 0
d :$ 0
e :$ 0
) :$ 1
repeat
begin
write &b,7 7(
i) ) mod 8 0 then
begin
e :$ e ; b
end
c :$ b
b :$ a
-
7/22/2019 Soal Alpro yaya.doc
16/23
a :$ c ; b
n :$ n 1
d :$ d ; c
) :$ ) ; 1
end
until n $ 0
writeln&77(
writeln &7jumlah deret tersebut adalah 7,d(
writeln &7jumlah suku ganjil adalah 7,e(
end
write &7ulangC &y't(7(readln &lagi(
end
end.
Easil dari printscreen program diatas adalah
gambar 8 awal Fibonacci gambar 9 proses dan output
-
7/22/2019 Soal Alpro yaya.doc
17/23
Soal program bintang:
2uatlah algoritma dalam pascal untuk menampilkan bentuk berikut ini :
H
H H
H H H
H H H H
2uat juga bentukbentuk lainnnya.
+lgoritma :333333333333333333333333333333333333333333333333333333333333333
program cetak bintang
333333333333333333333333333333333333333333333333333333333333333
kamus :
pengulangan,temp,cacah : integer
333333333333333333333333333333333333333333333333333333333333333
algoritma :
input &pengulangan(
temp 6 0
cacah 6 1
while pengulangan 8 0 do
temp 6 cacah
pengulangan 6 pengulangan 1
while cacah 8 0 do
write &7H 7(
cacah 6 cacah1
cacah 6 temp
cacah 6 cacah ; 1
writeln
333333333333333333333333333333333333333333333333333333333333333
-
7/22/2019 Soal Alpro yaya.doc
18/23
Program Pascal :
program bintang
uses wincrt
ar
a,b,c : integer
lagi : char
begin
lagi :$ 7*7
while lagi $ 7*7 do
begin
write &7masukkan banyak cetak bintangC 7(readln&a(
b :$ 0
c :$ 1
while a 8 0 do
begin
b :$c
a:$a1
while c 8 0 do
begin
write&7H 7(
c :$ c1
end
c :$ b
c :$ c ; 1
writeln
end
writeln&7mau ulangC &*'T(7(
readln&lagi(
end
end.
-
7/22/2019 Soal Alpro yaya.doc
19/23
Easil printscreen program diatas adalah
Lambar10 awal mulai gambar 11 proses dan output
2uat algoritma untuk menampilkan matri? 5?5 berikut ini
0 1 0 1 0
1 0 1 0 1
0 1 0 1 0
1 0 1 0 1
0 1 0 1 0
2uat juga program pascalnya
-
7/22/2019 Soal Alpro yaya.doc
20/23
Algoritma :
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333
program matrik
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333
kamus :
ulang3horisontal,temp,pengulangan,cacah3ertikal,cacah3horisontal : integer
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333
+lgoritma :
input &pengulangan(
cacah3ertikal 6 1
cacah3horisontal 6 1
ulang3horisontal 6 pengulangan
while pengulangan 8 0 do
temp 6 ulang3horisontal
i) && cacah3ertikal mod ( 8 0( then
while ulang3horisontal 8 0 do
i) cacah3horisontal mod 8 0 then
output &0(
else
output &1(
ulang3horisontal 6 ulang3horisontal 1
cacah3horisontal 6 cacah3horisontal ; 1
else
while ulang3horisontal 8 0 then
i) &&cacah3horisontal mod ( 8 0( then
output &1(
else
output &0(
ulang3horisontal 6 ulang3horisontal 1
cacah3horisontal 6 cacah3horisontal ; 1
ulang3horisontal 6 temp
pengulangan 6 pengulangan 1
cacah3ertikal 6 cacah3ertikal ; 1
-
7/22/2019 Soal Alpro yaya.doc
21/23
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333
Program Pascal :program matri?
uses wincrt
ar
a,b,n,c1,c : longint
lagi : char
begin
lagi :$ 7*7
while lagi $ 7*7 do
begin
clrscr
write &7masukkan ordo marti?C 7(readln&n(
a :$ 0
a :$ n
c1 :$ 1
c :$ 1
while n 8 0 do
begin
b :$ a
i) &&c1 mod ( 8 0( then
begin
while a 8 0 do
begin
i) &&c mod ( 8 0( then
begin
write &70 7(
end
else
begin
write &71 7(
end
a :$ a 1
-
7/22/2019 Soal Alpro yaya.doc
22/23
c :$ c ; 1
end
c :$ 1
end
else
begin
while a 8 0 do
begin
i) &&c mod ( 8 0( then
begin
write &71 7(
end
else
begin
write &70 7(
end
a :$ a 1
c :$ c ; 1
end
c :$ 1
end
a :$ b
n :$ n 1
c1 :$ c1 ; 1
writeln
end
writeln&7mau ulang &*'T(CC7(
readln&lagi(
end
end.
-
7/22/2019 Soal Alpro yaya.doc
23/23
Gambar 12 matri
Soal warung :+da beberapa menu di warung : batagor dengan harga 1000, soto 000, dan bakso A000.
2atagor ada dua macam , kuah dan kering, masukan adalah jml3duit. "an pilihan menu. -ika
memilih batagor, ada masukan tambahan jenisnya yaitu kuah atau kering. Tulis notasi
algoritma untuk output pilihan menu berserta jumlah harga dan kembalian. !embeli boleh
mengulang pilihan selama uangnya masih cukup.
2uat juga program pascalnya.
Easil printscreen program warung
Gambar 13 awal tampilan gambar 14 optional menu
Gambar 15 hasil akhir