Anda di halaman 1dari 9

Supplementary

Try/Except

Fungsi dari try/except adalah untuk mencegah terjadinya error ketika berjalannya program. Berikut
adalah contohnya.

In [1]: string = 'a'


print(int(string))
for i in range(3):
print(i)

---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-1-cb2e704c80dd> in <module>()
1 string = 'a'
----> 2 print(int(string))
3 for i in range(3):
4 print(i)

ValueError: invalid literal for int() with base 10: 'a'

Tentu saja program ini akan menghasilkan error, karena string 'a' tidak dapat dirubah menjadi integer.
Pada kasus ini, yang terjadi adalah ValueError (lihat pada bagian tulisan berwarna merah). Karena
yang dapat dirubah menjadi integer adalah integer dan float. Ketika terjadi error, maka program akan
berhenti (lihat pada bagian for-looping nya tidak berjalan). Agar tidak menganggu jalannya program,
hal ini dapat diatasi menggunakan try/except. Berikut adalah contohnya.

In [2]: string = 'a'


try:
print(int(string))
except:
print(string +' bukan integer atau float')
for i in range(3):
print(i)

a bukan integer atau float


0
1
2

Program akan bekerja terlebih dahulu ke dalam program yang ada pada try. Dapat dilihat bahwa akan
terjadi ValueError. Namun, ketika terjadi ValueError, program akan berlanjut ke dalam program yang
ada pada except. Dengan mengatasi error, program selanjutnya akan tetap berjalan (dapat dilihat
pada bagian for-loopingnya).

Kita juga dapat membuat except lebih spesifik berdasarkan tipe errornya. Berikut adalah contoh
programnya. Catatan: IndexError terjadi ketika index tidak ada pada data.
In [3]: list_ = [7,2.4,6.3,'abc',7.6,8,'ya']
for i in range(10):
try:
print(int(list_[i]))
except ValueError:
print(list_[i] + ' bukan integer atau float')
except IndexError:
print('list tidak memiliki entri ke-{}'.format(i+1))

7
2
6
abc bukan integer atau float
7
8
ya bukan integer atau float
list tidak memiliki entri ke-8
list tidak memiliki entri ke-9
list tidak memiliki entri ke-10

Ada banyak tipe-tipe error, beberapa yang sering dilakukan oleh pembuat program adalah: ValueError,
IndexError, KeyError, ZeroDivisionError, dan sebagainya.

Perlu diperhatikan bahwa setiap try, harus ada except sebagai lanjutannya. Jika kalian tidak ingin
melakukan apa-apa ketika terjadi error, kalian dapat membuat program seperti ini.

In [4]: list_ = [7,2.4,6.3,'abc',7.6,8,'ya']


for i in range(10):
try:
print(int(list_[i]))
except:
None

7
2
6
7
8

Berikut adalah yang terjadi ketika tidak ada except setelah try.

In [5]: list_ = [7,2.4,6.3,'abc',7.6,8,'ya']


for i in range(10):
try:
print(int(list_[i]))

File "<ipython-input-5-e0c663f08226>", line 4


print(int(list_[i]))
^
SyntaxError: unexpected EOF while parsing

Perlu diperhatikan juga, error masih dapat terjadi di dalam program yang ada pada except. Pastikan
bahwa program yang ada pada except merupakan program yang sudah sempurna (artinya sudah
mengatasi setiap tipe error). Jika di dalam except, masih dapat terjadi error, yang terjadi adalah
sebagai berikut.
In [6]: list_ = [7,2.4,6.3,'abc',7.6,8,'ya']
for i in range(10):
try:
print(int(list_[i]))
except:
print(list_[i] + ' bukan integer atau float')

7
2
6
abc bukan integer atau float
7
8
ya bukan integer atau float

---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-6-3aeb851bc1fa> in <module>()
3 try:
----> 4 print(int(list_[i]))
5 except:

IndexError: list index out of range

During handling of the above exception, another exception occurred:

IndexError Traceback (most recent call last)


<ipython-input-6-3aeb851bc1fa> in <module>()
4 print(int(list_[i]))
5 except:
----> 6 print(list_[i] + ' bukan integer atau float')

IndexError: list index out of range

2D Plotting in Python

Untuk membuat plot 2D pada bahasa pemrograman Python, yang sering digunakan adalah module
matplotlib.pyplot dan module seaborn. Namun, pada pdf ini kita hanya akan membahas beberapa cara
membuat plot dengan menggunakan module matplotlib.pyplot.

