Pendamping Bab 5: Variabel dan Tipe Data Dasar. Gunakan nomor contoh dan latihan yang sama dengan buku.

Tujuan Belajar

  • Menyimpan dan memperbarui nilai variabel.
  • Membedakan str, int, float, dan bool.
  • Mengonversi tipe serta memilih nama variabel yang jelas.

Persiapan

Gunakan Python 3 dan materi print dari Bab 2. Semua nilai contoh ditulis langsung; input pengguna baru dibahas pada Bab 10.

Program dengan tombol Coba di IDE dapat dijalankan di browser. Untuk program lokal, unduh sumber, ekstrak ZIP, lalu ikuti README.txt.

Pembahasan

05-01 – Operasi Dasar dengan Data

Kamu bisa melakukan berbagai operasi matematika dasar dengan tipe data angka (int dan float).

Coba di IDE Unduh Sumber
angka1 = 15
angka2 = 4

hasil_tambah = angka1 + angka2  # Penjumlahan
hasil_kurang = angka1 - angka2  # Pengurangan
hasil_kali = angka1 * angka2  # Perkalian
hasil_bagi = angka1 / angka2  # Pembagian (selalu float)
hasil_bagi_bulat = angka1 // angka2  # Pembagian bulat
sisa_bagi = angka1 % angka2  # Sisa bagi (modulo)
hasil_pangkat = angka1**angka2  # Pangkat

print("Hasil Tambah:", hasil_tambah)
print("Hasil Bagi:", hasil_bagi)
print("Sisa Bagi:", sisa_bagi)

Hasil yang diharapkan:

Hasil Tambah: 19
Hasil Bagi: 3.75
Sisa Bagi: 3

Coba ubah: Ubah angka1 dari 15 menjadi 16, lalu prediksi hasilnya.

05-02 – Operasi Dasar dengan Data

Untuk string, operasi dasar yang umum adalah penggabungan (konkatenasi) menggunakan tanda +.

Coba di IDE Unduh Sumber
nama_depan = "Siti"
nama_belakang = "Aminah"
nama_lengkap = nama_depan + " " + nama_belakang  # Gabung
print("Nama Lengkap:", nama_lengkap)  # Output: Siti Aminah

Hasil yang diharapkan:

Nama Lengkap: Siti Aminah

Coba ubah: Ganti isi nama_depan dengan teks lain dan bandingkan hasilnya.

05-03 – Konversi Tipe Data (Casting)

Terkadang, kamu perlu mengubah nilai dari satu tipe data ke tipe data lain. Proses ini disebut konversi tipe atau *casting*.

Coba di IDE Unduh Sumber
angka_dalam_string = "25"  # Ini adalah string, bukan angka
# Kita tidak bisa langsung melakukan operasi matematika:
# print(angka_dalam_string + 10) # Ini akan error!

# Konversi string ke integer
umur_sebagai_integer = int(angka_dalam_string)
print("Umur ditambah 5 tahun:", umur_sebagai_integer + 5)  # =30

angka_desimal = 99.9
angka_bulat_dari_desimal = int(angka_desimal)  # Buang desimal
print("Angka bulat dari desimal:", angka_bulat_dari_desimal)  # =99

Hasil yang diharapkan:

Umur ditambah 5 tahun: 30
Angka bulat dari desimal: 99

Coba ubah: Ganti isi angka_dalam_string dengan teks lain dan bandingkan hasilnya.

05-04 – Memeriksa Tipe Data

Perhatikan pemakaian type pada data contoh dan bandingkan hasilnya dengan nilai awal.

Coba di IDE Unduh Sumber
nama_saya = "Alex"
usia_saya = 16
tinggi_saya = 170.5
apakah_pelajar = True

print(type(nama_saya))  # Output: <class 'str'>
print(type(usia_saya))  # Output: <class 'int'>
print(type(tinggi_saya))  # Output: <class 'float'>
print(type(apakah_pelajar))  # Output: <class 'bool'>

Hasil yang diharapkan:

<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>

Coba ubah: Ganti isi nama_saya dengan teks lain dan bandingkan hasilnya.

05-05 – Memeriksa Tipe Data

Selain type(), kamu juga bisa menggunakan isinstance(variabel, tipe_data) untuk memeriksa apakah sebuah variabel merupakan instance dari tipe data tertentu. Ini akan menghasilkan True atau False.

Coba di IDE Unduh Sumber
nilai = 90.5
print("nilai integer?", isinstance(nilai, int))  # False
print("nilai float?", isinstance(nilai, float))  # True

Hasil yang diharapkan:

nilai integer? False
nilai float? True

Coba ubah: Ubah nilai dari 90.5 menjadi 91.5, lalu prediksi hasilnya.

05-06 – Tipe Data Dinamis di Python

