Apa itu Python?
Python merupakan bahasa pemrograman tingkat tinggi yang diracik oleh Guido van
Rossum.
Python banyak digunakan untuk membuat berbagai macam program, seperti: program
CLI, Program GUI (desktop), Aplikasi Mobile, Web, IoT, Game, Program untuk
Hacking, dsb.
Python juga dikenal dengan bahasa pemrograman yang mudah dipelajari, karena
struktur sintaknya rapi dan mudah dipahami.
(Python bagus untuk pemula yang belum pernah coding)
Kenapa belajar Python?
Python adalah bahasa pemprograman yang sangat sederhana dibandingkan bahasa
yang lainnya. Tidak perlu ini dan itu untuk membuat program Hello World!.
Persiapan Alat untuk Belajar Pemrograman Python
Apa saja alat-alat yang harus dipersiapkan untuk belajar pemrograman python?
1. Python: Interpreter yang menerjemahkan bahasa python ke bahasa mesin,
sehingga program bisa dijalankan.
2. Teks Editor/IDE: Program yang digunakan untuk menulis kode.
Bagaiaman cara install Python?
Bagi pengguna Linux, Python tidak perlu diinstal. Karena Sebagian besar distro Linux
sudah menyediakannya secara default.
Untuk mengeceknya, silahkan ketik perintah python --version di terminal.
$ python --version
Python 2.7.12
Bagi pengguna Windows, Python perlu diinstal. Download Python di python.org dan
install.
Pemrograman Python Menggunakan PyCharm
PyCharm merupakan IDE terbaik untuk pemrograman python. PyCharm dibuat oleh
JetBrains.
Ada dua versi PyCharm:
1. Versi Profesional (Trial 30 hari) – Memiliki fitur lebih banyak untuk
pemrograman python dan web.
2. Versi Komunitas (Gratis dan opensource) – Fiturnya standar untuk
pemrograman python.
Pada panduan ini, kita akan menggunakan PyCharm versi Komunitas.
Silahkan download PyCharm di website JetBrains.
Alur Kerja Pembuatan Program Python
1. Membuat skrip python dengan teks editor.
2. Skrip python diterjemahkan ke dalam kode biner oleh (intepreter) python,
sehingga komputer dapat mengerti arti perintah tersebut.
3. Komputer mengerjakan perintah tersebut.
Membuat Project Baru
4. Setelah instalasi selesai, buka Pycharm lalu buat project baru dengan cara klik
pada File -> NewProject :
5. New Project
6. Selanjutnya beri nama HelloWorld pada field Location.
7. New Project Hello World
8. Selanjutnya cukup klik "Create" dan proyek akan terbuat, berikut adalah tampilan
yang akan muncul jika langkah yang dilakukan sudah benar :
TIPE DATA
Tipe data adalah jenis data yang dimiliki oleh sebuah objek atau variabel.
Dalam Python kita tidak perlu mendefinisikan tipe data pada suatu variabel
1. Integer
Nilai : Bilangan bulat. Contoh -128, 77
Contoh Inisialisasi
>>>kecepatan = 120
>>>print(kecepatan)
120
2. Floating Point
Nilai : Bilangan dengan desimal. Contoh -3.14159
Contoh Inisialisasi
>>>gravitasi = 9.8
>>>print(gravitasi)
9.8
>>>berat = 99.99
>>>print(berat)
99.99
3. Boolean
Nilai : true atau false
Contoh Inisialisasi
>>>huruf = False
>>>print(huruf)
False
4. String
Nilai : sebuah karakter ASCII diapit tanda " atau '
Contoh Inisialisasi
>>>huruf = "c"
>>>print(huruf)
c
5. Complex
Nilai : pasangan angka real dan imajiner
Contoh Inisialisasi
>>>rumus = 1 + 5j
>>>print(rumus)
(1 + 5j)
6. Tuple
Nilai : Data yang menyimpan berbagai tipe data dan isinya bisa
diubah-ubah
Contoh Inisialisasi
>>>tup = ('huruf', 21, 0.5)
>>>print(tup)
('huruf', 21, 0.5)
Variabel
Variabel adalah lokasi memori yang dicadangkan untuk menyimpan nilai-nilai. Variabel
menyimpan data yang dilakukan selama program dieksekusi, yang nantinya isi dari
variabel tersebut dapat diubah oleh operasi - operasi tertentu pada program yang
menggunakan variabel.
Variabel dapat menyimpan berbagai macam tipe data. Di dalam pemrograman Python,
variabel mempunyai sifat yang dinamis, artinya seperti yang sudah kita praktekan di
modul Tipe Data, variabel Python tidak perlu didekralasikan tipe data tertentu dan
variabel Python dapat diubah saat program dijalankan.
Aturan penulisan variable
Berikut adalah aturan penulisan variable pada Python :
Karakter pertama harus berupa huruf atau garis bawah/underscore _
Karakter selanjutnya dapat berupa huruf, garis bawah/underscore _ atau angka
Karakter pada nama variabel bersifat sensitif (case-sensitif). Artinya huruf kecil
dan huruf besar berbeda. Contoh : getInfo dan getinfo adalah variabel yang
berbeda.
Contoh memasukan data kedalam variabel :
>>>nama = "Michael"
>>>print(nama)
Michael
Nilai dan variabel dapat diubah
>>>angka = 5
>>>print(angka)
5
>>>angka = "lima"
>>>print(angka)
Lima
OPERATOR
Operator sering kita kenal sebagai simbol-simbol dalam operasi matematis. Dalam
pemrogaraman operator berfungsi dengan cara yang sama dengan operasi matematis.
Berikut adalah daftar kelompok operator yang digunakan pada pemrograman Python,
penjelasan lebih mendetail akan kita bahas pada modul berikutnya :
1. Operator Aritmatika (Arithmetic Operator)
Operator ini digunakan untuk melakukan operasi dasar bilangan matematika.
Berikut arti dari simbol-simbol aritmatika :
+ : Penjumlahan
- : Pengurangan
* : Perkalian
** : Pangkat
/ : Pembagian
// : Pembagian bulat
% : Modulus (Sisa dari pembagian)
2. Operator Penetapan Nilai (Assignment Operator )
Operator ini digunakan untuk menetapkan nilai dari sebuah variabel, contoh :
3. x = 5
4. y = 3
5.
bvar = False
6. Operator Pembanding (Comparison Operator)
Operator pembanding digunakan dalam seleksi kondisi bersyarat (if) dan
menghasilkan nilai boolean true/false. Jika nilai true maka statement di
dalam if akan di eksekusi.
Berikut arti dari simbol-simbol operator pembanding :
== : sama dengan
!= : tidak sama dengan
> : lebih besar
< : lebih kecil
>= : lebih besar sama dengan
<= : lebih kecil sama dengan
7. Operator Logika (Logical Operator)
Operator logika digunakan sebagai tambahan untuk operator pembanding.
Dengan operator logika, kita dapat membandingkan beberapa hal sekaligus.
Berikut arti dari simbol-simbol operator logika :
not : membalik nilai boolean, misal b = true. maka not b = false.
and : memeriksa variabel lain, jika salah satu kondisi tidak terpenuhi,
maka statement tidak akan terpanggil.
or : memeriksa variabel lain, jika salah satu kondisi terpenuhi,
maka statement tetap terpanggil.
8. Operator Kondisional (Conditional Operator)
Operator Terner digunakan untuk menetapkan nilai variabel dengan sebuah
kondisi dan dua pilihan jika kondisi tersebut terpenuhi atau tidak
9. Operator Bitwise
Operator bitwise digunakan untuk mengubah nilai bit pada memori. Cara
kerjanya operator bitwise mengubah bilangan bulat menjadi bilangan biner, lalu
akan melakukan operasi sesuai operator yang dipakai. Selanjutnya nilai tersebut
akan diubah menjadi bilangan bulat kembali. Penjelasan lebih lanjut mengenai
penggunan operator bitwise akan dijelaskan secara khusus pada modul
selanjutnya.
Berikut adalah arti dari simbol-simbol operator bitwise :
& : AND - Bitwise DAN
| : OR - Bitwise OR Inklusif
^ : XOR - Bitwise OR Eksklusif
~ : NOT - Membalikan nilai
<< : SHL - Pengeseran bit ke kiri
>> : SHR - Pergeseran Bit ke Kanan
Operator Aritmatika
Operator ini digunakan untuk melakukan operasi dasar bilangan. Sama dengan aturan
matematika, operator yang memiliki hak lebih tinggi akan dikalkulasi sebelum operator
lain yang memiliki hak lebih rendah (disebut operator precedence) .
Pembagian
Terdapat 2 macam pembagian pada python yaitu pembagian berdasarkan hasil aslinya,
misal 5 / 2 adalah 2.5. Sedangkan pembagian dengan simbol // maka hasil pembagian
tersebut akan dibulatkan, sehingga 5 // 2 adalah 2.
x=5
y=2
print(x/y)
a=5
b=2
print(a/b)
Modulus
Modulus akan memberikan hasil sisa bagi dari 2 integer atau float, misal 7 / 4 = 1 dari
hasil tersebut ada 3 sisa hasil bagi yang dibuang, maka 7 % 4 = 3.
x=7
y=4
z=x%y
print(z)
Precedence atau Hak Mendahului
Pada 7 simbol operator. Penjumlahan (+), pengurangan (-), perkalian (*),
pemangkatan(**), pembagian (/), pembagian bulat(//), modulus (%) :
Simbol (+, -) memiliki hak yang sama. Namun lebih rendah dibanding (*, /, %)
Simbol (*, /,//, %) memiliki hak yang sama. Namun lebih rendah dibanding (**)
Simbol (**) memiliki hak yang paling tinggi
Dalam kasus operasi dengan nilai hak yang sama, maka operasi yang dihitung adalah
dari kiri ke kanan.
Contoh :
2 * 3 / 2 = ? akan dihitung menjadi (2 * 3) / 2 = 3
Contoh kode :
x=5
y = x + 3 * 2 #akan diartikan menjadi y = x + (3 * 2)
print(y)
Eksponen
Python telah menyediakan operator eksponen tanpa menggunakan library atau fungsi
tambahan, cukup menggunakan simbol ** untuk menggunakan pemangkatan
Berikut adalah contoh penggunaan pemangkatan input dari pengguna :
print("Enter the base: ")
base = int(input())
print("Enter the exponent: ")
exp = int(input())
print(base, " ^ ", exp, " = ", base ** exp)
Kode di atas akan menampilkan kurang lebih
Enter the base: 2
Enter the exponent: 8
2^8 = 256
Operator Penetapan Nilai
Selain penetapan nilai langsung menggunakan tanda sama dengan ("="), terdapat
operator untuk menetapkan nilai variabel dengan melakukan operasi aritmatik secara
langsung. Variabel pada operasi tersebut sekaligus juga menjadi operan
pertama dalam operasi.
# Contoh :
x=3
y=5
x += 2 #ini sama dengan kode x = x + 2
y /= 5 #ini sama dengan kode y = y / 5
print(x)
x += y; #ini sama dengan kode x = x + y
print(x)
Operator Pembanding
Operator pembanding digunakan dalam seleksi kondisi bersyarat (if) dan menghasilkan
nilai boolean true/false. Jika nilai true maka statement di dalam if akan di eksekusi.
Penggunaan seleksi akan dijelaskan secara khusus pada bab selanjutnya.
Berikut adalah contoh penggunaan operator pembanding dengan data dua integer :
# silahkan ubah nilai 2 dan 5 sesuai keinginan selama mencoba operator
a=2
b=5
Operator Lebih Kecil ( < )
if (a < b):
print("a lebih kecil dari b")
else:
print("a TIDAK lebih kecil dari b")
Operator Lebih Besar ( > )
if (a > b):
print("a lebih besar dari b")
else:
print("a TIDAK lebih besar dari b")
Operator Lebih Besar Sama Dengan ( >= )
Dalam membandingkan operator, kita dapat terlebih dahulu melakukan operasi hitung
pada operan yang dibandingkan
if (a + 4 >= b): #a + 4 akan dijumlahkan, selanjutnya baru akan dibandingkan
print("a + 4 lebih besar dari b atau sama dengan b")
else:
print("a + 4 lebih kecil dari b")
Operator Lebih Kecil Sama Dengan ( <= )
if (a <= b):
print("a lebih kecil dari b atau sama dengan b")
else:
print("a lebih besar dari b")
Operator Tidak Sama Dengan ( != )
if (a != b):
print("a tidak sama dengan b")
else:
print("a sama dengan b")
Operator Sama Dengan Ganda ( == )
# Perhatikan bahwa penggunaannya adalah == bukan =.
# == digunakan untuk membandingkan, = digunakan untuk menetapkan nilai
if (a == b):
print("a sama dengan b")
else:
print("a TIDAK sama dengan b")
Operator Logika
Operator logika juga digunakan dalam kondisi bersyarat dan berhubungan dengan
operator pembanding. Jika operator pembanding hanya dapat membanding 2 variabel
dan mendapatkan sebuah hasil true/false, operator logika berfungsi untuk membantu
operator pembanding agar dapat membandingkan beberapa hal sekaligus.
Misal kita membutuhkan untuk mengetahui apakah sebuah angka lebih besar dari 10,
namun juga lebih kecil dari 30, maka kita perlu memadukan operator logika dan
operator pembanding.
Tabel Logika
Logika NOT
Untuk membandingkan 1 operan boolean atau membalikkan sebuah nilai boolean
Operan Hasil
true false
false true
Contoh :
# cobalah ubah bMyData = false setelah mencoba true
bMyData = True
# sebagai pembanding
# sama dengan if (bMyData == true)
if (bMyData):
print("bMyData true")
# sama dengan if (bMyData == false)
if (not bMyData):
print("bMyData false")
# membalikkan nilai boolean (nilai bMyData tetap setelah statement ini)
bYourData = not bMyData;
print("bYourData = ", bYourData)
Logika OR
Untuk membandingkan 2 operan, jika salah satu nilainya benar, maka hasilnya benar
(true)
Operan 1 Operan 2 Hasil
false false false
false true true
true false true
true true true
Contoh :
# ubahlah y = 0 setelah mencoba kode berikut
x=4
y=3
if (x == 0 or y == 0):
print("x atau y (atau keduanya) memiliki nilai 0")
else:
print("x maupun y tidak memiliki nilai")
Logika AND
Untuk membandingkan 2 operan, jika keduanya benar, maka hasilnya akan benar
(true), namun jika salah satu atau keduanya tidak benar, maka hasilnya salah (false)
Operan 1 Operan 2 Hasil
false false false
false true false
true false false
true true true
Contoh :
# ubahlah y = 0 setelah mencoba kode berikut
x=0
y=3
if (x == 0 and y == 0):
print("x dan y memiliki nilai 0")
else:
print("antara x atau y (atau keduanya) tidak memiliki nilai 0")
Menggabungkan Penggunaan Operator
Berikut adalah contoh penggunaan operator logika :
a=2
b = False
if (a > 0 and not b):
print("statement ini dipanggil karena a lebih besar dari 0 dan b = false")
if (a == 99 or not b):
print("statement ini dipanggil karena antara nilai a = 99 atau nilai b = false")
# lebih dari 1 operator
if (a > 0 and (not b or a == 100)):
print("kondisi benar")
Ketika menggunakan lebih dari 1 operator, kondisi benar karena :
if (a > 0 and (not b or a == 100)) : a > 0 benar
if (true and (not b or a == 100)) : b == false benar
if (true and (true or a == 100)) : a == 100 salah
if (true and (true or false)) : (true or false) benar karena salah satu nilainya true
if (true and true)
Operator Kondisional
Operator Kondisional (Operator Terner) digunakan untuk menetapkan nilai variabel
dengan sebuah kondisi dan dua pilihan jika kondisi tersebut terpenuhi atau tidak.
Penggunaannya adalah dengan rumus seperti berikut :
(nilai_jikabenar) if (kondisi) else (nilai_jika_salah)
Berikut adalah contoh penggunaannya :
is_good = True
state = "good" if is_good else "not good"
# kode di atas sangat efektif karena penggunaannya sama dengan kode berikut :
#if (is_good):
# print("good")
#else:
# print("not good")
print(state)
Dilihat dari kode di atas, dapat kita lihat bahwa operator kondisional ini menggantikan
tugas if-else menjadi lebih simpel.
Operator Bitwise
Sebelum kita menggunakan operator bitwise kita kenali terlebih dahulu apa
itu bitwise. Bitwise adalah operasi matematika yang berposes pada bilangan biner.
Bilangan biner adalah bilangan yang terdiri hanya dari angka 0 dan 1, dimana 0 adalah
tanpa nilai dan 1 memiliki nilai.
Membaca bilangan biner
Kita perlu tahu cara menghitung bilangan biner dan konversinya ke bilangan desimal
sebelum kita mulai menggunakan operator bitwise. Data biner tidak bisa memiliki nilai
negatif. Cara menghitungnya adalah dimulai dari kanan. Kita akan gunakan contoh
biner 8 bit :
Base
0000 0000 | sama dengan 0
0000 0001 | sama dengan 1 (Bagian paling kanan, nilai 1 = 1)
0000 0010 | sama dengan 2 (Bagian ke-2, nilai 1 = 2)
0000 0100 | sama dengan 4 (Bagian ke-3, nilai 1 = 4)
0000 1000 | sama dengan 8 (Bagian ke-4, nilai 1 = 8) - begitu seterusnya semakin ke
kiri (16,32,64,128)
Kombinasi
0000 1011 | dihitung dari kanan (1 + 2 + 0 + 8) = bilangan 11
0000 1101 | dihitung dari kanan (1 + 0 + 4 + 8) = bilangan 13
0000 1111 | dihitung dari kanan (1 + 2 + 4 + 8) = bilangan 15
Lebih dari 4 bit
0011 0101 | dihitung dari kanan (1 + 0 + 4 + 0 + 16 + 32 + 0 + 0) = 53
Cukup mudah untuk bukan membaca bilangan biner seperti diatas? Karena bentuknya
yang unik, bilangan ini memilki operatornya sendiri dalam mengubah nilainya.
Menggunakan operator bitwise
Terdapat 6 operator yang digunakan untuk memanipulasi data biner.
Karena bitwise hanya mendukung nilai positif, maka kita akan gunakan
variabel unsigned integer atau integer yang tidak dapat memiliki nilai negatif :
shift left (<<)
Menggeser bit ke kiri sejumlah N. Contoh, kita memiliki sebuah
variabel integer dengan nilai 1 yang dalam bit kita lihat sebagai 0000 0001 dan
akan kita geser sebanyak 2 :
x=1
x = x << 2
print(x)
Kode di atas akan menampilkan output
bit awal = 0000 0001 = 1
geser << 2 = 0000 0100 = 4
shift right (>>)
Menggeser bit ke kanan sejumlah N. Fungsinya hampir sama dengan shift
left, hanya berbeda arah gesernya :
x=5
x = x >> 2
# 5 = 0101
# 0101 >> 2 = 0001 = 1
print(x)
Pada kode di atas output yang dihasilkan adalah
Nilai paling kanan yang digeser ke kanan akan hilang
OR (|)
Operator ini memiliki cara kerja yang sama seperti operator OR, pada operator
logika (modul sebelumnya). Operator ini membandingkan 2 atau lebih nilai. Cara
kerjanya jika ada sebuah bit saja dengan nilai 1, maka hasilnya adalah 1 :
x=4
y=6
z=x|y
# x = 4 = 0100
# y = 6 = 0110
# ----
#z = 0110 = 6
print(z)
Hasil dari kode di atas akan menampilkan
AND(&)
Operator ini juga memiliki fungsi yang sama dengan operator logika &. Nilainya
hanya akan 1 jika semua yang dibandingkan memiliki nilai 1 :
x=3
y=7
z = x & y;
# x = 3 = 0011
# y = 7 = 0111
# ----
# z = 0011 = 3
print(z)
Hasil dari kode di atas akan menampilkan
3
XOR (^)
Operator ini disebut juga operator OR eksklusif. Cara kerjanya adalah
menghasilkan nilai 1 hanya jika salah satu bit memiliki nilai 1, namun jika
keduanya bernilai 1, maka hasilnya adalah 0 :
x=6
y=3
z = x ^ y;
# x = 6 = 0110
# y = 3 = 0011
# ----
#z = 0101 = 5
print(z)
Hasil dari kode di atas akan menampilkan