Estimasi Waktu Baca: 6 menit

Pemanasan

Pada kesempatan kali ini kita akan mulai belajar memahami lebih dalam tentang python setelah sebelumnya kita sudah bahas Cara Memasang Python di sistem kita. Materi yang dijelaskan mencakup bagaimana cara memulai belajar python hingga penjelasan mengenai aturan sintaks yang dimiliki oleh python.

Oke tanpa berlama lagi kita langsung saja masuk ke pembahasan

Memulai Belajar Python

Untuk memulai belajar python kalian perlu media untuk menulis kode programnya. Terdapat dua media yang dapat digunakan untuk menulis kode python, yaitu

  • Mode Interaktif Python
  • IDE atau Text Editor

Mode Interaktif Python

Adalah sebuah alat sekaligus fitur yang disediakan python sebagai tempat, media atau wadah untuk menulis kode python. Ingat bahwa python adalah bahasa interpreter, jadi fitur ini juga dapat disebut interpreter itu sendiri.

Untuk mengakses mode ini kalian perlu ketikkan perintah python di terminal.

[email protected]<span class="token punctuation">:</span><span class="token operator">~</span>$ python
Python <span class="token number">3.8</span><span class="token punctuation">.</span><span class="token number">1</span> <span class="token punctuation">(</span>default<span class="token punctuation">,</span> Jan <span class="token number">03</span> <span class="token number">2020</span><span class="token punctuation">,</span> <span class="token number">12</span><span class="token punctuation">:</span><span class="token number">50</span><span class="token punctuation">:</span><span class="token number">27</span><span class="token punctuation">)</span> 
<span class="token punctuation">[</span>GCC <span class="token number">8.3</span><span class="token punctuation">.</span><span class="token number">0</span><span class="token punctuation">]</span> on linux
Type <span class="token string">"help"</span><span class="token punctuation">,</span> <span class="token string">"copyright"</span><span class="token punctuation">,</span> <span class="token string">"credits"</span> <span class="token operator">or</span> <span class="token string">"license"</span> <span class="token keyword">for</span> more information<span class="token punctuation">.</span>
<span class="token operator">>></span><span class="token operator">></span> 

Setelah masuk mode interaktif kalian akan melihat di sebelah kiri terdapat simbol >>>. Simbol ini menandakan bahwa python siap untuk menerima perintah dari pengguna.

<span class="token operator">>></span><span class="token operator">></span>

Kemudian ketika kita membuat komentar suatu baris kode, perintah tunggal dalam beberapa baris, dan membuat sebuah blok kode, kita akan berjumpa dengan tanda (. . .). Tanda ini dinamakan secondary prompt atau sub prompt.

<span class="token operator">>></span><span class="token operator">></span> <span class="token comment"># Ini komentar</span>
<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>

Kelebihan dari mode interaktif kita dapat mencari tahu tentang isi suatu modul dan juga mengetahui kegunaan suatu fungsi tertentu dengan cepat. Untuk dapat melakukan hal tersebut kita butuh dua fungsi berikut:

  • Fungsi dir(). Menampilkan berbagai fungsi yang tersedia pada suatu modul.
  • Fungsi help(). Menampilkan dokumentasi suatu fungsi.

Untuk praktiknya coba buka mode interaktif kalian dan import sebuah modul, misalnya di sini modul math

<span class="token operator">>></span><span class="token operator">></span> <span class="token keyword">import</span> math

Selanjutnya masukkan modul math ke dalam parameter fungsi dir().