Salah satu fitur Python adalah *dynamic typing* (pengetikan dinamis). Ini berarti kamu tidak perlu secara eksplisit mendeklarasikan tipe data sebuah variabel sebelum menggunakannya. Python akan secara otomatis menentukan tipe data variabel berdasarkan nilai yang kamu berikan padanya.

Coba di IDE Unduh Sumber
data_ku = 100  # Saat ini, data_ku adalah integer
print(type(data_ku))  # Output: <class 'int'>

data_ku = "Seratus"  # Sekarang, nilai data_ku diubah menjadi string
print(type(data_ku))  # Output: <class 'str'>

data_ku = True  # Dan sekarang, data_ku menjadi boolean
print(type(data_ku))  # Output: <class 'bool'>

Hasil yang diharapkan:

<class 'int'>
<class 'str'>
<class 'bool'>

Coba ubah: Ubah data_ku dari 100 menjadi 101, lalu prediksi hasilnya.

05-07 – Mutable vs Immutable: Sekilas Tentang Perubahan Nilai

Perhatikan pemakaian append, id pada data contoh dan bandingkan hasilnya dengan nilai awal.

Coba di IDE Unduh Sumber
# Contoh Immutable (string)
salam = "Halo"
# id() menunjukkan identitas objek selama objek hidup
print("ID awal salam:", id(salam))

# Sebenarnya membuat string baru "Halo Dunia"
salam = salam + " Dunia"
print(salam)
# Identitas objeknya berbeda!
print("ID baru salam:", id(salam))

# Contoh Mutable (list - akan dipelajari nanti)
angka_favorit = [1, 2, 3]
print("ID awal angka_favorit:", id(angka_favorit))

# Mengubah list yang sama secara langsung
angka_favorit.append(4)
print(angka_favorit)
# Identitas objeknya tetap sama!
print("ID tetap angka_favorit:", id(angka_favorit))

Hasil yang diharapkan:

Angka ID mengikuti sesi Python. ID salam berubah setelah penggabungan; ID list angka_favorit tetap setelah append(4).

Coba ubah: Ganti isi salam dengan teks lain dan bandingkan hasilnya.

05-08 – Hindari Nama Variabel yang Menimpa Fungsi Bawaan Python

Python memiliki banyak fungsi bawaan yang berguna (misalnya print(), type(), int(), list(), str(), dll.). Jangan pernah menggunakan nama-nama fungsi bawaan ini sebagai nama variabelmu! Jika kamu melakukannya, kamu akan "menimpa" fungsi asli tersebut, dan kamu tidak akan bisa menggunakannya lagi dengan benar di bagian codemu selanjutnya.

Coba di IDE Unduh Sumber
# CONTOH BURUK: JANGAN DITIRU!
# Menimpa fungsi str() bawaan
# str = "Ini variabel stringku"
# angka = 123
# ERROR! str sekarang adalah variabel, bukan fungsi
# angka_jadi_string = str(angka)

# CONTOH BAIK:
teks_saya = "Ini variabel stringku"
angka = 123
# Fungsi str() bekerja dengan baik
angka_jadi_string = str(angka)
print(angka_jadi_string)
print(type(angka_jadi_string))

Hasil yang diharapkan:

123
<class 'str'>

Coba ubah: Ganti isi teks_saya dengan teks lain dan bandingkan hasilnya.

Studi Kasus

05-09 – Menghitung belanja alat tulis

Setiap subtotal dihitung dari harga dikali jumlah. Kedua subtotal dijumlahkan menjadi 19000.

Coba di IDE Unduh Sumber
harga_buku = 5000
jumlah_buku = 3
harga_pensil = 2000
jumlah_pensil = 2
total = harga_buku * jumlah_buku + harga_pensil * jumlah_pensil
print(total)

Hasil yang diharapkan:

19000

Coba ubah: Ganti jumlah_buku menjadi 4 dan periksa apakah totalnya 24000.

Rangkuman

Variabel mengacu pada nilai. Python mengenali tipe nilai saat program berjalan. Operasi dan konversi harus sesuai tipe; nama yang jelas membantu kita memahami maksud data.

Cek Pemahaman

Lima pertanyaan ini sama dengan pertanyaan di buku. Periksa jawaban di kuis untuk melihat skor dan pembahasan.

  1. Tipe nilai 12 adalah …
  2. Tipe nilai "12" adalah …
  3. Apa hasil int("15") + 5?
  4. Nama variabel yang sesuai adalah …
  5. Nilai boolean yang benar dalam Python adalah …
Kerjakan Kuis

Latihan Mandiri

Latihan 05-L01 – Data barang

Dasar. Simpan nama Buku, jumlah 3, dan harga 5000 dalam variabel. Cetak ketiganya pada baris terpisah.

Kerjakan di IDE Unduh Latihan

Hasil yang diharapkan:

Buku
3
5000
Lihat Petunjuk

Pakai string untuk nama dan integer untuk jumlah serta harga.

