Kumpulan Soal-Soal Ujian


Kumpulan Soal-Soal Ujian
Semester Genap 2006/2007
Angk. 2004 Semester 6
Angk. 2005 Semester 4
Angk. 2006 Semester 2
Matakuliah Wajib Semester 6
Kewarganegaraan Matematika Diskrit
Peng. Analisis Real II Peng. Model Matematika
Peng. Statistika Matematika
Matakuliah Wajib Semester 4
Kalkulus Multivariabel II Peng. Analisis Numerik
Aljabar Linear Kalkulus Lanjut
Fungsi Variabel Kompleks Geometri
Matakuliah Wajib Semester 2
Mekanika A Algoritma & Pemrograman
Kalkulus II Ke-Gadjah-Madaan & Etika Math
Peng. Struktur Aljabar I Geometri Analitik A
Matakuliah Pilihan
Peng. Teori Modul Peng. Topologi
Teori Himpunan Peng. Teori Bilangan
Peng. Teori Kendali Masalah Syarat Batas
Peng. Teori Ukuran & Int. Umum
Ujian Tengah Semester
Kewarganegaraan
Letkol Sus Drs. H.Mardoto, M.T
26 Maret 2007, Open Book
1. Apa yang dimaksud dengan negara menurut pandangan anda?
2. Berikan contoh yang dapat menjelaskan tentang “bukan penduduk” dan “warga
negara asing”.
3. Uraikan pendapat anda tentang hal-hal yang dapat dilakukan pemerintah dalam
menggelorakan semangat/wawasan berbangsa dan bernegara di lingkungan perguruan
tinggi.
4. Jelaskan perbedaan pandangan antara John Locke dan J.J. Rosseau dalam Teori
Perjanjian Masyarakat.
5. Genosida dikelompokkan sebagai salah satu kejahatan kemanusiaan. Uraikan pendapat
anda tentang hal tersebut berdasarkan referensi dengan alasan-alasan yang jelas.
Ujian Akhir Semester
Kewarganegaraan
Letkol Sus Drs. H.Mardoto, M.T
15 Juni 2007, Open Book
1. Dari pendapat para pakar, pejabat dan politikus tentang RUU Keamanan Nasional yang
digagas oleh Pemerintah (Departemen Pertahanan), bagaimanakah kecenderungan
pemikiran mereka (setuju, tidak setuju atau yang lainnya). Sebutkan alasan-alasan yang
mendasari pemikiran tersebut.
2. Uraikan pendapat anda tentang bagaimana mewujudkan/merealisasikan hak dan
kewajiban sebagai Warga Negara Indonesia yang masih berstatus sebagai mahasiswa.
3. Tanggal 27 April 2007 di Gianyar Bali, Indonesia – Singapura telah menandatangani tiga
dokumen perjanjian yaitu Perjanjian Ekstradisi, Kerjasama Pertahanan dan Kerangka
Aturan Daerah Latihan Militer. Jelaskan pendapat anda (sebagai WNI) tentang plus
minus bagi negara kita setelah menandatangani ketiga dokumen terebut ditinjau dari sisi
politik maupun pertahanan (boleh mereferensi pendapat pakar atau pengamat
politik/pertahanan).
4. Beberapa waktu lalu Sultan Hamengkubuwono X telah memutuskan tidak ingin lagi
menjabat sebagai Gubernur DIY mulai tahun 2008. Keputusan ini dipandang para
pengamat terkait RUU Keistimewaan DIY yang tidak segera disahkan DPR-Pemerintah,
padahal konsep RUU telah diajukan tahun 2005. Jelaskan pendapat anda tentang
keputusan Sultan HB X tersebut ditinjau dari bentuk negara kita dan status keistimewaan
DIY (Bentuk Negara RI adalah Republik sedangkan Kesultanan jelas berbentuk
Monarki).
5. Berdasarkan referensi/informasi/pengetahuan tentang materi pendidikan
kewarganegaraan pada perguruan tinggi negara lain (luar Indonesia) yang telah anda
miliki, buatlah perbandingan (plus minusnya) dengan materi pendidikan
kewarganegaraan yang telah anda terima.
6. Dalam era reformasi sekarang ini, banyak orang berdalil bahwa pemilihan pemimpin
apapun, entah itu pemerintahan (bupati, walikota, gubernur, presiden) maupun
keorganisasian (Ketua Partai Politik, Rektor Perguruan Tinggi, Ketua KNPI, dan lainnya)
agar demokratis harus dilakukan pemilihan secara langsung dengan satu orang satu
suara. Sebagai salah seorang Warga Negara Indonesia yang telah belajar materi
demokrasi, bagaimanakah pendapat anda tentang hal tersebut.
Ujian Tengah Semester
Peng. Analisis Real II
Dr. YM Sri Daru Unoningsih, MS
26 Maret 2007, Closed Book
1. a. Jika fungsi f :I ⊂􀁜→􀁜 kontinu pada I, buktikan fungsi f :I→ 􀁜 dengan
f (x) = f(x) juga kontinu pada I.
b. Jika fungsi g:I → 􀁜 dengan g(x) ≥ 0 untuk setiap x ∈ I , kontinu pada I. Buktikan
fungsi g :I → 􀁜 dengan ( g)(x) = g(x) kontinu pada I.
2. Diberikan interval tertutup terbatas I = [a,b] . Jika fungsi f :I → 􀁜 kontinu pada I
buktikan f terbatas pada I.
3. Buktikan fungsi f(x) 1
x
= kontinu seragam pada (1, ∞)
4. Diberikan interval I, titik c∈I bukan titik ujung interval dan fungsi f :I → 􀁜 turun
monoton pada I. Buktikan
lim ( ) inf { ( ) | , }
x c
fx fx x Ix c → −
= ∈
ii. lim ( ) inf { ( ) | , }
x c
fx fx x Ix c → −
= ∈ t+b|X >b) =P(X >t)
c) Cari median X
3. Gunakan metode MLE untuk mencari estimator parameter dalam distribusi Normal,
kemudian turunkan apakah estimator tersebut mempunyai sifat tak bias?
4. Tulis dan buktikan Teorema Limit Sentral!
5. Variabel Random Y berdistribusi Binomial(n,p). Konstruksikan interval konfidensi
untuk p!
Ujian Tengah Semester
Aljabar Linear
Ari Suparwanto
27 Maret 2007, Closed Book
1. Misalkan 2
T:P1 → 􀁜 adalah fungsi yang didefinisikan dengan rumus
2.
T(p(x)) = (p(0),p(1))
a. Tentukan T(1−2x)!
b. Tunjukkan bahwa T adalah Transformasi Linear!
c. Tentukan basis dari range T !
d. Tunjukkan bahwa T injektif !
e. Tentukan T −1(2,3) !
3. Misalkan S basis untuk ruang vektor V berdimensi n. Tunjukkan
a. { } 1 2 , ,…, r v v v bebas linear di V jika dan hanya jika {( ) ( ) ( ) } 1 2 , ,…, s s r s v v v
bebas linear di 􀁜n !
b. { } 1 2 , ,…, r v v v membangun V jika dan hanya jika {( ) ( ) ( ) } 1 2 , ,…, s s r s v v v
membangun 􀁜n !
4. Tentukan basis untuk ruang bagian dari 2 P yang dibangun oleh {1+x,x2,−2+2×2,−3x}.
5. Diberikan V={(1,x)x∈􀁜} dengan operasi :
(1,y)+(1,y’)=(1,y+y’) dan k.(1,y) = (1,ky) dengan k ∈ 􀁜
Selidiki apakah V dengan operasi tersebut merupakan ruang vektor atas 􀁜 !
Ujian Akhir Semester
Aljabar Linear
Ari Suparwanto
5 Juni 2007, Closed Book
1. a. Misalkan A dan B matriks bujursangkar yang berukuran sama.
Buktikan A dan B similar ilar jika dan hanya jika A− I dan B − I similar.
b. Dengan menggunakan pernyataan pada bagian a., selidiki similaritas dari matriks :
1 0 0
1 1 1
1 0 2
A
⎛ ⎞
=⎜⎜− ⎟⎟
⎜⎝− ⎟⎠
dan
1 1 0
0 1 0
0 0 2
B
⎛ ⎞
=⎜⎜ ⎟⎟
⎜ ⎟
⎝ ⎠
2. Misalkan ( ) 2 2 x M 􀁜 adalah ruang vektor dari semua matriks berukuran 2×2 atas 􀁜 .
Didefiniskan transformasi linear ( ) ( ) 2 2 2 2 : x x T M 􀁜 →M 􀁜 yaitu T(X) = AXB, dengan :
1 2
1 3
A
⎛ ⎞
=⎜⎝− ⎟⎠
dan
2 1
0 4
B
⎛ ⎞
=⎜ ⎟
⎝ ⎠
Hitunglah trace dan determinan dari T !
3. Misalkan 3 V=P adalah ruang vektor dari semua polinomial berderajat ≤ 3 atas 􀁜 ,
U={a+b(x−x2)a,b∈􀁜} dan W={c(1+x)+dx3c,d∈􀁜}
Selidiki apakah U W ⊕ atau bukan !
4. Ditinjau 􀁜4 sebagai ruang inner produk Euclid. Tentukan basis ortonormal untuk 􀁜4
yang memuat vektor (1 1 1 1)
1 2 2 2 2 v = , , , sebagai salah satu vektor dalam basis
ortonormalnya!
Ujian Tengah Semester
Kalkulus Multivariabel II
Prof. Dr. Soeparna Darmawijaya
28 Maret 2007, Closed Book
1. a. Persamaan umum bidang datar di dalam ruang 􀁜n dengan vektor arah
( ) 1 2 , ,…, n α = α α α adalah α , x = β . Carilah nilai β agar bidang datar tersebut
melalui titik ( ) 1 2 , ,…, n y= y y y
b. Carilah persamaan luasan bola di dalam ruang 􀁜n yang memiliki titik pusat
α =(1,−2,1, 2) dan berjari-jari 4.
2. Buktikan bahwa fungsi ( ) 1 2 , ,…, n f = f f f dari 􀁜 ke 􀁜n mempunyai limit
( ) 1 2 , ,…, n c= c c c untuk x → a . Jadi lim ( )
x a
f x c

= jika dan hanya jika lim ( ) x a k k
f x c

= untuk
k= 1,2,…,n.
3. Jika f (x) sin 2x,ex 1,tanx
x
=⎛⎜ − − ⎞⎟
⎝ ⎠
dengan x∈[−1, 2],
a) Hitung
0
lim ( )
x
f x

!
b) Cari titik-titik diskontinu dan titik-titik kontinu fungsi f (x) tersebut!
4. Jika F(x,y)=(2xy−x2,y2−4x), P=(0,0),Q=(1,2),R=(1,0) , hitung nilai integral
garis . Q
P
c∫ Fdr jika c memiliki persamaan :
a) Poligon yang menghubungkan P ke R ke Q
b) y= 2x
c) y= 2×2
Ujian Akhir Semester
Kalkulus Multivariabel II
Prof Dr. Soeparna Darmawijaya
6 Juni 2007, Closed Book
Kerjakan 5 dari 7 soal dibawah ini !
1. Jika V1= α,x−α =0 dan 2 V= β,x−β =0 dua persamaan bidang datar di dalam
ruang 􀁜n , maka berkas bidang datar yang dibentuk adalah 1 2 V+λV = 0 (λ suatu
parameter) 1 V = 0 dan 2 V = 0 disebut anggota pokok dan garis perpotongannya disebut
garis pokok. Buktikan bahwa :
a) Setiap nilai λ menentukan suatu anggota dan setiap anggota menentukan satu
nilai λ .
b) Setiap y ∈ 􀁜n dilalui oleh tepat satu anggota.
c) Setiap anggota memuat garis pokok.
2. Jika persamaan f :􀁜→􀁜n mempunyai derivatif di titik a ∈ 􀁜 buktikan bahwa setiap
fungsi komponennya mempunyai derivatif di a pula dan sebaliknya. Lebih lanjut
buktikan pula ( ) 1, 2,…, n ( ) d fa df df df a
dt dt dt dt
=⎛⎜ ⎞⎟
⎝ ⎠
.
3. Jika kurva C mempunyai persaman ( ) ,2, 2 3
3
r=r t =⎛⎜t t t ⎞⎟
⎝ ⎠
carilah kelengkungan, puntiran,
T,N,Bdi suatu titik.
4. Jika R merupakan bagian luasan parabolaida 2z=x2+y2 yang terletak di bawah bidang
datar z = 2 dan F=F(x,y,z)=(2y,−xz,yz2 ) , hitung nilai integral luasan
R
∫∫∇ ×F•ndS.
5. Jika V benda (daerah) dengan batas-batas bidang-bidang datar 0, x= y=0,z=0 dan
2x+2y+z=6, 1 R luasan kulit benda tersebut dan
F=F(x,y,z)=(2xy+z,y2,− (x+3y)) hitung nilai integral luasan
R1
∫∫F•ndS.
6. Jika F=F(x,y,z)=(3xy,−5z,10x) dan C persamaan r=r(t)=(t2+1,2t2,t3 ), hitung
nilai integral garis . Q
P
c∫ Fdr dengan P= (2, 2,1),Q= (5,8,8) .
7. Diketahui F=F(x,y,z)=(3xy+z3,x2,3xz3)
a) Buktikan bahwa integral garis . Q
P
c∫ Fdr, dengan P= (1,−2,1),Q=(3,1,4) , bebas
lintas.
b) Jika F mempunyai fungsi skalar potensial, carilah fungsi tersebut!
c) Hitung nilai integral garis fungsi tersebut!
Ujian Tengah Semester
Kalkulus Lanjut
Yusuf dan Lina Aryati
28 Maret 2007, Closed Book
1. Diberikan fungsi f:[a,b] → 􀁜 terbatas. Jika untuk setiap ε > 0 , terdapat partisi P pada
[a,b] sedemikian sehingga U(f,P) −L(f,P) < ε , maka f terintegral Riemann pada
[a,b]. Buktikan!
2. Diberikan fungsi :
2, 0 1
3, 1
( )
2, 1 2
2, 2 3
x x
x
f x
x x
x
⎧ ≤ <
= ⎪⎪⎨ =
− + < ≤ ⎪⎪
⎩ < ≤
dan partisi P={0,1−h,1+h, 2−h, 2+h,3} .
a) Hitung U(f,P)−L(f,P)
b) Apakah f terintegral Riemann pada [0,3] ? Jelaskan alasannya!
3. Diberikan fungsi f:[a,b] → 􀁜 terbatas. Jika f turun monoton pada [a,b] maka f
terintegral Riemann pada [a,b]. Buktikan !
4. Diberikan fungsi f:[a,b] → 􀁜 terbatas. Fungsi f terintegral pada [a,x] untuk setiap
x ≤ b dan ( ) ( ) , [ , ]
x
a
F x =∫ f t dt x∈ a b .
Jika f kontinu di 0 x , maka 0 F’(x ) ada dan 0 0 F’(x ) = f(x ) . Buktikan!
Ujian Akhir Semester
Kalkulus Lanjut
Yusuf dan Lina Aryati
15 Juni 2007, Closed Book
1. Diberikan fungsi f :[−2,3]→􀁜 dengan rumus :
2 2, 2 1
( ) 3, 1 2
2 1, 2 3
t t
f x t t
t t
⎧ − − ≤ <−
⎪ = + − ≤ ≤ ⎨⎪
⎩ + < ≤
Jika [ ]
2
( ) ( ) , 2,3
x
F x f t dt x

=∫ ∈ − , tentukan :
a) Rumus 0 F(x ) secara eksplisit
b) 0 F’(x )
2. Diberikan deret suku positif
1
n
n
a

= Σ
. Jika lim n 1
n
n
a r
a
+
→∞
= , dengan r 0 sehingga
f (z) =c, untuk setiap z∈D, maka tunjukkan f konstan pada D.
Hint: Karena f (z).f(z) =c2 maka
2
( )
( )
f z c
f z
= .
4. Diketahui 4 2 ( )
f z ez
z z
=
+
. Hitunglah integral garis ( )
C
c∫ f z dz, jika
a) C lintasan positif berbentuk segi empat dengan titik-titik sudut 1±2i dan −1±2i .
b) C: 3
z+i = 2 arah positif.
5. Perderetkan secara Laurent ( )
( ) 2
ln 1
f z z
z

=

pada 0< z
H {A 2 (A P),(Q P) 0} − = ∈􀁜 − − ⊥ <
Buktikan bahwa H− konveks.
Kemudian tentukan bidang H− jika titik P = (−1, 2) dan Q = (3, 4) !
Semua soal harus disertai gambar yang lengkap !
Ujian Tengah Semester
Peng. Analisis Numerik
Lina Aryati
3 April 2007, Closed Book
1. a. Apa yang anda dapat simpulkan tentang fungsi ( ) 1 fx= −sinx dan
( ) cos2
1 sin
g x x
x
=
+
?
b. Fungsi mana yang anda pilih untuk menghitung pendekatan nilai fungsi untuk x
mendekati 2
π ? Mengapa?
c. Fungsi mana yang anda pilih untuk menghitung pendekatan nilai fungsi untuk x
mendekati 3
2
π ? Mengapa?
2. a. Misalkan 1P(x) merupakan interpolasi linear yang melewati dua data ( , ( )) o o x f x dan
( ) 1 1 x, f(x) . Jika f ‘ dan f ” ada dan kontinu pada [ ] 0 1 x , x , maka terdapat β dengan
0 1 x <β < x sehingga
( )( ) 0 1
1 ( ) ( ) ( ) ”( )
2!
x x x x
e x f x P x f β
− −
= − = , untuk setiap
[ ] 0 1 x ∈ x ,x . Buktikan!
b. Diberikan data yang berasal dari f (x) = lnx berikut
Tentukan polinom berderajad dua yang menginterpolasi data diatas. Kemudian
gunakan untuk menghitung nilai pendekatan dari ln (0,3). Dengan menghitung
f ”’(0, 25) , tentukan nilai pendekatan untuk e(0,3) !
3. Dengan menggunakan metode Bisection sebanyak 4 langkah (n = 4), tentukan nilai
pendekatan untuk pembuat nol fungsi f (x) =x3 −4x+1 yang terletak di antara 0 dan 1.
4. Nilai pendekatan ( )
b
a
∫ f x dx dapat dihitung dengan metode Trapezium
[ ] 2( ) ( ) ( )
2
T f b a f a f b

= +
Uraikan dengan lengkap cara mendapatkan rumus 2T (f)
x 0.1 0.2 0.4
f(x) -2.303 -1.609 -0.916
Ujian Akhir Semester
Peng. Analisis Numerik
Lina Aryati
12 Juni 2007, Closed Book
1. a. Buktikan bahwa terdapat tepat satu polinom berderajad n yang menginterpolasi
(n+1) data.
b. Diketahui hasil running program dengan suatu metode sebagai berikut:
h Nilai Mutlak Error
1/4 0.5948
1/16 0.1544
1/64 0.0389
Berapakah perkiraan orde error dari metode yang digunakan? Mengapa?
2. a. Jika f analitik dan nilai f(x – h), f(x + h), dan f(x – 2h) diketahui, tentukan rumus
pendekatan untuk ”( f x) dengan metode koefisien tak tentu. Berapakah error
pendekatannya?
b. Dengan menggunakan hasil a., hitung nilai pendekatan untuk f ”(0.5) jika diketahui
data berikut:
x 0.4 0.5 0.6 0.7
f(x) 0.737 0.794 0.843 0.888
3. a. Diketahui rumus pendekatan differensi berikut :
‘( ) (1) ( ) ( 3 ) 9 ( ) 8 ( )
h 6
f x D f x f x h f x h f x
h
− + + + −
= = ,
dengan error (1) ( ) 1 2 ”( )
h 2 e f x ≈ h f x . Lakukan analisis sensitivitas nilai fungsi terhadap
error dari rumus pendekatan tersebut.
b. Diketahui f (x)=ln(1−x) . Jika nilai pendekatan untuk 1
f ‘( 2) dihitung dengan rumus
pendekatan pada a., dan nilai f dihitung sampai dua angka di belakang koma, tentukan
nilai h􀀄 * sehingga untuk h 1 ? Beri alasan secara jelas.
b) Kenapa 1+1 = 2?
2. Diberikan sistem bilangan asli (􀁠,+,⋅). Jika m,n∈ 􀁠 dan m≤n,
buktikan n|m atau (∃p,q∈􀁠).(n=pm+q ∧ 1≤q<n)
3. Di dalam sistem bilangan asli (􀁠,+,⋅) dibentuk himpunan
P={p∈􀁠|(∀n∈􀁠)(n|p⇒ n= p∨n=1)}
Tunjukkan :
a) P bukan himpunan kosong
b) 1∉ P dan (∀n∈􀁠).1+1≤n
c) ( )( ( ) ) 1 12 1 ,…, . … k k ∀n∈􀁠 n≠ ⇒ ∃p p∈Pn=pp p
Ujian Akhir Semester
Peng. Teori Bilangan
Budi Surodjo
12 Juni 2007, Open Book
1. Diberikan S himpunan tidak kosong dilengkapi dengan operasi biner *:S×S→S yang
memenuhi :
a. ( )( )( ) 1 1 1 ∃e∈S ∀s∈S s*e ≠e
b. ( )( )( ) 2 2 2 ∃e ∈S ∀r,s∈S r*e =s*e ⇒r=s
c. ( )( )( ) 3 3 3 ∃e∈S ∀r,s∈S (s*r)*e =s*(r*e)
d. ( )( ( ) ) 1 2 3 1,2,3 ∀G⊆S ∃e,e,e ∈G∧ s∈G⇒s*e ∈G ⇒G=S
Apakah S dapat membentuk sistem bilangan asli? Jelaskan jawaban anda!
2. Diketahui S×S ={(n,m) n,m∈S} dengan ( , , ) S S S + × sistem bilangan asli dan
(,) {(,) } S S n m = k l ∈S×S k+ m=n+ l
2.1. Tunjukkan bahwa ada sistem ( , , ) S S S S S S × × × + × yang membentuk perluasan
( , , ) S S S + × !
2.2. Ada berapa banyak pasangan ((n,m),(k,l)) yang memenuhi
(n,m).(k,l)=(n,m).(11,1)+(13,1).(k,l)+(m+1,m).(l +1,l)
Catatan: Notasi × disingkat dengan .
3. Diketahui P×(P−{(m,m)})={(n,l) n∈P,l∈P−{(m,m)}} dengan P=S×S.
3.1. Tunjukkan bahwa ada sistem ( , , ) P P P P P P × × × + × yang membentuk perluasan
( , , ) S S S S S S × × × + × .
3.2. Jika dan (( , ),( , )) ((1 1,1),( 1, )) Q Q=⎛⎜P×P mk pq ⎞⎟≥ + q+ q
⎝ ⎠
, buktikan
bahwa (( , ),( , )) (( , ),( , )) ((3,1),( 1, )) Q m k p q + p q m k ≥ k + k
3.3. Buatlah suatu sistem yang merupakan perluasan dari sistem ( , , ) P P P P P P × × × + × .
Jelaskan prosesnya!
Ujian Tengah Semester
Masalah Syarat Batas
Moch. Tari M.Si
29 Maret 2007, Open Book
1. Tentukan Integral Fourier Sinus dan Cosinus untuk fungsi
( ) 4 2
fx x ex − =
2. Fungsi f didefinisikan :
4sin ,
( )
0 , dan
x x
f x
x x
π π
π π
⎧ − < <
= ⎨⎩
Ditanyakan :
a. Integral Fourier Fungsi itu
b. Dengan menggunakan hasil pada a. dan kovergensinya di x =π , perlihatkan
bahwa 2
2
0
1 sin 0
1
πα dα
α

=
− ∫
3. Tentukan penyelesaian masalah syarat batas semi infinit berikut:
i. 1
t 4 xx U= U , 0 < x 0
ii. U(0,t) = 0 , t > 0
iii. U(x,0)= 0,004 , 0 < x < ∞
Ujian Akhir Semester
Masalah Syarat Batas
Moch. Tari M.Si
7 Juni 2007, Open Book
1. Selesaikan BVP untuk vibrasi membran berikut:
tt xx yy U =U +U ; 0<x<π, 0<y0
U(0,y,t)=U(π,y,t)=U(x, 0,t)=U(x,π,t) = 0 ; t ≥ 0
( , ,0) 0 t U x y = ; 0 <x<π , 0 <y<π
U(x,y,0)=0,25xy ; 0<x<π, 0<y<π
2. Diketahui BVP berikut:
1
tt 4 xx Y= Y ; 0< x 0
Y(0,t) = 0 ; t ≥ 0
( ,0) 0 t Y x = ; 0 < x < ∞
( ) 3
2 ,0 ( ) 1
32
Y x f x xe− = = ; 0 < x < ∞
Tentukan penyelesaiannya, kemudian tentukan Y(x,t) jika syarat terakhir diganti dengan
( ) 1(1 )
2
fx= −e− x ; 0 < x < ∞
Ujian Tengah Semester
Peng. Teori Kendali
Dr. Salmah M.Si
2 April 2007, Open Book
1. Diberikan sistem dengan persamaan
􀀅s􀀅 =u
Diambil state 1 x = s dan 2 x = s􀀅
a. Tentukan persamaan bentuk state space sistem!
b. Desain observer sedemikian sehingga pole observer terletak di −1± i !
c. Berikan persamaan sistem observer!
2. Pandang sistem
6 28 3
2 2 1
x x u
⎛− ⎞ ⎛ ⎞
=⎜⎝− ⎟⎠ +⎜⎝ ⎟⎠
􀀅
y=(1 −14)x
a. Buatlah desain umpan balik dengan pole system terletak di -1 dan -2!
b. Buatlah desain observer dengan pole observer terletak di −1± i !
c. Buatlah gabungan desain umpan balik dan observer dengan pole terletak seperti pada
soal a. dan b.!
d. Berikan persamaan sistem setelah diberi umpan balik dan dibangun observer!
3. Diberikan sistem dalam bentuk state space
1 1 2
0 2 0
x x u
⎛− ⎞ ⎛ ⎞
=⎜ ⎟ +⎜ ⎟
⎝ ⎠ ⎝ ⎠
􀀅
a. Tunjukkan bahwa sistem tidak teramati!
b. Selidiki sub ruang teramati sistem tersebut!
c. Apakah sistem dapat distabilkan?
4. Diberikan sistem
1 0 2 1
0 3 0 1
1 0 0 0
x x u
⎛− ⎞ ⎛ ⎞
=⎜⎜ − ⎟⎟ +⎜⎜ ⎟⎟
⎜ ⎟ ⎜ ⎟
⎝ ⎠ ⎝ ⎠
􀀅
a. Tunjukkan bahwa sistem tidak stabil!
b. Tunjukkan bahwa sistem dapat distabilkan!
c. Hitunglah kendali umpan balik u=Fx sedemikian sehingga pole sistem terletak
di -1, -2, dan -3!
d. Tunjukkan bahwa sistem tidak teramati!
e. Apakah sistem detectable? Jelaskan jawaban anda!
Ujian Akhir Semester
Peng. Teori Kendali
Dr. Salmah M.Si
11 Juni 2007, Closed Book
1. Diberikan sistem yang memenuhi
x 􀀅 = Ax+Bu dengan
0 1 0
,
0,16 1 1
A B
⎛ ⎞ ⎛ ⎞
=⎜⎝− − ⎟⎠ =⎜⎝ ⎟⎠
a. Selidiki apakah sistem terkendali!
b. Jika sistem dapat dikendalikan carilah umpan balik sedemikian sehingga pole sistem
terletak di 1,2 μ = −1± i !
c. Diberikan y=(1 0)x. Apakah sistem teramati?
d. Jika dapat buatlah desain observer yang menempatkan pole sistem di 1,2 λ = −1± i !
2. Diberikan sistem yang memenuhi
x􀀅 = Ax+Bu dengan
1 0 2 1
0 3 0 , 1 ,
1 0 0 0
A B y Cx
⎛− ⎞ ⎛ ⎞
=⎜⎜ − ⎟⎟ =⎜⎜ ⎟⎟ =
⎜ ⎟ ⎜ ⎟
⎝ ⎠ ⎝ ⎠
dengan C =(1 0 0)
a. Apakah sistem stabil?
b. Apakah sistem dapat distabilkan?
c. Dapatkah menempatkan pole sistem di -1, -2, dan -3? Jika dapat hitunglah kendali
umpan baliknya!
3. Selidikilah masalah kendali optimal berikut apakah mempunyai penyelesaian. Jika
mempunyai penyelesaian optimal tentukan penyelesaian optimal tersebut.
Minimalkan :
a.
1
2 2
0
2 () 1 ( )
2
⎧⎨− x t− u t⎫⎬dt
⎩ ⎭ ∫ yang memenuhi 0 x􀀅(t) =−2x(t)+u(t), x(0)=x
b. { } 1
2 2
0
∫ 2x (t)−u (t) dt yang memenuhi 0
( ) 1 ( ) ( ), (0)
2
x􀀅t= xt+ut x =x
4. Diberikan sistem yang memenuhi
x 􀀅 = Ax+Bu dengan
0 1 0
,
0 0 1
A B
⎛ ⎞ ⎛ ⎞
=⎜ ⎟ =⎜ ⎟
⎝ ⎠ ⎝ ⎠
.
Akan diminimalkan fungsi objektif ( ) 2
0
J xTQx u dt