<span class="token operator">>></span><span class="token operator">></span> dir<span class="token punctuation">(</span>math<span class="token punctuation">)</span>
<span class="token punctuation">[</span><span class="token string">'__doc__'</span><span class="token punctuation">,</span> <span class="token string">'__loader__'</span><span class="token punctuation">,</span> <span class="token string">'__name__'</span><span class="token punctuation">,</span> <span class="token string">'__package__'</span><span class="token punctuation">,</span> <span class="token string">'__spec__'</span><span class="token punctuation">,</span> <span class="token string">'acos'</span><span class="token punctuation">,</span> <span class="token string">'acosh'</span><span class="token punctuation">,</span> <span class="token string">'asin'</span><span class="token punctuation">,</span> <span class="token string">'asinh'</span><span class="token punctuation">,</span> <span class="token string">'atan'</span><span class="token punctuation">,</span> <span class="token string">'atan2'</span><span class="token punctuation">,</span> <span class="token string">'atanh'</span><span class="token punctuation">,</span> <span class="token string">'ceil'</span><span class="token punctuation">,</span> <span class="token string">'copysign'</span><span class="token punctuation">,</span> <span class="token string">'cos'</span><span class="token punctuation">,</span> <span class="token string">'cosh'</span><span class="token punctuation">,</span> <span class="token string">'degrees'</span><span class="token punctuation">,</span> <span class="token string">'e'</span><span class="token punctuation">,</span> <span class="token string">'erf'</span><span class="token punctuation">,</span> <span class="token string">'erfc'</span><span class="token punctuation">,</span> <span class="token string">'exp'</span><span class="token punctuation">,</span> <span class="token string">'expm1'</span><span class="token punctuation">,</span> <span class="token string">'fabs'</span><span class="token punctuation">,</span> <span class="token string">'factorial'</span><span class="token punctuation">,</span> <span class="token string">'floor'</span><span class="token punctuation">,</span> <span class="token string">'fmod'</span><span class="token punctuation">,</span> <span class="token string">'frexp'</span><span class="token punctuation">,</span> <span class="token string">'fsum'</span><span class="token punctuation">,</span> <span class="token string">'gamma'</span><span class="token punctuation">,</span> <span class="token string">'gcd'</span><span class="token punctuation">,</span> <span class="token string">'hypot'</span><span class="token punctuation">,</span> <span class="token string">'inf'</span><span class="token punctuation">,</span> <span class="token string">'isclose'</span><span class="token punctuation">,</span> <span class="token string">'isfinite'</span><span class="token punctuation">,</span> <span class="token string">'isinf'</span><span class="token punctuation">,</span> <span class="token string">'isnan'</span><span class="token punctuation">,</span> <span class="token string">'ldexp'</span><span class="token punctuation">,</span> <span class="token string">'lgamma'</span><span class="token punctuation">,</span> <span class="token string">'log'</span><span class="token punctuation">,</span> <span class="token string">'log10'</span><span class="token punctuation">,</span> <span class="token string">'log1p'</span><span class="token punctuation">,</span> <span class="token string">'log2'</span><span class="token punctuation">,</span> <span class="token string">'modf'</span><span class="token punctuation">,</span> <span class="token string">'nan'</span><span class="token punctuation">,</span> <span class="token string">'pi'</span><span class="token punctuation">,</span> <span class="token string">'pow'</span><span class="token punctuation">,</span> <span class="token string">'radians'</span><span class="token punctuation">,</span> <span class="token string">'sin'</span><span class="token punctuation">,</span> <span class="token string">'sinh'</span><span class="token punctuation">,</span> <span class="token string">'sqrt'</span><span class="token punctuation">,</span> <span class="token string">'tan'</span><span class="token punctuation">,</span> <span class="token string">'tanh'</span><span class="token punctuation">,</span> <span class="token string">'tau'</span><span class="token punctuation">,</span> <span class="token string">'trunc'</span><span class="token punctuation">]</span>

Kemudian pilih salah satu fungsi untuk kita lihat dokumentasinya misal exp.

>>> help(math.exp)

Help on built-in function exp in module math:

exp(...)
    exp(x)
    
    Return e raised to the power of x.

Selain disebut interpreter. Mode interaktif sendiri kadang juga disebut Console, Shell, atau juga REPL (Read-Eval-Print Loop).

Meskipun fitur dari mode ini cukup canggih tapi kita sangat tidak disarankan untuk menggunakannya saat membuat program dengan kumpulan kode yang besar.

Alasan pertama karena ketika terjadi kesalahan sintaks maka mode ini akan langsung menampilkan pesan error dan membuat kalian menulis ulang baris kode dari awal, apalagi yang menyangkut masalah indentasi. Kemudian ketika mode ini ditutup maka baris kode program yang sudah dibuat sebelumnya tidak akan disimpan, baris kode tersebut akan dihapus.

Lantas kapan mode ini cocok digunakan?

Mode ini cocok digunakan saat kita perlu

  • Perhitungan kalkulator
  • Mengetes suatu modul atau fungsi tertentu
  • Mengetahui kegunaan dari modul atau fungsi tertentu
  • dan lain-lain

Menulis Kode Program Python di IDE atau Teks Editor

Kode program atau skrip python yang besar dan kompleks lebih disarankan ditulis menggunakan IDE atau Teks Editor.

