keyboard_arrow_down Berkenalan dengan Python
keyboard_arrow_down Variable dan Assignment
Variabel adalah tempat untuk menyimpan data. Bisa dianggap seperti "kotak" yang menyimpan sesuatu, misalnya angka, teks, atau bahkan
data yang lebih kompleks. Ketika menuliskan variabel, Anda telah memerintahkan komputer untuk mencari dan memesan ruang kosong
dalam komputer yang nantinya akan diisi nilai atau data. Assignment adalah proses memberikan nilai ke variabel. Dalam Python, ini
dilakukan dengan menggunakan tanda = (sama dengan).
x = 10
Di sini:
x adalah variabel.
10 adalah nilai yang disimpan di dalam x.
"=" adalah tanda assignment (menugaskan nilai ke variabel).
Jika kita mencetak nilai x, gunakan print(x)
print(x)
10
keyboard_arrow_down Aturan dalam Menulis Variabel di Python
1. Nama variabel harus dimulai dengan huruf atau garis bawah _ , tidak boleh dengan angka.
x = 5 # Benar
_nilai = 10 # Benar
# 1nilai = 15 # Salah (tidak boleh diawali angka)
2. Tidak boleh menggunakan spasi dalam nama variabel, gunakan underscore _ jika ingin membuat nama lebih jelas.
nama_depan = "Riko" # Benar
# nama depan = "Riko" # Salah (tidak boleh ada spasi)
3. Python bersifat case-sensitive, artinya nilai dan NILAI dianggap sebagai variabel yang berbeda.
nilai = 80
NILAI = 100
print(nilai) # Output: 80
print(NILAI) # Output: 100
80
100
keyboard_arrow_down Input/Output dan Komentar
Dalam Python, Input/Output (I/O) digunakan untuk berinteraksi dengan pengguna, sedangkan komentar membantu kita memberi catatan
dalam kode agar lebih mudah dipahami.
📥 Input adalah cara kita memberikan informasi ke komputer. Misalnya, ketika Anda mengisi formulir di sebuah website, Anda memasukkan
nama dan email—itulah contoh input.
Di Python, kita menggunakan fungsi input() untuk mengambil data dari pengguna.
📤 Output adalah cara komputer memberi jawaban kepada kita.
Di Python, kita menggunakan print() untuk menampilkan sesuatu di layar.
keyboard_arrow_down Input (Masukan) dalam Python
nama = input("Masukkan nama Anda: ")
print("Halo, " + nama + "!")
Masukkan nama Anda: Riko
Halo, Riko!
Penjelasan kode di atas:
input("Masukkan nama Anda: ") → Menampilkan teks "Masukkan nama Anda: " lalu menunggu pengguna mengetik sesuatu.
Hasil yang diketik oleh pengguna disimpan dalam variabel nama.
print("Halo, " + nama + "!") → Menampilkan teks "Halo," diikuti dengan nama yang dimasukkan.
✅ Jika pengguna mengetik "Riko", maka komputer akan membalas: "Halo, Riko!"
keyboard_arrow_down Input untuk Angka
Secara default, input() menganggap semua yang dimasukkan sebagai teks (string). Jika ingin memasukkan angka, kita perlu
mengubahnya menjadi tipe data integer (int) atau desimal (float).
Misalnya, kita ingin menghitung umur pengguna tahun depan:
umur = int(input("Masukkan umur Anda: "))
umur_tahun_depan = umur + 1
print("Tahun depan, umur Anda akan menjadi:", umur_tahun_depan)
Masukkan umur Anda: 12
Tahun depan, umur Anda akan menjadi: 13
keyboard_arrow_down Output (Keluaran) dalam Python
Output digunakan untuk menampilkan data ke layar. Python menggunakan fungsi print() .
print("Selamat datang di Python!")
Selamat datang di Python!
Menampilkan Beberapa Nilai Sekaligus
nama = "Riko"
umur = 10
print("Nama:", nama, "| Umur:", umur)
Nama: Riko | Umur: 10
Output dengan Format yang Lebih Rapi
nama = "Riko"
umur = 10
print(f"Nama saya adalah {nama} dan umur saya {umur} tahun.")
Nama saya adalah Riko dan umur saya 10 tahun.
✅ Huruf f sebelum tanda kutip memungkinkan kita memasukkan variabel langsung ke dalam teks.
keyboard_arrow_down Komentar dalam Python
Komentar adalah bagian dari kode yang tidak dijalankan, hanya digunakan untuk memberi catatan atau penjelasan dalam program.
1. Menggunakan # untuk Komentar Satu Baris
# Ini adalah komentar
print("Hello, World!") # Menampilkan teks ke layar
Hello, World!
2. Menggunakan """ ... """ untuk Komentar Banyak Baris
"""
Program ini menghitung luas persegi panjang.
Rumus: luas = panjang * lebar
"""
panjang = 10
lebar = 5
luas = panjang * lebar
print("Luas:", luas)
Luas: 50
keyboard_arrow_down Berinteraksi dengan Data
keyboard_arrow_down Data Typing
Data typing adalah konsep dalam pemrograman yang menentukan jenis data yang bisa disimpan dalam variabel. Python menggunakan
dynamic typing, yang berarti kita tidak perlu menyebutkan tipe data saat membuat variabel—Python akan menentukannya secara otomatis.
Bayangkan Anda memiliki beberapa jenis kotak penyimpanan di rumah:
Kotak untuk menyimpan buku 📚 Kotak untuk menyimpan buah-buahan 🍎🍌 Kotak untuk menyimpan mainan 🧸 Masing-masing kotak
hanya bisa berisi satu jenis barang.
Dalam Python, data juga memiliki jenis tertentu yang disebut "tipe data" (data type). Misalnya, angka harus disimpan dalam "kotak" angka,
teks dalam "kotak" teks, dan sebagainya.
keyboard_arrow_down Tipe Data dalam Python
Tipe Data Contoh Analoginya Penjelasan
Integer (int) 10, -5, 1000 Seperti menghitung jumlah buku 📚 Bilangan bulat
Float (float) 3.14, -0.5, 2.71 Seperti menimbang berat buah dalam kg 🍏 Bilangan desimal
String (str) "Riko", 'Python' Seperti nama yang tertulis di label ✏️ Teks (karakter)
Boolean (bool) True, False Seperti tombol lampu (ON/OFF) 💡 Logika benar atau salah
List (list) [1, 2, 3] Seperti daftar belanjaan 🛒 Kumpulan data yang bisa diubah
Tuple (tuple) (10, 20, 30) Seperti urutan menu makanan dalam paket 🍽️ Kumpulan data yang tidak bisa diubah
Dictionary (dict) {"nama": "Riko", "umur": 10} Seperti kartu identitas 🆔 Data dalam format kunci-nilai
keyboard_arrow_down Dynamic Typing dalam Python
Python otomatis mengenali tipe data tanpa perlu mendeklarasikannya secara eksplisit. Misalnya:
nama = "Riko" # String
umur = 10 # Integer
tinggi = 1.5 # Float
is_student = True # Boolean
print(type(nama)) # Output: <class 'str'>
print(type(umur)) # Output: <class 'int'>
print(type(tinggi)) # Output: <class 'float'>
print(type(is_student)) # Output: <class 'bool'>
<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>
✅ Python otomatis mengenali nama sebagai str, umur sebagai int, tinggi sebagai float, dan is_student sebagai bool.
keyboard_arrow_down Konversi Tipe Data (Type Casting)
Terkadang kita perlu mengubah satu tipe data ke tipe lain, misalnya dari teks ke angka atau sebaliknya.
angka_str = "25" # String
angka_int = int(angka_str) # Konversi ke integer
print(angka_int + 5) # Output: 30
30
keyboard_arrow_down Operasi pada List, Set, dan String
keyboard_arrow_down Operasi pada List
List adalah kumpulan data yang bisa berisi berbagai tipe nilai, seperti angka, teks, atau bahkan list lain.
Ciri-ciri List:
Ditandai dengan kurung siku [ ]
Bisa diubah (mutable)
Bisa berisi data duplikat
buah = ["apel", "jeruk", "mangga"]
angka = [1, 2, 3, 4, 5]
campuran = ["Riko", 25, 3.14, True]
Operasi Kode Hasil
Akses Data buah[0] "apel"
Ganti Data buah[1] = "durian" ["apel", "durian", "mangga"]
Tambahkan Data [Link]("pisang") ["apel", "jeruk", "mangga", "pisang"]
Sisipkan Data [Link](1, "nanas") ["apel", "nanas", "jeruk", "mangga"]
Hapus Data [Link]("jeruk") ["apel", "mangga"]
Hapus Data (posisi tertentu) [Link](1) Menghapus elemen di indeks 1
Hitung Elemen [Link]("apel") 1
Urutkan List [Link]() [1, 2, 3, 4, 5]
Balik Urutan [Link]() [5, 4, 3, 2, 1]
buah = ["apel", "jeruk", "mangga"]
[Link]("pisang") # Menambahkan "pisang"
print(buah) # Output: ["apel", "jeruk", "mangga", "pisang"]
['apel', 'jeruk', 'mangga', 'pisang']
keyboard_arrow_down Operasi pada Set
Set adalah kumpulan data unik (tidak ada duplikat) dan tidak berurutan.
Ciri-ciri Set:
Ditandai dengan kurung kurawal { }
Tidak bisa berisi elemen duplikat
Tidak bisa mengakses data dengan indeks
angka = {1, 2, 3, 4, 5}
huruf = {"a", "b", "c", "a", "b"} # Set otomatis membuang duplikat
print(huruf) # Output: {'a', 'b', 'c'}
{'a', 'b', 'c'}
Operasi Kode Hasil
Menambah Elemen [Link](6) {1, 2, 3, 4, 5, 6}
Menghapus Elemen [Link](2) {1, 3, 4, 5}
Gabungan (Union) A | B atau [Link](B) Elemen di A atau B atau keduanya
Irisan (Intersection) A & B atau [Link](B) Elemen yang sama di dua set
Selisih (Difference) A - B atau [Link](B) Elemen di A yang tidak ada di B
A = {1, 2, 3}
B = {2, 3, 4}
print(A | B) # Gabungan -> {1, 2, 3, 4}
print(A & B) # Irisan -> {2, 3}
print(A - B) # Selisih -> {1}
{1, 2, 3, 4}
{2, 3}
{1}
keyboard_arrow_down Operasi pada String
String adalah teks yang terdiri dari karakter.
Ciri-ciri String:
Ditandai dengan tanda kutip "..." atau '...'
Bersifat immutable (tidak bisa diubah langsung)
teks = "Halo, Riko!"
Operasi Kode Hasil
Akses Karakter teks[0] "H"
Potong String teks[0:4] "Halo"
Gabungkan String "Halo " + "Dunia" "Halo Dunia"
Ubah ke Huruf Besar [Link]() "HALO, RIKO!"
Ubah ke Huruf Kecil [Link]() "halo, riko!"
Hapus Spasi Awal/Akhir " kata ".strip() "kata"
Ganti Kata [Link]("Riko", "Konan") "Halo, Konan!"
Cek Kata dalam String "Riko" in teks True
Pecah String ke List "apel, jeruk".split(", ") ["apel", "jeruk"]
teks = "Halo, Riko!"
print([Link]()) # Output: "HALO, RIKO!"
print([Link]("Riko", "Konan")) # Output: "Halo, Konan!"
HALO, RIKO!
Halo, Konan!
keyboard_arrow_down Operasi len()
Fungsi len() digunakan untuk menghitung jumlah elemen dalam suatu objek seperti List, Set, String, Tuple, atau Dictionary.
buah = ["apel", "jeruk", "mangga", "pisang"]
print(len(buah)) # Output: 4
teks = "Halo, Riko!"
print(len(teks)) # Output: 11
11
keyboard_arrow_down Ekspresi
Ekspresi adalah kombinasi dari nilai, variabel, operator, dan fungsi yang menghasilkan nilai baru setelah dievaluasi.
hasil = 5 + 3
➡ 5 + 3 adalah ekspresi, karena bisa dievaluasi menjadi 8.
➡ Variabel hasil menyimpan nilai hasil dari ekspresi tersebut.
keyboard_arrow_down Ekspresi Aritmatika (Matematika)
Ekspresi Operator Contoh Hasil Penjelasan
Penjumlahan + 5+3 8 Menjumlahkan dua angka
Pengurangan - 10 - 4 6 Mengurangi angka kedua dari angka pertama
Perkalian * 6*3 18 Mengalikan dua angka
Pembagian / 10 / 2 5.0 Membagi angka pertama dengan angka kedua (hasil berupa float)
Pembagian Bulat // 10 // 3 3 Membagi dua angka dan membulatkan hasil ke bawah
Modulus (Sisa Bagi) % 10 % 3 1 Menghasilkan sisa dari pembagian angka pertama oleh angka kedua
Pangkat ** 2 ** 3 8 Menghitung perpangkatan (2 pangkat 3 = 8)
a = 10
b = 3
print(a + b) # Output: 13
print(a - b) # Output: 7
print(a * b) # Output: 30
print(a / b) # Output: 3.3333
print(a // b) # Output: 3
print(a % b) # Output: 1
print(a ** b) # Output: 1000 (10^3)
13
7
30
3.3333333333333335
3
1
1000
keyboard_arrow_down Ekspresi Perbandingan (Relasional)
Operator Arti Contoh Hasil
== Sama dengan 5 == 5 True
!= Tidak sama dengan 5 != 3 True
> Lebih besar 10 > 3 True
< Lebih kecil 2<5 True
>= Lebih besar atau sama dengan 5 >= 5 True
<= Lebih kecil atau sama dengan 3 <= 4 True
x = 7
y = 10
print(x < y) # True
True
keyboard_arrow_down Ekspresi Logika (Boolean)
Operator Arti Contoh Hasil
and True jika keduanya benar True and False False
or True jika salah satu benar True or False True
not Membalikkan nilai not True False
a = True
b = False
print(a and b) # False
print(a or b) # True
print(not a) # False
False
True
False
keyboard_arrow_down Operator Assignment
Operator Ekspresi Sama dengan Contoh Hasil Penjelasan
= x=a x=a x = 10 10 Menetapkan nilai ke variabel
+= x += a x=x+a x = 5; x += 3 8 Menambahkan dan menetapkan hasil ke x
-= x -= a x=x-a x = 10; x -= 4 6 Mengurangi dan menetapkan hasil ke x
*= x *= a x=x*a x = 6; x *= 3 18 Mengalikan dan menetapkan hasil ke x
/= x /= a x=x/a x = 10; x /= 2 5.0 Membagi dan menetapkan hasil ke x (hasil float)
//= x //= a x = x // a x = 10; x //= 3 3 Membagi dan membulatkan ke bawah
Operator Ekspresi Sama dengan Contoh Hasil Penjelasan
%= x %= a x=x%a x = 10; x %= 3 1 Menghitung sisa pembagian dan menetapkan ke x
**= x **= a x = x ** a x = 2; x **= 3 8 Pangkat dan menetapkan hasil ke x
x = 10
x += 5 # x = x + 5 → 15
x -= 3 # x = x - 3 → 12
x *= 2 # x = x * 2 → 24
x /= 4 # x = x / 4 → 6.0
x //= 2 # x = x // 2 → 3
x %= 2 # x = x % 2 → 1
x **= 3 # x = x ** 3 → 1 (karena 1^3 = 1)
print(x) # Output: 1
1.0
keyboard_arrow_down Aksi Sekuensial
Aksi sekuensial adalah urutan eksekusi kode secara berurutan, dari atas ke bawah, tanpa percabangan atau perulangan. Setiap baris kode
dieksekusi satu per satu sesuai urutan penulisannya.
print("Halo, Riko!") # 1. Mencetak teks
nama = "Riko" # 2. Menyimpan nama ke variabel
umur = 10 # 3. Menyimpan umur ke variabel
print(f"Nama saya {nama}, saya berumur {umur} tahun.") # 4. Menampilkan hasil
Halo, Riko!
Nama saya Riko, saya berumur 10 tahun.
➡ Setiap perintah dijalankan berurutan dari atas ke bawah.
keyboard_arrow_down One-liner
One-liner merupakan gaya penulisan pada Python yang memungkinkan Anda untuk membuat sebuah kode hanya dalam satu baris. One-liner
adalah salah satu keunggulan dalam Python yang susah untuk diimplementasikan bagi beberapa bahasa pemrograman lainnya.
Tujuan dari one-liner ini adalah membuat satu baris kode yang singkat dan jelas. Perlu diingat bahwa tidak semua kode blok dapat dijadikan
one-liner, seperti deklarasi fungsi, modul, dan kelas.
Di banyak bahasa pemrograman lain, untuk menukar dua nilai, kita biasanya perlu variabel tambahan seperti ini:
temp = a
a = b
b = temp
Namun, di Python, kita bisa melakukannya dalam satu baris kode dengan tuple unpacking:
a, b = b, a
a, b = 5, 10
print(f"Sebelum: a = {a}, b = {b}")
# Menukar nilai
a, b = b, a
print(f"Sesudah: a = {a}, b = {b}")
Sebelum: a = 5, b = 10
Sesudah: a = 10, b = 5
Python melakukan langkah berikut secara internal:
1. Python membuat tuple (b, a), yang berarti (10, 5).
2. Kemudian, tuple ini di-unpack langsung ke variabel a dan b.
3. Hasilnya: a mendapat nilai 10, dan b mendapat nilai 5.
keyboard_arrow_down Control Flow
Control flow adalah cara Python mengatur urutan eksekusi kode berdasarkan kondisi atau perulangan. Secara default, Python menjalankan
kode secara sekuensial (dari atas ke bawah). Namun, dengan control flow, kita bisa:
1. Membuat keputusan (percabangan if-else)
2. Mengulang kode (perulangan for dan while)
3. Menghentikan atau melewatkan eksekusi (break, continue, pass)
keyboard_arrow_down Percabangan (Conditional Statements: if, elif, else)
usia = 18
if usia >= 17:
print("Anda boleh membuat KTP.")
else:
print("Anda belum cukup umur.")
Anda boleh membuat KTP.
🔹 if = Mengecek kondisi pertama.
🔹 elif = (Opsional) Mengecek kondisi lain jika if salah.
🔹 else = Menjalankan kode jika semua kondisi sebelumnya salah.
keyboard_arrow_down Perulangan (for dan while)
keyboard_arrow_down for loop (Mengulang sejumlah tertentu)
for i in range(1, 6):
print(f"Angka: {i}")
Angka: 1
Angka: 2
Angka: 3
Angka: 4
Angka: 5
➡ range(1, 6) berarti dari 1 sampai 5 (tidak termasuk 6).
keyboard_arrow_down while loop (Mengulang selama kondisi benar)
x = 3
while x > 0:
print(f"Hitungan mundur: {x}")
x -= 1
Hitungan mundur: 3
Hitungan mundur: 2
Hitungan mundur: 1
➡ Loop akan berhenti jika x tidak lebih besar dari 0.
keyboard_arrow_down Pengendali Loop (break, continue, pass)
🔹 break → Menghentikan perulangan lebih awal.
🔹 continue → Melewati iterasi saat ini dan lanjut ke iterasi berikutnya.
🔹 pass → Placeholder agar tidak terjadi error.
for i in range(1, 6):
if i == 3:
break
print(i)
1
2
for i in range(1, 6):
if i == 3:
continue
print(i)
1
2
4
5
for i in range(5):
pass # Tidak melakukan apa-apa, hanya placeholder
keyboard_arrow_down Subprogram
Subprogram adalah bagian dari program yang memiliki fungsi spesifik dan bisa digunakan kembali. Dalam Python, subprogram biasanya
berupa fungsi (function) atau prosedur.
Kenapa Menggunakan Subprogram?
Memecah kode menjadi bagian kecil yang lebih mudah dipahami
Menghindari duplikasi kode (kode lebih rapi dan efisien)
Memudahkan debugging dan pengembangan program
keyboard_arrow_down Membuat Fungsi di Python
Fungsi dalam Python dibuat dengan def
def sapa(nama):
print(f"Halo, {nama}! Selamat datang.")
# Memanggil fungsi
sapa("Riko")
sapa("Riki")
Halo, Riko! Selamat datang.
Halo, Riki! Selamat datang.
➡ Fungsi sapa() dapat digunakan berulang kali dengan berbagai nama.
keyboard_arrow_down Fungsi dengan Return Value
Fungsi bisa mengembalikan nilai dengan return.
def tambah(a, b):
return a + b
hasil = tambah(5, 3)
print(hasil) # Output: 8
🔹 Fungsi tambah() mengembalikan hasil penjumlahan a + b .
keyboard_arrow_down Fungsi dengan Parameter Default
def salam(nama="Teman"):
print(f"Halo, {nama}!")
salam() # Output: Halo, Teman!
salam("Riko") # Output: Halo, Riko!
Halo, Teman!
Halo, Riko!
➡ Jika tidak ada nama yang diberikan, nilai default "Teman" digunakan.
keyboard_arrow_down Fungsi dengan Banyak Parameter (*args)
Jika jumlah parameter tidak tetap, gunakan *args.
def jumlahkan(*angka):
return sum(angka)
print(jumlahkan(1, 2, 3, 4, 5)) # Output: 15
15
🔹 *args memungkinkan fungsi menerima banyak nilai sekaligus.
keyboard_arrow_down Fungsi Lambda (Fungsi Anonim / One-liner)
tambah = lambda a, b: a + b
print(tambah(3, 4)) # Output: 7
➡ Fungsi lambda adalah fungsi sederhana dalam satu baris.