In [7]: import matplotlib.pyplot as plt


import numpy as np

Dot Plot

Untuk membuat dot plot, kita membutuhkan titik-titik pada sumbu x dan y yang akan disimpan oleh
suatu list. Perlu diperhatikan bahwa banyak isi list harus sama. Berikut adalah contohnya jika kita ingin
membuat dot plot dengan titik-titik {(1,2),(3,4),(5,8),(4,7)}
In [8]: x = [1,3,5,4]
y = [2,4,8,7]
plt.scatter(x,y)
plt.show()

Line Plot

Sama halnya seperti Dot Plot. Namun, akan terbentuk garis yang menghubungkan setiap titik terurut
berdasarkan urutan pada list.

In [9]: x = [1,3,5,4]
y = [2,4,8,7]
plt.plot(x,y)
plt.show()

Membuat plot sebuah fungsi.

Untuk membuat plot sebuah fungsi, akan digunakan bantuan module numpy untuk membuat list titik-
titiknya. Jadi cara kerjanya adalah kita membuat titik-titik sebanyak-banyaknya yang kemudian akan
dihubungkan oleh garis. Berikut adalah contohnya jika kita ingin membuat plot x**2 dengan domain
yang ditampilkan adalah dari -4 sampai 4, dengan 10 titik.
y g p p , g

In [10]: def f(x):


return x**2 - 4*x + 4

x = np.linspace(-4,4,10)
y = f(x)
plt.plot(x,y)
plt.show()

Semakin banyak jumlah titiknya, maka hasil plot akan terlihat semakin mulus. Berikut adalah
contohnya ketika kita menggunakan 100 titik.

In [11]: def f(x):


return x**2 - 4*x + 4

x = np.linspace(-4,4,100)
y = f(x)
plt.plot(x,y)
plt.show()

Membuat plot dua buah fungsi.

Untuk membuat satu plot dengan dua buah fungsi, sama caranya dengan membuat plot seperti untuk
satu fungsi. Namun, kalian dapat menambahkan satu lagi property plot pada plt untuk fungsi kedua
dalam satu cell.
In [12]: def f(x):
return x**2 - 4*x + 4

x = np.linspace(-4,4,100)
y1 = f(x)
y2 = f(x+1)
plt.plot(x,y1)
plt.plot(x,y2)
plt.legend(['a','b'])
plt.show()

Membuat plot banyak fungsi.

Jumlah fungsi yang dapat kalian plot tidak terbatas, asalkan property plot pada plt masih dalam satu
cell. Berikut adalah beberapa contoh penggunaannya.

In [13]: def f(x):


return x**2 - 4*x + 4

x = np.linspace(-4,4,100)
plt.plot(x,f(x))
plt.plot(x,f(x+1))
plt.plot(x,f(x-1))
plt.legend(['a','b','c'])
plt.show()
In [14]: x = np.linspace(0,1,100)
legend = []
for i in range(1,10):
plt.plot(x,x**i)
legend.append('x**{}'.format(i))
plt.legend(legend)
plt.show()

Dalam property plot ataupun scatter, kalian dapat mengatur style plot kalian sendiri. Berikut adalah
beberapa contoh modifikasi program sebelumnya.

In [15]: def f(x):


return x**2 - 4*x + 4

x = np.linspace(-4,4,10)
plt.plot(x,f(x),color='r',marker=None,linestyle='--') #r untuk merah, -- untuk garis
plt.plot(x,f(x+1),color='b',marker='o',linestyle='-') #b untuk biru, o untuk garis d
plt.legend(['a','b'])
plt.show()
In [16]: def f(x):
return x**2 - 4*x + 4

x = np.linspace(-4,4,10)
plt.scatter(x,f(x),color='r',marker='o') #r untuk merah, o untuk dot
plt.scatter(x,f(x+1),color='b',marker='>') #b untuk biru, > untuk segitiga menyampin
plt.legend(['a','b'])
plt.show()

Kalian juga dapat menyatukan dot plot dan line plot di dalam satu plot.

In [17]: def f(x):


return 2*x + 3
x1 = np.linspace(0,10,100)
x2 = np.random.uniform(0,10,40)
random_part = np.random.normal(0,1,40)
plt.plot(x1,f(x1), 'r-')
plt.scatter(x2,f(x2)+random_part)
plt.show()
Untuk selengkapnya mengenai penggunaan matplotlib, kalian dapat belajar pada website
https://matplotlib.org (https://matplotlib.org).

Anda mungkin juga menyukai