Apa itu IDE atau Teks Editor? Apakah keduanya sama? Untuk mengetahui jawaban tersebut kalian bisa kunjungi link berikut (ditunggu ya)

Terdapat macam IDE dan Teks Editor yang dapat kalian gunakan untuk belajar python yang dapat kalian lihat di sini (ditunggu ya)

Hello World di Python via IDE

IDE yang saya gunakan di sini adalah IDE yang khusus untuk Python yaitu PyCharm.

Pertama-tama buka IDE PyCharm

Buat folder proyek baru

Terserah ingin dilokasikan kemana, jika sudah klik Create

Kemudian klik kanan pada folder proyek tadi dan pilih New > Python File

Beri nama sesuka kalian dengan ekstensi .py, misal di sini hello_world.py

Kemudian tulis kode di bawah

print("Hello World!")

Dan pilih tab Run atau tekan Alt+Shift+F10

Tunggu beberapa detik

Selamat kalian berhasil membuat program menampilkan “Hello World” melalui IDE di python

Hello World di Python via Teks Editor

Buka teks editor misal di sini saya pakai sublime teks.

Buat file baru dengan nama hello_world.py

Ketikkan kode berikut dan simpan

print("Hello World!")

Buka terminal, navigasikan ke lokasi file hello_world.py berada (misal di sini dalam folder Documents/) dan jalankan dengan perintah:

python hello_world.py

Selamat kalian berhasil membuat program menampilkan “Hello World” melalui teks editor di python

Alur Pembuatan Program Python

Untuk alur pembuatan program python dapat diurutkan sebagai berikut

  1. Skrip python dibuat
  2. Kemudian skrip tadi akan diterjemahkan ke bentuk biner oleh interpreter python. Hal ini bertujuan agar sistem komputer mengerti apa isi dari skrip tersebut
  3. Barulah setelah itu sistem komputer mengeksekusi perintah tersebut

Aturan Penulisan Syntaks di Python

Sama halnya dengan bahasa pemrograman pada umumnya, python juga memiliki aturannya sendiri dalam menulis sintaks, aturan-aturan ini wajib dipatuhi oleh para programmer dan pengembang.

Bagaimana jika tidak dipatuhi? Ya tentu saja akan terjadi error atau kesalahan penulisan sintaks dan menyebabkan program yang dibuat tidak akan berjalan sebagai mana mestinya.

Statement Python

Dimulai dari hal yang paling mendasar yaitu penulisan statement atau pernyataan pada python. Beberapa bahasa seperti C, C++, Java dan lain-lain setiap kali selesai menulis satu statement wajib diakhiri dengan titik koma. Sedangkan python tidak membutuhkannya.

<span class="token operator">>></span><span class="token operator">></span> x <span class="token operator">=</span> <span class="token number">1</span>
<span class="token operator">>></span><span class="token operator">></span> y <span class="token operator">=</span> <span class="token number">2</span>
<span class="token operator">>></span><span class="token operator">></span> z <span class="token operator">=</span> <span class="token number">3</span>
<span class="token operator">>></span><span class="token operator">></span> x<span class="token punctuation">,</span> y<span class="token punctuation">,</span> z
<span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">)</span>

Jadi tidak perlu merasa khawatir karena lupa memberikan tanda titik koma di akhir statement (ini sering terjadi pada programmer pemula). Karena python tidak butuh itu!

Biarpun begitu, tanda titik koma ini sebenarnya juga memiliki fungsi tersendiri dalam python. Misalnya bila kita ingin menulis lebih dari satu statement dalam satu baris maka kita bisa gunakan tanda tersebut untuk memisahkannya.

<span class="token operator">>></span><span class="token operator">></span> x <span class="token operator">=</span> <span class="token number">1</span><span class="token punctuation">;</span> y <span class="token operator">=</span> <span class="token number">2</span><span class="token punctuation">;</span> z <span class="token operator">=</span> <span class="token number">3</span>
<span class="token operator">>></span><span class="token operator">></span> x<span class="token punctuation">,</span> y<span class="token punctuation">,</span> z
<span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">)</span>

Tapi perlu diingat cara seperti di atas tidak disarankan dalam beberapa panduan python. Karena apa? Karena tidak umum sehingga terlihat aneh dan menyulitkan orang lain ketika membaca kode milik kita.

Tipe Data dan Variabel

