Modul Pembelajaran Interaktif • Pertemuan 07

Manipulasi String &
Tipe Data Bilangan (Numbers)

Pelajari teknik pengolahan teks profesional di Python: sifat immutability, karakter escape, sintaks modern f-string formatting, puluhan built-in string methods, aritmatika numerik bilangan (Int, Float, Complex), modul math & random, serta rangkuman persiapan menghadapi Kuis UTS.

Konsep Dasar String, Immutability & Slicing

String adalah sekuens karakter berurutan di dalam tanda kutip tunggal '...' atau ganda "...".

Karakteristik Utama String

  • Immutable (Tidak Dapat Diubah): Karakter dalam string tidak dapat diganti secara in-place (misal: s[0] = 'H' menghasilkan TypeError).
  • Operasi Penggabungan: Gunakan simbol + untuk menyambung (concatenation) dan * untuk melipatgandakan (repetition).
  • Fungsi len(): Menghitung total jumlah karakter termasuk spasi, angka, dan simbol tanda baca.
string_dasar.py
var1 = "Hello Python!"
var2 = "I love Python"

print(var1[0])      # Output: H (Indeks ke-0)
print(var2[2:6])    # Output: love (Slicing 2..5)
print(var1[:6] + "World") # Update: Hello World
print("Halo" * 2)   # Output: HaloHalo

Visual String Anatomy & Slicing

Ketik teks Anda sendiri di bawah untuk melihat susunan memori karakter beserta nomor indeksnya secara live!

Arahkan kursor atau klik sel karakter untuk memeriksa notasi indeksnya.

Karakter Escape & Raw String (r"...")

Karakter khusus yang diawali simbol backslash \ untuk memformat baris, tab, dan kutip tanpa menimbulkan SyntaxError.

Daftar Escape Sequences Populer

Karakter Deskripsi Contoh Output
\' Kutip Tunggal (Single Quote) Jum\'at → Jum'at
\" Kutip Ganda (Double Quote) \"Buku\" → "Buku"
\n Baris Baru (Newline / Enter) Teks pindah ke baris bawah
\t Tab Horizontal Memberi spasi tab (4 spasi)
\\ Karakter Backslash Asli Mencetak satu garis miring \

Keajaiban Raw String: r"..."

Pada penulisan alamat direktori file Windows atau Regular Expressions (Regex), backslash sering dianggap escape sequence. Gunakan awalan huruf r (Raw String) agar Python mengabaikan escape character!

raw_string_demo.py
# Tanpa Raw String (Bisa salah karena \n dan \t)
path_salah = "C:\new_folder\test.txt"
print(path_salah)

# Menggunakan Raw String r"..." (Aman & Utuh)
path_benar = r"C:\new_folder\test.txt"
print(path_benar)  # Output: C:\new_folder\test.txt

String Formatting: F-String, .format() & %

Evolusi pemformatan teks di Python: dari operator lama %, method .format(), hingga standar modern f-string.

1. Format Spefifers %

Gaya bahasa C klasik:

"Nama %s, Umur %d" % ("Faruq", 25)

2. Method .format()

Diperkenalkan di Python 2.7+:

"Total: {:.2f}".format(150000.758)

3. F-String (Standard Modern)

Paling cepat, bersih & intuitif (Python 3.6+):

f"Harga: Rp {harga:,.2f}"

Interactive F-String Generator & Price Formatter

Kode Python yang Digenerate:

                    
Hasil Format Output:

Interactive String Methods Lab

Uji coba langsung method bawaan Python untuk case-conversion, trimming, replacing, searching, dan splitting teks.

Sintaks Operasi Python:
teks.upper()
Hasil String Output:
DASAR PEMROGRAMAN PYTHON UNIVERSITAS

Tipe Bilangan (Numbers) & Modul Matematika

Pengolahan angka di Python: Integer, Floating Point, Bilangan Kompleks, serta fungsi modul math dan random.

Tipe Data Numerik & Built-in Functions

  • int: Bilangan bulat tanpa batas digit (contoh: 42, -100).
  • float: Bilangan desimal presisi pecahan (contoh: 3.14159).
  • complex: Bilangan real dan imajiner a + bj (contoh: 2 + 3j).
  • Fungsi Built-in: abs(-5) → 5, round(3.567, 2) → 3.57, pow(2, 3) → 8, divmod(10, 3) → (3, 1).
math_module.py
import math
import random

print(math.sqrt(64))     # Output: 8.0 (Akar kuadrat)
print(math.ceil(4.2))    # Output: 5 (Pembulatan ke atas)
print(math.floor(4.9))   # Output: 4 (Pembulatan ke bawah)
print(random.randint(1, 100)) # Angka acak 1..100

Interactive Math & Conversion Lab

Studi Kasus Akbar: Secure Random Password Generator

Penerapan manipulasi string, kombinasi karakter, dan pengacakan modul random untuk menghasilkan sandi berkekuatan tinggi.

Generator Sandi Berbasis Karakter Python

Memanfaatkan modul string.ascii_letters, string.digits, dan string.punctuation untuk meracik password aman.

Password Hasil Generate:
aB9#kL2$mP7@qR5!
🛡️ Kekuatan: SANGAT KUAT (Entropy Tinggi)

Live Code Playground: String & Bilangan

Eksperimen langsung dengan baris kode Python dan lihat hasil eksekusi terminalnya secara instan.

Klik "Jalankan Kode" untuk mengeksekusi program.

Kuis Pemahaman & Evaluasi UTS

Uji penguasaan Anda seputar manipulasi string, mutabilitas, f-string formatting, dan fungsi numerik.

Pertanyaan 1 / 5 Skor: 0

Memuat pertanyaan kuis...

Rangkuman Materi & Menuju Kuis UTS

Poin Penting Pertemuan 7

  • String Immutable: Tidak bisa diubah in-place, lakukan slicing/replace untuk hasil baru.
  • F-String: f"{var:,.2f}" merupakan format standar modern di industri.
  • Modul Math: Gunakan math.sqrt, math.ceil, math.floor untuk kalkulasi presisi.

Ujian Tengah Semester: Kuis UTS

Selamat! Anda telah menuntaskan modul 1 hingga 7. Saatnya menguji seluruh fondasi logika pemrograman Anda melalui Kuis UTS (Jupyter Notebook & Soal Evaluasi).

Buka Kuis UTS .ipynb Lanjut ke Pertemuan 9: Fungsi