=∫ + , dengan
1 0
0 2
Q
⎛ ⎞
=⎜ ⎟
⎝ ⎠
.
a. Tentukan persamaan aljabar Riccatinya!
b. Carilah solusi persamaan aljabar Riccati!
c. Carilah kendali optimal steady state!
d. Tentukan sistem lingkar tertutupnya dan selidiki kestabilannya.
e. Jika 0
1
1
x
⎛ ⎞
= ⎜ ⎟
⎝ ⎠
, tentukan rumus x(t) untuk respon sistem lingkar tertutupnya.
Kemudian tentukan x(5)!
Ujian Tengah Semester
Teori Himpunan
Budi Surodjo
27 Maret 2007, Closed Book
Catatan: Kalau berani kerjakan dahulu soal yang sulit
1. Diberikan dua himpunan A dan B.
1.1 Benarkah A∪B∼A jika dan hanya jika B ⊆ A ? Jelaskan!
1.2 Jika AB ={f | f :B→A} himpunan denumerabel, apakah yang anda ketahui tentang
A dan B? jelaskan!
2. Ceritakan dan beri penjelasan:
2.1 Manfaat teori himpunan pada bidang statistika ?!
2.2 Manfaat teori himpunan pada bidang ilmu komputer ?!
3. Untuk sebarang himpunan H didefinisikan
P(H)={X|X⊆H}
3.1 Apa yang anda ketahui tentang P(∅) ? Jelaskan!
3.2 Jika K himpunan, apakah P(H×K) ∼P(H)× P(K) ? Jelaskan!
4. Diketahui 􀁠 ={1,2,3,…}. Himpunan A hingga, jika A = ∅ atau
(∃n∈􀁠).A∼{1, 2,3,…,n} . Himpunan A tak hingga jika
(∃B ⊆A)(A≠B∧B∼A)
Buktikan:
1. Jika (∀n∈􀁠).A􀁘{1, 2,…,n} , maka A = ∅ atau A tak hingga.
2. A hingga jika dan hanya jika tak benar A tak hingga!
Ujian Akhir Semester
Teori Himpunan
Budi Surodjo
5 Juni 2007, Closed Book
1. Diberikan fungsi f :A→B dan fungsi g:B→C.
a. Tentukan syarat agar f 􀁄 g terdefinisi!
b. Jika g􀁄 f injektif, apakah selalu g dan f keduanya injektif? Beri alasan!
2. Diketahui A ≠ ∅ dan 􀁜 adalah himpunan semua bilangan real. Notasi C(B)
menyatakan kardinalitas himpunan B.
2.1. Apakah selalu berlaku C([0,1]) =C(􀁜)? Jelaskan!
2.2. Definisikan C(A)−C(B)!
2.3. Apakah C(D)(C(A)−C(B))=C(D)C(A)−C(D)C(B)? Jelaskan!
3. Sekelompok anak akan bermain kelereng. Mereka meletakkan 27 kelereng ke dalam atau
pada suatu segitiga sama sisi dengan panjang sisi 1 meter. Jari-jari setiap kelereng 1 cm.
Setiap kelereng paling luar terletak pada segitiga dengan pusat kelereng tepat pada sisi
segitiga. Buktikan bahwa terdapat paling sedikit dua kelereng yang berjarak paling jauh
18 cm!
4. Diketahui { 1,2,3,…, } i Ai= n adalah koleksi himpunan-himpunan hingga. Apakah benar
1 2 1 2 3
1 2 1 2 3
1 2 3 4
1 2 3 4
1 1 , 1 , , 1
, , , 1
1 2
( ) ( ) ( ) ( )
( ) …
( 1) ( … )
n n n n
i i i i i i i
i i ii i i i
n
i i i i
i i i i
n
n
A A A A A A A
A A A A
A A A
= = ≥ ≥

= − ∩ + ∩ ∩
− ∩ ∩ ∩ + +
− ∩ ∩
Σ Σ Σ
Σ
C ∪ C C C
C
C
dengan j k i ≠i untuk setiap i≠k? Jika ya, buktikan!
Ujian Tengah Semester
Peng. Teori Modul
Sri Wahyuni, M.S, DR, Prof.
27 Maret 2007, Closed Book
1. Misalkan M adalah modul atas Ring R, dan 1 S serta 2 S adalah submodul-submodul
dalam M.
a) Tunjukkan 1 2 S S ∩ juga submodul di M
b) Tunjukkan 1 2 S S + juga submodul di M
c) Tunjukkan 1 2 S S ∪ belum tentu submodul di M
d) Tunjukkan 1 2 1 2 S +S = S ∪S
e) Sudah diketahui bahwa akan terbentuk 4 modul faktor
( ) ( )
( ) ( ) 1 2 1 2 1 2
1 2 1 2 1 2
S S , S S , S , S
S S S S S S
+ +
∩ ∩
Terangkan hubungan-hubungan yang mungkin diantara keempat Modul Faktor
tersebut. Jelaskan!
(Nilai: 50)
2. Misalkan V adalah ruang vektor atas F. Sudah kita ketahui bahwa akan terbentuk Ring
Suku Banyak F[x]. Misalkan juga T adalah Transformasi Linear dari V ke V.
a) Tunjukkan bahwa V merupakan modul atas F[x] terhadap operasi sebagai berikut:
p(x)􀁄v=p(T)(v)
∀p(x)∈F[x] dan ∀v∈V
b) Jika diambil V = 􀁜3 dan T :􀁜3→􀁜3 dengan definisi
1 1
3
2 1 2
3 2 3
0
,
x x
T x x x
x x x
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
⎜⎜ ⎟⎟=⎜⎜ ⎟⎟ ∀⎜⎜ ⎟⎟∈
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎝ ⎠ ⎝ ⎠ ⎝ ⎠
􀁜
Deskripsikan Modul V atas F[x] melalui Transformasi Linear T seperti pada soal
a) di atas!
(Nilai: 50)
Ujian Akhir Semester
Peng. Teori Modul
Sri Wahyuni, M.S, DR, Prof.
5 Juni 2007, Closed Book
1. Misalkan M1 dan M2 masing-masing adalah Modul atas Ring Komutatif R dengan elemen
satuan 1R. Selanjutnya dibentuk himpunan
{( ) } 1 2 1 2 1 1 2 2 M ×M= m,m m∈M,m∈M
dan operasi jumlahan + pada 1 2 M ×M ,yaitu untuk setiap ( ) ( ) 1 2 1 2 1 2 m,m , m’,m ‘ ∈M ×M
didefinisikan :
( ) ( ) ( ) 1 2 1 2 1 1 2 2 m,m + m’,m ‘ = m +m ‘,m +m ‘
Perintah a.)
Tunjukkan secara singkat bahwa 1 2 M ×M merupakan Grup Abelian!
Selanjutnya, jika r∈R dan ( ) 1 2 1 2 m,m ∈M ×M didefinisikan operasi 􀁄 (pergandaan
skalar) sebagai berikut :
( ) ( ) 1 2 1 2 r􀁄 m,m = rm,rm
Perintah b.)
Tunjukkan 1 2 M ×M merupakan Modul atas Ring R terhadap operasi 􀁄 diatas!
2. Diketahui Modul M atas Ring Komutatif R dengan elemen satuan 1R. Selanjutnya
dibentuk himpunan
( ) { : homomorfisma modul} R End M = f M→M f
Pada ( ) R End M didefinisikan operasi + dan 􀁄 sebagai berikut.
Untuk setiap , ( ) R f g∈End M dan untuk setiap m∈M
i. f + g adalah fungsi dari M ke M dengan definisi ( f+g)(m)=f(m)+g(m)
ii. f 􀁄 g adalah fungsi dari M ke M dengan definisi ( f 􀁄g)(m)= f(g(m))
Perintah a.)
Tunjukkan secara singkat bahwa ( ) R End M adalah Ring dengan elemen satuan!
Selanjutnya didefinisikan operasi pergandaan skalar antara ( ) R f ∈ End M dan m∈M
sebagai berikut :
f 􀁄m=f(m)
Perintah b.)
Tunjukkan bahwa M merupakan Modul atas Ring ( ) R End M terhadap operasi
pergandaan skalar 􀁄 diatas!
3. 􀁝8 dapat dipandang sebagai 􀁝 -Modul dan juga dapat dipandang sebagai 􀁝8 -Modul.
Hitunglah :
a) ( ) 8 T 􀁝 jika 􀁝8 = 􀁝 -Modul
b) ( ) 8 T 􀁝 jika 􀁝8 = 􀁝8 -Modul
c) Annihilator {2} jika 􀁝8 = 􀁝 -Modul
d) Annihilator {2} jika 􀁝8 = 􀁝8 -Modul
Ujian Tengah Semester
Peng. Topologi
Dr. YM Sri Daru Unoningsih, MS
29 Maret 2007, Closed Book
1. Diberikan 􀁠 = {1, 2,3,…} dan didefinisikan
{, 1, 2,…} n E = nn+ n+ , untuk n ∈ 􀁠
Dibentuk keluarga himpunan bagian 􀁠 sebagai berikut :
{ } { | } n τ = Ø ∪ E n∈􀁠
Buktikan τ topologi pada 􀁠 !
2. Jika (X ,τ ) ruang topologi, A⊂X dan A􀁄 himpunan semua titik interior A, buktikan:
a. A􀁄 terbuka
b. A􀁄 himpunan terbuka terbesar yang termuat dalam A
3. Untuk setiap ruang topologi ( X ,τ ) dan A,B⊂X buktikan :
a. A∪B=A∪B
b. A∩B⊂A∩B dan tidak berlaku sebaliknya
4. Jika X ={a,b,c,d,e} buktikan
S= {{a,b},{b,c},{e,d},{d,e}}
Merupakan subbasis untuk suatu topologi pada X. Tentukan juga topologinya.
5. Dalam ruang topologi biasa (􀁜,τ ) buatlah liput terbuka untuk interval [−2,1) yang tidak
memuat liput terbuka berhingga.
Ujian Akhir Semester
Peng. Topologi
Dr. YM Sri Daru Unoningsih, MS
7 Juni 2007, Closed Book
1. Jika 1 2 , ,…, n τ τ τ topologi pada himpunan tak kosong X, buktikan
1
n
i
i
τ
= ∩
topologi pada X !
2. Diberikan ruang topologi biasa (􀁜,τ ) dan himpunan
A 1n 3 1n
n n
⎧ ⎫ ⎧ ⎫
=⎨ ∈ ⎬∪⎨ − ∈ ⎬
⎩ ⎭ ⎩ ⎭
􀁠 􀁠
Tentukan A􀁄, A’, A, b(A), dan ext(A)
3. Diberikan ruang topologi (X ,τ ), himpunan K kompak di dalamnya dan F⊂K dengan
F tertutup. Buktikan F kompak!
4. Jika (X ,τ ) ruang topologi terhubung dan fungsi f :X→Y kontinu pada X, buktikan
f(x) terhubung.
5. Buktikan setiap ruang T4 pasti ruang T3 dan setiap ruang T3 pasti ruang Hausdorff.
Ujian Tengah Semester
Peng. Teori Ukuran & Integral Umum
Ch. Rini Indrati
3 April 2007, Closed Book
I. JAWABAN SINGKAT
1. Berikan pengertian himpunan E ⊆ 􀁜 terukur Lebesgue!
2. Diketahui X himpunan tidak kosong dan A Aljabar −σ pada X
i. Kapan A⊆X terukur?
ii. Berikan pengertian ukuran μ pada ruang terukur ( X , A ) !
iii. Berikan pengertian fungsi f :X → 􀁜 terukur −μ !
iv. Berikan pengertian fungsi sederhana pada X!
v. Berikan pengertian SIFAT P berlaku hampir dimana-mana pada E⊆X!
3. Diberikan ruang ukuran (X,A,μ) dan f fungsi terukur non negatif pada X. Berikan
pengertian
X
∫ f dμ !
II. ESSAY
1. Diketahui X = {1, 2,3, 4} , { { } { }} 1 A = ∅,X, 1 , 2,3,4 , dan { { } { }} 2 A = ∅,X, 2 , 1,3,4 .
a. Berikan 1 2 A ∪A !
b. Selidiki apakah 1 2 A , A , maupun 1 2 A ∪A aljabar pada X ?
2. Tunjukkan bahwa koleksi semua himpunan terukur Lebesgue di 􀁜 membentuk aljabar!
3. Tunjukkan bahwa jika { } n f barisan fungsi terukur −μ pada ruang terukur (X , A), maka
inf n n
f terukur −μ pada ruang terukur ( X , A ) !
4. Diberikan fungsi ( )
3, 1 4
1, 4 5
4, 5 7
x
f x x
x
− ≤ < ⎧⎪
= ≤ ≤ ⎨⎪
⎩ < ≤
. Hitunglah ( ) ( )
E
∫ f x dμ x , dengan E = [−1,7]
dan μ ukuran Lebesgue pada 􀁜 !
5. Diberikan ruang ukuran (X,A,μ) dan f fungsi terukur non-negatif pada X. Jika f = 0
hampir di mana-mana pada X, tunjukkan bahwa 0
X
∫ f dμ = !

Jawaban soal UTS PJJ PBO @Tessy Badriyah, 21 April 2007 PEMBAHASAN UJIAN TENGAH SEMESTER PEMROGRAMAN BERBASIS OBYEK


Jawaban soal UTS PJJ PBO @Tessy Badriyah, 21 April 2007
PEMBAHASAN
UJIAN TENGAH SEMESTER
PEMROGRAMAN BERBASIS OBYEK
Dosen : Tim Dosen PBO
1. Buat program untuk menampilkan bilangan ganjil yang lebih kecil dari 20
menggunakan :
a. For
b. While atau do while (pilih salah satu)
Jawaban :
public class Ganjil {
public static void main(String [] args) {
int i;
for (i=0; i0)
System.out.print(i + ” “);
}
}
}
public class Ganjil {
public static void main(String [] args) {
int i=0;
while (i0)
System.out.print(i + ” “);
i++;
}
}
}
public class Ganjil {
public static void main(String [] args) {
int i=0;
do {
if ((i%2)>0)
System.out.print(i + ” “);
i++;
} while (i<20);
}
}
2. Dengan menggunakan array 2 dimensi, buatlah program yang menghitung nilai
akhir dari 3 mahasiswa dengan aturan : Na = 0.35*UTS + 0.45*UAS + 0.2*Tugas;
Nama UTS UAS Tugas
Amin 67 78 89
Budi 78 90 87
Candra 56 67 70
Jawaban soal UTS PJJ PBO @Tessy Badriyah, 21 April 2007
Jawaban :
public class Nilai {
public static void main(String [] args) {
String nama[]={“Amin”, “Budi”, “Candra”};
double uts[]={67,78,56}, uas[]={78,90,67}, tugas[]={89,87,70}, NA;
for (int i=0; i bilangan desimal
10 => bilangan octal karena dimulai dengan 0
18 => bilangan hexa karena dimulai dengan 0x
4. Apa yang terjadi jika program ini dijalankan ? Jika terjadi error betulkan !
public class Test {
public static void main(String args []) {
short s = 9;
int i=10;
float f=11.1f;
double d=12.2;
s = i;
d = f;
i = d;
}
}
Jawaban :
Prinsip : widening (tipe data variabel di sebelah kiri harus memiliki range
(jangkauan) yang lebih luas daripada tipe data variabel di sebelah kanannya.
Jawaban soal UTS PJJ PBO @Tessy Badriyah, 21 April 2007
Pembetulan :
public class Test {
public static void main(String args []) {
short s = 9;
int i=10;
float f=11.1f;
double d=12.2;
s = (short) i;
d = f;
i = (int) d;
}
}
5. Apa hasil compile dan eksekusi program dibawah ini ?
public class Test {
public static void main(String args []) {
int bil=1, j=0, temp, i;
for (i=0; i<5; i++) {
temp = i % 2;
switch (temp) {
case 0 : j=j+bil++;
break;
case 1 : j=j+ (++bil);
break;
}
}
System.out.println(j);
}
}
Jawaban :
17
6. Untuk program-program di bawah ini, berikan penjelasan dan tebaklah
outputnya !
a. public class ShortAnd {
public static void main(String args[] ) {
int a=5, b=7;
if ((a<2) && (b++<10)) b+=2;
System.out.println(b);
}
}
b. public class ShortOr {
public static void main(String args[] ) {
int a=5, b=7;
if ((a<2) || (b++<10)) b+=2;
System.out.println(b);
}
}
c. public class Complement {
public static void main(String args[] ) {
int i;
i=~7;
System.out.println(i);
}
}
d. public class LeftShift {
public static void main(String args[] ) {
int i=3;
i = i <80)
NH=”A”;
else if (NA>70)
NH=”AB”;
else if (NA>65)
NH=”B”;
else if (NA>60)
NH=”BC”;
else if (NA>55)
NH=”C”;
else if (NA>40)
NH=”D”;
else
NH=”E”;
System.out.println(“Nilai angka = “+NA);
System.out.println(“Nilai huruf = “+NH);
}
}
8. Buat program dengan menggunakan array untuk menghitung bilangan Fibonacci
tentukan n=9 (Bilangan Fibonacci adalah bilangan yang menjumlahkan 2
bilangan sebelumnya !
Jawaban :
public class Fibonacci {
public static void main(String args []) {
int n = 9;
// Program Fibonacci
int i;
int fibo[];
fibo=new int [10];
Jawaban soal UTS PJJ PBO @Tessy Badriyah, 21 April 2007
fibo[1]=1; fibo[2]=1;
for (i=3; i<10; i++)
fibo[i]=fibo[i-1]+fibo[i-2];
System.out.println(“Bilangan Fibonacci suku ke-1 sampai 9 :”);
for (i=1; i<10; i++)
System.out.print(fibo[i]+” “);
}
}
9. Jelaskan perbedaan 2 program di bawah ini dan tebaklah masing-masing
outputnya !
public class Switch1 {
public static void main(String
args[]) {
int i = 2;
switch (i) {
case 1 : i+=3;
break;
case 2 : i+=5;
break;
default : i+=10;
}
System.out.println(i);
}
}
public class Switch2 {
public static void main(String args[]) {
int i = 2;
switch (i) {
case 1 : i+=3;
case 2 : i+=5;
default : i+=10;
}
System.out.println(i);
}
}
Jawaban :
Pada program sebelah kiri, setelah mengerjakan statement yang ada di case 2, dan karena
diakhiri dengan perintah break maka keluar dari switch dan langsung mencetak nilai
variabel i. outputnya 7.
Pada program sebelah kanan, karena setelah mengerjakan statement yang ada di case 2,
di dalamnya tidak diberi perintah break maka akan melanjutkan ke statement berikutnya
(yaitu default) sehingga outputnya 17.
10. Implementasikan UML class diagram di bawah ini ke dalam program untuk class
Mahasiswa
Mahasiswa
-nrp : int
-nama : String
+ Mahasiswa(i : int, String n)
+ getNRP() : int
+ getNama() : String
Jawaban soal UTS PJJ PBO @Tessy Badriyah, 21 April 2007
Jawaban :
public class Mahasiswa {
public int nrp;
public String nama;
public Mahasiswa(int i, String n) {
this.nrp=i;
this.nama=n;
}
public int getNRP() {
return nrp;
}
public String getNama() {
return nama;
}
}
class TesMahasiswa {
public static void main(String [] args) {
Mahasiswa siswa = new Mahasiswa(123,”SAYA”);
System.out.println(“NRP = “+siswa.getNRP());
System.out.println(“Nama = “+siswa.getNama());
}
}

IKI-20230 Sistem Operasi Kumpulan Soal Ujian 2002 – 2005


IKI-20230 Sistem Operasi
Kumpulan Soal Ujian 2002 – 2005
© 2002-2006 Rahmat M. Samik-Ibrahim (vLSM.org)
PDF: http://rms46.vLSM.org/1/94.pdf
OpenOffice.org: http://rms46.vLSM.org/1/94.odt Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini.
Pasangan Konsep I (2002-2005)
Terangkan dengan singkat, pasangan konsep berikut ini. Terangkan pula perbedaan atau/dan
persamaan pasangan konsep tersebut.
a) OS View: ”Resource Allocator” vs. ”Control Program”
b) ”Graceful Degradation” –- ”Fault Tolerant”.
c) Dual Mode Operation : ”User mode” vs. ”Monitor mode”.
d) Operating System Goal: ”Convenient” vs. ”Efficient”
e) ”System Components” vs. ”System Calls”.
f) ”Operating System Components” vs. ”Operating System Services”
g) ”Symetric Multiprocessing” vs. ”Asymetric Multiprocessing”
h) ”Distributed Systems” vs. ”Clustered Systems”.
i) ”Client Server System” vs.”Peer-to-peer system”.
j) ”Microkernels” vs. ”Virtual Machines”
k) ”Random Access Memory” vs. ”Magnetic Disk”.
l) ”Hard Real-time” vs ”Soft Real-time”
m)Job: “Batch system” vs. “Time-Sharing System”
n) System Design: “Mechanism” vs. “Policy”
o) Burst Cycle: “I/O Burst” vs. “CPU Burst”
p) Process Bound: “I/O Bound” vs. “CPU Bound”
q) ”Process State” vs. ”Process Control Block”.
r) ”Waiting Time” vs. ”Response Time”
s) Process Type: “Lightweight” vs. “Heavyweight”
t) Multithread Model: ”One to One” vs. ”Many to Many”
u) Scheduling Process: “Short Term” vs. “Long Term”
v) Scheduling Algorithm: “FCFS (First Come First Serve)” vs. “SJF (Shortest Job First)”
w) Preemptive Shortest Job First vs. Non-preemptive Shortest Job First.
x) Inter Process Communication: “Direct Communication” vs. “Indirect Communication”
y) ”Critical Section” vs. ”Race Condition”.
z) Process Synchronization: “Monitor” vs. “Semaphore”
aa)”Deadlock Avoidance” vs. ”Deadlock Detection”.
ab)”Deadlock” vs. ”Starvation”.
ac)Address Space: ”Logical” vs. ”Physical”
ad)Dynamic Storage Allocation Strategy: ”Best Fit” vs. ”Worse Fit”
ae)Virtual Memory Allocation Strategy: ”Global” vs. ”Local Replacement”
af)File Operations: ”Deleting” vs. ”Truncating”
ag)Storage System: ”Volatile” vs. ”Non-volatile”
ah)File Allocation Methods: ”Contiguous” vs. ”Linked”
ai)Disk Management: ”Boot Block” vs. ”Bad Block”
aj)I/O Data-Transfer Mode: ”Character” vs. ”Block”
ak)I/O Access Mode: ”Sequential” vs. ”Random”
al)I/O Transfer Schedulle: ”Synchronous” vs. ”Asynchronous”
am)I/O Sharing: ”Dedicated” vs. ”Sharable”
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 1 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
Pasangan Konsep II (2002-2005)
Terangkan dengan singkat, pasangan konsep berikut ini. Terangkan pula perbedaan atau/dan
persamaan pasangan konsep tersebut.
a) I/O direction: ”Read only” vs. ”Write only”
b) ”I/O Structure” vs. ”Storage Structure”
c) Software License: ”Free Software” vs. ”Copyleft”
Konsep Sistem Operasi (2005)
a) Terangkan/jabarkan sekurangnya empat komponen utama dari sebuah Sistem Operasi.
b) Terangkan/jabarkan peranan/pengaruh dari keempat komponen di atas terhadap sebuah
Sistem Operasi Waktu Nyata (Real Time System).
c) Terangkan/jabarkan peranan/pengaruh dari keempat komponen di atas terhadap sebuah
Sistem Prosesor Jamak (Multi Processors System).
d) Terangkan/jabarkan peranan/pengaruh dari keempat komponen di atas terhadap sebuah
Sistem Operasi Terdistribusi (Distributed System).
e) Terangkan/jabarkan peranan/pengaruh dari keempat komponen di atas terhadap sebuah
Sistem Operasi Telepon Seluler (Cellular Phone).
Tabel Proses I (2003)
Berikut merupakan sebagian dari keluaran hasil eksekusi perintah “top b n 1” pada sebuah
sistem GNU/Linux yaitu ”bunga.mhs.cs.ui.ac.id” beberapa saat yang lalu.
15:34:14 up 28 days, 14:40, 53 users, load average: 0.28, 0.31, 0.26
265 processes: 264 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: 5.9% user, 1.8% system, 0.1% nice, 92.2% idle
Mem: 126624K total, 113548K used, 13076K free, 680K buffers
Swap: 263160K total, 58136K used, 205024K free, 41220K cached
PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND
1 root 8 0 460 420 408 S 0.0 0.3 0:56 init
2 root 9 0 0 0 0 SW 0.0 0.0 0:02 keventd
3 root 19 19 0 0 0 SWN 0.0 0.0 0:02 ksoftirqd_CPU0
…..
17353 user1 9 0 2500 2004 2004 S 0.0 1.5 0:00 sshd
17354 user1 9 0 1716 1392 1392 S 0.0 1.0 0:00 bash
17355 user1 9 0 2840 2416 2332 S 0.0 1.9 0:00 pine
12851 user2 9 0 2500 2004 2004 S 0.0 1.5 0:00 sshd
12852 user2 9 0 1776 1436 1436 S 0.0 1.1 0:00 bash
13184 user2 9 0 1792 1076 1076 S 0.0 0.8 0:00 vi
13185 user2 9 0 392 316 316 S 0.0 0.2 0:00 grep
22272 user3 9 0 2604 2592 2292 S 0.0 2.0 0:00 sshd
22273 user3 9 0 1724 1724 1396 S 0.0 1.3 0:00 bash
22283 user3 14 0 980 980 660 R 20.4 0.7 0:00 top
19855 user4 9 0 2476 2048 1996 S 0.0 1.6 0:00 sshd
19856 user4 9 0 1700 1392 1392 S 0.0 1.0 0:00 bash
19858 user4 9 0 2780 2488 2352 S 0.0 1.9 0:00 pine
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 2 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
(sambungan Tabel Proses)
a) Berapakah nomer Process Identification dari program ”top” tersebut?
b) Siapakah yang mengeksekusi program ”top” tersebut?
c) Sekitar jam berapakah, program tersebut dieksekusi?
d) Sudah berapa lama sistem GNU/Linux tersebut hidup/menyala?
e) Berapa pengguna yang sedang berada pada sistem tersebut?
f) Apakah yang dimaksud dengan ”load average”?
g) Apakah yang dimaksud dengan proses ”zombie” ?
Tabel Proses II (2004)
Berikut merupakan sebagian dari keluaran hasil eksekusi perintah “top b n 1” pada sebuah
sistem GNU/Linux yaitu ”rmsbase.vlsm.org” beberapa saat yang lalu.
top – 17:31:56 up 10:14 min, 1 user, load average: 8.64, 5.37, 2.57
Tasks: 95 total, 2 running, 93 sleeping, 0 stopped, 0 zombie
Cpu(s): 14.1% user, 35.7% system, 3.6% nice, 46.6% idle
Mem: 256712k total, 252540k used, 4172k free, 13772k buffers
Swap: 257032k total, 7024k used, 250008k free, 133132k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
809 root 19 19 6780 6776 6400 S 42.2 2.6 1:02.47 rsync
709 root 20 19 6952 6952 660 R 29.3 2.7 1:46.72 rsync
710 root 19 19 6492 6484 6392 S 0.0 2.5 0:02.12 rsync
818 rms46 13 0 880 880 668 R 7.3 0.3 0:00.10 top

660 rms46 9 0 1220 1220 996 S 0.0 0.5 0:00.00 bash
661 rms46 9 0 1220 1220 996 S 0.0 0.5 0:00.01 bash

712 rms46 9 0 9256 9256 6068 S 0.0 3.6 0:06.82 evolution
781 rms46 9 0 16172 15m 7128 S 0.0 6.3 0:02.59 evolution-mail
803 rms46 9 0 16172 15m 7128 S 0.0 6.3 0:00.41 evolution-mail
804 rms46 9 0 16172 15m 7128 S 0.0 6.3 0:00.00 evolution-mail
805 rms46 9 0 16172 15m 7128 S 0.0 6.3 0:07.76 evolution-mail
806 rms46 9 0 16172 15m 7128 S 0.0 6.3 0:00.02 evolution-mail
766 rms46 9 0 5624 5624 4572 S 0.0 2.2 0:01.01 evolution-calen
771 rms46 9 0 4848 4848 3932 S 0.0 1.9 0:00.24 evolution-alarm
788 rms46 9 0 5544 5544 4516 S 0.0 2.2 0:00.55 evolution-addre
792 rms46 9 0 4608 4608 3740 S 0.0 1.8 0:01.08 evolution-execu

713 rms46 9 0 23580 23m 13m S 0.0 9.2 0:04.33 firefox-bin
763 rms46 9 0 23580 23m 13m S 0.0 9.2 0:00.57 firefox-bin
764 rms46 9 0 23580 23m 13m S 0.0 9.2 0:00.00 firefox-bin
796 rms46 9 0 23580 23m 13m S 0.0 9.2 0:00.18 firefox-bin
a) Berapakah nomor Process Identification dari program ”top” tersebut?
b) Sekitar jam berapakah, program tersebut dieksekusi?
c) Apakah yang dimaksud dengan proses ”nice” ?
d) Dalam sistem Linux, “process” dan “thread “ berbagi “process table” yang sama. Identifikasi/
tunjukkan (nomor Process Identification) dari salah satu thread. Terangkan alasannya!
e) Terangkan, mengapa sistem yang 46.6% idle dapat memiliki ”load average” yang tinggi!
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 3 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
GNU/Linux (2003)
a) Sebutkan perbedaan utama antara kernel linux versi 1.X dan versi 2.X !
b) Terangkan, apa yang disebut dengan ”Distribusi (distro) Linux”? Berikan empat contoh
distro!
c) Berikut merupakan sebagian dari keluaran menjalankan perintah ”top b n 1” pada server
”bunga.mhs.cs.ui.ac.id” pada tanggal 10 Juni 2003 yang lalu.
d) Jam berapakah program tersebut di atas dijalankan?
e) Berapa waktu yang lalu (perkirakan/hitung dari tanggal 10 Juni tersebut), server
”bunga.mhs.cs.ui.ac.id” terakhir kali (re)boot?
f) Apakah yang dimaksud dengan ”load average” ?
g) Sebutkan nama dari sebuah proses di atas yang statusnya ”running”!
h) Sebutkan nama dari sebuah proses di atas yang statusnya ”waiting”!
16:22:04 up 71 days, 23:40, 8 users, load average: 0.06, 0.02, 0.00
58 processes: 57 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: 15.1% user, 2.4% system, 0.0% nice, 82.5% idle
Mem: 127236K total, 122624K used, 4612K free, 2700K buffers
Swap: 263160K total, 5648K used, 257512K free, 53792K cached
PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND
1 root 0 0 112 72 56 S 0.0 0.0 0:11 init
2 root 0 0 0 0 0 SW 0.0 0.0 0:03 kflushd
4 root 0 0 0 0 0 SW 0.0 0.0 156:14 kswapd

