Poss upi-python-dasar-part2

Post on 26-May-2015

2.409 views 9 download

description

membahas exception, file, object, module

Transcript of Poss upi-python-dasar-part2

Mudah Belajar Pemrograman dengan Python (Part 2)

Divisi Riset POSS – UPISabtu, 31 Agustus 2013 – Minggu, 1 September 2013Lab Praktikum Ilmu Komputer. Gedung FPMIPA – CUniversitas Pendidikan Indonesia

Pertemuan Hari Ini

Ada kejutan apakah :D ????

Exception : tipe - tipe

Exception, StandardError, ArithmeticError, LookupError, AssertionError, AttributeError,EOFError, EnvironmentError,FloatingPointError, GeneratorExit, IOError, ImportError, IndexError, KeyError, KeyboardInterrupt, MemoryError, NameError, NotImplementedError, OsError, OverflowError, ReferenceError, StopIteration, SyntaxError, SystemError, TypeError, UnboundLocalError, ValueError, WindowsError, ZeroDivisionError

Kode sumber exception1.py

Exception : pembagian nol

sebuah_angka = 29

try: print sebuah_angka / 0except: print "proses perhitungan gagal "

print "proses cetak ini masih bisa dijalankan "

try: print sebuah_angka / 0except ZeroDivisionError, e: print "proses perhitungan gagal karena : ", e

print "proses cetak ini masih bisa dijalankan "

print sebuah_angka / 0

# jika tidak memakai exception maka proses berikutnya tidak akan dijalankanprint "apakah proses cetak ini masih bisa dijalankan ??? "

Kode sumber exception1.py

Exception : pembagian nol

sebuah_angka = 29

try: print sebuah_angka / 0except: print "proses perhitungan gagal "

print "proses cetak ini masih bisa dijalankan "

try: print sebuah_angka / 0except ZeroDivisionError, e: print "proses perhitungan gagal karena : ", e

print "proses cetak ini masih bisa dijalankan "

print sebuah_angka / 0

# jika tidak memakai exception maka proses berikutnya tidak akan dijalankanprint "apakah proses cetak ini masih bisa dijalankan ??? "

Kode sumber exception1.py

Exception : index error

sebuah_list = [1, 2, 3, 4, 5]sebuah_tuple = (1, 2, 3, 4, 5)sebuah_dictionary = {'nama':'Mangaraja', 'email':'mangaraja@yahoo.com'}

try: print sebuah_list[10]except IndexError, e: print "proses gagal karena : ", e

print "proses cetak ini masih bisa dijalankan "

try: print sebuah_tuple[10]except IndexError, e: print "proses gagal karena : ", e

print "proses cetak ini masih bisa dijalankan "

try: print sebuah_dictionary['website']except KeyError, e: print "proses gagal karena : ", e

print "proses cetak ini masih bisa dijalankan "

Kode sumber exception2.py

Exception : index error

sebuah_list = [1, 2, 3, 4, 5]sebuah_tuple = (1, 2, 3, 4, 5)sebuah_dictionary = {'nama':'Mangaraja', 'email':'mangaraja@yahoo.com'}

try: print sebuah_list[10]except IndexError, e: print "proses gagal karena : ", e

print "proses cetak ini masih bisa dijalankan "

try: print sebuah_tuple[10]except IndexError, e: print "proses gagal karena : ", e

print "proses cetak ini masih bisa dijalankan "

try: print sebuah_dictionary['website']except KeyError, e: print "proses gagal karena : ", e

print "proses cetak ini masih bisa dijalankan "

Kode sumber exception2.py

Exception : io error

try : f = open('nilai.txt')except IOError, e: print "Proses pembukaan file gagal karena : ", e

print "proses cetak pada baris ini masih bisa dijalankan"

Kode sumber exception3.py

Exception : buatan programmer

class NegativeValueError(Exception): def __init__(self, value): self.value = value def __str__(self): s = "Tidak menerima angka kurang dari 0 " + str(self.value) return s def cekAngka(angka): if angka < 0: raise NegativeValueError(angka)

try: sebuah_angka = int(raw_input("masukkan sebuah angka : ")) cekAngka(sebuah_angka)except (NegativeValueError, TypeError), e: print "proses gagal karena : ", e

Kode sumber exception4.py

Exception : multiple except

try: angka1 = int(raw_input('masukkan angka ke-1 : ')) angka2 = int(raw_input('masukkan angka ke-2 : '))

print 'hasil perhitungan : ', angka1 / angka2 except ZeroDivisionError, e: print "proses perhitungan gagal karena : ", eexcept ValueError, e: print "proses perhitungan gagal karena : ", e

print "proses cetak ini masih bisa dijalankan "

Kode sumber exception5.py

Exception : multiple exception