Apa itu variabel? Apa itu tipe data? Kedua hal tersebut bisa dikatakan merupakan satu kesatuan. Variabel adalah wadah atau tempat menyimpan data atau nilai yang kita inputkan. Sedangkan tipe data menjelaskan suatu jenis atau bentuk dari suatu data. apakah data yang kita masukkan ke dalam variabel berjenis bilangan bulat? desimal? imajiner? Atau kumpulan dari karakter? atau selain itu semua?

Bingung? Baik, saya beri contoh penerapannya.

<span class="token operator">>></span><span class="token operator">></span> absen <span class="token operator">=</span> <span class="token string">"Ani"</span>
<span class="token operator">>></span><span class="token operator">></span> siswa <span class="token operator">=</span> <span class="token number">1</span>
<span class="token operator">>></span><span class="token operator">></span> nilai <span class="token operator">=</span> <span class="token number">100</span>
<span class="token operator">>></span><span class="token operator">></span> absen<span class="token punctuation">,</span> siswa<span class="token punctuation">,</span> nilai
<span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token string">'Ani'</span><span class="token punctuation">,</span> <span class="token number">100</span><span class="token punctuation">)</span>
<span class="token operator">>></span><span class="token operator">></span> type<span class="token punctuation">(</span>absen<span class="token punctuation">)</span><span class="token punctuation">,</span> type<span class="token punctuation">(</span>siswa<span class="token punctuation">)</span><span class="token punctuation">,</span> type<span class="token punctuation">(</span>nilai<span class="token punctuation">)</span>
<span class="token punctuation">(</span><span class="token operator"><</span><span class="token keyword">class</span> <span class="token string">'int'</span><span class="token operator">></span><span class="token punctuation">,</span> <span class="token operator"><</span><span class="token keyword">class</span> <span class="token string">'str'</span><span class="token operator">></span><span class="token punctuation">,</span> <span class="token operator"><</span><span class="token keyword">class</span> <span class="token string">'float'</span><span class="token operator">></span><span class="token punctuation">)</span>

Pada python pembentukan atau deklarasi variabel terjadi ketika kita inputkan nilai ke dalamnya. Sedangkan pada bahasa pemrograman lain perlu adanya deklarasi secara eksplisit.

Indentasi

Karena pada blok kode seperti perulangan, percabangan, fungsi, dan lain-lain (yang termasuk blok kode) pyhton tidak memulainya dari tanda kurung kurawal maka python memanfaatkan teknik indentasi. Apa itu indentasi? Indentasi merupakan space atau ruang y

Masih belum mengerti? coba lihat dua contoh di bawah ini

Contoh yang benar


<span class="token operator">>></span><span class="token operator">></span> <span class="token keyword">for</span> i <span class="token keyword">in</span> range<span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>   <span class="token keyword">if</span><span class="token punctuation">(</span>i <span class="token operator">%</span> <span class="token number">2</span><span class="token punctuation">)</span> <span class="token operator">==</span> <span class="token number">0</span><span class="token punctuation">:</span>
<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>     str<span class="token punctuation">(</span>i<span class="token punctuation">)</span> <span class="token operator">+</span> <span class="token string">" adalah Bilangan Genap"</span>
<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>   <span class="token keyword">else</span><span class="token punctuation">:</span>
<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>     str<span class="token punctuation">(</span>i<span class="token punctuation">)</span> <span class="token operator">+</span> <span class="token string">" adalah Bilangan Ganjil"</span>

Contoh yang salah


<span class="token operator">>></span><span class="token operator">></span> <span class="token keyword">for</span> i <span class="token keyword">in</span> range<span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">if</span><span class="token punctuation">(</span>i <span class="token operator">%</span> <span class="token number">2</span><span class="token punctuation">)</span> <span class="token operator">==</span> <span class="token number">0</span><span class="token punctuation">:</span>
<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> str<span class="token punctuation">(</span>i<span class="token punctuation">)</span> <span class="token operator">+</span> <span class="token string">" adalah Bilangan Genap"</span>
<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">else</span><span class="token punctuation">:</span>
<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> str<span class="token punctuation">(</span>i<span class="token punctuation">)</span> <span class="token operator">+</span> <span class="token string">" adalah Bilangan Ganjil"</span>

Kalian pasti dapat menemukan dengan mudah perbedaan keduanya. Yah itulah indentasi. Perlu diingat! Jangan remehkan masalah indentasi ini, bisa berakibat fatal, karena jika keliru indentasi pada satu baris kode saja dapat merusak keseluruhan kode.