Basic Python
Suberlin Sinaga
Python 101
Hello World
Untuk membuat hello world di Python, kita bisa langsung menggunakan perintah print untuk
menampilkan hasil di console.
print("Hello World!")
Hello World!
Data Types
Primitive Data Types
Tipe data primitif adalah tipe data dasar dalam python yang biasanya berupa nilai tunggal
(skalar). Nilai data primitif ini biasanya bersifat immutable (tidak dapat diubah).
Integer
Integer adalah tipe data untuk merepresentasikan bilangan bulat.
1; 2; 3
1
Float
Float adalah tipe data yang merepresentasikan angka yang mendukung koma.
1.2; 1.4
1.4
Complex
Complex adalah bilangan yang merepresentasikan bilangan imajiner.
1 + 5j; 6j; 10 + 4j
(10+4j)
String
String adalah tipe data yang merepresentasikan teks. String adalah satu2nya tipe data primitive
yang terdiri dari sekumpulan character, tapi nilainya tetaplah merupakan satu nilai tunggal.
Untuk membedakan string dengan tipe data lainnya, string biasanya diapit dengan 2 tanda
kutip (straight quote) baik itu kutip ganda (“ “) maupun kutip tunggal (’ ’).
"halo"; 'hai'; '6'; '6j + 10'
'6j + 10'
Non Primitive Data Types
Non primitive data types adalah tipe data yang berisikan sekumpulan data (bukan skalar).
Data non primitive biasanya bersifat mutable (bisa diubah), kecuali tuple.
2
List
List adalah tipe data yang berisi sekumpulan data. Data ini dapat bertipe apa saja, baik itu
primitive maupun non primitive, bahkan berisi list lainnya. List biasanya diapit oleh tanda
kurung siku ([]).
[1,2,3,4]
[1,1.3,1+6j,"halo"]
[[1,2,3], [1.4,1.5], ["jono", "joni"], {1,2,34}, {"nama": "Joko"}]
[[1, 2, 3], [1.4, 1.5], ['jono', 'joni'], {1, 2, 34}, {'nama': 'Joko'}]
List dapat dibentuk dengan 2 cara:
• Langsung menggunakan kurung siku seperti contoh
• memanggil perintah list(). Biasanya digunakan untuk mengkonversi tipe data non
primitive lain menjadi list.
Tuple
Tuple adalah tipe data yang berisi kumpulan data. Seperti list, tuple data diisi dengan apapun.
Ada dua perbedaan dasar tuple dan list, pertama tuple diapit oleh kurung biasa (()), dan juga
tuple bersifat immutable (tidak dapat diubah).
print((1,2,3,4))
(1,1.3,1+6j,"halo")
([1,2,3], [1.4,1.5], ["jono", "joni"])
(1, 2, 3, 4)
([1, 2, 3], [1.4, 1.5], ['jono', 'joni'])
Tuple dapat dibentuk dengan 2 cara:
• Langsung menggunakan kurung biasa seperti contoh
• memanggil perintah tuple(). Biasanya digunakan untuk mengkonversi tipe data non
primitive lain menjadi list.
3
Dictionary
Dictionary adalah tipe data yang terdiri dari key value pair. Key adalah kunci dari sebuah
dictionary yang bersifat unik. Sedangkan value adalah nilai literal yang diwakili oleh key. Key
haruslah berbentuk string tunggal, sementara valuenya dapat berbentuk apapun. Dictionary
diapit oleh kurung kurawal ({}).
{
"nama": "jaka",
"hobi": ["baca", "mancing", "fighting"]
}
{'nama': 'jaka', 'hobi': ['baca', 'mancing', 'fighting']}
Dictionary dapat dibentuk dengan 2 cara:
• Langsung menggunakan kurung kurawal seperti contoh
• memanggil perintah dict(). Biasanya digunakan untuk mengkonversi tipe data non
primitive lain menjadi dictionary.
Set
Set adalah sebuah koleksi seperti list dan tuple. Bedanya nilai di dalam set haruslah unik dan
tidak boleh berulang. Selain itu, set diapit oleh kurung kurawal seperti dictionary.
{"halo", "hai", "Jaka"}
{'Jaka', 'hai', 'halo'}
Set dapat dibentuk dengan 2 cara:
• Langsung menggunakan kurung kurawal seperti contoh
• memanggil perintah set(). Biasanya digunakan untuk mengkonversi tipe data non
primitive lain menjadi dictionary.
Catatan:
Tipe penulisan di python yang otomatis menyesuaikan tipe data disebut dengan duck typing.
4
Slicing
Slicing adalah cara untuk mengekstrak atau mengambil bagian dari sebuah koleksi data.
Konsepnya seperti mengambil sepotong kue dari kue yang utuh. Sintaks dasar untuk slicing
adalah
Object[start:stop:step]
Dimana:
• start: Indeks awal di mana pemotongan dimulai. Jika tidak ditentukan, slicing dimulai
dari awal koleksi (indeks 0).
• stop: Indeks akhir di mana pemotongan berhenti. Nilai pada indeks ini tidak disertakan
dalam hasilnya.
• step: Jarak atau langkah antar elemen yang diambil. Jika tidak ditentukan, nilainya
adalah 1 (mengambil setiap elemen).
string = 'Halo'
string[0:-1]
'Hal'
Catatan:
• Walaupun string adalah skalar, tapi secara internal dia adalah kumpulan dari character.
• Index dari python dimulai dari 0.
Apa Artinya Immutable?
Immutable artinya adalah nilai sebuah objek di memory dapat diganti. Setiap ob-
ject/variable/literal yang kita ketikan akan disimpan di memory yang diwakili oleh sebuah
alamat. Di python, untuk mengakses alamat ini, kita bisa menggunakan fungsi id().
Contoh:
print(id(5))
139982419006712
5
Bayangkan data ini adalah sebuah rumah. Jika kita mau mengubah (merenovasi) rumah, maka
kita akan mengubah tampilannya tapi alamatnya tidak berubah. Nah data immutable ini
adalah kondisi dimana, data yagn sudah diassign di sebuah memory (diwakili oleh alamat)
tidak dapat diubah. Mari kita buktikan. Misalnya kita menyimpan nilai 5 di variable x.
x = 6
print(id(x))
139982419006744
Nah, sekarang kita akan “renovasi” x menjadi 10.
x = 10
print(id(x))
139982419006872
Lihatlah, bahwa alih2 mengubah nilai, python akan membuat sebuah alamat baru karena nilai
dialamat yang lama tidak dapat diubah. Bagaimana dengan tuple?
x = (1,2,3,4)
print(id(x))
139980814295712
Pada dasarnya, tidak ada tersedia method untuk menambah nilai baru ke tuple (termasuk
slicing), untuk mengatasi ini, kita bisa melakukan penggabungan 2 tuple untuk melihat apakah
tuple kita memodifikasi nilainya atau membuat alamat baru.
x = x + (5,)
print(id(x))
139982060307072
Sekarang mari kita lihat apa yang terjadi pada tipe data yang bersifat mutable.
x = [1,2,3,4]
print(id(x))
139981665371520
6
x += [9]
print(x)
print(id(x))
[1, 2, 3, 4, 9]
139981665371520
See, nilai dari object x berubah tapi alamatnya tidak. Yang mengindikasikan bahwa data
tersebut mutable (dapat diubah) seperti kita merenovasi rumah. Berbeda dengan tipe data
immutable.
Variable
Variable adalah sebuah nama atau label yang menyimpan sebuah nilai. Nilai yang disimpan
dalam sebuah variabel biasa disebut sebagai literal. Literal dapat berupa data apapun.
a = 5
print(a)
Aturan penulisan variable:
• Tidak diawali dengan angka.
• Nama variabel hanya boleh mengandung huruf, angka, dan garis bawah (_).
• Nama variable bersifat case sensitif, artinya a dianggap berbeda dengan A
• Usahakan untuk selalu membuat nama variabel yang self descriptive.
Komentar
Komentar adalah bagian dari kode yang tidak akan dieksekusi. Di python kita menggunakan
tanda pagar (#) untuk memberitahukan bahwa kode baris setelah tanda pagar adalah komen.
# 4
Bagaimana jika komennya adalah sebuah kata2 panjang? Ada 2 cara, kita menggunakan tanda
pagar (#) untuk setiap baris komen, atau mengguanakan kutip “ “ “komen” “ “. Perhatikan
contoh.
7
# Aku adalah komen pertama
# Aku adalah komen kedua
"""
Aku adalah kumpulan komen.
- Aku komen pertama
- Aku komen kedua
"""
'\nAku adalah kumpulan komen.\n - Aku komen pertama\n - Aku komen kedua\n\n\n\n'
Perlu diperhatikan bahwa pada cara kedua, sebenarnya kita tidak benar-benar membuat
komen. Kita hanya membuat multiline string yang akan membantu kita untuk berperan
sebagai komen.
Operasi Matematika
Di dalam python, operasi aritmatika dapat langsung digunakan dan mengikuti standar urutan
operasi.
5 + 4
5**2
25**0.5 # -> akar kuadrat dari 25
125**(1/3) # -> akar pangkat tiga dari 125
(5+4)*6 # tambah dulu baru kali
5+4*6 # kali dulu baru tambah
40 % 3 # modulus
pow(4,5) # pangkat
abs(-5) # absolute
Operator
Ada beberapa jenis operator dalam python.
8
Aritmatika
Operator ini terdiri dari: +, -, *, /, %, **, //
4+5
5-4
4*5
5/4
5%4
4**5
5//4
Logika
Operator ini terdiri dari: and (& bitwise), or (| bitwise), not (~ bitwise).
a = 4
b = 5
if a == 4 and b == 5:
print("Halo")
if a == 4 & b == 5:
print("Halo") # tidak menghasilkan apa apa, karena & hanya melihat 4 dan b (bitwise)
if (a == 4) & (b == 5):
print("Halo") # akan berhasil karena tanda kurung mengelompokan logika menjadi hanya 2, y
Halo
Halo
Perbandingan
Operator ini terdiri dari: ==, !=, >, <, >=, <=
a > 5
b < 1
False
9
Penugasan (Assignment)
Terdiri dari: =, +=, -=, *=, %=
a = 5
a == 5
a += 1 # tambahkan berapapun nilai a saat ini, lalu hasilnya simpan kembali di a
a %= 3 # berapa modulus dari a % 3, hasilnya simpan menjadi a.
Identitas
Terdiri dari is dan is not.
type("a") is str # memeriksa apakah "a" bertipe str (string)
type(5) is int # memeriksa apakah 5 bertipe int (integer)
True
Keanggotaan
Terdiri dari in dan not in.
"a" in "halo" # apakah "a" adalah anggota "halo"
"saya" in ["kamu", "dia", "kita"] # apakah "saya" adalah anggota dari list ["kamu", "dia", "k
False
Flow Control
Flow control adalah konsep dasar dalam pemrograman yang mengacu pada urutan eksekusi kode.
Biasanya flow control ini melibatkan 2 konsep utama, conditional statement dan pengulangan.
If Statement (Conditional Statement)
If statement digunakan untuk membuat keputusan berdasarkan suatu kondisi. Syntax dari
flow control di python adalah:
10
if condition_a:
do b
elif condition_b:
do c
else:
do nothing
usia_adik = 18
if usia_adik >= 17:
print("Boleh Nyetir")
Boleh Nyetir
Di sini, program kita hanya tau apa yang harus dia lakukan kalau usia adik di atas atau sama
dengan 17. Bagaimana kalau usia adik di bawah 17? Program tidak akan melakukan apapun.
Untuk memastikan bahwa program memberitahu bahwa adik tidak boleh nyetir jika usianya
kurang dari 17, kita bisa menambahkan else sebagai berikut.
if usia_adik >= 17:
print("Boleh Nyetir")
else:
print("Ngga Boleh Nyetir")
Boleh Nyetir
Lalu kemudian, kita kepikiran kalau adik usia nya 15, dia harus diinfokan kalau dia harus
belajar nyetir. Maka kita bisa menambahkan elif.
if usia_adik >= 17:
print("Boleh Nyetir")
elif usia_adik >= 15:
print("Belajar Nyetir")
else:
print("Ngga Boleh Nyetir")
Boleh Nyetir
11
Loop
Loop adalah sebuah konsep yang memungkinkan sebuah alur kerja dieksekusi berulang kali. Ini
sangat berguna ketika semua anggota suatu kelompok akan menerima treatment (komputasi)
yang sama. Di python ada 2 jenis loop atau perulangan, for loop dan while loop.
For Loop
For loop adalah pengulangan yang dilakukan pada suatu koleksi data. Jumlah pengulangannya
sudah ditentukan secara default. Syntax for loop adalah sebagai berikut:
for member in collection:
print(member)
member + 5
etc
for a in range(10):
print(a)
0
1
2
3
4
5
6
7
8
9
while Loop
While loop adalah pengulangan yang secara default tidak ditentukan jumlah iterasi (pengulan-
gan) nya. Sehingga while loop sering disebut sebagai indefinite loop. Kita harus extra berhati2
saat menggunakan while dan harus memastikan kita memberikan sebuah kondisi yang akan
dicapai untuk menghentikan while loop. Syntax while loop adalah sebagai berikut.
step = 0 # biasanya kita declare variable untuk bantuan
while condition_a:
print("halo")
step += 1
12
if step == 10:
condition_a = not condition_a
step = 0
while step < 1000:
print("step", step)
step += 2 # akan memastikan step bertambah setiap iterasi hingga dia akan mencapai ? 1000
Skip and/or Stop the Loop
Ada kalanya kita ingin melewati atau tidak mengeksekusi sebuah perintah ketika satu kondisi
terpenuhi. Untuk ini, kita bisa menggunakan perintah continue.
for idx in range(0, 10):
if idx == 5:
continue
print(idx)
0
1
2
3
4
6
7
8
9
Sementara jika kita ingin menghentikan loop ketika suatu kondisi terjadi, maka perintah break
harus digunakan.
idx = 0
while idx < 10:
idx += 1
if idx == 5:
break
print(idx)
13
2
3
4
Fungsi
Bayangkan kamu memiliki sebuah mesin sederhana. Setiap kali kamu memasukkan bahan
baku, mesin itu akan melakukan serangkaian langkah untuk menghasilkan produk jadi. Fungsi
dalam Python itu persis seperti mesin ini.
Fungsi adalah blok kode yang dirancang untuk melakukan tugas spesifik. Kamu bisa memang-
gilnya kapan saja untuk menjalankan tugas tersebut tanpa harus menulis ulang kodenya.
Tiga Alasan Utama Menggunakan Fungsi
• Menghemat Waktu (Reusabilitas): Daripada menulis kode yang sama berulang kali, kamu
cukup membuat satu fungsi dan menggunakannya lagi.
• Kode Jadi Rapih (Modularitas): Program besar bisa dipecah menjadi fungsi-fungsi kecil,
membuat kode lebih terstruktur dan mudah dipahami.
• Memudahkan Perbaikan (Debugging): Jika ada kesalahan, kamu hanya perlu memper-
baikinya di satu tempat, yaitu di dalam fungsi.
Cara Membuat dan Menggunakan Fungsi
Struktur fungsi terdiri sebagai berikut.
• Kata Kunci def: Ini memberi tahu Python bahwa kamu akan membuat fungsi.
• Nama Fungsi: Nama yang deskriptif untuk tugas yang akan dilakukan fungsi.
• Tanda Kurung biasa (()): Kurung ini akan menjadi tempat kita memasukkan argument
fungsi.
• Argument (optional): Argumen akan menjadi “gerbang” kita memasukkan informasi
yang dibutuhkan oleh fungsi agar fungsi dapat bekerja dengan baik.
• Titik dua (:): Tanda titik dua adalah wajib dan ditempatkan setelah tutup kurung
dalam fungsi yang menandakan bahwa fungsi akan melanjutkan ke tahap body dan akan
membutuhkan indentasi untuk record setelahnya.
• Body: Body adalah blok kode yang berisi instruksi-instruksi yang akan dieksekusi setiap
kali fungsi dipanggil. kode di dalam badan fungsi harus diberi indentasi.
• Pernyataan balikan (optional): Adalah perintah untuk memberitahu python bahwa fungsi
Anda harus memberikan output. Pernyataan balikan dalam python adalah return.
14
• Docstring (optional): adalah sebuah string yang ditempatkan di bawah fungsi yang akan
menjadi “dokumentasi”. Yaitu petunjuk kepada calon pengguna fungsi tentang deskripsi
fugnsi dan bagaimana cara menggunakan fungsi tersebut.
def jumlahkan(a:int, b:int=0):
"""
Menjumlahkan dua buah integer.
parameters
----------
a: sebuah integer
b: integer yang ingin dijumlahkan dengan integer pertama. Nilai defaultnya adalah
"""
return a + b
Keyword def digunakan untuk membuat fungsi. Keyword def langsung diikuti oleh nama fungsi
yang ingin kita buat. Setelah nama fungsi, ada tanda kurung
# panggil untuk menggunakan
jumlahkan(4,5)
jumlahkan(a=4, 5) # SyntaxError karena keyword argument ditulis duluan
jumlahkan(5, a=4) # SyntaxError karena a adalah variable pertama, tapi malah di reassign lagi
jumlahkan(a=4, b=5)
jumlahkan(4)
SyntaxError: positional argument follows keyword argument ([Link], line 3)
Cell In[78], line 3
jumlahkan(a=4, 5) # SyntaxError karena keyword argument ditulis duluan
ˆ
SyntaxError: positional argument follows keyword argument
Print vs Output dalam fungsi
Print adalah sebuah kondisi dimana kita ingin menampilkan informasi kepada pengguna. Kita
menggunakan print() untuk hal ini. Hasil dari print tidak dapat di tangkap oleh pengguna
dan hanya merupakan informasi biasa saja.
def jumlahkan_return(a:int, b:int=0):
"""
Menjumlahkan dua buah integer.
parameters
----------
15
a: sebuah integer
b: integer yang ingin dijumlahkan dengan integer pertama. Nilai defaultnya adalah
"""
return a + b
def jumlahkan_print(a:int, b:int = 0):
"""
Menjumlahkan dua buah integer.
parameters
----------
a: sebuah integer
b: integer yang ingin dijumlahkan dengan integer pertama. Nilai defaultnya adalah
"""
print(a + b)
exe_1 = jumlahkan_return(4,5)
exe_2 = jumlahkan_print(4,5)
print("Exe 1:", exe_1)
print("Exe 2:", exe_2) # hasilnya None karena tidak ada pernyataan balikan (return) yang dapa
9
Exe 1: 9
Exe 2: None
Menginstal Library
Setelah anda membuat banyak fungsi, biasanya fungsi2 ini akan dikelompokkan di “pack”
menjadi sebuah “package” yang disebut library atau modul. Python sendiri memiliki banyak
sekali package atau module yang dapat diinstall melalui package manager seperti pip. Perintah
ini HARUS DIEKSEKUSI DI TERMINAL (bash/sh). Untuk menginstall library di python,
kita menggunakan syntax berikut.
pip install pandas # untuk menginstall library bernama pandas
Requirement already satisfied: pandas in /home/saians07/.pyenv/versions/3.14.0/envs/py-genera
Requirement already satisfied: numpy>=1.26.0 in /home/saians07/.pyenv/versions/3.14.0/envs/py
Requirement already satisfied: python-dateutil>=2.8.2 in /home/saians07/.pyenv/versions/3.14.
Requirement already satisfied: pytz>=2020.1 in /home/saians07/.pyenv/versions/3.14.0/envs/py-
16
Requirement already satisfied: tzdata>=2022.7 in /home/saians07/.pyenv/versions/3.14.0/envs/p
Requirement already satisfied: six>=1.5 in /home/saians07/.pyenv/versions/3.14.0/envs/py-gene
[notice] A new release of pip is available: 25.2 -> 25.3
[notice] To update, run: pip install --upgrade pip
Note: you may need to restart the kernel to use updated packages.
Memanggil Library
Library yang terinstall di python, tidak bisa langsung digunakan. Mereka harus dipanggil.
Untuk memanggil library, kita menggunakan perintah import.
import pandas as pds
Di sini, kita memanggil library pandas dan memberikan panggilan alias. jadi sekarang, setiap
kali kita mau akses fungsi di library pandas, kita cukup gunakan nama pd bukan lagi pandas.
Python 101 Pengayaan
Virtual Environment
Dalam konsep pengembangan python, dikenal yang namanya virtual environment. Virtual
environment adalah sebuah “tempat” isolasi untuk menyimpan python, library, dan prosesnya
diluar “global” python yang terinstall di device kita. Ada beberapa library yang bisa kita
gunakan untuk mengolah virtual environment, salah satu yang saya sering pakai adalah
virtualenv.
Install Virtual Environment
pip install virtualenv
Requirement already satisfied: virtualenv in /home/saians07/.pyenv/versions/3.14.0/envs/py-ge
Requirement already satisfied: distlib<1,>=0.3.7 in /home/saians07/.pyenv/versions/3.14.0/env
Requirement already satisfied: filelock<4,>=3.12.2 in /home/saians07/.pyenv/versions/3.14.0/e
Requirement already satisfied: platformdirs<5,>=3.9.1 in /home/saians07/.pyenv/versions/3.14.
[notice] A new release of pip is available: 25.2 -> 25.3
[notice] To update, run: pip install --upgrade pip
Note: you may need to restart the kernel to use updated packages.
17
Membuat Virtual Environment
Untuk membuat virtual environment python baru, kita cukup menggunakan syntax di terminal
(bash/sh):
virtualenv nama_environtment
Untuk nama_environment bisa diisi apa saja terserah. Perintah ini sebaiknya di eksekusi
di dalam project yang teman2 sedang kerjakan. Hal ini penting, karena perintah ini akan
menghasilkan sebuah folder yang sama dengan nama_environment yang kita ketikan tadi.
Aktivasi Virtual Environment
Hasil pembuatan virtual environment dengan virtualenv akan menghasilkan folder sesuai
dengan nama virtual environment yang kita buat. Kita selanjutnya bisa mengaktivasi virtual
environment kita dengan cara sebagai berikut:
source nama_environment/bin/activate # linux dan macos
nama_environment/Scripts/activate # windows
Saat virtual environment aktif, perintah python apapun yang Anda eksekusi akan menggunakan
versi yang sama dengan yang ada di virtual environment.
Deaktivasi virtual Environment
Untuk kembali menggunakan python versi global, Anda bisa mendeaktifasi python environment
dengan perintah berikut
deactivate # linux, windows, macos
18