marquee

I'm studied Information System at Gunadarma University 2011. This Is My Blog, My story, and My Task. I can share anything, in my blog :D

Tuesday, April 17, 2012

Program Menu-Python


LISTING PROGRAM




LOGIC

          Program diatas adalah program menu pada bahasa pemograman Python. Sekarang mari kita bedah logicnya satu per satu J
def menu():
    print "===========Menu Pilihan==========="
    print
    print "1. Masukkan Biodata"
    print "2. Input Nilai UTS dan Nilai UAS"
    print "=================================="

Maksud statement diatas adalah mendeklarasikan bahwa pada program  ini akan dibuat menggunakan fungsi def. Biasanya def digunakan untuk membuat program-program yang memiliki menu, sehingga pilihan-pilhan didalamnya akan tampil secara otomatis tanpa harus kita mengetikkannya berulang-ulang, selanjutnya untuk mencetak semua yang ada di dalam petik dua kita hanya perlu mengetikan menu() maka akan menampilkan menu apa yang tersedia didalamnya dan judul dari menu tersebut. Dalam program ini terdapat dua menu didalamnya yaitu Menu Biodata dan Menu Nilai.


def biodata():
    print "=================================="
    print "          Masukkan Biodata        "
    a = raw_input("Masukkan Nama  : ")
    b = raw_input("Masukkan Npm   : ")
    c = raw_input("Masukkan Kelas : ")
    print "=================================="
    print "=================================="
    print " Nama Anda  : ",a
    print " Npm Anda   : ",b
    print " Kelas Anda : ",c
    print "=================================="
    print " Mau coba lagi [Y/N]? "
    back = raw_input().upper()
    if back == "Y":
        menu()
    else:
        exit()

Menu pertama adalah menu biodata. Kita perlu menginput sesuatu pada menu tersebut disini. Dalam menu ini kita membutuhkan inputan dari user berupa input nama, npm, dan kelas. Raw_input merupakan statement input berupa string, jika anda ingin inputan berupa integer, statementnya adalah input. Statement raw_input diletakan setelah variable dengan maksud ketika pencetakan, kita hanya perlu menuliskan apa yang ingin tampil dalam tanda petik, lalu variablenya maka akan muncul sesuai dengan apa yang di input user. Kemudian setelah selesai, program ini akan menanyakan apakah ingin mencoba lagi? Jika user masukan atau ketik Y, maka akan kembali ke menu utama . Tapi jika pilih N, maka program ini akan close dengan sendirinya.

def nilai():
    print "===========Input Nilai============"
    a = input(" Nilai Uts : ")
    b = input(" Nilai Uas : ")
    c = (a+b)/2
    print " Nilai Akhir Anda : ", c
    print "=================================="

Menu kedua adalah menu mencari nilai rata-rata. Sama seperti menu biodata, kita perlu menginput sesuatu pada menu ini kemudian hasil inputan user akan dikalkulasikan dengan menggunakan rumus. Didalamnya user akan diminta masukan nilai uts dan nilai uas untuk mengetahui nilai akhir. Nilai akhir akan didapatkan dari statement rumus c = (a+b)/2. Nilai UTS dan nilai UAS kita masukan dalam variable a dan b kemudian dibagi dengan 2 dimana hasilnya adalah c. Jadi ketika kita ingin mencetak Nilai Akhir, anda tinggal perlu menuliskan apa yang ingin anda tulis untuk output, lalu variable c. Setelah itu, sama seperti menu pertama, akan menanyakan mau coba lagi?? J

while 1:

    pilih = input("Masukkan pilihan : ")
    if pilih == 1:
        biodata()
    elif pilih == 2:
        nilai()
        print "\n"
   
    else:
        print "Maaf pilihan yang anda masukkan tidak terdaftar"
        print "Coba lagi [Y/N] ? "
        coba = raw_input().upper()
        if coba == "Y":
            menu()
        else:
            exit()

            Statement diatas adalah untuk memilih menu apa yang ingin user pilih. Disini hanya menerima dua inputan yaitu 1 dan 2, jika user memasukan angka selain itu, maka akan mencetak Maaf pilihan yang anda masukan tidak terdaftar.
            Jika user menginput 1, maka akan muncul semua yang ada didalam def biodata, lalu jika user menginput 2, maka akan muncul semua yang ada didalam def nilai.




OUTPUT








----------------------------------FINISH---------------------------------

No comments:

Post a Comment