Senin, 16 April 2012

Tada... LA Ruby beserta logika (logika jgn di copas y).

Listing Menu

ia ="y"
while ia == "y" or ia == "Y"
puts "**********************"
puts "              MENU               "
puts "**********************"
puts "1.Makanan"
puts "2.Minuman"
puts "3.EXIT"
print "Masukan Pilihan "
menu=gets.to_i
puts ""
            if menu == 1
puts "*********************"
puts "             Makanan           "
puts "*********************"
puts "1.Soto"
puts "2.Ketoprak"
puts "3.Syomai"
print "Masukan Pilihan "
makanan=gets.to_i
puts ""
            if makanan == 1
puts "********************"
puts "               Soto             "
puts "********************"
puts "Harga = 10000"
print"Banyak= "
banyak=gets.to_i
total = 10000 * banyak
print "Total = " , total
puts ""
print "Apa anda ingin memesan yang lain(Y/N)?"
ia=gets.chomp
            elsif makanan == 2
puts "********************"
puts "            Ketoprak          "
puts "********************"
puts "Harga = 8000"
print"Banyak= "
banyak=gets.to_i
total = 8000 * banyak
print "Total = " , total
puts ""
print "Apa anda ingin memesan yang lain(Y/N)?"
ia=gets.chomp
else
puts "********************"
puts "            Syomai             "
puts "********************"
puts "Harga = 6000"
print"Banyak= "
banyak=gets.to_i
total = 6000 * banyak
print "Total = " , total
puts ""
print "Apa anda ingin memesan yang lain(Y/N)?"
ia=gets.chomp
end
            elsif menu == 2
puts "*********************"
puts "            Minuman            "
puts "*********************"
puts "1.Teh Manis"
puts "2.Jus Buah"
puts "3.Air Mineral"
print "Masukan Pilihan "
minuman=gets.to_i
puts ""
            if minuman == 1
puts "********************"
puts "           Teh Manis         "
puts "********************"
puts "Harga = 2000"
print"Banyak= "
banyak=gets.to_i
total = 2000 * banyak
print "Total = " , total
puts ""
print "Apa anda ingin memesan yang lain(Y/N)?"
ia=gets.chomp
            elsif minuman == 2
puts "********************"
puts "           Jus Buah           "
puts "********************"
puts "Harga = 5000"
print"Banyak= "
banyak=gets.to_i
total = 5000 * banyak
print "Total = " , total
puts ""
print "Apa anda ingin memesan yang lain(Y/N)?"
ia=gets.chomp
else
puts "********************"
puts "          Air Mineral        "
puts "********************"
puts "Harga = 1000"
print"Banyak= "
banyak=gets.to_i
total = 1000 * banyak
print "Total = " , total
puts ""
print "Apa anda ingin memesan yang lain(Y/N)?"
ia=gets.chomp
end
else
print "Terima Kasih"
ia=gets.chomp
end
end

Logika Program
Pertama kali jika ingin melakukan perulangan di program ini adalah menggunakan while while itu akan mengerjakan program kita terus menerus selama jawaban yang kita input adalah ia (meninginkan perulangan).
Di program ini saya menggunakan variabel ia sebagai temapat penyimpanan harga “y” dan di sini or berguna untuk jawaban selain “y” saya masukan “Y”.
Kenapa saya meletakan while di awal program?, karena saya ingin menggulang dari tampilan MENU karena di sini Menu saya sebagai home di mana kita bisa memesan makanan, minuman atau exit.
Puts dan Print digunakan untuk mencetak kalimat yang kita ketik bedanya adalah kalau puts setelah mencetak kita langsung diarahkan ke bawah, sedangkan print kita akan di arahkan di sisi kanan dari hasil pencetakan kita.
Makanan dan minuman adalah variabel yang saya gunakan sebagai media kondisi yaitu if.
Di sini gets. to_i digunakan untuk menagkap apa yang kita input, karena di menu saya saya memberi pilihan 1 sampai 3 maka kita harus ubah terlebih dahulu tipe data y menjadi integer kalau tidak maka program tidak akan bisa menangkap apa yang kita input.
If di gunakan untuk kondisi tertentu , sebelumnya kita kenal dengan elseif yaitu selain kondisi yang telah ada ada kondisi lainnya di sini saya memakainya karena di dalam makanan atau minuman saya memberikan 3 macam pilihan lagi jadi setelah pilihan pertama atau kondisi pertama lalu ada pilihan kedua atau kondisi baru(selain kondisi pertama ada kondisi kedua) dan sisanya atau lainnya adalah else, karena dari artinya saja else itu adalah selainnya.
Ia=gets.chomp di gunakan untuk melakukan perulangan. Seperti yang saya katakan sebelumnya ia adalah media penyimpanan sementara untuk melakukan perulangan. Jadi kenapa harus gets.chomp?. karena jika saya menggunakan gets. to_s ketika saya menginputkan harga “n” atau “N” (NO) yang akan terjadi adalah program akan menggulang kembali sepertihalnya kita menginputkan pilihan Yes. Tetapi kalau kita pakai gets.chomp ketika kita input No maka program akan terhenti.

