Belajar Python+NumPy dengan IPython

Python merupakan bahasa pemrograman yang sangat powerful dan fleksibel. Bahasa pemrograman ini selain banyak digunakan untuk sains data juga digunakan untuk sebagai "perekat" dengan bahasa pemrograman lainnya, seperti C dan shell. Tulisan kali ini membahas dasar Python dan NumPy untuk level pemula. Untuk anda yang sudah mahir atau pada tingkat moderate, tulisan ini bisa dijadikan pengingat atau refresher.

Tujuan pembelajaran artikel awal ini (dari seri Python+NumPy yang direncanakan) adalah untuk menguasai tiga hal berikut:

  1. Mengenal dan memahami dasar perintah Unix/Linux: pwd, ls, dan cd.
  2. Mengenal dan memahami Python List ([]).
  3. Mengenal dan memahami NumPy array (np.array).

Ingat tujuan tulisan ini untuk mengenal dan memahami tiga poin di atas. Cek pemahaman anda setelah membaca dan mengikuti tutorial di tulisan ini.

Sebagai media belajar kita gunakan library IPython. IPython sangat intuitif sehingga kita bisa lebih mudah memahami perintah Python yang kita ketikkan. Nah, disinilah kita membutuhkan pengenalan dasar perintah Linux. Kenapa? agar kita bisa mengecek dan berpindah direktori, dari direktori satu ke direktori yang lain dalam baris perintah, tanpa perlu membuka file explorer.

Download Python

Jika anda menggunakan sistem operasi berbasis Linux seperti Ubuntu (sangat disarankan), Python sudah terinstall by default. Umumnya Python3, atau lebih spesifik 3.6 dimana tutorial ini dibuat, sudah ada. Jika belum, install Python 3.6, misal dari website berikut: https://www.python.org/downloads/release/python-369/.

Instalasi IPython

Untuk menginstall module atau library Python, kita membutuhkan "pip". Lagi, jika menggunakan Ubuntu, biasanya paket pip ini sudah terinstall. Jika belum, silahkan install dengan perintah berikut.

sudo apt-get install python3-pip

Kemudian untuk menginstall IPython, kita gunakan perintah pip sebagai berikut.

python3.6 -m pip install --user -U ipython

Jika menggunakan python version lain, ganti versi 3.6 dengan versi lain tersebut. Argumen `--user` mengisyaratkan meminta python untuk menginstall library IPython di direktori user (bukan di root agar tidak bertabrakan dengan versi dari library python yang digunakan oleh sistem/OS), sedangkan argumen `-U` sama dengan `--upgrade`, yakni untuk mengupgrade/downgrade versi IPython jika sudah terinstall. Sekarang kita bisa memulai belajar Python+Numpy dengan IPython. Perintah `pip` bisa digunakan langsung seperti `pip install ipython`, namun saya lebih suka perintah lengkapnya karena menghindari kesalahan versi dalam instalasi python (Explicit is better than implicit).

Membuka IPython

Ada beberapa cara membuka aplikasi IPython. Misal dengan perintah dasar ipython, dengan argumen --pylab untuk me-load numpy dan matplotlib, ataupun secara spesifik dengan python3.6 -m IPytho --pylabn. Dari ketiganya cara terakhir yang lebih saya sukai karena spesfik.

$ ipyhon
$ ipython --pylab
$ python3.6 -m IPython --pylab
Perintah dasar Linux

Tiga perintah dasar Linux berikut penting: pwd, ls, dan cd. `pwd` untuk mengetahui direktori dimana kita berada (print working directory), `ls` untuk mendaftar file dan direktori di bawah direktori saat ini (list), dan `cd` untuk berpindah direktori (change directory). Lebih detailnya perhatikan screencast berikut.

Video tersebut mendemokan bahwa perintah dasar Linux bisa dipakai dan sangat berguna di IPython. Sebagai rangkuman, berikut tiga perintah dasar Linux tersebut:

