Monday, 2 November 2026

LATIHAN PHYTON DASAR

Materi Dasar Python — SMK Akuntansi & RPL

🐍 Materi Dasar Python

Untuk SMK Jurusan Akuntansi & RPL

1. Pengenalan Python

Apa Itu Python?

Python adalah bahasa pemrograman tingkat tinggi yang dibuat oleh Guido van Rossum dan pertama dirilis tahun 1991. Nama "Python" bukan diambil dari ular, melainkan dari grup komedi Inggris Monty Python.

💡 Filosofi Python: "Kode harus mudah dibaca seperti bahasa Inggris." Itulah mengapa Python menjadi bahasa paling ramah pemula di dunia.

Kenapa Belajar Python?

  • Sintaks sederhana — tidak perlu titik koma atau kurung kurawal
  • Mudah dibaca — mirip bahasa Inggris sehari-hari
  • Serbaguna — web, data science, AI, otomasi, game
  • Banyak dipakai industri — Google, Instagram, Netflix, Tokopedia
  • Komunitas besar — mudah mencari bantuan
  • Gratis & open source

2. Konsep Dasar Python

2.1 Output — Menampilkan Sesuatu

Gunakan print() untuk menampilkan teks atau nilai ke layar.

print("Halo, dunia!")
print("Nama saya Budi")
print("Saya belajar Python")

Output:

Halo, dunia!
Nama saya Budi
Saya belajar Python

2.2 Input — Menerima Data dari Pengguna

Gunakan input() untuk menerima masukan dari pengguna.

nama = input("Siapa nama kamu? ")
print("Halo,", nama, "!")
⚠️ Penting: input() selalu menghasilkan string (teks). Jika ingin dihitung sebagai angka, ubah dengan int() atau float().
umur = int(input("Umur: "))
print("Tahun depan umurmu", umur + 1)

2.3 Variabel — Kotak Penyimpanan

Variabel adalah tempat menyimpan nilai agar bisa dipakai lagi.

nama = "Budi"
umur = 17
tinggi = 170.5
is_siswa = True

print("Nama:", nama)
print("Umur:", umur)
📝 Aturan nama variabel:
  • Tidak boleh diawali angka (1nama ❌, nama1 ✅)
  • Tidak boleh pakai spasi (gunakan _)
  • Case-sensitive: nama ≠ Nama

2.4 Tipe Data

Tipe Contoh Keterangan
String (str)"Budi", 'Halo'Teks
Integer (int)17, -5Bilangan bulat
Float (float)170.5, 3.14Bilangan desimal
Boolean (bool)True, FalseBenar/salah
List[1, 2, 3]Kumpulan data berurutan
Dictionary{"nama": "Budi"}Data berpasangan kunci-nilai

2.5 Fungsi — Blok Kode yang Bisa Dipakai Ulang

Fungsi dibuat dengan def, bisa menerima parameter, dan mengembalikan nilai dengan return.

def sapa(nama):
    return "Halo, " + nama

def hitung_luas(panjang, lebar):
    return panjang * lebar

print(sapa("Budi"))
print("Luas:", hitung_luas(5, 3))

Output:

Halo, Budi
Luas: 15
💡 Manfaat fungsi: menghindari pengulangan kode, membuat program terstruktur, dan mudah diperbaiki.

3. Latihan Python di Google Colab

Google Colab adalah platform gratis dari Google untuk menulis dan menjalankan kode Python langsung di browser — tanpa perlu instalasi apa pun.

Langkah demi Langkah

  1. Buka colab.research.google.com di browser.
  2. Login dengan akun Google Anda.
  3. Klik File → New Notebook (atau "Notebook Baru").
  4. Akan muncul cell — kotak abu-abu besar untuk menulis kode.
  5. Ketik kode Python di dalam cell. Contoh:
    print("Halo dari Google Colab!")
  6. Tekan tombol ▶️ di kiri cell, atau tekan Shift + Enter untuk menjalankan.
  7. Hasilnya akan muncul di bawah cell.
  8. Untuk menambah cell baru, klik tombol + Code di toolbar.
  9. Untuk input dari pengguna, kotak input muncul di bawah cell — ketik jawaban lalu tekan Enter.
  10. Simpan hasil kerja otomatis di Google Drive, atau unduh via File → Download → Download .py.
⚠️ Catatan Colab:
  • Kotak input input() muncul di bawah cell — scroll jika tidak terlihat.
  • Program yang memakai input() akan menunggu sampai Anda mengetik dan menekan Enter.
  • Jika program berhenti, klik Runtime → Restart session lalu jalankan ulang.

Latihan Pertama di Colab

print("Halo, saya sedang belajar Python!")

nama = input("Siapa namamu? ")
umur = int(input("Berapa umurmu? "))

print("Halo,", nama)
print("Tahun depan umurmu", umur + 1, "tahun")

Jalankan dan masukkan nama + umur Anda. Lihat hasilnya!

4. Operator (7 Kelompok)

Operator adalah simbol untuk melakukan operasi terhadap nilai atau variabel (disebut operand).

4.1 Operator Aritmatika

Untuk operasi matematika dasar.

OperatorArtiContohHasil
+Tambah7 + 29
-Kurang7 - 25
*Kali7 * 214
/Bagi (desimal)7 / 23.5
//Bagi bulat7 // 23
%Sisa bagi7 % 21
**Pangkat2 ** 38

4.2 Operator Penugasan

Untuk memberi atau menyimpan nilai ke variabel.

OperatorArtiSama dengan
=Memberi nilaix = 10
+=Tambah lalu simpanx = x + 3
-=Kurang lalu simpanx = x - 3
*=Kali lalu simpanx = x * 3
/=Bagi lalu simpanx = x / 3
//=Bagi bulat lalu simpanx = x // 3
%=Sisa bagi lalu simpanx = x % 3
**=Pangkat lalu simpanx = x ** 3

4.3 Operator Increment

Untuk menambah nilai 1. Python tidak punya ++ — gunakan += 1.

skor = 5
skor += 1   # skor = 6
print(skor)

4.4 Operator Decrement

Untuk mengurangi nilai 1. Python tidak punya -- — gunakan -= 1.

nyawa = 3
nyawa -= 1  # nyawa = 2
print(nyawa)

4.5 Operator Relasional

Untuk membandingkan besaran — hasilnya True atau False.

OperatorArtiContohHasil
>Lebih besar10 > 5True
<Lebih kecil10 < 5False
>=Lebih besar/sama10 >= 10True
<=Lebih kecil/sama10 <= 5False

4.6 Operator Kesamaan

Untuk mengecek apakah dua nilai sama.

OperatorArtiContohHasil
==Sama dengan10 == 10True
!=Tidak sama10 != 5True
isSama identitas objekx is NoneTrue/False
is notTidak sama identitasx is not NoneTrue/False
⚠️ Beda = dan ==:
= untuk memberi nilai (penugasan).
== untuk membandingkan (kesamaan).
Ini kesalahan paling umum pemula!

4.7 Operator Logika

Untuk menggabungkan dua atau lebih kondisi boolean.

OperatorArtiAturan
andDANTrue jika keduanya True
orATAUTrue jika salah satu True
notBUKANMembalik nilai
umur = 17
punya_sim = True

if umur >= 17 and punya_sim:
    print("Boleh mengemudi")

5. Percabangan (5 Jenis)

Percabangan membuat program bisa mengambil keputusan berdasarkan kondisi.

5.1 if — Satu Kondisi

Kapan pakai: ketika hanya ada satu kondisi yang perlu dicek. Blok kode hanya jalan jika kondisi True.

umur = 20
if umur >= 18:
    print("Kamu sudah dewasa")

5.2 if-else — Dua Pilihan

Kapan pakai: ketika ada dua kemungkinan dan salah satu pasti dijalankan.

nilai = 80
if nilai >= 75:
    print("LULUS")
else:
    print("TIDAK LULUS")

5.3 if-elif-else — Banyak Pilihan Berjenjang

Kapan pakai: ketika ada lebih dari dua kemungkinan. Kondisi dicek berurutan — berhenti saat kondisi pertama True.

nilai = 85
if nilai >= 90:
    print("Grade A")
elif nilai >= 80:
    print("Grade B")
