1. Buatlah Buatlah algoritm algoritmaa menghitun menghitung g menampilk menampilkan an deret deret berikut berikut ini ini a. 1
2
3
4
5
b. 1
3
5
7
11
c. 3
6
9
12
15
d. 64
32
16
8
4
e. 1
1/2
1/4
1/8
1/16
f. 2
-4
8
-16
32
Jawab : a. Flowch Flowchart art Menamp Menampilk ilkan an Deret Deret 1 2 3 4 5 Begin
a=0
a ≥5
True
False
a=a+1
Print a
END
Algoritma Menampilkan Deret 1 2 3 4 5 1. Mulai 2. Isi a de dengan 0 3. Cek apakah a = 5 b. Jika ya, proses langsung berakhir c. Jika tidak, lanjut ke proses a = a+1 4. Cetak nilai a 5. Ulan Ulangi gi lang langka kah h 3 dan dan 4
b. Flowchart Menampilkan Deret 1 3 5 7 11
Begin
j=1 j=1
Print j
j≥ j≥ 7
False
j = j + 2
True
j = j +4
Print j
END
Algoritma Menampilkan Deret 1 3 5 7 11 1. Mulai 2. Isi j de dengan 1 3. Cetak ni nilai j 4. Cek apakah j > 7 d. Jika Jika ya, pros proses es lanjut lanjut ke ke j = j + 2 dan ulan ulangi gi langk langkah ah 3 e. Jika tidak, tidak, lanjut ke j = j + 4, cetak cetak nilai nilai j dan dan proses proses berakhi berakhir r
c.
Flowchart Menampilkan Deret 3 6 9 12 15
Begin
b=0
b ≥1 5
True
False
b=b+3
Print b
END
Algoritma Menampilkan Deret 3 6 9 12 15 1. Mulai 2. Isi b de dengan 0 3. Cek Cek apak apakah ah b = 15 f. Jika Jika ya, ya, pros proses es lang langsu sung ng ber berak akhi hir r g. Jika Jika tidak, tidak, lanjut lanjut ke ke prose prosess b = b + 3 4. Cetak ni nilai b 5. Ulan Ulang gi lan langkah gkah 3
d.
Flowchart Menampilkan Deret 64 32 16 8 4
Begin
i=64
i≤4
False
True
i=i/2
Print i
END
Algoritma Menampilkan Deret 64 32 16 8 4 1. Mulai 2. Isi Isi i den dengan gan 64 3. Cek Cek apak apakah ah i = 4 h. Jika Jika ya, ya, pros proses es lang langsun sung g berak berakhir hir i. Jika Jika tid tidak ak,, lan lanju jutt ke pros proses es i = i / 2 4. Cetak ni nilai i 5. Ulan Ulang gi lan langkah gkah 3
e.
Flowchart Menampilkan Deret 1 ½ ¼ 1/8 1/16
Begin
j=0
j ≤ 0.0625 0.0625
False
j = j/ 2
True Print j
END
Algoritma Menampilkan Deret 1 ½ ¼ 1/8 1/16 1. Mulai 2. Isi j de dengan 2 3. Cek Cek apak apakah ah j = 0.06 0.0625 25 j. Jika ya, proses langsung berakhir k. Jika Jika tidak, tidak, lanjut lanjut ke ke prose prosess j = j / 2 4. Cetak ni nilai j 5. Ulan Ulang gi lan langkah gkah 3
f.
Flowchart Menampilkan Deret 2
-4
8
-16
32
Begin
i = -1
i = 32
False
i= i * -2
True
Print i
End
Algoritma Menampilkan Deret 2
-4
8
-16
1. Mulai 2. Isi Isi i den dengan gan -1 3. Cek Cek apak apakah ah i = 32 l. Jika Jika ya, ya, pro proses ses lang langsu sung ng bera berakh khir ir m. Jika Jika tidak, tidak, lanju lanjutt ke prose prosess j = j / 2 4. Cetak ni nilai j 5. Ulan Ulang gi lan langkah gkah 3
32
2. Buatlah Buatlah algoritma algoritma menampilk menampilkan an tampilan tampilan berikut berikut sebanyak sebanyak N kali (N merupa merupakan kan input) a. Nomor 1 b. Nomor 2 c. Nomor 3 d. .... Jawab : Flowchart Menampilkan Nomor1 Nomor2 Nomor3……..NomorN Begin
b=0
Input N
b≥N
False
b = b +1
Print “Nomor_”, b True
End End
Pseudocode Menampilkan Nomor1 Nomor2 Nomor3……..NomorN Uses wincrt; Var n,b,a : byte; begin
b:=0; write (‘Inputan N = ‘);readln(n); ‘);readln(n); for a:=1 to n do begin b:=b+1; write (‘Nomor_’, b) ; next a end; end.
3. Modifikasi Modifikasi algoritm algoritmaa pada nomor nomor 1 sehingga sehingga keluaran keluaran algoritm algoritmaa dapat menghit menghitung ung jumlah deret tersebut
Jawab : a. Flowch Flowchart art Mengh Menghitu itung ng Penju Penjumla mlahan han Deret Deret 1 2 3 4 5 Begin
a = 0, z =0
a ≥5
False
a=a+1
True z=z+a Print z
END END
Pseudocode Menghitung Penjumlahan Deret 1 2 3 4 5 Uses wincrt; Var a,b : byte;
Print a
Z : int; Begin a:=0; z:=0; for b := 1 to 5 do Begin a:= a+1; z:= z+a; write (a); Next b; end; write (z); end.
b. Flowchart Menghitung Penjumlahan Deret 1 3 5 7 11 Begin
j=1 , z= 0
Input j
j ≥ 7
False
j = j + 2
True
j = j +4
z=z+j
z=z+j
Print j
END
Pseudocode Menghitung Penjumlahan Deret 1 3 5 7 11
Uses wincrt; Var j,b : byte; z: int; Begin
j:= 1; z:= 0; for b := 1 to 4 do Begin Write j; Z :=z+j; j :=j+2; next (b); if j>:=7 then j:=j+4; z:= z+j; write (j); end if; End; End.
c. Flowch Flowchart art Mengh Menghitu itung ng Penju Penjumla mlahan han Deret Deret 5 6 9 12 15 15 Begin
i = 0 , b=0
b ≥ 15
False
b=b+3
True i=i=b Print i
Print b
END END
Pseudocode Menghitung Penjumlahan Deret 5 6 9 12 15 Uses wincrt; Var a,b : byte; i : int; begin b := 0; i := 0; For a: = 1 to 5 do begin b := b+ 3; i := i+b; Write (b); Next a end; write (i); end.
d. Flowchart Flowchart Menghi Menghitung tung Penjumlahan Penjumlahan Deret 64 32 32 16 8 4 Begin
i = 64 , z= 0
i≤4
False
i=i/2
True z = z+i
Print i
Print z
END
Pseudocode Menghitung Penjumlahan Deret 64 32 16 8 4 Uses wincrt; Var a,i : byte; z:= int; Begin
i:= 64; z:= 0; for a:=1 to 5 do Begin z : z+i; i :=i/2; write (i); next a; end; write (i); end.
e. Flowchart Flowchart Menghi Menghitung tung Penjumlahan Penjumlahan Deret 1 ½ ¼ 1/8 1/8 1/16 1/16
Begin
j=1, z=0
j ≤ 0.0625
False
j = j / 2
True z = z +j Print z
print j
END
Pseudocode Menghitung Penjumlahan Deret 1 ½ ¼ 1/8 1/16 Uses wincrt; Var b : byte; j,z : decimal; begin j:=1; z:=0; For b:=1 to 5 do begin z:= z+j; j:=j/2; write (j); next b; end; write (z); end.
f. Flowch Flowchart art Mengh Menghitu itung ng Penju Penjumla mlahan han Deret Deret 2 -4 -4 8 -16 32
Begin
i = -1 , x=0 x=0
i = 32
False
i= i * -2
True x=x+i
print x print i
End
Pseudocode Menghitung Penjumlahan Deret 2 -4 8 -16 32 Uses wincrt; Var a,i : byte; X:int; begin i:= -1; x:=0; for a= 1 to 5 do begin x:=x+i; i:=i*(-2); write (i); next a; end; write(x); end.
4. Buatlah Buatlah algoritma algoritma yang yang menghitun menghitung g jumlah bilang bilangan an ganjil ganjil yang terletak terletak di antara antara 0100 Jawab : Flowchart Menghitung Penjumlahan Bilangan Ganjil dari 0-100 Begin
a=1, b=1
a > 99
False
a=a+2
True b = b+ a print b
End
Pseudocode Menghitung Penjumlahan Bilangan Ganjil dari 0-100 Uses wincrt; Var a,b,x : byte; begin a:=1; b:=1; for x:=1 until 50 do begin a:=a+2 ; b:=b+a; next x; write (b); end; end.
5. Buatla Buatlah h algoritm algoritmaa menghit menghitung ung perpa perpangk ngkata atan n x n, dimana x adalah bilangan real dan n adalah bilangan bulat positif.
Jawab :
Flowchart Menghitung Perpangkatan X n Begin
Input X , N
j = 1, i=1
i> N
False
True
i = i+1
j = j*X
Print j
End
Pseudocode Menghitung Perpangkatan X n Uses wincrt; Var X,N,j : int; begin write (‘Inputan N = ‘);readln(N); ‘);readln(N); write (‘Inputan X = ‘);readln (X) j :=1; for a:=1 to N do begin j :=j*X;
next a; write (‘hasil nilai pangkat =’, j); end; end.
6. Modifikasi Modifikasi algorit algoritma ma no.4 no.4 sehingg sehinggaa dapat dapat pula pula menghitu menghitung ng xn dengan n dapat berupa bilangan bulat positif atau negatif. Jawab : Flowchart Menghitung Perpangkatan X n (n berupa bilangan negative maupun positif)
Begin
Input A , B
F alse
B<0
T r ue
I=1,Z =1 I=1,Z =1 I=I+1
I=N I =N
False
False
Z = Z *( 1/ A)
Z= Z* A
True I=I+1
True
Printt Z
End
Pseudocode Menghitung Perpangkatan X n (n berupa bilangan negative maupun positif)
Uses wincrt; Var b,i,x : byte; a: int; z: decimal; Begin Write (‘masukkan nilai a’);readln(a); Write (‘masukkan nilai pangkat’);readln(b); Z:=0; If b < 0 then For i := 1 to b do Begin z := z * (1/a); Next i; End; Else For i := 1 to b do Begin z := z * a; Next i; End; Write (‘hasil nilai pangkat =’, z); End.
7. Buat algoritma algoritma mengh menghitung itung N! N merupakan merupakan input input yang yang berupa berupa bilangan bilangan bulat. bulat. (N! = 1x2x3x...xN)
Jawab : Flowchart Mengitung N! Begin
Input N
a=N
a=1
True
False
a = a-1
N=Nxa
Print N
End
Pseudocode Menghitung N! Uses wincrt; Var n,i,x : byte; Begin Write (‘masukkan Faktorial = ’);readln(n); i:= n; For x := n downto 1 do Begin i := i – 1; n := i * n; Next i;
End; Write (‘hasil Faktorial =’, n); End.
8. Begin
I = -1
Input N
B = n mod 2 a = n -1
B=1
True
Write “bilangan anda ganjil”
End End
False
I =a
False I = I +3
Write i
I = I -1
Write i
Uses wincrt; Var a,b,i,n : byte;
True
Begin Write (‘masukkan nilai n = ’);readln(n); b:= n mod n; i:= -1; if b := 1 then write (‘inputan anda ganjil’); else For a := 1 to n do Begin i := i + 3; write (i); i := i – 1; Write (i); Next i; End; End.
9. a.
Begin
Input A , N
B = A Mod 2
B=1
Tidak
i = i-1
Ya Output A Output “Ganjil”
I=N
Tidak
A=A+5
I=I+1
End
Ya
Uses wincrt; Var a,b,i,n : byte; Begin Write (‘masukkan nilai awal’);readln(a); Write (‘masukkan nilai akhir’);readln(n); B = n mod 2; If b = 1 then Writeln (‘inputan awalan anda ganjil’); Else For i := 1 to n do Begin writeln (‘a’); a := a + 2; Next i; End; End.
b. Begin
Input A , N
I =1
Output A
I=N
A=A+5
End End
I = I +1
Uses wincrt; Var a,i,n : byte; Begin Write (‘masukkan nilai awal’);readln(a); Write (‘masukkan nilai akhir’);readln(n); For i := 1 to n do Begin writeln (‘a’); a := a + 5; Next i; End; End.
10. a. Begin
I=0,J=0
I ≥ 100
Tidak
Ya
Output j
End End
Uses wincrt; Var i,j,a : byte; Begin i := 0; j := 0; For i := 1 to 50 do Begin i := i+2; j := j + i; Next i; End; Write (j); End.
I=I+2
J = J+ i
Begin
Input A , N
I =1
Output A
I=N
Tidak
A=A+7
Ya I = I +1
End End
Uses wincrt; Var i,j,a,n : byte; Begin Write (‘masukkan nilai awal’);readln(a); Write (‘masukkan nilai akhir’);readln(n); a := 0; j := 0; For i := 1 to n do Begin a := a+7; write (a); j := j + a; Next i; End; Write (‘jumlah kelipatan 7’,j); End.
11 a. Begin
B = 100 / 4
Print B
End End
Uses wincrt; Var B : byte; Begin B := 100/4; Write (‘jumlah suku bilangan keliapatan 4 terletak antara 0 100’,B); End.
b. Begin
Input N
B = N mod 2
B=1
True
False
x=N/2
N=N+1
x=N/2
Print x
End
Uses wincrt; Var i,a,n,x : byte; Begin Write (‘masukkan nilai akhir’);readln(n); A := n mod 2; if a := 1 then n := n +1; x := n /2; writeln (x); else x := n / 2; Write (x);
End.