Monday, June 20, 2016

LA AP2 B Pertemuan 7

>>>>> DOWNLOAD .DOC <<<<<


LAPORAN AKHIR PRAKTIKUM


Mata Praktikum          :  Algoritma & Pemrograman 2 B (AP2B)
Kelas                           :  1IA20
Praktikum ke-              :  7
Tanggal                        :  30 April 2015
Materi                          :  Fungsi Pada Ruby
NPM                           :  53414057
Nama                           :  Didi Mulyadi
Ketua Asisten              :  Mahardika
Nama Asisten              :
Paraf Asisten               :
Jumlah Lembar            : 7  lembar












LABORATORIUM INFORMATIKA
UNIVERSITAS GUNADARMA
2015
Listing Program :



def menu
                        puts
                        puts "======================="
                        puts "||****** AP-2B ******||"
                        puts "======================="
                        puts "|| 1. Nama Bulan     ||"
                        puts "|| 2. Faktorial      ||"
                        puts "|| 3. Exit           ||"
                        puts "======================="
                        print "Pilih Menu(1-3) : "
                        z = gets.to_i
                        if z==1
                                    bulan = {1=>"Januari",2=>"februari",3=>"Maret",4=>"April",5=>"mei",6=>"Juni",7=>"Juli",8=>"Agustus",9=>"September",10=>"Oktober",11=>"November",12=>"Desember"};
                                    hari = {1=>31,2=>28,3=>31,4=>30,5=>31,6=>30,7=>31,8=>31,9=>30,10=>31,11=>30,12=>31}
                                    print "Masukkan Bulan ke : "
                                    x = gets.to_i
                                                if x>12
                                                            print "Tidak Ada Dalam Kalender Bulan\n"
                                                else
                                                            print "Bulan ", bulan[x], " Jumlah Hari adalah ", hari[x], " Hari\n"
                                                end
                        elsif z==2
                        fakto
                                   
                        elsif z==3
                        print "Terima Kasih\n"
                                    exit()
                                   
                        else
                                    print "Menu Tidak Tersedia\n"
                        end
                        pil

            end
def pil
            print "Masuk Menu Lagi? (y/n) : "
                        x = gets.chomp
                        if x=="y"
                                    menu
                        elsif x=="Y"
                                    menu
                        else
                                    puts "Terima Kasih\n"
                        end
end

def fakto
print 'Masukkan Bilangan : '; n = gets.to_i
f = 1
print "Faktorial (#{n}) : "
            while n > 0
                        print n
                        f *= n
                        if n != 1
                                    print ' * '
                        else
                                    print ' = '
                                    print f,"\n"
                                    break
                        end
                        n -= 1
            end
end
menu



Logika Program :

def menu
                        puts
                        puts "======================="
                        puts "||****** AP-2B ******||"
                        puts "======================="
                        puts "|| 1. Nama Bulan     ||"
                        puts "|| 2. Faktorial      ||"
                        puts "|| 3. Exit           ||"
                        puts "======================="

 pada blok program diatas menggunakan def yang merupakan sebuah method , menu adalah nama dari method tersebut. Kemudian puts digunakan untuk menampilkan pesan dilayar /perintah untuk mencetak tipe data string yang berada dalam kutip dua , menggunakan perintah puts.

print "Pilih Menu(1-3) : "
                        z = gets.to_i

Pada blok program diatas merupakan suatu perintah untuk memasukan inputan menggunakan varibel z yang menampung nilai inputan menggunakan get.to_i dengan tipe data integer .

if z==1
                                    bulan = {1=>"Januari",2=>"februari",3=>"Maret",4=>"April",5=>"mei",6=>"Juni",7=>"Juli",8=>"Agustus",9=>"September",10=>"Oktober",11=>"November",12=>"Desember"};
                                    hari = {1=>31,2=>28,3=>31,4=>30,5=>31,6=>30,7=>31,8=>31,9=>30,10=>31,11=>30,12=>31}
                                    print "Masukkan Bulan ke : "
                                    x = gets.to_i
                                                if x>12
                                                            print "Tidak Ada Dalam Kalender Bulan\n"
                                                else
                                                            print "Bulan ", bulan[x], " Jumlah Hari adalah ", hari[x], " Hari\n"
                                                end

Pada blok program diatas menggunakan fungsi if_elsif.  Yang mana jika nilai dari z bernilai = 1 maka program akan mengeksekusi syntax di dalam if. Bulan dan hari adalah tipe data hash. Pada variabel bulan memiliki elemen – elemen dengan key di setiap element. Key 1 bernilai “Januari”, 2 bernilai “Februari” dan  seterusnya.begitu juga dengan varibel hari. Key 1 bernilai “31”, Key 2 bernilai 28 dan  seterusnya. Pada key ini berfungsi untuk menentukan letak array yang akan kita cetak .
Kemudian menginput nilai varibel x mengunakan get.to_i bertipe integer dimana jika nilai dari variable x lebih besar = 12, maka program akan  mencetak pesan “TIDAK ADA DALAM KALENDER BULAN”.dan jika nilai variable x lebih kecil =  12, maka program akan mencetak “BULAN (ELEMEN KE-X DARI VARIABEL BULAN) JUMLAH HARI ADALAH (ELEMEN KE-X DARI VARIABEL HARI) HARI.
elsif z==2
                        fakto
                                   
                        elsif z==3
                        print "Terima Kasih\n"
                                    exit()
                                   
                        else
                                    print "Menu Tidak Tersedia\n"
                        end
                        pil

            end
Pada blok programdi atas menggunakan percabangan if-elsif-else , dimana jika nilai  variable z = 2 maka program akan mengeksekusi method fakto, Jika nilai dari variable z = 3 maka program akan mencetak “TERIMA KASIH” kemudian keluar dari program,dan jika nilai input tidak sesuai/tidak tersedia maka program akan mencetak  “MENU TIDAK TERSEDIA”. Kemudian program memanggil method pil.
def pil
            print "Masuk Menu Lagi? (y/n) : "
                        x = gets.chomp
                        if x=="y"
                                    menu
                        elsif x=="Y"
                                    menu
                        else
                                    puts "Terima Kasih\n"
                        end
endn
                        print "|#{a}|"
            end
            puts
end
puts""
puts "=======||||||||||||||||||========"
           
            Pada blok program diatas merupakan def pil /method  pil yang berisi perintah
jika nilai variable x = “y”( y kecil)atau “Y”  maka program akan mengeksekusi  method menu lagi ,dan jika tidak (else) maka program akan menampilkan pesan “terima kasih”.
def fakto
print 'Masukkan Bilangan : '; n = gets.to_i
f = 1
print "Faktorial (#{n}) : "
            while n > 0
                        print n
                        f *= n
                        if n != 1
                                    print ' * '
                        else
                                    print ' = '
                                    print f,"\n"
                                    break
                        end
                        n -= 1
            end
end
menu
Pada blok program def fakto ini digunakan untuk mencetak factorial dari nilai varibel n yang kita input ,pada blok ini  kita menginput nilai n bertipe integer ,dimana  f bernilai 1 dan menggunakan perulangan while  dimana jika n lebih dari 0 maka akan mencetak nilai varibel n ,kemudian f*n jika tidak sama dengan 1 makan akan mencetak “*”,jika tidak maka akan mencetak karakter “=” lalu mencetak nilai dari variabel f dan perulangan akan dihentikan,setiap perulangan nilai variable n dikurang 1, nilai dari variable n  menyimpan nilai input  bertipe data integer. Kemudian fakto(n) akan memanggil method fakto(n) dengan nilai variable n yang ada pada method yang akan diganti nilai n nya dengan yang diinput.

Output Program :

No comments:

Post a Comment

Entri yang Diunggulkan

Mengukur Kehandalan Web Hosting dari Sisi Uptime dan Downtime

Untuk menjalakan semua itu diperlukan kehandalan dari sisi server dan sumber daya manusia pengelola web hosting namun secara umum untuk dap...