elif nilai >= 70:
    print("Grade C")
else:
    print("Grade D")
❌ Kesalahan umum: pakai if berulang padahal maksudnya elif → semua kondisi dicek, hasil bisa salah.

5.4 match-case — Cocokkan Satu Nilai (Pengganti switch-case)

Kapan pakai: untuk mencocokkan satu nilai ke banyak pilihan tetap (menu, nama hari, kode). Tersedia di Python 3.10+.

pilihan = 2
match pilihan:
    case 1:
        print("Nasi Goreng")
    case 2:
        print("Mie Ayam")
    case 3:
        print("Es Teh")
    case _:
        print("Pilihan tidak tersedia")

Output: Mie Ayam

5.5 Nested if — If Bersarang

Kapan pakai: ketika pengecekan bertingkat — kondisi dalam hanya dicek jika kondisi luar terpenuhi.

username = "admin"
password = "12345"

if username == "admin":
    if password == "12345":
        print("Login berhasil")
    else:
        print("Password salah")
else:
    print("Username tidak dikenal")

6. Perulangan (3 Jenis)

Perulangan membuat program menjalankan blok kode berkali-kali.

6.1 for — Jumlah Iterasi Diketahui

Kapan pakai: ketika jumlah pengulangan sudah diketahui (misal: cetak 1–10, iterasi list).

Ciri: menggunakan range() atau iterasi objek (list, string, dictionary).

for i in range(5):
    print("Halo ke-", i + 1)

buah = ["apel", "jeruk", "mangga"]
for b in buah:
    print("Saya suka", b)
💡 range() lengkap:
range(5) → 0,1,2,3,4
range(1, 6) → 1,2,3,4,5
range(1, 10, 2) → 1,3,5,7,9

6.2 while — Jumlah Iterasi Tidak Diketahui

Kapan pakai: ketika pengulangan bergantung pada kondisi yang belum tentu berapa kali (misal: game sampai menang, input sampai benar).

Ciri: ada kondisi yang harus berubah agar loop berhenti — jika tidak, jadi infinite loop.

angka = 1
while angka <= 5:
    print("Angka:", angka)
    angka += 1

6.3 do-while — Minimal Jalan Sekali

Kapan pakai: ketika blok kode harus dijalankan minimal sekali, baru kondisi dicek (misal: menu, validasi input).

Ciri: blok dijalankan dulu, baru dicek apakah lanjut atau berhenti.

⚠️ Python tidak punya do-while. Simulasikan dengan while True + break.
while True:
    pilihan = input("Pilih menu (ketik 'keluar' untuk berhenti): ")
    if pilihan == "keluar":
        break
    print("Anda memilih:", pilihan)

Menu di atas pasti tampil minimal sekali, lalu diulang sampai user mengetik "keluar".

Perbandingan 3 Jenis Perulangan

JenisJumlah IterasiKapan PakaiCiri
forDiketahuiCetak 1–10, iterasi listfor i in range(...)
whileTidak diketahuiGame sampai menang, input validasiwhile kondisi:
do-whileMinimal 1 kaliMenu, input passwordwhile True: + break

Kontrol Loop: break, continue, else

  • break — menghentikan loop seketika
  • continue — melewati satu iterasi, lanjut ke berikutnya
  • else pada loop — dijalankan jika loop selesai tanpa break

7. Latihan Praktik

Latihan 1: IPO (Input, Process, Output)

Tujuan: memahami alur dasar program — terima input, olah, tampilkan output.

# ===== INPUT =====
panjang = float(input("Masukkan panjang: "))
lebar = float(input("Masukkan lebar: "))

# ===== PROCESS =====
luas = panjang * lebar
keliling = 2 * (panjang + lebar)

# ===== OUTPUT =====
print("Luas     :", luas)
print("Keliling :", keliling)
💡 Yang dipelajari: alur Input → Process → Output, cara memakai float(input()), dan menampilkan hasil.

Latihan 2: Cek Kelulusan Siswa

Tujuan: memahami percabangan if-else dengan kasus nyata.

nama = input("Nama siswa: ")
nilai = float(input("Nilai siswa: "))

if nilai >= 75:
    status = "LULUS"
else:
    status = "TIDAK LULUS"

print("Nama  :", nama)
print("Nilai :", nilai)
print("Status:", status)
⚠️ Perhatikan: gunakan >= bukan >. Jika pakai >, siswa dengan nilai tepat 75 akan dianggap tidak lulus — padahal seharusnya lulus.

Latihan 3: Tracing Perubahan Nilai

Tujuan: melacak nilai variabel baris demi baris untuk menentukan output akhir.

Kode:

x = 10
y = 3

x = x + y       # x = ?
y = x * 2      # y = ?
x = x - y       # x = ?

print(x, y)

Tracing langkah demi langkah:

BarisPerintahxy
1x = 1010—
2y = 3103
3x = x + y133
4y = x * 21326
5x = x - y-1326

Output: -13 26

Latihan 4: Pertukaran Dua Nilai

Tujuan: memahami cara menukar nilai dua variabel.

a = 5
b = 10

# Cara 1: pakai variabel bantu
temp = a
a = b
b = temp

print("Setelah ditukar:", a, b)  # 10 5

# Cara 2: Python khas
a, b = b, a
print("Ditukar lagi:", a, b)     # 5 10

8. Latihan Praktik: Pencetakan Struk Belanja

Tujuan: menggabungkan semua materi (input, variabel, operator, percabangan, fungsi, dan format output) dalam satu program nyata — relevan untuk jurusan Akuntansi dan RPL.

Kode Program

# ============================================
# PROGRAM STRUK BELANJA SEDERHANA
# Menggabungkan: Input, Process, Output,
# Variabel, Operator, Percabangan, Fungsi
# ============================================

def hitung_diskon(total):
    """Hitung diskon berdasarkan total belanja."""
    if total >= 500000:
        return 0.20   # 20%
    elif total >= 250000:
        return 0.10   # 10%
    elif total >= 100000:
        return 0.05   # 5%
    else:
        return 0

def format_rupiah(angka):
    """Format angka menjadi format Rupiah."""
    return f"Rp {angka:,.0f}"

# ===== INPUT =====
print("=" * 40)
print("     TOKO SERBA ADA")
print("=" * 40)

nama_pembeli = input("Nama pembeli : ")
nama_barang  = input("Nama barang  : ")
harga        = float(input("Harga satuan : "))
jumlah       = int(input("Jumlah beli  : "))

# ===== PROCESS =====
total = harga * jumlah
diskon_persen = hitung_diskon(total)
potongan = total * diskon_persen
subtotal = total - potongan

# PPN 11% (opsional)
ppn = subtotal * 0.11
total_akhir = subtotal + ppn

# ===== OUTPUT =====
print()
print("=" * 40)
print("          STRUK BELANJA")
print("=" * 40)
print("Pembeli       :", nama_pembeli)
print("Barang        :", nama_barang)
print("Harga satuan  :", format_rupiah(harga))
print("Jumlah beli   :", jumlah)
print("-" * 40)
print("Total         :", format_rupiah(total))
print("Diskon        :", format_rupiah(potongan), f"({diskon_persen*100:.0f}%)")
print("Subtotal      :", format_rupiah(subtotal))
print("PPN 11%       :", format_rupiah(ppn))
print("-" * 40)
print("TOTAL BAYAR   :", format_rupiah(total_akhir))
print("=" * 40)
print("  Terima kasih telah berbelanja!")
print("=" * 40)

Contoh Output

========================================
     TOKO SERBA ADA
========================================
Nama pembeli : Budi
Nama barang  : Buku Tulis
Harga satuan : 50000
Jumlah beli  : 8

========================================
          STRUK BELANJA
========================================
Pembeli       : Budi
Barang        : Buku Tulis
Harga satuan  : Rp 50,000
Jumlah beli   : 8
----------------------------------------
Total         : Rp 400,000
Diskon        : Rp 20,000 (5%)
Subtotal      : Rp 380,000
PPN 11%       : Rp 41,800
----------------------------------------
TOTAL BAYAR   : Rp 421,800
========================================
  Terima kasih telah berbelanja!
========================================

Penjelasan Materi yang Dipakai

