pelatihan python dasar part 2 - poss upi
DESCRIPTION
mempelajari expception, file, pengenalan class, modulesTRANSCRIPT
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':'[email protected]'}
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':'[email protected]'}
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/