Catatan Belajar Python Dasar
Pengenalan Python
Python adalah bahasa pemrograman tingkat tinggi yang dibuat oleh Guido van Rossum dan pertama kali dirilis pada tahun 1991. Python terkenal karena sintaksnya yang sederhana dan mudah dipahami, mirip dengan bahasa inggis.
Karakteristik Python
- Mudah dipelajari: Sintaks yang bersih dan sederhana
- Interpreted language: Tidak perlu dikompilasi terlebih dahulu
- Cross-platfrom (lintas system operasi): Berjalan di Windows, Mac, Linux
- Open source: Gratis dan bebas digunkan
- Versatile: Bisa digunkan untuk berbagai keperluan (web, game, apps desktop, Ai)
Kegunaan Python
- Web Development: Django, Flask
- Data Science & Analytics: Pandas, NumPy, Matplotlib
- Machine Learning: TensorFlow, scikit-lern
- Automation/Scripting: Otomatisasi tugas-tugas repetitif
- Desktop Applications: Tkinter, PyQt
- Game Development: Pygame
Kelebihan Python
- Sintaks yang mudah dipahami
- Library yang sangat banyak
- Komunitas yang besar dan aktif
- Pengembangan yang cepat
- Multiplatform
Kekurangan Python
- Kecepatan eksekusi lebih lambat dibanding bahasa compiled (C, C++, Java, Golang, dll)
- Konsumsi memori yang lebih besar
- Tidak ideal untuk mobile development
Program Hello Python
print("Hello Python")
Run Python
python nama_file.py
python3 nama_file.py
Komentar di Python
komentar digunkan sebagai catatan dan tidak akan di eksekusi oleh Python. Kita bisa menggunakan tada pagar (#) di awal baris, yang artinya baris tersebut dianggap sebagai komentar
# program hello python
print("Hello Python")
Variable dan Tipe Data
Apa itu Variable?
Variable adalah wadah untuk menyimpan data di dalam memori komputer. Dalam Python, variable bersifat dinamis tipe datanya bisa berubah selama program berjalan
Analogi Sederhananya, bayangkan variable seperti kotak dengan label. Kita bisa memasukkan berbagai jenis barang ke dalam kotak tersebut, dan labelnya adalah nama variable nya
# Membuat variable seperti memberi label pada kotak
nama = "Budi" # kotak bernama 'nama' berisi text "Budi"
umur = 25 # kotak bernama 'umur' berisi angka 25
tinggi = 170.5 # kotak bernama 'tinggi' berisi angka desimal 170.5
Aturan Penamaan Variable
- Tidak boleh dimulai dengan angka
- Tidak boleh pakai tanda minus
- Tidak boleh pakai keyword yang digunkan Python (contoh: if, dll.)
- Tidak boleh ada spasi, gunakan underscore kalau variable menggunkan 2 kata. (contoh: nama_lengkap = "budi liga")
Tipe Data Dasar Python
- Integer (int) - Bilangan Bulat
- Float - Bilangan Desimal (bilangan berkoma)
- String (str) - Teks
- Boolean (bool) - True/False (Benar/Salah)
# Cek type data dasar
print(type(nama)) # <class 'str'>
print(type(umur)) # <class 'int'>
print(type(tinggi)) # <class 'float'>
# notasi sceintific
speed_of_light = 3e8 # 3 x 10^8 = 300000000
print(type(speed_of_light)) # <class 'float'>
print(speed_of_light) # 300000000.0
# Boolean value
is_student = True
is_married = False
print(type(is_student)) # <class 'bool'>
print(type(is_married)) # <class 'bool'>
# string value multiple line
puisi = """
ini adalah puisi
yang lebih dari
satu baris
"""
print(type(puisi)) # <class 'str'>
Membuat Variable
- Untuk membuat variable, caranya seperti yang sudah kita lihat sebelumnya, yaitu menggunkan tanda = (sama dengan)
- Termasuk jika ingin mengubah data variable yang sudah dibuat, kita juga bisa menggunakan tanda = (sama dengan)
# Assignment dasar
nama = "Alice"
umur = 30
tinggi = 165.0
is_active = True
# Multiple Assignment
x = y = z = 0 # semua variable x,y,z bernilai 0
a, b, c = 1, 2, 3 # a=1, b=2, c=3
name, age = "Bob", 25 # name="Bob", age=25
# mengubah nilai variable
skor = 80
print(skor) # 80
skor = 95 # mengubah nilai variable skor
print(skor) # 95
Menggunkan Variable
- Untuk menggunkan variable, kita bisa langsung menyebut nama variable nya
- Contoh misal jika kita ingin print() isi variable, kita bisa langsung menggunkan function print(nama_variable)
- Namun jika kita ingin menampilkan lebih dari satu data pada function print(), maka kita perlu menggunkan pemisah koma, misal: print(pertama, kedua, ketiga)
# Menggunkan variable dalam operasi
nama_depan = "jhon"
nama_belakang = "Doe"
nama_lengkap = nama_depan + " " + nama_belakang
panjang = 10
lebar = 5
luas = panjang * lebar
# menggunkan variable dalam print
print("Nama lengkap:", nama_lengkap)
print("Luas persegi panjang:", luas)
Input dari Pengguna
- Kita bisa membuat input dari pengguna menggunkan function input()
- input() selalu menghasilkan string (teks).
nama = input("Masukkan nama Anda: ")
print("Hello", nama)
umur_teks = input("Masukkan umur Anda: ")
print("Umur Anda:", umur_teks)
print("Type data:", type(umur_teks))
Konversi Tipe Data
- Konversi tipe data adalah mengubah data dari sutu tipe ke tipe lainya.
- Terdapat beberapa function yang bisa kita gunakan untuk melakukan konversi dari satu tipe data ke tipe data lain
- int(), mengubah string atau data lain menjadi integer (bilangan bulat) (nilainya harus angka bukan character)
- str(), mengubah integer atau data lain menjadi string (teks)
- float(), mengubah string atau integer menjadi float (bilangan desimal) (nilainya harus angka bukan character)
- bool(), mengubah data lain menjadi boolean (True/False) (nilai string kosong atau bool False atau integer 0 atau float 0.0 terbaca nilainya False)
umur_teks = input("Masukkan umur Anda: ")
umur = int(umur_teks)
print("Umur Anda:", umur)
print("Type data:", type(umur))
String dan Manipulasi String
Apa itu string?
- String adalah tipe data untuk menyimpan teks atau kumpulan karakter. String ditulis dengan menggunkan tanda kutip, baik kutip tunggal (') atau kutip ganda (")
Menggabungkan String
- Untuk menggabungkan string, kita bisa menggunkan tanda tambah (+)
- Dan tipe data string tidak bisa digabungkan denagan tipe data lain seperti integer, float atau boolean, kita harus konversi dulu tipe data lain menjadi tipe data string
nama = "Budi"
umur = 25
# cara yang salah (akan error)
# pesan = "Nama saya " + nama + ", umur " + umur
# cara yang benar
pesan = "Nama saya " + nama + ", umur " + str(umur)
print(pesan) # Nama saya Budi, umur 25
Panjang String
- Gunakan len() untuk mengetahui panjang string, termasuk karakter spasi dan hasilnya adalah integer
nama = "Budi"
umur = 25
# cara yang benar
pesan = "Nama saya " + nama + ", umur " + str(umur)
print(pesan)
print(len(nama)) # 4
print(len(pesan)) # 23
Mengakses Karakter dalam String (Indexing)
- Setiap karakter dalam string memiliki posisi (index) yang dimulai dari 0
- Untuk mengakses tiap karakter di string, kita bisa gunakan kurung kotak [] dan didalam kurung kotak tersebut disebutkan posisi index nya
- Kita juga bisa menggunkan posisi index negatif jika ingin mulai dari karakter paling belakang
nama = "Python"
print(nama[0]) # P (karakter pertama)
print(nama[1]) # y (karakter kedua)
print(nama[2]) # t (karakter ketiga)
print(nama[-1]) # n (karakter terakhir)
print(nama[-2]) # o (karakter kedua dari belakang)
print(nama[-3]) # h (karakter ketiga dari belakang)
String Slicing
- String slicing digunakan untuk mengambil sebagian dari string
- Kita bisa menggunkan kurung kotak [] dimana didalam kurung kotak terdapat 2 posisi index dipisahkan oleh titk dua (:), itu menunjukkan posisi awal dan akhir karakter yang ingin kita ambil
- Jika kita tidak sebutkan posisi index awal, berarti akan menggunkan default (nilai bawaan) dengan 0
- Dan jika tidak menyebutkan posisi index akhir, berarti akan menggunakan default (nilai bawaan) dengan posisi index terakhir
nama = "Python"
print(nama[0:3]) # Pyt (index 0, 1, 2)
print(nama[2:5]) # tho (index 2, 3, 4)
print(nama[1:4]) # yth (index 1, 2, 3)
print(nama[:3]) # Pyt (dari awal sampai index 2)
print(nama[2:]) # thon (dari index 2 sampai akhir)
print(nama[:]) # Python (seluruh string)
String Methods (Fungsi String)
- Tipe data string memiliki method (fungsi yang menempel pada tipe data), ada banyak sekali method yang bisa digunkan seperti
- upper() untuk mengubah semua karakter string menjadi huruf besar semua (uppercase)
- lower() untuk mengubah semua karakter string menjadi huruf kecil semua (lowercase)
- title() untuk mengubah setiap awal karakter di kata menjadi huruf besar
- capitalize() untuk mengubah awal karakter menjadi huruf besar
- strip() untuk menghilangkan karakter kosong (seperti spasi) di awal dan diakhir
- replace(dari, menjadi) untuk mengganti bagian tertentu dalam string
- count(text) untuk menghitung berapa kali text muncul
- find(text) untuk mencari posisi text muncul
nama = "Alice"
nama_upper = nama.upper()
print(nama_upper) # ALICE
nama_lower = nama.lower()
print(nama_lower) # alice
nama = "john doe"
nama_title = nama.title()
print(nama_title) # John Doe
nama_capitalize = nama.capitalize()
print(nama_capitalize) # John doe
nama = " Alice "
nama_strip = nama.strip()
print(nama_strip) # 'Alice'
kalimat = "I love Java"
kalimat_baru = kalimat.replace("Java", "Python")
print(kalimat_baru) # I love Python
nama = "Mississippi"
jumlah_s = nama.count("s")
print(jumlah_s) # 4
kalimat = "Python Programming"
posisi = kalimat.find("Programming")
print(posisi) # 7
Escape Characters
- Escape Characters merupakan karakter-karakter khusus dalam string. Untuk menggunkan karakter khusus kita perlu menggunkan aturan tertentu
- \n (New line)
- \t (Tab)
- \ (Backslash)
- petik dua (") dan petik satu (') (kutip dalam string), perlu menambbahkan \ (backslash) diawal
kalimat = "Baris pertama\nBaris kedua"
print(kalimat)
data = "Nama:\tAlice\nUmur:\t25"
print(data)
path = "C:\\User\\Alice\\Documents"
print(path)
kalimat1 = "Dia berkata \"Hello\" kepada saya"
print(kalimat1)
kalimat2 = 'I\'m learning Python'
print(kalimat2)
String Interpolation
- String Interpolation adalah cara modern untuk menggabungkan variable dengan teks.
- Ini lebih mudah dibaca dan lebih efisien daripada concetenation menggunkan plus (+)
- f-strings adalah cara terbaru dan paling direkomendasikan untuk string interpolation di Python, yaitu dengan menambahkan huruf f di awal ketika membuat string
- Selanjutnya di dalam nilai string, kita bisa menggunkan kurung kurawal {} untuk mengakses variable lain
nama = "Alice"
umur = 25
kota = "Jakarta"
# menggunkan f-string
profil = f"Halo, nama saya {nama}, umur {umur} tahun, tinggal di {kota}"
print(profil)
# lebih jelas dibandingkan concatenation
profil_lama = "Halo, nama saya " + nama + ", umur " + str(umur) + " tahun, tinggal di " + kota + ""
print(profil_lama)
f-strings dengan Expressions
- f-strings dapat mengeksekusi ekspresi langsung didalamnya
harga = 100000
jumlah = 3
# Operasi matematika dalam f-string
total = f"Total: Rp {harga * jumlah}"
print(total) # Total: Rp 300000
# Method calls dalam fstring
nama = "john doe"
salam = f"Halo {nama.title()}!"
print(salam) # Halo John Doe!
Operator
Apa itu Operator?
- Operator adalah simbol yang digunakan untuk melakukan operasi pada variabel dan nilai. Python memiliki beberapa jenis operator yang bisa kita gunakan untuk memanipulasi data.
Operator Aritmatika
- Operator aritmatika digunakan untuk melakukan operasi matematika.
- Terdapat beberapa jenis operator artimatika
- Operator dasar, seperti tambah (+), kurang (-), kali (*), bagi (/)
- Operator pembagian bulat dan modulo seperti pembagian bulat (//), modulo atau sisa pembagian (%)
- Operator pangkat, seperti pangkat (**)
a = 10
b = 3
print (a + b) # penjumlahan
print (a - b) # pengurangan
print (a * b) # perkalian
print (a / b) # pembagian
print (a // b) # pembagian bulat: 3 (hasil tanpa desimal)
print (a % b) # modulo: 1 (sisa pembagian)
# contoh lain modulo
print(10 % 2) # 0 (10 habis dibagi 2)
print(11 % 2) # 1 (sisa 1 ketika 11 dibagi 2)
c = 2
d = 3
print(c ** d) # pangkat: 8 (2 pangkat 3)
Operator Assignment (Penugasan)
- Operator Assignment digunakan untuk memberikan nilai pada variable, seperti yang sudah parnah kita bahas menggunakan tanda sama dengan (=)
- Compound Assignment, yaitu operator yang menggabungkan operasi aritmatika dengan assignment
x = 10
print("x awal:", x)
# Compound Assignment
x += 5 # Sama dengan: x = x + 5
print("x setelah += 5", x) # 15
x -=3 # Sama dengan: x = x - 3
print("x setelah -= 3", x) # 12
x *= 2 # Sama dengan: x = x * 2
print("x setelah *= 2:", x) # 24
x /= 4 # Sama dengan: x = x / 4
print("x setelah /= 4:", x) # 6.0
Operator Perbandingan
- Operator perbandingan digunakan untuk membandingkan dua nilai. Hasil dari operasi ini adalah nilai boolean True atau False
a = 10
b = 3
print(a > b) # lebih besar: True
print(a < b) # lebih kecil: False
print(a >= b) # lebih besar atau sama dengan: True
print(a <= b) # lebih kecil atau sama dengan: False
print(a == b) # sama dengan: False
print(a != b) # tidak sama dengan: True
nama1 = "Alice"
nama2 = "Bob"
nama3 = "Alice"
print(nama1 == nama3) # True
print(nama1 == nama2) # False
print(nama1 != nama2) # True
Operator Logika
- Operator logika digunakan untuk menggabungkan atau memodifikasi nilai boolean
- and (dan), menghasilkan True jika kedua kondisi True
- or (atau), menghasilkan True jika salah satu kondisi True
- not (tidak), membalik nilai boolean
umur = 25
print(umur > 18 and umur < 30) # True (25 > 18 dan 25 < 30)
hari = "Sabtu"
print(hari == "Sabtu" or hari == "Minggu") # True
aktif = True
print(not aktif) # False
Operator String
- Operator khusus untuk bekerja dengan string.
- Concatenation (+), manambah string
- Repetition (*), mengulang string sejumlah angka
- Membership (in), mengecek apakah text ada dalam string, outputnya adalah boolean True atau False
nama_depan = "John"
nama_belakang = "Doe"
nama_lengkap = nama_depan + " " + nama_belakang
print(nama_lengkap) # John Doe
kata = "Hello"
print(kata * 3) # HelloHelloHello
garis = "-"
print(garis * 26) # --------------------------
kalimat = "Python adalah bahasa pemrograman"
print("Python" in kalimat) # True
print("Java" in kalimat) # False
Prioritas Operator
- Operator memiliki urutan prioritas (precedence). Operator dengan prioritas lebih tinggi akan dieksekusi lebih dulu
- Urutan prioritas (dari tinggi ke rendah):
- pangkat (**)
- perkalian, pembagian (*, /, //, %)
- penjumlahan, pengurangan (+, -)
- perbandingan (==, !=, <, >, <=, >=)
- logika tidak (not)
- logika dan (and)
- logika atau (or)
Kontrol Alur Program
Apa itu Kontrol alur Program?
- Kontrol alur program adalah cara untuk mengatur jalannya program berdasarkan kondisi tertentu
- Dengan kontrol alur, program bisa mengambil keputusan dan melakukan tindakan yang berbeda tergantung pada situasi
Pernyataan IF
- Pernyataan if digunakan untuk menjalankan kode hanya jika kondisi tertentu bernilai True
- Setelah if, harus ada titik dua (:)
- Kode akan dijalankan jika kondisi True harus diindentasi (diberi spasi di awal)
angka = int(input("Masukkan angka: "))
if angka > 0:
print("Angka positif")
if angka < 0:
print("Angka negatif")
if angka == 0:
print("Angka nol")
[Bersambung ...]