Tipe Data¶
Python memiliki beberapa tipe data bawaan yang penting untuk dipahami. Mari kita pelajari satu per satu.
Tipe Data Numerik¶
Integer (int)¶
Bilangan bulat tanpa desimal:
x = 10
y = -5
z = 0
print(type(x)) # <class 'int'>
Float¶
Bilangan dengan desimal:
pi = 3.14159
suhu = -273.15
print(type(pi)) # <class 'float'>
Operasi Aritmatika¶
a = 10
b = 3
print(a + b) # 13 - Penjumlahan
print(a - b) # 7 - Pengurangan
print(a * b) # 30 - Perkalian
print(a / b) # 3.333... - Pembagian (hasil float)
print(a // b) # 3 - Pembagian bulat
print(a % b) # 1 - Modulo (sisa bagi)
print(a ** b) # 1000 - Pangkat
String (str)¶
Teks atau rangkaian karakter:
nama = "Ahmad"
pesan = 'Selamat datang!'
paragraf = """Ini adalah
teks multi-baris"""
print(type(nama)) # <class 'str'>
Operasi String¶
# Concatenation (penggabungan)
sapaan = "Halo, " + "Dunia!"
print(sapaan) # Halo, Dunia!
# Repetisi
garis = "-" * 20
print(garis) # --------------------
# Panjang string
print(len(nama)) # 5
# Indexing (dimulai dari 0)
print(nama[0]) # A
print(nama[-1]) # d (dari belakang)
# Slicing
print(nama[0:3]) # Ahm
print(nama[2:]) # mad
print(nama[:3]) # Ahm
String Methods¶
teks = " Halo Dunia "
print(teks.upper()) # " HALO DUNIA "
print(teks.lower()) # " halo dunia "
print(teks.strip()) # "Halo Dunia" (hapus spasi)
print(teks.replace("Halo", "Hai")) # " Hai Dunia "
print(teks.split()) # ['Halo', 'Dunia']
F-String (Formatted String)¶
Cara modern untuk memformat string:
nama = "Ahmad"
umur = 25
# F-string
pesan = f"Nama saya {nama}, umur {umur} tahun"
print(pesan) # Nama saya Ahmad, umur 25 tahun
# Ekspresi dalam f-string
print(f"2 + 3 = {2 + 3}") # 2 + 3 = 5
# Format angka
pi = 3.14159
print(f"Pi = {pi:.2f}") # Pi = 3.14
Boolean (bool)¶
Nilai kebenaran True atau False:
aktif = True
selesai = False
print(type(aktif)) # <class 'bool'>
Operator Perbandingan¶
x = 10
y = 5
print(x == y) # False - sama dengan
print(x != y) # True - tidak sama dengan
print(x > y) # True - lebih besar
print(x < y) # False - lebih kecil
print(x >= y) # True - lebih besar atau sama
print(x <= y) # False - lebih kecil atau sama
Operator Logika¶
a = True
b = False
print(a and b) # False - DAN
print(a or b) # True - ATAU
print(not a) # False - NEGASI
List¶
Koleksi terurut yang dapat diubah (mutable):
angka = [1, 2, 3, 4, 5]
campuran = [1, "dua", 3.0, True]
print(type(angka)) # <class 'list'>
Operasi List¶
buah = ["apel", "jeruk", "mangga"]
# Akses elemen
print(buah[0]) # apel
print(buah[-1]) # mangga
# Modifikasi
buah[1] = "pisang"
print(buah) # ['apel', 'pisang', 'mangga']
# Menambah elemen
buah.append("durian")
print(buah) # ['apel', 'pisang', 'mangga', 'durian']
# Menghapus elemen
buah.remove("pisang")
print(buah) # ['apel', 'mangga', 'durian']
# Panjang list
print(len(buah)) # 3
# Slicing
print(buah[0:2]) # ['apel', 'mangga']
List Comprehension¶
Cara ringkas membuat list:
# Cara biasa
kuadrat = []
for i in range(5):
kuadrat.append(i ** 2)
# List comprehension
kuadrat = [i ** 2 for i in range(5)]
print(kuadrat) # [0, 1, 4, 9, 16]
# Dengan kondisi
genap = [i for i in range(10) if i % 2 == 0]
print(genap) # [0, 2, 4, 6, 8]
Tuple¶
Koleksi terurut yang tidak dapat diubah (immutable):
koordinat = (10, 20)
rgb = (255, 128, 0)
print(type(koordinat)) # <class 'tuple'>
# Akses elemen
print(koordinat[0]) # 10
# Tuple tidak bisa diubah
# koordinat[0] = 5 # Error!
Tuple Unpacking¶
koordinat = (10, 20, 30)
x, y, z = koordinat
print(x) # 10
print(y) # 20
print(z) # 30
Dictionary (dict)¶
Koleksi pasangan kunci-nilai:
mahasiswa = {
"nama": "Ahmad",
"nim": "12345",
"jurusan": "Informatika"
}
print(type(mahasiswa)) # <class 'dict'>
Operasi Dictionary¶
# Akses nilai
print(mahasiswa["nama"]) # Ahmad
print(mahasiswa.get("nim")) # 12345
print(mahasiswa.get("umur", 0)) # 0 (default jika tidak ada)
# Modifikasi
mahasiswa["umur"] = 20
print(mahasiswa)
# Menambah pasangan baru
mahasiswa["email"] = "ahmad@udn.ac.id"
# Menghapus
del mahasiswa["email"]
# Iterasi
for kunci in mahasiswa:
print(f"{kunci}: {mahasiswa[kunci]}")
# Atau
for kunci, nilai in mahasiswa.items():
print(f"{kunci}: {nilai}")
Set¶
Koleksi tanpa urutan dan tanpa duplikat:
unik = {1, 2, 3, 3, 2, 1}
print(unik) # {1, 2, 3}
print(type(unik)) # <class 'set'>
Operasi Set¶
a = {1, 2, 3, 4}
b = {3, 4, 5, 6}
print(a | b) # {1, 2, 3, 4, 5, 6} - Union
print(a & b) # {3, 4} - Intersection
print(a - b) # {1, 2} - Difference
print(a ^ b) # {1, 2, 5, 6} - Symmetric Difference
None¶
Nilai kosong atau tidak ada:
x = None
print(x) # None
print(type(x)) # <class 'NoneType'>
# Mengecek None
if x is None:
print("x adalah None")
Konversi Tipe Data¶
# String ke integer
x = int("10")
print(x, type(x)) # 10 <class 'int'>
# Integer ke string
y = str(25)
print(y, type(y)) # 25 <class 'str'>
# String ke float
z = float("3.14")
print(z, type(z)) # 3.14 <class 'float'>
# List ke tuple
daftar = [1, 2, 3]
t = tuple(daftar)
print(t) # (1, 2, 3)
Ringkasan¶
Tipe Data |
Contoh |
Mutable |
|---|---|---|
int |
|
Tidak |
float |
|
Tidak |
str |
|
Tidak |
bool |
|
Tidak |
list |
|
Ya |
tuple |
|
Tidak |
dict |
|
Ya |
set |
|
Ya |
None |
|
- |
Latihan¶
Buat variabel untuk menyimpan nama, umur, dan tinggi badan Anda
Buat list berisi 5 buah favorit Anda
Buat dictionary untuk menyimpan data mahasiswa (nama, nim, jurusan, IPK)
Gunakan f-string untuk mencetak informasi dari dictionary tersebut