Archive for the 'Soal-soal' Category

Beranak Pinak

December 13th, 2006 by mbro

Binatang Erius Bangetus, atau disebut juga dengan Bin-eri, setiap bulan melahirkan satu dan hanya satu anak. Dalam waktu satu bulan berikutnya, setiap anak yang dilahirkan akan melahirkan anak juga. Demikian seterusnya sehingga bulan demi bulan, binatang ini terus bertambah banyak.

bineri.png

Gambar diatas adalah ilustrasi dari perkembangan biakan Bineri. Pada bulan ke-0 hanya ada 1 bineri dan setelah bulan ke-4 telah terdapat 16 bineri. Perhatikan juga bahwa masing-masing bineri selalu melahirkan satu anak pada setiap bulannya.

Binatang ini akan berhenti beranak setelah 100 bulan, dan akan meninggal setelah berusia 150 bulan.

Hitung jumlah populasi Bineri pada bulan ke-N jika dimulai dari satu ekor Bineri.

Continue reading ‘Beranak Pinak’

Bujur Langka

December 13th, 2006 by mbro

Buah Bujur Langka hampir mirip dengan nangka, hanya saja sedikit langka. Untuk menghasilkan buah yang langka ini perlu perhatian khusus.

Bibit pohon harus ditanam berdekatan dengan bibit-bibit lain yang usianya sama. Selain itu sekumpulan bibit ini harus diatur jaraknya sedemikian rupa sehingga membentuk bidang bujur sangkar, untuk menghasilkan buah yang bagus selama proses pembuahan.

Pardi, seorang petani Bujur Langka, selalu kebingungan saat menanam benih buah Bujur Langka ini. Setiap bibit yang dibeli selalu diterima dalam jumlah yang tidak genap, dikarenakan beberapa hal.

Namun, tidak mungkin bagi Pardi membuang bibit-bibit yang masih bagus hanya untuk memperoleh nilai genap. Karena itu, Pardi meminta bantuan Anda untuk menghitung jumlah bibit yang harus ditanam dalam bidang bujur sangkar.

Contoh bentuk bidang bujur sangkar yang benar adalah:

Jumlah bibit 9 (3x3):
***
***
***

Jumlah bibit 10 (3x4):
****
***
***

Jumlah bibit 24 (5x5):
*****
*****
*****
*****
****

Jumlah bibit 42 (6x7):
*******
*******
*******
*******
*******
*******

Continue reading ‘Bujur Langka’

Missing Code

December 13th, 2006 by mbro

Perbaiki kesalahan yang terdapat pada fungsi factorX(n,m) dari pseudo-code dibawah ini. Kemudian buat program lengkapnya agar dapat menghasilkan output yang benar.

function factorY(m)
  if m = 1
    return 1
  else
    return 2 * m + factorY(m - 1)
  end if
end function

function factorX(n, m)
  if n = 1
    return 1
  else
    return 3 * n + factorX(n, m) + factorY(m)
end function

Tabel nilai n dan m untuk fungsi factorX(n,m) yang benar adalah:

n m  factorX(n,m)
----------------
1 1  1
1 2  5
1 3  11
1 4  19
...
2 1  8
2 2  16
2 3  28
...
3 1  18
3 2  30
...

Continue reading ‘Missing Code’

Antrian Mesin

December 13th, 2006 by mbro

Pabrik kertas Tjiwika Tjiwiki mempunyai 2 buah mesin untuk mengolah bahan baku. Bahan baku yang datang sering dalam volume yang tidak sama. Untuk mengefektifkan mesin agar bekerja seimbang, perlu dibuatkan sistem antrian untuk membagi bahan baku dan mesin yang memprosesnya.

Telah ditentukan algoritma berikut ini.

  untuk setiap bahan baku yang masuk:
	jika total produksi mesin 1 lebih kecil sama dengan mesin 2
		proses bahan baku di mesin 1
	jika tidak
		proses bahan baku di mesin 2

Sebagai contoh, jika bahan baku datang secara berturut-turut dalam volume: 1, 2, 3, 4, 5, dan 6 maka pembagian prosesnya adalah:

Mesin 1		Mesin 2
 1		 2
 3		 4
 5		 6

Continue reading ‘Antrian Mesin’

Kombinasi

December 13th, 2006 by mbro

Jika dalam sebuah ruang pertemuan terdapat 4 orang dan masing-masing orang saling bersalaman tidak lebih dari satu kali dengan orang yang sama, maka akan terjadi 6 salaman.

kombinasi

Jumlah pasangan orang yang bersalaman ini dapat dihitung dengan rumus kombinasi n!/((n-m)! x m!). Dimana n adalah jumlah keseluruhan orang, dan m adalah jumlah orang dalam satu kelompok (dalam kasus ini n = 4 orang dan m = 2 orang).

Buat program untuk menampilkan daftar kombinasi yang mungkin dari n data untuk dikelompokkan per-m data.

Continue reading ‘Kombinasi’