Tutorial Python1
Tutorial Python1
28,
2024. [Online]. Available:
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527.
[Accessed: May 1-31, 2025]. (Diterjemahkan ke dalam bahasa Indonesia
oleh Ade Sukmana menggunakan chat.deepseek.com).
**Kata Pengantar**
Ide awal penyusunan buku ini berangkat dari keprihatinan penulis sebagai
guru Informatika di SMAS PGRI Jonggol, Kabupaten Bogor, Jawa Barat,
yang menyaksikan pesatnya perkembangan teknologi. Terlebih, Generasi
Z hidup di era digital sehingga sudah sepatutnya mereka menguasai
teknologi dan mampu mengendalikannya, bukan malah dikendalikan oleh
teknologi.
Penulis berharap buku ini tidak hanya memfasilitasi siswa SMAPIE (julukan
SMAS PGRI Jonggol) untuk terampil dalam pemrograman Python, tetapi
juga bermanfaat bagi pelajar Indonesia secara umum. Semoga konten
buku ini dapat digunakan untuk kemaslahatan umat manusia.
- Indeks 0 → 1
- Indeks 1 → 2
- **Indeks 2 → 3**
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527
---
### Catatan:
_______________________________________42
***Manipulasi String***
String adalah salah satu tipe data yang paling sering digunakan di Python.
Mereka merepresentasikan urutan karakter dan sangat fleksibel untuk
operasi berbasis teks.
*Contoh:*
```python
Str1 = “Halo”
Str2 = “Dunia”
```
### **3. Pengulangan (Repetition):**
```python
“Python” * 3
# Output: ‘PythonPythonPython’
```
```python
My_str = “Python”
```
```python
```
```python
Nama = “Alice”
Umur = 25
```
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527
---
### Catatan:
_______________________________________43
```python
Print(result)
```
A. Sciice
B. Sci nce
C. Scince
D. Scienc
**Penjelasan:**
1. **`text[5:8]`**:
```
Data Science
0 1 2 3 4 5 6 7 8 9 10 11
```
- Indeks 5: `S`
- Indeks 6: `c`
- Indeks 7: `i`
- Hasil: **”Sci”**.
2. **`text[-3:]`**:
```
... n c e
-3 -2 -1
```
- Hasil: **”nce”**.
3. **Gabungan**:
**Output**:
```
Scince
```
### Catatan:
________________________________________44
- **Indeks**:
```
Data Science
0 1 2 3 4 5 6 7 8 9 10 11
```
***List Comprehension***
List Comprehension adalah cara yang lebih singkat dan elegan untuk
membuat list di Python.
```python
```
```python
```
*Output:*
`[0, 1, 4, 9, 16]`
```python
Print(bilangan_genap)
```
*Output:*
`[0, 2, 4, 6, 8]`
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527
---
### Catatan:
_______________________________________46
```python
Nums = [1, 2, 3, 4, 5]
Print(output)
```
A. `[2, 4, 6, 8, 10]`
B. `[1, 3, 5]`
C. `[2, 6, 10]`
D. `[4, 8]`
**Penjelasan:**
1. **Kondisi `if x%2 != 0`** hanya memilih angka **ganjil** dari list
`nums`:
- `1` (ganjil)
- `3` (ganjil)
- `5` (ganjil)
- `1 * 2 = 2`
- `3 * 2 = 6`
- `5 * 2 = 10`
**Output**:
```python
[2, 6, 10]
```
---
### Catatan:
- Angka genap (`2` dan `4`) diabaikan karena tidak memenuhi kondisi.
________________________________________47
- **Mekanisme kerja**:
_______________________________________48
Ini digunakan di hampir setiap proyek dunia nyata: baik untuk menyimpan
data pengguna, membaca konfigurasi, atau menulis log.
```python
```
```python
Konten = file.read()
Print(konten)
```
```python
File.write(“Halo, Python!”)
File.close()
```
```python
File.write(“\nBaris Baru”)
```
```python
File.close()
```
### **Praktik Terbaik: Menggunakan Pernyataan `with`**
```python
Konten = file.read()
Print(konten)
```
Ini secara otomatis menutup file setelah selesai membaca atau menulis.
Penanganan file sering diuji dalam wawancara dan sangat berguna dalam
skrip otomasi dan tugas pengolahan data.
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527
---
### Catatan:
- Istilah teknis seperti *file handling*, *read*, *write*, dan *append*
dipertahankan dalam konteks pemrograman.
_______________________________________49
```python
f.write(“Hello”)
f.write(“World”)
```
**Penjelasan:**
---
- **D**: Salah karena mode `”w”` otomatis membuat file jika belum ada.
________________________________________50
---
- **Perbedaan mode**:
```python
f.write(“Hello “)
f.write(“World”)
```
________________________________________51
**Hai teman-teman,**
*Contoh:*
```python
Print(10 / num)
```
- Jika pengguna memasukkan **0**, akan menyebabkan
`ZeroDivisionError`.
```python
Try:
# kode berisiko
Print(10 / num)
Except ZeroDivisionError:
Except ValueError:
```
**Blok Opsional:**
*Contoh:*
```python
Try:
F = open(“test.txt”, “r”)
Print(f.read())
Except FileNotFoundError:
Finally:
Print(“Eksekusi selesai.”)
```
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527
### Catatan:
________________________________________52
**Pemrograman Python**
Exception apa yang muncul saat membagi angka dengan nol di Python?
A. TypeError
B. ValueError
C. ZeroDivisionError
D. IndexError
**Penjelasan:**
- Ini adalah *exception* spesifik Python untuk kasus pembagian oleh nol.
**Contoh:**
```python
Try:
Hasil = 10 / 0
Except ZeroDivisionError:
```
---
________________________________________53
### Penjelasan:
- Contoh:
```python
10 / 0 # Memicu ZeroDivisionError
```
### Perbandingan:
________________________________________54
Berikut terjemahan dalam Bahasa Indonesia:
Anda bisa menghubungkan GitHub, blog, proyek, dan semua karya Anda
dalam satu tempat.
### Penjelasan:
_______________________________________55
Fungsi lambda adalah fungsi anonim kecil yang didefinisikan dalam satu
baris.
### **Sintaks:**
```python
```
### **Contoh:**
```python
Kuadrat = lambda x: x * x
Print(kuadrat(4)) # Output: 16
```
Setara dengan:
```python
Def kuadrat(x):
Return x * x
```
**Contoh lain:**
```python
Tambah = lambda a, b: a + b
```
```python
Titik.sort(key=lambda x: x[1])
```
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527
---
### Catatan:
________________________________________56
```python
Nums = [1, 2, 3, 4]
Print(squared)
```
A. `[1, 2, 3, 4]`
B. `[2, 4, 6, 8]`
C. `[1, 4, 9, 16]`
D. Error
**Penjelasan:**
- `1*1 = 1`
- `2*2 = 4`
- `3*3 = 9`
- `4*4 = 16`
**Output**:
```python
[1, 4, 9, 16]
```
---
### Catatan:
________________________________________57
***Jawaban Benar: C. [1, 4, 9, 16]***
Jadi:
1×1=1
2×2=4
3×3=9
4 × 4 = 16
---
______________________________________58
```python
Angka = [1, 2, 3, 4]
```
```python
Angka = [1, 2, 3, 4, 5, 6]
```
```python
Angka = [1, 2, 3, 4]
Hasil_kali = reduce(lambda x, y: x * y, angka)
```
Fungsi-fungsi ini sangat powerful jika digunakan dengan tepat. Anda akan
sering menjumpainya dalam soal wawancara dan kode dunia nyata!
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527
---
```
Langkah 1: 1 * 2 = 2
Langkah 2: 2 * 3 = 6
Langkah 3: 6 * 4 = 24
```
- **Perbedaan Utama**:
### Catatan:
- Istilah teknis seperti *map*, *filter*, *reduce*, *iterable*, dan *lambda*
dipertahankan dalam bahasa Inggris karena sudah menjadi standar di
komunitas pemrograman Indonesia.
________________________________________59
```python
Nums = [1, 2, 3, 4, 5]
Print(result)
```
A. 9
B. 6
C. 15
D. 10
1. **Operasi `filter()`**:
**Output**:
```
```
---
### Catatan:
```
```
_______________________________________60
Ini sedikit rumit, tapi beberapa dari kalian tetap menjawab dengan benar
😊
`filter(lambda x: x % 2 == 0, nums)` → menyaring bilangan genap → `[2,
4]`
1. **Fase Penyaringan**:
2. **Fase Pengurangan**:
- Langkah 1: `2 + 4 = 6`
________________________________________61
Modul adalah file `.py` yang berisi definisi Python, fungsi, kelas, atau
variabel.
*Contoh:*
File `math_utils.py`:
```python
Return a + b
```
```python
Import math_utils
```
```python
Print(tambah(2, 3))
```
### **2. Apa Itu Paket?**
Paket adalah direktori berisi beberapa modul Python terkait dan file
`__init__.py`. Ini membantu menyusun proyek besar.
```
Myproject/
├── math_utils/
│ ├── __init__.py
│ └── operations.py
```
```python
```
```bash
```
```python
Import requests
Response = requests.get(‘https://contoh.com’)
```
**Beri reaksi ❤️jika siap untuk kuis tentang Modul & Paket!**
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527
---
### Catatan:
_______________________________________62
Berikut terjemahan dalam Bahasa Indonesia:
**Pemrograman Python**
Manakah dari berikut ini yang merupakan cara yang benar untuk
mengimpor fungsi `sqrt` dari modul `math`?
D. `import math.sqrt`
**Penjelasan:**
Sintaks yang valid di Python untuk mengimpor fungsi spesifik dari modul
adalah:
```python
```
Sehingga:
- **A** dan **D**: Sintaks tidak valid (tidak menggunakan pola `from ...
import ...` yang benar).
- **B**: Urutan kata kunci salah (harus `from ... import ...`, bukan
`import ... from ...`).
**Contoh penggunaan:**
```python
```
---
### Catatan:
________________________________________63
Sintaks yang benar untuk mengimpor fungsi spesifik dari modul adalah:
```python
```
---
```python
```
```python
Import math
```
________________________________________64
Variabel yang didefinisikan di dalam fungsi atau blok kode. Hanya dapat
diakses di dalam fungsi tersebut.
*Contoh:*
```python
X = 10 # variabel global
Def fungsi_saya():
Fungsi_saya()
Print(x) # Output: 20
```
*Contoh:*
```python
Def fungsi_saya():
X = 10 # variabel lokal
Print(x)
Fungsi_saya()
```
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527
🔗 **Python Coding**:
https://whatsapp.com/channel/0029Vau5fZECsU9HJFLacm2a
---
### Catatan:
_______________________________________65
**Pemrograman Python**
```python
Total_items = 0
Def add_item(count):
Global total_items
Total_items += count
Add_item(5)
Print(total_items)
```
A. 5
B. 0
C. Error
D. 10
**Penjelasan:**
1. **Variabel Global**:
2. **Keyword `global`**:
3. **Modifikasi Variabel**:
4. **Output**:
**Kode ini valid dan tidak error** karena penggunaan `global` yang benar.
---
### Catatan:
- Tanpa keyword `global`, kode akan **error** karena Python akan
menganggap `total_items` sebagai variabel lokal yang belum
didefinisikan.
________________________________________66
***Jawaban: A. 5***
Dalam kode ini, kata kunci `global` digunakan untuk merujuk ke variabel
global `total_items` di dalam fungsi `add_item()`.
---
________________________________________67
```python
Import datetime
```
```python
Sekarang = datetime.now()
```
```python
Print(ulang_tahun)
```
```python
```
```python
Sekarang = datetime.now()
```
```python
Date_str = “01/05/2025”
Print(date_obj)
```
```python
Print(“Besok:”, besok)
Print(“Kemarin:”, kemarin)
```
```python
D1 = datetime(2025, 5, 10)
D2 = datetime(2025, 5, 1)
Selisih = d1 – d2
Print(selisih.days) # Output: 9
```
```python
Hari_ini = datetime.now()
Usia -= 1
Print(“Usia:”, usia)
```
### **Kode Format Tanggal yang Berguna**
Topik ini sangat berguna untuk otomasi, analisis data, hingga *web
scraping*.
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527
---
### Catatan:
________________________________________68
**Terjemahan dalam Bahasa Indonesia:**
Pemrograman Python
```python
Date_str = “30-04-2025”
```
B. 04-30-2025
C. 30-April-2025
D. 2025/04/30
**Jawaban:**
### Penjelasan:
1. **`datetime.strptime(date_str, “%d-%m-%Y”)`**
> **Catatan**:
> - Jika sistem menggunakan lokal Indonesia, output bisa berubah (misal:
*April* menjadi *April* tetap sama karena tidak ada terjemahan khusus).
______________________________________69
________________________________________70
```python
Class Dog:
Pass
```
Objek adalah sesuatu yang dibuat dari kelas — seperti rumah nyata yang
dibangun dari rencana.
```python
My_dog = Dog()
```
```python
Class Dog:
Def bark(self):
```
```python
```
Anda telah membuat dua objek dari kelas `Dog`.
```python
```
```python
Class Student:
Self.name = name
Self.grade = grade
Def display_info(self):
S1 = Student(“Alice”, “A”)
S2 = Student(“Bob”, “B”)
```
*Ringkasan Singkat:*
________________________________________71
Pemrograman Python
```python
Class Student:
Self.name = name
Def greet(self):
S1 = Student(“Amit”)
Print(s1.greet())
```
A. Hello, Student
B. Hello, Amit
C. Amit
**Jawaban Benar:**
### Penjelasan:
```python
S1 = Student(“Amit”) # Error!
```
```python
```
```python
Hello, Amit # Jawaban B
```
```python
Class Student:
Self.name = name
Def greet(self):
S1 = Student(“Amit”)
```
_______________________________________72
```python
```
________________________________________73
[https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527]
(https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527)
Bayangkan kelas induk bernama `Animal` dan dua kelas turunan: `Dog`
dan `Cat`. Kelas `Dog` dan `Cat` mewarisi properti dari `Animal` (seperti
`name` dan `age`), dan bisa menambahkan perilaku spesifik (`bark`
untuk anjing, `meow` untuk kucing).
```python
Class Animal:
Self.name = name
Self.age = age
Def speak(self):
Class Dog(Animal):
Def speak(self):
Return “Woof!”
Class Cat(Animal):
Def speak(self):
Return “Meow!”
# Membuat objek
Dog = Dog(“Buddy”, 3)
Cat = Cat(“Whiskers”, 2)
```
*Penjelasan:*
- `Dog` dan `Cat` adalah kelas turunan yang mewarisi dari `Animal`.
```python
Def animal_sound(animal):
Print(animal.speak())
# Demonstrasi polimorfisme
```
*Penjelasan:*
1. *Method Overloading:*
```python
Class Example:
Obj = Example()
```
2. *Method Overriding:*
Terjadi ketika kelas turunan menyediakan versi sendiri dari metode yang
sudah ada di kelas induk (seperti contoh `speak()` di atas).
**Hubungan Pewarisan dan Polimorfisme:**
```python
Class Animal:
Def sound(self):
Class Dog(Animal):
Def sound(self):
Return “Woof!”
Class Cat(Animal):
Def sound(self):
Return “Meow!”
# Membuat objek
# Demonstrasi polimorfisme
Print(animal.sound())
```
*Output:*
```
Woof!
Meow!
```
**Poin Penting:**
❤️*Beri reaksi jika siap untuk kuis tentang **Pewarisan & Polimorfisme***
________________________________________74
***Decorators***
Decorator adalah fungsi yang menambahkan fungsionalitas ekstra ke
fungsi lain tanpa mengubah kode aslinya.
***Contoh Sintaks:***
```python
Def greet(func):
Def wrapper():
Print(“Halo!”)
Func()
Return wrapper
@greet
Def sebut_nama():
Sebut_nama()
```
***Output:***
```
Halo!
```
```python
Def greet(func):
Def wrapper():
Print(“Halo!”)
Func()
Return wrapper
Def sebut_nama():
Sebut_nama = greet(sebut_nama)
Sebut_nama()
```
Hasilnya sama!
***Beri reaksi ❤️jika Anda siap untuk kuis berikutnya tentang decorators!
***
[https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527]
(https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527)
---
________________________________________75
**Pemrograman Python**
### Penjelasan:
- Istilah kunci:
- *Functionality* → **fungsionalitas**
________________________________________76
2. **Frasa kunci**:
3. **Konsistensi**:
4. **Naturalisasi**:
________________________________________77
*Contoh:*
```python
My_list = [1, 2, 3]
Iterator = iter(my_list)
Print(next(iterator)) # 1
Print(next(iterator)) # 2
Print(next(iterator)) # 3
```
*Perbedaan Utama:*
*Contoh:*
```python
Def countdown(n):
While n > 0:
Yield n
N -= 1
For i in countdown(3):
Print(i)
```
*Output:*
```
```
```python
Print(num)
```
**Kesimpulan Praktis:**
*Beri reaksi ❤️jika Anda siap untuk kuis berikutnya tentang decorators!*
[https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527]
(https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527)
2. **Penyesuaian natural**:
3. **Konsistensi format**:
________________________________________78
Berikut terjemahan pertanyaan dan pilihan jawaban tentang *generators*
dalam Python ke bahasa Indonesia:
**Pemrograman Python**
### Catatan:
```python
List(gen) # [0, 1, 2]
```
- Istilah teknis:
- *Generator* → **generator**
- *Exhausted* → **habis**
1. **Istilah kunci**:
- *Exhausted* → **habis**
3. **Naturalisasi kalimat**:
________________________________________80
Berikut terjemahan soal pemrograman Python beserta pilihan jawabannya
dalam bahasa Indonesia:
**Pemrograman Python**
```python
Def even_numbers(n):
Num = 0
Yield num
Num += 2
Gen = even_numbers(5)
Print(list(gen))
```
A. `[0, 1, 2, 3, 4]`
B. `[0, 2, 4]`
C. `[0, 2, 4, 6, 8]`
D. `[0, 2, 4, 6]`
### Catatan:
2 (2 < 5 → yield)
4 (4 < 5 → yield)
6 (6 ≥ 5 → berhenti)
- *Generator* berhenti saat `num >= n` sesuai kondisi `while num <
n`.
________________________________________81
- **Mekanisme generator**:
- `yield num` mengembalikan nilai saat ini (0, 2, 4)
```
N=5
```
________________________________________82
Berikut terjemahan materi tentang penulisan kode Python yang bersih dan
mudah dibaca ke dalam bahasa Indonesia:
Hindari:
```python
X = 10
```
Lebih baik:
```python
Jumlah_siswa = 10
```
Buruk:
```python
If a:
If b:
If c:
Lakukan_sesuatu()
```
*Lebih baik:*
```python
Return
Lakukan_sesuatu()
```
*4. Gunakan Fungsi untuk Memecah Logika*
```python
Def validasi_input(data):
Pass
Def proses_data(data):
Pass
```
```python
```
```python
# Buruk
# Baik
UMUR_DEWASA = 18
```
Tulis kode yang dapat menjelaskan sendiri, dan gunakan komentar hanya
untuk logika kompleks.
*Beri reaksi ❤️jika Anda siap untuk kuis berikutnya tentang decorators!*
[https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527]
(https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527)
- *Clean & Readable Code* → **Kode yang Bersih dan Mudah Dibaca**
________________________________________83
**Manakah dari berikut ini yang BUKAN praktik baik untuk menulis kode
yang bersih dan mudah dibaca?**
**Penjelasan:**
- Contoh buruk:
```python
Def proses_data(data):
# 1. Membersihkan data
# 2. Menghitung statistik
# 3. Menyimpan ke file
```
- Seharusnya:
```python
```
- **B**: Fungsi pendek (<20 baris) lebih mudah dipahami dan diuji.
**Kesimpulan:**
________________________________________84
### Penjelasan:
```python
```
________________________________________85
Web Scraping adalah proses mengekstrak data dari situs web secara
otomatis.
*Contoh:*
Jika Anda ingin mengumpulkan semua nama dan harga produk dari situs
e-commerce — alih-alih menyalinnya manual, Anda bisa menulis skrip
Python untuk melakukannya.
```bash
```
```python
Import requests
url = https://quotes.toscrape.com
response = requests.get(url)
```
```python
```
```python
Quotes = soup.find_all(‘div’, class_=’quote’)
Print(f”{text} — {author}”)
```
```python
Import csv
Writer = csv.writer(file)
Writer.writerow([‘Kutipan’, ‘Penulis’])
Writer.writerow([text, author])
```
https://whatsapp.com/channel/0029Vau5fZECsU9HJFLacm2a/205
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527
---
### Catatan:
________________________________________86
**Pemrograman Python**
B. `soup.get_all()`
C. `soup.select_one()`
D. `soup.find_all()`
**Penjelasan:**
- Contoh:
```python
```
---
### Catatan:
- `find_all()` adalah metode paling umum untuk *scraping* data berulang
(seperti daftar produk, artikel, dll.).
_______________________________________87
- **Contoh Penggunaan**:
```python
Semua_paragraf = soup.find_all(‘p’)
Paragraf_pertama = soup.find(‘p’)
```
- **Perbedaan Penting**:
________________________________________88
**Pemrograman Python**
Apa cara yang benar untuk mengekstrak teks dari elemen HTML
menggunakan BeautifulSoup?
A. `element.text()`
B. `element.get_text()`
C. `element.extract()`
D. `element.innerText()`
**Penjelasan:**
Contoh:
```python
Teks = element.get_text()
```
---
```python
Element = soup.div
```
________________________________________89
|-----------------------|-----------------------------------------|-------------------------|
_______________________________________90
```python
Import requests
Response = requests.get(https://api.github.com)
```
```python
Import requests
Print(response.status_code)
Print(response.json())
```
```python
Try:
R = requests.get(https://api.github.com/invalid)
r.raise_for_status()
except requests.exceptions.HTTPError as e:
print(f”Error: {e}”)
```
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527
---
### Catatan:
________________________________________91
**Pemrograman Python**
Metode mana dari library `requests` yang digunakan untuk mengirim data
ke API?
A. `requests.get()`
B. `requests.post()`
C. `requests.fetch()`
D. `requests.send()`
**Penjelasan:**
- Contoh:
```python
Import requests
```
---
### Catatan:
________________________________________92
|---------------------|------------------------------------------|--------------------------------------
--|
________________________________________93
```python
Import pandas as pd
Pd.Series([1, 2, 3])
```
```
Dari CSV:
```python
Df = pd.read_csv(‘data.csv’)
```
Dari Excel:
```python
Df = pd.read_excel(‘data.xlsx’)
```
```python
```
- **Informasi dasar**:
```python
```
- **Akses kolom**:
```python
```
- **Filter baris**:
```python
```
```python
```
- **Hapus kolom**:
```python
```
```python
Df.groupby(‘Departemen’)[‘Gaji’].mean()
```
```python
Df.isnull().sum()
```
```python
Df.fillna(0)
```
```python
Df.dropna()
```
```python
Df.sort_values(by=’Usia’)
```
Ke CSV:
```python
Df.to_csv(‘data_bersih.csv’, index=False)
```
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527
---
### Catatan:
________________________________________94
**Pemrograman Python**
A. `df.tail()`
B. `df.describe()`
C. `df.head()`
D. `df.info()`
**Penjelasan:**
**Fungsi Lain:**
---
```python
Import pandas as pd
Data = pd.read_csv(“data.csv”)
```
________________________________________95
**Fungsi lainnya:**
```python
Import pandas as pd
Data = pd.read_csv(“data.csv”)
Print(data.head())
Print(data.tail(3))
```
________________________________________96
**Pemrograman Python**
```python
Df[‘column_name’].unique()
```
- Contoh:
```python
Import pandas as pd
Print(data[‘Warna’].unique())
```
---
| **Metode** | **Fungsi** |
|--------------------------------|---------------------------------------------|
________________________________________97
***Jawaban Benar: C) Daftar semua nilai unik di column_name***
*Contoh:*
```python
Import pandas as pd
Print(df[‘column_name’].unique())
```
*Output:*
```
[1 2 3]
```
Output menunjukkan bahwa **1, 2, dan 3** adalah nilai unik di kolom
`column_name`.
### Penjelasan:
________________________________________98
Sejauh ini kita telah membahas konsep inti Python. Saatnya naik level!
6. *Prefix Sum*
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527
---
### Catatan:
________________________________________99
### **Waktu Terbaik untuk Membeli dan Menjual Saham (Hanya Satu
Transaksi)**
**Pernyataan Masalah:**
Diberikan daftar harga di mana `prices[i]` adalah harga saham pada hari
ke-`i`.
**Contoh:**
3. Lacak harga minimum sejauh ini, hitung keuntungan jika dijual hari ini.
**Kode:**
```python
Def maxProfit(prices):
Else:
Return max_profit
```
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1629
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527
---
### **Catatan:**
_______________________________________100
**Pemrograman Python**
A. 7
B. 6
C. 8
D. 5
**Penjelasan:**
- **Keuntungan**: 8 – 1 = 7
**Simulasi Algoritma:**
```python
Def maxProfit(prices):
Min_price = float(‘inf’)
Max_profit = 0
Min_price = price
Else:
Return max_profit
Prices = [7, 1, 5, 3, 6, 4, 8]
Print(maxProfit(prices)) # Output: 7
```
**Langkah Iterasi:**
- Hari 1: `min_price = 7`
- Hari 2: `min_price = 1`
### Catatan:
_______________________________________101
Keuntungan = 8 – 1 = 7
### **Koreksi:**
- **A. 7**
- B. 6
- C. 8
- D. 5
- Keuntungan = 7
```python
Prices = [7, 1, 5, 3, 6, 4, 8]
Min_price = float(‘inf’)
Max_profit = 0
Min_price = price
Else:
Print(max_profit) # Output: 7
```
_______________________________________102
**Pemrograman Python**
A. 2
B. 0
C. 3
D. 1
### **Jawaban yang Benar: B) 0**
**Penjelasan:**
```
Hari 1: 9
Hari 2: 8 (turun 1)
Hari 3: 7 (turun 1)
Hari 4: 3 (turun 4)
Hari 5: 1 (turun 2)
```
- Jika membeli di hari apa pun, harga jual berikutnya selalu lebih rendah.
**Simulasi Algoritma:**
```python
Def maxProfit(prices):
Min_price = float(‘inf’)
Max_profit = 0
Min_price = price
Else:
Return max_profit
Prices = [9, 8, 7, 3, 1]
Print(maxProfit(prices)) # Output: 0
```
---
### Catatan:
______________________________________103
- Hari 1: 9
- Hari 2: 8
- Hari 3: 7
- Hari 4: 3
- Hari 5: 1
Tidak ada kesempatan untuk membeli rendah dan menjual tinggi karena
harga selalu turun setiap hari.
Def maxProfit(prices):
Min_price = float(‘inf’)
Max_profit = 0
Else:
Return max_profit
```
_______________________________________104
**Pernyataan Masalah:**
### **Intuisi:**
- Berbeda dengan versi satu transaksi, di sini Anda diizinkan melakukan
transaksi sebanyak mungkin.
**Kode (Python):**
```python
Def maxProfit(prices):
Profit = 0
Return profit
```
**Contoh:**
Output: `7`
Penjelasan:
Total = 4 + 3 = 7
2. Jika harga hari ini lebih tinggi dari kemarin (`prices[i] > prices[i-1]`):
- `i=1`: 1 > 7? ❌
- `i=3`: 3 > 5? ❌
- `i=5`: 4 > 6? ❌
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1629
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527
---
### **Catatan:**
_______________________________________105
**Pemrograman Python**
A. 7
B. 6
C. 5
D. 4
**Penjelasan:**
**Simulasi Algoritma:**
```python
Def maxProfit(prices):
Profit = 0
```
---
### **Strategi:**
_______________________________________106
💰 Untung = 4
💰 Untung = 3
**Total = 7**
---
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1629
_______________________________________107
**Pemrograman Python**
A. 0
B. 4
C. 5
D. 10
**Simulasi Algoritma:**
```python
Def maxProfit(prices):
Profit = 0
Return profit
```
- Jika hanya satu transaksi (beli di hari 1, jual di hari 5): untung = 5 – 1 =
4 (sama).
---
### **Catatan:**
______________________________________108
```
```
### **Catatan:**
- Tidak ada cara mendapatkan lebih dari 4 karena harga maksimum (5)
hanya 4 poin lebih tinggi dari harga minimum (1).
_______________________________________109
**Pernyataan Masalah:**
**Contoh:**
**Output:** `6`
- Bandingkan:
**Kode Python:**
```python
Def maxSubArray(nums):
Return max_global
```
|---------|-----------|----------------------|---------------------------|
**Output:** `6`
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1629
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527
_______________________________________110
**Pemrograman Python**
Berapa jumlah maksimum yang dapat diperoleh dari subarray berurutan
(bagian dari array asli) menggunakan Algoritma Kadane?
A. 6
B. 8
C. 7
D. 5
**Penjelasan:**
Subarray dengan jumlah maksimum adalah `[2, 3, -4, 5, -1, 2]` atau `[5, -
1, 2]` (keduanya berjumlah 7).
```python
Def maxSubArray(arr):
Return max_global
```
**Langkah Iterasi:**
|---------|--------|----------------------|---------------------------|
**Output:** `7`
---
### **Catatan:**
- Solusi manual:
_______________________________________111
```
2+3=5
5–4=1
1+5=6
6–1=5
5+2=7
```
### **Verifikasi:**
- **Alternatif lain**:
- `[2, 3]` = 5 ❌
- `[5]` = 5 ❌
- **Hanya subarray penuh** `[2, 3, -4, 5, -1, 2]` yang menghasilkan **7**.
```python
Print(maxSubArray([-1, 2, 3, -4, 5, -1, 2])) # Output: 7
```
_______________________________________112
- Butuh alternatif lebih cepat dari nested loop (misal: dari O(n²) ke O(n)).
**Pernyataan Masalah:**
Diberikan list bilangan bulat dan angka `k`. Temukan jumlah maksimum
dari sembarang subarray berurutan berukuran `k`.
**Solusi:**
```python
Return max_sum
# Contoh
Arr = [2, 1, 5, 1, 3, 2]
K=3
```
```
[2, 1, 5] → jumlah = 8
[1, 5, 1] → jumlah = 7
```
**Pernyataan Masalah:**
Diberikan list bilangan bulat positif dan target `S`, temukan panjang
terkecil subarray berurutan yang jumlahnya ≥ `S`.
**Solusi:**
```python
Window_sum = 0
# Contoh
Arr = [2, 1, 5, 2, 3, 2]
Target = 7
```
**Cara Kerja:**
- Ketika jumlah ≥ target, perkecil jendela dari kiri untuk temukan jendela
valid terkecil.
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1629
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527
---
### **Catatan:**
_______________________________________113
**Pemrograman Python**
`k = 4`
A. 39
B. 24
C. 50
D. 26
**Penjelasan:**
`4 + 2 + 10 + 23 = 39`
```python
Return max_sum
K=4
```
**Langkah Iterasi:**
---
### **Catatan:**
- Tidak ada subarray lain yang memberikan jumlah lebih besar dari 39.
_______________________________________114
```python
```
_______________________________________115
Teknik Dua Pointer sangat umum dalam masalah array dan string,
terutama untuk mengoptimalkan kompleksitas waktu. Sering digunakan
untuk:
- Array terurut
- Penggabungan array
- Masalah manipulasi string
- Membalik string/array
- Memeriksa palindrom
1. **Arah Berlawanan:**
2. **Arah Sama:**
```python
Def has_pair_with_sum(arr, target):
If current_sum == target:
Return True
Left += 1
Else:
Right -= 1
Return False
```
**Keunggulan:**
- Brute-force: O(n²)
```python
Def remove_duplicates(nums):
Slow = 0
If nums[fast] != nums[slow]:
Slow += 1
Nums[slow] = nums[fast]
Return slow + 1
```
```python
Def reverse_string(s):
Left += 1
Right -= 1
```
```python
Def move_zeros(nums):
Non_zero = 0
For i in range(len(nums)):
If nums[i] != 0:
Non_zero += 1
```
Def is_palindrome(s):
If s[left] != s[right]:
Return False
Left += 1
Right -= 1
Return True
```
```python
Def sorted_squares(nums):
Index = len(nums)-1
Result[index] = nums[left]**2
Left += 1
Else:
Result[index] = nums[right]**2
Right -= 1
Index -= 1
Return result
```
*Contoh:* `[-4,-1,0,3,10]` → `[0,1,9,16,100]`
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1527
https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1629
---
### **Catatan:**
______________________________________116
**Pemrograman Python**
**Penjelasan:**
```python
Def sorted_squares(nums):
Result[index] = nums[left] ** 2
Left += 1
Else:
Result[index] = nums[right] ** 2
Right -= 1
Index -= 1
Return result
```
**Simulasi Langkah Demi Langkah:**
1. **Iterasi 1**:
- `right=3`, `index=3`
2. **Iterasi 2**:
- `left=1`, `index=2`
3. **Iterasi 3**:
- `right=2`, `index=1`
4. **Iterasi 4**:
- `left=2`, `index=0`
5. **Iterasi 5**:
---
### **Catatan:**
_______________________________________117
Contoh:
Jadi, kita gunakan Teknik Dua Pointer untuk menyelesaikan ini secara
efisien.
3. Buat array hasil kosong berukuran sama. Isi dari belakang ke depan,
menempatkan kuadrat terbesar terlebih dahulu.
```python
Def sorted_squares(arr):
N = len(arr)
Result = [0] * n
Left, right = 0, n – 1
Result[pos] = arr[left] ** 2
Left += 1
Else:
Result[pos] = arr[right] ** 2
Right -= 1
Pos -= 1
Return result
# Contoh
```
**Cara Kerja:**
- Teknik ini optimal karena hanya membutuhkan satu iterasi melalui array.
_______________________________________118
Hai semua,
Dalam postingan ini, kita akan fokus pada konsep inti Python yang
diperlukan untuk memahami pola-pola coding yang akan datang.
Array dan list adalah struktur data inti yang akan sering kalian gunakan
dalam wawancara coding. Memahami sifat dan operasinya akan
membantu kalian menyelesaikan masalah lebih efisien.
**Array vs List:**
**Operasi Umum:**
**Bagian 3: Rekursi**
Misalkan kalian ingin menghitung faktorial dari bilangan `n`. Faktorial `n`
(dilambangkan `n!`) adalah hasil perkalian semua bilangan bulat positif
hingga `n`.
```python
Def faktorial(n):
If n == 1:
Return 1
Else:
Return n * faktorial(n – 1)
```
* **Merge Sort** (`O(n log n)`): Efisien, membagi list menjadi sublist
lebih kecil secara rekursif.
```python
Def merge_sort(arr):
If len(arr) > 1:
Mid = len(arr) // 2
Separuh_kiri = arr[:mid]
Separuh_kanan = arr[mid:]
Merge_sort(separuh_kiri)
Merge_sort(separuh_kanan)
I=j=k=0
Arr[k] = separuh_kiri[i]
I += 1
Else:
Arr[k] = separuh_kanan[j]
J += 1
K += 1
Arr[k] = separuh_kiri[i]
I += 1
K += 1
Arr[k] = separuh_kanan[j]
J += 1
K += 1
Merge_sort(arr)
```
**Bagian 5: Struktur Data Kunci: Stack, Queue, dan Linked List**
Memahami stack, queue, dan linked list sangat penting karena sering
digunakan dalam soal wawancara. Struktur data ini sangat membantu
untuk masalah yang melibatkan penelusuran, pengelolaan urutan, atau
pemrosesan data yang efisien.
* **Stack:** *Last In, First Out* (LIFO). Sering digunakan untuk operasi
undo, parsing ekspresi, dan mengelola pemanggilan rekursif.
_______________________________________119
```python
A = [1, 2, 3]
B=a
b.append(4)
print(a)
```
A. `[1, 2, 3]`
B. `[1, 2, 3, 4]`
C. `[4, 1, 2, 3]`
D. `Error`
- Saat `b.append(4)` dijalankan, list yang dirujuk oleh `a` dan `b` sama-
sama berubah.
_______________________________________120
Berikut terjemahan penjelasannya dalam Bahasa Indonesia:
Dalam Python, list adalah objek yang dapat diubah (*mutable*). Saat
Anda menulis `b = a`, baik `a` maupun `b` merujuk ke list yang sama di
memori. Jadi ketika `b.append(4)` dieksekusi, itu mengubah list asli —
itulah sebabnya `a` juga ikut berubah.
---
```python
B = a.copy() # atau
B = a[:] # slicing
```
_______________________________________121
**Pemrograman Python**
Numbers = [1, 2, 3, 4, 5]
Print(squares)
```
B. `[4, 16]`
C. `[1, 9, 25]`
D. `[2, 4]`
- Hanya mengambil angka genap (`x % 2 == 0`) dari list `numbers` (yaitu
**2** dan **4**)
- Menghitung kuadratnya:
- `2² = 4`
- `4² = 16`
_______________________________________122
`2² = 4`
`4² = 16`
_______________________________________123
Anda bisa:
***http://wa.me/18334363285?text=What%20are%20the%20top%20news
%20for%20India***
_______________________________________124
Diberikan array bilangan bulat dan beberapa *query* bentuk (i, j). Untuk
setiap *query*, kembalikan jumlah elemen dari indeks i ke j (inklusif).
*Contoh:*
```python
Query = (1, 3)
```
*Kode Python:*
```python
Def build_prefix_sum(arr):
Prefix[0] = arr[0]
Return prefix
If i == 0:
Return prefix[j]
# Contoh penggunaan
Prefix = build_prefix_sum(arr)
```
**2. Soal: Subarray Sum Equals K**
*Contoh:*
```python
```
*Kode Python:*
```python
Count = 0
Prefix_sum = 0
Prefix_sum += num
If prefix_sum – k in seen:
Count += seen[prefix_sum – k]
Seen[prefix_sum] = seen.get(prefix_sum, 0) + 1
Return count
# Contoh penggunaan
```
**Rekap Singkat**
**Beri reaksi ❤️jika sudah siap untuk kuis berikutnya tentang topik ini!**
_______________________________________125
**Pemrograman Python**
```
Dengan teknik prefix sum, berapa jumlah subarray dari indeks 1 hingga
indeks 3?
A. 7
B. 6
C. 8
D. 5
```
Prefix[0] = arr[0] = 3
Prefix[1] = 3 + 4 = 7
Prefix[2] = 7 + (-2) = 5
Prefix[3] = 5 + 5 = 10
Prefix[4] = 10 + (-1) = 9
```
```python
Sum = 10 – 3 = 7
```
3. **Verifikasi manual**:
Elemen indeks 1-3: `[4, -2, 5]`
`4 + (-2) + 5 = 7`
_______________________________________126
`prefix[0] = 3`
`prefix[1] = 3 + 4 = 7`
`prefix[2] = 7 – 2 = 5`
`prefix[3] = 5 + 5 = 10`
*Kode Python:*
```python
Prefix = [arr[0]]
Start = 1
End = 3
If start == 0:
Result = prefix[end]
Else:
```
2. **Verifikasi elemen**:
- Elemen indeks 1: 4
- Elemen indeks 2: -2
- Elemen indeks 3: 5
- Total: 4 + (-2) + 5 = 7
_______________________________________127
_______________________________________128
```python
Try:
1/0
Except ZeroDivisionError:
```
```python
Def sapa(nama):
```
```python
Def hitung_mundur(n):
While n > 0:
Yield n
N -= 1
```
```python
```
```python
Def sapa(nama=”Tamu”):
Print(f”Halo, {nama}”)
Sapa(nama=”Alice”)
```
Fungsi anonim:
`kuadrat = lambda x: x * x`
```python
Import math
Print(math.sqrt(16)) # 4.0
```
**N – NoneType**
```python
Hasil = None
If hasil is None:
```
```python
Class Anjing:
Def gonggong(self):
Print(“Guk!”)
```
- Indentasi (4 spasi)
```python
Q = deque()
q.append(“tugas1”)
q.popleft()
```
`range(0, 5) # 0, 1, 2, 3, 4`
```python
S = {1, 2, 3}
s.add(4)
```
```python
X = 10
Nama = “Alice”
```
```python
Hitung += 1
```
```python
A=5^3 #6
```
Mengembalikan benar jika input berbeda.
```python
Def angka():
Yield 1
Yield 2
```
```python
Print(list(zip(nama, nilai)))
```
**Jika ini membantu, beri reaksi ❤️dan saya akan segera posting
*cheatsheet* cepat untuk Pemrograman Python!**
---
### Tips:
**Cheatsheet Python** 🐍
Cheatsheet ini mencakup konsep inti Python yang wajib diketahui semua
orang.
- **Komentar** – Gunakan `#` untuk satu baris dan tanda kutip tiga `”””`
untuk komentar multi-baris.
```python
```
```python
```
```python
If x > 0:
Print(“Positif”)
Else:
Print(“Tidak positif”)
```
```python
For i in range(3):
Print(i) # Output: 0, 1, 2
```
```python
Def sapa(nama):
```
```python
Angka = [1, 2, 3]
```
```python
```
```python
S = “hello”
Print(s.upper()) # “HELLO”
```
```python
f.write(“Hai!”)
```
```python
Try:
X = 10 / 0
Except:
Print(“Terjadi error”)
```
Class Anjing:
Self.nama = nama
```
```python
```
```python
```
_______________________________________130
- Pemula mutlak
- Persiapan wawancara
_______________________________________131
Contoh di Python:
```python
Nama = “Alex”
Umur = 25
Tinggi = 5.9
Is_mahasiswa = True
```
```python
```
*Contoh:*
```python
```
Program yang meminta nama, umur, dan hobi favorit, lalu menampilkan
pesan personalisasi.
**Kode Lengkap:**
```python
```
**Cara Kerja:**
**Contoh Output:**
```
Berapa umurmu? 22
Hai Budi! Umurmu 22 tahun dan suka main game. Keren banget!
```
_______________________________________132
**Pemrograman Python**
A. `2user`
B. `user-name`
C. `user_2`
**Penjelasan:**
_______________________________________133
**Pemrograman Python**
```python
X = “10”
X=5
Print(x * y)
```
A. `50`
B. `1010101010`
C. `Error`
**Penjelasan:**
```python
X=5
Print(x * y) # Output: 50
```
> 💡 **Catatan**:
_______________________________________134
**Pemrograman Python**
```python
Flag = True
```
A. `str` (string)
B. `int` (integer)
C. `bool` (boolean)
D. `float` (float)
**Penjelasan:**
- `True` adalah nilai **boolean** (tipe data logika yang hanya memiliki
dua nilai: `True` atau `False`).
```python
```
|---------------|------------|----------------------------|
_______________________________________135
**Pemrograman Python**
A. `int`
B. `float`
C. `str`
D. `bool`
**Penjelasan:**
Contoh:
```python
```
|-----------|-------------------------------------|------------------|
> 💡 **Fakta**:
> - Angka seperti `5.0` atau `3e-2` (0.03) juga termasuk `float`.
> ```python
_______________________________________136
**Pemrograman Python**
```python
Name = “Alice”
Print(type(name))
```
A. `<type: string>`
B. `<class ‘str’>`
C. `”Alice”`
**Penjelasan:**
```python
>>> print(type(name))
```
### Perbandingan Output:
|-----------------------|---------------------|--------------------------------|
> 💡 **Catatan**:
> - Format `<class ‘...’>` adalah cara Python menampilkan tipe data
_______________________________________137
✅ **Jawaban: c) `user_2`**
```python
X = “10”
Y=5
Print(x * y)
```
✅ **Jawaban: b) `1010101010`**
✅ **Jawaban: c) `bool`**
✅ **Jawaban: b) `float`**
```python
Name = “Alice”
Print(type(name))
```
Fungsi `type()` mengembalikan tipe data variabel, dan untuk teks bertipe
`str` (*string*).
- `bool`: `True`/`False`
_______________________________________138
**Operator di Python**
Operator adalah simbol atau kata kunci khusus yang melakukan operasi
pada variabel dan nilai.
**Contoh:**
```python
A = 10
B=3
Print(a + b) # 13
Print(a ** b) # 1000
```
`==` (sama dengan), `!=` (tidak sama), `>` (lebih besar), `<` (lebih
kecil), `>=` (lebih besar/sama), `<=` (lebih kecil/sama)
**Contoh:**
```python
X=5
Print(x == 5) # True
Print(x != 3) # True
```
**Contoh:**
```python
Umur = 20
```
**Contoh:**
```python
Skor = 10
```
**Tugas:**
Buat kalkulator yang meminta dua angka dan operator dari user, lalu
tampilkan hasilnya.
**Langkah Solusi:**
**Kode Python:**
```python
If operator == “+”:
Print(angka1 + angka2)
Print(angka1 – angka2)
Print(angka1 * angka2)
Print(angka1 / angka2)
Else:
```
**Contoh Output:**
```
24.0
```
_______________________________________139
**Pemrograman Python**
```python
X = 10
Y=4
Print(x % y)
```
A. `2`
B. `2.5`
C. `0`
D. `6`
**Penjelasan:**
```python
10 ÷ 4 = 2 (sisa 2)
```
**Contoh lain:**
- `7 % 3` → 1 (karena 7 ÷ 3 = 2 sisa 1)
> 💡 **Catatan**:
> - Output selalu bilangan bulat (`int`) jika kedua operand adalah integer.
_______________________________________140
**Pemrograman Python**
A. `++`
B. `or`
C. `not=`
D. `&`
**Penjelasan:**
**Contoh:**
```python
```
> 💡 **Fakta**:
> ```python
> ```
_______________________________________141
**Pemrograman Python**
B. Pembagian biasa
D. Menimbulkan error
**Penjelasan:**
```python
```
|----------|-------------|--------|--------------------------------|
> 💡 **Fakta**:
______________________________________142
**Pemrograman Python**
```python
A=5
A += 3
Print(a)
```
A. `8`
B. `53`
C. `5`
D. `3`
**Penjelasan:**
1. `a = 5` → Nilai awal
2. `a += 3` → Setara dengan `a = a + 3`
- `5 + 3 = 8`
**Contoh analogi:**
```python
Skor = 10
```
> 💡 **Fakta**:
> ```python
> total = 0
> ```
_______________________________________143
**Pemrograman Python**
```python
```
A. `True`
B. `False`
**Penjelasan:**
**Ilustrasi Logika:**
```python
```
> 💡 **Fakta**:
> ```python
> ```
_______________________________________144
```python
X = 10
Y=4
Print(x % y)
```
✅ **Jawaban: a) `2`**
✅ **Jawaban: b) `or`**
```python
A=5
A += 3
Print(a)
```
✅ **Jawaban: a) `8`**
```python
```
✅ **Jawaban: b) `False`**
|----------|-------------|--------|--------------------------------|
| `and` | `True and False` | `False` | Operator logika (kedua kondisi harus
benar) |
_______________________________________145
String adalah urutan karakter di dalam tanda kutip. Anda bisa gunakan:
```python
Nama = “Alice”
Sapaan = ‘Halo!’
String multi-baris.”””
```
|------------------------|--------------------------|-----------------------------------------|
### 🧪 **Contoh**
```python
```
```python
Teks = input(“Masukkan kalimat: “)
Kata = teks.split()
```
**Coba dengan:**
```python
If teks == teks[::-1]:
Print(“Palindrome!”)
Else:
Print(“Bukan palindrome.”)
```
**Coba:**
- `katak` → Palindrome!
- `racecar` → Palindrome!
_______________________________________146
**Pemrograman Python**
```python
Print(msg.strip())
```
A. `” Learn Python “`
B. `”Learn Python”`
C. `”LearnPython”`
D. `” Learn Python”`
**Penjelasan:**
**Ilustrasi:**
```python
Print(len(msg)) # 14 karakter (termasuk 3 spasi)
```
> 💡 **Catatan**:
_______________________________________147
**Pemrograman Python**
A. `capital()`
B. `upper()`
C. `toupper()`
D. `uppercase()`
Contoh penggunaan:
```python
### Penjelasan:
_______________________________________148
**Pemrograman Python**
```python
Print(text.split())
```
A. `[‘Python’, ‘Programming’]`
C. `[‘PythonProgramming’]`
D. `[‘Python_Programming’]`
### Penjelasan:
- Metode `.split()` di Python **memisahkan string menjadi list kata-kata**
berdasarkan spasi secara default.
`[‘Python’, ‘Programming’]`
```python
# Contoh eksekusi:
```
_______________________________________149
**Pemrograman Python**
A. “racecar”
B. “Python”
C. “banana”
D. “hello”
```python
Def is_palindrome(kata):
```
_______________________________________150
**Pemrograman Python**
```python
“hello”.replace(“l”, “*”)
```
A. `he*lo`
B. `he**o`
C. `he*o`
D. `h**lo`
### Penjelasan:
`h e l l o` → `h e * * o`
```python
```
- **D**: Penggantian karakter yang salah (karakter `e` dan `o` tidak
berubah).
_______________________________________151
**Pemrograman Python**
*Sintaks:*
```python
Fruits.append(“mangga”)
```
Tupel mirip dengan daftar, tetapi *immutable* (tidak bisa diubah setelah
didefinisikan).
*Sintaks:*
```python
```
*Mutabilitas:*
*Sintaks:*
```python
My_list = [1, 2, 3]
```
```python
My_tuple = (1, 2, 3)
```
*Kasus Penggunaan:*
- **Tupel**: Gunakan saat data harus tetap konstan (misal: koordinat, kode
warna).
*Kinerja:*
- Menghapus item
*Kode Python:*
```python
Grocery_list = []
While True:
If action == “add”:
Grocery_list.append(item)
Print(f”{item} ditambahkan.”)
If item in grocery_list:
Grocery_list.remove(item)
Print(f”{item} dihapus.”)
Else:
For i in grocery_list:
Print(“-“, i)
Elif action == “exit”:
Break
Else:
```
✅ *Coba jalankan kode ini untuk melihat cara kerja daftar secara langsung!
*
🔗 [https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1661]
(https://whatsapp.com/channel/0029VaiM08SDuMRaGKd9Wv0L/1661)
_______________________________________152