Lihat Solusi
nama = "Buku"
jumlah = 3
harga = 5000
print(nama)
print(jumlah)
print(harga)

Tipe dipilih sesuai jenis data.

Coba Solusi di IDEUnduh Solusi

Latihan 05-L02 – Konversi harga

Penerapan. Ubah teks harga "7500" menjadi integer, lalu hitung harga empat barang.

Kerjakan di IDE Unduh Latihan

Hasil yang diharapkan:

30000
Lihat Petunjuk

Gunakan int sebelum perkalian.

Lihat Solusi
harga_teks = "7500"
jumlah = 4
total = int(harga_teks) * jumlah
print(total)

Perkalian bilangan menghitung total, bukan mengulang string.

Coba Solusi di IDEUnduh Solusi

Latihan 05-L03 – Memperbarui saldo

Pengembangan. Mulai dengan saldo 20000. Tambahkan 15000 lalu kurangi 8000. Cetak saldo akhir.

Kerjakan di IDE Unduh Latihan

Hasil yang diharapkan:

27000
Lihat Petunjuk

Gunakan nilai saldo sebelumnya saat melakukan assignment berikutnya.

Lihat Solusi
saldo = 20000
saldo = saldo + 15000
saldo = saldo - 8000
print(saldo)

Variabel mengacu pada nilai baru setelah setiap assignment.

Coba Solusi di IDEUnduh Solusi

Pengembangan

Kegiatan Tambahan

  1. Data Diri Sederhana:
    • Buatlah variabel-variabel untuk menyimpan informasi berikut tentang dirimu:

      • nama_lengkap (string)
      • nama_panggilan (string)
      • usia (integer)
      • tinggi_badan_cm (integer atau float)
      • apakah_pelajar (boolean, True jika pelajar, False jika bukan)
    • Cetak semua nilai variabel tersebut ke layar dengan format yang rapi, misalnya:

      Nama Lengkap: [Isi Nama Lengkapmu]
      Nama Panggilan: [Isi Nama Panggilanmu]
      Usia: [Isi Usiamu] tahun
      Tinggi: [Isi Tinggimu] cm
      Status Pelajar: [Isi Status Pelajarmu]

      Petunjuk: Kamu bisa menggunakan fungsi print() beberapa kali atau menggabungkan string dan variabel menggunakan + (ingat untuk mengkonversi angka ke string jika perlu dengan str()).

  2. Kalkulator Mini Usia:
    • Buat variabel tahun_lahir dan isi dengan tahun lahirmu (integer).
    • Buat variabel tahun_sekarang dan isi dengan tahun ini (integer, misal 2025).
    • Hitung usiamu saat ini dengan mengurangkan tahun_sekarang dengan tahun_lahir, simpan hasilnya di variabel usia_sekarang.
    • Cetak hasilnya dalam format: Usia saya sekarang adalah [usia_sekarang] tahun.
  3. Eksperimen Konversi Tipe:
    • Buat variabel angka_string = "150".
    • Konversikan angka_string menjadi integer dan simpan di variabel angka_int.
    • Tambahkan angka_int dengan 25 dan cetak hasilnya.
    • Buat variabel nilai_desimal_string = "75.5". Konversikan menjadi float dan simpan di nilai_float. Kalikan nilai_float dengan 2 dan cetak hasilnya.
    • Sekarang, buat variabel teks_bukan_angka = "Python" dan coba konversikan menjadi integer menggunakan int(). Amati apa yang terjadi (kamu akan melihat ValueError). Ini adalah bagian dari pembelajaran!
  4. Konstanta Toko Buku Impian:
    • Bayangkan kamu ingin membuat program kasir sederhana untuk toko buku impianmu. Buatlah beberapa konstanta yang mungkin berguna:
      • NAMA_TOKO_BUKU (string, misal “Toko Buku Pelita Ilmu”)
      • PERSEN_PAJAK_PENJUALAN (float, misal 0.11 untuk 11%)
      • DISKON_MEMBER_PERSEN (float, misal 0.05 untuk 5%)
    • Cetak nama toko dan nilai-nilai konstanta tersebut dengan penjelasan singkat.

Sekarang kamu sudah memiliki bekal yang kuat tentang variabel dan tipe data dasar di Python. Di bab berikutnya, kita akan mulai membuat program kita menjadi lebih “pintar” dengan belajar bagaimana mengambil keputusan menggunakan if, else, dan elif!

Referensi dan Materi Pendamping

Langkah Selanjutnya

Bab 6 membahas String Dasar: Mengolah Teks. Sebelum melanjutkan, pastikan kamu dapat menjelaskan tujuan belajar dan menyelesaikan tiga latihan inti bab ini.

Edisi September 2026. Nomor contoh, pertanyaan, dan latihan digunakan bersama pada buku dan halaman ini.

Bab 4 | Bab 6