Bagian KodeMateri yang Dipakai
input(), float(), int()Input & tipe data
def hitung_diskon()Fungsi
if-elif-elsePercabangan bertingkat
* + -Operator aritmatika
>=Operator relasional
format_rupiah()Fungsi + format string
returnNilai balik fungsi
print()Output
🎯 Tantangan untuk Siswa:
  1. Tambahkan menu pilihan barang menggunakan match-case.
  2. Tambahkan perulangan agar pembeli bisa memasukkan lebih dari satu barang.
  3. Tambahkan input uang bayar dan hitung kembalian.
  4. Simpan struk ke file teks dengan open(..., "w").

MENGENAL BAHASA PEMROGRAMAN

Mengenal Bahasa Pemrograman

🧠 Mengenal Bahasa Pemrograman

Apa itu bahasa pemrograman?
Bahasa khusus untuk memberi perintah ke komputer. Seperti bahasa manusia, tapi untuk "ngobrol" dengan komputer. Tanpa bahasa ini, komputer tidak tahu apa yang harus dilakukan.

❓ Kenapa Perlu Belajar Bahasa Pemrograman?

  • Melatih cara berpikir logis dan runtut.
  • Membuka banyak peluang kerja di era digital.
  • Membuat pekerjaan berulang jadi lebih cepat dan otomatis.
  • Memahami cara kerja teknologi di sekitar kita.
  • Melatih ketekunan dan kesabaran menghadapi error.