14953 root 0 0 596 308 236 S 0.0 0.2 19:12 sshd
31563 daemon 0 0 272 256 220 S 0.0 0.2 0:02 portmap
1133 user1 18 0 2176 2176 1752 R 8.1 1.7 0:00 top
1112 user1 0 0 2540 2492 2144 S 0.0 1.9 0:00 sshd
1113 user1 7 0 2480 2480 2028 S 0.0 1.9 0:00 bash
30740 user2 0 0 2500 2440 2048 S 0.0 1.9 0:00 sshd
30741 user2 0 0 2456 2456 2024 S 0.0 1.9 0:00 bash
30953 user3 0 0 2500 2440 2072 S 0.0 1.9 0:00 sshd
30954 user3 0 0 2492 2492 2032 S 0.0 1.9 0:00 bash
1109 user3 0 0 3840 3840 3132 S 0.0 3.0 0:01 pine

1103 user8 0 0 2684 2684 1944 S 0.0 2.1 0:00 tin
Kernel Linux 2.6.X (=KL26) (2004)
a) Terangkan, apa yang dimaksud dengan Perangkat Lunak Bebas (PLB) yang berbasis lisensi
GNU GPL (General Public Licence)!
b) KL26 diluncurkan Desember 2003. Terangkan mengapa hingga kini (Januari 2005), belum juga
dibuka cabang pengembangan Kernel Linux versi 2.7.X!
c) KL26 lebih mendukung sistem berskala kecil seperti Mesin Cuci, Kamera, Ponsel, mau pun
PDA. Terangkan, bagaimana kemampuan (feature) opsi tanpa MMU (Memory Management
Unit) dapat mendukung sistem berskala kecil.
d) KL26 lebih mendukung sistem berskala sangat besar seperti ”Enterprise System”. Terangkan
sekurangnya dua kemampuan (feature) agar dapat mendukung sistem berskala sangat besar.
e) KL26 lebih mendukung sistem interaktif seperti ”Work Station”. Terangkan sekurangnya satu
kemampuan (feature) agar dapat mendukung sistem interaktif.
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 4 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
Rancangan Sistem (2002)
Rancang sebuah sistem yang secara rata-rata:
- sanggup melayani secara bersamaan (concurrent) hingga 1000 pengguna (users).
- hanya 1% dari pengguna yang aktif mengetik pada suatu saat, sedangkan sisanya (99%) tidak
mengerjakan apa-apa (idle).
- kecepatan mengetik 10 karakter per detik.
- setiap ketukan (ketik) menghasilkan “response” CPU burst dengan ukuran 10000 instruksi
mesin.
- setiap instruksi mesin dijalankan dalam 2 (dua) buah siklus mesin (machine cycle).
- utilisasi CPU 100%.
a) Gambarkan GANTT chart dari proses-proses tersebut di atas. Lengkapi gambar dengan yang
dimaksud dengan burst time dan response time!
b) Berapa lama, durasi sebuah CPU burst tersebut?
c) Berapa lama, kasus terbaik (best case) response time dari ketikan tersebut?
d) Berapa lama, kasus terburuk (worse case) response time dari ketikan tersebut?
e) Berapa MHz. clock-rate CPU pada kasus butir tersebut di atas?
Penjadualan Proses I (2004)
Diketahui tiga (3) proses preemptive dengan nama berturut-turut P1 (0), P2 (2), dan P3 (4). Angka
dalam kurung menunjukkan waktu tiba (”arrival time”). Ketiga proses tersebut memiliki burst time
yang sama yaitu 4 satuan waktu (unit time). Setiap memulai/peralihan proses, selalu diperlukan
waktu-alih (switch time) sebesar satu (1) satuan waktu.
Berapakah rata-rata turn-around time dan waiting time dari ketiga proses tersebut, jika
diimplementasikan dengan algoritma penjadualan:
Shortest Waiting First: mendahulukan proses dengan waiting time terendah.
Longest Waiting First: mendahulukan proses dengan waiting time tertinggi.
Jika kriteria penjadualan seri, dahulukan proses dengan nomor urut yang lebih kecil (umpama: P1
akan didahulukan dari P2). Jangan lupa membuat Gantt Chart-nya!
Penjadualan Proses II (2002)
Lima proses tiba secara bersamaan pada saat “t0” (awal) dengan urutan P1, P2, P3, P4, dan P5.
Bandingkan (rata-rata) turn-around time dan waiting time dari ke lima proses tersebut di atas; jika
mengimplementasikan algoritma penjadualan seperti FCFS, SJF, dan RR (Round Robin) dengan
kuantum 2 (dua) satuan waktu. Context switch diabaikan.
a) Burst time kelima proses tersebut berturut-turut (10, 8, 6, 4, 2) satuan waktu.
b) Burst time kelima proses tersebut berturut-turut (2, 4, 6, 8, 10) satuan waktu.
Penjadualan Proses III (2001)
Diketahui lima (5) PROSES dengan nama berturut-turut:
● P1 (0, 9)
● P2 (2, 7)
● P3 (4, 1)
● P4 (6, 3)
● P5 (8, 2)
Angka dalam kurung menunjukkan: (”arrival time”, ”burst time”). Setiap peralihan proses, selalu
akan diperlukan waktu-alih (switch time) sebesar satu (1) satuan waktu (unit time).
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 5 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
(Penjadualan Proses III)
a) Berapakah rata-rata turnaround time dan waiting time dari kelima proses tersebut, jika
diimplementasikan dengan algoritma penjadualan FCFS (First Come, First Serve)?
b) Bandingkan turnaround time dan waiting time tersebut, dengan sebuah algoritma penjadualan
dengan ketentuan sebagai berikut:
➔ Pre-emptive: pergantian proses dapat dilakukan kapan saja, jika ada proses lain yang
memenuhi syarat. Namun durasi setiap proses dijamin minimum dua (2) satuan waktu,
sebelum boleh diganti.
➔ Waktu alih (switch-time) sama dengan diatas, yaitu sebesar satu (1) satuan waktu (unit
time).
➔ Jika proses telah menunggu >= 15 satuan waktu:
• dahulukan proses yang telah menunggu paling lama
➔ lainnya:
• dahulukan proses yang menunggu paling sebentar.
➔ Jika kriteria yang terjadi seri:
• dahulukan proses dengan nomor urut yang lebih kecil (umpama: P1 akan didahulukan
dari P2).
Status Proses (2003)
a) Gambarkan sebuah model bagan status proses (process state diagram) dengan minimum lima
(5) status.
b) Sebutkan serta terangkan semua nama status proses (process states) tersebut.
c) Sebutkan serta terangkan semua nama kejadian (event) yang menyebabkan perubahan status
proses.
d) Terangkan perbedaan antara proses ”I/O Bound” dengan proses ”CPU Bound” berdasarkan
bagan status proses tersebut.
Proses (2005)
Silakan menelusuri program C berikut ini. Diasumsikan bahwa PID dari program tersebut (baris
17) ialah 5000, serta tidak ada proses lain yang terbentuk kecuali dari “fork()” program ini.
a) Tuliskan keluaran dari program tersebut.
b) Ubahlah MAXLEVEL (baris 04) menjadi “5”; lalu kompail ulang dan jalankan kembali! Tuliskan
bagian keluaran dari modifikasi program tersebut.
c) Jelaskan asumsi pemilihan PID pada butir “b” di atas!
01 #include
02 #include
03 #include
04 #define MAXLEVEL 4
06 char* turunan[]= {“”, “pertama”,”kedua”,”ketiga”,”keempat”,”kelima”};
07
08 main()
09 {
10 int idx = 1;
11 int putaran = 0;
12 int deret0 = 0;
13 int deret1 = 1;
14 int tmp;
15 pid_t pid;
16
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 6 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
17 printf(“PID INDUK %d\n”, (int) getpid());
18 printf(“START deret Fibonacci… %d… %d…\n”, deret0, deret1);
20 while (putaran 0) /* Induk? */
29 {
30 wait(NULL);
31 printf(“INDUK %s selesai menunggu “, turunan[idx]);
32 printf(“PID %d…\n”, (int) pid);
33 putaran++;
34 } else if (pid==0) { /* Turunan? */
35 printf(“Deret Fibonacci selanjutnya… %d…\n”, deret1);
36 idx++;
37 exit (0);
38 } else { /* Error? */
39 printf(“Error…\n”);
40 exit (1);
41 }
42 };
43 exit (0);
44 }
Deadlock I (2005)
a) Terangkan/jabarkan secara singkat, keempat kondisi yang harus dipenuhi agar terjadi
Deadlock! Gunakan graf untuk menggambarkan keempat kondisi tersebut!
b) Terangkan/jabarkan secara singkat, apakah akan selalu terjadi Deadlock jika keempat kondisi
tersebut dipenuhi?!
Deadlock II (2003)
Diketahui:
a) set P yang terdiri dari dua (2) proses; P = { P1, P2 }.
b) set R yang terdiri dari dua (2) sumber-daya (resources); dengan berturut-turut lima (5) dan dua
(2) instances; R = { R1, R2 } = { {r11, r12, r13, r14, r15 }, {r21, r22 } }.
c) Plafon (jatah maksimum) sumber-daya untuk masing-masing proses ialah:
R1 R2
P1 5 1
P2 3 1
d) Pencegahan deadlock dilakukan dengan Banker’s Algorithm.
e) Alokasi sumber-daya yang memenuhi kriteria Banker’s Algorithm di atas, akan diprioritaskan
pada proses dengan indeks yang lebih kecil.
f) Setelah mendapatkan semua sumber-daya yang diminta, proses akan mengembalikan
SELURUH sumber-daya tersebut.
g) Pada saat T0, ”Teralokasi” serta ”Permintaan” sumber-daya proses ditentukan sebagai
berikut:
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 7 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
TERALOKASI PERMINTAAN
R1 R2 R1 R2
P1 2 0 2 1
P2 2 0 1 1
Gambarkan graph pada urutan T0, T1,… dan seterusnya, hingga semua permintaan sumber-daya
terpenuhi dan dikembalikan. Sebutkan, jika terjadi kondisi ”unsafe”!
Deadlock III (2003)
Diketahui:
a) set P yang terdiri dari tiga (3) proses; P = { P1, P2, P3 }.
b) set R yang terdiri dari tiga (3) resources; masing-masing terdiri dari dua (2) instances; R = { R1,
R2, R3 } = { {r11, r12 }, {r21, r22 }, {r31, r32 } }.
c) Prioritas alokasi sumber daya (resource) akan diberikan pada proses dengan indeks yang lebih
kecil.
d) Jika tersedia: permintaan alokasi sumber daya pada TN akan dipenuhi pada urutan berikutnya
(TN + 1 ).
e) Proses yang telah dipenuhi semua permintaan sumber daya (resources) pada TM ; akan
melepaskan semua sumber daya tersebut pada urutan berikutnya (TM + 1 ).
f) Pencegahan deadlock dilakukan dengan menghindari circular wait.
g) Pada saat T0 , set E0 = { } (atau kosong), sehingga gambar graph-nya sebagai berikut:
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 8 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
P
1
R1
r11
r12
r13
r14
r15
r21
r22
R2
P
2
P
3
P
1 P
2
r
12
R1r
11 r22
R2r
21 r32
R3r
31
Jika set E pada saat T1 menjadi:
E1 = { P1 –> R1, P1 –> R2, P2 –> R1, P2 –> R2, P3 –> R1, P3 –> R2, P3 –> R3 },
gambarkan graph pada urutan T1, T2,… serta (E2, E3, …) berikutnya hingga semua
permintaan sumberdaya terpenuhi dan dikembalikan.
Problem Reader/Writer I (2001)
Perhatikan berkas ”ReaderWriterServer.java” berikut ini (source-code terlampir):
a) Ada berapa object class ”Reader” yang terbentuk? Sebutkan nama-namanya!
b) Ada berapa object class ”Writer” yang terbentuk? Sebutkan nama-namanya!
c) Modifikasi kode program tersebut (cukup baris terkait), sehingga akan terdapat 6 (enam)
”Reader” dan 4 (empat) ”Writer”.
d) Modifikasi kode program tersebut, dengan menambahkan sebuah (satu!) object thread baru
yaitu ”janitor”. Sang ”janitor” berfungsi untuk membersihkan (cleaning). Setelah
membersihkan, ”janitor” akan tidur (sleeping). Pada saat bangun, ”janitor” kembali akan
membersihkan. Dan seterusnya… Pada saat ”janitor” akan membersihkan, tidak boleh ada
”reader” atau ”writer” yang aktif. Jika ada, ”janitor” harus menunggu. Demikian pula, ”reader”
atau ”writer” harus menunggu ”janitor” hingga selesai membersihkan.
Problem Reader/Writer II (2002)
Perhatikan berkas “ReaderWriterServer.java” berikut ini, yang merupakan gabungan
“ReaderWriterServer.java”, “Reader.java”, “Writer.java”, “Semaphore.java”, “Database.java”, oleh
Gagne, Galvin, dan Silberschatz. Terangkan berdasarkan berkas tersebut:
a) akan terbentuk berapa thread, jika menjalankan program class “ReaderWriterServer” ini? Apa
yang membedakan antara sebuah thread dengan thread lainnya?
b) mengapa: jika ada “Reader” yang sedang membaca, tidak ada “Writer” yang dapat menulis;
dan mengapa: jika ada “Writer” yang sedang menulis, tidak ada “Reader” yang dapat
membaca?
c) mengapa: jika ada “Reader” yang sedang membaca, boleh ada “Reader” lainnya yang turut
membaca?
d) modifikasi kode program tersebut (cukup mengubah baris terkait), sehingga akan terdapat 5
(lima) “Reader “dan 4 (empat) “Writer”!
Modifikasi kode program tersebut (cukup mengubah method terkait), sehingga pada saat RAJA
(Reader 0) ingin membaca, tidak boleh ada RAKYAT (Reader lainnya) yang sedang/akan
membaca. JANGAN MEMPERSULIT DIRI SENDIRI: jika RAJA sedang membaca, RAKYAT
boleh turut membaca.
001 // Gabungan ReaderWriterServer.java Reader.java Writer.java
002 // Semaphore.java Database.java
003 // (c) 2000 Gagne, Galvin, Silberschatz
004
005 public class ReaderWriterServer {
006 public static void main(String args[]) {
007 Database server = new Database();
008 Reader[] readerArray = new Reader[NUM_OF_READERS];
009 Writer[] writerArray = new Writer[NUM_OF_WRITERS];
010 for (int i = 0; i < NUM_OF_READERS; i++) {
011 readerArray[i] = new Reader(i, server);
012 readerArray[i].start();
013 }
014 for (int i = 0; i < NUM_OF_WRITERS; i++) {
015 writerArray[i] = new Writer(i, server);
016 writerArray[i].start();
017 }
018 }
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 9 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
019 private static final int NUM_OF_READERS = 3;
020 private static final int NUM_OF_WRITERS = 2;
021 }
022
023 class Reader extends Thread {
024 public Reader(int r, Database db) {
025 readerNum = r;
026 server = db;
027 }
028 public void run() {
029 int c;
030 while (true) {
031 Database.napping();
032 System.out.println(“reader ” + readerNum + ” wants to read.”);
033 c = server.startRead();
034 System.out.println(“reader ” + readerNum +
035 ” is reading. Reader Count = ” + c);
036 Database.napping();
037 System.out.print(“reader ” + readerNum + ” is done reading. “);
038 c = server.endRead();
039 }
040 }
041 private Database server;
042 private int readerNum;
043 }
045 class Writer extends Thread {
046 public Writer(int w, Database db) {
047 writerNum = w;
048 server = db;
049 }
050 public void run() {
051 while (true) {
052 System.out.println(“writer ” + writerNum + ” is sleeping.”);
053 Database.napping();
054 System.out.println(“writer ” + writerNum + ” wants to write.”);
055 server.startWrite();
056 System.out.println(“writer ” + writerNum + ” is writing.”);
057 Database.napping();
058 System.out.println(“writer ” + writerNum + ” is done writing.”);
059 server.endWrite();
060 }
061 }
062 private Database server;
063 private int writerNum;
064 }
065
066 final class Semaphore {
067 public Semaphore() {
068 value = 0;
069 }
070 public Semaphore(int v) {
071 value = v;
072 }
073 public synchronized void P() {
074 while (value 0)
029 {
030 SleepUtilities.nap();
031 System.out.println(“readerX: wants to read.”);
032 server.acquireReadLock();
033 System.out.println(“readerX: is reading.”);
034 SleepUtilities.nap();
035 server.releaseReadLock();
036 System.out.println(“readerX: done…”);
037 }
038 }
039
040 private Database server;
041 private int readercounter = 3;
042 }
043
044 // Writer // ********************************************************
045 class Writer implements Runnable
046 {
047 public Writer(Database db) { server = db; }
048
049 public void run() {
050 while (writercounter– > 0)
051 {
052 SleepUtilities.nap();
053 System.out.println(“writerX: wants to write.”);
054 server.acquireWriteLock();
055 System.out.println(“writerX: is writing.”);
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 12 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
056 SleepUtilities.nap();
057 server.releaseWriteLock();
058 System.out.println(“writerX: done…”);
059 }
060 }
061
062 private Database server;
063 private int writercounter = 3;
064 }
065 // Semaphore // ******************************************************
066 class Semaphore
067 {
068 public Semaphore() { value = 0; }
069 public Semaphore(int val) { value = val; }
070 public synchronized void acquire() {
071 while (value == 0) {
072 try { wait(); }
073 catch (InterruptedException e) { }
074 }
075 value–;
076 }
077
078 public synchronized void release() {
079 ++value;
080 notifyAll();
081 }
082 private int value;
083 }
084
085 // SleepUtilities // *************************************************
086 class SleepUtilities
087 {
088 public static void nap() { nap(NAP_TIME); }
089
090 public static void nap(int duration) {
091 int sleeptime = (int) (duration * Math.random() );
092 try { Thread.sleep(sleeptime*1000); }
093 catch (InterruptedException e) {}
094 }
095 private static final int NAP_TIME = 3;
096 }
097
098 // Database // *******************************************************
099 class Database implements RWLock
100 {
101 public Database() { db = new Semaphore(1); }
102 public void acquireReadLock() { db.acquire(); }
103 public void releaseReadLock() { db.release(); }
104 public void acquireWriteLock() { db.acquire(); }
105 public void releaseWriteLock() { db.release(); }
106 Semaphore db;
107 }
108 // An interface for reader-writer locks. // **************************
109 interface RWLock
110 {
111 public abstract void acquireReadLock();
112 public abstract void releaseReadLock();
113 public abstract void acquireWriteLock();
114 public abstract void releaseWriteLock();
115 }
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 13 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
Bounded Buffer (2003)
Perhatikan berkas ”BoundedBufferServer.java” pada halaman berikut:
a) Berapakah ukuran penyangga (buffer) ?
b) Modifikasi program (sebutkan nomor barisnya) agar ukuran penyangga (buffer) menjadi 6.
c) Tuliskan/perkirakan keluaran (output) 10 baris pertama, jika menjalankan program ini.
d) Jelaskan fungsi dari ketiga semaphore (mutex, full, empty) pada program tersebut.
e) Tambahkan (sebutkan nomor barisnya) sebuah thread dari class Supervisor yang berfungsi:
i. pada awal dijalankan, melaporkan ukuran penyangga (buffer).
ii. secara berkala (acak), melaporkan jumlah pesan (message) yang berada dalam penyangga
(buffer).
f) Semaphore mana yang paling relevan untuk modifikasi butir “e” di atas?
001 // Authors: Greg Gagne, Peter Galvin, Avi Silberschatz
002 // Slightly Modified by: Rahmat M. Samik-Ibrahim
003 // Copyright (c) 2000 by Greg Gagne, Peter Galvin, Avi Silberschatz
004 // Applied Operating Systems Concepts – John Wiley and Sons, Inc.
005 //
006 // Class “Date”:
007 // Allocates a Date object and initializes it so that it represents
008 // the time at which it was allocated,
009 // (E.g.): “Wed Apr 09 11:12:34 JAVT 2003″
010 // Class “Object”/ method “notify”:
011 // Wakes up a single thread that is waiting on this object’s monitor.
012 // Class “Thread”/ method “start”:
013 // Begins the thread execution and calls the run method of the thread.
014 // Class “Thread”/ method “run”:
015 // The Runnable object’s run method is called.
016
017 import java.util.*;
018 // main ***********************************************************
019 public class BoundedBufferServer
020 {
021 public static void main(String args[])
022 {
023 BoundedBuffer server = new BoundedBuffer();
024 Producer producerThread = new Producer(server);
025 Consumer consumerThread = new Consumer(server);
026 producerThread.start();
027 consumerThread.start();
028 }
029 }
030
031 // Producer *******************************************************
032 class Producer extends Thread
033 {
034 public Producer(BoundedBuffer b)
035 {
036 buffer = b;
037 }
038
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 14 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
039 public void run()
040 {
041 Date message;
042 while (true)
043 {
044 BoundedBuffer.napping();
045
046 message = new Date();
047 System.out.println(“P: PRODUCE ” + message);
048 buffer.enter(message);
049 }
050 }
051 private BoundedBuffer buffer;
052 }
053
054 // Consumer *******************************************************
055 class Consumer extends Thread
056 {
057 public Consumer(BoundedBuffer b)
058 {
059 buffer = b;
060 }
061 public void run()
062 {
063 Date message;
064 while (true)
065 {
066 BoundedBuffer.napping();
067 System.out.println(“C: CONSUME START”);
068 message = (Date)buffer.remove();
069 }
070 }
071 private BoundedBuffer buffer;
072 }
074 // BoundedBuffer.java *********************************************
075 class BoundedBuffer
076 {
077 public BoundedBuffer()
078 {
079 count = 0;
080 in = 0;
081 out = 0;
082 buffer = new Object[BUFFER_SIZE];
083 mutex = new Semaphore(1);
084 empty = new Semaphore(BUFFER_SIZE);
085 full = new Semaphore(0);
086 }
087 public static void napping()
088 {
089 int sleepTime = (int) (NAP_TIME * Math.random() );
090 try { Thread.sleep(sleepTime*1000); }
091 catch(InterruptedException e) { }
092 }
093 public void enter(Object item)
094 {
095 empty.P();
096 mutex.P();
097 ++count;
098 buffer[in] = item;
099 in = (in + 1) % BUFFER_SIZE;
100 System.out.println(“P: ENTER ” + item);
101 mutex.V();
102 full.V();
103 }
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 15 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
104 public Object remove()
105 {
106 Object item;
107 full.P();
108 mutex.P();
109 –count;
110 item = buffer[out];
111 out = (out + 1) % BUFFER_SIZE;
112 System.out.println(“C: CONSUMED ” + item);
113 mutex.V();
114 empty.V();
115 return item;
116 }
117 public static final int NAP_TIME = 5;
118 private static final int BUFFER_SIZE = 3;
119 private Semaphore mutex;
120 private Semaphore empty;
121 private Semaphore full;
122 private int count, in, out;
123 private Object[] buffer;
124 }
125
126 // Semaphore.java *************************************************
128 final class Semaphore
129 {
130 public Semaphore()
131 {
132 value = 0;
133 }
134 public Semaphore(int v)
135 {
136 value = v;
137 }
138 public synchronized void P()
139 {
140 while (value <= 0)
141 {
142 try { wait(); }
143 catch (InterruptedException e) { }
144 }
145 value –;
146 }
147 public synchronized void V()
148 {
149 ++value;
150 notify();
151 }
152 private int value;
153 }
Sinkronisasi (2005)
a) Terangkan peranan/fungsi dari semafor-semafor pada program Java berikut ini!
b) Tuliskan keluaran dari program tersebut!
c) Modifikasi program (baris mana?), agar object “proses” dengan index tinggi mendapat prioritas
didahulukan dibandingkan “proses” dengan index rendah.
d) Terangkan kelemahan dari program ini! Kondisi bagaimana yang mengakibatkan semafor tidak
berperan seperti yang diinginkan!
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 16 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
0 /************************************************************
1 * SuperProses (c) 2005 Rahmat M. Samik-Ibrahim, GPL-like */
2
3 // ********* SuperProses *
4 public class SuperProses {
5 public static void main(String args[]) {
6 Semafor[] semafor1 = new Semafor[JUMLAH_PROSES];
7 Semafor[] semafor2 = new Semafor[JUMLAH_PROSES];
8 for (int ii = 0; ii < JUMLAH_PROSES; ii++) {
9 semafor1[ii] = new Semafor();
10 semafor2[ii] = new Semafor();
11 }
12
13 Thread superp=new Thread(new SuperP(semafor1,semafor2,JUMLAH_PROSES));
14 superp.start();
15
16 Thread[] proses= new Thread[JUMLAH_PROSES];
17 for (int ii = 0; ii < JUMLAH_PROSES; ii++) {
18 proses[ii]=new Thread(new Proses(semafor1,semafor2,ii));
19 proses[ii].start();
20 }
21 }
22
23 private static final int JUMLAH_PROSES = 5;
24 }
25
26 // ** SuperP *********************
27 class SuperP implements Runnable {
28 SuperP(Semafor[] sem1, Semafor[] sem2, int jmlh) {
29 semafor1 = sem1;
30 semafor2 = sem2;
31 jumlah_proses = jmlh;
32 }
33
34 public void run() {
35 for (int ii = 0; ii < jumlah_proses; ii++) {
36 semafor1[ii].kunci();
37 }
38 System.out.println(“SUPER PROSES siap…”);
39 for (int ii = 0; ii memulai thread yang akan memanggil Threat.run().
009 * Threat.sleep(xxx) –> thread akan tidur selama xxx milidetik.
010 * try {…} catch (InterruptedException e) {} –> sarana terminasi program.
011 */
012
013 public class FirstSemaphore
014 {
015 public static void main(String args[]) {
016 Semaphore sem = new Semaphore(1);
017 Worker[] bees = new Worker[NN];
018 for (int ii = 0; ii < NN; ii++)
019 bees[ii] = new Worker(sem, ii);
020 for (int ii = 0; ii < NN; ii++)
021 bees[ii].start();
022 }
023 private final static int NN=4;
024 }
025
026 // Worker ===============================================================
027 class Worker extends Thread
028 {
029 public Worker(Semaphore sss, int nnn) {
030 sem = sss;
031 wnumber = nnn;
032 wstring = WORKER + (new Integer(nnn)).toString();
033 }
034
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 18 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
035 public void run() {
036 while (true) {
037 System.out.println(wstring + PESAN1);
038 sem.P();
039 System.out.println(wstring + PESAN2);
040 Runner.criticalSection();
041 System.out.println(wstring + PESAN3);
042 sem.V();
043 Runner.nonCriticalSection();
044 }
045 }
046 private Semaphore sem;
047 private String wstring;
048 private int wnumber;
049 private final static String PESAN1=” akan masuk ke Critical Section.”;
050 private final static String PESAN2=” berada di dalam Critical Section.”;
051 private final static String PESAN3=” telah keluar dari Critical Section.”;
052 private final static String WORKER=”PEKERJA “;
053 }
054
055 // Runner ===============================================================
056 class Runner
057 {
058 public static void criticalSection() {
059 try {
060 Thread.sleep( (int) (Math.random() * CS_TIME * 1000) );
061 }
062 catch (InterruptedException e) { }
063 }
064
065 public static void nonCriticalSection() {
066 try {
067 Thread.sleep( (int) (Math.random() * NON_CS_TIME * 1000) );
068 }
069 catch (InterruptedException e) { }
070 }
071 private final static int CS_TIME = 2;
072 private final static int NON_CS_TIME = 2;
073 }
074
075 // Semaphore ===============================================================
076 final class Semaphore
077 {
078 public Semaphore() {
079 value = 0;
080 }
081
082 public Semaphore(int v) {
083 value = v;
084 }
085
086 public synchronized void P() {
087 while (value <= 0) {
088 try {
089 wait();
090 }
091 catch (InterruptedException e) { }
092 }
093 value –;
094 }
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 19 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
095
096 public synchronized void V() {
097 ++value;
098 notify();
099 }
100
101 private int value;
102 }
103
104 // END ===============================================================
a) Berapakah jumlah object dari ”Worker Class” yang akan terbentuk?
b) Sebutkan nama-nama object dari ”Worker Class” tersebut!
c) Tuliskan/perkirakan keluaran (output) 10 baris pertama, jika menjalankan program ini!
d) Apakah keluaran pada butir ”c” di atas akan berubah, jika parameter CS_TIME diubah menjadi
dua kali NON_CS_TIME? Terangkan!
e) Apakah keluaran pada butir ”c” di atas akan berubah, jika selain parameter CS_TIME diubah
menjadi dua kali NON_CS_TIME, dilakukan modifikasi NN menjadi 10? Terangkan!
Status Memori (2004)
Berikut merupakan sebagian dari keluaran hasil eksekusi perintah “top b n 1” pada sebuah
sistem GNU/Linux yaitu ”rmsbase.vlsm.org” beberapa saat yang lalu.
top – 10:59:25 up 3:11, 1 user, load average: 9.18, 9.01, 7.02
Tasks: 122 total, 3 running, 119 sleeping, 0 stopped, 0 zombie
Cpu(s): 14.5% user, 35.0% system, 1.4% nice, 49.1% idle
Mem: 256712k total, 253148k used, 3564k free, 20148k buffers
Swap: 257032k total, 47172k used, 209860k free, 95508k cached
PID USER VIRT RES SHR %MEM PPID SWAP CODE DATA nDRT COMMAND
1 root 472 432 412 0.2 0 40 24 408 5 init
4 root 0 0 0 0.0 1 0 0 0 0 kswapd
85 root 0 0 0 0.0 1 0 0 0 0 kjournald
334 root 596 556 480 0.2 1 40 32 524 19 syslogd
348 root 524 444 424 0.2 1 80 20 424 5 gpm
765 rms46 1928 944 928 0.4 1 984 32 912 23 kdeinit
797 rms46 6932 5480 3576 2.1 765 1452 16 5464 580 kdeinit
817 rms46 1216 1144 1052 0.4 797 72 408 736 31 bash
5441 rms46 932 932 696 0.4 817 0 44 888 59 top
819 rms46 1212 1136 1072 0.4 797 76 404 732 32 bash
27506 rms46 908 908 760 0.4 819 0 308 600 37 shsh
27507 rms46 920 920 808 0.4 27506 0 316 604 38 sh
5433 rms46 1764 1764 660 0.7 27507 0 132 1632 282 rsync
5434 rms46 1632 1628 1512 0.6 5433 4 124 1504 250 rsync
5435 rms46 1832 1832 1524 0.7 5434 0 140 1692 298 rsync
27286 rms46 24244 23m 14m 9.4 765 0 52 23m 2591 firefox-bin
27400 rms46 24244 23m 14m 9.4 27286 0 52 23m 2591 firefox-bin
27401 rms46 24244 23m 14m 9.4 27400 0 52 23m 2591 firefox-bin
27354 rms46 17748 17m 7948 6.9 1 0 496 16m 2546 evolution-mail
27520 rms46 17748 17m 7948 6.9 27354 0 496 16m 2546 evolution-mail
27521 rms46 17748 17m 7948 6.9 27520 0 496 16m 2546 evolution-mail
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 20 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
(Status Memori)
a) Berapakah ukuran total, memori fisik dari sistem tersebut di atas?
b) Terangkan, apa yang dimaksud dengan: ”VIRT”, ”RES”, ”SHR”, ”PPID”, ”SWAP”, ”CODE”,
”DATA”, ”nDRT”.
c) Bagaimanakah, hubungan (rumus) antara ”RES” dengan parameter lainnya?
d) Bagaimanakah, hubungan (rumus) antara ”VIRT”, dengan parameter lainnya?
Managemen Memori dan Utilisasi CPU (2004)
a) Terangkan bagaimana pengaruh derajat ”multiprogramming” (MP) terhadap utilisasi CPU.
Apakah peningkatan MP akan selalu meningkatkan utilisasi CPU? Mengapa?
b) Terangkan bagaimana pengaruh dari ”page-fault” memori terhadap utilisasi CPU!
c) Terangkan bagaimana pengaruh ukuran memori (RAM size) terhadap utilisasi CPU!
d) Terangkan bagaimana pengaruh memori virtual (VM) terhadap utilisasi CPU!
e) Terangkan bagaimana pengaruh teknologi ”copy on write” terhadap utilisasi CPU!
f) Sebutkan Sistem Operasi berikut mana saja yang telah mengimplementasi teknologi ”copy on
write”: Linux 2.4, Solaris 2, Windows 2000.
Memori I (2002)
Diketahui spesifikasi sistem memori virtual sebuah proses sebagai berikut:
- page replacement menggunakan algoritma LRU (Least Recently Used).
- alokasi memori fisik dibatasi hingga 1000 bytes (per proses).
- ukuran halaman (page size) harus tetap (fixed, minimum 100 bytes).
- usahakan, agar terjadi “page fault” sesedikit mungkin.
- proses akan mengakses alamat berturut-turut sebagai berikut:
1001, 1002, 1003, 2001, 1003, 2002, 1004, 1005, 2101, 1101,
2099, 1001, 1115, 3002, 1006, 1007, 1008, 1009, 1101, 1102
a. Tentukan ukuran halaman yang akan digunakan.
b. Berapakah jumlah frame yang dialokasikan?
c. Tentukan reference string berdasarkan ukuran halaman tersebut di atas!
d. Buatlah bagan untuk algoritma LRU!
e. Tentukan jumlah page-fault yang terjadi!
Memori II (2003)
Sebuah proses secara berturut-turut mengakses alamat memori berikut:
1001, 1002, 1003, 2001, 2002, 2003, 2601, 2602, 1004, 1005,
1507, 1510, 2003, 2008, 3501, 3603, 4001, 4002, 1020, 1021.
Ukuran setiap halaman (page) ialah 500 bytes.
a) Tentukan ”reference string” dari urutan pengaksesan memori tersebut.
b) Gunakan algoritma ”Optimal Page Replacement”.
Tentukan jumlah ”frame” minimum yang diperlukan agar terjadi ”page fault” minimum!
Berapakah jumlah ”page fault ” yang terjadi? Gambarkan dengan sebuah bagan!
c) Gunakan algoritma ”Least Recently Used (LRU)”.
Tentukan jumlah ”frame” minimum yang diperlukan agar terjadi ”page fault” minimum!
Berapakah jumlah ”page fault ” yang terjadi? Gambarkan dengan sebuah bagan!
d) Gunakan jumlah ”frame” hasil perhitungan butir ”b” di atas serta alrgoritma LRU.
Berapakah jumlah ”page fault ” yang terjadi? Gambarkan dengan sebuah bagan!
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 21 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
Memori III (2002)
a) Terangkan, apa yang dimaksud dengan algoritma penggantian halaman Least Recently Used
(LRU)!
b) Diketahui sebuah reference string berikut: ” 1 2 1 7 6 7 3 4 3 5 6 7 ”. Jika proses
mendapat alokasi tiga frame; gambarkan pemanfaatan frame tersebut menggunakan
reference string tersebut di atas menggunakan algoritma LRU.
c) Berapa page fault yang terjadi?
d) Salah satu implementasi LRU ialah dengan menggunakan stack; yaitu setiap kali sebuah
halaman memori dirujuk, halaman tersebut diambil dari stack serta diletakkan ke atas (TOP of)
stack. Gambarkan urutan penggunaan stack menggunakan reference string tersebut.
Multilevel Paging Memory I (2003)
Diketahui sekeping memori berukuran 32 byte dengan alamat fisik ”00” – ”1F” (Heksadesimal) -
yang digunakan secara ”multilevel paging” – serta dialokasikan untuk keperluan berikut:
”Outer Page Table” ditempatkan secara permanen (non-swappable) pada alamat ”00” – ”07”
(Heks).
Terdapat alokasi untuk dua (2) ”Page Table”, yaitu berturut-turut pada alamat ”08” – ”0B”
dan ”0C” – ”0F” (Heks). Alokasi tersebut dimanfaatkan oleh semua ”Page Table” secara
bergantian (swappable) dengan algoritma ”LRU”.
Sisa memori ”10” – ”1F” (Heks) dimanfaatkan untuk menempatkan sejumlah ”memory
frame”.
Keterangan tambahan perihal memori sebagai berikut:
Ukuran ”Logical Address Space” ialah tujuh (7) bit.
Ukuran data ialah satu byte (8 bit) per alamat.
”Page Replacement” menggunakan algoritma ”LRU”.
”Invalid Page” ditandai dengan bit pertama (MSB) pada ”Outer Page Table”/”Page Table”
diset menjadi ”1”.
sebaliknya, ”Valid Page” ditandai dengan bit pertama (MSB) pada ”Outer Page
Table”/”Page Table” diset menjadi ”0”, serta berisi alamat awal (pointer) dari ”Page Table”
terkait.
Pada suatu saat, isi keping memori tersebut sebagai berikut:
address isi address isi address isi address isi
00H 08H 08H 10H 10H 10H 18H 18H
01H 0CH 09H 80H 11H 11H 19H 19H
02H 80H 0AH 80H 12H 12H 1AH 1AH
03H 80H 0BH 18H 13H 13H 1BH 1BH
04H 80H 0CH 14H 14H 14H 1CH 1CH
05H 80H 0DH 1CH 15H 15H 1DH 1DH
06H 80H 0EH 80H 16H 16H 1EH 1EH
07H 80H 0FH 80H 17H 17H 1FH 1FH
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 22 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
a) Berapa byte, kapasitas maksimum dari ”Virtual Memory” dengan ”Logical Address Space”
tersebut?
b) Gambarkan pembagian ”Logical Address Space” tersebut: berapa bit untuk P1/”Outer Page
Table”, berapa bit untuk P2/”Page Table”, serta berapa bit untuk alokasi offset?
c) Berapa byte, ukuran dari sebuah ”memory frame” ?
d) Berapa jumlah total dari ”memory frame” pada keping tersebut?
e) Petunjuk: Jika terjadi ”page fault”, terangkan juga apakah terjadi pada ”Outer Page Table”
atau pada ”Page Table”. Jika tidak terjadi ”page fault”, sebutkan isi dari Virtual Memory
Address berikut ini:
i. Virtual Memory Address: 00H
ii. Virtual Memory Address: 3FH
iii. Virtual Memory Address: 1AH
Multilevel Paging Memory II (2004)
Diketahui sekeping memori berukuran 32 byte dengan alamat fisik ”00” – ”1F” (Heksadesimal) -
yang digunakan secara ”multilevel paging” – serta dialokasikan dengan ketentuan berikut:
• ”Outer Page Table” ditempatkan secara permanen (non-swappable) pada alamat ”00” – ”03”
(Heks).
• Terdapat alokasi untuk tiga (3) ”Page Table”, yaitu berturut-turut pada alamat ”04” – ”07”,
”08-0B”, dan ”0C” – ”0F” (Heks).
• Sisa memori ”10” – ”1F” (Heks) dimanfaatkan untuk menempatkan sejumlah ”memory
frame”.
a) Ukuran ”Logical Address Space” ialah tujuh (7) bit.
b) Ukuran data ialah satu byte (8 bit) per alamat.
c) ”Page Replacement” menggunakan alrorithma ”LRU”.
d) ”Invalid Page” ditandai dengan bit pertama (MSB) pada ”Outer Page Table”/”Page Table”
diset menjadi ”1”.
e) sebaliknya, ”Valid Page” ditandai dengan bit pertama (MSB) pada ”Outer Page
Table”/”Page Table” diset menjadi ”0”, serta berisi alamat awal (pointer) dari ”Page Table”
terkait.
Pada suatu saat, isi keping memori tersebut sebagai berikut:
address isi address isi address isi address isi
00H 80H 08H 80H 10H 10H 18H 18H
01H 04H 09H 80H 11H 11H 19H 19H
02H 08H 0AH 80H 12H 12H 1AH 1AH
03H 0CH 0BH 80H 13H 13H 1BH 1BH
04H 80H 0CH 80H 14H 14H 1CH 1CH
05H 10H 0DH 80H 15H 15H 1DH 1DH
06H 80H 0EH 80H 16H 16H 1EH 1EH
07H 80H 0FH 18H 17H 17H 1FH 1FH
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 23 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
a) Berapa byte, kapasitas maksimum dari ”Virtual Memory” dengan ”Logical Address Space”
tersebut?
b) Gambarkan pembagian ”Logical Address Space” tersebut: berapa bit untuk P1/”Outer Page
Table”, berapa bit untuk P2/”Page Table”, serta berapa bit untuk alokasi offset?
c) Berapa byte, ukuran dari sebuah ”memory frame” ?
d) Berapa jumlah total dari ”memory frame” pada keping tersebut?
e) Petunjuk: Jika terjadi ”page fault”, terangkan juga apakah terjadi pada ”Outer Page Table”
atau pada ”Page Table”. Jika tidak terjadi ”page fault”, sebutkan isi dari Virtual Memory
Address berikut ini:
a) Virtual Memory Address: 00H
b) Virtual Memory Address: 28H
c) Virtual Memory Address: 55H
d) Virtual Memory Address: 7BH
Multilevel Paging Memory III (2005)
[ 1 k = 210; 1 M = 220; 1 G = 230 ]
a) Sebuah sistem komputer menggunakan ruang alamat logika (logical address space) 32 bit
dengan ukuran halaman (page size) 4 kbyte. Jika sistem menggunakan skema tabel halaman
satu tingkat (single level page table); perkirakan ukuran memori yang diperlukan untuk tabel
halaman tersebut! Jangan lupa: setiap masukan tabel halaman memerlukan satu bit ekstra
sebagai flag!
b) Jika sistem menggunakan skema tabel halaman dua tingkat (two level page table) dengan
ukuran outer-page 10 bit; tentukan bagaimana konfigurasi minimum tabel yang diperlukan
(minimum berapa outer-page table dan minimum berapa page table)? Perkirakan ukuran
memori yang diperlukan untuk konfigurasi minimum tersebut?
c) Terangkan keuntungan dan kerugian skema tabel halaman satu tingkat tersebut!
d) Terangkan keuntungan dan kerugian skema tabel halaman dua tingkat tersebut!
e) Terangkan mengapa skema table halaman bertingkat kurang cocok untuk ruang alamat yang
lebih besar dari 32 bit? Bagaimana cara mengatasi hal tersebut?
FHS (File Hierarchy Standards) (2002)
a. Sebutkan tujuan dari FHS.
b. Terangkan perbedaan antara “shareable” dan “unshareable”
c. Terangkan perbedaan antara “static” dan “variable”
d. Terangkan/berikan ilustrasi sebuah direktori yang “shareable” dan “static”.
e. Terangkan/berikan ilustrasi sebuah direktori yang “shareable” dan “variable”.
f. Terangkan/berikan ilustrasi sebuah direktori yang “unshareable” dan “static”.
g. Terangkan/berikan ilustrasi sebuah direktori yang “unshareable” dan “variable”.
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 24 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
Sistem Berkas I (2003)
Pada saat merancang sebuah situs web, terdapat pilihan untuk membuat link berkas yang
absolut atau pun relatif.
a) Berikan sebuah contoh, link berkas yang absolut.
b) Berikan sebuah contoh, link berkas yang relatif.
c) Terangkan keunggulan dan/atau kekurangan jika menggunakan link absolut.
d) Terangkan keunggulan dan/atau kekurangan jika menggunakan link relatif.
Sistem Berkas II (2002)
Sebuah sistem berkas menggunakan metoda alokasi serupa i-node (unix). Ukuran pointer berkas
(file pointer) ditentukan 10 bytes. Inode dapat mengakomodir 10 direct blocks, serta masingmasing
sebuah single indirect block dan sebuah double indirect block.
a. Jika ukuran blok = 100 bytes, berapakah ukuran maksimum sebuah berkas?
b. Jika ukuran blok = 1000 bytes, berapakah ukuran maksimum sebuah berkas?
c. Jika ukuran blok = N bytes, berapakah ukuran maksimum sebuah berkas?
Sistem Berkas III (2004)
a) Terangkan persamaan dan perbedaan antara operasi dari sebuah sistem direktori dengan
operasi dari sebuah sistem sistem berkas (filesystem).
b) Silberschatz et. al. mengilustrasikan sebuah model sistem berkas berlapis enam (6 layers),
yaitu ”application programs”, ”logical file system”, ”file-organization module”, ”basic file
system”, ”I/O control”, ”devices”. Terangkan lebih rinci serta berikan contoh dari ke-enam
lapisan tersebut!
c) Terangkan mengapa pengalokasian blok pada sistem berkas berbasis FAT (MS DOS)
dikatakan efisien! Terangkan pula kelemahan dari sistem berkas berbasis FAT tersebut!
d) Sebutkan dua fungsi utama dari sebuah Virtual File Sistem (secara umum atau khusus Linux).
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 25 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
direct blocks
single indirect
double indirect
data
data

data
data

data
data

data
data

Sistem Berkas IV (2005)
a) Terangkan kedua fungsi dari sebuah VFS (Virtual File System).
b) Bandingkan implementasi sistem direktori antara “Linier List” dan “Hash Table”. Terangkan
kelebihan/kekurangan masing-masing!
RAID (Redudant Array of I* Disks) (2004)
a) Terangkan dan ilustrasikan: apa yang dimaksud dengan RAID level 0
b) Terangkan dan ilustrasikan: apa yang dimaksud dengan RAID level 1
c) Terangkan dan ilustrasikan: apa yang dimaksud dengan RAID level 0 + 1
d) Terangkan dan ilustrasikan: apa yang dimaksud dengan RAID level 1 + 0
Mass Storage System I (2002)
Bandingkan jarak tempuh (dalam satuan silinder) antara penjadualan FCFS (First Come First
Served), SSTF (Shortest-Seek-Time-First), dan LOOK. Isi antrian permintaan akses berturut-turut
untuk silinder:
100, 200, 300, 101, 201, 301.
Posisi awal disk head pada silinder 0.
Mass Storage System II (2003)
Posisi awal sebuah ”disk head ” pada silinder 0. Antrian permintaan akses berturut-turut untuk
silinder:
100, 200, 101, 201.
a) Hitunglah jarak tempuh (dalam satuan silinder) untuk algoritma penjadualan ”First Come First
Served ” (FCFS).
b) Hitunglah jarak tempuh (dalam satuan silinder) untuk algoritma penjadualan ”Shortest Seek
Time First ” (STTF).
Mass Storage System III (2003)
Pada sebuah PC terpasang sebuah disk IDE/ATA yang berisi dua sistem operasi: MS Windows
98 SE dan Debian GNU/Linux Woody 3.0 r1.
Informasi ”fdisk” dari perangkat disk tersebut sebagai berikut:
# fdisk /dev/hda
=================================================================
Device Boot Start End Blocks Id System
(cylinders) (kbytes)
———————————————————
/dev/hda1 * 1 500 4000000 0B Win95 FAT32
/dev/hda2 501 532 256000 82 Linux swap
/dev/hda3 533 2157 13000000 83 Linux
/dev/hda4 2158 2500 2744000 83 Linux
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 26 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
Sedangkan informasi berkas ”fstab” sebagai berikut:
# cat /etc/fstab
#
# ————————————————————————–
/dev/hda1 /win98 vfat defaults 0 2
/dev/hda2 none swap sw 0 0
/dev/hda3 / ext2 defaults 0 0
/dev/hda4 /home ext2 defaults 0 2
Gunakan pembulatan 1 Gbyte = 1000 Mbytes = 1000000 kbytes dalam perhitungan berikut ini:
a) Berapa Gbytes kapasitas disk tersebut di atas?
b) Berapa jumlah silinder disk tersebut di atas?
c) Berapa Mbytes terdapat dalam satu silinder?
d) Berapa Mbytes ukuran partisi dari direktori ”/home”?
Tambahkan disk ke dua (/dev/hdc) dengan spesifikasi teknis serupa dengan disk tersebut di atas
(/dev/hda). Bagilah disk kedua menjadi tiga partisi:
– 4 Gbytes untuk partisi Windows FAT32 (Id: 0B)
– 256 Mbytes untuk partisi Linux Swap (Id: 82)
– Sisa disk untuk partisi ”/home” yang baru (Id: 83).
Partisi ”/home” yang lama (disk pertama) dialihkan menjadi ”/var”.
e) Bagaimana bentuk infomasi ”fdisk” untuk ”/dev/hdc” ini?
f) Bagaimana seharusnya isi berkas ”/etc/fstab” setelah penambahan disk tersebut?
Sistem Berkas ”ReiserFS” (2003)
a) Terangkan secara singkat, titik fokus dari pengembangan sistem berkas “reiserfs”: apakah
berkas berukuran besar atau kecil, serta terangkan alasannya!
b) Sebutkan secara singkat, dua hal yang menyebabkan ruangan (space) sistem berkas
“reiserfs” lebih efisien!
c) Sebutkan secara singkat, manfaat dari “balanced tree” dalam sistem berkas “reiserfs”!
d) Sebutkan secara singkat, manfaat dari “journaling” pada sebuah sistem berkas!
e) Sistem berkas “ext2fs” dilaporkan 20% lebih cepat jika menggunakan blok berukuran 4
kbyte dibandingkan 1 kbyte. Terangkan mengapa penggunaan ukuran blok yang besar
dapat
meningkatkan kinerja sistem berkas!
f) Para pengembang sistem berkas “ext2fs” merekomendasikan blok berukuran 1 kbyte dari
pada yang berukuran 4 kbyte. Terangkan, mengapa perlu menghindari penggunaan blok
berukuran besar tersebut!
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 27 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
I/O Interface (2003)
Bandingkan perangkat disk yang berbasis IDE/ATA dengan yang berbasis SCSI:
a) Sebutkan kepanjangan dari IDE/ATA.
b) Sebutkan kepanjangan dari SCSI.
c) Berapakah kisaran harga kapasitas disk IDE/ATA per satuan Gbytes?
d) Berapakah kisaran harga kapasitas disk SCSI per satuan Gbytes?
e) Bandingkan beberapa parameter lainnya seperti unjuk kerja, jumlah perangkat, penggunaan
CPU, dst.
I/O dan USB (2004)
a) Sebutkan sedikitnya sepuluh (10) kategori perangkat yang telah berbasis USB!
b) Standar IEEE 1394b (FireWire800) memiliki kinerja tinggi, seperti kecepatan alih data 800 MBit
per detik, bentangan/jarak antar perangkat hingga 100 meter, serta dapat menyalurkan catu
daya hingga 45 Watt. Bandingkan spesifikasi tersebut dengan USB 1.1 dan USB 2.0.
c) Sebutkan beberapa keunggulan perangkat USB dibandingkan yang berbasis standar IEEE
1394b tersebut di atas!
d) Sebutkan dua trend perkembangan teknologi perangkat I/O yang saling bertentangan (konflik).
e) Sebutkan dua aspek dari sub-sistem I/O kernel yang menjadi perhatian utama para perancang
Sistem Operasi!
f) Bagaimana USB dapat mengatasi trend dan aspek tersebut di atas?
Struktur Keluaran/Masukan Kernel (I/O) (2004)
a) Buatlah sebuah bagan yang menggambarkan hubungan/relasi antara lapisan-lapisan (layers)
kernel, subsistem M/K (I/O), device driver, device controller, dan devices.
b) Dalam bagan tersebut, tunjukkan dengan jelas, bagian mana yang termasuk perangkat keras,
serta bagian mana yang termasuk perangkat lunak.
c) Dalam bagan tersebut, berikan contoh sekurangnya dua devices!
d) Terangkan apa yang dimaksud dengan devices!
e) Terangkan apa yang dimaksud dengan device controller!
f) Terangkan apa yang dimaksud dengan device driver!
g) Terangkan apa yang dimaksud dengan subsistem M/K (I/O)!
h) Terangkan apa yang dimaksud dengan kernel!
Masukan/Keluaran (2005)
a) Terangkan secara singkat, sekurangnya enam prinsip/cara untuk meningkatkan efisiensi M/K
(Masukan/Keluaran)!
b) Diketahui sebuah model M/K yang terdiri dari lapisan-lapisan berikut: Aplikasi, Kernel, Device-
Driver, Device-Controller, Device. Terangkan pengaruh pemilihan lapisan tersebut untuk
pengembangan sebuah aplikasi baru. Diskusikan aspek-aspek berikut ini: Jumlah waktu
pengembangan, Efisiensi, Biaya Pengembangan, Abstraksi, dan Fleksibilitas.
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 28 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
HardDisk I (2001)
Diketahui sebuah perangkat DISK dengan spesifikasi:
Kapasitas 100 Gbytes (asumsi 1Gbytes = 1000 Mbytes).
Jumlah lempengan (plate) ada dua (2) dengan masing-masing dua (2) sisi permukaan
(surface).
Jumlah silinder = 2500 (Revolusi: 6000 RPM)
Pada suatu saat, hanya satu HEAD (pada satu sisi) yang dapat aktif.
a) Berapakah waktu latensi maksimum dari perangkat DISK tersebut?
b) Berapakah rata-rata latensi dari perangkat DISK tersebut?
c) Berapakah waktu minimum (tanpa latensi dan seek) yang diperlukan untuk mentransfer satu
juta (1 000 000) byte data?
HardDisk II (2003)
Diketahui sebuah disk dengan spesifikasi berikut ini:
Dua (2) permukaan (surface #0, #1).
Jumlah silinder: 5000 (cyl. #0 – #4999).
Kecepatan Rotasi: 6000 rpm.
Kapasitas Penyimpanan: 100 Gbyte.
Jumlah sektor dalam satu trak: 1000 (sec. #0 – #999).
Waktu tempuh seek dari cyl. #0 hingga #4999 ialah 10 mS.
Pada T=0, head berada pada posisi cyl #0, sec. #0.
Satuan I/O terkecil untuk baca/tulis ialah satu (1) sektor.
Akan menulis data sebanyak 5010 byte pada cyl. #500, surface #0, sec. #500.
Untuk memudahkan, 1 kbyte = 1000 byte; 1 Mbyte = 1000 kbyte; 1 Gbyte = 1000 Mbyte.
a) Berapakah kecepatan seek dalam satuan cyl/ms ?
b) Berapakah rotational latency (max.) dalam satuan ms ?
c) Berapakah jumlah (byte) dalam satu sektor ?
d) Berapa lama (ms) diperlukan head untuk mencapai cyl. #500 dari cyl. #0, sec. #0 ?
e) Berapa lama (ms) diperlukan head untuk mencapai cyl. #500, sec. #500 dari cyl. #0, sec.
#0?
f) Berapa lama (ms) diperlukan untuk menulis kedalam satu sektor ?
g) Berdasarkan butir (e) dan (f) di atas, berapa kecepatan transfer efektif untuk menulis data
sebanyak 5010 byte ke dalam disk tersebut dalam satuan Mbytes/detik?
HardDisk III (2004)
Diketahui sebuah disk dengan spesifikasi berikut ini:
Dua (2) permukaan (muka #0 dan #1).
Jumlah silinder: 5000 (silinder #0 – #4999).
Kecepatan Rotasi: 6000 rpm.
Kapasitas Penyimpanan: 100 Gbytes.
Jumlah sektor dalam satu trak: 1000 (sektor #0 – #999).
Waktu tempuh hingga stabil antar trak yang berurutan: 1 mS (umpama dari trak #1 ke trak #2).
Pada setiap saat, hanya satu muka yang head-nya aktif (baca/tulis). Waktu alih antar muka
(dari muka #0 ke muka #1) dianggap 0 mS.
Algoritma pergerakan head: First Come First Served.
Satuan I/O terkecil untuk baca/tulis ialah satu (1) sektor.
Pada T=0, head berada pada posisi silinder #0, sektor #0.
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 29 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html
Untuk memudahkan, 1 kbyte = 1000 byte; 1 Mbyte = 1000 kbyte; 1 Gbyte = 1000 Mbyte.
a) Berapa kapasitas (Mbyte) dalam satu trak?
b) Berapa kapasitas (kbyte) dalam satu sektor?
c) Berapakah rotational latency maksimum (mS) ?
d) Berapakah waktu tempuh (mS) dari muka #0, trak #0, sektor #0 ke muka #0, trak #0, sektor
#999 ([0,0,0] → [0,0,999])?
e) Berapakah waktu tempuh (mS) dari [0,0,0] → [0,0,999] → [0,1,500] → [0,1,999] → [0,1,0]
→ [0,1,499]?
f) Berapakah waktu tempuh (mS) dari [0,0,0] → [0,0,999] → [0,1,0] → [0,1,999]?
Waktu Nyata/Multimedia (2005)
a) Sebutkan sekurangnya empat ciri/karakteristik dari sebuah sistem waktu nyata. Terangkan
secara singkat, maksud masing-masing ciri tersebut!
b) Sebutkan sekurangnya tiga ciri/karakteristik dari sebuah sistem multimedia. Terangkan secara
singkat, maksud masing-masing ciri tersebut!
c) Terangkan perbedaan prinsip kompresi antara berkas dengan format “JPEG” dan berkas
dengan format “GIF”.
d) Terangkan lebih rinci, makna keempat faktor QoS berikut ini: throughput, delay, jitter, reliabilty!
Tugas Kelompok/Buku Sistem Operasi (2004)
Bandingkan buku Sistem Operasi versi 1.3 (terbitan awal 2003) dengan versi 1.9 (terbitan akhir
2003):
a) Sebutkan beberapa perbaikan/kemajuan umum buku versi 1.9 ini, dibandingkan dengan versi
sebelumnya.
b) Sebutkan hal-hal yang masih perlu mendapatkan perhatian/perbaikan.
c) Penulisan Pokok Bahasan mana yang terbaik untuk versi 1.9 ini? Sebutkan alasannya!
d) Sebutkan sebuah Sub-Pokok Bahasan (SPB) yang anda ingat/kuasai (tidak harus yang anda
kerjakan). SPB tersebut merupakan bagian dari Pokok Bahasan yang mana?
e) Bandingkan SPB tersebut di butir ”d” dengan SPB setara yang ada di buku-buku Silberschatz
et. al.; Tanenbaum, dan Stalling. Dimana perbedaan/persamaannya?
IKI-20230 Sistem Operasi — Kumpulan Soal Ujian 2002–2005 — © 2002-2006 Rahmat M. Samik-Ibrahim — rev. 2006.03.22.00 — 30 / 30
Silakan menggandakan dan mengedarkan berkas ini, tanpa mengubah nota hak cipta ini
REVISI BERKAS INI BERADA DI http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi/apb.html