try: angka1 = float(raw_input('masukkan angka ke-1 : ')) angka2 = float(raw_input('masukkan angka ke-2 : '))

print 'hasil perhitungan : ', angka1 / angka2 except (ZeroDivisionError, ValueError, TypeError), e: print "proses perhitungan gagal karena : ", e

print "proses cetak ini masih bisa dijalankan "

Kode sumber exception6.py

Exception : nested try

try: angka1 = float(raw_input('masukkan angka ke-1 : ')) angka2 = float(raw_input('masukkan angka ke-2 : '))

try : print 'hasil perhitungan : ', angka1 / angka2 except ZeroDivisionError, e: print "proses perhitungan gagal karena : ", e

except ValueError, e: print "proses input gagal karena : ", e

print "proses cetak ini masih bisa dijalankan "

Kode sumber exception7.py

Exception : finally

try: angka1 = float(raw_input('masukkan angka ke-1 : ')) angka2 = float(raw_input('masukkan angka ke-2 : '))

try : print 'hasil perhitungan : ', angka1 / angka2 except ZeroDivisionError, e: print "proses perhitungan gagal karena : ", e

except ValueError, e: print "proses input gagal karena : ", efinally: print "coba perhatikan lagi nilai yang anda masukkan " print "proses cetak ini masih bisa dijalankan "

Kode sumber exception8.py

File : membuat file baru

try: sebuah_file = open("absen.txt", 'w')

print "nama file yang tadi dibuat : ", sebuah_file.name print "mode pembacaan file : ", sebuah_file.mode print "apakah filenya udah ditutup ? : ", sebuah_file.closed

sebuah_file.close() print "apakah filenya udah ditutup ? : ", sebuah_file.closedexcept IOError, e: print "proses gagal karena : ", e

Kode sumber file1.py

File : mengisi file

try: sebuah_file = open("absen.txt", 'w')

print "nama file yang tadi dibuat : ", sebuah_file.name print "mode pembacaan file : ", sebuah_file.mode print "apakah filenya udah ditutup ? : ", sebuah_file.closed

sebuah_file.write('1. Jajang Surahman, Teknik Informatika, ITENAS\n') sebuah_file.write('2. Angel Corine, Manajemen Informatika, UNIKOM\n') sebuah_file.write('3. Samsul Basri, Ilmu Komputer, UPI\n')

sebuah_file.close() print "apakah filenya udah ditutup ? : ", sebuah_file.closedexcept IOError, e: print "proses gagal karena : ", e

Kode sumber file2.py

File : membaca file

try: sebuah_file = open("absen.txt", 'r')

print "nama file yang tadi dibuat : ", sebuah_file.name print "mode pembacaan file : ", sebuah_file.mode print "apakah filenya udah ditutup ? : ", sebuah_file.closed

print "isi file : \n", sebuah_file.read() print "posisi pointer pada file : ", sebuah_file.tell()

sebuah_file.close() print "apakah filenya udah ditutup ? : ", sebuah_file.closedexcept IOError, e: print "proses gagal karena : ", e

Kode sumber file3.py

File : membaca file

try: sebuah_file = open("absen.txt", 'r')

print "nama file yang tadi dibuat : ", sebuah_file.name print "mode pembacaan file : ", sebuah_file.mode print "apakah filenya udah ditutup ? : ", sebuah_file.closed

print "isi file : \n"

for line in sebuah_file: print line

print "posisi pointer pada file : ", sebuah_file.tell()

sebuah_file.close() print "apakah filenya udah ditutup ? : ", sebuah_file.closedexcept IOError, e: print "proses gagal karena : ", e

Kode sumber file4.py

File : mengatur pointer pembacaan

try: sebuah_file = open("absen.txt", 'r')

print "nama file yang tadi dibuat : ", sebuah_file.name print "mode pembacaan file : ", sebuah_file.mode print "apakah filenya udah ditutup ? : ", sebuah_file.closed

print "isi file : \n" for line in sebuah_file: print line

print "posisi pointer pada file : ", sebuah_file.tell() print "kembali lagi ke awal : ", sebuah_file.seek(0, 0)

print "isi file : \n" for line in sebuah_file: print line

print "posisi pointer pada file : ", sebuah_file.tell()

sebuah_file.close() print "apakah filenya udah ditutup ? : ", sebuah_file.closedexcept IOError, e: print "proses gagal karena : ", e

Kode sumber file5.py

File : mengatur pointer pembacaan

try: sebuah_file = open("absen.txt", 'r')

print "nama file yang tadi dibuat : ", sebuah_file.name print "mode pembacaan file : ", sebuah_file.mode print "apakah filenya udah ditutup ? : ", sebuah_file.closed

print "isi file : \n" for line in sebuah_file: print line

print "posisi pointer pada file : ", sebuah_file.tell() print "kembali lagi ke awal : ", sebuah_file.seek(0, 0)