Listing Zodiak

Listing Program 
Bulan = {1 => "Januari", 2 => "Febuari", 3=> "Maret", 4=> "April" , 5=> "Mei", 6=> "Juni" , 7=> "Juli",
                        8 => "Agustus" , 9 => "September", 10 => "Oktober", 11 => "Novermber", 12 => "Desember"}
Hari = {"Januari" => "31", "Febuari" => "28", "Maret" => "31", "April" => "30", "Mei" => "31" ,
                        "Juni" => "30", "Juli" => "31" , "Agustus" => "31", "September" => "30", "Oktober" => "31",
                        "November" => "30", "Desember" => "31"}
Zodiak = {"Januari" => "Capricon", "Febuari" => "Akuarius", "Maret" => "Pises", "April" => "Aries", "Mei" => "Taurus", "Juni" => "Gemini", "Juli" => "Cancer",
                        "Agustus" => "Leo", "September" => "Virgo", "Oktober" => "Libra" , "November" => "Skorpio", "Desember" => "Sagitarius"}
Sifat = {"Capricon" => "Rajin", "Akuarius" => "Berjiwa Besar", "Pises" => "Ramah", "Aries" => "Pemberani", "Taurus" => "Pendiam", "Gemini" => "Cerdas",
                        "Cancer" => "Mudah Bergaul", "Leo" => "Sabar", "Virgo" => "Kritis", "Libra" => "Penuh Pertimbangan", "Skorpio" => "Terpercaya",
                        "Sagitarius" => "Terbuka"}
puts "Masukan Bulan lahir anda "
a=gets.to_i
puts Bulan[a]
puts "Bulan lahir anda #{Bulan[a]}"
puts "Hari di bulan ini ada #{Hari[Bulan[a]]}"
puts "Zodiak anda #{Zodiak[Bulan[a]]}"
puts "Sifat anda #{Sifat[Zodiak[Bulan[a]]]}"

Logika Program
Di dalam program ini saya menggunakan array di mana array itu tempat penyimpanan sementara di mana kita dapat memanggilnya kembali dan di dalam array tipe datanya harus homogen atau sama.
Pada Bulan,Hari,Zodiak dan Sifat saya menggunakan {“”=>””} untuk meberi tahu bahwa apa yang kita input berhubungan dengan yang lain (ingat untuk pemberian tanda”” dan , karena jika anda lupa maka program tidak akan bisa berjalan).
A=gets. to_i di gunakan untuk menangkap inputan kita.
Lalu dalam menampilkan Bulan ,Jumlah Hari dalam Bulan tersebut, di Bulan itu anda berzodiak apa, dan sifat zodiak anda. Saya memanggil array yang sudah ada tetapi di sini array di dalam array karena satu sama lain saling berhubungan.
Jadi #{ Bulan[a]} itu adalah inputan yang telah kita masukan dari 1 sampai 12 yang berada dalam bulan, puts "Hari di bulan ini ada #{Hari[Bulan[a]]}" itu untuk mencetak sesuai yang telah kita input dimana jika kita input 1 maka di dalam bulan akan mencari 1 dan 1 itu Januari seperti di atas kita ingin memanggil jumlah hari yang ada di dalam bulan tersebut maka setelah ia mendapat Januari  ia akan mencari lagi apa yang berhubungan dengan Januari lalu didapatkan ya 31 hari, jadi #{Hari[Bulan[a]]} itu adalah memanggil hari yang berada di dalam bulan yang berdasarkan inputan kita yang telah mencari hasil bulan tersebut.
Jadi kasus tersebut sama dnegan kasus #{Zodiak[Bulan[a]]} program akan mencari zodiak yang ada di dalam bulan yang berdasarkan inputan kita yang telah mencari hasil bulan tersebut.
Lalu #{Sifat[Zodiak[Bulan[a]]]} program akan mencari sifat dari zodiak tersebut di mana sifat berada di dalam zodiak dan zodiak di dalab bulan yang berdasarkan inputan kita yang telah mencari hasil bulan tersebut.

P.S untuk Outputnya saya tidak memberikan gambar karena di gambar tersebut ada address y. jadi perlu di ingat gambar outputnya jangan asal copas ^.^

Tidak ada komentar:

Posting Komentar