UNIVERSITAS ISLAM INDONESIA FAKULTAS TEKNIK SIPIL DAN PERENCANAAN JURUSAN TEKNIK SIPIL SOAL UJIAN AKHIR SEMESTER (UAS), SEMESTER GANJIL TA. 2007/2008 MATA UJIAN : METODE NUMERIK DOSEN PENGUJI : IR. M. TEGUH, MSCE., Ph.D HARI/TANGGAL : SELASA, 15 JANUARI 2008 WAKTU : 90 MENIT


UNIVERSITAS ISLAM INDONESIA
FAKULTAS TEKNIK SIPIL DAN PERENCANAAN
JURUSAN TEKNIK SIPIL
SOAL UJIAN AKHIR SEMESTER (UAS), SEMESTER GANJIL TA. 2007/2008
MATA UJIAN : METODE NUMERIK
DOSEN PENGUJI : IR. M. TEGUH, MSCE., Ph.D
HARI/TANGGAL : SELASA, 15 JANUARI 2008
WAKTU : 90 MENIT
SIFAT UJIAN : TUTUP BUKU

http://hmtsuii.wordpress.com

PERHATIAN:
1. BERDOALAH SEBELUM DAN SESUDAH ANDA MENGERJAKAN SOAL-SOAL
2. SEGALA BENTUK KECURANGAN AKAN DICATAT OLEH PENGAWAS TANPA PEMBERITAHUAN TERLEBIH DAHULU, DAN UJIAN DIANGGAP GUGUR
1. Selesaikan persamaan aljabar linear simultan berikut ini dengan menggunakan dua
metode yaitu Metode Corner dan Metode Gauss-Jordan:
10×1 + x2 + 2×3 = 44
2×1 + 10×2 + x3 = 51
x1 + 2×2 + 10×3 = 61
2. Tabel dibawah ini menunjukan data hubungan tegangan dan regangan yang diperoleh
dari hasil pegujian silinder beton. Data tegangan dan regangan beton ini akan
membentuk fungsi polynomial bepangkat dua. Selesaikan Curve fitting data peneliatian
tersebut dengan menggunakan salah satu metode penyelesaian yaitu : Least Square
Method. Gunakan Metode Eliminasi Gauss untuk menyelesaikan persamaan aljabar
linear simultannya. Gambarkan curva terkoreksi dari hasil perhtungan tersebut.
No. Tegangan (σ),psi Regangan (ε)
1 0.0 0.0
2 2250 500 x 10-6
3 3575 1000 x 10-6
4 4250 1500 x 10-6
5 4400 2000 x 10-6
6 4200 2375 x 10-6
UNIVERSITAS ISLAM INDONESIA
FAKULTAS TEKNIK SIPIL DAN PERENCANAAN
JURUSAN TEKNIK SIPIL
SOAL UJIAN AKHIR SEMESTER (UAS), SEMESTER GANJIL TA. 2007/2008
MATA UJIAN : METODE NUMERIK
DOSEN PENGUJI : IR. M. TEGUH, MSCE., Ph.D
HARI/TANGGAL : SELASA, 15 JANUARI 2008
WAKTU : 90 MENIT
SIFAT UJIAN : TUTUP BUKU

http://hmtsuii.wordpress.com

PERHATIAN:
1. BERDOALAH SEBELUM DAN SESUDAH ANDA MENGERJAKAN SOAL-SOAL
2. SEGALA BENTUK KECURANGAN AKAN DICATAT OLEH PENGAWAS TANPA PEMBERITAHUAN TERLEBIH DAHULU, DAN UJIAN DIANGGAP GUGUR
Catatan :
1. Bobot nilai: (1) 40 % dan (2) 60 %
2. Penilaian didasarkan pada kebenaran proses perhitungan dengan metode yang
ditentukan dan hasil akhir.
3. Kejujuran salama ujian dan keteliatian dalam perhitungan merupakan kunci pada
penilaian ujian.
4. Selamat ujian semoga berhasil.

SOAL UJIAN AKHIR SEMESTER GENAP


Copyleft 2007

Mata Kuliah : Administrasi Sistem
Program Studi : Teknik Komputer dan Jaringan
Dosen : Eko Priyo Triasmoro, S.T.
Jawablah Pertanyaan berikut ini dengan benar :
1. Apa yang dimaksudkan dengan class, class objek!
2. Jelaskan perbedaan class dan class objek!
3. Jelaskan apa yang dimaksud dengan class turunan.
4. Buatkan sebuah listing method untuk menghitung rata rata berat badan berikut ini
10kg, 32 kg, 50 kb, 80 kg, 54 kg, 66 kg.
5. Buatkan contoh listing program java yang mengandung konstruktor dan destructor.
- Jawaban diketik dan dikumpulkan paling akhir tanggal 2 Agustus 2007
— Selamat Mengerjakan — Sukses untuk Anda —
– Viva D3 TKJ –
- eptCopyleft
2007
SOAL UJIAN AKHIR SEMESTER GENAP
Mata Kuliah : Administrasi Sistem
Program Studi : Teknik Komputer dan Jaringan
Dosen : Eko Priyo Triasmoro, S.T.
Jawablah Pertanyaan berikut ini dengan benar :
1. Jelaskan apa yang dimaksud dengan Administrasi Sistem.
2. Jelaskan tipe partisi yang dipergunakan untuk Sistem Operasi Windows Server 2003
dan Linux!
3. Jelaskan apa yang dimaksud dengan :
a. SUDO
b. Linux Single
c. ssh
d. Kernel
e. Kompilasi Kernel
4. Jelaskan apa yang dimaksud dengan hak akses terhadap suatu file
a. Jika diketahui suatu file atau folder dengan hak akses 755, apa yang dimaksud
dengan 755 ?
b. Jelaskan cara mengubah hak akses dari 755 menjadi 555?
.
5. Sebut dan jelaskan program untuk melakukan remote terminal ke system linux.
6. Aspek apa saja yang menjadi basic keamanan suatu server?
7. Partis harddisk yang digunakan pada dual operating system adalah sebagai berikut :
Win_c Win_D Win_E Swap /redhat
Primary ekstended
a. Bagaimana cara mounting(mengaitkan) WIN_C?
b. Bagaimana cara mounting(mengaitkan) WIN_D?
c. Bagaimana cara mounting(mengaitkan) WIN_E?
d. Bagaimana cara mounting(mengaitkan) flashdisk?
e. Bagaimana cara supaya aman, sebelum flashdisk dicabut??
f. Kita pinginnya otomatis termount, tidak pertu mounting ulang setiap kita reboot
komputer gimana caranya?
8. Jelaskan masing-masing baris dari konfifurasi boot loader linux berikut ini :
boot=/dev/hda
prompt
timeout=50
vga=normal
image=/boot/vmlinuz
root=/dev/hda7
label=redhat ku
initrd=/boot/initrd.img
read-only
other=/dev/hda1
label=windows_original
table=/dev/hda
- Jawaban diketik dan dikumpulkan paling akhir tanggal 2 Agustus 2007
— Selamat Mengerjakan — Sukses untuk Anda —
– Viva D3 TKJ –
- ept

I. PI. ERSYARATAN SERTIFIKASI CFP 2008