print "isi file : \n" for line in sebuah_file: print line

print "posisi pointer pada file : ", sebuah_file.tell()

sebuah_file.close() print "apakah filenya udah ditutup ? : ", sebuah_file.closedexcept IOError, e: print "proses gagal karena : ", e

Kode sumber file6.py

File : ganti nama file

import os

try: os.rename('absen.txt', 'daftar-hadir.txt') print "Nama file sudah diubah.."except (IOError, OSError), e: print "proses error karena : ", e

Kode sumber file7.py

File : hapus file

import os

try: os.remove('daftar-hadir.txt') print "File sudah dihapus.."except (IOError, OSError), e: print "proses error karena : ", e

Kode sumber file8.py

Class : Pengenalan

class PersegiPanjang: def __init__(self, panjang, lebar): self.panjang = panjang self.lebar = lebar def hitung_luas(self): return self.panjang * self.lebar def hitung_keliling(self): return (2*self.panjang) + (2*self.lebar)

def gambar_persegi_panjang(self): for i in range(0, self.lebar): for j in range(0, self.panjang): print '*', print ""

….....................................................................................................................

Kode sumber classbasic.py

Class : Pengenalan

…...............................................................................................................................

def gambar_persegi_panjang_tanpa_isi(self): for i in range(0, self.lebar): if i > 0 and i < self.lebar-1: for j in range(0, self.panjang): if j > 0 and j < self.panjang-1: print '-', else: print '*', else: for j in range(0, self.panjang): print '*', print "" PersegiPanjangA = PersegiPanjang(20, 10)PersegiPanjangB = PersegiPanjang(10, 5)

…...............................................................................................................................

Kode sumber classbasic.py

Class : Pengenalan

…...............................................................................................................................

print "Panjang persegi panjang A :", PersegiPanjangA.panjangprint "Lebar persegi panjang A :", PersegiPanjangA.lebarprint "Luas persegi panjang A : ", PersegiPanjangA.hitung_luas()print "Keliling persegi panjang A : ", PersegiPanjangA.hitung_keliling()print "Menggambar Persegi Panjang A : "PersegiPanjangA.gambar_persegi_panjang()

print "\nMenggambar Persegi Panjang A hanya tepinya saja : "PersegiPanjangA.gambar_persegi_panjang_tanpa_isi()

print "\n"

print "Panjang persegi panjang B :", PersegiPanjangB.panjangprint "Lebar persegi panjang B :", PersegiPanjangB.lebarprint "Luas persegi panjang B : ", PersegiPanjangB.hitung_luas()print "Keliling persegi panjang B : ", PersegiPanjangB.hitung_keliling()PersegiPanjangB.gambar_persegi_panjang()print "\nMenggambar Persegi Panjang B hanya tepinya saja : "PersegiPanjangB.gambar_persegi_panjang_tanpa_isi()

Kode sumber classbasic.py

Modules

Buatlah susunan folder dan file seperti berikut

Modules

from segitiga import Segitigafrom persegi import Persegi

if __name__ == '__main__': pass

Kode sumber __init__.py

Modules

import mathclass Segitiga: def __init__(self, a, t): self.alas = a self.tinggi = t def SetAlas(self, a): self.alas = a def GetAlas(self): return self.alas def SetTinggi(self, t): self.tinggi = t def GetTinggi(self): return self.tinggi def GetSisiMiring(self): return math.sqrt(self.alas**2 + self.tinggi**2) def HitungKeliling(self, s): return self.alas + self.tinggi + s def HitungLuas(self): return (self.alas * self.tinggi) / 2

Kode sumber segitiga.py

Modules

class Persegi: def __init__(self, s): self.sisi = s def SetSisi(self, s): self.sisi = s def GetSisi(self): return self.sisi def HitungKeliling(self): return 4 * self.sisi def HitungLuas(self): return self.sisi * self.sisi

Kode sumber persegi.py

Modules

from bidang import Segitiga, Persegi

sgtgA = Segitiga(3, 9)prsgA = Persegi(5)

print "Luas Segitiga A : ", sgtgA.HitungLuas()print "Sisi Miring Segitiga A : ", sgtgA.GetSisiMiring()print "Keliling Segitiga A : ", sgtgA.HitungKeliling(sgtgA.GetSisiMiring())print "\n"print "Luas Persegi A : ", prsgA.HitungLuas()print "Keliling Segitiga A : ", prsgA.HitungKeliling()

Kode sumber main.py

Bahan Belajar Lainnya

– Tutorials Point : http://www.tutorialspoint.com/python– Zetcode : http://zetcode.com/lang/python/– Java2s : http://www.java2s.com/Tutorial/Python/CatalogPython.htm– Python 2.7 Documentation– Learn Python The Hardway : http://learnpythonthehardway.org/