pwd: untuk mengetahui direktori saat ini.
ls: untuk mendaftar file dan direktori dalam direktori saat ini.
cd: untuk berpindah direktori.
Python List

Python pada dasarnya tidak mengenal tipe data seperti pada bahasa pemrograman lainnya, namun mengenal tipe kontainer. Tipe kontainer dalam python yang paling dasar adalah list. Bayangkan ada sekumpulan angka (misal: 1, 2, 3, ...9) dan angka-angka tersebut disimpan dalam sebuah variabel x. Inilah list dalam python.


Secara singkat, video di atas mendemokan pembuatan matrik satu dimensi (vektor) berikut dengan list. Beberapa perintah penting yang perlu diingat adalah: append, sort, remove dan list kosong [].

 a = [1, 2, 3, 4, 5, 6, 7, 8, 9]

 b = [9, 8, 7, 6, 5, 4, 3, 2, 1]

 c = [[1, 2, 3, 4, 5, 6, 7, 8, 9], [9, 8, 7, 6, 5, 4, 3, 2, 1]]

Ukuran matric c adalah dua dimensi (ditunjukkan dengan output perintah len), yakni (2, 9): dua baris dan 9 kolom. Selanjutnya operasi matrik akan jauh lebih mudah dilakukan dengan NumPy array daripada menggunakan Python list.

NumPy Array

Numpy array adalah jantung utama Python untuk komputasi saintifik. Pada pengenalan NumPy kali ini kita akan berkenalan dengan np.array, np.arrange dan np.append, beserta beberapa attribute-nya: dtype, ndim, itemsize shape, dan reshape. Lebih jelasnya pelajari dengan seksama video berikut.

Rangkuman dari perintah-perintah NumPy di atas sebagai berikut.

np.array: Untuk membentuk numpy array
np.arange: untuk membentuk array dengan jarak yang sama (evenly spaced)
np.append: untuk menggabunkan beberapa array
Kenapa IPython, bukan Jupyter Notebook atau yang lainnya?

Tidak bisa dipungkiri, Jupyter Notebook (yang merupakan satu proyek dengan IPython) lebih intuitif dan user friendly. Selain banyak kekurangan Jupyter Notebook yang disebutkan di slide ini, kecepatan dan kesederhanaan IPython memudahkan kita untuk belajar Python dan NumPy dengan lebih cepat. Dengan hanya menekan tombol ctrl-alt-t  (membuka terminal) kemudian mengetikkan ipythonkita sudah bisa bereksperimen. Tentunya IPython tidak bisa dipakai sepenuhnya untuk analisa dan pengembangan perangkat lunak berbasis Python secara menyeluruh. Namun setidaknya dengan IPython kita bisa: (1) belajar, (2) mengecek hipotesa/algoritma, dan (3) debug/mencari error dari program Python yang dibuat. Penulisan skrip Python dengan editor tetap dibutuhkan dan dipelajari pada tahap-tahap selanjutnya.

Penutup

Sebagai penutup, (ide) tulisan ini menitik beratkan konsep penggunaan IPython untuk mempelajari Python+NumPy, perangkat yang banyak digunakan untuk sains data dan kecerdasan buatan. Tulisan awal ini bertujuan untuk mengenalkan perintah dasar Linux, Python List, dan NumPy array beserta penggunaannya. Dari ketiganya, sub-konsep yang ingin dikenalkan adalah numpy array (np.array), dan perbedaannya dengan python list ([]). Artikel ini akan diikuti artikel lainnya dengan bahasa yang sederhana, contoh yang mudah dimengerti, dan satu konsep per artikel.

Tulisan ini bersambung di sini: Mengubah Bentuk Matriks pada NumPy.

Avatar

Bagus Tris Atmaja

Menyelesaikan sarjana (2009) dan magister (2012) di Teknik Fisika ITS. Gelar PhD diperoleh di bidang "Information Science" dari Japan Advanced Institute of Science and Technology (JAIST). Saat ini bekerja sebagai peneliti di Artificial Intelligence Research Center, AIST Tsukuba.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA Image

*