INFORMATIKA
1. Mengidentifikasi fondasi dalam berpikir komputasional
1. Decomposition (Decomposisi / Pemecahan Masalah)
Memecah masalah besar atau kompleks menjadi bagian-bagian kecil yang lebih mudah ditangani.
2. Pattern Recognition (Pengenalan Pola)
Mengidentifikasi kesamaan atau pola dalam data atau masalah.
3. Abstraction (Abstraksi)
Memfokuskan pada informasi yang penting dengan mengabaikan detail yang tidak relevan.
4. Algorithm Design (Perancangan Algoritma)
Menyusun langkah-langkah atau instruksi yang logis dan berurutan untuk menyelesaikan masalah.
Fondasi Tujuan Utama Contoh Singkat
Memecah masalah menjadi bagian
Decomposition Membagi proses pembuatan aplikasi
kecil
Pattern Mengenali kesamaan/pola dalam Menemukan pola langkah dalam permainan
Recognition masalah/data catur
Abstraction Menyaring informasi penting Menyederhanakan tampilan data peta
Menyusun langkah penyelesaian Membuat instruksi langkah demi langkah
Algorithm Design
masalah dalam kode
2. Mengidentifikasi konteks konteks dalam berpikir komputasional:
1. Konteks Pendidikan
Digunakan untuk membantu siswa memahami materi pelajaran dengan pendekatan logis dan
sistematis.
2. Konteks Ilmu Pengetahuan (Sains)
Membantu dalam menganalisis data eksperimen dan membuat simulasi ilmiah.
3. Konteks Teknologi dan Rekayasa
Diterapkan dalam pengembangan perangkat lunak, robotika, sistem otomatisasi, dan kecerdasan
buatan.
4. Konteks Sosial dan Kehidupan Sehari-hari
Membantu menyelesaikan masalah praktis di kehidupan nyata dengan berpikir logis dan efisien.
5. Konteks Ekonomi dan Bisnis
Digunakan dalam analisis data penjualan, peramalan permintaan pasar, hingga otomasi proses bisnis.
6. Konteks Kesehatan
Membantu dalam diagnosis, prediksi penyebaran penyakit, dan pengelolaan data pasien.
Konteks Contoh Penggunaan
Pendidikan Menyusun jadwal otomatis, menyelesaikan soal matematika
Ilmu Pengetahuan Memprediksi cuaca, membuat simulasi eksperimen
Teknologi dan Rekayasa Membuat robot, aplikasi, atau sistem kontrol otomatis
Mengatur rute tercepat dengan aplikasi, mengelola pengeluaran rumah
Sosial dan Kehidupan
tangga
Ekonomi dan Bisnis Rekomendasi produk, analisis tren penjualan
Kesehatan Sistem pendeteksi penyakit, manajemen data pasien
3. Megidentifikasi teknik algoritma pengurutan, Mengevaluasi penerapan dari jenis-jenis
struktur data, Mengevaluasi operasi dalam struktur data
1. Mengidentifikasi Teknik Algoritma Pengurutan (Sorting)
Algoritma pengurutan digunakan untuk menyusun data secara berurutan, misalnya dari kecil ke
besar (ascending) atau sebaliknya. Berikut beberapa teknik algoritma pengurutan yang umum:
Kompleksitas Waktu (rata-
Nama Algoritma Deskripsi Singkat
rata)
Menukar elemen bersebelahan jika tidak
Bubble Sort O(n²)
berurutan
Memilih elemen terkecil dan menukarnya ke
Selection Sort O(n²)
depan
Insertion Sort Menyisipkan elemen ke posisi yang tepat O(n²)
Membagi lalu menggabungkan dengan urutan
Merge Sort O(n log n)
benar
Quick Sort Memilih pivot, membagi dan mengurutkan O(n log n) (rata-rata)
Heap Sort Menggunakan struktur heap untuk pengurutan O(n log n)
Catatan: Merge Sort dan Quick Sort lebih efisien untuk data besar dibanding Bubble, Selection, atau
Insertion Sort.
2. Mengevaluasi Penerapan dari Jenis-Jenis Struktur Data
Struktur data digunakan untuk menyimpan dan mengelola data dalam program secara efisien.
Evaluasi dilakukan berdasarkan kebutuhan program dan jenis data yang ditangani.
Struktur Deskripsi & Penerapan
Kelebihan Kekurangan
Data Ideal
Menyimpan data dengan Ukuran tetap, penyisipan
Array Akses cepat via indeks
indeks tetap (statis) sulit
Data tersambung lewat Ukuran fleksibel, mudah Akses data lambat,
Linked List
node menambah/menghapus penggunaan memori lebih
LIFO (Last In First Out), Operasi cepat pada satu ujung Hanya bisa akses elemen
Stack
contoh: Undo, Rekursi (atas) terakhir
FIFO (First In First Out), Teratur, cocok untuk manajemen Akses hanya di ujung
Queue
contoh: antrean proses proses depan/belakang
Tree Hirarki data, contoh: Cepat untuk pencarian Kompleks, perlu
(Pohon) struktur folder terstruktur (BST) pengelolaan khusus
Graph Relasi antar titik, contoh:
Representasi hubungan kompleks Proses traversal bisa rumit
(Graf) jaringan sosial
Hash Pasangan kunci-nilai (key- Akses sangat cepat jika tanpa Masalah collision, perlu
Table value) konflik fungsi hash baik
3. Mengevaluasi Operasi dalam Struktur Data
Setiap struktur data memiliki operasi dasar. Evaluasi dilakukan dengan melihat seberapa efisien
operasi dilakukan dalam konteks penggunaan tertentu.
Operasi Dasar Penjelasan Efisiensi Tergantung Struktur Data
Insert Menambahkan elemen Cepat di linked list, lambat di array statis
Delete Menghapus elemen Stack/Queue cepat, array/linked list bisa lambat
Search Mencari elemen tertentu Hash table sangat cepat, tree terstruktur efisien
Traversal Menjelajahi seluruh elemen Penting pada tree dan graph (DFS, BFS)
Update Mengubah nilai elemen Mudah di array/hash table, relatif sulit di tree/graf
Sort Mengurutkan elemen Efektif dengan merge sort atau quick sort di array
o Hash Table → jika banyak pencarian.
o Stack/Queue → jika urutan operasi penting.
o Tree → jika butuh struktur hirarki atau pencarian teratur.
4. Mengidentifikasi kelebihan pemrograman python
Kelebihan Manfaat Praktis
Sintaks sederhana Mudah dipelajari dan dibaca
Multi-paradigma Fleksibel sesuai gaya coding
Komunitas besar Banyak bantuan & dokumentasi
Banyak library/framework Mendukung berbagai bidang
Portabilitas tinggi Bisa jalan di berbagai OS
Cepat untuk prototipe Hemat waktu pengembangan
Bisa integrasi dengan bahasa lain Memperluas fleksibilitas
Serbaguna Bisa untuk web, AI, data science, IoT, dsb
5. Mengidentifikasi istilah- istilah dalam penrograman python
Istilah Penjelasan Singkat
Tempat menyimpan data dalam memori. Tidak perlu
Variabel
deklarasi tipe data secara eksplisit.
Contoh: nama = "Ali"
Jenis data yang bisa digunakan (seperti: int, float,
Tipe Data
str, bool, list)
Contoh: x = 10 → int, y = "halo" →
str
Blok kode yang bisa dipanggil berulang untuk
Fungsi (function)
menjalankan tugas tertentu.
Contoh: def sapa():
print("Halo!")
Percabangan Struktur logika untuk pengambilan keputusan.
Contoh: if, elif, else
Perulangan Mengulang blok kode, seperti for dan while.
Contoh: for i in range(5):
List Kumpulan data berurutan, bisa diubah (mutable).
Istilah Penjelasan Singkat
Contoh: angka = [1, 2, 3]
Kumpulan data berurutan, tetapi tidak bisa diubah
Tuple
(immutable).
Contoh: data = (1, 2, 3)
Dictionary Kumpulan pasangan kunci-nilai (key:value).
Contoh: siswa = {"nama": "Rina",
"umur": 16}
String (str) Tipe data untuk teks, diapit tanda kutip.
Contoh: "Python"
Baris penjelasan yang tidak dieksekusi. Diawali dengan
Komentar
#.
Contoh: # Ini adalah komentar
Import Mengambil atau menggunakan modul eksternal.
Contoh: import math
Kesalahan (error) saat program berjalan, bisa
Exception
ditangani dengan try-except.
Contoh: try: x=1/0 except:
print("Error")
Spasi/tab untuk menunjukkan blok kode (wajib dalam
Indentasi
Python).
Contoh: Setelah if, isi harus diindentasi
File Python berisi fungsi/variabel yang bisa digunakan
Module
di file lain.
Contoh: import random → menggunakan
fungsi dari modul random
Konsep pemrograman berorientasi objek (OOP).
Class dan Object
Class adalah cetakan, object adalah hasilnya.
Contoh: class Mobil: dan mobil1 =
Mobil()
6. Mengevaluasi penulisan kode program dalam pemrograman python
1. Periksa Kebenaran Logika Program
2. Periksa Struktur dan Sintaks Kode
3. Evaluasi Kualitas dan Kebersihan Kode (Clean Code)
7. Mengidentifikasi jenis- jenis operator dalam pemrograman python
Jenis Operator Fungsi Contoh
Operator Aritmatika Operasi matematika dasar +, -, *, /, %, //, **
Contoh: 5 + 3 = 8 4 ** 2 = 16 (pangkat)
Operator Perbandingan | Membandingkan nilai | ==, !=, <, >, <=, >= |
Contoh: 5 > 3 → True | | a == b (apakah sama) |
Operator Logika | Operasi logika Boolean | and, or, not |
Contoh: True and False → False | | not True → False |
Operator Penugasan | Memberi atau memodifikasi nilai | =, +=, -=, *=, /=, %= |
Contoh: x += 1 (x = x + 1) | | a *= 5 |
Operator Bitwise | Operasi pada bit angka biner | &, |, ^, ~, <<, >> |
Contoh: 5 & 3 → 1 | (operasi AND, OR, XOR, NOT, shift) | 8 << 1 (geser kiri) |
Operator Identitas | Membandingkan objek/identitas | is, is not |
Contoh: a is b | Apakah dua variabel menunjuk objek sama | x is not y |
Operator Keanggotaan | Cek keanggotaan dalam koleksi | in, not in |
Contoh: 'a' in 'apel' → True | | 3 not in [1, 2, 3] → False |
8. Mengevaluasi hasil keluaran dari sebuah operasi python
Contoh Evaluasi
# Operasi aritmatika
hasil = 10 / 4
print(hasil) # Output: 2.5
Evaluasi: Output bertipe float dan hasil 2.5 sudah benar.
# Operasi logika
x = (5 > 3) and (2 == 2)
print(x) # Output: True
Evaluasi: Output boolean True sesuai dengan kondisi logika.
9. Mengidentifikasi peranan dari suatu kode program python sederhana
1. Baca Kode Secara Utuh
2. Lihat Tujuan Umum Program
3. Amati Struktur Kode
Variabel → untuk menyimpan data
Fungsi → untuk menjalankan tugas tertentu
Percabangan (if) → untuk pengambilan keputusan
Perulangan (for, while) → untuk mengulang proses
4. Evaluasi Input dan Output
Mengambil data dari pengguna (input)
Menghasilkan tampilan atau hasil (output)
10. Mengidentfikasi peranan yang ada di dalam percabangan python
✅ Struktur Dasar Percabangan di Python
if kondisi:
# kode jika kondisi benar
elif kondisi_lain:
# kode jika kondisi lain benar
else:
# kode jika semua kondisi salah
✅ Peranan Elemen dalam Percabangan
Elemen Peran/Fungsi
if Mengecek kondisi pertama. Jika benar (True), jalankan blok kode di bawahnya.
elif (Opsional) Mengecek kondisi lain jika if salah. Bisa lebih dari satu.
else (Opsional) Menangani semua kondisi selain if dan elif.
✅ Contoh & Identifikasi Peran
nilai = 80
if nilai >= 90:
print("Sangat Baik")
elif nilai >= 70:
print("Baik")
else:
print("Perlu Perbaikan")
🔍 Identifikasi Peranan:
if nilai >= 90: Mengecek apakah nilai sangat baik.
elif nilai >= 70: Cek apakah cukup baik (jika if salah).
else: Jika nilai < 70 → cetak “Perlu Perbaikan”.
11. Mengevaluasi penulisan kode program untuk kondisi dalam percabangan python
1. Periksa Sintaks Dasar
Gunakan kata kunci if, elif, dan else dengan benar.
Jangan lupa titik dua (:) setelah setiap kondisi.
Pastikan indentasi (spasi) rapi dan konsisten.
2. Periksa Kebenaran Kondisi
Kondisi harus menghasilkan nilai boolean (True atau False).
Gunakan operator perbandingan atau logika dengan tepat (==, !=, <, >, and, or).
🧪 Contoh Evaluasi
❌ Contoh Salah:
nilai = 85
if nilai >= 60:
print("Cukup")
elif nilai >= 80:
print("Baik")
else:
print("Kurang")
❗ Kesalahan:
elif nilai >= 80 tidak akan pernah dijalankan, karena kondisi nilai >= 60
sudah terpenuhi lebih dulu.
✅ Perbaikan:
nilai = 85
if nilai >= 80:
print("Baik")
elif nilai >= 60:
print("Cukup")
else:
print("Kurang")
✔ Evaluasi:
Urutan logika sudah benar (dari nilai tertinggi ke terendah).
Tidak ada kondisi yang tumpang tindih.
Penulisan rapi dan mudah dibaca.
12. Mengidentifikasi peranan diagram alir (flowchart) dalam pemrograman
1. Merancang Alur Logika Program
Flowchart membantu memvisualisasikan langkah-langkah logika dari awal sampai akhir
sebelum menulis kode.
Mempermudah pemahaman urutan proses, percabangan, dan perulangan.
2. Membantu Perencanaan Program
Sebagai alat bantu perancangan sebelum menulis kode Python (atau bahasa lainnya).
Mengurangi kesalahan logika karena proses sudah ditata visual.
3. Meningkatkan Pemahaman dan Komunikasi
Memudahkan programmer, tim, atau siswa memahami alur program secara visual.
Cocok digunakan dalam tim atau saat menjelaskan program kepada orang lain.
4. Sebagai Dokumentasi
Flowchart bisa digunakan sebagai dokumentasi program untuk memudahkan debugging
atau pengembangan lebih lanjut.
Simbol Makna
⬤ Terminator Awal/Akhir program
▭ Proses Langkah/proses yang dilakukan
◆ Keputusan (if) Percabangan logika
🔽 Input/Output Masukan/keluaran data
→ Panah Arah alur proses
13. Megidentifikasi simbol-simbol dalam diagram alir (flowchart)
Simbol Nama Simbol Fungsi
⬤ atau 🔺 Terminator Menunjukkan awal atau akhir suatu program/proses.
▭
Menunjukkan langkah/proses yang dilakukan, seperti
Proses
perhitungan.
Menunjukkan masukan (input) dari pengguna atau keluaran
🔽 Input/Output
(output).
Keputusan
◆ Menunjukkan percabangan atau kondisi logika (misal: if-else).
(Decision)
→ Panah (Flowline) Menunjukkan arah aliran dari proses satu ke proses berikutnya.
✅ Penjelasan Simbol Utama:
1. Terminator (Start/End)
o Simbol: Oval / Elips
o Fungsi: Awal atau akhir dari flowchart
o Contoh: Start, End
2. Proses (Process)
o Simbol: Persegi panjang
o Fungsi: Melambangkan aksi atau langkah yang dilakukan
o Contoh: Hitung total, Simpan data
3. Input/Output (Data)
o Simbol: Jajar genjang
o Fungsi: Menunjukkan input dari pengguna atau output ke layar
o Contoh: Masukkan angka, Tampilkan hasil
4. Keputusan (Decision)
o Simbol: Belah ketupat / wajik
o Fungsi: Menentukan kondisi benar atau salah (percabangan)
o Contoh: Apakah nilai > 75?
5. Panah (Flowline)
o Simbol: Garis berpanah →
o Fungsi: Menunjukkan urutan atau alur antar proses
✅ Contoh Flowchart Sederhana
Program: Menentukan Bilangan Genap atau Ganjil
⬤ Start
🔽 Masukkan angka
o Jika Ya → ▭ Tampilkan "Genap"
◆ Apakah angka % 2 == 0?
o Jika Tidak → ▭ Tampilkan "Ganjil"
⬤ End
14. Mengevaluasi kode program yang sesuai pada diagram alir (flowchart)
1. Pahami Flowchart Terlebih Dahulu
Identifikasi urutan proses, keputusan (percabangan), dan input/output yang ditunjukkan
oleh simbol-simbol dalam diagram alir.
Perhatikan simbol:
o ▭ Proses
o 🔽 Input/Output
o ◆ Keputusan
o ⬤ Start/End
2. Cocokkan Urutan Kode
Pastikan urutan kode Python mengikuti alur dari flowchart, dari start ke end.
Setiap proses di flowchart harus ada dalam bentuk baris kode.
3. Cocokkan Kondisi Percabangan
Evaluasi apakah percabangan if, elif, else dalam kode sesuai dengan kondisi pada
flowchart.
Cek apakah setiap cabang (ya/tidak) ditangani dengan benar.
4. Periksa Input/Output
Pastikan input() dan print() dalam kode mewakili simbol I/O di diagram alir.
5. Uji dengan Nilai Contoh
Coba jalankan kode dengan input yang sesuai untuk memastikan output sama seperti alur
flowchart.
15. Menganalisis hasil keluaran dari diagram alir (flowchart)
1. Baca dan Pahami Setiap Simbol
⬤ Start / End → Awal dan akhir alur
▭ Proses → Perhitungan/logika yang dilakukan
🔽 Input → Menentukan nilai awal dari pengguna
◆ Keputusan → Percabangan (if-else)
→ Panah → Arah alur
2. Tentukan Nilai Input
Gunakan nilai contoh (misal: angka, nama, dll.) yang dimasukkan di simbol input.
3. Ikuti Alur Flowchart
Telusuri panah satu per satu.
Pada setiap proses, lakukan perhitungan jika ada.
Pada simbol keputusan (◆), pilih jalur Ya atau Tidak sesuai kondisi.
4. Lihat Output di Simbol I/O
Catat apa yang akan ditampilkan atau dicetak sebagai hasil akhir.
Ini adalah keluaran (output) yang ingin dianalisis.