Aplikasi Performa Tinggi dan Multiguna menggunakan Python/Django 🐍
Modul buku panduan untuk CPPD (Certified Profesional Python and Django)
Deadline mepet? Butuh performa tinggi? Hemat resource? Kemudahan development dan onboarding? Python/Django bisa jadi pilihan.
Edisi: 30 Oktober 2024
Requirement
Hardware
Software
Pengantar Pengembangan Web
Domain of Service
Session State Management
Source Code Management
Git SCM
Dasar Git
Git Clone
Git Checkout
Git Add
Git Commit
Git Push
Git Pull
Merge/Pull Request
Git Rebase
Git Cherry Pick
Pengantar Web Development: HTML, CSS, dan JavaScript
Dalam pengembangan web, terdapat tiga teknologi utama yang digunakan untuk membuat halaman web menjadi dinamis dan interaktif: HTML, CSS, dan JavaScript.
HTML (HyperText Markup Language)
HTML adalah fondasi dari setiap halaman web. Fungsinya adalah untuk menyusun struktur dan konten halaman, seperti:
- Teks
- Gambar
- Tautan
- Tabel
- Berbagai elemen lainnya
Ibaratnya, HTML adalah kerangka atau tulang dari sebuah website yang membentuk pondasi dasar bagaimana konten ditampilkan.
CSS (Cascading Style Sheets)
CSS berfungsi untuk mengatur tampilan atau gaya visual dari halaman web yang sudah dibangun dengan HTML. Dengan CSS, kita bisa mengubah:
- Warna elemen
- Tata letak halaman
- Ukuran dan font teks
- Elemen visual lainnya
Jika HTML adalah kerangka, CSS adalah pakaian yang membuat tampilan website menjadi lebih menarik dan estetis.
JavaScript
JavaScript adalah bahasa pemrograman yang menambahkan interaktivitas pada halaman web. Dengan JavaScript, kita bisa:
- Membuat tombol interaktif
- Menambahkan animasi yang hidup
- Melakukan validasi form
- Mengambil dan menampilkan data secara dinamis tanpa perlu memuat ulang halaman
JavaScript memberi kehidupan pada website, memungkinkan pengguna untuk berinteraksi dengan elemen-elemen di dalamnya.
Analogi Web Development
Berikut adalah analogi sederhana untuk memahami hubungan antara HTML, CSS, dan JavaScript dalam pengembangan web:
Dalam analogi ini:
- HTML digambarkan sebagai kerangka tulang.
- CSS sebagai tampilan luar yang memperindah.
- JavaScript sebagai otak dan saraf yang memberikan fungsionalitas.
Apa itu HTML?
HTML (HyperText Markup Language) adalah bahasa markup yang digunakan untuk membuat struktur halaman web. HTML bukanlah bahasa pemrograman, melainkan bahasa yang digunakan untuk memberikan struktur dan identifikasi pada elemen-elemen halaman web.
Struktur Dasar HTML
Dokumen HTML selalu dimulai dengan deklarasi , diikuti dengan elemen-elemen dasar berikut:
<!DOCTYPE html>
<html>
<head>
<title>Judul Halaman</title>
</head>
<body>
<h1>Selamat Datang di HTML</h1>
<p>Ini adalah paragraf pertama di halaman web saya.</p>
</body>
</html>
Penjelasan Struktur:
<!DOCTYPE html>: Menandakan bahwa dokumen ini menggunakan HTML5.<html>: Elemen utama yang membungkus seluruh isi halaman.<head>: Bagian yang berisi informasi meta, link ke file eksternal (CSS, JavaScript), dan judul halaman yang muncul di tab browser.<title>: Judul yang muncul di tab browser.<body>: Berisi konten utama yang akan ditampilkan di halaman web seperti teks, gambar, tautan, dan lain-lain.
Elemen Dasar HTML
Berikut adalah beberapa elemen HTML dasar yang sering digunakan:
- Heading
Heading digunakan untuk membuat judul atau subjudul pada halaman. Tersedia enam tingkat heading, dari
<h1>(paling penting) hingga<h6>(paling kecil).
<h1>Judul Utama</h1>
<h2>Subjudul</h2>
<h3>Sub-subjudul</h3>
- Paragraf
Paragraf dalam HTML dibuat menggunakan elemen
<p>.
<p>Ini adalah contoh paragraf di HTML.</p>
- Tautan (Link)
Tautan dibuat menggunakan elemen
<a>. Atribut href menentukan URL tujuan.
<a href="https://www.example.com">Kunjungi Example</a>
- Gambar
Untuk menambahkan gambar, gunakan elemen
<img>dengan atribut src untuk menentukan lokasi gambar, dan alt sebagai teks alternatif jika gambar tidak bisa ditampilkan.
<img src="gambar.jpg" alt="Deskripsi gambar">
- list HTML menyediakan dua jenis list:
Daftar berurutan menggunakan <ol> (ordered list).
Daftar tidak berurutan menggunakan <ul> (unordered list).
<!-- Daftar berurutan -->
<ol>
<li>Item pertama</li>
<li>Item kedua</li>
</ol>
<!-- Daftar tidak berurutan -->
<ul>
<li>Item pertama</li>
<li>Item kedua</li>
</ul>
- Tabel
HTML juga mendukung pembuatan tabel menggunakan elemen
<table>,<tr>(baris),<th>(header), dan<td>(data).
<table>
<tr>
<th>Nama</th>
<th>Umur</th>
</tr>
<tr>
<td>Ana</td>
<td>23</td>
</tr>
<tr>
<td>Budi</td>
<td>30</td>
</tr>
</table>
Atribut HTML
Setiap elemen HTML bisa memiliki atribut yang memberikan informasi tambahan. Beberapa atribut umum adalah:
- id: Untuk memberikan identitas unik pada elemen.
- class: Untuk mengelompokkan elemen ke dalam kategori tertentu.
- style: Untuk memberikan gaya langsung ke elemen.
- href: Digunakan pada elemen untuk menentukan tautan.
- src: Digunakan pada elemen
untuk menentukan lokasi gambar.
<p id="paragraf1" class="paragraf-utama">Ini adalah paragraf dengan id dan class.</p>
Komentar di HTML
Komentar digunakan untuk menambahkan catatan atau deskripsi pada kode HTML tanpa ditampilkan di browser.
<!-- Ini adalah komentar -->
Form
HTML juga memungkinkan pembuatan formulir untuk mengumpulkan input pengguna. Formulir menggunakan elemen <form>, dan elemen-elemen input seperti <input>, <textarea>, dan <button>.
<form action="/submit" method="POST">
<label for="nama">Nama:</label>
<input type="text" id="nama" name="nama">
<label for="email">Email:</label>
<input type="email" id="email" name="email">
<button type="submit">Kirim</button>
</form>
Apa itu CSS?
CSS (Cascading Style Sheets) adalah bahasa yang digunakan untuk mengatur tampilan dan tata letak dari halaman web. CSS bekerja bersama dengan HTML untuk memperindah elemen-elemen yang sudah dibentuk, seperti warna, ukuran, posisi, dan tipografi. Dengan CSS, Anda dapat membuat halaman web yang lebih menarik, teratur, dan mudah dibaca.
Cara Menggunakan CSS
Ada tiga cara untuk menyisipkan CSS ke dalam dokumen HTML:
-
Inline CSS
CSS dapat ditambahkan langsung ke dalam elemen HTML menggunakan atribut
style. Ini adalah cara yang paling sederhana, tetapi tidak disarankan untuk proyek besar karena sulit dikelola.<p style="color: red;">Ini adalah teks berwarna merah.</p> -
Internal CSS
Internal CSS ditulis di dalam elemen
<style>yang ditempatkan di dalam bagian<head>dari dokumen HTML. Ini biasanya digunakan jika gaya hanya diterapkan pada satu halaman.<head> <style> p { color: blue; } </style> </head> -
External CSS
External CSS ditulis dalam file terpisah dengan ekstensi
.css, dan dihubungkan ke dokumen HTML menggunakan elemen<link>. Ini adalah cara terbaik karena memisahkan konten HTML dan desain, sehingga lebih mudah dikelola.<head> <link rel="stylesheet" href="styles.css"> </head>
Selektor CSS
Selektor digunakan untuk memilih elemen HTML yang akan diberi gaya. Beberapa selektor umum adalah:
-
Selektor Elemen Memilih elemen berdasarkan tag-nya.
p { color: green; } -
Selektor ID Memilih elemen berdasarkan atribut id. Selektor ID diawali dengan tanda
#.#judul { font-size: 24px; font-weight: bold; }<h1 id="judul">Selamat Datang!</h1> -
Selektor class Memilih elemen berdasarkan atribut
class. Selektor kelas diawali dengan tanda...teks-besar { font-size: 18px; }<p class="teks-besar">Ini adalah paragraf dengan teks besar.</p>
-
Nama warna
h1 { color: red; } -
Kode hexadecimal
h1 { color: #ff0000; } -
RGB (Red, Green, Blue) Karena warna dasar red, green, Blue
h1 { color: rgb(255, 0, 0); } -
HSL (Hue, Saturation, Lightness)
-
Hue (H) – Hue atau rona adalah warna utama yang ditentukan dalam derajat, dengan rentang 0–360. Setiap nilai hue mewakili warna yang berbeda, misalnya:
- 0° adalah merah,
- 120° adalah hijau,
- 240° adalah biru.
-
Saturation (S) – Saturasi adalah intensitas warna, dinyatakan dalam persentase (0% hingga 100%). Semakin tinggi nilai saturasi, semakin “hidup” atau jenuh warna tersebut. Saturasi 0% menghasilkan warna abu-abu, sedangkan 100% memberikan warna penuh.
-
Lightness (L) – Lightness atau kecerahan adalah seberapa terang atau gelap warna, juga dalam persentase (0% hingga 100%). Nilai 0% memberikan warna hitam, 50% memberikan warna asli, dan 100% menghasilkan warna putih.
color: hsl(240, 100%, 50%); -
-
font-familyMenentukan jenis font yang akan digunakan, misalnya:
font-family: 'Arial', sans-serif; -
font-sizeMenetapkan ukuran teks. Contoh penggunaan
font-size: 16px; -
font-weightMenentukan ketebalan font, seperti normal, bold, atau nilai numerik (100 hingga 900). Misalnya:
font-weight: bold; -
font-styleMengatur gaya font seperti miring (italic) atau normal (normal):
font-style: italic; -
text-transformMengontrol perubahan huruf besar-kecil, seperti
uppercase,lowercase, ataucapitalize:text-transform: uppercase; -
letter-spacingdanword-spacingMengatur jarak antar huruf atau kata:
letter-spacing: 1px; word-spacing: 2px; -
line-heightMengatur jarak antar baris teks, yang penting untuk keterbacaan:
line-height: 1.5;
-
text-alignMenentukan perataan teks, seperti:
left: rata kiriright: rata kanancenter: rata tengahjustify: meratakan teks ke kiri dan kanan
text-align: center; -
text-decorationMenambahkan garis pada teks, misalnya:
underline: garis bawahline-through: garis tengahoverline: garis di atas teksnone: tanpa garis
text-decoration: underline; -
text-indentMengatur jarak indentasi (tab) pada awal paragraf pertama:
text-indent: 20px;
-
background-colorMenentukan warna latar belakang elemen. Bisa menggunakan nilai warna seperti nama warna, kode hex, RGB, atau HSL.
background-color: #f0f0f0; -
background-imageMenambahkan gambar sebagai latar belakang. Gunakan URL gambar dalam fungsi
url():background-image: url('image.jpg'); -
background-repeatMenentukan apakah gambar latar akan diulang:
repeat: gambar diulang di seluruh elemenno-repeat: gambar ditampilkan sekali sajarepeat-x: gambar diulang hanya secara horizontalrepeat-y: gambar diulang hanya secara vertikal
background-repeat: no-repeat; -
background-positionMenentukan posisi gambar latar di dalam elemen. Posisi bisa diatur dengan kata kunci (seperti top, center, bottom) atau dengan nilai persentase/piksel.
background-position: center; -
background-sizeMengatur ukuran gambar latar:
cover: gambar menutupi seluruh elemencontain: gambar menyesuaikan dengan elemen tanpa terpotong- Nilai khusus (misalnya 100px 200px) untuk menentukan lebar dan tinggi gambar
background-size: cover; -
background-attachmentMenentukan apakah background akan tetap atau bergulir dengan konten:
scroll: background bergerak saat pengguna menggulir halamanfixed: background tetap di tempatlocal: background bergulir hanya di dalam elemen konten
background-attachment: fixed; -
background-blend-modeMengontrol bagaimana warna atau gambar latar belakang berbaur (blend) satu sama lain jika ada lebih dari satu lapisan. Beberapa mode seperti multiply, screen, overlay, atau darken bisa digunakan untuk menciptakan efek visual.
background-blend-mode: multiply;
-
:hover– Diterapkan saat pengguna mengarahkan kursor ke elemenbutton:hover { background-color: blue; color: white; } -
:focus– Diterapkan saat elemen mendapatkan fokus, misalnya saat form input diklik atau diakses melalui keyboard.input:focus { border-color: green; } -
:first-child– Diterapkan pada elemen pertama di dalam parent.p:first-child { font-weight: bold; } -
:nth-child(n)– Diterapkan pada elemen berdasarkan urutannya, seperti setiap elemen ke-2.li:nth-child(2n) { background-color: #f0f0f0; } -
:not(selector)– Memilih elemen yang tidak cocok dengan selector yang diberikan.p:not(.special) { color: gray; }
Semua elemen HTML dapat dianggap sebagai kotak yang terdiri dari beberapa bagian:
- Content: Isi dari elemen.
- Padding: Ruang di dalam elemen, di antara konten dan batas.
- Border: Batas di sekitar padding dan konten.
- Margin: Ruang di luar elemen, di antara elemen dengan elemen lainnya.
-
display: block;Elemen dengan display: block akan mengambil seluruh lebar yang tersedia, sehingga dimulai dari baris baru. Contoh elemen block adalah
<div>,<p>, dan<h1>. -
display: inline;Elemen dengan display: inline tidak memulai baris baru dan hanya mengambil ruang sesuai konten di dalamnya. Contoh elemen inline adalah
<span>,<a>, dan<img>. Elemen ini tidak dapat diberi tinggi dan lebar secara langsung. -
display: inline-block;Gabungan dari block dan inline, elemen inline-block dapat diatur ukuran tinggi dan lebarnya, tapi tidak memulai baris baru.
-
display: none;Menghilangkan elemen dari tampilan, sehingga elemen ini tidak akan muncul pada halaman dan tidak mengambil ruang. Biasanya digunakan untuk elemen yang ingin disembunyikan.
Display: Flex
display: flex adalah nilai CSS yang menjadikan elemen sebagai flex container dan memungkinkan pengaturan layout yang fleksibel dan responsif. Flexbox mempermudah penataan elemen, baik secara horizontal maupun vertikal, dengan fitur pengaturan otomatis, perataan, distribusi ruang, dan skala elemen.
Berikut penjelasan mendetail mengenai properti utama yang digunakan dengan display: flex:
1. display: flex
Mengubah elemen menjadi flex container, sehingga semua anak di dalamnya menjadi flex items. Ini membuat elemen anak bisa diatur dengan properti Flexbox.
2. flex-direction
Properti ini menentukan arah tata letak elemen anak dalam flex container. Nilainya meliputi:
row: Elemen disusun secara horizontal dari kiri ke kanan (default).row-reverse: Elemen disusun secara horizontal dari kanan ke kiri.column: Elemen disusun secara vertikal dari atas ke bawah.column-reverse: Elemen disusun secara vertikal dari bawah ke atas.
3. justify-content
Properti ini mengatur perataan elemen di sepanjang sumbu utama (main axis):
flex-start: Elemen diletakkan di awal kontainer.flex-end: Elemen diletakkan di akhir kontainer.center: Elemen dipusatkan di tengah kontainer.space-between: Ruang di antara elemen dibagi rata, dengan elemen pertama dan terakhir ditempatkan di ujung kontainer.space-around: Memberi ruang di sekitar elemen, tetapi ruang di antara elemen dua kali lebih besar daripada ruang di tepi luar.space-evenly: Membagi ruang secara merata, baik di antara maupun di tepi elemen.
4. align-items
Mengatur perataan elemen anak di sepanjang sumbu silang (cross axis):
flex-start: Elemen ditempatkan di bagian atas kontainer.flex-end: Elemen ditempatkan di bagian bawah kontainer.center: Elemen disejajarkan di tengah kontainer.baseline: Elemen disejajarkan berdasarkan garis dasar teks.stretch: Elemen diperluas untuk mengisi seluruh tinggi kontainer (jika tanpa tinggi spesifik).
5. flex-wrap
Mengatur apakah elemen anak akan membungkus atau tidak jika ukuran kontainer lebih kecil dari jumlah elemen:
nowrap: Semua elemen anak tetap berada dalam satu baris (default).wrap: Elemen akan dibungkus ke baris berikutnya jika ruang tidak cukup.wrap-reverse: Sama seperti wrap, tapi urutan elemen dibalik.
6. align-content
Mengatur perataan baris ketika elemen membungkus lebih dari satu baris:
flex-start: Baris ditempatkan di awal kontainer.flex-end: Baris ditempatkan di akhir kontainer.center: Baris dipusatkan di tengah kontainer.space-between: Baris didistribusikan secara merata dengan ruang di antaranya.space-around: Memberikan ruang di sekitar baris.stretch: Setiap baris akan diperluas untuk mengisi seluruh tinggi kontainer.
7. Properti pada Elemen Anak (Flex Item)
- flex-grow: Menentukan seberapa besar elemen akan tumbuh untuk memenuhi ruang yang tersedia. Misalnya, jika
flex-growdiatur ke 1, elemen akan tumbuh untuk mengisi ruang yang tersisa. - flex-shrink: Menentukan seberapa besar elemen akan menyusut ketika ruang terbatas. Nilai 1 membuat elemen menyusut, sedangkan 0 akan mempertahankan ukurannya.
- flex-basis: Menentukan ukuran dasar elemen sebelum ruang tambahan didistribusikan. Ini bisa berupa ukuran absolut (px, %, dsb) atau
auto. - align-self: Mengatur perataan elemen secara individual, menimpa
align-itemsuntuk elemen tersebut. Nilainya sama sepertialign-items.
Apa itu Python? 🐍
Python dikembangkan oleh Guido van Rossum. Python dirilis pertama kali pada tahun 1991.
Python adalah bahasa pemrograman tingkat tinggi. Sintaksis Python sangat sederhana dan jelas, sehingga memudahkan programmer untuk memahami kode.
Apakah python populer?
![]() |
![]() |
![]() |
![]() |
source: survey stack overflow 2024
Berdasarkan survei Stack Overflow 2024, bahasa Python termasuk dalam lima besar bahasa pemrograman yang paling banyak digunakan oleh semua responden dan pengembang profesional yang mengisi survei tersebut. Python menempati peringkat pertama sebagai bahasa yang paling mudah dipelajari dan paling banyak digunakan oleh programmer lain, di luar kategori pengembang profesional dan mereka yang sedang belajar coding.
Mengapa python populer?
-
Sintaksis yang Mudah Dibaca Python memiliki sintaksis yang jelas dan ringkas. Contoh:
Python
for i in range(5): print(i)JavaScript
for (let i = 0; i < 5; i++) { console.log(i); }Dalam Python, kita cukup menggunakan range(5) untuk menghasilkan angka dari 0 hingga 4. Sementara itu, dalam JavaScript, kita harus menginisialisasi variabel i dengan nilai 0, kemudian menetapkan kondisi i < 5, dan menambahkan iterasi di setiap langkah. Oleh karena itu, bagi programmer pemula, sintaksis JavaScript mungkin lebih sulit dimengerti dibandingkan dengan Python.
-
Fleksibilitas
-
Python dapat digunakan untuk berbagai macam aplikasi.
-
Pengembangan Web
Framework seperti Django dan Flask memungkinkan pengembang untuk membuat aplikasi web yang kompleks dan skalabel dengan cepat.
-
Pengembangan Aplikasi Desktop
Library seperti Tkinter, PyQt, dan Kivy digunakan untuk membuat aplikasi desktop dengan antarmuka grafis (GUI).
-
Automasi dan Scripting
Python sering digunakan untuk menulis skrip automasi yang dapat menjalankan tugas-tugas berulang seperti pengolahan file, pengambilan data, dan pengelolaan sistem.
-
Pengembangan Game
Library seperti Pygame memungkinkan pengembang untuk membuat game sederhana dan aplikasi multimedia.
-
Pengembangan API
Python dapat digunakan untuk membuat dan mengelola API menggunakan framework seperti FastAPI atau Flask-RESTful, yang memungkinkan aplikasi untuk berinteraksi dengan sistem lain.
-
Pengembangan Sistem dan Perangkat Lunak Terdistribusi
Python mendukung pengembangan perangkat lunak terdistribusi menggunakan pustaka seperti Celery untuk task queue dan RabbitMQ atau Kafka untuk messaging
-
Machine Learning dan Kecerdasan Buatan
Python sangat populer dalam pengembangan aplikasi machine learning dan AI, dengan library seperti TensorFlow, Keras, dan scikit-learn.
-
Data Science
Python adalah salah satu bahasa yang paling banyak digunakan dalam data science karena kemampuannya dalam analisis dan visualisasi data Seperti Pandas (Library untuk manipulasi dan analisis data). Matplotlib dan Seaborn (Library untuk visualisasi data.)
-
Pengembangan Aplikasi Mobile
Dengan menggunakan framework seperti Kivy atau BeeWare, pengembang dapat membuat aplikasi mobile yang dapat berjalan di berbagai platform.
-
-
Dukungan untuk paradigma pemrograman yang berbeda (prosedural, berorientasi objek, dan fungsional) memberikan kebebasan bagi programmer.
-
-
Komunitas dan Ekosistem yang Besar
Python memiliki komunitas yang aktif dan banyak library serta framework yang dapat digunakan
Pengingat
Sebelum melanjutkan, pastikan program python sudah terinstall di komputer, untuk instalasi kami sarankan menggunakan Nix (Declarative Env Manager)
Apa itu variabel?
Variabel adalah tempat untuk menyimpan data.
Contoh:
x = 10
Aturan penamaan variabel
-
Nama variabel harus dimulai dengan huruf atau underscore. Tidak boleh diawali angka atau karakter.
Contoh:# Contoh variabel yang valid nilai_siswa = 1 # Valid, diawali dengan huruf dan menggunakan underscore nama_mahasiswa = "John" # Valid, diawali dengan huruf _semester = 2 # Valid, diawali dengan garis bawah # Contoh variabel yang tidak valid 1_nilai = 1 # Invalid, diawali dengan angka $nama = "Doe" # Invalid, diawali dengan karakter yang tidak diperbolehkan -
Nama variabel bersifat case-sensitive
Contoh:Var = 1 var = 2 -
Hindari menggunakan kata kunci Python (seperti if, for, while, dll.) sebagai nama variabel.
Tipe data variabel
Python secara otomatis menentukan tipe data dari variabel berdasarkan nilai yang diberikan. Tipe data yang umum digunakan antara lain:
- Integer (bilangan bulat)
- Float (bilangan desimal)
- String (teks)
- Boolean (True/False)
umur = 25 # Integer
tinggi = 1.75 # Float
nama = "Alice" # String
status = True # Boolean
Mengubah Nilai Variabel
x = 5
print(x) # Output: 5
x = 15
print(x) # Output: 15
Konstanta
Variabel dapat didefinisikan sebagai konstanta dengan menggunakan HURUF BESAR untuk menandakan bahwa nilainya tidak seharusnya diubah.
PI = 3.14
Menampilkan Nilai Variabel
Untuk menampilkan nilai variabel, kamu dapat menggunakan fungsi print()
nama = "John"
print("Halo, " + nama) # Output: Halo, John
Beberapa Variabel dalam Satu Baris
a, b, c = 1, 2, 3
print(a) # Output: 1
print(b) # Output: 2
print(c) # Output: 3
Tipe Data di Python
Tipe data adalah cara untuk mendefinisikan jenis nilai yang dapat disimpan dalam variabel.
Tipe data dasar
-
Integer (int)
- Bilangan bulat, baik positif maupun negatif.
- Contoh:
5,-3,42
x = 10 print(type(x)) # Output: <class 'int'> -
Float (float)
- Bilangan desimal.
- Contoh:
3.14,-0.001,2.0
y = 3.14 print(type(y)) # Output: <class 'float'> -
String (str)
- Kumpulan karakter yang diapit oleh tanda kutip (baik tunggal maupun ganda).
- Contoh:
"Hello, World!",'Python'
s = "Hello, Python!" print(type(s)) # Output: <class 'str'> -
Boolean (bool)
- Tipe data yang hanya memiliki dua nilai:
TrueatauFalse.
is_active = True print(type(is_active)) # Output: <class 'bool'> - Tipe data yang hanya memiliki dua nilai:
Tipe Data Koleksi
-
List Kumpulan item yang dapat diubah (mutable) dan diindeks. Dapat berisi berbagai tipe data. Contoh:
[1, 2, 3, "empat", 5.0]my_list = [1, 2, 3, "empat"] print(type(my_list)) # Output: <class 'list'> -
Tuple Kumpulan item yang tidak dapat diubah (immutable) dan diindeks. Contoh:
(1, 2, 3, "empat")my_tuple = (1, 2, 3, "empat") print(type(my_tuple)) # Output: <class 'tuple'> -
Set Kumpulan item yang tidak terurut dan tidak dapat memiliki elemen duplikat. Contoh:
{1, 2, 3, 3}(hasilnya hanya akan menampilkan{1, 2, 3})my_set = {1, 2, 3, 3} print(type(my_set)) # Output: <class 'set'> -
Dictionary (dict) Kumpulan pasangan kunci-nilai yang tidak terurut. Kunci harus unik. Contoh:
{"nama": "John", "usia": 30}my_dict = {"nama": "John", "usia": 30} print(type(my_dict)) # Output: <class 'dict'>
Tipe Data Khusus
Python juga memiliki tipe data khusus seperti None, yang menunjukkan tidak ada nilai atau tidak terdefinisi.
nothing = None
print(type(nothing)) # Output: <class 'NoneType'>
Operator di Python
- Operator Aritmatika Operator aritmetika digunakan untuk melakukan operasi matematis.
| Operator | Deskripsi | Contoh | Hasil |
|---|---|---|---|
+ | Penjumlahan | 5 + 3 | 8 |
- | Pengurangan | 5 - 3 | 2 |
* | Perkalian | 5 * 3 | 15 |
/ | Pembagian | 5 / 3 | 1.67 |
// | Pembagian bulat | 5 // 3 | 1 |
% | Modulus | 5 % 3 | 2 |
** | Pangkat | 5 ** 3 | 125 |
- Operator Perbandingan Operator perbandingan digunakan untuk membandingkan dua nilai.
| Operator | Deskripsi | Contoh | Hasil |
|---|---|---|---|
== | Sama dengan | 5 == 5 | True |
!= | Tidak sama dengan | 5 != 3 | True |
> | Lebih besar | 5 > 3 | True |
< | Lebih kecil | 5 < 3 | False |
>= | Lebih besar atau sama | 5 >= 5 | True |
<= | Lebih kecil atau sama | 5 <= 3 | False |
- Operator Logika Operator logika digunakan untuk melakukan operasi logika.
| Operator | Deskripsi | Contoh | Hasil |
|---|---|---|---|
and | Dan | True and False | False |
or | Atau | True or False | True |
not | Negasi | not True | False |
- Operator Identitas Operator identitas digunakan untuk memeriksa apakah dua variabel merujuk pada objek yang sama.
| Operator | Deskripsi | Contoh | Hasil |
|---|---|---|---|
is | Merujuk pada objek yang sama | a is b | True atau False |
is not | Tidak merujuk pada objek yang sama | a is not b | True atau False |
- Operator Keanggotaan Operator keanggotaan digunakan untuk memeriksa apakah nilai terdapat dalam urutan (list, tuple, string, dll).
| Operator | Deskripsi | Contoh | Hasil |
|---|---|---|---|
in | Memeriksa keanggotaan | 3 in [1, 2, 3] | True |
not in | Memeriksa ketidakanggotaan | 4 not in [1, 2, 3] | True |
-
Operator bitwise Operator bitwise adalah operator yang digunakan untuk melakukan operasi pada level bit dari bilangan
- AND bitwise (&): Menghasilkan 1 jika kedua bit pada posisi yang sama adalah 1, sebaliknya 0. Contoh
a = 5 # 101 dalam biner b = 3 # 011 dalam biner result = a & b # 001 (1 dalam desimal)- OR bitwise (|): Menghasilkan 1 jika salah satu bit atau keduanya adalah 1, sebaliknya 0. Contoh
a = 5 # 101 dalam biner b = 3 # 011 dalam biner result = a | b # 111 (7 dalam desimal)- XOR bitwise (^): Menghasilkan 1 jika salah satu bit adalah 1, tapi bukan keduanya. Jika kedua bit sama, hasilnya 0. Contoh
a = 5 # 101 dalam biner b = 3 # 011 dalam biner result = a ^ b # 110 (6 dalam desimal)- NOT bitwise (~): Membalikkan setiap bit operand, artinya 1 menjadi 0 dan 0 menjadi 1. Contoh
a = 5 # 0000 0101 dalam biner (8-bit) result = ~a # 1111 1010 (two's complement), -6 dalam desimal print(result) # Output: -6- Shift Kiri (<<): Menggeser bit ke kiri sebanyak jumlah yang ditentukan. Contoh
a = 5 # 101 dalam biner result = a << 1 # 1010 (10 dalam desimal)- Shift Kanan (>>): Menggeser bit ke kanan sebanyak jumlah yang ditentukan. Contoh
a = 5 # 101 dalam biner result = a >> 1 # 10 (2 dalam desimal)
Conditional Statements di Python
-
Statement
if.x = 10 if x > 5: print("Is True")Jika kondisi
x > 5bernilai True, maka kalimat "Is True" akan dicetak. -
Statement
if-elseDigunakan ketika ada dua kemungkinan pilihan: satu kondisi True, dan lainnya False.x = 3 if x > 5: print("Is True") else: print("Is False")Jika
x > 5bernilai False, maka blok kode dalam else akan dieksekusi. -
Statement
if-elif-elseelifadalah singkatan dari "else if". Statement ini digunakan ketika ada lebih dari dua kemungkinan kondisi.x = 8 if x > 10: print("x lebih besar dari 10") elif x == 8: print("x sama dengan 8") else: print("x lebih kecil dari 10 dan tidak sama dengan 8") -
Statement Bersarang (Nested)
x = 15 if x > 10: if x < 20: print("x berada di antara 10 dan 20") -
One-line if-else (Ternary Operator)
x = 7 print("x lebih besar dari 5") if x > 5 else print("x tidak lebih besar dari 5") -
Multiple Conditions dengan and dan or
x = 7 y = 10 if x > 5 and y > 5: print("x dan y lebih besar dari 5") if x > 5 or y < 5: print("Salah satu kondisi terpenuhi")
Perulangan di python
Loop adalah struktur kontrol yang memungkinkan eksekusi blok kode berulang kali.
Jenis jenis loop
-
forLoop: Digunakan untuk iterasi melalui urutan (seperti list, tuple, dictionary, set, atau string).for i in range(5): print(i) # Output: 0, 1, 2, 3, 4 -
whileLoop: Mengeksekusi blok kode selama kondisi tertentu terpenuhi.count = 0 while count < 5: print(count) count += 1 # Output: 0, 1, 2, 3, 4
Menggunakan break dan continue
-
break: Menghentikan loop sepenuhnya.for i in range(5): if i == 3: break print(i) # Output: 0, 1, 2 -
continue: Melewatkan iterasi saat ini dan melanjutkan ke iterasi berikutnya.for i in range(5): if i == 2: continue print(i) # Output: 0, 1, 3, 4
Nested loops
Loop di dalam loop untuk melakukan iterasi lebih dari satu tingkat.
for i in range(3):
for j in range(2):
print(f'i={i}, j={j}')
List comprehension
Cara singkat untuk membuat list baru dengan loop.
squares = [x**2 for x in range(10)] # Output: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Function di Python
Function adalah blok kode yang dapat digunakan kembali untuk melakukan tugas tertentu. Function mempermudah group kode, membuatnya lebih modular, dan mengurangi pengulangan.
Cara membuat function
Function dideklarasikan dengan kata kunci def diikuti dengan nama function, dan titik dua. Kode di dalam function ditulis dengan indentasi.
def sapa():
# blok kode
print('Halo!')
Pemanggilan Function
Setelah dideklarasikan, function dapat dipanggil kapan saja dengan menggunakan namanya.
sapa()
Function dengan parameter
Function dengan parameter
def sapa_nama(nama):
print(f"Halo, {nama}!")
sapa_nama('Budi')
Function dengan default parameter
Function dapat memiliki parameter dengan nilai default. Jika parameter tidak diisi saat pemanggilan, nilai default akan digunakan.
def sapa(nama="Teman"):
print(f"Halo, {nama}!")
Return value
Function bisa mengembalikan nilai dengan menggunakan kata kunci return. Jika tidak ada return, Function mengembalikan None.
def jumlah(a, b):
return a + b
Function Anonim (Lambda)
Function kecil dan anonim bisa didefinisikan dengan menggunakan lambda
kali = lambda x, y: x * y
print(kali(3, 4)) # Output: 12
Function Rekursif
Function yang memanggil dirinya sendiri disebut function rekursif.
def faktorial(n):
if n == 1:
return 1
else:
return n * faktorial(n-1)



