Aturan penamaan variabel, tipe data primitif Python (int, float, str, bool), operator & type casting, serta pemilihan struktur data koleksi (List, Tuple, Dictionary, Set) untuk penyelesaian komputasi.
Progres disimpan di browser ini saja.
A. Variabel & Tipe Data Dasar Python
Variabel adalah pengenal (*identifier*) memori untuk menampung nilai data. Python bersifat *dynamically typed* (tipe ditentukan otomatis dari nilai penugasan) dan *case-sensitive* (huruf besar dan kecil dibedakan: `Skor` berbeda dari `skor`).
Tipe Data
Klasifikasi Nilai
Contoh Nilai
Skenario Penggunaan
int
Bilangan bulat positif/negatif tanpa koma
18, 0, -5
Penghitungan umur, jumlah stok, skor nilai ujian
float
Bilangan desimal bertitik koma
3.14, 85.5, 0.0
Kalkulasi rata-rata, tinggi badan, persentase diskon
str
Untaian teks / karakter diapit kutip
'Budi', 'A102'
Nama siswa, alamat, NIK/nomor HP (yang tidak dihitung)
bool
Nilai logika kebenaran
True, False
Status kelulusan (lulus/tidak), saklar kondisi
NoneType
Ketiadaan nilai (kosong / null)
None
Nilai awal variabel sebelum diisi data
B. Operator dan Konversi Tipe (Type Casting)
Operator
Operasi Matematika
Contoh Kode
Hasil dan Tipe
/
Pembagian nyata (Float Division)
10 / 2
5.0 (SELALU menghasilkan float)
//
Pembagian bulat (Floor Division)
7 // 2
3 (menghilangkan sisa desimal)
%
Modulo (Sisa Hasil Bagi)
7 % 2
1 (dipakai cek ganjil/genap)
**
Eksponensial (Pangkat)
2 ** 3
8
+
Penggabungan String (Bila teks)
'5' + '3'
'53' (Bukan 8!)
nilai = 85
print(type(nilai)) # <class 'int'>
print(float(nilai)) # 85.0
umur_str = input('Umur: ') # input() SELALU menghasilkan str!
umur_int = int(umur_str) # type casting eksplisit ke int agar bisa dihitung
C. Struktur Data Sederhana (Koleksi)
Struktur Data
Ciri Khas & Sifat
Sintaks Literal
Kapan Tepat Dipakai
List
Berurutan, berindeks numerik (0-based), dinamis (*mutable* / bisa diubah), boleh duplikat.
[80, 85, 90]
Kumpulan nilai yang bertambah, berkurang, atau diurutkan.
Tuple
Berurutan, berindeks numerik, konstan (*immutable* / tidak dapat diubah setelah dibuat).
(10, 20)
Data koordinat spasial (x, y) atau konstanta dimensi.
Dictionary
Pasangan key-value, akses nilai lewat nama kunci (key), key harus unik.
{'nama': 'Ani', 'skor': 90}
Menyimpan entitas data berlabel lengkap (seperti satu baris record murid).
Set
Tidak berurutan, tidak berindeks, hanya menampung nilai unik (otomatis buang duplikat).
{1, 2, 3}
Operasi himpunan matematika atau menyaring elemen duplikat.
# 1. List manipulasi
nilai = [80, 85, 90, 75]
print(nilai[0]) # 80 (elemen pertama)
print(nilai[-1]) # 75 (elemen terakhir)
nilai.append(95) # menambahkan elemen baru di akhir
print(sum(nilai) / len(nilai)) # 85.0 (menghitung rata-rata)
# 2. Dictionary untuk data terstruktur
siswa = {'nama': 'Ani', 'kelas': 'XII PPLG', 'skor': 92}
print(siswa['nama']) # Ani
siswa['skor'] = 98 # memodifikasi nilai via key
# 3. Set untuk eliminasi duplikasi
angka = [1, 2, 2, 3, 3, 3]
print(set(angka)) # {1, 2, 3} (duplikat hilang)
D. Analisis Memilih Tipe Data (Contoh Matriks Soal)
Benar: `nilai_akhir` sebaiknya bertipe `float` karena dihasilkan dari operator pembagian `/`.
Benar: `status_lulus` dapat bertipe `bool` (`True`/`False`) jika hanya digunakan untuk percabangan internal program.
Benar: `status_lulus` dapat bertipe `str` jika ingin menampilkan pesan langsung kepada pengguna di layar antarmuka.
Salah: '`nilai_tugas` dan `nilai_ujian` harus bertipe `str`' (salah besar, string tidak bisa dilakukan perhitungan aritmatika langsung).
Salah: '`nilai_akhir` lebih tepat bertipe boolean' (salah, nilai akhir adalah skor numerik, bukan kondisi benar/salah).
Latihan Soal
Pilih jawaban, tekan Check, lalu baca pembahasannya.
Benar 0 / 3
Soal 1mudah
Diberikan potongan kode Python berikut:
x = 7 / 2
print(type(x))
Output yang dihasilkan dari eksekusi baris kode tersebut adalah ...
Soal 2sedang
Seorang murid ingin menyimpan biodata satu siswa yang terdiri dari label data 'nama', 'nisn', 'jurusan', dan 'nilai_rata_rata' sehingga setiap atribut dapat dipanggil dengan mudah menggunakan nama labelnya. Struktur data yang paling tepat digunakan adalah ...
Soal 3sedang
Perhatikan potongan kode berikut:
angka = [1, 2, 2, 3, 3, 3]
hasil = len(set(angka))
print(hasil)
Nilai keluaran yang tercetak ke layar terminal adalah ...