Pelatihan Python Dasar Part 2 - POSS UPI

30
Mudah Belajar Pemrograman dengan Python (Part 2) Divisi Riset POSS – UPI Sabtu, 31 Agustus 2013 – Minggu, 1 September 2013 Lab Praktikum Ilmu Komputer. Gedung FPMIPA – C Universitas Pendidikan Indonesia

description

mempelajari expception, file, pengenalan class, modules

Transcript of Pelatihan Python Dasar Part 2 - POSS UPI

Page 1: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 2: Pelatihan Python Dasar Part 2 - POSS UPI

Pertemuan Hari Ini

Ada kejutan apakah :D ????

Page 3: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 4: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 5: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 6: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 7: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 8: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 9: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 10: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 11: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 12: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 13: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 14: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 15: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 16: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 17: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 18: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 19: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 20: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 21: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 22: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 23: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 24: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 25: Pelatihan Python Dasar Part 2 - POSS UPI

Modules

Buatlah susunan folder dan file seperti berikut

Page 26: Pelatihan Python Dasar Part 2 - POSS UPI

Modules

from segitiga import Segitigafrom persegi import Persegi

if __name__ == '__main__': pass

Kode sumber __init__.py

Page 27: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 28: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 29: Pelatihan Python Dasar Part 2 - POSS UPI

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

Page 30: Pelatihan Python Dasar Part 2 - POSS UPI

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/