Bomber Graf!TY Indonesia

Jangan cuma kanvas yang di gambar tembok juga

Menu Faktorial, waktu dan bil prima pada ruby

def factorial(n)

if n < 1

raise “argument must be > 0”

elsif n == 1

1

else

n * factorial(n-1)

end

end

def getTimes(type=””,ranges=””)

if type == “minutes”

times = Time.now + ranges * 60

times = times.strftime(“%Y-%m-%d %H:%M:%S”)

elsif type == “hours”

times = Time.now + ranges * 60 * 60

times = times.strftime(“%Y-%m-%d %H:%M:%S”)

elsif type == “days”

times = Time.now + ranges * 24 * 60 * 60

times = times.strftime(“%Y-%m-%d %H:%M:%S”)

end

return times

end

def bilPrima(maxDeret=””)

deret_awal = []

deret_akhir = []

deret_awal = [2, 3, 5]

#Tampung Deret Prima

ii = 2

while ii < maxDeret

deret_akhir[ii] = true

deret_awal.each do |key|

jj = 2 * key.to_i

while jj < maxDeret

deret_akhir[jj] = false

jj += key.to_i

end

end

ii += 1

end

#Print Deret Prima

puts “Deret Prima Akhir : “

a = 0

deret_akhir.each do |keys|

if keys == true

puts “\n#{a}”

end

a += 1

end

puts “\n”

end

def cetakmenu

loops = 0

while loops < 1

puts “<<<<<<MENU>>>>>>\n”

puts “1. Factorial\n”

puts “2. Get Times\n”

puts “3. Bilangan Prima\n”

puts “\n”

puts “Choice : “

menu = gets

menu.chop!

if menu.to_i == 1

puts “\nMasukkan Nilai faktorial : “

faktorial = gets

faktorial.chop!

puts “Hasilnya #{factorial(faktorial.to_i)}”

puts “\n\n”

elsif menu.to_i == 2

puts “\nMasukkan Type : “

tipe = gets

tipe.chop!

puts “Masukkan Ranges : “

rg = gets

rg.chop!

puts getTimes(tipe.to_s, rg.to_i)

puts “\n\n”

elsif menu.to_i == 3

puts “\nMaksimal Deret Prima : “

jumlah = gets

jumlah.chop!

bilPrima(jumlah.to_i)

puts “\n”

else

puts “Exiting……\n”

loops += 1

end

end

end #end def cetakmenu

cetakmenu()

pada conding diatas menjelaskan tentang program untuk menghitung faktorial, bilangan prima dan menghitung waktu (jam) pada menghitung faktorial tidak jauh berbeda dari pembutan faktorial pada python hanya disini diharus kan menggunakan raise dimana nilai harus lebih besar dari nol. Dan disi ni menggunakan kondisi if untuk membuat sebuah faktorial.

Pada get times atau menghitung waktu. Pada menit banyak range yang digunakan adalah 60 kareha banyaknya jumlah menit ada 60, pada hours atau jam banyaknya range yang digunakan aialah 60 * 60 maksudnya 60 untuk menit dan 60 untuk d detik dan pada days yaitu 24 untuk jam dan 60,60 untuk menit dan detik. Sedangkan %y dan yang lainnya yaitu untuk menyatakan tahun bulan dan hari sedangkan pada type itu untuk menentukan inputan pada menu pilihan gettimes diharuskan menginput type bila type yang diinput haours yang akan ditampilkan adalah hours dan yang lainpun sama.

Lalu pada pilihan bilangan prima disini kita diharuskan menginput banyaknya bilangan prima yang akan kita input bila kita kita menginput 10 maka yang akan keluar yaitu bilangan prima sebanyak 10 angka secara berderet-deret.

Pada menggunakan fungsi kita lebih baik melakukan sebuah inputan berbentuk menu agar mempermudah suatu proses dan hanya mengerjakan 1 proses yaitu ketika kita memilih satu pilihan untuk dijalankan.

25 Mei 2010 - Posted by | Uncategorized

Belum ada komentar.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: