Laman

Rabu, 16 Mei 2012

Contoh program-program kompleks Python, termasuk Jawaban soal UTS

         Mungkin dalam 1-2 hari, saya baru selesai kali. Ini adalah program-program Python yang sudah saya buat dengan hasil pikiran saya sendiri, mungkin anda akan menganggap susah karena banyak sekali. Tetapi jika anda sudah mengerti fungsi-fungsi yang dipakai, niscaya anda akan bisa membuat yang seperti ini juga kok.
         Jika anda mahasiswa IT Gunadarma dan pernah mendapat tugas dari dosen Kartika Sari tentang membuat array untuk daftar mahasiswa dengan menggunakan Turbo Pascal, ini adalah versi Python-nya

Contoh program Daftar Mahasiswa.py



i=a=b=c=0
nama=[]
npm=[]
kls=[]
jur=[]
ang=[]
while True:
    print 'Masukkan data ke - ',i+1
    nama.append(raw_input('Nama Anda : '))
    npm.append(raw_input('NPM Anda : '))
    if len(npm[i])!=8:
        print 'NPM Salah'
        print
        nama.pop(i)
        npm.pop(i)
        continue
    kls.append(raw_input('Kelas Anda : '))
    if len(kls[i])!=5:
        print 'Kelas Salah'
        print
        nama.pop(i)
        npm.pop(i)
        kls.pop(i)
        continue
    jur.append(kls[i][1:3])
    ang.append(npm[i][3:5])
    if jur[i]=='IA':
        jur[i]='Teknik Informatika'
        a+=1
    elif jur[i]=='IB':
        jur[i]='Teknik Industri'
        b+=1
    elif jur[i]=='IC':
        jur[i]='Teknik Mesin'
        c+=1
    else:
        print 'Kelas Salah'
        print
        continue
    lagi=''
    while lagi!='y' and lagi!='t':
        lagi=raw_input('INPUT LAGI [Y/T] : ')
    i+=1
    if lagi=='t':
        break
print '                        Daftar Mahasiswa'
print '========================================================================'
print 'No.  Nama     NPM     Kelas  Angkatan  Jurusan'
print '========================================================================'
for n in range(i):
    print n+1,'  ',nama[n],'   ',npm[n],' ',kls[n],'  ',ang[n],'        ',jur[n],''
print 'TOTAL JURUSAN TEKNIK INFORMATIKA = ',a,'orang\n'
print 'TOTAL JURUSAN TEKNIK INDUSTRI = ',b,'orang\n'
print 'TOTAL JURUSAN TEKNIK MESIN = ',c,'orang\n'
ing=''
while ing!='y' and ing!='t':
    ing=raw_input('Ingin melihat hasil [Y/T]? ')
if ing=='y':
    cari=raw_input('Cari berdasarkan NPM : ')
    for n in range(i):
        if cari==npm[n]:
            print
            print 'Nama :',nama[n]
            print 'Kelas :',kls[n]
            print 'Angkatan :',ang[n]
            print 'Jurusan :',jur[n]
            break
        else:
            print 'NPM TIDAK ADA'
            break

Output :

Contoh program fibonacci dan faktorial.py :

# Fungsi Rekursif faktorial
def faktorial(n):
    if n <= 1:
        return 1
    else:
        return n*faktorial(n-1)

#Program utama
for n in range(11):
   print "%d! = %d" % (n, faktorial(n))
while True:
    try:
        n=input('Nilai n! : ')
        print 'Faktorial %d! = %d'%(n,faktorial(n))
    except:
        continue
    break

# Fungsi Fibonacci
def fibonacci(n):
    if n < 0:
        print "Tidak ada bilangan yang bernilai negatif"
    elif n == 0 or n == 1:
        return n
    else:
        return fibonacci(n-1) + fibonacci(n-2)

# Program utama
for n in range(11):
   print "Fibonacci(%d) = %d" % (n, fibonacci(n))
while True:
    try:
        n=input("Masukkan sebuah bilangan : ")
        print "Fibonacci(%d) = %d"%(n,fibonacci(n))
    except:
        continue
    break

Output :


Contoh program fungsi def.py (menggunakan tuple/list dan dictionary) :

nm=raw_input('Nama : ')
pwd=raw_input('Password : ')
hobby=[]
other={}
i=0
while True:
    hobby.append(raw_input('Hobby Anda : '))
    lagi=''
    while lagi!='y' and lagi!='t':
        lagi=raw_input('Masih ada lagi [Y/T] : ')
    if lagi=='t':
        break
    i+=1
other['Sex']=raw_input('Jenis Kelamin : ')
other['TTL']=raw_input('Tempat/Tanggal lahir : ')
other['Umur']=raw_input('Umur : ')
def guest(name, password, *hobby, **other):
    print "Your name    :",name
    print "Your password:",password
    print "Hobby Anda   :"
    for n in range(i+1):
        print hobby[n]
    print "Lain-lain    :"
    print other['Sex']
    print other['TTL']
    print other['Umur']
guest(nm,pwd,*hobby,**other)

Output :

Contoh program soal UTS.py (kode jurusan diacak, ga hafal) :

while True:
    nama=raw_input('Masukkan nama : ')
    npm=raw_input('Masukkan npm : ')
    if len(npm)!=8:
        print 'NPM tidak sesuai\n'
        continue
    ang=npm[3:5]
    jur=npm[0]
    if npm[3]=='9':
        ang='19'+ang
    elif npm[3]=='0':
        ang='20'+ang
    else:
        print 'NPM Salah\n'
        continue
    if jur=='1':
        jur='D3-TI'
    elif jur=='2':
        jur='S1-SI'
    elif jur=='3':
        jur='S1-SK'
    elif jur=='4':
        jur='S1-TI'
    elif jur=='5':
        jur='D3-SI'
    elif jur=='6':
        jur='D3-SK'
    elif jur=='7':
        jur='S1-TK'
    elif jur=='8':
        jur='S1-TM'
    elif jur=='9':
        jur='S1-IK'
    else:
        print 'NPM Salah\n'
        continue
    print '-------------------------------------------------------'
    print nama
    print 'Mahasiswa jurusan %s dan angkatan tahun %s'%(jur,ang)
    lagi=''
    while lagi!='y' and lagi!='t':
        lagi=raw_input('Coba lagi [y/t]? ')
    if lagi=='t':
        break

Output :

Sekian post dari saya, saran saya pelajari modul-modul yang ada disusuli dengan praktek langsung dari contoh yang ada di modul. Semoga dapat bermanfaat dalam mendukung pembelajaran anda semua :)

Ubuntu Desktop 12.04 LTS sudah tersedia (dan cara installnya)

Kabar baik untuk anda pemakai ubuntu OS, update terbarunya telah siap untuk didownload.


Mengapa memilih Ubuntu?Super cepat, mudah digunakan dan gratis, sistem operasi Ubuntu dipakai oleh jutaan desktop, netbook dan server di seluruh dunia. Ubuntu melakukan semua yang Anda butuhkan dan akan bekerja dengan file yang ada PC, printer, kamera dan MP3 player. Dan ia datang dengan ribuan aplikasi gratis.


Lihat perubahan-perubahan yang dilakukan untuk Ubuntu 12.04
https://wiki.ubuntu.com/PrecisePangolin/ReleaseNotes/UbuntuDesktop

Jika anda pengguna windows OS dan ingin menginstall dengan cara yang mudah, berikut caranya :

      1.      Download Ubuntu 12.04 dengan format .iso, dan windows installernya (wubi.exe)
      Download Ubuntu
Note : jika anda menggunakan windows 32-bit, anda juga harus menginstall Ubuntu 32-bit, dan begitu juga sebaliknya untuk 64-bit

      2.       Buka dengan Daemon Tools atau UltraISO, kalau tidak punya bisa download secara gratis
      
      3.       Jalankan wubi.exe (yang didownload secara terpisah, ukurannya 2.4 MB) dan pastikan opsi lokasi install drive harus berbeda dengan tempat dimana anda menginstall windows OS

Contoh : Jika windows OS ada di drive C, berarti Ubuntu harus diinstall di drive D
Note : Jika masih ada Ubuntu versi sebelumnya sudah terinstall, uninstall terlebih dulu                                 
      
      4.       Tunggu hingga proses selesai. Proses install akan dilanjutkan setelah anda me-restart computer

Keindahan Pelangi


Foto Pelangi
Pelangi atau bianglala adalah gejala optik dan meteorologi berupa cahaya beraneka warna saling sejajar yang tampak di langit atau medium lainnya. Di langit, pelangi tampak sebagai busur cahaya dengan ujungnya mengarah pada horizon pada suatu saat hujan ringan. Pelangi juga dapat dilihat di sekitar air terjun yang deras.
Pembentukan
Foto PelangiCahaya matahari adalah cahaya polikromatik (terdiri dari banyak warna). Warna putih cahaya matahari sebenarnya adalah gabungan dari berbagai cahaya dengan panjang gelombang yang berbeda-beda. Mata manusia sanggup mencerap paling tidak tujuh warna yang dikandung cahaya matahari, yang akan terlihat pada pelangi: merah, jingga, kuning, hijau, biru, nila, dan ungu.
Panjang gelombang cahaya ini membentuk pita garis-garis paralel, tiap warna bernuansa dengan warna di sebelahnya. Pita ini disebut spektrum. Di dalam spektrum, garis merah selalu berada pada salah satu sisi dan biru serta ungu di sisi lain, dan ini ditentukan oleh perbedaan panjang gelombang.
Pelangi tidak lain adalah busur spektrum besar yang terjadi karena pembiasan cahaya matahari oleh butir-butir air. Ketika cahaya matahari melewati butiran air, ia membias seperti ketika melalui prisma kaca. Jadi di dalam tetesan air, kita sudah mendapatkan warna yang berbeda memanjang dari satu sisi ke sisi tetesan air lainnya. Beberapa dari cahaya berwarna ini kemudian dipantulkan dari sisi yang jauh pada tetesan air, kembali dan keluar lagi dari tetesan air.
Foto PelangiCahaya keluar kembali dari tetesan air ke arah yang berbeda, tergantung pada warnanya. Warna-warna pada pelangi ini tersusun dengan merah di paling atas dan ungu di paling bawah pelangi.
Pelangi hanya dapat dilihat saat hujan bersamaan dengan matahari bersinar, tapi dari sisi yang berlawanan dengan si pengamat. Posisi si pengamat harus berada di antara matahari dan tetesan air dengan matahari dibekalang orang tersebut. Matahari, mata si pengamat dan pusat busur pelangi harus berada dalam satu garis lurus.
Berikut ini adalah puisi tentang alangkah indahnya pelangi

Foto Pelangi
- SOMEWHERE OVER THE RAINBOW -
Somewhere, over the rainbow, way up high. 
There's a land that I heard of Once in a lullaby.
Somewhere, over the rainbow, skies are blue. 
And the dreams that you dare to dream
Really do come true.
Someday I'll wish upon a star and wake up where the clouds are far Behind me.
Where troubles melt like lemon drops, Away above the chimney tops.
That's where you'll find me.
Somewhere, over the rainbow, bluebirds fly. Birds fly over the rainbow,
Why then - oh, why can't I?
If happy little bluebirds fly beyond the rainbow,
Why, oh, why can't I?



Sumber :

http://id.wikipedia.org/wiki/Pelangi

Penderitaan

Penulis : Dr. Eben Nuban Timo

         Kita semua tahu apa itu penderitaan. Kita bahkan mengalaminya. Orang biasa bilang bahwa penderitaan itu seperti bayangan yang selalu ada sepanjang badan. Kadang-kadang bayangan itu di belakang kita sehingga kita tidak menyadari keberadaannya. Tetapi sering juga bayangan itu membentang di depan. Penderitaan menjadi sangat jelas dan mencekam.
         Penyebab penderitaan juga macam-macam. Ia datang kepada kita dalam bentuk sakit, gagal dalam usaha, diperlakukan secara tidak adil, mengalami duka cita karena kematian orang yang kita kasihi, musibah seperti bencana alam. Singkatnya ada banyak penyebab penderitaan. Apa pun penyebabnya, penderitaan selalu ada. Ia seperti bayang-bayang yang selalu menyertai hidup. Hanya orang yang sudah meninggal saja yang tidak mengenal dan mengalami penderitaan. Atau mungkin juga orang mati menderita. Kita belum tahu itu, karena kita belum mengalami sendiri.
         Minggu-minggu ini umat kristen sedunia memasuki saat-saat perenungan akan penderitaan Kristus dan maknanya bagi mereka. Penderitaan selalu ada. Manusia tidak bisa berbuat lain kecuali menghadapinya. Itu sebabnya adalah penting untuk kita merenungkan makna penderitaan itu. Mungkin kita tidak suka melakukannya. Tetapi karena penderitaan itu merupakan fakta yang tidak terhindarkan, kita harus menerimanya dan menemukan maknanya. Inilah salah satu maksud penetapan perayaan minggu-minggu sengsara alam kalender gerejawi.
         Penderitaan perlu dihadapi dan direnungkan. Ini mengandaikan bahwa ada makna positif yang bisa kita petik dari pengalaman penderitaan. Ya, setidak-tidaknya itulah yang dikatakan oleh Henry Ward Becher. Menurut Becher "menangis itu adalah rahmat". Waktu anak kami lahir di negeri Belanda, seorang dokter datang membawa jarum suntik. Dia mengambil darah dari telapak kaki anak kami. Tentu saja si bayi kesakitan. Ia menangis dengan suara keras. Dokter yang merawat dia berkata: "Gooed..... Goed... doe maar" (Baik-baik. Menangislah). Sambil memandang kepada saya dia berkata: "Bayi yang menangis waktu disakiti adalah tanda bahwa bayi itu sehat. Menangis juga perlu agar paru-parunya berkembang".
         "Menangis adalah berkat." kata Henry Becher. Ini juga berlaku bagi orang dewasa. "Karena dengan air mata Allah membasuh mata kita agar melihat negeri yang tidak kelihatan, negeri yang tanpa air mata." Saya rasa pendapat ini ada benarnya. "Yesus ada bersama dua orang murid waktu mereka di dalam perjalanan ke Emaus. "Tetapi ada sesuatu yang menghalang mata mereka sehingga mereka tidak dapat mengenal Dia" (Yoh. 24:16). Mereka sangat terpaku pada cara hidup yang lama, pendapat dan pengajaran yang lama tentang hidup, Allah dan kebenaran. Penghayatan mereka tentang hidup bersifat statis dan monoton.
         Sesuatu yang menutupi mata mereka itu terangkat, waktu Yesus berbicara kepada mereka begitu rupa sehingga hati mereka berkobar-kobar, mereka sangat tersentuh dan terharu dengan apa yang mereka dengar itu (Yoh. 24:32). Sangat biasa jadi perasaan berkobar-kobar itu membuat mata mereka basah karena air mata. Akibatnya mereka memperoleh pemahaman yang baru mengenai hidup, Allah dan kebenaran. Mereka memperoleh perspektif baru dalam memahami kitab suci. Mata mereka dapat melihat sesuatu yang baru pada apa yang selama ini sudah mereka lihat. Saya kira Becher benar saat ia berkata : "Menangis adalah berkat karena dengan air mata Allah membasuh mata kita agar melihat negeri yang tidak kelihatan, negeri yang tanpa air mata". Artinya dengan memahami penderitaan, pengharapan akan satu perubahan ke arah yang lebih baik makin dilihat sebagai sebuah kebutuhan. Pengharapan akan hidup yang lain dari keadaan sekarang (status quo) bertumbuh di dalam pengalaman penderitaan.
         Waktu pemerintah sekarang mengumumkan kenaikan harga BBM, reaksi muncul di mana-mana. Banyak orang yang meminta agar harta para koruptor besar disita oleh pemerintah untuk menanggulangi subsidi BBM, proses pengadilan yang adil kepada para koruptor harus menjadi prioritas pemerintah. Penderitaan ternyata mengajar orang untuk memperbaiki keadaan hidup.
         Penderitaan ada manfaatnya. Ia mendekatkan kita kepada Allah, kata seorang pemikir yang lain bernama Harlod A Bisley. "Penderitaan adalah kesempatan yang baik untuk berdoa. "Waktu hujan tidak turun dan tanaman di kebun mulai layu dan ada ancaman kegagalan panen, banyak orang berdoa. Kita cepat-cepat datang kepada Tuhan waktu pencobaan datang."
        Para awak kapal berseru masing-masing kepada Allahnya waktu badai dan angin sakal menghantam kapal mereka. Itu cerita yang kita baca dalam Kitab Yunus. Murid-murid Yesus juga berseru kepada sang guru waktu mereka diserang badai secara tiba-tiba saat mereka sedang berlayar. Bahkan Yesus sendiri juga mengambil waktu khusus untuk berdoa, waktu Dia berada pada situasi yang kritis menjelang kematiannya.
        Akh, bisa saja ada yang tidak setuju. Penderitaan tidak membawa manfaat apa pun bagi manusia. Ia malah membuat umur hidup seseorang menjadi lebih pendek. Lihat saja, gara-gara penderitaan ada banyak orang yang stres, lalu mengalami strok dan kemudian stop. Karena alasan-alasan ini ada ahli yang menolak untuk kita memuliakan penderitaan. Penderitaan harus dilawan sekuat tenaga. Manusia harus berjuang untuk menolak penderitaan yang ia alami.
        Fakta-fakta yang kita catat di atas membuat kita menjadi bijak. Penderitaan itu ada plusnya tetapi juga ada minusnya. Ini memang fakta yang tidak mungkin dipungkiri. Teori macam apa pun tidak akan mampu berkat yang kita peroleh dalam penderitaan menghilangkan sisi negatifnya. Ini kalau kita bicara tentang plus-minus dari penderitaan. Daripada terjerat dalam soal plus minus dan kita tidak pernah akan memperoleh kata sepakat penderitaan dapat juga dilihat dari sisi lain. Sisi lain adalah sebagai berikut.
        Fakta mengatakan bahwa manusia tidak pernah sendirian dalam menghadapi penderitaan. Dalam derita manusia kembali menjadi satu. Penderitaan membuat perbedaan-perbedaan pendapat, konflik, dan perpecahan mencair dengan sendirinya. Orang-orang yang hidup dalam permusuhan dan konflik bisa dengan mudah melupakan konflik dan perbedaan pendapat yang ada di antara mereka.
        Coba kita lihat pengalaman penderitaan yang kita alami sebagai satu bangsa karena bencana alam di Aceh. Belakangan ini Indonesia dikenal sebagai bangsa yang bersekutu dan persaudaraannya tercabik-cabik. Bangsa Indonesia yang satu mengelompok dalam sentimen agama dan suku yang sangat tinggi. Orang Islam menganggap orang Kristen sebagai ancaman. Mereka saling memandang dengan penuh curiga, yang satu menganggap yang lain sebagai kafir atau melakukan syirik.
        Pengelompokan manusia Indonesia menurut agama : Islam, Kristen, Katolik, Hindu, Budha, orang kafir dan orang bertaqwa hilang dengan begitu saja. Mereka yang berbeda-beda ini justru bergandengan tangan menanggulangi dan menghadapi penderitaan. Ini sungguh satu mujizat. Ya, kalau dalam keadaan suka cita kita cenderung terbelah-belah, maka dalam derita dan duka kita kembali menjadi satu.
        Pengalaman tidak sendiri dalam penderitaan tidak merupakan satu yang bersifat horizontal belaka. Yang tidak kalah penting untuk kita ketahui, juga di dalam minggu-minggu pra paskah ini, adalah kenyataan berikut. Allah juga ada bersama kita. Ia menjadi satu dengan kita yang menderita. Allah ternyata ikut ambil bagian dalam penderitaan manusia. Ia yang kudus dan agung berkenan menyatukan nasibNya dengan nasib manusia.
        Fakta ini kita alami di dalam Kristus. Paulus menulis: "Yesus Kristus, yang walaupun dalam rupa Allah, tidak menganggap kesetaraan dengan Allah itu sebagai milik yang harus dipertahankan, melainkan telah mengosongkan diriNya sendiri dan mengambil rupa seorang hamba, dan menjadi sama dengan manusia. Dan dalam keadaan sebagai manusia, Ia telah merendahkan diriNya dan taat sampai mati, bahan sampai mati di kayu salib" (Fil 2:5-9)
        Penderitaan memang menyakitkan dan menimbulkan luka. Tetapi manusia tidak pernah sendiri menghadapinya. Selalu saja ada teman dan sahabat yang ikut berbela rasa dengan kita memikul duka cita itu. Bahkan Tuhan juga menjadi sahabat kita. Yesus kawan yang sejati, bagi kita yang lemah, tiap hal boleh dibawa dalam doa padaNya. Inilah penghiburan sejati bagi manusia. Ini sumber kekuatan kita menghadapi penderitaan dengan percaya bahwa penderitaan itu bersifat sementara saja. Habis gelap akan terbit terang. Penderitaan ternyata membangkitkan pengharapan.

Sumber :

http://artikel.sabda.org/penderitaan