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 ^.^