⏰ Kapan Bahasa Pemrograman Digunakan?

  • Saat membuat website (HTML, CSS, JavaScript, PHP).
  • Saat membuat aplikasi HP (Kotlin, Swift, Dart).
  • Saat mengolah data dan laporan (Python, SQL).
  • Saat membuat game (C++, C#).
  • Saat mengendalikan sistem, robot, atau perangkat keras (C, Rust).
  • Saat mengotomatiskan tugas kantor (Python, VBA).

Singkatnya: di mana ada komputer, di situ ada peran bahasa pemrograman.

📦 Ada 3 Kelompok

1 Bahasa Pemrograman
Memberi logika & perintah. Contoh: Python, JavaScript, Java.
2 Bahasa Markup (Bukan Pemrograman)
Mengatur tampilan. Contoh: HTML, CSS.
3 Bahasa Kueri
Mengelola data. Contoh: SQL.

💼 Keterkaitan dengan Dunia Kerja

Dunia kerja digital sangat bergantung pada bahasa pemrograman. Di Indonesia, JavaScript dan Python adalah dua bahasa yang paling banyak dipakai—baik di perusahaan maupun oleh freelancer—karena serbaguna, fleksibel, dan relatif mudah dipelajari.

Bidang Pekerjaan Bahasa yang Sering Diminta
Web Developer (frontend/backend)JavaScript, PHP, TypeScript, SQL
Mobile DeveloperKotlin (Android), Swift (iOS), Dart (Flutter)
Data Analyst / Data ScientistPython, SQL, R
Game DeveloperC++, C#
DevOps / Cloud EngineerGo, Python, Bash
QA / Test EngineerJavaScript, Python

🏋️ Bagaimana Cara Berlatih Bahasa Pemrograman?

  1. Mulai dari satu bahasa yang ramah pemula — Python atau JavaScript.
  2. Belajar sambil membuat proyek kecil: kalkulator, halaman portofolio, game tebak angka.
  3. Konsisten setiap hari — 20–30 menit lebih baik daripada 5 jam sekali seminggu.
  4. Bergabung dengan komunitas untuk bertanya saat macet dan menjaga motivasi.
  5. Jangan takut error — error adalah umpan balik, bukan kegagalan.

✅ Syarat untuk Memahami Bahasa Pemrograman

Kemauan belajar
Tanpa minat, sintaks paling mudah pun terasa berat.
Logika dasar
Mampu berpikir urut: jika begini, maka begitu; ulangi selama begini.
Ketekunan
Coding bukan hafalan, tapi latihan berulang.
Fasilitas dasar
Cukup laptop/komputer dan internet; banyak platform gratis.
Kesabaran
Error adalah bagian normal dari proses belajar.
Tidak harus jago matematika
Untuk pemula, logika jauh lebih penting daripada rumus.

🌍 Tabel Bahasa: Kegunaan, Kelebihan, Kekurangan & Latihan Gratis

Bahasa Kegunaan di Dunia Kerja Kelebihan Kekurangan Website Latihan Gratis
Python Data science, AI/ML, backend, otomasi Mudah dibaca, library lengkap, sangat dicari Lebih lambat, kurang untuk mobile freeCodeCamp, Sekolah Koding, learnpython.org
JavaScript Frontend & backend web, aplikasi interaktif Wajib untuk web, ekosistem besar Kode mudah berantakan freeCodeCamp, W3Schools, Codecademy (free)
HTML & CSS Struktur & tampilan website Mudah dipelajari, fondasi web Bukan bahasa pemrograman, statis tanpa JS W3Schools, freeCodeCamp, WhiteCat Playground
PHP Backend website, CMS (WordPress) Banyak hosting mendukung, mudah untuk web Kurang modern, ekosistem kalah W3Schools, Sekolah Koding
Java / Kotlin Aplikasi Android, sistem enterprise Stabil, banyak dipakai industri Java verbose; Kotlin fokus Android Codecademy (free), W3Schools (Java)
Dart Aplikasi multiplatform (Flutter) Satu kode untuk Android, iOS, web Ekosistem kecil di luar Flutter Dokumentasi resmi Dart, freeCodeCamp (Flutter)
Swift Aplikasi iPhone/macOS Cepat & modern Hanya untuk ekosistem Apple Codecademy (free)
C / C++ Game, sistem operasi, embedded Sangat cepat, kontrol penuh Sulit, rawan bug memori W3Schools (C++), freeCodeCamp
C# Game (Unity), aplikasi Windows Rapi, terintegrasi .NET Terikat ekosistem Microsoft W3Schools, freeCodeCamp
Go Backend, cloud, microservices Cepat, konkurensi mudah Library belum selengkap bahasa lain Dokumentasi resmi Go, freeCodeCamp
Rust Sistem yang aman & performa tinggi Cepat, aman dari memory bug Kurva belajar sangat curam Dokumentasi resmi Rust
SQL Database, laporan, audit data Standar industri, deklaratif Bukan bahasa umum, dialek berbeda SQLZoo, W3Schools, freeCodeCamp

🆓 Platform Latihan Gratis yang Direkomendasikan

freeCodeCamp — ribuan jam kurikulum gratis, berbasis proyek, ada sertifikat gratis.
Sekolah Koding — platform berbahasa Indonesia, gratis, cocok untuk pemula.
Codecademy (free tier) — latihan interaktif langsung di browser.
W3Schools — referensi dan latihan HTML/CSS/JS/SQL yang ramah pemula.
WhiteCat Playground — gratis untuk siswa Indonesia, belajar sambil bermain (HTML/CSS, Python, JavaScript, C/C++/C#).
SQLZoo — khusus latihan SQL interaktif.
Replit / Sololearn — editor online dan kuis interaktif untuk banyak bahasa.

🏫 Untuk SMK

💼 Jurusan Akuntansi
Pelajari: SQL, Python, Excel lanjutan
Gunanya: otomasi laporan & analisis data keuangan.
💻 Jurusan RPL
Pelajari: JavaScript, PHP, Java/Kotlin, Dart, SQL
Gunanya: membuat aplikasi & website.
💡 Pesan Penting:
Tidak ada bahasa paling hebat. Mulai dari satu bahasa, latih logika, dan jangan takut salah. 🚀

✏️ Latihan Singkat

  1. Sebutkan dua alasan kenapa kita perlu belajar bahasa pemrograman!
  2. Kapan bahasa pemrograman digunakan dalam pekerjaan akuntansi?
  3. Bahasa apa yang paling banyak dicari untuk membuat website interaktif?
  4. Sebutkan satu syarat penting agar mudah memahami bahasa pemrograman!
  5. Sebutkan satu website gratis untuk berlatih coding!

Monday, 12 October 2026

LKPD STRUKTUR DATA DAN ALGORITMA

LKPD - Sistem Pelaporan Presensi Real-Time

LEMBAR KERJA PESERTA DIDIK (LKPD)

Sistem Pelaporan Presensi Real-Time
Pertemuan 1 – Tahap Explore

Nama Kelompok:

1.

2.

3.

4.

5.

Kelas:

Tanggal:

A. Tujuan Pembelajaran

Setelah mengerjakan LKPD ini, siswa mampu:

  1. Menjelaskan ciri data yang berkualitas (akurat, lengkap, tepat waktu).
  2. Menjelaskan alur proses komputasi presensi dari input hingga laporan.
  3. Mengidentifikasi pemanfaatan Google Form, Google Sheet, dan QR Code untuk sistem presensi.

B. Petunjuk Pengerjaan

  1. Kerjakan secara berkelompok.
  2. Baca dan pahami setiap tugas.
  3. Gunakan sumber belajar dari buku, internet, dan narasumber.
  4. Tulis jawaban dengan jelas dan rapi.
  5. Waktu pengerjaan: 50 menit.
  6. Presentasikan hasil kerja kelompok di depan kelas.

C. Materi Singkat

Data yang Berkualitas adalah data yang memenuhi kriteria:

  • Akurat: data sesuai dengan kenyataan.
  • Lengkap: data memuat semua informasi yang dibutuhkan.
  • Tepat Waktu: data tersedia saat diperlukan.

Proses Komputasi terdiri dari:

  • Input: data yang dimasukkan.
  • Proses: pengolahan data.
  • Output: hasil yang diperoleh.

Tools Digital yang Digunakan:

  • Google Form: untuk membuat formulir presensi digital.
  • Google Sheet: untuk mengolah dan merekap data otomatis.
  • QR Code: untuk akses cepat formulir presensi.

D. Tugas Kelompok

Tugas 1: Identifikasi Masalah Presensi Manual

Amati proses presensi kelas saat ini. Catat minimal 3 masalah yang ditemukan!

No Masalah Presensi Manual Dampak
1
2
3

Tugas 2: Riset Data Berkualitas

Jelaskan ciri data yang berkualitas dan berikan contohnya!

Ciri Data Berkualitas Penjelasan Contoh
Akurat
Lengkap
Tepat Waktu

Tugas 3: Alur Proses Komputasi Presensi

Gambarkan dan jelaskan alur proses komputasi presensi dari input hingga laporan!

[ Input ]  ➜  [ Proses ]  ➜  [ Output ]
Tahap Penjelasan
Input
Proses
Output

Tugas 4: Eksplorasi Tools Digital

Cari informasi tentang Google Form, Google Sheet, dan QR Code. Jelaskan fungsinya untuk sistem presensi!

Tools Fungsi Manfaat untuk Presensi
Google Form
Google Sheet
QR Code

Tugas 5: Rancangan Awal Sistem Presensi

Buatlah rancangan awal sistem presensi sederhana secara berkelompok!

Langkah-langkah:

  1. Membuat formulir presensi digital (Google Form).
  2. Menghubungkan ke spreadsheet otomatis.
  3. Membuat rekap otomatis (hadir, izin, sakit, alpa).
  4. Membuat QR Code untuk akses cepat.
  5. Mensimulasikan pengiriman laporan ke guru piket dan wali kelas.

Sketsa Rancangan:

E. Pertanyaan Diskusi

  1. Mengapa data presensi yang berkualitas penting bagi guru piket dan wali kelas?
  2. Apa kelebihan sistem presensi digital dibandingkan presensi manual?
  3. Apa tantangan yang mungkin dihadapi dalam membuat sistem presensi digital?

Jawaban:

1.

2.

3.

F. Refleksi Kelompok

Apa yang paling dipahami dari kegiatan ini?
Apa yang masih membingungkan?
Apa rencana tindak lanjut kelompok?

G. Penilaian

Kriteria Skor (1–4) Catatan
Kelengkapan jawaban Tugas 1
Ketepatan penjelasan Tugas 2
Ketepatan alur Tugas 3
Kelengkapan informasi Tugas 4
Kreativitas rancangan Tugas 5
Kerja sama kelompok
Total Skor

Nilai Akhir = (Total Skor / 24) × 100

H. Sumber Belajar

  1. Buku Informatika Kelas X Kurikulum Merdeka.
  2. Google Workspace Learning Center.
  3. YouTube: Tutorial Google Form dan Google Sheet.
  4. Narasumber: Guru Piket dan Wali Kelas.
LKPD - Sistem Pelaporan Presensi Real-Time

LEMBAR KERJA PESERTA DIDIK (LKPD)

Sistem Pelaporan Presensi Real-Time
Pertemuan 1 – Tahap Explore

Nama Kelompok:

1.

2.

3.

4.

5.

Kelas:

Tanggal:

A. Tujuan Pembelajaran

Setelah mengerjakan LKPD ini, siswa mampu:

  1. Menjelaskan ciri data yang berkualitas (akurat, lengkap, tepat waktu).
  2. Menjelaskan alur proses komputasi presensi dari input hingga laporan.
  3. Mengidentifikasi pemanfaatan Google Form, Google Sheet, dan QR Code untuk sistem presensi.

B. Petunjuk Pengerjaan

  1. Kerjakan secara berkelompok.
  2. Baca dan pahami setiap tugas.
  3. Gunakan sumber belajar dari buku, internet, dan narasumber.
  4. Tulis jawaban dengan jelas dan rapi.
  5. Waktu pengerjaan: 50 menit.
  6. Presentasikan hasil kerja kelompok di depan kelas.

C. Materi Singkat

Data yang Berkualitas adalah data yang memenuhi kriteria:

  • Akurat: data sesuai dengan kenyataan.
  • Lengkap: data memuat semua informasi yang dibutuhkan.
  • Tepat Waktu: data tersedia saat diperlukan.

Proses Komputasi terdiri dari:

  • Input: data yang dimasukkan.
  • Proses: pengolahan data.
  • Output: hasil yang diperoleh.

Tools Digital yang Digunakan:

  • Google Form: untuk membuat formulir presensi digital.
  • Google Sheet: untuk mengolah dan merekap data otomatis.
  • QR Code: untuk akses cepat formulir presensi.

D. Tugas Kelompok

Tugas 1: Identifikasi Masalah Presensi Manual

Amati proses presensi kelas saat ini. Catat minimal 3 masalah yang ditemukan!

No Masalah Presensi Manual Dampak
1
2
3

Tugas 2: Riset Data Berkualitas

Jelaskan ciri data yang berkualitas dan berikan contohnya!

Ciri Data Berkualitas Penjelasan Contoh
Akurat
Lengkap
Tepat Waktu

Tugas 3: Alur Proses Komputasi Presensi

Gambarkan dan jelaskan alur proses komputasi presensi dari input hingga laporan!

[ Input ]  ➜  [ Proses ]  ➜  [ Output ]
Tahap Penjelasan
Input
Proses
Output

Tugas 4: Eksplorasi Tools Digital

Cari informasi tentang Google Form, Google Sheet, dan QR Code. Jelaskan fungsinya untuk sistem presensi!

Tools Fungsi Manfaat untuk Presensi
Google Form
Google Sheet
QR Code

Tugas 5: Rancangan Awal Sistem Presensi

Buatlah rancangan awal sistem presensi sederhana secara berkelompok!

Langkah-langkah:

  1. Membuat formulir presensi digital (Google Form).
  2. Menghubungkan ke spreadsheet otomatis.
  3. Membuat rekap otomatis (hadir, izin, sakit, alpa).
  4. Membuat QR Code untuk akses cepat.
  5. Mensimulasikan pengiriman laporan ke guru piket dan wali kelas.

Sketsa Rancangan:

E. Pertanyaan Diskusi

  1. Mengapa data presensi yang berkualitas penting bagi guru piket dan wali kelas?
  2. Apa kelebihan sistem presensi digital dibandingkan presensi manual?
  3. Apa tantangan yang mungkin dihadapi dalam membuat sistem presensi digital?

Jawaban:

1.

2.

3.

F. Refleksi Kelompok

Apa yang paling dipahami dari kegiatan ini?
Apa yang masih membingungkan?
Apa rencana tindak lanjut kelompok?

G. Penilaian

Kriteria Skor (1–4) Catatan
Kelengkapan jawaban Tugas 1
Ketepatan penjelasan Tugas 2
Ketepatan alur Tugas 3
Kelengkapan informasi Tugas 4
Kreativitas rancangan Tugas 5
Kerja sama kelompok
Total Skor

Nilai Akhir = (Total Skor / 24) × 100

H. Sumber Belajar

  1. Buku Informatika Kelas X Kurikulum Merdeka.
  2. Google Workspace Learning Center.
  3. YouTube: Tutorial Google Form dan Google Sheet.
  4. Narasumber: Guru Piket dan Wali Kelas.

Monday, 21 September 2026

LKPD FLOWCHART DAN PSEUDOCODE

LKPD - Flowchart & Pseudocode

LKPD — Algoritma, Flowchart & Pseudocode

dalam Masalah Kontekstual

Mata Pelajaran: Informatika
Kelas/Semester: .....................
Nama: ............................................
Kelompok: .....................
Alokasi Waktu: 2 JP
Tanggal: .....................

A. Tujuan Pembelajaran

  1. Menganalisis masalah kontekstual menjadi urutan langkah penyelesaian.
  2. Menentukan input, proses, dan output dari suatu masalah.
  3. Menyusun algoritma dalam bentuk flowchart.
  4. Menuliskan algoritma dalam bentuk pseudocode.
  5. Menguji kebenaran solusi dengan data uji sederhana.

B. Petunjuk Pengerjaan

  1. Bacalah materi singkat dan contoh terlebih dahulu.
  2. Aktivitas 1 dikerjakan secara individu.
  3. Aktivitas 2–4 dikerjakan secara berkelompok.
  4. Tulis jawaban di buku, kertas folio, atau dokumen digital.
  5. Gunakan simbol flowchart yang benar.
  6. Presentasikan hasil kerja kelompok di depan kelas.

C. Materi Singkat

1. Algoritma

Algoritma adalah urutan langkah logis dan sistematis untuk menyelesaikan masalah.

2. Flowchart

Flowchart adalah diagram alur yang menggambarkan urutan langkah penyelesaian masalah.

SimbolNamaFungsi
Oval / bulat panjangTerminatorMulai / selesai
Jajar genjangInput / OutputMenerima data / menampilkan hasil
Persegi panjangProcessProses / perhitungan
Belah ketupatDecisionPercabangan / kondisi
Tanda panahArrowArah alur

3. Pseudocode

Pseudocode adalah penulisan algoritma menggunakan bahasa sederhana yang menyerupai bahasa pemrograman.

Struktur umum:

START
  INPUT ...
  IF kondisi THEN
    ...
  ELSE
    ...
  ENDIF
  OUTPUT ...
END

D. Aktivitas 1 — Kenali Simbol dan Struktur

Lengkapi tabel berikut.

NoSimbol / IstilahFungsi
1Belah ketupat 
2Jajar genjang 
3Persegi panjang 
4Oval 
5IF … THEN … ELSE … ENDIF 

E. Aktivitas 2 — Contoh Terbimbing

Masalah Kontekstual: Diskon Belanja
Sebuah toko memberikan diskon 20% jika total belanja pembeli minimal Rp200.000. Jika kurang dari Rp200.000, pembeli tidak mendapat diskon. Hitung total yang harus dibayar.

Langkah penyelesaian:

  1. Input: total belanja
  2. Output: total bayar
  3. Proses:
    • Jika total belanja ≥ Rp200.000, diskon = 20% × total belanja.
    • Jika tidak, diskon = 0.
    • Total bayar = total belanja − diskon.

Pseudocode:

START
  INPUT total_belanja
  IF total_belanja >= 200000 THEN
    diskon = 0.2 * total_belanja
  ELSE
    diskon = 0
  ENDIF
  total_bayar = total_belanja - diskon
  OUTPUT total_bayar
END

Gambaran flowchart:

[Mulai] | [Input total_belanja] | <total_belanja >= 200000?> | Ya | Tidak [diskon = 0.2*total] [diskon = 0] \ / [total_bayar = total_belanja - diskon] | [Output total_bayar] | [Selesai]

F. Aktivitas 3 — Kerja Kelompok: Masalah Kontekstual

Pilih salah satu masalah berikut.

Buatkan Flowchart dan Pesudocod-nya dibuku masing-masing dengan kerja berkelompok.

1. Parkir
  • 2 jam pertama: Rp5.000.
  • Setiap jam berikutnya: Rp3.000.
  • Input: lama parkir. Output: biaya parkir.
2. Ojek Online
  • Tarif dasar: Rp8.000. Tarif per km: Rp2.500. Biaya admin: Rp1.000.
  • Input: jarak. Output: total biaya.
3. Diskon Kantin
  • Belanja > Rp50.000: diskon 10%.
  • Belanja Rp25.000–Rp50.000: diskon 5%.
  • Belanja ≤ Rp25.000: tidak ada diskon.
  • Input: total belanja. Output: total bayar.
4. Kelulusan Siswa
  • Nilai ≥ 75: Lulus. Nilai < 75: Remedial.
  • Input: nilai. Output: status.
5. Upah Lembur
  • Jam kerja normal: 40 jam. Upah normal: Rp20.000/jam.
  • Kelebihan jam: Rp30.000/jam.
  • Input: total jam kerja. Output: upah.

Format Kerja Kelompok

Masalah yang dipilih 
Input 
Output 
Kondisi / percabangan 
Rumus / proses 
FlowchartGambar di kertas / dokumen digital
PseudocodeTulis di bawah ini

Pseudocode kelompok:

START
  ...
END

G. Aktivitas 4 — Uji Kasus

Ujilah pseudocode kelompokmu dengan data berikut.

No Data Uji / Input Hasil yang Diharapkan Hasil Uji Keterangan
1    
2    
3    
Contoh untuk masalah parkir:
NoLama ParkirBiaya yang Diharapkan
11 jamRp5.000
22 jamRp5.000
34 jamRp11.000

H. Rubrik Penilaian

Aspek 4 — Sangat Baik 3 — Baik 2 — Cukup 1 — Perlu Bimbingan
Identifikasi input/output Lengkap dan tepat Sebagian besar tepat Kurang lengkap Tidak tepat
Logika algoritma Runtut dan benar Runtut, sedikit kurang tepat Ada kesalahan logika Tidak runtut
Flowchart Simbol dan alur benar Simbol benar, alur kurang rapi Banyak kesalahan simbol Tidak sesuai
Pseudocode Struktur benar dan mudah dibaca Struktur cukup benar Ada kesalahan struktur Tidak sesuai
Uji kasus Data uji lengkap dan sesuai Data uji cukup Data uji terbatas Tidak ada uji kasus
Kerja sama Sangat aktif Aktif Cukup aktif Pasif

I. Refleksi

  1. Apa hal baru yang saya pelajari hari ini?
  2. Bagian mana yang masih sulit dipahami?
  3. Apa perbedaan flowchart dan pseudocode menurut saya?
  4. Apa manfaat mempelajari algoritma dalam kehidupan sehari-hari?

J. Penutup

Algoritma membantu kita menyelesaikan masalah secara runtut. Flowchart menampilkan alur secara visual, sedangkan pseudocode menuliskan langkah secara teks. Keduanya sangat berguna untuk menyelesaikan masalah kontekstual seperti diskon, parkir, ojek online, dan kelulusan siswa.

Tuesday, 15 September 2026

LATIHAN SOAL INFORMATIKA PENILAIAN TENGAH SEMESTER KELAS X

Soal Informatika Kelas X - STS 2627

Soal Pilihan Ganda

1. Masalah berikut yang cocok dibuat dalam bentuk pendekatan algoritma adalah....

  • A. Koki sedang memasak steak di restoran
  • B. Dokter Forensik membandingkan DNA korban dengan DNA saudara korban
  • C. Pelatih Liverpool sedang menganalisis taktik lawan
  • D. DPR sedang melaksanakan rapat kerja bersama Menteri Pemuda dan Olahraga
  • E. Seorang Akuntan sedang menghitung nilai Pajak sebuah Perusahaan

2. Perhatikan langkah-langkah mengirim surat berikut.

  1. Menutup amplop
  2. Mengantar ke kantor pos
  3. Surat dimasukan amplop
  4. Menempel perangko
  5. Menulis surat

Urutan algoritma yang benar adalah....

  • A. 1-2-3-4-5
  • B. 5-3-1-4-2
  • C. 5-3-4-1-2
  • D. 5-4-3-2-1
  • E. 3-5-4-1-2

3. Ketika seorang pelayan di restoran menumpuk piring-piring kotor di atas meja dapur, piring yang terakhir diletakkan di atas tumpukan akan diambil pertama kali oleh pencuci piring. Jika piring diletakkan secara berurutan: Piring A, B, C, D, dan E (A paling bawah, E paling atas), maka urutan piring yang diambil oleh pencuci piring adalah....

  • A. A-B-C-D-E
  • B. E-D-C-B-A
  • C. A-C-E-B-D
  • D. D-E-A-B-C
  • E. B-D-A-C-E

4. Seorang kasir di minimarket sedang mencari nama seorang pelanggan bernama "Siti" dalam daftar belanja bulanan yang sudah terurut secara alfabetis dari A sampai Z. Daftar tersebut berisi 1.000 nama. Agar kasir tersebut menemukan nama "Siti" dengan paling cepat, ia sebaiknya menggunakan teknik pencarian....

  • A. Membuka halaman pertama dan membaca satu per satu (Linear Search)
  • B. Membuka halaman tengah, lalu menentukan apakah "Siti" berada di kiri atau kanan, lalu membagi lagi (Binary Search)
  • C. Membaca semua nama dari Z sampai A (Reverse Linear Search)
  • D. Menebak secara acak halaman tempat "Siti" berada (Random Search)
  • E. Membuka halaman terakhir dan membaca satu persatu (Linear Search)

5. Pengurutan data dari terkecil hingga terbesar disebut....

  • A. Transcending
  • B. Descending
  • C. Ascending
  • D. Cells Sort
  • E. Top-Down

6. Seorang siswa sedang merapikan lemari bajunya. Ia menyusun kaos-kaosnya dalam tumpukan (Stack) dan menyusun celana-celana panjangnya secara berjejer di gantungan (seperti Array). Suatu hari, ia ingin mengambil kaos yang berwarna merah yang kebetulan berada di paling bawah tumpukan, dan ingin mengambil celana jeans yang berada di posisi tengah gantungan. Analisislah pernyataan berikut yang BENAR terkait efektivitas kerapiannya!

(1) Untuk mengambil kaos merah di dasar tumpukan, siswa harus mengangkat semua kaos di atasnya terlebih dahulu. Ini adalah kelemahan Stack.

(2) Untuk mengambil celana jeans di tengah gantungan, siswa cukup menariknya langsung tanpa harus memindahkan celana lain. Ini adalah kelebihan akses acak (seperti Array) jika ia tahu posisinya.

(3) Jika siswa sering mengambil kaos di bagian bawah, maka struktur Stack bukan pilihan yang tepat untuk menyimpan kaos.

(4) Menyimpan celana di gantungan (Array) sangat merepotkan jika siswa sering menambah celana baru di tengah, karena ia harus menggeser celana lainnya.

  • A. pernyataan (1), (2), dan (3) benar
  • B. pernyataan (1) dan (3) benar
  • C. pernyataan (2) dan (4) benar
  • D. pernyataan (4) saja yang benar
  • E. semua pernyataan benar

7. Seorang pedagang martabak sedang melayani pembeli. Satu pembeli membutuhkan waktu rata-rata 5 menit untuk dilayani. Jika saat ini sudah ada 4 orang yang mengantre di depannya, dan 1 orang baru datang tepat di belakang mereka, berapa lama waktu yang harus ditunggu oleh pembeli yang baru datang tersebut (dihitung dari sekarang) agar mendapat giliran, jika pedagang melayani berdasarkan urutan datang?

  • A. 5 menit
  • B. 10 menit
  • C. 15 menit
  • D. 20 menit
  • E. 25 menit

8. Seorang kasir di supermarket ingin mencatat transaksi harian. Setiap transaksi baru masuk ke dalam sistem, dan sistem harus mencetak laporan berdasarkan urutan transaksi (dari yang paling lama ke yang terbaru). Struktur data yang paling tepat untuk menyimpan data transaksi ini adalah....

  • A. Stack (Tumpukan) karena mudah ditambah
  • B. Queue (Antrian) karena sesuai urutan masuk (FIFO)
  • C. Tree (Pohon) karena bisa dicabang-cabang
  • D. Graph (Graf) karena saling terhubung
  • E. Single Linked List tanpa pointer prev

9. Perhatikan dua solusi untuk menyimpan daftar putar (playlist) lagu di aplikasi musik:

Solusi A: Menggunakan Array dengan ukuran tetap 100 lagu.

Solusi B: Menggunakan Linked List yang bisa bertambah otomatis.

Seorang pengguna ingin menambahkan 1 lagu baru di tengah-tengah playlist yang sudah berisi 90 lagu. Analisis yang tepat mengenai kedua solusi adalah....

  • A. Kedua solusi sama cepatnya karena hanya menambah 1 data
  • B. Solusi B lebih lambat karena harus mencari dari awal untuk insert di tengah
  • C. Solusi B lebih cepat karena tidak perlu menggeser 45 lagu ke belakang
  • D. Solusi A lebih hemat memori karena ukuran tetap
  • E. Solusi A lebih cepat karena akses indeks langsung

10. Manakah yang bukan merupakan platform penyimpanan di awan?

  • A. Google Drive
  • B. iCloud
  • C. Dropbox
  • D. SOUNDCLOUD
  • E. OneDrive

11. Seorang siswa SMK sedang mengerjakan laporan proyek secara berkelompok. Ia ingin menulis pseudocode dan mendokumentasikan algoritma programnya bersama 3 temannya secara bersamaan (real-time) tanpa harus bertemu langsung. Fitur Google Workspace yang paling tepat digunakan adalah....

  • A. Google Sheets dengan fitur Connected Sheets
  • B. Google Docs dengan fitur kolaborasi real-time dan komentar
  • C. Google Slides untuk membuat presentasi
  • D. Google Mail untuk diskusi
  • E. Google Calendar untuk menjadwalkan pertemuan

12. Seorang siswa ingin mengirimkan tugas berupa dokumen Google Docs kepada gurunya melalui Gmail. Ia melampirkan file dari Google Drive dengan pengaturan akses "Restricted" (hanya dirinya yang bisa melihat). Ketika guru menerima email dan mencoba membuka file tersebut, apa yang akan terjadi?

  • A. Guru dapat langsung membuka dan mengedit file karena sudah menerima email
  • B. Guru akan melihat pesan "Akses ditolak" karena file tidak dibagikan dengan guru
  • C. Gmail secara otomatis akan mengubah izin file menjadi "Anyone with the link"
  • D. File akan otomatis terunduh ke komputer guru tanpa perlu akses
  • E. Guru dapat membuka file tetapi tidak bisa mengeditnya

13. Seorang siswa menggunakan Google Drive untuk menyimpan semua tugas sekolah. Ia ingin berbagi folder "Tugas Semester 1" dengan gurunya agar guru bisa melihat dan memberi komentar. Ia memberikan akses "Commenter" kepada guru. Analisislah pernyataan berikut yang BENAR!

(1) Guru dapat melihat semua file di dalam folder.

(2) Guru dapat menambahkan file baru ke dalam folder.

(3) Guru dapat memberi komentar pada file yang sudah ada.

(4) Guru dapat mengedit isi file yang sudah ada.

  • A. pernyataan (1), (2), dan (3) benar
  • B. pernyataan (1) dan (3) benar
  • C. pernyataan (2) dan (4) benar
  • D. pernyataan (4) saja yang benar
  • E. semua pernyataan benar

14. Perhatikan ilustrasi berikut:

Seorang analis data di sebuah perusahaan dituntut dapat menggunakan sebuah aplikasi untuk mengolah data penjualan. Ia ingin menganalisis jutaan baris data yang tersimpan di database perusahaan tanpa harus mengekspor atau mengimpor file besar. Fitur Google Workspace yang memungkinkan hal ini adalah....

  • A. Google Sheets dengan Connected Sheets
  • B. Google Docs dengan Smart Canvas
  • C. Google Slides dengan AI presentasi
  • D. Google Vids dengan digital avata
  • E. Google Forms untuk survei

15. Seorang siswa SMK baru menerima akun email institusi dari sekolahnya dengan format nama.siswa@sekolah.sch.id. Untuk pertama kali mengakses akun tersebut melalui browser, langkah yang paling tepat adalah....

  • A. Mengunjungi accounts.google.com/SignUp dan membuat akun baru dengan alamat tersebut
  • B. Mengunjungi mail.google.com, klik "Buat Akun", lalu pilih "Untuk diri sendiri"
  • C. Mengunjungi mail.google.com, klik "Masuk", lalu masukkan alamat email dan kata sandi yang diberikan sekolah
  • D. Mengunjungi drive.google.com dan mendaftar menggunakan alamat email pribadi
  • E. Mengirim email ke administrator untuk meminta tautan aktivasi

16. Seorang siswa ingin mencari file presentasi tentang "Pemrograman Dasar" dalam format PDF. Kata kunci yang paling tepat untuk digunakan di mesin pencari adalah....

  • A. Pemrograman Dasar pdf
  • B. file Pemrograman Dasar pdf
  • C. Pemrograman Dasar file .pdf
  • D. "Pemrograman Dasar" filetype:pdf
  • E. Pemrograman Dasar +pdf

17. Seorang peneliti ingin mencari informasi tentang dampak perubahan iklim, tetapi tidak ingin hasil yang membahas tentang politik. Ia ingin menyingari hasil pencarian secara efektif. Strategi pencarian yang tepat adalah dengan menggunakan operator....

  • A. "perubahan iklim" AND politik
  • B. "perubahan iklim" OR politik
  • C. "perubahan iklim" NOT politik
  • D. "perubahan iklim" +politik
  • E. "perubahan iklim" -politik

18. Seorang guru ingin mencari situs web resmi pemerintah (domain .go.id) yang membahas tentang kurikulum merdeka. Untuk memastikan hasil pencarian hanya dari domain tersebut, kata kunci yang tepat adalah....

  • A. kurikulum merdeka site:.go.id
  • B. "kurikulum merdeka" .go.id
  • C. intitle:kurikulum merdeka
  • D. site:kurikulum merdeka go.id
  • E. kurikulum merdeka domain:go.id

19. Seorang peneliti ingin mencari informasi tentang "Kesehatan Mental" pada judul artikel saja, bukan di seluruh isi halaman web. Operator yang paling tepat untuk melakukan pencarian ini adalah....

  • A. intitle:"Kesehatan Mental"
  • B. title:Kesehatan Mental
  • C. "Kesehatan Mental" -body
  • D. Kesehatan Mental inurl:title
  • E. allintitle:Kesehatan Mental

20. Seorang analis data ingin mengumpulkan laporan tahunan perusahaan di Indonesia. Ia membutuhkan file PDF dari situs resmi perusahaan (.co.id) yang dirilis pada tahun 2023. Analisislah pernyataan berikut yang BENAR terkait strategi pencarian yang efektif

(1) Kata kunci yang tepat adalah: "laporan tahunan" site:.co.id filetype:pdf 2023.

(2) Kombinasi operator ini memastikan hasil berasal dari domain Indonesia, dalam format PDF, dan mengandung kata kunci "laporan tahunan".

(3) Kata kunci "2023" akan memfilter hasil yang relevan dengan tahun tersebut.

(4) Jika menggunakan site:.co.id, hasil pencarian hanya akan berasal dari domain .co.id dan tidak akan menampilkan hasil dari domain .com.

  • A. pernyataan (1), (2), dan (3) benar
  • B. pernyataan (1) dan (3) benar
  • C. pernyataan (2) dan (4) benar
  • D. pernyataan (4) saja yang benar
  • E. semua pernyataan benar

21. Bahasa Pseudocode yang di gunakan pada penulisan algoritma berupa ...

  • A. Bahasa Inggris
  • B. Bahasa Algoritma
  • C. Bahasa yang lebih ringkas dari algoritma
  • D. Bahasa Indonesia
  • E. Bahasa Komputer

22. Apa yang dilakukan kode ini?

i ← 1
REPEAT UNTIL i >= 100
DISPLAY i
i ← i + 2
  • A. Menampilkan semua angka genap antara 1 .. 100
  • B. Menampilkan semua angka ganjil antara 1 .. 100
  • C. Menampilkan semua angka antara 1..100
  • D. Menampilkan angka 1
  • E. Menampilkan semua bilangan prima antara 1..100

23. Yang merupakan struktur dari pseudocode adalah ...

  • A. Isi
  • B. Judul dan Deklarasi
  • C. Judul dan Implenetasi
  • D. Implementasi dan Deklarasi
  • E. Judul, Deklarasi dan Implementasi

24. Apa yang dimaksud dengan terminator END dalam diagram alir?

  • A. Simbol untuk mengakhiri algoritma
  • B. Simbol untuk menghentikan komputer
  • C. Simbol untuk menutup mesin komputer
  • D. Simbol untuk mengganti variabel
  • E. Simbol untuk menulis kode program

25. Apa nama simbol Flowchart berikut ?

[Gambar Simbol Flowchart: Oval]
  • A. Konektor
  • B. Input/Output
  • C. Mula/Tamat
  • D. Proses
  • E. Pilihan

26. Simbol flowchart yang berfungsi untuk percabangan atau pilihan adalah ...

[Gambar Pilihan Simbol Flowchart]
  • A. Oval
  • B. Diamond
  • C. Lingkaran
  • D. Jajar Genjang
  • E. Panah

27. Algoritma berikut merupakan flowchart yang berfungsi ....

[Gambar Flowchart Login Instagram]
  • A. Login ke media sosial
  • B. Keluar (logout) dari akun media sosial
  • C. Memblokir akun lain di media sosial
  • D. Daftar akun baru media sosial
  • E. Posting di media sosial

28. Penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program disebut dengan ...

  • A. Algoritma
  • B. Logika
  • C. Pseudocode
  • D. Flowchart
  • E. Shapes

29. Apa yang terjadi jika nilai Bomi adalah 80?

[Gambar Flowchart Penilaian]
  • A. Lulus
  • B. Tidak Lulus
  • C. Remedial
  • D. Pengayaan
  • E. Tidak diketahui karena tidak ada batasan nilai KKM

30. Perhatikan gambar berikut:

[Gambar Simbol Flowchart]

Lambang no 4 disebut ...

  • A. Alir data
  • B. Input
  • C. Output
  • D. End
  • E. Proses

31. Apa yang dimaksud dengan strategi membaca lateral?

  • A. Strategi membaca lateral adalah teknik membaca yang hanya digunakan untuk mencari informasi akurat.
  • B. Strategi membaca lateral adalah teknik membaca yang melibatkan pemahaman konteks secara menyeluruh, tidak hanya fokus pada kata-kata secara literal.
  • C. Strategi membaca lateral adalah teknik membaca yang hanya fokus pada kata-kata secara literal.
  • D. Strategi membaca lateral adalah teknik pemahaman konteks mencari informasi yang akurat.
  • E. Strategi membaca lateral adalah cara membaca cepat sebuah informasi

32. Apa perbedaan utama antara peramban (browser) dan mesin pencari (search engine)?

  • A. Peramban digunakan untuk mencari data di internet, sedangkan mesin pencari digunakan untuk membuka halaman web
  • B. Peramban mengelola aplikasi, sementara mesin pencari hanya menampilkan gambar
  • C. Mesin pencari adalah jenis aplikasi di peramban
  • D. Peramban memungkinkan akses ke situs web, sedangkan mesin pencari digunakan untuk menemukan situs atau informasi di web
  • E. Tidak ada perbedaan, keduanya berfungsi sama

33. Apa tujuan utama dari membaca secara lateral saat mencari informasi di internet?

  • A. Mengevaluasi informasi dengan memeriksa sumber lain untuk memastikan akurasi
  • B. Menyimpan semua informasi yang ditemukan untuk dibaca kembali
  • C. Mengikuti jalur yang sudah ditentukan dalam situs web
  • D. Membaca informasi secara berurutan dari awal hingga akhir
  • E. Menggunakan satu sumber informasi untuk mencari kebenaran

34. Apa yang dimaksud dengan "phishing" dalam konteks keamanan digital?

  • A. Menangkap ikan dengan menggunakan peralatan digital
  • B. Menyebarkan foto-foto pribadi seseorang secara ilegal
  • C. Memanen data pribadi dengan cara memancing pengguna untuk memberikan informasi sensitif
  • D. Menggunakan teknologi untuk menipu dalam perpermainan online
  • E. Membuat website dummy

35. Apa yang dapat digunakan untuk memverifikasi validitas gambar?

  • A. Barcode Generator
  • B. Google Lens
  • C. Google Drive
  • D. Kamera Digital
  • E. Google View

36. Platform berikut yang tidak dapat digunakan untuk memverifikasi informasi adalah

  • A. cekfakta.com
  • B. turnbackhoax.id
  • C. komdigi.go.id
  • D. detik.com
  • E. saberhoax.jabarprov.go.id

37. Perhatikan kasus berikut:

Nama "Lylia" menjadi viral dikaitkan dengan sebuah video berdurasi 7 menit. Banyak pengguna media sosial mencari dan membagikan tautan terkait. Namun, hingga saat ini identitas dan kebenaran video tersebut belum terverifikasi. Analisis yang tepat mengenai kasus ini adalah....

  • A. Karena banyak orang mencarinya, maka informasi tersebut pasti benar
  • B. Informasi yang viral otomatis adalah fakta yang sudah terverifikasi
  • C. Viralitas tidak menjamin kebenaran; informasi tersebut masih berupa klaim yang perlu diverifikasi
  • D. Media sosial selalu menjadi sumber informasi yang akurat
  • E. Nama yang ramai dicari di mesin pencari adalah bukti kebenaran suatu peristiwa

38. Seorang siswa login ke akun media sosial menggunakan password dan menerima kode OTP. Ini merupakan contoh dari...

  • A. Autentikasi manual
  • B. Autentikasi default
  • C. Autentikasi satu Langkah
  • D. Autentikasi dua Langkah
  • E. Autentikasi tiga Langkah

39. Kode verifikasi pada autentikasi biasanya dikirim melalui...

  • A. Video call
  • B. SMS
  • C. Panggilan Telepon
  • D. Cloud
  • E. Notepad

40. Seorang siswa menemukan sebuah artikel di media sosial yang mengklaim bahwa "Pemerintah akan menaikkan harga BBM minggu depan." Untuk memverifikasi klaim ini, fitur atau layanan dari Kementerian Komunikasi dan Digital (Komdigi) yang dapat digunakan adalah....

  • A. Mengirim laporan melalui chatbot Kalimasada atau nomor +62 859-2160-0500
  • B. Mengunggah artikel tersebut di Google Drive
  • C. Mengirim email ke alamat pribadi menteri terkait
  • D. Membagikan artikel tersebut di grup WhatsApp agar dikomentari
  • E. Mencetak artikel dan menunjukkannya ke guru

41. Seorang siswa membuat program untuk menyimpan data diri siswa yang terdiri dari: Nama (teks), Umur (bilangan bulat), Tinggi Badan (bilangan desimal), dan Status Menikah (benar/salah). Tipe data yang paling tepat untuk masing-masing variabel secara berurutan adalah....

  • A. String, Integer, Float, Boolean
  • B. String, Float, Integer, Boolean
  • C. Integer, String, Float, Boolean
  • D. String, Integer, Boolean, Float
  • E. Boolean, String, Integer, Float

42. Perhatikan potongan kode pemrograman berikut (dalam bahasa C):

int a = 1e;
float b = 3.14;
char c = 'A';
char d[] = "SMK";

Analisis yang tepat mengenai potongan kode tersebut adalah...

  • A. Variabel a bertipe string, b bertipe integer, c bertipe char, dan d bertipe float
  • B. Variabel a bertipe integer, b bertipe float, c bertipe char, dan d bertipe array of char (string)
  • C. Variabel a bertipe integer, b bertipe double, c bertipe string, dan d bertipe char
  • D. Semua variabel bertipe integer karena tidak ada deklarasi yang jelas
  • E. Kode tersebut akan menghasilkan error karena tipe data tidak cocok

43. Seorang guru ingin menyimpan data nilai ulangan 30 siswa dalam satu variabel agar mudah diolah (misalnya dihitung rata-rata, dicari nilai tertinggi, dll.). Struktur data yang paling tepat untuk menyimpan kumpulan nilai tersebut adalah....

  • A. Variabel Integer tunggal
  • B. Variabel String tunggal
  • C. Array (Larik) bertipe Integer
  • D. Variabel Boolean
  • E. Record (Struct)

44. Seorang kasir ingin menyimpan data transaksi penjualan yang terdiri dari: Kode Barang (contoh: "BRG-001"), Harga (contoh: 15000), Jumlah Beli (contoh: 3), dan Diskon (contoh: 0.1). Tipe data yang paling tepat untuk variabel Diskon adalah....

  • A. Integer
  • B. String
  • C. Float
  • D. Boolean
  • E. Array

45. Seorang analis data ingin mengolah data nilai siswa dari 5 kelas berbeda. Setiap siswa memiliki data: Nama (String), Nilai (Integer), dan Kelas (Integer). Ia ingin menghitung rata-rata nilai per kelas dan menentukan siswa dengan nilai tertinggi di setiap kelas. Analisislah pernyataan berikut yang BENAR terkait solusi yang tepat!

(1) Data dapat disimpan dalam Array 2 dimensi (Array of Array) dengan baris mewakili siswa dan kolom mewakili atribut (Nama, Nilai, Kelas).

(2) Untuk menghitung rata-rata per kelas, program perlu melakukan iterasi (perulangan) pada semua data dan mengelompokkan berdasarkan Kelas.

(3) Tipe data Integer untuk Nilai dan Kelas sudah tepat.

(4) Karena ada 5 kelas, sebaiknya data disimpan dalam 5 variabel terpisah agar lebih mudah dihitung.

  • A. Jika pernyataan (1), (2), dan (3) benar
  • B. Jika pernyataan (1) dan (3) benar
  • C. Jika pernyataan (2) dan (4) benar
  • D. Jika pernyataan (4) saja yang benar
  • E. Jika semua pernyataan benar

Soal Essay

1. Jelaskan perbedaan mendasar antara struktur data Stack (Tumpukan) dan Queue (Antrian) dalam hal prinsip kerja dan contoh penerapannya dalam kehidupan sehari-hari!

2. Jelaskan apa yang dimaksud dengan tipe data dan sebutkan 4 (empat) tipe data dasar beserta contohnya!

3. Jelaskan apa yang dimaksud dengan operator boolean pada mesin pencari! Sebutkan 3 operator boolean beserta fungsinya!

4. Seorang siswa SMK bernama Andi baru saja menerima akun Google Workspace for Education dari sekolahnya dengan alamat andi.siswa@sekolah.sch.id. Ia ingin menggunakan akun ini untuk: Mengirim dan menerima email tugas dari guru, Menyimpan dan mengorganisir file tugas di Google Drive, Berkolaborasi dengan teman sekelas dalam mengerjakan proyek kelompok.

Jika Andi ingin membagikan folder proyek kepada 3 teman sekelasnya dengan akses agar mereka bisa mengedit dan menambahkan file, langkah apa yang harus dilakukan?

5. Seorang siswa SMK bernama Rina ditugaskan untuk membuat program pendataan buku di perpustakaan sekolah. Setiap buku memiliki data:

  • ID Buku: contoh "B-001" (terdiri dari huruf dan angka)
  • Judul Buku: contoh "Pemrograman Dasar"
  • Pengarang: contoh "Andi Wijaya"
  • Tahun Terbit: contoh 2023
  • Harga Buku: contoh 125000 (dalam rupiah)
  • Stok Buku: contoh 5
  • Tersedia: contoh "Ya" atau "Tidak"

Pertanyaan:

Tentukan tipe data yang paling tepat untuk masing-masing atribut buku di atas! Berikan alasan!

LATIHAN PHYTON DASAR

Materi Dasar Python — SMK Akuntansi & RPL 🐍 Materi Dasar Python Untuk SMK Jurusan Akuntansi & RPL ...