Jika Gaji Kotor (Gaji Pokok + Lembur) > Rp 5.000.000 → kena PPh 5%
Jika tidak → PPh = 0
Tugas Lengkap:
๐ง๐ซ Catatan untuk Guru:
• LKPD ini bisa dikerjakan siswa langsung di blog (isi kolom, lalu screenshot/print).
• Untuk flowchart, siswa bisa pakai Draw.io (gratis) lalu tempel link atau screenshot.
• Nilai akhir bisa diambil dari Proyek Akhir (Pertemuan 6) + kerapian pengisian LKPD.
๐ Selamat Mengerjakan! — Semoga bermanfaat untuk praktik Struktur Data & Algoritma.
Materi Struktur Data & Algoritma untuk SMK Akuntansi
๐ Struktur Data & Algoritma untuk SMK Akuntansi
Materi Praktis · Berbasis Kasus Keuangan · Siap Pakai 1 Semester
Materi ini dirancang khusus untuk siswa SMK jurusan Akuntansi. Tujuan utamanya
bukan menjadi programmer, melainkan mampu menyusun logika dan mengolah data
(angka, teks, laporan keuangan) secara terstruktur. Semua contoh menggunakan kasus
akuntansi nyata: diskon, pajak, gaji, piutang, dan stok barang.
Informasi: Data yang sudah diolah dan bermakna. Contoh: Total Penjualan = Rp 50.000.
B. Tipe Data (Sering Dipakai Akuntan)
Integer (Bilangan Bulat): Jumlah barang, nomor faktur.
Float/Desimal: Harga satuan, kurs valas, PPN (12,5%).
String (Teks): Nama akun, kode rekening, alamat.
Boolean (Benar/Salah): "Lunas / Belum Lunas", "Aktif / Tidak Aktif".
C. Struktur Data Sederhana
Variabel: Tempat menyimpan 1 data. Contoh: Nama_Perusahaan = "CV. Sejahtera".
Array/Larik: Kumpulan data sejenis dalam satu wadah. Analogi: Seperti Buku Besar — satu buku berisi banyak halaman (akun).
Contoh Array: [Harga_Barang1, Harga_Barang2, Harga_Barang3].
๐งพ Aktivitas Kelas: Buatlah daftar 10 transaksi penjualan. Kelompokkan mana yang termasuk
Integer, Float, dan String.
๐ Modul 2: Algoritma Dasar (Urutan Logika)
Komputer mengerjakan 3 hal: Input → Proses → Output. Algoritma adalah urutan langkah
untuk menyelesaikan masalah.
Contoh Kasus Akuntansi: Menghitung Gaji Kotor
Masalah: Hitung Gaji Pokok + Tunjangan – Potongan.
✏️ Latihan: Buatlah urutan logika (algoritma) untuk menghitung PPN 11%
dari sebuah faktur penjualan. (Input = Harga Barang, Output = Harga + PPN).
๐ Modul 2.5: Alat Bantu Algoritma — Pseudocode & Flowchart
WAJIBPseudocode dan Flowchart adalah dua alat utama untuk
menuangkan logika sebelum membuat program atau rumus Excel.
A. Pseudocode
Pengertian: Menulis langkah-langkah algoritma dengan bahasa sehari-hari
yang terstruktur, mirip instruksi ke komputer tapi pakai kata-kata manusia.
Tidak terikat aturan kode program.
Kata kunci umum:INPUT, OUTPUT, IF,
ELSE, FOR, WHILE, CALCULATE.
B. Flowchart
Pengertian: Gambaran algoritma dalam bentuk bagan/simbol
yang dihubungkan dengan anak panah. Sangat berguna untuk membuat SOP Keuangan
dan alur dokumen.
Simbol Wajib Flowchart
⬡
Oval
Terminal (Mulai / Selesai)
▱
Jajar Genjang
Input / Output (Baca data / Tampilkan hasil)
▭
Persegi Panjang
Proses (Menghitung, mengisi nilai)
◇
Belah Ketupat
Decision / Percabangan (Ya / Tidak)
→
Panah
Flow Line (Penunjuk arah alur)
C. Perbandingan Langsung (Kasus Diskon)
Kasus: Jika total belanja > Rp 100.000, maka dapat diskon 10%.
1. Pseudocode
PROGRAM Hitung_Diskon
MULAI
INPUT total_belanja
IF total_belanja > 100000 THEN
diskon = total_belanja * 10/100
ELSE
diskon = 0
END IF
bayar = total_belanja - diskon
OUTPUT bayar
SELESAI
Ribet jika algoritma sangat panjang (100+ langkah)
Kurang cocok untuk presentasi ke non-IT
Contoh di Akuntansi
Bagan alur pembelian dari pesan hingga bayar
Logika penyusutan aktiva tetap (garis lurus)
๐งพ Latihan Gabungan: Seorang akuntan ingin menghitung PPh Pasal 21
dengan aturan:
• Jika Gaji ≤ Rp 4.500.000 → PPh = 0
• Jika Gaji > Rp 4.500.000 → PPh = 5% dari Gaji Tugas: (1) Tulis pseudocode, (2) Gambar flowchart di kertas/draw.io.
๐ Modul 3: Percabangan (Logika If-Then-Else)
Kenapa penting untuk akuntan? Karena laporan keuangan selalu butuh kondisi:
Jika usia piutang > 30 hari → status "Macet".
Jika total belanja > 1 Juta → "Dapat Diskon".
Contoh Kasus: Status Kredit
Aturan: Jika usia piutang > 30 hari, maka status = "Berisiko". Jika tidak, status = "Aman".
Algoritma:
1. Input Usia_Piutang
2. Jika Usia_Piutang > 30 Maka: Status = "Berisiko"
3. Selain Itu: Status = "Aman"
4. Tampilkan Status
✏️ Latihan: Buat logika percabangan untuk menentukan Bonus Sales:
• Omzet > Rp 100.000.000 → Bonus = 5% dari Omzet
• Omzet ≤ Rp 100.000.000 → Bonus = Rp 500.000
๐ Modul 4: Perulangan (Looping)
Akuntan sering menghitung 1.000+ baris data di Excel. Di algoritma, kita pakai perulangan
(For / While) untuk mengotomatisasi.
Contoh Kasus: Rekapitulasi Penjualan Harian
Ada 7 transaksi penjualan dalam seminggu. Kita mau jumlahkan semuanya.
Logika Perulangan (For): Total = 0
Ulangi dari i = 1 sampai i = 7:
Baca data Penjualan[i] Total = Total + Penjualan[i]
Tampilkan Total
✏️ Latihan (Tanpa Koding): Diberikan data stok barang di 5 cabang:
[50, 75, 20, 100, 30].
Tulislah langkah-langkah perulangan untuk mencari Total Stok dan
Rata-rata Stok per cabang.
๐ Modul 5: Studi Kasus Akuntansi (Implementasi)
Sistem Rekap Gaji Karyawan
Data (Array):
Nama = ["Andi", "Budi", "Cici"]
Jam_Lembur = [5, 10, 2]
Gaji_Pokok = [4.000.000, 4.500.000, 3.500.000]
Aturan:
Upah lembur per jam = Rp 50.000.
Jika total gaji + lembur > Rp 5.000.000, maka dikenakan PPh 5%.
Jika tidak, tidak kena PPh.
Algoritma Logika
MULAI
Siapkan data Nama, Jam_Lembur, Gaji_Pokok
Ulangi dari i = 0 sampai i < 3 (jumlah data):
Gaji_Kotor = Gaji_Pokok[i] + (Jam_Lembur[i] * 50.000)
IF Gaji_Kotor > 5.000.000 THEN
Pajak = Gaji_Kotor * 5/100
ELSE
Pajak = 0
END IF
Gaji_Bersih = Gaji_Kotor - Pajak
Tampilkan Nama[i] dan Gaji_Bersih[i]
SELESAI
๐ Tugas Akhir Modul (Proyek Mini):
Buatlah flowchart dan pseudocode untuk program "Kasir Mini" yang bisa:
1. Memasukkan 5 nama barang dan harganya.
2. Menghitung total belanja.
3. Jika total > Rp 200.000, beri diskon 10%.
4. Tampilkan total yang harus dibayar.
๐ Bab 1: Sapaan Pembuka & Rahasia Dapur Komputer
Mulai!
๐ Halo, Calon Arsitek Digital masa depan!
Pernahkah kamu membayangkan bagaimana aplikasi favoritmu seperti YouTube atau game Roblox bisa bekerja dengan sangat cepat? Rahasianya bukan sihir, melainkan cara mereka mengatur barang-barang di dalam "dapur" komputer mereka.
๐ณ Apa itu Struktur Data?
Bayangkan kamarmu berantakan dengan mainan, buku, dan baju yang tercampur aduk. Saat kamu ingin mencari kaus kaki favorit, kamu butuh waktu lama karena semuanya berantakan. Nah, Struktur Data adalah cara kita merapikan "mainan" (data) di dalam komputer agar saat kita membutuhkannya, kita bisa menemukannya dengan sekejap dan hemat tempat.
๐ Apa itu Algoritma?
Jika Struktur Data adalah rak bukunya, maka Algoritma adalah resep atau langkah-langkahnya. Algoritma adalah serangkaian instruksi yang harus memenuhi syarat:
Definiteness (Pasti): Setiap langkah harus jelas. Seperti urutan memakai sepatu: (1) Ambil sepatu → (2) Masukkan kaki → (3) Ikat tali. Jika instruksinya tidak jelas, komputer akan bingung!
Finiteness (Berakhir): Langkah-langkahnya harus ada ujungnya. Jika instruksi mengikat tali sepatu tidak pernah berhenti, kamu akan mengikat tali selamanya dan tidak pernah bisa pergi bermain!
๐ง RUMUS EMAS PROGRAMMER:
ALGORITMA + STRUKTUR DATA = PROGRAM
• Algoritma: Bagaimana cara menyelesaikannya (Langkahnya).
• Struktur Data: Apa yang dikelola (Wadah datanya).
๐️ Bab 2: Gudang Ajaib — Mengenal Struktur Data Dasar
Eksplorasi
Gunakan bagian ini sebagai panduanmu. Cobalah praktikkan kegiatannya agar kamu semakin paham!
๐ A. Tumpukan (Stack) LIFO
Prinsip:LIFO (Last In First Out). Yang terakhir masuk justru yang pertama keluar.
Operasi:Push (menambah ke puncak) dan Pop (mengambil dari puncak).
Analogi: Seperti tumpukan piring atau tombol Undo (Ctrl+Z).
⬆️ STACK
1 (pertama)
2
3
4
5 (TOP)
↓ Push (masuk) · ↑ Pop (keluar)
๐ช MISI RAHASIA 1: Ayo Tumpuk Koin!
Susunlah koin atau buku satu per satu ke atas.
Cobalah mengambil satu koin di posisi paling bawah tanpa menjatuhkan yang lain. Sulit, kan?
Mana yang harus diambil duluan agar aman? (Jawabannya: Koin di posisi TOP!).
๐งฑ PRAKTIK STACK — Push / Pop / Peek
⬆️ STACK
Stack kosong
▶ Stack siap digunakan
๐ถ B. Antrean (Queue) FIFO
Prinsip:FIFO (First In First Out). Yang pertama datang, dia yang pertama dilayani.
Operasi:Enqueue (masuk di belakang/Rear) dan Dequeue (keluar dari depan/Front).
➡️ QUEUE
KELUAR ←
A (Front)
B
C
D (Rear)
← MASUK
Enqueue → tambah di belakang · Dequeue → ambil dari depan
๐ถ MISI RAHASIA 2: Mari Mengantre!
Ajak teman-temanmu berbaris untuk masuk kelas.
Orang yang berdiri paling depan adalah yang pertama kali masuk. Inilah cara kerja antrean di komputer saat mengirim dokumen ke mesin printer!
๐ถ PRAKTIK QUEUE — Enqueue / Dequeue / Front
➡️ QUEUE
Queue kosong
▶ Queue siap digunakan
๐ณ C. Pohon (Tree)
Prinsip: Struktur bertingkat atau hierarki.
// STRUKTUR POHON
┌─────────┐
│ AKAR │ ← Root (Paling atas)
└────┬────┘
│
┌────┴────┐
│ │
┌──┴──┐ ┌──┴──┐
│NODE │ │NODE │ ← Simpul Cabang
└──┬──┘ └─────┘
│
┌──┴──┐
│DAUN │ ← Leaf (Ujung, tidak punya anak)
└─────┘
๐จ MISI RAHASIA 3: Menggambar Pohon Silsilah
Gambarlah pohon keluargamu. Letakkan Kakek/Nenek sebagai Akar, orang tuamu sebagai Simpul (Node), dan kamu sebagai Daun (Leaf).
๐ D. Jejaring (Graph)
Prinsip: Kumpulan titik (Node) yang dihubungkan oleh garis (Sisi/Edge).
Jenis:
Tak Berarah — Seperti pertemanan (Jika kamu kenal Budi, Budi pasti kenal kamu).
Berarah — Seperti peta jalan satu arah atau pengikut di Instagram (Kamu mengikuti artis, tapi artis itu belum tentu mengikutimu).
๐ค MISI RAHASIA 4: Peta Pertemanan
Gambar lingkaran berisi nama teman-temanmu.
Tarik garis jika mereka saling kenal.
Coba beri tanda panah untuk menunjukkan siapa yang meminjamkan buku kepada siapa!
๐ Tabel Ringkasan Wadah Data
Struktur Data
Prinsip Utama
Akses Data
Contoh Nyata
Stack
LIFO
Lewat Puncak (TOP)
Tombol Undo, Tumpukan Piring
Queue
FIFO
Depan & Belakang
Antrean Kasir, Print Queue
Tree
Hierarki
Cabang & Akar
Silsilah Keluarga, Folder Komputer
Graph
Jaringan
Sisi/Garis (Edge)
Peta Jalan, Media Sosial
๐งช Bab 3: Resep Rahasia — Algoritma Standar yang Pintar
Aksi!
๐ A. Pengurutan (Sorting)
Mari kita urutkan data: [7, 2, 9, 1, 5]
1. Selection Sort (Cari Terkecil → Tukar)
// Selection Sort
Langkah 1: Cari yang paling kecil (1), tukar ke depan → [1, 2, 9, 7, 5]
Langkah 2: Cari terkecil dari sisa (2), sudah di posisi benar → [1, 2, 9, 7, 5]
Langkah 3: Cari terkecil dari sisa (5), tukar → [1, 2, 5, 7, 9]
Langkah 4: Cari terkecil dari sisa (7), sudah benar. Selesai!
2. Insertion Sort (Ambil → Sisipkan)
// Insertion Sort
Langkah 1: [7] (sudah urut). Ambil 2, sisipkan sebelum 7 → [2, 7, 9, 1, 5]
Langkah 2: Ambil 9, sisipkan setelah 7 → [2, 7, 9, 1, 5]
Langkah 3: Ambil 1, sisipkan ke paling depan → [1, 2, 7, 9, 5]
Langkah 4: Ambil 5, sisipkan di antara 2 dan 7 → [1, 2, 5, 7, 9]. Selesai!
๐ MISI RAHASIA 5: Barisan Tinggi Badan
Mintalah 5 temanmu berdiri acak. Gunakan metode Selection Sort: Cari yang paling pendek, pindahkan ke depan. Ulangi sampai semua rapi dari pendek ke tinggi!
▶ Masukkan data angka (pisahkan dengan koma), lalu pilih metode sorting
๐ B. Pencarian (Searching)
Linear Search: Cek satu-satu dari awal. (Lambat, tapi bisa untuk data acak).
Binary Search: Data HARUS urut. Bagi dua terus sampai ketemu. (Sangat cepat!).
๐ Perbandingan Kehebatan (Mencari di antara 1 Juta data): Linear Search → Bisa butuh 1.000.000 langkah. Binary Search → Hanya butuh 20 langkah! ๐
๐ PRAKTIK PENCARIAN — Linear vs Binary
Cari angka:
▶ Klik tombol untuk memulai pencarian
๐ C. Rekursi (Recursion)
Rekursi adalah fungsi yang memanggil dirinya sendiri.
Syarat Wajib: Harus punya Base Case (Tombol Berhenti). Tanpa ini, komputer akan terus bekerja sampai crash!
Analogi: Boneka Rusia (Matryoshka). Di dalam boneka besar ada boneka lebih kecil, terus sampai boneka terkecil yang tidak bisa dibuka lagi (Base Case).
๐ป Bab 4: Menjadi Komandan Komputer — Dasar Pemrograman
Kode!
๐ฆ Variabel: "Kotak Penyimpanan"
Tipe Data
Apa isinya?
Contoh
Integer
Bilangan bulat
10, -5
Float
Bilangan desimal
3.14
Boolean
Benar atau Salah
True, False
String
Teks atau kata
"Halo Dunia"
๐ง Logika IF-THEN-ELSE (Keputusan)
Komputer mengambil keputusan seperti ini:
// JIKA Lapar? IF (lapar == True) THEN
Makan Nasi ELSE
Main Game
๐ Perulangan (Looping)
FOR: Kamu sudah tahu mau mengulang berapa kali. Contoh: FOR 1 sampai 5: Lompat! (Lompat 5 kali lalu berhenti).
WHILE: Mengulang selama syaratnya masih benar. Contoh: WHILE piring belum kosong: Makan! (Berhenti hanya jika nasi habis).
๐ Bab 5: Penutup & Tips Sukses Programmer Cilik
Finis!
๐ช 5 Kekuatan Super Programmer
(Langkah Pemecahan Masalah):
Identifikasi: Apa masalahnya?
Dekomposisi: Pecah masalah besar jadi bagian-bagian kecil.
Pengenalan Pola: Cari kesamaan dengan masalah yang pernah kamu temui.
Abstraksi: Fokus pada hal penting, buang detail yang tidak perlu.
Algoritma: Susun langkah solusinya!
๐ Daftar Kata Kunci Rahasia
LIFO — Last In First Out (Stack).
FIFO — First In First Out (Queue).
Push & Pop — Menambah & mengambil di Stack.
Base Case — Tombol berhenti pada Rekursi.
๐ Tips Belajar
Hubungkan dengan Keseharian: Antrean kantin adalah Queue, tumpukan buku adalah Stack.
Latihan Menggambar: Gambar alur algoritmu sebelum mengetik kode.
Gunakan Scratch: Cobalah membuat blok "IF" dan "REPEAT" (Loop) secara visual.
๐ก "Algoritma + Struktur Data = Program"
— Niklaus Wirth
๐ Ingatlah, kunci menjadi programmer hebat bukan sekadar menulis kode, tapi memilih struktur data dan algoritma yang paling tepat agar programmu berjalan efisien. Teruslah bereksperimen, Arsitek Digital! ๐ฐ