Pedoman
Ujian dan Sertifikasi CFP®
http://www.fpsbindonesia.org
I. I. PI. ERSYARATAN SERTIFIKASI CFP 2008
1
DAFTAR ISI
I. PERSYARATAN SERTIFIKASI CFP® 3
1. PROSES SERTIFIKASI AWAL : 3
2. PROSES RE-SERTIFIKASI: 3
II. UJIAN SERTIFIKASI CFP 4
1. Liputan Materi Pendidikan 4
2. Jenis Ujian dan Persyaratan 4
3. Materi Ujian yang Seimbang 5
4. Tingkat Pemahaman 5
5. Pembaharuan dan Perubahan Peraturan dan Ketetapan yang Berlaku 5
6. Data Yang Tersedia Pada Soal-Soal Ujian 5
7. Format Pertanyaan 5
8. Bahasa Yang Dipergunakan 6
9. Waktu Ujian 6
10. Frekuensi 6
11. Contoh Pertanyaan-Pertanyaan Ujian 6
III. PERSIAPAN UJIAN 7
1. Belajar Sendiri 7
2. Kursus Penyegaran 7
IV. PROSEDUR PENDAFTARAN UJIAN 8
1. Pendaftaran 8
1.1. Formulir Pendaftaran 8
1.2. Batas Waktu Penyerahan Formulir Pendaftaran 8
1.3. Penyerahan Formulir Pendaftaran 8
2. Pembayaran (berlaku tahun 2008) 8
2.1. Biaya Ujian 8
2.2. Biaya Formulir Pendaftaran 8
2.3. Metode Pembayaran 8
2.4. Ketentuan Mengenai Pengembalian Biaya 9
2.5. Masalah Kesehatan atau Hal Serius Lainnya 9
3. Pemberitahuan 9
4. Perubahan Data Pribadi 10
I. I. PI. ERSYARATAN SERTIFIKASI CFP 2008
2
DAFTAR ISI
V. HASIL UJIAN 11
1. Hasil Ujian 11
2. Pernyataan Tanda Lulus (Statement of Result) 11
3. Kehilangan Atau Kerusakan 11
VI. KEBIJAKAN UJIAN 12
1. Pelanggaran Dalam Ujian 12
2. Penilaian Ujian 12
3. Kriteria Penetapan Nilai Ujian 13
4. Ujian Ulangan 13
5. Tinjau Ulang Hasil Ujian 13
6. Pemberitahuan Terkait Dengan Data Pribadi 13
7. Amandemen/Perubahan 14
8. Sumber Informasi 14
Lampiran 1 – Silabus Ujian Sertifikasi CFP 15
Lampiran 2 – Distribusi Pertanyaan Ujian Berdasarkan Modul 20
Lampiran 3 – Contoh Pertanyaan-Pertanyaan Ujian 21
Lampiran 4 – Tata Tertib Ujian 26
Lampiran 5 – Pemberitahuan Terkait Dengan Data Pribadi 29
Lampiran 6 – Jadwal Ujian CFP 2008 30
Formulir Pendaftaran
II. I. PI. ERSYARATAN SERTIFIKASI CFP 2008
3
I. PERSYARATAN SERTIFIKASI CFP®
I. PERSYARATAN SERTIFIKASI CFP®
FPSB Indonesia adalah penyelenggara eksklusif sertifikasi CFPÒ, CERTIFIED
FINANCIAL PLANNERÒ dan di Indonesia, FPSB Indonesia menetapkan
persyaratan yang ketat bagi individu yang ingin mengambil program sertifikasi CFP
sebagai berikut:
1. PROSES SERTIFIKASI AWAL :
Meliputi standar 4E yaitu: Education (Pendidikan), Examination (Ujian),
Experience (Pengalaman) dan Ethics (Etika) dibawah ini:
PENDIDIKAN UJIAN PENGALAMAN ETIKA
SERTIFIKASI
CFP
Menyelesaikan
Modul
pendidikan
yang
diselenggarakan
Penyelenggara
pendidikan
yang terdaftar
di FPSB
Indonesia.
Lulus
seluruh
ujian
sertifikasi
CFP
Memiliki
pengalaman
kerja di bidang
yang berkaitan
dengan
Perencanaan
Keuangan
minimal 3 tahun.
Tunduk pada
Kode Etik dan
Pertanggungan
Jawab
Profesional
yang
ditetapkan
FPSB
Indonesia.
Memenuhi
persyaratan
adminsistrasi
yang
ditetapkan oleh
FPSB
Indonesia
Bagi calon yang mengambil program sertifikasi awal di tahun 2010 harus mempunyai
latar belakang pendidikan Sarjana (S1).
Pengecualian: Peserta dengan latar belakang CFA atau CPA atau ChFC atau CLU atau
Wakil Manajer Investasi atau seseorang dengan gelar akademis minimum Paska
Sarjana (S2) di bidang terkait perencanaan keuangan dari Universitas yang terdaftar di
FPSB Indonesia, serta memenuhi persyaratan administrasi yang ditentukan oleh FPSB
Indonesia dapat dibebaskan dari ketentuan Pendidikan dan langsung mengikuti Ujian.
2. PROSES RE-SERTIFIKASI:
Sertifikasi CFP hanya berlaku 2 tahun dan CFP profesional wajib memperbaharui
sertifikasinya. CFP profesional dapat mengajukan pembaharuan apabila dapat
memenuhi ketentuan 40 CE credit selama 2 tahun, ketentuan Etika dan biaya
administrasi sebanyak US$ 100.00 per tahun.
III.
I. PI. ERSYARATAN SERTIFIKASI CFP 2008
4
II. UJIAN SERTIFIKASI CFPÒ
II. UJIAN SERTIFIKASI CFP
Ujian sertifikasi CFP didesain sedemikian rupa untuk menilai kemampuan para calon
dalam mengaplikasikan ilmu yang diperoleh dari pendidikan perencanaan keuangan ke
dalam praktek nyata dalam bentuk format yang terpadu. Dengan cara ini masyarakat
akan terlindungi, yaitu dengan memastikan bahwa semua pemegang sertifikat CFP
berada pada tingkat kompetensi yang memadai untuk menjalankan tugasnya.
1. Liputan Materi Pendidikan
Persyaratan kompetensi Pendidikan bagi para calon terdiri dari 89 topik dengan
pembobotan. Seluruh topik mencakup Pengenalan Perencanaan Keuangan,
Perencanaan Investasi, Manajemen Risiko dan Perencanaan Asuransi, Perencanaan
Perpajakan, Program Hari Tua, Program Kesejahteraan Karyawan dan Perencanaan
Distribusi Kekayaan serta Praktek Perencanaan Keuangan yang di desain khusus
untuk memadukan seluruh topik-topik diatas.
Daftar seluruh topik dan bacaan wajib dilihat pada Lampiran 1 halaman 15-19.
2. Jenis Ujian dan Persyaratan
Jenis ujian CFP berikut persyaratan yang harus dipenuhi :
Jenis Ujian Persyaratan
CFP 1 :
Manajemen Risiko dan
Perencanaan Asuransi
Lulus :
• Modul 1 : Dasar-dasar Perencanaan Keuangan
• Modul 3 : Manajemen Risiko & Perencanaan Asuransi
CFP 2 :
Perencanaan Investasi
Lulus :
• Modul 1 : Dasar-dasar Perencanaan Keuangan
• Modul 2 : Perencanaan Investasi
CFP 3 :
Perencanaan Hari Tua,
Pajak dan Distribusi
Kekayaan
Lulus :
• Modul 1 : Dasar-dasar Perencanaan Keuangan
• Modul 2 : Perencanaan Investasi
• Modul 3 : Manajemen Risiko & Perencanaan Asuransi
• Modul 4 : Perencanaan Hari Tua, Pajak dan Distribusi
Kekayaan
CFP 4 :
Praktek Perencanaan
Keuangan – Studi
Kasus
Lulus :
• Modul 1 : Dasar-dasar Perencanaan Keuangan
• Modul 2 : Perencanaan Investasi
• Modul 3 : Manajemen Risiko & Perencanaan Asuransi
• Modul 4 : Perencanaan Hari Tua, Pajak dan Distribusi
Kekayaan
IV. I. PI. ERSYARATAN SERTIFIKASI CFP 2008
5
3. Materi Ujian yang Seimbang
Ujian sertifikasi CFP akan menguji kemampuan para calon dalam memadukan ilmu
pengetahuan dari pelbagai segi/bidang yang ditetapkan oleh FPSB Indonesia.
Pertanyaan-pertanyaan dapat saja difokuskan pada topik-topik yang berbeda atau
sebaliknya di butuhkan penguasaan pengetahuan atas pelbagai topik terpadu.
Distribusi atau pengelompokan pertanyaan-pertanyaan yang di dasarkan pada
modul-modul pokok dapat dilihat pada Lampiran 2 halaman 20.
4. Tingkat Pemahaman
4 (empat) tingkat pemahaman yang akan diuji pada ujian sertifikasi CFP meliputi :
(1) Pengetahuan
(2) Komprehensif/Aplikasi
(3) Analisa/Sintesa
(4) Evaluasi
Ujian sertifikasi CFP akan menilai kemampuan calon dalam berpikir secara kritis
dan menyelesaikan permasalahan dengan tidak terlalu menekankan tingkat
pemahaman pertama, yaitu pengetahuan.
5. Pembaharuan dan Perubahan Peraturan dan Ketetapan yang Berlaku
Dari waktu ke waktu akan ada pembaharuan dan perubahan pada peraturan dan
ketetapan-ketetapan dalam industri keuangan, demikian juga dengan peraturan pada
pedoman ini akan mengacu pada perubahan tersebut.
6. Data Yang Tersedia Pada Soal-Soal Ujian
Tabel Tarip Pajak akan dilampirkan pada soal-soal ujian sebagai referensi.
7. Format Pertanyaan
Semua pertanyaan dalam ujian sertifikasi CFP akan disajikan dalam format pilihan
ganda (multiple-choice).
Pada dasarnya ada 2 macam bentuk pertanyaan pokok. Pertama, dalam bentuk
keterangan singkat atau skenario. Keterangan secukupnya akan diberikan agar calon
dapat menjawab seluruh pertanyaan dengan baik. Setiap pertanyaan akan
memperoleh nilai 1.
Kedua, dalam bentuk pertanyaan yang mengikuti sebuah skenario kasus ekstensif.
Setelah membaca setiap skenario, para calon diminta untuk menjawab 10-20
pertanyaan pilihan ganda. Biasanya ada 4-5 skenario kasus berikut pertanyaanpertanyaannya
pada setiap ujian. Setiap pertanyaan bernilai 1. Semua pertanyaan
ujian bersifat wajib.
IV. I. PI. ERSYARATAN SERTIFIKASI CFP 2008
6
8. Bahasa Yang Dipergunakan
Bahasa yang dipergunakan dalam soal-soal ujian adalah Bahasa Indonesia.
9. Waktu Ujian
Ujian berlangsung selama 10 jam, yang diselenggarakan dalam 2 hari berturut-turut
(Sabtu dan Minggu).
10. Frekuensi
Ujian diadakan 3 kali setahun, April, Juli dan Oktober. Jadwal ujian dapat dilihat di
Lampiran 6 halaman 30.
11. Contoh Pertanyaan-Pertanyaan Ujian
Soal-soal ujian yang lalu tidak tersedia. 10 contoh pertanyaan sebagaimana
tercantum dalam Lampiran 3 dalam Buku Pedoman ini, merupakan pertanyaanpertanyaan
yang sebelumnya dipergunakan dalam ujian sertifikasi CFP di Amerika
Serikat dan dirilis oleh Certified Planner Board of Standards Inc, Amerika Serikat
terhitung mulai tahun 1999. Contoh-contoh ini hanya merupakan indikasi dari jenis
pertanyaan dalam ujian sertifikasi CFP yang diselenggarakan oleh FPSB Indonesia
dan disertakan disini untuk memberikan gambaran kepada Anda mengenai tingkat
kesulitan dan format pertanyaan pada ujian sertifikasi tersebut. Namun, ini hanya
merupakan contoh pilihan semata dan tidak dimaksudkan untuk mencerminkan
soal-soal ujian yang sesungguhnya, dalam arti baik secara keseluruhan maupun
penekanan pada hal-hal tertentu.
Untuk melihat semua kasus dan pertanyaan-pertanyaan yang dirilis oleh Certified
Financial Planner Board of Standards, Inc, Anda dapat men-download file yang
bersangkutan dari website :
http://www.cfp.net/downloads/1999%20released %20questions.pdf
V. I. PI. ERSYARATAN SERTIFIKASI CFP 2008 III. PERSIAPAN UJIAN
7
III. PERSIAPAN UJIAN
1. Belajar Sendiri
Untuk mengetahui liputan topik serta bacaan wajib yang diminta, para calon diminta
untuk membaca Lampiran 1 dan Lampiran 2 untuk distribusi pertanyaanpertanyaan.
Harap dimaklumi bahwa daftar referensi ini sama sekali tidak diberikan
secara mendalam.
2. Kursus Penyegaran
Bila diperlukan, para calon dapat mengikuti kursus-kursus penyegaran secara
ekstensif yang dapat diselenggarakan oleh provider pendidikan CFP yang terdaftar,
dalam rangka membantu mereka mempersiapkan diri menghadapi ujian sertifikasi.
Calon yang berminat dapat menghubungi provider pendidikan untuk memperoleh
informasi pendaftaran selanjutnya.
VI. I. PI. ERSYARATAN SERTIFIKASI CFP 2008 IV. PROSEDUR PENDAFTARAN UJIAN
8
IV. PROSEDUR PENDAFTARAN UJIAN
1. Pendaftaran
1.1. Formulir Pendaftaran
Calon dapat memperoleh formulir pendaftaran :
 Dari website FPSB Indonesia (http://www.fpsbindonesia.org), atau
 Di kantor FPSB Indonesia selama jam kerja
1.2. Batas Waktu Penyerahan Formulir Pendaftaran
Batas waktu penyerahan formulir pendaftaran untuk setiap ujian kurang lebih
LIMA MINGGU sebelum tanggal ujian.
1.3. Penyerahan Formulir Pendaftaran
Formulir yang telah diisi lengkap beserta dengan dokumen pendukungnya
sudah harus diterima selambat-lambatnya pada tanggal batas waktu yang
ditentukan.
FPSB Indonesia TIDAK bertanggung jawab atas kemungkinan hilangnya
formulir maupun setiap dokumen yang dikirim via pos.
2. Pembayaran (berlaku tahun 2008)
2.1. Biaya Ujian
Jenis Ujian Biaya Waktu
CFP 1 : Manajemen Risiko dan
Perencanaan Asuransi
Rp. 400.000 2 Jam
CFP 2 : Perencanaan Investasi Rp. 400.000 2 Jam
CFP 3 : Perencanaan Hari Tua, Pajak
dan Distribusi Kekayaan
Rp. 400.000 2 Jam
CFP 4 : Praktek Perencanaan Keuangan
- Studi Kasus.
Rp. 1.000.000 4 Jam
2.2. Biaya Formulir Pendaftaran
Formulir dapat diperoleh dari http://www.fpsbindonesia.org tanpa biaya.
2.3. Metode Pembayaran
Biaya pendaftaran dan ujian harus disampaikan dalam bentuk : Cek atau
transfer ke rekening FPSB Indonesia: Bank Panin Cabang Palmerah
140.501.9891 a.n. Yayasan Standarisasi Perencana Keuangan Indonesia.
VII. I. PI. ERSYARATAN SERTIFIKASI CFP 2008
9
2.4. Ketentuan Mengenai Pengembalian Biaya
 Semua biaya tidak dapat dialihkan.
 Tidak akan ada pengembalian untuk calon yang tidak hadir pada suatu
sesi ujian.
 Pengunduran diri dari suatu ujian yang diterima diatas 30 hari kalender
sebelum ujian dilaksanakan akan menerima pengembalian biaya ujian
sebesar 60% dari total biaya. Semua pemberitahuan pengunduran diri
harus diajukan secara tertulis.
 Tidak akan ada pengembalian untuk biaya ujian, apabila surat
pengunduran diri diterima dalam waktu 30 hari kalender sebelum ujian
dilaksanakan atau setelah ujian dilaksanakan,
 Semua pendaftaran mengikuti ujian CFP yang tidak memenuhi
persyaratan akan memperoleh pengembalian biaya ujian sepenuhnya.
2.5. Masalah Kesehatan atau Hal Serius Lainnya
Dalam hal menghadapi masalah kesehatan atau hal serius lainnya yang tidak
terduga, calon dapat mengajukan permohonan untuk dibebaskan dari sanksi
yang berlaku, dengan syarat :
 Permohonan harus diajukan secara tertulis dan didukung dengan
dokumentasi yang memadai, misalnya surat keterangan dokter dan
 Surat permohonan sudah harus diterima dalam waktu DUA MINGGU
sebelum tanggal ujian dan
 Penangguhan untuk mengikuti ujian berikutnya telah disetujui dan
 Membayar biaya administrasi sebesar Rp. 150.000,- (seratus lima puluh
ribu Rupiah).
3. Pemberitahuan
 Surat Pemberitahuan diterima atau tidaknya suatu pendaftaran akan dikirim
kepada para calon setidaknya TIGA MINGGU sebelum tanggal ujian.
 Surat Pemberitahuan yang dikeluarkan oleh FPSB Indonesia merupakan bukti
resmi bahwa yang bersangkutan adalah calon peserta ujian. Surat ini harus
disimpan baik-baik, agar calon tidak perlu lagi membayar biaya pendaftaran
dalam hal yang bersangkutan harus mengulang ujian yang sama.
 Apabila pendaftaran ditolak oleh karena calon tidak memenuhi persyaratan,
pemohon harus mengajukan pendaftaran baru.
 Apabila calon yang menenuhi persyaratan tidak menerima surat
pemberitahuan tersebut setidaknya TIGA HARI sebelum ujian dilaksanakan,
VII. I. PI. ERSYARATAN SERTIFIKASI CFP 2008
10
atau yang bersangkutan mendapati adanya kesalahan-kesalahan data pada
surat tersebut, mereka harus segera menghubungi FPSB Indonesia.
4. Perubahan Data Pribadi
 Calon harus memberitahukan FPSB Indonesia melalui fax, pos atau email
apabila ada perubahan data pribadi (misalnya : nama, alamat, nomor telepon,
dsb).
 Keterlambatan untuk memberitahukan FPSB Indonesia pada waktunya akan
menyebabkan tertundanya atau terhambatnya penerimaan informasi
sehubungan dengan ujian-ujian yang akan diikuti.
VIII. I. PI. ERSYARATAN SERTIFIKASI CFP 2008 V. HASIL UJIAN
11
V. HASIL UJIAN
1. Hasil Ujian
 Hasil ujian biasanya sudah tersedia dalam waktu DUA BULAN setelah ujian
dilaksanakan. Calon dapat melihat hasil ujian tersebut pada website FPSB
Indonesia.
 Nilai yang diberikan dalam ujian sertifikasi CFP adalah LULUS atau GAGAL.
Sama sekali tidak ada penilaian dalam bentuk angka, tingkatan atau persentase.
 Calon yang tidak dapat mengikuti ujian akan dianggap ABSEN.
 Untuk melindungi privasi calon dan menjaga kerahasiaan hasil ujian, maka
tidak ada informasi hasil ujian yang dirilis melalui telepon dan fax.
2. Pernyataan Tanda Lulus (Statement of Result)
Pernyataan Tanda Lulus akan diterbitkan bagi calon yang lulus dalam waktu DUA
BULAN sejak keluarnya hasil ujian. Calon akan segera diberitahukan untuk
mengambil Pernyataan tanda Lulus mereka di kantor FPSB Indonesia. Apabila
dalam waktu TIGA BULAN terhitung sejak diterbitkannya surat pemberitahuan
belum diambil, maka FPSB Indonesia akan menyimpan namun tidak bertanggung
jawab atas kehilangan atau kerusakan.
3. Kehilangan Atau Kerusakan
Apabila Pernyataan Tanda Lulus hilang atau mengalami kerusakan, maka calon
dapat mengajukan pendaftaran tertulis untuk memperoleh pernyataan tanda lulus
(statement of results) dan untuk itu dikenakan biaya administrasi sebesar
Rp. 150.000,- (seratus lima puluh ribu rupiah).
IX. I. PI. ERSYARATAN SERTIFIKASI CFP 2008 VI. KEBIJAKAN UJIAN
12
VI. KEBIJAKAN UJIAN
1. Pelanggaran Dalam Ujian
Calon harus membaca dengan teliti tata tertib ujian sebagaimana tercantum dalam
Lampiran 4, sebelum mengerjakan soal-soal ujian. Kelalaian dalam memperhatikan
tata tertib tersebut akan mengakibatkan calon didiskualifikasi dari ujian.
Apabila ada laporan bahwa terdapat calon yang mencontek, FPSB Indonesia akan
melakukan investigasi. Apabila seorang calon terbukti mencontek dan/atau
membantu atau bekerja sama dengan orang yang mencontek, atau melakukan
pelanggaran lainnya, maka hasil ujian yang bersangkutan tidak akan dirilis dan
selanjutnya yang bersangkutan akan dikenakan tindakan disipliner yang
diberlakukan oleh FPSB Indonesia.
Tergantung dari seberapa seriusnya pelanggaran tersebut, yang bersangkutan tidak
diperkenankan mengikuti ujian sertifikasi CFP yang diselenggarakan oleh FPSB
Indonesia selama 3 sampai 7 tahun, terhitung sejak tanggal terjadinya pelanggaran
tersebut. Pelanggaran kedua kalinya yang dilakukan oleh calon yang sama akan
secara otomatis mengakibatkan yang bersangkutan untuk selanjutnya tidak dapat
mengikuti ujian sama sekali. Panel disipliner yang ditunjuk berhak melaporkan
pelanggaran tersebut kepada pihak berwenang dan lembaga profesional terkait bila
dianggap perlu.
2. Penilaian Ujian
 Semua jawaban atas pertanyaan harus dibuat pada lembar jawaban yang
tersedia. Kredit tidak akan diberikan untuk jawaban yang ditulis atau dicatat
dalam soal-soal ujian (exam booklet).
 Untuk setiap pertanyaan, pilihlah satu jawaban saja. Jawaban yang lebih dari
satu akan dinilai salah.
 Nilai Anda didasarkan pada jumlah pertanyaan yang dijawab dengan benar.
Tidak ada angka yang dikurangi atau jawaban yang salah. Sekalipun Anda
ragu-ragu akan suatu pertanyaan, usahakanlah untuk menjawab semua
pertanyaan.
 Hanya jawaban yang benar yang akan memperoleh angka. Tidak ada kredit
yang diperhitungkan sebagian.
 Anda harus hadir dalam setiap sesi ujian. Bila tidak, hasil ujian Anda tidak akan
dinilai.
X. I. PI. ERSYARATAN SERTIFIKASI CFP 2008
13
3. Kriteria Penetapan Nilai Ujian
Ada banyak ragam versi ujian sertifikasi. Walaupun semua pertanyaan
dikembangkan dari topik-topik yang sama sebagaimana tercantum dalam
Lampiran 1, tingkat kesulitan dari setiap pelaksanaan ujian akan berbeda satu sama
lainnya oleh karena adanya pertanyaan-pertanyaan berbeda yang muncul dalam
setiap ujian. Prosedur statistik yang dipergunakan oleh FPSB Indonesia konsisten
dengan prosedur yang diadopsi dari CFP Board dan hasil konsultasi dengan
psychometricians untuk memastikan bahwa semua calon mendapat perlakukan yang
sama pada setiap pelaksaan ujian.
Nilai lulus untuk ujian sertifikasi akan ditetapkan sesuai dengan prosedur standar
kelulusan ujian sertifikasi.
4. Ujian Ulangan
Apabila Anda gagal dalam salah satu ujian, Anda harus mengulang ujian tersebut.
5. Tinjau Ulang Hasil Ujian
Demi keamanan, materi ujian tidak tersedia untuk ditinjau ulang. Calon dapat
mengajukan pendaftaran untuk dilakukan penilaian manual pada lembar jawaban
ujian sertifikasi, apabila diduga adanya suatu penilaian yang keliru. Surat
pendaftaran tertulis harus dikirim dan dilengkapi dengan nama, nomor calon,
tanggal ujian, biaya proses sejumlah Rp. 500.000,- (lima ratus ribu Rupiah), dan
disertai dengan alasan pendaftaran penilaian manual tersebut kepada FPSB
Indonesia dalam waktu 30 hari kalender terhitung dari tanggal yang tercantum pada
stempel pos pada surat pemberitahuan hasil ujian. Pendaftaran yang diajukan setelah
ketentuan 30 hari tersebut tidak akan dilayani.
Laporan tinjau ulang hasil ujian sudah akan tersedia dalam waktu 4-6 minggu sejak
pendaftaran diterima. Harap dicatat bahwa laporan tersebut hanya akan
mengidentifikasikan apabila ada perbedaan antara penilaian manual dan penilaian
komputer dalam pencantuman tanda (mark) sebagaimana jawaban yang benar.
Informasi mengenai nilai ataupun tingkatan ujian tidak ada dalam lampiran tinjau
ulang hasil ujian. Apabila ada ketidaksesuaian antara hasil penilaian manual dan
penilaian komputer, maka hasil penilaian manual akan dinyatakan benar dan
selanjutnya biaya proses akan dibayarkan kembali.
6. Pemberitahuan Terkait Dengan Data Pribadi
Calon diminta untuk membaca “pemberitahuan terkait dengan data pribadi”
sebagaimana tercantum pada Lampiran 5 untuk memahami hak dan kewajiban
mereka sehubungan dengan penyampaian data pribadi kepada FPSB Indonesia, dan
X. I. PI. ERSYARATAN SERTIFIKASI CFP 2008
14
juga untuk mengetahui bagaimana caranya FPSB Indonesia mempergunakan dan
menangani data tersebut.
7. Amandemen/Perubahan
FPSB Indonesia berhak untuk mengadakan perubahan pada ketentuan ujian, silabus
ujian, liputan topik dan informasi lainnya yang ada dalam buku pedoman ujian, bila
dianggap perlu.
8. Sumber Informasi
FPSB Indonesia akan menyajikan informasi terkini mengenai program pendidikan,
kursus persiapan ujian dan ujian sertifikasi kepada masyarakat. Anda dapat
mengetahuinya melalui pengumuman-pengumuman yang ada di website kami.
Untuk informasi selanjutnya, Anda dapat menghubungi FPSB Indonesia :
Telepon : +62 21 70872149-50
Fax : +62 21 527 1305
E-mail : exam@fpsbindonesia.org
Website : http://www.fpsbindonesia.org
Alamat : Gedung S Widjojo lantai 4.
Jl. Jenderal Sudirman 71, Jakarta Pusat 12190, Indonesia
Jam kerja : Senin – Jumat
09.30 – 16.00 wib
Tutup pada hari Sabtu, Minggu dan hari libur nasional.
XI. I. PI. ERSERSYLLLARATAN SERTIFIKASI CFP L Lampiran 1
15
Lampiran 1 – Silabus Ujian Sertifikasi CFP
Proses Perencanaan Keuangan (6%)
1. Membangun hubungan kerjasama klien – planner
2. Mengumpulkan data klien dan menetapkan tujuan hidup serta ekspektasi yang
bersangkutan
3. Menetapkan status keuangan klien dengan menganalisa dan mengevaluasi data yang
bersangkutan
4. Membuat dan mempresentasikan rencana keuangan
5. Mengimplementasikan rencana keuangan
6. Memonitor rencana keuangan
Referensi
Louis Cheng, Fundamentals of Financial Planning, McGraw-Hill Education (Asia),
2006.
Financial Planning Practice Standards, Financial Planning Standards Board.
Prinsip-Prinsip Umum (13%)
7. Pertimbangan etika dan profesional dalam perencanaan keuangan
8. Penilaian risiko dan perilaku klien
9. Lingkungan dan konsep ekonomis
10. Konsep dan perhitungan nilai waktu untuk uang
11. Perencanaan keuangan untuk kebutuhan khusus
12. Bentuk kepemilikan bisnis/hubungan entitas
13. Cara memperoleh hak milik atas property
14. Laporan Keuangan Perorangan
15. Anggaran Belanja
16. Manajemen Kredit dan Hutang
17. Persyaratan Regulasi Industri Jasa Keuangan
 Pendaftaran dan Perizinan
 Pelaporan
 Pemenuhan Kewajiban
18. Hukum Sekuritas dan Asuransi
19. Pendahuluan Prinsip-Prinsip Keuangan Syariah
20. Prinsip-prinsip Asuransi Syariah
Referensi
Louis Cheng, Fundamentals of Financial Planning, McGraw-Hill Education (Asia),
2006.
XII. I. PI. ERSERSYLLLARATAN SERTIFIKASI CFP L
16
Code of Ethics and Professional Responsibility, FPSB Indonesia
Bodie, Kane and Marcus, Essentials of Investment, McGraw Hill, edisi terakhir
Perencanaan Asuransi (14%)
21. Prinsip-Prinsip Asuransi
22. Analisa dan Evaluasi Terhadap Paparan Risiko
23. Aspek Hukum Asuransi
24. Asuransi Properti dan Kecelakaan Diri (perorangan dan perusahaan)
25. Analisa Kebijakan Asuransi Kesehatan
26. Asuransi Jiwa
27. Analisa Kebutuhan Asuransi dan Dasar Pertimbangan Rasionalnya
28. Pajak Atas Produk Asuransi
29. Seleksi Terhadap Perusahaan Asuransi dan Agensi
30. Regulasi Perasuransian di Indonesia
Referensi
Institute of Financial Planners of Hong Kong, Fundamentals of Risk and Insurance,
John Wiley & Sons (Asia) Pte Ltd, 2006.
Manajemen Risiko (6%)
31. Penilaian terhadap klien
32. Marketabilitas/likuiditas
33. Jenis-jenis risiko investasi
34. Ukuran terhadap risiko
35. Pengaruh waktu terhadap risiko investasi
Referensi
Bodie, Kane and Marcus, Essentials of Investment, McGraw Hill, edisi terakhir
Sarana Investasi (6%)
36. Regulasi pemerintah terhadap sekuritas dan pasar
37. Sarana investasi
38. Jenis dan ukuran terhadap hasil investasi
39. Metode valuasi terhadap obligasi dan saham
Referensi
Bodie, Kane and Marcus, Essentials of Investment, McGraw Hill, edisi terakhir
XII. I. PI. ERSERSYLLLARATAN SERTIFIKASI CFP L
17
Teori dan Strategi Investasi (14%)
40. Ukuran performa portofolio
41. Formula berinvestasi
42. Strategi “Aktif” dan “Pasif”
43. Leverage dan penggunaan dana pinjaman untuk berinvestasi
44. Strategi hedging dan opsi
45. Alokasi asset : Aktif dan Pasif
46. Teori pasar yang efisien
47. Sarana investasi yang sesuai dengan kebutuhan klien
48. Dampak pajak terhadap analisa nilai waktu investasi
49. Keuangan internasional dan devisa
Referensi
Baker, International Finance : Management, Markets and Institutions, Prentice Hall,
edisi terakhir
Bodie, Kane and Marcus, Essentials of Investment, McGraw Hill, edisi terakhir
Perencanaan Pajak Penghasilan (10%)
50. Pertimbangan etis dalam perencaan pajak
51. Fundamentalis hukum pajak penghasilan
52. Masalah penyelesaian pajak
53. Fundamental dan perhitungan pajak penghasilan
54. Metode pembukuan pajak
55. Karakteristik pajak pada entitas
56. Konsep pemulihan biaya
57. Amortisasi/Depresiasi
58. Konsekuensi pajak terhadap perubahan sejenis
59. Transaksi antar kelompok terkait
60. Konsekuensi pajak terhadap untung rugi penjualan asset
61. Teknik manajemen pajak
62. Implikasi pajak terhadap kondisi perubahan
63. Pajak atas bunga dan penalty serta beban biaya lainnya
Referensi
Muhammad Mansur, BAP : Teguh Hadi Wardoyo, SE., Ak, Pajak Terapan, Brevet
A&B, TaxSys, Jakarta 2006
Dr. Gunadi, M.Sc., Ak, Panduan Komprehensif Pajak Penghasilan, PT Multi Utama
Consultindo, Jakarta 2001
http://www.pajak.co.id
XII. I. PI. ERSERSYLLLARATAN SERTIFIKASI CFP L
18
Perencanaan Program Kesejahteraan Karyawan (9%)
64. Asuransi jiwa, kesehatan dan cacat dalam program kesejahteraan karyawan
65. Program kesejahteraan karyawan berdasarkan undang-undang
66. Penerapan bisnis dalam asuransi jiwa dan cacat perorangan
Referensi
Institute of Financial Planners of Hongkong, Employee Benefits and Estate Planning,
John Wiley & Sons (Asia) Pte. Ltd., 2007.
Perencanaan Pensiun (10%)
67. Pertimbangan etis dalam perencanaan pensiun dan kesejahteraan karyawan
68. Jenis-jenis produk pensiun
69. Karakteristik produk pensiun yang berkualitas
70. Distribusi beserta opsi pendistribusiannya
71. Analisa kebutuhan pensiun
72. Rekomendasi atas jenis produk pensiun yang paling tepat
73. Portofolio investasi yang sesuai untuk kondisi suatu produk pensiun yang berkualitas
74. Regulasi Pensiun di Indonesia
Referensi
Institute of Financial Planners of Hongkong, Employee Benefits and Estate Planning,
John Wiley & Sons (Asia) Pte. Ltd., 2007.
Perencanaan Estate (12%)
75. Ikhtisar mengenai perencanaan estate
76. Undang-undang Pemerintah mengenai warisan
77. Hukum Islam – Al Faraidl
78. Undang-undang perkawinan dan undang-undang keluarga
79. Pajak atas hadiah dan warisan serta penyelesaiannya
80. Jenis-jenis properti
81. Metode pengalihan properti pada peristiwa kematian
82. Dokumentasi perencanaan estate
83. Perencanaan likuiditas
84. Penunjukan seseorang sebagai wali
85. Pemberian sumbangan
86. Pemanfaatan asuransi jiwa dalam perencanaan estate
87. Penundaan dan meminimalkan pajak estate
XII. I. PI. ERSERSYLLLARATAN SERTIFIKASI CFP L
19
88. Teknik pengalihan bisnis intra-keluarga dan lainnya
89. Disposisi estate
Referensi
Libertus Jehani, Atanasius Harpen, Undang-undang Kewarganegaraan Indonesia,
Praninta Offset, Jakarta 2006
J. Satrio, SH, Hukum Waris, Penerbitan Alumni Bandung 1992
Drs. Sudarsono, SH, M.Si, Hukum Perkawinan Nasional, Rineka Cipta, Jakarta 2005
Anisitus Amanat, SH, CN, Membagi Warisan Berdasarkan Pasal-Pasal Hukum
Perdata BW, Rajawali Pers, Jakarta 2003
XIII. I. PI. ERSYLARATAERSYLARATAN SERTIFIKASI CFP 2008 Lampiran 2
20
Lampiran 2 – Distribusi Pertanyaan Ujian Berdasarkan Modul
(Soal Ujian IFP Hongkong bulan Juni 2004 )
Modul
Jumlah
Pertanyaan
%
Prinsip-prinsip Umum Perencanaan Keuangan 59 15,48
Manajemen Risiko dan Perencanaan Asuransi 63 16,54
Perencanaan Investasi 100 26,25
Perencanaan Pajak 47 12,34
Program Kesejahteraan Karyawan dan Perencanaan
Estate
59 15,48
Kasus-kasus (pertanyaan gabungan) 53 13,91
Total 381 100
Catatan :
Informasi di atas sekedar sebagai referensi saja. Walaupun distribusi pertanyaan akan
secara konsisten berlaku untuk semua ujian, akan tetapi tetap akan ada sedikit variasi
atau perbedaan antara ujian yang satu dengan ujian berikutnya.
XIV. I. PI. ERSYLARATAERSYLARATAN SERTIFIKASI CFP 2008 Lampiran 3
21
Lampiran 3 – Contoh Pertanyaan-Pertanyaan Ujian
10 contoh pertanyaan ujian berikut ini merupakan pertanyaan-pertanyaan yang sebelumnya
dipergunakan dalam ujian sertifikasi CFP di Amerika Serikat dan dirilis oleh Certified
Financial Planner Board of Standards, Inc, Amerika Serikat terhitung sejak tahun 1999.
Contoh-contoh ini merupakan indikasi dari jenis pertanyaan yang akan muncul dalam ujian
sertifikasi CFP yang akan diselenggarakan oleh FPSB Indonesia. Namun, ini hanya
merupakan contoh semata dan tidak dimaksudkan untuk mencerminkan soal-soal ujian yang
sesungguhnya, dalam arti baik secara keseluruhan maupun penekanan pada hal-hal tertentu.
Jawaban atas pertanyaan dapat dilihat pada halaman terakhir lampiran ini.
Untuk melihat semua kasus dan pertanyaan-pertanyaan yang dirilis oleh Certified Financial
Planner Board of Standards, Inc, Anda dapat men-download file yang bersangkutan dari
website :

http://www.cfp.net/downloads/1999%20released%20questions.pdf

Pertanyaan 1
Seorang Certified Financial Planner berlisensi memperoleh seorang klien baru. Dalam proses
pencarian fakta (fact-finding process), CFP tersebut mendapati bahwa konsultan si klien
sebelumnya, yang juga seorang CFP berlisensi, telah keliru mengisi beberapa formulir pajak
dengan perhitungan-perhitungan yang salah. Menurut Anda apa yang pertama harus
disampaikan oleh CFP tersebut kepada si klien ?
A. Hubungi CFP yang telah membuat kekeliruan tersebut
B. Hubungi CFP Board
C. Hubungi IRS
D. Beritahukan klien kejadian yang sebenarnya
Pertanyaan 2
Seorang pengusaha lokal meminta bantuan seorang CFP berlisensi untuk suatu permasalahan
pajak yang terkait dengan investasi (an investment-related tax problem). Konsultan pajak
(tax preparer) si klien sebelumnya, telah menyarankannya untuk membeli beberapa jenis
investasi yang menguntungkan dari segi pajak (tax-advantaged investments) yang dapat
mengurangi beban pajak klien disaat itu dan dimasa mendatang. Waktu telah berlalu dan
klien sendiri TIDAK merasa bahwa konsultan pajak tersebut menyampaikan hal-hal yang
keliru, namun ia ingin mengetahui sumber apa yang tersedia berkenaan dengan usul
konsultan pajak tersebut.
XV. I. PI. ERSYLARATAERSYLARATAN SERTIFIKASI CFP 2008
22
Dalam kasus ini yang harus dilakukan oleh CFP tersebut adalah:
I. Jelaskan kepada klien bahwa masalah ini tidak termasuk dalam bidang keahlian
profesional seorang CFP berlisensi
II. Jelaskan kepada klien bahwa sumber yang dimaksud tidak ada
III. Sarankan klien untuk menghubungi seorang pengacara
IV. Menghubungi konsultan pajak tersebut
A. IV saja
B. I & III
C. II & IV
D. I, II &III
Pertanyaan 3
John dan Mary Meyers memiliki kekayaan sejumlah US$ 900.000, termasuk polis asuransi
jiwa senilai US$ 250.000 dengan John sebagai tertanggung. Keluarga Meyers memiliki 2
orang anak. John menghendaki Mary sebagai yang ditunjuk untuk menerima penghasilan dari
polis tersebut apabila ia meninggal, akan tetapi ia juga menghendaki agar kedua anaknya
kelak menerima penghasilan tersebut apabila sang istri meninggal dikemudian hari. John dan
Mary telah membuat surat wasiat yang berisikan unified credit trusts.
Bagaimana penunjukan ahliwaris yang terbaik untuk polis asuransi jiwa tersebut diatas ?
A. Istrinya, Mary
B. Kedua anaknya
C. A Charitable remainder trust
D. His testamentary trust
Pertanyaan 4
Pertanyaan berikut ini mana yang SALAH dalam hal pemilihan suatu entitas versus
perjanjian jual beli suatu pembelian silang kemitraan (a cross-purchase partnership buy-sell
agreement) yang didanai oleh asuransi?
A. Penggunaan asuransi yang ada untuk mendanai perjanjian dimaksud akan
menimbulkan suatu transfer-for-value problem, apabila perjanjian entitas dilakukan,
akan tetapi hal ini tidak akan terjadi, apabila dipergunakan suatu cross-purchase
approach.
B. Suatu pembelian silang harus dilakukan apabila para mitra bisnis yang masih hidup
berniat menjual seluruh kepentingannya selama mereka masih hidup.
XV. I. PI. ERSYLARATAERSYLARATAN SERTIFIKASI CFP 2008
23
C. Suatu pendekatan entitas (entity approach) dapat mengatasi affordability problem
yang timbul, apabila salah satu mitra bisnis jauh lebih tua dari mitra-mitra lainnya.
D. Suatu perjanjian entitas (entity agreement) akan lebih diminati, apabila mitra bisnis
dalam perjanjian tersebut terus bertambah jumlahnya.
Pertanyaan 5
Faktor dibawah ini mana yang akan merupakan indikasi terkuat menunjukkan bahwa tingkat
bunga akan meningkat ?
A. Penjualan asset dalam mata uang US Dollar oleh investor asing
B. Berkurangnya defisit pemerintah Amerika Serikat
C. Menurunnya tingkat inflasi
D. Melemahnya permintaan kredit oleh sektor swasta ekonomi di Amerika Serikat
Pertanyaan 6
Jasmine memiliki saham-saham Amalgamated Corporation yang sangat menguntungkan
baginya dan saat ini nilainya US$ 46 per saham. Ia merasa puas dengan saham-sahamnya
tersebut, akan tetapi menyadari pula bahwa segala sesuatu yang baik TIDAK akan selamanya
demikian. Apabila Jasmine bermaksud menjual sahamnya pada harga US$ 50, strategi mana
yang akan Anda sarankan kepadanya ?
A. Beli US$ 50 call option
B. Jual US$ 50 call option
C. Beli US$ 50 put option
D. Jual US$ 50 put option
Pertanyaan 7
Berdasarkan data performa beragam jenis mutual fund dibawah ini, menurut Anda fund mana
yang memiliki risk–adjusted performance yang terbaik apabila risk-free of return 5,7% ?
Fund
Average Annual
Return
Standard Deviationof
Annual Return Beta
A .0782 .0760 .950
B .1287 .1575 1.250
C .1034 .1874 0.857
D .0750 .0810 0.300
A. Fund B, oleh karena annual return paling tinggi
XV. I. PI. ERSYLARATAERSYLARATAN SERTIFIKASI CFP 2008
24
B. Fund A, oleh karena standard deviation paling rendah
C. Fund C, oleh karena rasio Sharpe paling rendah
D. Fund D, oleh karena rasio Treynor paling tinggi
E. Fund A, oleh karena rasio Treynor paling rendah
Pertanyaan 8
Sam, usia 95 tahun, mengalihkan saham kepemilikannya senilai US$ 600.000 ke produk
irrevocable trust. Sam menetapkan bahwa penghasilan dari trust tersebut dibayarkan
kepadanya selama ia masih hidup dan selanjutnya apabila ia meninggal, penghasilan tersebut
dibayarkan kepada saudara perempuannya. Ketentuan yang berlaku dalam trust tidak
memungkinkan Sam untuk mengubah ahli waris yang ditunjuk. Apabila Sam meninggal
setahun kemudian dari sekarang, dan pada waktu itu nilai asset trust mencapai US$ 650.000,
berapa jumlah trust yang akan masuk dalam kekayaan bruto Sam ?
A. US$ 0, oleh karena Sam tidak dapat merubah ahli waris yang ditunjuk
B. US$ 25.000, oleh karena unified credit yang dimiliki Sam
C. US$ 650.000, oleh karena Sam berhak menerima penghasilan dari trust selama
hidupnya
D. US$ 600.000, oleh karena Sam memiliki irrevocable trust
Pertanyaan 9
Besarnya manfaat pensiun maksimum yang akan diterima oleh seorang peserta dengan
manfaat pasti tergantung dari :
A. Perhitungan actuarial awal berdasarkan formula plan yang bersangkutan
B. Jumlah iuran yang telah ditetapkan sesuai dengan manfaat pasti yang dituju
C. Adanya tambahan tahunan maksimum sejumlah tertentu
D. Jumlah uang yang akan diterima peserta pada usia pensiun
E. Nilai sekarang dari target benefit yang ditentukan secara aktuarial
Pertanyaan 10
Jenis asuransi jiwa terbaik bagi sepasang suami istri usia 50 tahun dengan asset non-likuid
yang dimaksud untuk pembayaran federal estate taxes adalah :
A. Asuransi seumur hidup perorangan yang dimiliki oleh masing-masing pasangan atas
dasar kepemilikan silang (an individual whole-life policy on each spouse on crossownership
basis)
XV. I. PI. ERSYLARATAERSYLARATAN SERTIFIKASI CFP 2008
25
B. Asuransi bersama atas kedua pasangan, dimana manfaat asuransi akan dibayarkan
segera pada saat salah satu tertanggung meninggal (a joint first-to-die life insurance
policy owned jointly).
C. Asuransi bersama atas kedua pasangan yang dimiliki oleh pasangan dengan kekayaan
lebih besar, dimana manfaat asuransi akan dibayarkan pada saat tertanggung terakhir
meninggal (a joint last-to-die life insurance policy owned by the spouse with the
larger estate)
D. Asuransi bersama atas kedua pasangan yang dimiliki oleh pasangan dengan kekayaan
lebih sedikit, dimana manfaat asuransi akan dibayarkan pada saat tertanggung
terakhir meninggal (a joint and last-to-die life insurance policy owned by the spouse
with the smaller estate)
E. Asuransi bersama atas kedua pasangan yang dimiliki oleh suatu irrevocable trust,
dimana manfaat asuransi akan dibayarkan pada saat tertanggung terakhir meninggal
(a joint and last-to-die life insurance policy owned by an irrevocable trust)
Jawaban
1. D
2. B
3. D
4. A
5. A
6. B
7. D
8. C
9. D
10. E
XVII. I. PI. ERSERSYLARATAN SERTIFIKASI CFP 2008 Lampiran 4
26
Lampiran 4 – Tata Tertib Ujian
Ketentuan Umum
1. Calon diwajibkan hadir tepat pada waktu dan tempat ujian yang telah dijadwalkan.
2. Kalkulator yang dibawa masuk kedalam ruang ujian akan diperiksa oleh pengawas ujian
dan harus sesuai dengan persyaratan yang ditetapkan oleh FPSB Indonesia.
3. Calon tidak diperkenankan membawa kertas buram, untuk coretan gunakan lembar Soal
Ujian.
4. Sebelum memasuki ruang ujian, calon diminta untuk menonaktifkan segala bunyi yang
ada pada jam tangan, pager dan/atau handphone. Dan selama berada dalam ruang ujian,
calon juga tidak diperkenankan mempergunakan alat komunikasi dalam bentuk apapun.
5. Calon harus mempergunakan pensil 2B dalam menjawab pertanyaan-pertanyaan pilihan
ganda (multiple choice questions).
6. Tidak seorang calonpun diperkenankan masuk ke dalam ruang ujian, 30 menit setelah
ujian berlangsung.
7. Setelah ujian berlangsung lebih dari 60 menit, calon dapat meninggalkan ruang ujian
dengan seizin pengawas ujian. Namun, calon tidak diperkenankan meninggalkan ruang
ujian pada waktu 15 menit menjelang ujian berakhir.
8. Barang-barang berupa tas, buku pelajaran (textbook), catatan, kamus, agenda elektronik
maupun bahan pendidikan lainnya diletakkan didepan kelas.
9. Panitia ujian tidak bertanggung jawab atas segala kehilangan, kecurian ataupun
kerusakan yang terjadi pada barang milik perorangan selama ujian berlangsung.
10. Hanya alat tulis-menulis seperlunya, kalkulator (terbuka), formulir penerimaan serta
bukti identitas diri yang boleh ditaruh di atas meja dan barang-barang tersebut harus
terlihat dengan jelas. Barang-barang lainnya harus diletakan didepan ruang kelas.
11. Selama ujian berlangsung tidak dibenarkan untuk makan, minum ataupun merokok.
12. Setiap calon harus duduk sesuai dengan nomor kursi yang tercantum pada formulir
penerimaan, kecuali ditetapkan lain oleh pengawas ujian.
13. Selama berada dalam ruang ujian dan selama ujian berlangsung, calon harus tenang dan
duduk sepanjang waktu serta mematuhi instruksi yang diberikan oleh pengawas ujian
dengan sebaik-baiknya sampai ujian berakhir.
14. Buku pertanyaan ujian (examination question book) adalah milik FPSB Indonesia. Calon
tidak dibenarkan merobek lembar halaman buku tersebut. Dan diserahkan kembali
bersama dengan Lembar Jawaban kepada Panitia Ujian setelah selesai mengerjakan
Ujian.
XVIII. I. PI. ERSYLARATAERSYLARATAN SERTIFIKASI CFP 2008
27
Diskualifikasi
Seorang calon dapat didiskualifikasi dari ujian, apabila yang bersangkutan ternyata memiliki
hal-hal berikut di bawah ini:
1. Memperoleh masukan bahan ujian secara tidak semestinya sebelum pelaksanaan ujian;
2. Menghubungi atau berusaha menghubungi seseorang baik di dalam maupun di luar ruang
ujian selama ujian berlangsung;
3. Menyalin dari catatan, buku atau perangkat elektronik yang dibawa ke dalam ruang ujian
atau dari hasil kerja rekan calon lainnya selama ujian berlangsung;
4. Mengambil atau berusaha mengambil dari ruang ujian : bahan-bahan ujian, seperti buku
pertanyaan ujian, lembar jawaban atau halaman tertentu dari buku pertanyaan ujian;
5. Meninggalkan ruang ujian tanpa seizin pengawas ujian;
6. Membuka buku pertanyaan ujian atau sudah mulai mengerjakan soal-soal ujian sebelum
diinstruksikan, atau tetap mengerjakan soal-soal ujian atau lembar jawaban walaupun
telah diperingatkan bahwa waktu ujian telah berakhir;
7. Melakukan hal-hal yang dapat mengganggu konsentrasi calon lainnya maupun
ketenangan dalam ruang ujian;
8. Mengikuti ujian untuk dan atas nama orang lain;
9. Tidak berhasil mengikuti ketentuan umum yang berlaku dan/atau instruksi yang diberikan
oleh pengawas ujian berlangsung; atau
10. Terbukti melakukan kecurangan dalam bentuk apapun.
Bukti Identitas Diri
Pada hari berlangsungnya ujian (Sabtu dan Minggu), calon harus membawa :
 Formulir Penerimaan; dan
 KTP (Kartu Tanda Penduduk) atau
 Paspor yang masih berlaku
Calon yang tidak dapat memenuhi persyaratan identifikasi di atas dan/atau identitasnya
diragukan, tidak diperkenankan mengikuti ujian.
XVIII. I. PI. ERSYLARATAERSYLARATAN SERTIFIKASI CFP 2008
28
Kalkulator
Kalkulator yang dibawa ke dalam ruang ujian akan diperiksa oleh pengawas ujian.
Hanya kalkulator berikut di bawah ini yang dapat dipergunakan untuk mengikuti ujian
sertifikasi CFP :
Merk Model No.
Casio FC 100 / FC 200 / FC 100V / FC 200V
Hewlett-Packard 10 B II / 12C / 12C Platinum
Texas Instrument BA II Plus / BA II Plus Professional
XIX. I. PI. ERSYLARATAERSYLARATAN SERTIFIKASI CFP 2008 Lampiran 5
29
Lampiran 5 – Pemberitahuan Terkait Dengan Data Pribadi
Informasi ini dimaksudkan untuk membantu calon memahami akan hak dan kewajiban
mereka sehubungan dengan data pribadi yang disampaikannya kepada FPSB Indonesia dan
juga untuk mengetahui bagaimana caranya FPSB Indonesia mempergunakan serta
menangani data tersebut.
1. Segera setelah terdaftar sebagai calon untuk suatu ujian, calon diminta untuk
memberitahukan adanya setiap perubahan data pribadi kepada FPSB Indonesia sampai
pada waktu mereka telah menyelesaikan ujian tersebut.
2. FPSB Indonesia akan mempergunakan data pribadi tersebut untuk kepentingan di bawah
ini :
a. Mengatur pelaksanaan ujian;
b. Menyampaikan informasi mengenai ujian;
c. Memelihara data calon;
d. Menyampaikan hasil ujian kepada calon yang bersangkutan;
e. Menyampaikan informasi yang selayaknya diketahui oleh calon, menyangkut
masalah kursus, ujian, produk, maupun pelayanan yang diberikan oleh FPSB
Indonesia;
f. Analisa penelitian atau statistik; dan
g. Kepentingan lainnya yang terkait
3. FPSB Indonesia akan menjaga kerahasiaan data pribadi setiap calon, namun dalam
melaksanakan tugasnya FPSB Indonesia dapat—sepanjang tidak bertentangan dengan
hukum—melakukan perbandingan, penyesuaian, pengalihan atau perubahan data calon
dengan data yang telah dimilikinya atau yang diperoleh sesudah itu oleh FPSB Indonesia
baik untuk kepentingan pendataan maupun kepentingan lainnya.
4. Calon berhak untuk meminta akses atau koreksi atas setiap data pribadi yang pernah
disampaikannya, sesuai dengan ketentuan dan batasan yang berlaku. Namun perlu dicatat
bahwa lembar jawaban yang dipergunakan calon pada waktu ujian (yang kemungkinan
mencantumkan data pribadi) akan dimusnahkan 6 bulan kemudian setelah tanggal
pelaksanaan ujian yang bersangkutan.
5. FPSB Indonesia berhak untuk membebankan biaya proses yang wajar bagi setiap
permintaan akses data.
6. Calon yang menghendaki akses atau koreksi data dapat mengajukan pendaftaran tertulis
kepada FPSB Indonesia.
7. Calon yang tidak menghendaki informasi apapun mengenai kursus atau ujian yang
diselenggarakan oleh FPSB Indonesia diminta untuk menyampaikan secara tertulis
kepada FPSB Indonesia.
*******
XX. I. PI. ERSYLARATAERSYLARATAN SERTIFIKASI CFP 2008 Lampiran 6
30
Lampiran 6 – Jadwal Ujian CFP 2008
Jadwal Ujian CFP April 2008
Hari I, Sabtu 26 April 2008:
09.00 – 11.00 : CFP 1 (Manajemen Risiko dan Perencanaan Asuransi)
12.30 – 14.30 : CFP 2 (Perencanaan Investasi)
15.00 – 17.00 : CFP 3 (Perencanaan Hari Tua, Pajak dan Distribusi Kekayaan)
Hari II, Minggu 27 April 2008:
09.00 – 13.00 : CFP 4 (Praktek Perencanaan Keuangan – Studi Kasus)
Jadwal Ujian CFP Juli 2008
Hari Sabtu 26 Juli 2008:
09.00 – 11.00 : CFP 1 (Manajemen Risiko dan Perencanaan Asuransi)
12.30 – 14.30 : CFP 2 (Perencanaan Investasi)
15.00 – 17.00 : CFP 3 (Perencanaan Hari Tua, Pajak dan Distribusi Kekayaan)
Jadwal Ujian CFP Oktober 2008
Hari I, Sabtu 25 Oktober 2008:
09.00 – 11.00 : CFP 1 (Manajemen Risiko dan Perencanaan Asuransi)
12.30 – 14.30 : CFP 2 (Perencanaan Investasi)
15.00 – 17.00 : CFP 3 (Perencanaan Hari Tua, Pajak dan Distribusi Kekayaan)
Hari II, Minggu 26 Oktober 2008:
09.00 – 13.00 : CFP 4 (Praktek Perencanaan Keuangan – Studi Kasus)
1 of 2
Gedung S Wijoyo, 4th floor
Jl. Jend. Sudirman no. 71, Jakarta 12190, Indonesia
Phone : (62-21) 7087 2149, 7087 2150 Fax.: (62-21) 527 1305
Email : exam@fpsbindonesia.org Website : http://www.fpsbindonesia.org
FORMULIR PENDAFTARAN – UJIAN SERTIFIKASI CFP
Harap tulis dengan HURUF CETAK dan tandai dengan ‘’ atau coret bila tidak sesuai.
Lampiran 7 – Formulir Pendaftaran
Data pribadi :
Nama : (L / P)
Tempat & Tgl. Lahir : /
KTP No.: /Passport No.:
Warganegara : Indonesia Lainnya, yaitu :
Perusahaan:
Jabatan:____________________________________ Dept: ________________________________
Alamat Kantor :
________________________________________________email : _______________________________
Tel.: ____________________________________________Fax: __________________________________
Alamat Rumah :
________________________________________________email : _______________________________
Tel. dan HP: ____________________/________________________Fax: _________________________
Latar belakang pendidikan :
* Pendidikan akademis:
S1 Universitas /Fakultas: __________________/_________________ Lulus Tahun : _____
S2 Universitas /Fakultas: __________________/__________________ Lulus Tahun : _____
S3 Universitas /Fakultas: _________________/___________________ Lulus Tahun : _____
Lainnya, : ___________ , jelaskan _________________________________________________
* Gelar professional :
ChFC CLU CFA CPA Lainnya, jelaskan : ____________________
Tahun :________________
2 of 2
Gedung S Wijoyo, 4th floor
Jl. Jend. Sudirman no. 71, Jakarta 12190, Indonesia
Phone : (62-21) 7087 2149, 7087 2150 Fax.: (62-21) 527 1305
Email : exam@fpsbindonesia.org Website : http://www.fpsbindonesia.org
Harap tandai dengan ‘’ bila telah mengikuti modul pendidikan sebagai berikut :
Fundamental of Financial Planning, di _________________________________ tahun : ____
Investment Planning, di _______________________________________________ tahun : ____
Risk Management & Insurance Planning, di ____________________________ tahun : ____
Retirement, Tax & Estate Planning, di __________________________________ tahun : ____
Pengalaman kerja 5 tahun terakhir :
Nama Perusahaan: Jabatan Terakhir : Periode Kerja:
Total pengalaman kerja: _______tahun.
Bersama ini saya mendaftarkan diri untuk mengikuti ujian:
Saya menyatakan bahwa saya telah membaca dan mengerti persyaratan dan
deskripsi Ujian Sertifikasi CFP. Saya menyatakan bahwa data yang saya sampaikan
adalah yang sebenar-benarnya.
Saya lampirkan 2 pasphoto ukuran 3 x 4, foto kopi identitas, ijasah pendidikan
terakhir/sertifikat, bukti telah menyelesaikan pendidikan financial planning dari
lembaga pendidikan yang bekerjasama dengan FPSB Indonesia dan kartu
nama.
Saya mengijinkan FPSB Indonesia untuk melakukan upaya pengecekan atas
dokumen yang saya kirimkan.
Saya setuju bahwa FPSB Indonesia berhak untuk tidak menyetujui pendaftaran ujian
sertifikasi CFP saya apabila saya tidak dapat memenuhi seluruh persyaratan ujian yang
ditentukan oleh FPSB Indonesia.
_____________________________ _________________________
Tandatangan Pendaftar Tanggal
• Biaya pendaftaran dan ujian harus disampaikan dalam bentuk Cek atau Transfer ke:
Bank Panin Cab. Palmerah,
No. Rekening: 140.5.0198.91
a.n. Yayasan Standarisasi Perencana Keuangan Indonesia.
Jenis Ujian Biaya
CFP 1: Manajemen Risiko dan Perencanaan Asuransi
CFP 2: Perencanaan Investasi
CFP 3: Perencanaan Hari Tua, Pajak dan Distribusi Kekayaan
CFP 4: Praktek Perencanaan Keuangan – Ujian Studi Kasus
Rp. 400.000
Rp. 400.000
Rp. 400.000
Rp. 1.000.000
Total Rp.

pengantar ke algoritma


Bab 1_Pengantar ke Algoritma 1
1
Pengantar ke Algoritma
1.1 Pendahuluan
omputer (hardware) dibuat sebagai alat bantu untuk menyelesaikan masalah.
Permasalahan apa pun dapat diselesaikan oleh komputer asalkan langkahlangkah
penyelesaiannya disediakan oleh oleh manusia (brainware). Dengan
kata lain, manusia menulis program (software) yang berisi urutan langkah-langkah
penyelesaian masalah, lalu proram tersebut “dimasukkan” ke dalam komputer. Dalam
hal ini, komputer hanya bertindak menjalankan perintah-perintah yang tertulis di dalam
program tersebut. Sebenarnya manusia sendiri mampu melaksanakan perintah- perintah
tersebut, tetapi komputer mempunyai kelebihan dibandingkan manusia. Komputer
adalah benda mati, jadi ia tidak mengenal lelah dan bosan. Komputer mampu
mengerjakan perintah yang banyak sekalipun, selain itu ia juga mampu mengerjakan
suatu perintah yang sama berulang kali, 100 kali, sejuta kali, atau berapa kalipun yang
manusia perintahkan. Manusia suka pelupa, sedangkan komputer tidak. Komputer
memiliki memori yang besar sehingga ia mampu menyimpan data dan informasi dalam
volume yang banyak.
Perhatikan paragraf di at as kembali. Ketiga kata yang disebutkan: hardware, software,
dan brainware, adalah tiga komponen utama sistem komputer. Komputer baru
bermanfaat jika ia diprogram. Sebagai ilustrasi sederhana saja, misalkan anda ingin
menggunakan komputer untuk mengurutkan sekumpulan nilai. Permasalahan pengurutan (sorting)
banyak ditemukan dalam kehidupan sehari-hari. Kita lebih mudah membaca data yang terurut
daripada data yang tersusun secara acak. Data yang terurut memudahkan kita mencari data tertentu
(misalnya mencari nama di dalam katalog buku telepon). Data yang terurut juga memudahkan kita
menentukan ranking (misalnya dalam menyeleksi siswa baru berdasarkan nilai tes masuk). Jika
data yang diurutkan hanya sedikit (misalnya hanya 10 buah data), tentu komputer tidak terlalu
diperlukan. Manusia sendiri mampu mengurutkannya secara manual. Bagiamana jika data yang
diurutkan jumlahnya sangat banyak (misalnya 10.000 sampai satu juta data)? Tentu manusia
K
2 Algoritma dan Pemrograman
mampu juga melakukannya, tetapi mungkin dibutuhkan waktu yang cukup lama, ketelitian,
kesabaran, dan sebagainya. Disinilah peran komputer membantu manusia untuk melakukan
pengurutan tersebut. Seperti yang disebutkan di paragraf pertama, komputer mampu melakukan
perintah yang diberikan tanpa mengenal lelah dan bosan namun tetap memberikan hasil pekerjaan
yang teliti dalam waktu yang relatif sangat cepat.
Coba anda pikirkan, bagaimana cara anda mengurutkan sejumlah data? Taruhlah anda punya
setumpuk kartu yang diberi nomor 1 sampai 50. Kartu tersebut semula tersusun acak, dan
sekarang anda perlu mengurutkannya kembali dari nomor kecil ke nomor besar (nomor kecil di
atas dan nomor besar di bawah). Secara tradisional, langkah-langkah yang anda lakukan adalah
mencari kartu dengan nomor terbesar (50), lalu meletakkannya paling bawah. Selanjutnya, cari
kartu dengan nomor terbesar kedua (49), lalu letakkan di atas kartu pertama. Begitu seterusnya,
anda mencari kartu dengan nomor terbesar ketiga, terbesar keempat, sampai akhirnya seluruh
kartu sudah terurut dengan nomor kecil di atas dan nomor besar di bawah. Sebagai catatan, anda
juga melakukan cara yang berkebalikan, yaitu cari kartu dengan nomor terkecil (1), lalu letakkan
pada posisi pertama. Selanjutnya kartu dengan nomor terkecil kedua (2), lalu letakkan di bawah
kartu pertama. Begitu seterusnya, anda mencari kartu dengan nomor terkecil ketiga, terkecil
keempat, sampai akhirnya seluruh kartu sudah terurut dengan nomor kecil di atas dan nomor besar
di bawah.
Sekarang, mari kita tuliskan langkah-langkah pengurutan 50 buah kartu tersebut sebagai berikut:
Langkah 1: Cari kartu dengan nomor terbesar
Langkah 2: Tempatkan kartu tersebut pada posisi paling bawah (posisi 50)
Langkah 3: Cari kartu dengan nomor terbesar kedua
Langkah 4: Tempatkan kartu tersebut pada posisi 49
Langkah 5: Cari katu dengan nomor terbesar ketiga
Langkah 6: Tempatkan kartu tersebut pada posisi 48
Langkah 8: Cari katu dengan nomor terbesar keempat
Langkah 9: Tempatkan kartu tersebut pada posisi 47
… (dst)
Perhatikanlah bahwa sebenarnya di dalam langkah-langkah penyelesaian di atas hanya ada dua
perintah, yaitu mencari kartu dengan nomor terbesar dan menempatkan kartu tesrebut pada posisi
yang benar. Kedua perintah ini diulang berkali-kali tetapi dengan acuan yang berbeda (kedua,
ketiga, dan seterusnya). Langkah-langkah penyelesaian di atas dapat kita tulis lebih sederhana
sebagai berikut:
Langkah 1: Cari kartu dengan nomor terbesar
Langkah 2: Tempatkan nilai terbesar tersebut pada posisi yang tepat
Langkah 3: Ulangi Langkah 1 untuk 49 buah kartu yang lain
Secara umum, jika kita mempunyai N buah kartu, maka langkah-langkah pengurutannya dapat
dibuat lebih umum sebagai berikut:
Langkah 1: Cari kartu dengan nomor terbesar
Langkah 2: Tempatkan nilai terbesar tersebut pada posisi yang tepat
Langkah 3: Ulangi Langkah 1 untuk N – 1 buah kartu yang lain
Perhatikan bahwa Langkah 1 masih perlu dirinci lagi menjadi langkah-langkah yang lebih
primitif. Hal ini akan dibahas di dalam Bab 2 nanti.
Bab 1_Pengantar ke Algoritma 3
Ide pengurutan tumpukan kartu dengan cara di atas mengilahmi orang untuk menulis
program pengurutan sekumpulan data dengan bantuan komputer. Data yang akan diurutkan
harus dimasukkan dulu ke dalam memori komputer dengan cara “pembacaan”, selanjutnya
data tersebut diurut dengan langkah-langkah yang sudah dijelaskan di atas. Agar program
dapat dilaksanakan oleh komputer, maka program tersebut harus ditulis dalam bahasa
komputer khusus. Bahasa komputer yang digunakan dalam menulis program dinamakan
bahasa pemrograman. Orang yang membuat program komputer disebut pemrogram, dan
kegiatan merancang dan menulis program disebut pemrograman.
Salah satu dari sekian banyak bahasa pemrograman yang tersedia saat ini adalah Bahasa
Pascal. Algoritma 1.1 di bawah ini adalah program yang ditulis dalam Bahasa Pascal untuk
melakukan pengurutan sekumpulan nilai ujian mahasiswa. Data nilai ujian mahasiswa
dibaca dari papan ketik (keyboard), lalu diurutkan, dan hasil pengurutan dicetak ke layar
peraga (monitor). Untuk sementara ini anda tidak perlu memikirkan kenapa programnya
demikian, karena inilah materi yang akan anda pelajari di dalam buku algoritma ini. Jadi,
bersabar dululah, yang penting saat ini adalah anda mengetahui contoh rupa sebuah
program komputer.
program PENGURUTAN;
{ Program untuk mengurutkan nilai ujian sejumlah mahasiswa }
const
Nmaks = 1000; { jumlah maksimum data }
var
Nilai : array[1..Nmaks] of integer; { tempat menyimpan data }
j,k,temp, N, Imaks : integer;
begin
{baca data nilai ujian N orang mahasiswa}
read(N);
for j:=1 to N do
readln(Nilai[j]);
{endfor}
{urutkan data dengan langkah-langkah berikut:}
for j:=1 to N-1 do { ulangi sebanyak N – 1 kali }
begin
{cari nilai terbesar }
Imaks:=j;
for k:=j+1 to N do
if Nilai[k] > Nilai[j] then
Imaks:=k;
{endif}
{endfor}
{tempatkan nilai terbesar pada posisi yang tepat }
temp:=Nilai[j];
Nilai[j]:=Nilai[Imaks];
Nilai[Imaks]:=temp;
end; {for}
{ tuliskan nilai yang sudah terurut!}
for j:=1 to N do
writeln(Nilai[j]);
{endfor}
end.
Algoritma 1.1 Program pengurutan nilai ujian N orang mahasiswa
4 Algoritma dan Pemrograman
1.2 Program Komputer dan Algoritma
Anda sudah melihat contoh sebuah program komputer untuk menyelesaikan masalah
pengurutan. Program komputer berisi urutan langkah-langkah penyelesaian masalah secara
sistematis dan ditulis dalam bahasa pemrograman tertentu (pada contoh di atas Bahasa
Pascal). Urutan langkah-langkah penyelesaian masalah inilah yang dinamakan algoritma.
Ada banyak definisi algoritma yang dijumpai di berbagai literatur, namun definisi yang
umum adalah sebagai berikut:
Definisi:
Algoritma adalah urutan logis langkah-langkah penyelesaian masalah.
Jadi, program komputer pada hakikatnya adalah realisasi teknis dari sebuah algoritma.
Disebut realisasi teknis karena algoritma dikodekan ke dalam bahasa pemroraman tertentu.
Kita dapat menuliskan kembali algoritma dari program pengurutan di atas sebagai berikut
ini (tidak termasuk pembacaan data dan penulisan hasi pengurutan):
PROGRAM Pengurutan
Program untuk mengurutkan nilai ujian sejumlah mahasiswa
ALGORITMA:
1. Cari nilai terbesar di antara N buah data
2. Tempatkan nilai terbesar tersebut pada posisi yang tepat
3. Ulangi dari langkah 1 untuk N – 1 buah data yang lain
Sejarah kata “algoritma”
Ditinjau dari asal usul kata, kata algoritma sendiri mempunyai sejarah yang aneh. Kata ini
tidak muncul di dalam kamus Webster sampai akhir tahun 1957. Orang hanya menemukan
kata algorism yang berarti proses menghitung dengan angka Arab [KNU73]. Anda
dikatakan algorist jika anda menggunakan angka Arab. Para ahli bahasa berusaha
menemukan asal kata algorism ini namun hasilnya kurang memuaskan. Akhirnya para ahli
sejarah matematika menemukan asal mula kata tersebut. Kata algorism berasal dari nama
penulis buku Arab yang terkenal, yaitu Abu Ja’far Muhammad ibnu Musa al-Khuwarizmi
(al-Khuwarizmi dibaca orang Barat menjadi algorism). Al-Khuwarizmi menulis buku yang
berjudul Kitab al jabar wal-muqabala, yang artinya “Buku pemugaran dan pengurangan” (The
book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata
“aljabar” (algebra). Perubahan dari kata algorism menjadi algorithm muncul karena kata
algorism sering dikelirukan dengan arithmetic, sehingga akhiran -sm berubah menjadi -
thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang sudah biasa/ lumrah,
maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan
(komputasi) secara umum, sehingga kehilangan makna aslinya [PAR95]. Dalam bahasa
Indonesia, kata algorithm diserap menjadi algoritma.
Bab 1_Pengantar ke Algoritma 5
(a)
(b)
Gambar 1.1
(a) Sketsa wajah al-Khuwarizmi, (b) al-Khuwarizmi dalam sebuah perangko (?).
Pada tahun 1950, kata algoritma sering dihubungkan dengan “algoritma Euclidean”
(Euclid’s algorithm), yaitu proses untuk menemukan pembagi bersama terbesar (common
greatest divisor atau gcd), dari dua buah bilangan bulat, m dan n [KNU73]. Pembagi
bersama terbesar dari dua buah bilangan bulat tak-negatif adalah bilangan bulat positif
terbesar yang habis membagi kedua bilangan tersebut. Misalnya, m = 80 dan n = 12. Faktor
pembagi 80 adalah 1, 2, 4, 5, 8, 10, 16, 20, 40, 80, dan faktor pembagi 12 adalah 1, 2, 3, 4, 6,
12, maka gcd(80,12) = 4. Langkah-langkah mencari gcd(80, 12) dengan algoritma
Euclidean adalah sebagai berikut:
80/12 = 6, sisa 8
12/8 = 1, sisa 4
8/4 = 2 sisa 0
Karena pembagian yang terakhir menghasilkan 0, maka sisa pembagian terakhir sebelum 0,
yaitu 4, menjadi gcd(80,12). Jadi, gcd(80,12) = gcd(12,8) = gcd(8,4) = gcd(4,0)= 4. Proses
mencari gcd dari 80 dan 12 juga dapat diilustrasikan dalam diagram berikut:
80 = 6×12+ 8
12 =1×8+ 4
8 = 2 ×4 + 0
6 Algoritma dan Pemrograman
Ada beberapa versi algoritma Euclidean, salah satu versinya dituliskan di bawah ini.
PROGRAM Euclidean
Diberikan dua buah bilangan bulat tak-negatif m dan n (m ³ n). Algoritma
Euclidean mencari pembagi bersama terbesar, gcd, dari kedua bilangan
tersebut, yaitu bilangan bulat positif terbesar yang habis membagi m dan n.
ALGORITMA:
1. Jika n = 0 maka
m adalah jawabannya;
stop.
tetapi jika n ¹ 0,
lanjutkan ke langkah 2.
2. Bagilah m dengan n dan misalkan r adalah sisanya.
3. Ganti nilai m dengan nilai n dan nilai n dengan nilai r, lalu ulang
kembali ke langkah 1.
Algoritma 1.2 Algoritma Euclidean untuk menentukan gcd dari dua buah bilangan bulat
Dengan menggunakan m = 80 dan n = 12, maka eksekusi algoritma Euclidean untuk
mencari gcd(80,12) adalah sebagai berikut:
1(i) Karena n = 12 ¹ 0, maka lanjutkan ke langkah 2(1)
2(i) Hitung m/n = 80/12 = 6, sisanya r = 8
3(i) Nilai mbaru= nlama= 12 dan nbaru= r = 8. Lanjut ke langkah 1(2).
1(ii) Karena n = 8 ¹ 0, maka lanjutkan ke langkah 2(2)
2(ii) Hitung m/n = 12/8 = 1, sisanya r = 4.
3(ii) Nilai mbaru= nlama= 8 dan nbaru=r = 4. Lanjut ke langkah 1(3).
1(iii) Karena n = 4 ¹ 0, maka lanjutkan ke langkah 2(3)
2(iii) Hitung m/n = 8/4 = 2, sisanya r = 0.
3(iii) Nilai mbaru= nlama= 4 dan nbaru= r = 0. Lanjut ke langkah 1(4).
1(iv) Karena r = 0, maka n = 4 adalah jawabannya. Stop.
Jadi, pbt(80,12) = 4.
Keterangan: angka romawi di dalam kurung, yaitu (i), (ii), (iii) dan iv), masing-masing
menyatakan perulangan yang ke-1, ke-2, ke-3, dan ke-4 dari instruksi yang dijalankan.
Satu hal yang perlu dicatat, langkah-langkah penyelesaian masalah di dalam algoritma haruslah
menyatakan urutan yang logis. Langkah-langkah yang logis berarti bahwa hasil dari urutan
langkah-langkah tersebut menghasilkan penyelesaian yang benar. Langkah-langkah yang
tidak logis dapat memberikan hasil yang salah. Contoh 1.1 dan Contoh 1.2 berikut ini
memperlihatkan bahwa urutan langkah yang logis menentukan kebenaran algoritma.
Contoh 1.1 (Mempertukarkan isi dua buah ember) MokMkkem
Tinjau sebuah persoalan sederhana yaitu persoalan mempertukarkan isi dari dua buah
ember, sebut ember A dan B. Ember A berisi air yang berwarna merah, sedangkan ember B
berisi air berwarna biru (Gambar 1.2). Kita ingin mempertukarkan isi kedua ember itu
sedemikian sehingga ember A akan berisi air berwarna biru dan ember B berisi air
berwarna merah.
Bab 1_Pengantar ke Algoritma 7
Ember A Ember B
Gambar 1.2
Dua buah ember berisi air yang berbeda warna.
Ember A berisi air berwarna merah, ember B berisi air berwarna biru.
Penyelesaian:
Misalkan seseorang menuliskan langkah-langkah pertukaran isi kedua ember tersebut ke
dalam program Tukar_Isi dengan algoritma sebagai berikut:
PROGRAM Tukar_Isi
Diberikan dua buah ember, A dan B; ember A berisi air berwarna merah,
ember B berisi air berwarna biru. Pertukarkan isi kedua ember itu
sedemikian sehingga ember A akan berisi air berwarna biru dan ember B
berisi air berwarna merah.
ALGORITMA:
1. Tuangkan air dari ember A ke dalam ember B.
2. Tuangkan air dari ember B ke dalam ember A.
Perhatikan bahwa algoritma Tukar_Isi di atas tidak akan menghasilkan pertukaran yang
benar. Langkah-langkahnya tidak logis. Alih-alih mempertukarkan, yang terjadi adalah
percampuran keduanya. Dengan kata lain, algoritma Tukar_Isi tersebut salah!
Agar dapat melakukan pertukaran yang benar, kita memerlukan sebuah ember tambahan
yang diperlukan sebagai tempat penampungan sementara. Namakan ember tambahan
tersebut ember C. Dengan menggunakan ember C ini, algoritma mempertukarkan isi dua
buah ember yang benar adalah seperti Algoritma 1.3 berikut ini:
PROGRAM Tukar_Isi
Diberikan dua buah ember, A dan B; ember A berisi air berwarna merah,
ember B berisi air berwarna biru. Pertukarkan isi kedua ember itu
sedemikian sehingga ember A berisi air berwarna biru dan ember B berisi
air berwarna merah.
ALGORITMA:
1. Tuangkan air dari ember A ke dalam ember C.
2. Tuangkan air dari ember B ke dalam ember A.
3. Tuangkan air dari ember C ke dalam ember B.
Algoritma 1.3 Mempertukarkan isi dari dua buah ember
8 Algoritma dan Pemrograman
Sekarang, dengan algoritma Tukar_Isi yang sudah diperbaiki ini, isi ember A dan ember
B dapat dipertukarkan dengan benar. Pada akhir algoritma, ember A berisi ai berwarna biru dan
ember B berisi air berwarna merah. Proses pertukaran tersebut diilustrasikan pada Gambar 1.3.
Keadaan awal sebelum pertukaran:
Ember A Ember B Ember C
Proses Pertukaran:
1. Tuangkan air dari ember A ke dalam ember C
Ember A Ember B Ember C
2. Tuangkan air dari ember B ke dalam ember A
Ember A Ember B Ember C
3. Tuangkan air dari ember C ke dalam ember B
Ember A Ember B Ember C
Keadaan Akhir Setelah Pertukaran:
Ember A Ember B Ember C
Gambar 1.2
Proses pertukaran isi ember A dan ember B, menggunakan ember bantu C.
Setelah pertukaran, ember A berisi air dari ember B semula, demikian pula sebaliknya.
Bab 1_Pengantar ke Algoritma 9
Sisi A: P, S, K, Y
Sisi B:
Keadaan Awal
Sisi A:
Keadaan Akhir
Sisi B: P, S, K, Y
Contoh 1.2 (Menyeberangkan barang bawaan) MokMkkem
Misalkan seorang pemuda tiba di tepi sebuah sungai. Pemuda tersebut membawa seekor
kambing, seekor srigala, dan sekeranjang sayur. Mereka bermaksud hendak menyeberangi
sungai. Pemuda itu menemukan sebuah perahu kecil yang hanya dapat memuat satu
bawaannya setiap kali menyeberang. Situasinya dipersulit dengan kenyataan bahwa srigala
tidak dapat ditinggal berdua dengan kambing (karena srigala akan memangsa kambing)
atau kambing tidak dapat ditinggal berdua dengan sekeranjang sayur (karena kambing akan
memakan sayur). Buatlah algoritma untuk menyeberangkan pemuda dan seluruh bawaannya
itu sehingga mereka sampai ke seberang sungai dengan selamat.
Penyelesaian:
Misalkan sisi sungai kita namakan A dan sisi sungai seberangnya kita namakan B. Keadaan
awalnya, di sisi A ada pemuda (P), srigala (S), kambing (K), dan sayur (Y). Keadaan akhir
yang kita inginkan adalah di sisi B ada pemuda (P), srigala (S), kambing (K), dan sayur (Y).
Gambar 1.3 memperlihatkan keadaan yang dimaksud.
Gambar 1.3
Keadaan awal dan keadaan akhir proses penyeberangan pemuda (P) dan bawaannya yang terdiri dari
srigala (S), kambing (K), dan sekeranjang sayur (Y). Perahu hanya dapat memuat satu bawaan saja
pada setiap kali menyeberang. Srigala tidak dapat ditinggalkan bersama kambing, begitu pula kambing
tidak dapat ditinggalkan bersama sayur.
Algoritma menyeberangkan seluruh bawaan tersebut adalah berupa runtunan langkah
seperti dirunjukkan pada Algoritma 1.4.
10 Algoritma dan Pemrograman
PROGRAM Menyeberangi_Sungai
Program untuk menyeberangkan pemuda (P) dan tiga barang bawaannya: srigala
(S), kambing (K), dan sekeranjang sayur (Y) dengan sebuah perahu kecil
yang hanya dapat memuat 2 item (pemuda dan salah satu bawaannya). Srigala
tidak dapat ditinggal berdua dengan kambing (karena srigala akan memangsa
kambing) atau kambing tidak dapat ditinggal berdua dengan sekeranjang
sayur (karena kambing akan memakan sayur).
ALGORITMA:
{ sisi A: (P,S,K,Y) sisi B: (-,-,-,-) }
1. Pemuda menyeberangkan kambing dari sisi A ke sisi B.
{ sisi A: (-,S,K,Y) sisi B: (P,-,K,-) }
2. Pemuda menyeberang sendiri dari B ke A.
{ sisi A: (P,S,-,Y) sisi B: (-,-,K,-) }
3. Pemuda menyeberangkan srigala dari sisi A ke sisi B.
{ sisi A: (-,-,-,Y) sisi B: (P,S,K,-) }
4. Pemuda menyeberangkan kambing dari sisi B ke sisi A.
{ sisi A: (P,-,K,Y) sisi B: (-,S,-,-) }
5. Pemuda menyeberangkan sayur dari sisi A ke sisi B.
{ sisi A: (-,-,K,-) sisi B: (P,S,-,Y) }
6. Pemuda menyeberang sendiri dari B ke A.
{ sisi A: (P,-,K,-) sisi B: (-,S,-,Y) }
3. Pemuda menyeberangkan kambing dari sisi A ke sisi B.
{ sisi A: (-,-,-,-) sisi B: (P,S,K,Y) }
Algoritma 1.4 Menyeberangkan tiga barang bawaan dengan perahu kecil
Keterangan:
Kalimat di dalam pasangan kurung kurawal { dan } disebut komentar (comment).
Komentar bukan bagian dari langkah penyelesaian di dalam algoritma. Namun, komentar
diperlukan untuk mempermudah membaca dan memahami algoritma. Komentar berisi
penjelasan tambahan tentang segala sesuatu di dalam algoritma.
Ketiga contoh algoritma yang sudah kita bicarakan: algoritma Euclidean, algoritma
mempertukarkan isi dua buah ember, dan algoritma menyeberangkan barang bawaan
memberikan dua pesan penting. Pertama, sebuah algoritma harus benar. Kedua, algoritma harus
berhenti, dan setelah berhenti, algoritma memberi hasil yang benar.
Menurut Donald E. Knuth dalam bukunya yang berjudul The Art of Computer Programming
[KNU73], algoritma harus mempunyai lima ciri penting:
1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas. Sebagai
contoh, tinjau kembali algoritma Euclidean. Pada langkah 1, jika n = 0, algoritma
berhenti. Jika n ¹ 0, maka nilai n selalu berkurang sebagai akibat langkah 2 dan 3, dan
pada akhirnya nilai n = 0. Program yang tidak pernah berhenti mengindikasikan bahwa
program tesrebut berisi algoritma yang salah.
2. Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguous).
Pembaca harus mengerti apa yang dimaksud dengan “m dan n adalah bilangan bulat
tak-negatif”. Contoh lainnya, pernyataan “bagilah p dengan sejumlah beberapa buah
bilangan bulat positif” dapat bermakna ganda. Berapakah yang dimaksud dengan
“berapa”? Algoritma menjadi jelas jika langkah tersebut ditulis “bagilah p dengan 10
buah bilangan bulat positif”.
Bab 1_Pengantar ke Algoritma 11
3. Algoritma memiliki nol atau lebih masukan (input). Masukan ialah besaran yang
diberikan kepada algoritma sebelum algoritma mulai bekerja. Algoritma Euclidean
mempunyai dua buah masukan, m dan n, sedangkan algoritma Tukar_Isi memiliki
masukan berupa air di dalam ember A dan air di dalam ember B.
4. Algoritma mempunyai nol atau lebih keluaran (output). Keluaran ialah besaran yang
memiliki hubungan dengan masukan. Algoritma Euclidean mempunyai satu
keluaran, yaitu n pada langkah 2, yang merupakan pembagi bersama terbesar dari
kedua masukannya. Algoritma Tukar_Isi tidak memiliki keluaran sama sekali.
5. Algoritma harus sangkil (effective). Setiap langkah harus sederhana sehingga dapat
dikerjakan dalam sejumlah waktu yang masuk akal.
1.3 Algoritma Merupakan Jantung Informatika
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer
yang diacu dalam terminologi algoritma. Dalam kehidupan sehari-haripun banyak terdapat
proses yang digambarkan dalam suatu algoritma. Cara-cara membuat kue atau masakan,
misalnya dinyatakan dalam suatu resep. Resep masakan adalah suatu algoritma, misalnya
resep membuat Otak-otak Ikan Bandeng (dikutip dari Tabloid Nova 25 Agustus 1996)
seperti dapat anda baca pada Gambar 1.4.
Pada setiap resep selalu ada urutan langkah-langkah membuat masakan. Ibu-ibu yang
mencoba resep suatu masakan akan membaca satu per satu langkah pembuatannya, lalu ia
mengerjakan proses sesuai yang ia baca. Secara umum, pihak (benda) yang mengerjakan
proses disebut pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer, robot,
atau alat-alat mekanik/elektronik lainnya. Pemroses melakukan suatu proses dengan
melaksanakan atau mengeksekusi algoritma yang menjabarkan proses tersebut.
Melaksanakan algoritma berarti mengerjakan langkah- langkah di dalam algoritma tersebut.
Resep Otak-otak Ikan Bandeng
Bahan:
§ 2 ekor ikan bandeng ukuran kecil
§ 2 buah kentang kukus
§ 2 butir telur
§ 2 tangkai daun bawang, dirajang halus
§ 75 cc santan kental
§ 3 butir kemiri sangrai
§ 1 sendok teh ketumbar halus
§ 2 siung bawang putih
§ 3 butir bawang merah
§ 2 cabe merah tanpa biji
§ garam dan merica secukupnya
§ minyak goreng secukupnya
Cara membuat:
1. Haluskan kemiri, ketumbar, bawang putih, bawang merah, cabe merah,
garam, dan merica. Sisihkan.
2. Ambil ikan bandeng yang telah dibersihkan. Pukul-pukul dengan anak
lumpang hingga daging ikan hancur di dalam.
12 Algoritma dan Pemrograman
3. Tekuk ekor ikan ke arah atas hingga terdengar bunyi “klik” sebagai
tanda tulang telah patah.
4. Tarik tulang ke arah atas melalui bagian kepala. Keluarkan pula isi
dagingnya. Sisihkan tulang-tulang halus yang masih tersisa.
5. Giling daging ikan bersama bumbu halus. Tuangkan santan. Campur
dengan kentang kukus. Aduk rata.
6. Isikan adonan ikan ke dalam kulit bandeng. Kukus selama 20 menit.
7. Goreng hingga matang
Gambar 1.4
Resep membuat Otak -otak Ikan Bandeng adalah contoh sebuah algoritma.
Urutan langkah-langkah membuat masakan diberi nomor 1 sampai 7.
Contoh-contoh lain algoritma dalam kehidupan sehari-hari misalnya pola pakaian, panduan
praktikum, papan not balok, dan pengisian voucher pada telepon seluler ditunjukkan pada
Tabel 1.1.
Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Juru
masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu
berdasarkan papan not balok, teknisi merakit mobil berdasarkan panduan merakit. Karena itu
suatu algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Seorang
pianis tidak dapat memainkan musik bila ia tidak mengerti not balok. Menurut [GOL88],
suatu pemroses harus:
1. Mengerti setiap langkah dalam algoritma,
2. Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
Tabel 1.1
Contoh-contoh Algoritma dalam Kehidupan Sehari-hari.
Proses Algoritma Contoh Langkah dalam Algoritma
1. Membuat kue resep kue masukkan telur ke dalam
wajan,kocok sampai mengembang
2. Membuat pakaian pola pakaian gunting kain dari pinggir kiri bawah
ke arah kanan sejauh 5 cm
3. Praktikum reaksi kimia panduan
praktikum
campurkan 10 ml H2SO4 ke dalam
15 ml NaOH
4. Merakit mobil panduan
merakit
sambungkan komponen A dengan
komponen B
5. Kegiatan sehari-hari jadwal harian pukul 15.00 : tidur siang pukul
16.00 : membuat PR
6. Memainkan musik papan not
balok
not balok
7. Mengisi voucher telepon
genggam (HP)
panduan
pengisian
tekan nomor 888
masukkan nomor voucher 14 digit
Bab 1_Pengantar ke Algoritma 13
Piranti
Masukan
Unit Pemroses
Utama (CPU
Piranti
Keluaran
Memori
1.4 Mekanisme Pelaksanaan Program oleh Komputer
Secara garis besar komputer tersusun atas empat komponen utama: piranti masukan, piranti
keluaran, unit pemroses utama, dan memori (Gambar 1.5). Unit pemroses utama (Central
Processing Unit – CPU) adalah “otak” komputer, yang berfungsi mengerjakan operasioperasi
dasar seperi operasi perbandingan, operasi perhitungan, operasi membaca, dan
operasi menulis. Memori adalah komponen yang berfungsi menyimpan atau mengingatingat.
Yang disimpan di dalam memori adalah program (berisi operasi-operasi yang akan
dikerjakan oleh CPU) dan data atau informasi (sesuatu yang diolah oleh operasi-operasi).
Piranti masukan dan keluaran (I/O devices) adalah alat yang memasukkan data atau
program ke dalam memori, dan alat yang digunakan komputer untuk mengkomunikasikan
hasil-hasil aktivitasnya. Contoh piranti masukan antara lain papan ketik (keyboard),
pemindai (scanner), tetikus (mouse), joystick, dan cakram (disk). Contoh piranti keluaran
adalah layar peraga (monitor), pencetak (printer), perajah (plotter), dan cakram.
Mekanisme kerja keempat komponen di atas dapat dijelaskan sebagai berikut. Mula-mula
program dimasukkan ke dalam memori komputer. Ketika program dieksekusi (execute),
setiap perintah di dalam program yang telah tersimpan di dalam memori dikirim ke CPU.
CPU mengerjakan operasi-operasi yang bersesuaian dengan perintah tersebut. Bila suatu
perintah di dalam program meminta data masukan, maka data dibaca dari piranti masukan,
lalu dikirim ke CPU untuk operasi yang memerlukannya. Bila program menghasilkan
keluaran, maka keluaran tersebut ditulis ke piranti keluaran (misalkan dengan mencetaknya
ke layar peraga).
Gambar 1.5
Komponen-komponen utama komputer.
Komputer terdiri atas Unit Pemroses Utama ,
Memori, Piranti Masukan, dan Piranti Keluaran.
14 Algoritma dan Pemrograman
1.5 Belajar Memprogram dan Belajar Bahasa
Pemrograman
Belajar memprogram tidak sama dengan belajar bahasa pemrograman [LIE96]. Belajar
memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian
menuangkan algoritma pemecahan masalah dalam suatu notasi tertentu. Sedangkan
belajar bahasa pemrograman berarti belajar memakai suatu bahasa, aturan tata bahasanya,
instruksi-instruksinya, tata cara pengoperasian compiler-nya, dan memanfaatkan instruksiinstruksi
tersebut untuk membuat program yang ditulis hanya dalam bahasa itu saja
[LIE96].
Dalam pelajaran pemrograman, kita lebih memikirkan pada cara penyelesaian masalah
yang akan diprogram dengan menekankan pada desain atau rancangan yang mewakili
pemecahan masalah tersebut. Desain ini dibuat sedemikian sehingga independen dari
bahasa pemrograman yang kelak digunakan dan komputer yang akan menjalankan program
tesrebut. Desain berisi urutan langkah-langkah pencapaian solusi yang ditulis dalam notasinotasi
deskriptif (notasi ini kelak kita sebut notasi algoritmik). Setiap orang yang berbeda
mungkin menghasilkan rancangan program yang berbeda pula. Karena belajar memprogram
bukan belajar membuat program yang asal jadi, perlu dipikirkan membuat program dengan
menggunakan skema yang benar. Inilah titik berat dari pelajaran pemrograman.
Bila desain program sudah dibuat dengan skema yang benar, maka desain tersebut siap
dikodekan dengan notasi bahasa pemrograman agar program bisa dieksekusi oleh
komputer. Disinilah perlunya kita belajar bahasa pemrograman. Ada banyak bahasa
pemrograman yang tersedia, namun desain program dapat diterjemahkan ke bahasa apapun.
Sampai saat ini terdapat puluhan bahasa pemrograman. Kita dapat menyebutkan antara lain
bahasa rakitan (assembly), Fortran, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog,
LISP, PRG, bahasa-bahasa simulasi seperti CSMP, Simscript, GPSS, Dinamo, dan banyak
lagi. Belakangan juga muncul bahasa pemrograman baru seperti Perl dan Java. Berdasarkan
aplikasi kegunaanya, bahasa pemrograman dapat digolongkan menajdi dua kelompok:
1. Bahasa pemrograman bertujuan khusus (specific purpose programming
language). Yang termasuk kelompok ini adalah Cobol (untuk terapan bisnis dan
administrasi), Fortran (aplikasi komputasi ilmiah), bahasa assembly (aplikasi
pemrograman mesin), Prolog (aplikasi kecerdasan buatan), bahasa-bahasa simulasi,
dan sebagainya.
2. Bahasa pemrograman bertujuan umum (general purpose programming language)
yang dapat digunakan untuk berbagai aplikasi. Yang termasuk kelompok ini adalah
bahasa Pascal, Basic, dan C, C++.
Tentu saja pembagian ini tidak kaku. Bahasa-bahasa bertujuan khusus tidak berarti tidak
bisa digunakan untuk aplikasi lain. Cobol misalnya, dapat juga digunakan untuk terapan
ilmiah, hanya saja kemampuannya tentu saja terbatas. Yang jelas, bahasa-bahasa
pemrograman yang berbeda dikembangkan untuk bermacam-macam kegunaan yang
berbeda pula.
Berdasarkan “kedekatan” bahasa pemrograman apakah lebih condong ke bahasa mesin atau
ke bahasa manusia, maka bahasa pemrograman juga dapat dikelompokkan atas dua macam:
Bab 1_Pengantar ke Algoritma 15
1. Bahasa tingkat rendah. Bahasa jenis ini dirancang agar setiap instruksinya langsung
dikerjakan oleh komputer, tanpa harus melalui penerjemah (translator). Contohnya
adalah bahasa mesin (machine language). Bahasa mesin adalah sekumpulan kode
biner (0 dan 1). Setiap perintah dalam bahasa mesin langsung “dimengerti” oleh mesin
dan langsung dikerjakan. Bahasa tingkat rendah bersifat primitif, sangat sederhana,
dan relatif sulit dipahami manusia. Bahasa assembly dimasukkan ke dalam kelompok
ini karena notasi yang dipakai dalam bahasa ini merupakan bentuk “manusiawi” dari
bahasa mesin, dan untuk melaksanakan instruksinya masih diperlukan penerjemahan
(oleh assembler) ke dalam bahasa mesin. Bahasa tingkat rendah merupakan bahasa
pemrograman generasi pertama yang pernah ditulis orang.
2. Bahasa tingkat tinggi. Bahasa jenis ini membuat program menjadi lebih mudah
dipahami, lebih “manusiawi”, dan lebih dekat ke bahasa manusia (bahasa Inggris
terutama). Kelemahannya, program dalam bahasa tingkat tinggi tidak dapat langsung
dilaksanakan oleh komputer. Ia perlu diterjemahkan terlebih dahulu oleh sebuah
translator bahasa (yang disebut kompilator atau compiler) ke dalam bahasa mesin
sebelum akhirnya dieksekusi oleh CPU. Tahapan pemrograman dan pelaksanaan
program oleh komputer digambarkan pada Gambar 1.6. Contoh bahasa tingkat tinggi
adalah Pascal, PL/I, Ada, Cobol, Basic, Fortran, C, C++, dan sebagainya.
Gambar 1.6
Tahapan pelaksanaan program oleh komputer.
Catatlah bahwa batas-batas penggolongan bahasa pemrograman itu tidak selalu jelas.
Pengertian tentang apa yang dimaksud dengan bahasa tingkat tinggi seringkali berbeda
pada beberapa buku. Ada buku yang mendefinisikan bahasa tingkat tinggi dari sudut
pandang kemudahan pemakaiannya serta orientasinya yang lebih dekat ke bahasa manusia.
Les Goldschlager [GOL88] menuliskan spektrum bahasa mulai dari bahasa tingkat tinggi
(Pascal, Ada, PL/I, Cobol), bahasa tingkat menengah (Bahasa Assembly, Basic, Fortran),
Program dalam Bahasa
Tingkat Tinggi
Algoritma
Program dalam Bahasa
Mesin
Translasi
Kompilasi + linking
Interpretasi oleh CPU
Operasi
( baca, tulis, hitung, perbandingan, dsb.)
16 Algoritma dan Pemrograman
sampai bahasa tingkat rendah (bahasa mesin). Kita tidak mendebatkan perbedaan cara
pengelompokan bahasa pemrograman itu di sini, karena topik buku ini bukanlah
mempelajari bahasa pemrograman tetapi belajar memprogram.
1.6 Notasi Algoritmik
Di dalam upabab 1.5 sudah dinyatakan bahwa notasi algoritmik dibuat independen dari
spesifikasi bahasa pemrograman dan komputer yang mengeksekusinya. Notasi algoritmik
ini dapat diterjemahkan ke dalam berbagai bahasa pemrograman. Analoginya sama dengan
resep membuat kue. Sebuah resep dapat ditulis dalam bahasa manapun, bahasa Inggris,
Perancis, Indonesia, Jepang, dan sebagainya. Apapun bahasanya, kue yang dihasilkan tetap
sama, sebab algoritmanya sama (dengan catatan semua aturan pada resep diikuti). Mengapa
bisa demikian? Karena setiap juru masak (yang merupakan pemroses) mampu melakukan
operasi dasar yang sama, seperti mengocok telur, menimbang berat gula, dan sebagainya.
Jadi, resep membuat kue tidak terikat pada bahasa dan juru masak yang mengerjakannya.
Demikian pula halnya komputer. Meskipun setiap komputer berbeda teknologinya, tetapi
secara umum semua komputer dapat melakukan operasi-operasi dasar dalam
pemrograman seperti operasi pembacaan data, operasi perbandingan, operasi aritmetika,
dan sebagainya. Perkembangan teknologi komputer tidak mengubah operasi-operasi dasar
itu, yang berubah hanyalah kecepatan, biaya, atau tingkat ketelitian. Pada sisi lain, setiap
program dalam bahasa tingkat tinggi selalu diterjemahkan kedalam bahasa mesin sebelum
akhirnya dikerjakan oleh CPU. Setiap instruksi dalam bahasa mesin menyajikan operasi
dasar yang sesuai, dan menghasilkan efek netto yang sama pada setiap komputer.
Yang perlu dicatat adalah bahwa notasi algoritmik bukan notasi bahasa pemrograman,
sehingga siapa pun dapat membuat notasi algoritmik yang berbeda. Hal yang penting
mengenai notasi tersebut adalah ia mudah dibaca dan dimengerti. Selain itu, meskipun notasi
algoritmik bukan notasi baku sebagaimana pada notasi bahasa pemrograman, namun
ketaatasasan terhadap notasi perlu diperhatikan untuk menghindari kekeliruan.
Di bawah ini saya kemukakan beberapa notasi yang digunakan untuk menulis algoritma.
Masalah yang dijadikan contoh adalah menghitung pembagi bersama terbesar dengan
algoritma Euclidean (lihat bab 1.2).
1. Notasi I: menyatakan langkah-langkah algoritma dengan untaian kalimat deskriptif.
PROGRAM Euclidean
Diberikan dua buah bilangan bulat tak-negatif m dan n (m ³ n). Algoritma
Euclidean mencari pembagi bersama terbesar, gcd, dari kedua bilangan
tersebut, yaitu bilangan bulat positif terbesar yang habis membagi m dan n.
ALGORITMA:
1. Jika n = 0 maka
m adalah jawabannya;
stop.
tetapi jika n ¹ 0,
lanjutkan ke langkah 2.
2. Bagilah m dengan n dan misalkan r adalah sisanya.
3. Ganti nilai m dengan nilai n dan nilai n dengan nilai r, lalu ulang
kembali ke langkah 1.
Bab 1_Pengantar ke Algoritma 17
Mulai
Baca m dan n
n = 0
r = m MOD n
m = n
n = r
Tulis m
Selesai
Ya
Tidak
Dengan notasi bergaya kalimat ini, deskripsi setiap langkah dijelaskan dengan bahasa yang
gamblang. Proses diawali dengan kata kerja seperti ‘baca’, ‘hitung’, ‘bagi’, ‘ganti’, dan
sebagainya, sedangkan pernyataan kondisional dinyatakan dengan ‘jika … maka …’.
Secara umum, notasi ini ini relatif sukar diterjemahkan langsung ke dalam notasi bahasa
pemrograman.
2. Notasi II: menggunakan diagram alir (flow chart)
Keterangan:
1. MOD adalah operator pembagian bilangan bulat yang menghasilkan sisa hasil
pembagian. Contohnya, 9 MOD 2 = 1 karena 9 dibagi 2 = 4 dan memberikan sisa = 1.
2. Di dalam diagram alir di atas ditambahkan instruksi pembacaan nilai m dan n.
Diagram alir populer pada awal era pemrograman dengan komputer (terutama dengan
bahasa Basic, Fortran, dan Cobol). Sampai saat ini diagram alir masih banyak digunakan
orang untuk menjelaskan proses. Namun, diagram alir lebih mengambarkan aliran instruksi
di dalam program secara visual ketimbang memperlihatkan struktur program. Kotak empat
persegi panjang menyatakan proses, sedangkan pernyataan kondisional dinyatakan dengan
bentuk intan (diamond). Notasi algoritmik dengan diagram alir cocok untuk masalah yang
kecil, namun tidak cocok untuk masalah yang besar karena membutuhkan berlembar
halaman kertas. Selain itu, pengkonversian notasi algoritma ke notasi bahasa pemrograman
juga cenderung relatif sukar.
18 Algoritma dan Pemrograman
3. Notasi III: menggunakan pseudo-code
Pseudocode (pseudo artinya semu atau tidak sebenarnya) adalah notasi yang menyerupai
notasi bahasa pemrograman tingkat tinggi, khususnya Bahasa Pascal dan C. Hasil
pengamatan memperlihatkan bahwa bahasa pemrograman umumnya mempunyai notasi
yang hampir mirip untuk beberapa instruksi, seperti notasi if-then-else, while-do, repeatuntil,
read, write, dan sebagainya. Berdasarkan pengamatan tersebut, maka beberapa
penulis buku algoritma, termasuk penulis buku ini, mendefinisikan notasi algoritma yang
disebut pseudo-code itu. Tidak seperti bahasa pemrograman yang direpotkan dengan tanda
titik koma (semicolon), indeks, format keluaran, kata-kata khusus, dan sebagainya,
sembarang versi pseudocode dapat diterima asalkan perintahnya tidak membingungkan
pembaca. Keuntungan menggunakan notasi pseudo-code adalah kemudahan
mengkonversinya (lebih tepat disebut mentranslasi) ke notasi bahasa pemrograman,
karena terdapat korespondensi antara setiap pseudo-code dengan notasi bahasa
pemrograman. Korespondensi ini dapat diwujudkan dengan tabel translasi dari notasi
algoritma ke notasi bahasa pemrograman apa pun.
Algoritma Euclidean kita tulis kembali dengan menggunakan notasi pseudo-code yang
didefinisikan oleh penulis buku ini.
PROGRAM Euclidean
Program untuk mencari gcd dari dua buah bilangan bulat tak-negatif m dan n (m
³ n). gcd dari m dan n adalah bilangan bulat positif terbesar yang habis
membagi m dan n.
DEKLARASI:
m, n : integer { bilangan bulat yang akan dicari pbt-nya}
r : integer { sisa hasil bagi }
ALGORITMA:
read(m,n) { m ³ n}
while n ¹ 0 do
r ¬ m MOD n { hitung sisa hasil pembagian }
m ¬ n
n ¬ r
endwhile
{ kondisi selesai pengulangan: n = 0, maka gcd(m,n) = m }
write(m)
Kata-kata yang digarisbawahi menyatakan kata-kata kunci untuk setiap notasi pseudo-code
yang digunakan. Arti dari setiap notasi pseudo-code di atas akan anda temukan pada babbab
selanjutnya di dalam buku ini.
1.7 Pemrograman Prosedural
Algoritma berisi urutan langkah-langkah penyelesaian masalah. Ini berarti algoritma adalah
menggambarkan proses yang prosedural.
Bab 1_Pengantar ke Algoritma 19
Definisi prosedur menurut Kamus Besar Bahasa Indonesia (KBBI) :
prosedur: 1. tahap tahap kegiatan untuk menyelesaikan suatu aktivitas;
2. metode langkah demi langkah secara eksak dalam memecahkan
suatu masalah (KBB1 1988).
Pada pemrograman prosedural, program dibedakan antara bagian data dengan bagian instruksi.
Bagian instruksi terdiri atas runtunan (sequence) instruksi yang dilaksanakan satu per satu secara
berurutan oleh sebuah pemroses. Alur pelaksanaan instruksi dapat berubah karena adanya
pencabangan/kondisional. Data yang disimpan di dalam memori dimanipulasi oleh instruksi
secara beruntun. Kita katakan bahwa tahapan pelaksanaan program mengikuti pola beruntun atau
prosedural. Paradigma pemrograman seperti ini dianamakan pemrograman prosedural.
Bahasa-bahasa tingkat tinggi seperti Cobol, Basic, Pascal, Fortran, dan C mendukung
kegiatan pemrograman prosedural, karena itu mereka dinamakan juga bahasa prosedural.
Selain paradigma pemrograman prosedural, ada lagi paradigma yang lain yaitu pemrograman
berorientasi objek (Object Oriented Programming atau OOP). Paradigma pemrograman yang
disebutkan terakhir ini merupakan trend baru dan sangat populer akhir-akhir ini. Pada
paradigma OOP, data dan instruksi dibungkus (encapsulation) menjadi satu. Kesatuan ini
disebut kelas (class) dan instansiasi kelas pada saat run-time disebut objek (object). Data di
dalam objek hanya dapat diakses oleh instruksi yang ada didalam objek itu saja.
Paradigma pemrograman yang lain adalah pemrograman fungsional , pemrograman
deklaratif, dan pemrograman konkuren. Buku ini hanya menyajikan paradigma pemrograman
prosedural saja. Paradigma pemrograman yang lain di luar cakupan buku.
Soal Latihan Bab 1
1. Tuliskan beberapa contoh algoritma yang lain dalam kehidupan sehari-hari. Tuliskan
juga beberapa contoh langkah di dalam algoritmanya.
2. Tiga pasang suami istri yang sedang menempuh perjalanan sampai ke sebuah sungai.
Di situ mereka menemukan sebuah perahu kecil yang hanya bisa membawa tidak lebih
dari dua orang setiap kali menyeberang. Penyeberangan sungai dirumitkan oleh
kenyataan bahwa para suami sangat pencemburu dan tidak mau meninggalkan istriistri
mereka jika ada lelaki lain. Tulislah algoritma untuk menunjukkan bagaimana
penyeberangan itu bisa dilakukan.
3. Misalkan terdapat dua buah ember, masing-masing mempunyai volume 5 liter dan 3
liter. Tuliskan algoritma untuk memperoleh air sebanyak 1 liter dengan hanya
menggunakan kedua ember tersebut.
4. Tiga buah cakram yang masing-masing berdiameter berbeda mempunyai lubang di
titik pusatnya. Ketiga cakram tersebut dimasukkan pada sebuah batang besi A
sedemikan sehingga cakram yang berdiameter lebih besar selalu terletak di bawah
cakram yang berdiameter lebih kecil (Gambar 1.5). Tulislah algoritma untuk
memindahkan seluruh cakram tersebut batang besi B; setiap kali hanya satu cakram
yang boleh dipindahkan, tetapi pada setiap perpindahan tidak boleh ada cakram yang
lebih besar berada di atas cakram kecil. Batang besi C dapat dipakai sebagai tempat
peralihan dengan tetap memegang aturan yang telah disebutkan.
20 Algoritma dan Pemrograman
A B C
5. Pada peristiwa pemilihan kepala desa (kades), setiap warga yang mempunyai hak pilih
memilih satu di antara 4 calon kades. Kartu suara memuat foto dan nomor urut kades.
Warga mencoblos calon kades yang dipilihnya, lalu memasukkan kartu suara ke dalam
sebuah kotak. Setelah pemungutan suara usai, kegiatan selanjutnya adalah menghitung
jumlah suara untuk masing-masing calon. Untuk menghitungnya, panitia tidak
menggunakan tabel cayley seperti yang biasa dilakukan orang, tetapi menyediakan
empat buah kotak kosong (yang merepresentasikan 4 calon kades). Satu per satu kartu
suara diambil dan dibaca. Setiap kali kartu suara berisi coblosan nomor satu, maka
sebutir batu kecil dimasukkan ke dalam kotak 1. Begitu pula setiap kali kartu suara
berisi coblosan nomor dua, maka sebutir batu kecil dimasukkan ke dalam kotak 2. Hal
yang sama juga dilakukan untuk kartu yang berisi coblosan nomor 3 dan empat.
Demikian seterusnya sampai semua kartu suara habis dibaca. Akhirnya, jumlah batu di
dalam setiap kotak menyatakan jumlah suara yang diraih oleh setiap calon kades.
Tulislah algoritma untuk menghitung jumlah suara untuk masing-masing calon kades
dengan metode perhitungan yang unik ini. Asumsikan bahwa semua suara adalah sah
(tidak ada golput).
6. Di manakah letak kesalahan lojik algoritma memutar kaset tape recorder di bawah ini:
PROGRAM Memutar Kaset Tape Recorder
Program memutar jaset dengan tape recorder.
ALGORITMA:
1. Pastikan tape recorder berada dalam keadaan POWER ON.
2. Tekan tombol PLAY.
3. Masukkan kaset ke dalam tape recorder.