Está en la página 1de 42

Soal-Soal Algoritma

M. Jamhuri

March 22, 2013

M. Jamhuri

Soal-Soal Algoritma

Soal-Soal dari (http://projecteuler.net)

Problem 1
Jika kita daftar semua bilangan asli di bawah 10 yang merupakan
kelipatan dari 3 atau 5, kita mendapatkan 3, 5, 6, dan 9. Jumlah
dari bilangan-bilangan tersebut adalah 23.
Tentukan jumlah dari semua kelipatan dari 3 atau 5 di bawah 1000.

M. Jamhuri

Soal-Soal Algoritma

Problem 2
Setiap bilangan baru dalam urutan Fibonacci dihasilkan dengan
menambahkan dua bilangan sebelumnya. Dengan dimulai dari 1 dan
2, 10 suku pertamanya adalah:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, . . .
Misalkan terdapat barisan bilangan Fibonacci yang nilainya tidak
melebihi 4 juta, tentukan jumlah semua bilangan-bilangan yang
positif.

M. Jamhuri

Soal-Soal Algoritma

Contoh Soal Tipe Eksekusi (OSK 2010)

Soal 34
Suatu array X berindeks dari 1 s.d. 10 dan setiap elemennya berisi
huruf-huruf berurutan dari a sampai j. Suatu algoritma bekerja
pada array tersebut sbb. (Prosedur swap(a,b) adalah menukarkan
harga a dan b).

Hasil yang dicetak adalah:

M. Jamhuri

Soal-Soal Algoritma

Soal 35
Dari soal no 34, jika algoritma yang bekerja pada array tersebut
adalah sebagai berikut

M. Jamhuri

Soal-Soal Algoritma

Soal 36
Dari soal no 34, suatu algoritma bekerja pada array tersebut sebagai
berikut

M. Jamhuri

Soal-Soal Algoritma

Soal-Soal OSK 2011

Soal 37

M. Jamhuri

Soal-Soal Algoritma

Soal Menulis Program

Misalkan ada dua variabel x dan y , dan variabel hasil yang nilai
awalnya 0. Lakukan proses berikut selama nilai x lebih besar dari 0:
jika nilai x ganjil maka nilai hasil := hasil + y
nilai x selanjutnya adalah nilai x sebelumnya dibagi dua, bila ada
hasil pecahan, maka pecahannya dibuang.
(contoh bila nilai x sebelumnya 1, maka nilai x selanjutnya 0)
nilai y selanjutnya adalah nilai y sebelumnya dikali dua

Manakah program pseudo-pascal yang merupakan program dari


tahapan-tahapan tersebut
(dari: Bundel Pembahasan Soal OSI )

M. Jamhuri

Soal-Soal Algoritma

Soal Menulis Program

Misalkan ada dua variabel x dan y , dan variabel hasil yang nilai
awalnya 0. Lakukan proses berikut selama nilai x lebih besar dari 0:
jika nilai x ganjil maka nilai hasil := hasil + y
nilai x selanjutnya adalah nilai x sebelumnya dibagi dua, bila ada
hasil pecahan, maka pecahannya dibuang.
(contoh bila nilai x sebelumnya 1, maka nilai x selanjutnya 0)
nilai y selanjutnya adalah nilai y sebelumnya dikali dua

Manakah program pseudo-pascal yang merupakan program dari


tahapan-tahapan tersebut
(dari: Bundel Pembahasan Soal OSI )

M. Jamhuri

Soal-Soal Algoritma

Soal Menulis Program

Misalkan ada dua variabel x dan y , dan variabel hasil yang nilai
awalnya 0. Lakukan proses berikut selama nilai x lebih besar dari 0:
jika nilai x ganjil maka nilai hasil := hasil + y
nilai x selanjutnya adalah nilai x sebelumnya dibagi dua, bila ada
hasil pecahan, maka pecahannya dibuang.
(contoh bila nilai x sebelumnya 1, maka nilai x selanjutnya 0)
nilai y selanjutnya adalah nilai y sebelumnya dikali dua

Manakah program pseudo-pascal yang merupakan program dari


tahapan-tahapan tersebut
(dari: Bundel Pembahasan Soal OSI )

M. Jamhuri

Soal-Soal Algoritma

Soal Menulis Program

Misalkan ada dua variabel x dan y , dan variabel hasil yang nilai
awalnya 0. Lakukan proses berikut selama nilai x lebih besar dari 0:
jika nilai x ganjil maka nilai hasil := hasil + y
nilai x selanjutnya adalah nilai x sebelumnya dibagi dua, bila ada
hasil pecahan, maka pecahannya dibuang.
(contoh bila nilai x sebelumnya 1, maka nilai x selanjutnya 0)
nilai y selanjutnya adalah nilai y sebelumnya dikali dua

Manakah program pseudo-pascal yang merupakan program dari


tahapan-tahapan tersebut
(dari: Bundel Pembahasan Soal OSI )

M. Jamhuri

Soal-Soal Algoritma

Soal Menulis Program

Misalkan ada dua variabel x dan y , dan variabel hasil yang nilai
awalnya 0. Lakukan proses berikut selama nilai x lebih besar dari 0:
jika nilai x ganjil maka nilai hasil := hasil + y
nilai x selanjutnya adalah nilai x sebelumnya dibagi dua, bila ada
hasil pecahan, maka pecahannya dibuang.
(contoh bila nilai x sebelumnya 1, maka nilai x selanjutnya 0)
nilai y selanjutnya adalah nilai y sebelumnya dikali dua

Manakah program pseudo-pascal yang merupakan program dari


tahapan-tahapan tersebut
(dari: Bundel Pembahasan Soal OSI )

M. Jamhuri

Soal-Soal Algoritma

Jawaban

M. Jamhuri

Soal-Soal Algoritma

Perhatikan kode berikut untuk soal 2 dan 3

M. Jamhuri

Soal-Soal Algoritma

Soal 4

Lengkapilah fungsi maksimum diatas, agar menghasilkan nilai


maksimum dari array a dari indeks 0 sampai ke N 1, N > 0
tuliskan kodenya!

M. Jamhuri

Soal-Soal Algoritma

Jawaban

M. Jamhuri

Soal-Soal Algoritma

Faktorial
Kode Soal
Batas Run-time
Batas Memori

OSN601
1 detik / test-case
32 MB

Soal
Diberikan sebuah bilangan N, N! disebut N faktorial dan nilainya
dihitung dengan rumus :
N (N 1) (N 2) . . . 1.
Tugas Anda adalah menghitung berapa jumlah angka nol berturutan
yang mengakhiri N!.
Sebagai contoh:
N = 10, 10! = 3628800, maka jumlah angka nol adalah 2.
N = 8, 8! = 40320, jumlah angka nol adalah 1 (nol di tengah tidak
dihitung).
M. Jamhuri

Soal-Soal Algoritma

Faktorial
Kode Soal
Batas Run-time
Batas Memori

OSN601
1 detik / test-case
32 MB

Soal
Diberikan sebuah bilangan N, N! disebut N faktorial dan nilainya
dihitung dengan rumus :
N (N 1) (N 2) . . . 1.
Tugas Anda adalah menghitung berapa jumlah angka nol berturutan
yang mengakhiri N!.
Sebagai contoh:
N = 10, 10! = 3628800, maka jumlah angka nol adalah 2.
N = 8, 8! = 40320, jumlah angka nol adalah 1 (nol di tengah tidak
dihitung).
M. Jamhuri

Soal-Soal Algoritma

Faktorial
Kode Soal
Batas Run-time
Batas Memori

OSN601
1 detik / test-case
32 MB

Soal
Diberikan sebuah bilangan N, N! disebut N faktorial dan nilainya
dihitung dengan rumus :
N (N 1) (N 2) . . . 1.
Tugas Anda adalah menghitung berapa jumlah angka nol berturutan
yang mengakhiri N!.
Sebagai contoh:
N = 10, 10! = 3628800, maka jumlah angka nol adalah 2.
N = 8, 8! = 40320, jumlah angka nol adalah 1 (nol di tengah tidak
dihitung).
M. Jamhuri

Soal-Soal Algoritma

Faktorial
Kode Soal
Batas Run-time
Batas Memori

OSN601
1 detik / test-case
32 MB

Soal
Diberikan sebuah bilangan N, N! disebut N faktorial dan nilainya
dihitung dengan rumus :
N (N 1) (N 2) . . . 1.
Tugas Anda adalah menghitung berapa jumlah angka nol berturutan
yang mengakhiri N!.
Sebagai contoh:
N = 10, 10! = 3628800, maka jumlah angka nol adalah 2.
N = 8, 8! = 40320, jumlah angka nol adalah 1 (nol di tengah tidak
dihitung).
M. Jamhuri

Soal-Soal Algoritma

Faktorial
Kode Soal
Batas Run-time
Batas Memori

OSN601
1 detik / test-case
32 MB

Soal
Diberikan sebuah bilangan N, N! disebut N faktorial dan nilainya
dihitung dengan rumus :
N (N 1) (N 2) . . . 1.
Tugas Anda adalah menghitung berapa jumlah angka nol berturutan
yang mengakhiri N!.
Sebagai contoh:
N = 10, 10! = 3628800, maka jumlah angka nol adalah 2.
N = 8, 8! = 40320, jumlah angka nol adalah 1 (nol di tengah tidak
dihitung).
M. Jamhuri

Soal-Soal Algoritma

Faktorial
Kode Soal
Batas Run-time
Batas Memori

OSN601
1 detik / test-case
32 MB

Soal
Diberikan sebuah bilangan N, N! disebut N faktorial dan nilainya
dihitung dengan rumus :
N (N 1) (N 2) . . . 1.
Tugas Anda adalah menghitung berapa jumlah angka nol berturutan
yang mengakhiri N!.
Sebagai contoh:
N = 10, 10! = 3628800, maka jumlah angka nol adalah 2.
N = 8, 8! = 40320, jumlah angka nol adalah 1 (nol di tengah tidak
dihitung).
M. Jamhuri

Soal-Soal Algoritma

Faktorial
Kode Soal
Batas Run-time
Batas Memori

OSN601
1 detik / test-case
32 MB

Soal
Diberikan sebuah bilangan N, N! disebut N faktorial dan nilainya
dihitung dengan rumus :
N (N 1) (N 2) . . . 1.
Tugas Anda adalah menghitung berapa jumlah angka nol berturutan
yang mengakhiri N!.
Sebagai contoh:
N = 10, 10! = 3628800, maka jumlah angka nol adalah 2.
N = 8, 8! = 40320, jumlah angka nol adalah 1 (nol di tengah tidak
dihitung).
M. Jamhuri

Soal-Soal Algoritma

Faktorial

Contoh Masukan dan


Keluaran

Format Masukan dan Keluaran


Masukan:
Masukan hanya terdiri dari satu baris
berisi bilangan bulat N(1 N 10000).

Keluaran:
Tuliskan satu bilangan bulat yang
menyatakan jumlah angka nol yang
mengakhiri N!.

M. Jamhuri

Soal-Soal Algoritma

Melukis

Soal
Buatlah sebuah program yang akan menimpa nilai dari matriks
berukuran W H sebanyak N langkah.
Pada setiap langkah diberikan posisi pojok kiri atas (left, top) dan
paling kanan bawah (right, bottom) dari area persegi yang akan
ditimpa dengan nilai K .
Keluaran adalah kondisi akhir matriks setelah langkah ke-N
dijalankan.

M. Jamhuri

Soal-Soal Algoritma

Melukis

Soal
Buatlah sebuah program yang akan menimpa nilai dari matriks
berukuran W H sebanyak N langkah.
Pada setiap langkah diberikan posisi pojok kiri atas (left, top) dan
paling kanan bawah (right, bottom) dari area persegi yang akan
ditimpa dengan nilai K .
Keluaran adalah kondisi akhir matriks setelah langkah ke-N
dijalankan.

M. Jamhuri

Soal-Soal Algoritma

Melukis

Soal
Buatlah sebuah program yang akan menimpa nilai dari matriks
berukuran W H sebanyak N langkah.
Pada setiap langkah diberikan posisi pojok kiri atas (left, top) dan
paling kanan bawah (right, bottom) dari area persegi yang akan
ditimpa dengan nilai K .
Keluaran adalah kondisi akhir matriks setelah langkah ke-N
dijalankan.

M. Jamhuri

Soal-Soal Algoritma

Melukis

Soal
Buatlah sebuah program yang akan menimpa nilai dari matriks
berukuran W H sebanyak N langkah.
Pada setiap langkah diberikan posisi pojok kiri atas (left, top) dan
paling kanan bawah (right, bottom) dari area persegi yang akan
ditimpa dengan nilai K .
Keluaran adalah kondisi akhir matriks setelah langkah ke-N
dijalankan.

M. Jamhuri

Soal-Soal Algoritma

Format Masukan dan Keluaran


Format Masukan:
Baris pertama berisi dua buah bilangan bulat,
W (1 W 20) dan H (1 H ) .
Baris kedua berisi sebuah bilangan bulat
N (1 N 20) .
N baris berikutnya berisi lima buah bilangan
bulat Ai , Bi , Ci , Di dan
Ki (1 Ai Ci W , 1 Bi Di H) dimana
(Ai , Bi ) melambangkan koordinat
(left, top) , (Ci , Di ) melambangkan kordinat
(right, bottom) dan Ki nilai yang harus
ditimpakan.

Format Keluaran:
H baris yang masing-masing terdiri atas tepat
W karakter tanpa dipisahkan oleh spasi yang
menggambarkan kondisi akhir matriks.

M. Jamhuri

Soal-Soal Algoritma

Contoh Masukan
dan Keluaran

Format Masukan dan Keluaran


Format Masukan:
Baris pertama berisi dua buah bilangan bulat,
W (1 W 20) dan H (1 H ) .
Baris kedua berisi sebuah bilangan bulat
N (1 N 20) .
N baris berikutnya berisi lima buah bilangan
bulat Ai , Bi , Ci , Di dan
Ki (1 Ai Ci W , 1 Bi Di H) dimana
(Ai , Bi ) melambangkan koordinat
(left, top) , (Ci , Di ) melambangkan kordinat
(right, bottom) dan Ki nilai yang harus
ditimpakan.

Format Keluaran:
H baris yang masing-masing terdiri atas tepat
W karakter tanpa dipisahkan oleh spasi yang
menggambarkan kondisi akhir matriks.

M. Jamhuri

Soal-Soal Algoritma

Contoh Masukan
dan Keluaran

Format Masukan dan Keluaran


Format Masukan:
Baris pertama berisi dua buah bilangan bulat,
W (1 W 20) dan H (1 H ) .
Baris kedua berisi sebuah bilangan bulat
N (1 N 20) .
N baris berikutnya berisi lima buah bilangan
bulat Ai , Bi , Ci , Di dan
Ki (1 Ai Ci W , 1 Bi Di H) dimana
(Ai , Bi ) melambangkan koordinat
(left, top) , (Ci , Di ) melambangkan kordinat
(right, bottom) dan Ki nilai yang harus
ditimpakan.

Format Keluaran:
H baris yang masing-masing terdiri atas tepat
W karakter tanpa dipisahkan oleh spasi yang
menggambarkan kondisi akhir matriks.

M. Jamhuri

Soal-Soal Algoritma

Contoh Masukan
dan Keluaran

Format Masukan dan Keluaran


Format Masukan:
Baris pertama berisi dua buah bilangan bulat,
W (1 W 20) dan H (1 H ) .
Baris kedua berisi sebuah bilangan bulat
N (1 N 20) .
N baris berikutnya berisi lima buah bilangan
bulat Ai , Bi , Ci , Di dan
Ki (1 Ai Ci W , 1 Bi Di H) dimana
(Ai , Bi ) melambangkan koordinat
(left, top) , (Ci , Di ) melambangkan kordinat
(right, bottom) dan Ki nilai yang harus
ditimpakan.

Format Keluaran:
H baris yang masing-masing terdiri atas tepat
W karakter tanpa dipisahkan oleh spasi yang
menggambarkan kondisi akhir matriks.

M. Jamhuri

Soal-Soal Algoritma

Contoh Masukan
dan Keluaran

Format Masukan dan Keluaran


Format Masukan:
Baris pertama berisi dua buah bilangan bulat,
W (1 W 20) dan H (1 H ) .
Baris kedua berisi sebuah bilangan bulat
N (1 N 20) .
N baris berikutnya berisi lima buah bilangan
bulat Ai , Bi , Ci , Di dan
Ki (1 Ai Ci W , 1 Bi Di H) dimana
(Ai , Bi ) melambangkan koordinat
(left, top) , (Ci , Di ) melambangkan kordinat
(right, bottom) dan Ki nilai yang harus
ditimpakan.

Format Keluaran:
H baris yang masing-masing terdiri atas tepat
W karakter tanpa dipisahkan oleh spasi yang
menggambarkan kondisi akhir matriks.

M. Jamhuri

Soal-Soal Algoritma

Contoh Masukan
dan Keluaran

Format Masukan dan Keluaran


Format Masukan:
Baris pertama berisi dua buah bilangan bulat,
W (1 W 20) dan H (1 H ) .
Baris kedua berisi sebuah bilangan bulat
N (1 N 20) .
N baris berikutnya berisi lima buah bilangan
bulat Ai , Bi , Ci , Di dan
Ki (1 Ai Ci W , 1 Bi Di H) dimana
(Ai , Bi ) melambangkan koordinat
(left, top) , (Ci , Di ) melambangkan kordinat
(right, bottom) dan Ki nilai yang harus
ditimpakan.

Format Keluaran:
H baris yang masing-masing terdiri atas tepat
W karakter tanpa dipisahkan oleh spasi yang
menggambarkan kondisi akhir matriks.

M. Jamhuri

Soal-Soal Algoritma

Contoh Masukan
dan Keluaran

Format Masukan dan Keluaran


Format Masukan:
Baris pertama berisi dua buah bilangan bulat,
W (1 W 20) dan H (1 H ) .
Baris kedua berisi sebuah bilangan bulat
N (1 N 20) .
N baris berikutnya berisi lima buah bilangan
bulat Ai , Bi , Ci , Di dan
Ki (1 Ai Ci W , 1 Bi Di H) dimana
(Ai , Bi ) melambangkan koordinat
(left, top) , (Ci , Di ) melambangkan kordinat
(right, bottom) dan Ki nilai yang harus
ditimpakan.

Format Keluaran:
H baris yang masing-masing terdiri atas tepat
W karakter tanpa dipisahkan oleh spasi yang
menggambarkan kondisi akhir matriks.

M. Jamhuri

Soal-Soal Algoritma

Contoh Masukan
dan Keluaran

Format Masukan dan Keluaran


Format Masukan:
Baris pertama berisi dua buah bilangan bulat,
W (1 W 20) dan H (1 H ) .
Baris kedua berisi sebuah bilangan bulat
N (1 N 20) .
N baris berikutnya berisi lima buah bilangan
bulat Ai , Bi , Ci , Di dan
Ki (1 Ai Ci W , 1 Bi Di H) dimana
(Ai , Bi ) melambangkan koordinat
(left, top) , (Ci , Di ) melambangkan kordinat
(right, bottom) dan Ki nilai yang harus
ditimpakan.

Format Keluaran:
H baris yang masing-masing terdiri atas tepat
W karakter tanpa dipisahkan oleh spasi yang
menggambarkan kondisi akhir matriks.

M. Jamhuri

Soal-Soal Algoritma

Contoh Masukan
dan Keluaran

Pecahan Uang

Soal
Diberikan sebuah nilai uang dalam dolar sebesar K .
Buatlah sebuah program yang akan menghasilkan pecahan dolar
bernilai total K dengan memakai uang pecahan terbesar.
Jika uang pecahan terbesar tidak dapat dipakai (karena jumlah uang
akan melebihi pecahan terbesar), maka diambil pecahan yang lebih
kecil, dan seterusnya.
Pecahan yang tersedia adalah 1 dolar, 2 dolar, 5 dolar, 10 dolar, 20
dolar, 50 dolar, 100 dolar, 200 dolar, 500 dolar, dan 1000 dolar.

M. Jamhuri

Soal-Soal Algoritma

Pecahan Uang

Soal
Diberikan sebuah nilai uang dalam dolar sebesar K .
Buatlah sebuah program yang akan menghasilkan pecahan dolar
bernilai total K dengan memakai uang pecahan terbesar.
Jika uang pecahan terbesar tidak dapat dipakai (karena jumlah uang
akan melebihi pecahan terbesar), maka diambil pecahan yang lebih
kecil, dan seterusnya.
Pecahan yang tersedia adalah 1 dolar, 2 dolar, 5 dolar, 10 dolar, 20
dolar, 50 dolar, 100 dolar, 200 dolar, 500 dolar, dan 1000 dolar.

M. Jamhuri

Soal-Soal Algoritma

Pecahan Uang

Soal
Diberikan sebuah nilai uang dalam dolar sebesar K .
Buatlah sebuah program yang akan menghasilkan pecahan dolar
bernilai total K dengan memakai uang pecahan terbesar.
Jika uang pecahan terbesar tidak dapat dipakai (karena jumlah uang
akan melebihi pecahan terbesar), maka diambil pecahan yang lebih
kecil, dan seterusnya.
Pecahan yang tersedia adalah 1 dolar, 2 dolar, 5 dolar, 10 dolar, 20
dolar, 50 dolar, 100 dolar, 200 dolar, 500 dolar, dan 1000 dolar.

M. Jamhuri

Soal-Soal Algoritma

Pecahan Uang

Soal
Diberikan sebuah nilai uang dalam dolar sebesar K .
Buatlah sebuah program yang akan menghasilkan pecahan dolar
bernilai total K dengan memakai uang pecahan terbesar.
Jika uang pecahan terbesar tidak dapat dipakai (karena jumlah uang
akan melebihi pecahan terbesar), maka diambil pecahan yang lebih
kecil, dan seterusnya.
Pecahan yang tersedia adalah 1 dolar, 2 dolar, 5 dolar, 10 dolar, 20
dolar, 50 dolar, 100 dolar, 200 dolar, 500 dolar, dan 1000 dolar.

M. Jamhuri

Soal-Soal Algoritma

Pecahan Uang

Soal
Diberikan sebuah nilai uang dalam dolar sebesar K .
Buatlah sebuah program yang akan menghasilkan pecahan dolar
bernilai total K dengan memakai uang pecahan terbesar.
Jika uang pecahan terbesar tidak dapat dipakai (karena jumlah uang
akan melebihi pecahan terbesar), maka diambil pecahan yang lebih
kecil, dan seterusnya.
Pecahan yang tersedia adalah 1 dolar, 2 dolar, 5 dolar, 10 dolar, 20
dolar, 50 dolar, 100 dolar, 200 dolar, 500 dolar, dan 1000 dolar.

M. Jamhuri

Soal-Soal Algoritma

Format Masukan dan Keluaran

Contoh Masukan dan


Keluaran

Format Masukan:
Baris pertama berisi sebuah bilangan
bulat K (1 K 10000) , yang
merupakan jumlah uang yang harus
dipecah.

Format Keluaran
Satu atau lebih baris dimana
masing-masing baris berisi dua buah
bilangan bulat yang dipisahkan oleh
sebuah spasi.
Bilangan pertama adalah pecahan uang
dan bilangan kedua adalah banyak
lembar pecahan uang tersebut.
Urutkanlah baris-baris berdasarkan
pecahan uang, dari besar ke kecil.
Pecahan uang yang tidak digunakan
tidak perlu ditulis.

M. Jamhuri

Soal-Soal Algoritma

También podría gustarte