Friday, April 16, 2010

Logika Mencari Bilangan Prima dengan Ruby

Semangat menuangkan logika mencari Bilangan  Ganjil Genap ke bahasa pemrograman  Ruby pada praktikum AP2B tadi sore sempat membuat saya tercengang... Baru beberapa saat Asisten Lab nyuruh bikin program tersebut, langsung anak-anak pada jerit-jeritan bilang "udah kak,,, udah Kak". Karena kk Asistennya ternyata tw program tu dah da di komputer masing-masing (Bekas praktikum yang sebelumnya) akhirnya kk'a nyuruh satu orang ja buat jelasin logikanya trus dapet nilai K full.. dah si Lucky maju...


Agak panas juga sih belum dapet nilai K sedikit pun dari td,, praktikum selanjutnya untuk dapetin nilai K full buat yang lainnya,, Kak Kristiandy sang Asisten Lab nyuruh bikin program yang klo kita input angka maka keluar angka 1 sampe angka yang tadi kita input. trus programnya ngasih tw deh tu bilang yang Prima yang mana ja.. Semangat lagi deh aku buat mencari logikanya trus bikin kodingannya,, hmm,, gara2 da yang ngajuin diri bilang "K saya udah.." yah agk ngedown dikit jadinya,, trus panik gmn nih nyari logika Bilangan prima,, Sebenarnya sih dah tw bilangan prima tu adalah bilangan yang cuma habis dibagi sama bilangannya sendiri.. Tapi algoritmanya msh awang-awang Gara2 pikiran dah panik,, trus fokus diitu2 ja pokoknya g bisa berfikir jernih lagi.. Pada akhirnya Gama berhasil diakhir2 jm terakhir,,heheheh (Give Applause prok,, prok,, prok..)


Tapi kata Kak kris msh bug katanya,, alias masih belum sempurna,, hmm,, katanya klo logika (mencari bilangan primanya) g nyampe,, berarti dibalik ja, cari yang bukan bilangan prima..akhirnya soal program dibuat kuizz klo nnti ujian bisa sempurna (g da bugnya) maka nilai 70 dah di dapet ktanya tinggal fokus dipythonnya atau di Rubynya.

Dalam perjalanan dari kampus ke rumah saya dengan mengendarai Thunder 125(hihhihi) saya terus memikirkan algoritmanya.. sekilas terlintas kenapa g dibuat perulangan sebanyak angka tersebut yang terus menyeleksi apakah angka tersebut habis dibagi angka lain atau hanya habis dibagi sama angka satu dan habis dibagi sama dirinya sendiri saja. setelah dapet logikanya biz maghrib saya tulis deh,, Alhamdulillah berhasil juga... heheh
Teman-teman klo da yang masih Bug harap kasih tw ya tapi sejauh ini saya belum dapet bugnya dimana... makasih.




def prima(a)
  c=0
  for i in 1..(a)
  if a%i==0
    c=c+1
  end
  end
  if c==2
    print a," Bilangan Prima\n"
  else
    print a," Bukan Prima\n"
  end
end
print "Masukkan angka: "
a=gets.to_i
for i in 1..(a)
prima(i)
i=i+1
end

1 comment: