Struktur komprehensif semester ganjil yang terbagi dalam dua blok evaluasi kompetensi
akademik.
Standar Profesi Nasional
Skema Sertifikasi Analis Program (SKKNI)
7 Unit Kompetensi Kerja Nasional Indonesia yang diintegrasikan langsung dalam capaian
pembelajaran kuliah ini.
J.620100.002.01
Menganalisis Skalabilitas Perangkat Lunak
J.620100.022.02
Mengimplementasikan Algoritma Pemrograman
J.620100.023.02
Membuat Dokumen Kode Program
J.620100.025.02
Melakukan Debugging Perangkat Lunak
J.620100.032.01
Menerapkan Code Review Standar
J.620100.033.02
Melakukan Pengujian Unit Program
J.620100.034.02 · INTEGRASI AKHIR
Melaksanakan Pengujian Integrasi Program Menyeluruh
Agenda Perkuliahan
5 Pilar Utama Logika & Algoritma
Pondasi pemikiran algoritmik yang akan dipelajari secara terstruktur hari ini.
01
Definisi & Tokoh
Asal usul filosofis dari Aristoteles (Yunani Kuno) hingga Al-Khawarizmi
(Persia).
02
Tahapan Masalah
Siklus transformasi dari problem dunia nyata menuju model matematika & kode
mesin.
03
Karakteristik
5 kriteria mutlak: keterbatasan, kepastian, input, output, serta asas
efektivitas.
04
Tahapan Analisa
Metode perancangan, validitas logika, estimasi memori/waktu, hingga fase
debugging.
05
Kasus & Python
Analisis kasus nyata, notasi pseudocode, komparasi sintaks C++ vs Java vs
Python.
Akar Sejarah Komputasi
Dua Tokoh Besar Peletak Dasar
Fondasi komputasi modern dibangun di atas sintesis filsafat Yunani Klasik dan matematika
Persia Abad Pertengahan.
Aristoteles
384 – 322 SM · Yunani Kuno
"Memperkenalkan LOGIKA sebagai cabang filsafat yang membahas
hukum penalaran deduktif & silogisme yang tepat, membentuk kaidah berpikir
sahih (valid)."
— Bapak Logika Klasik (Karya: Organon)
Logika Aristoteles menjamin bahwa suatu kesimpulan yang ditarik dari premis-premis
dasar terbebas dari kesalahan berpikir dan kontradiksi.
Al-Khawarizmi
~825 M · Persia (Khwarazm)
"Penulis kitab monumental Al-Jabr w'al-Muqabala (Rules of Restoration
& Reduction). Namanya dilatinkan bangsa barat menjadi istilah
ALGORITHM."
— Abu Ja'far Muhammad Ibnu Musa Al-Khawarizmi
Merumuskan metode sistematis langkah-demi-langkah berhingga untuk menyelesaikan
persamaan matematika secara eksak dan terstruktur.
Kajian Literatur Ilmiah
Logika & Algoritma Menurut Pakar
Sintesis definisi ilmiah para pakar filsafat dan ilmu komputer terkemuka.
HAKIKAT LOGIKA
"Ilmu dalam lingkungan filsafat yang membahas prinsip-prinsip dan hukum penalaran
dengan tepat."
— Rakmat (2013)
"Ilmu yang memberikan prinsip-prinsip yang harus diikuti agar dapat berpikir valid
menurut aturan yang berlaku."
— Mustofa (2016)
HAKIKAT ALGORITMA
"Urutan langkah untuk menyelesaikan masalah matematika dan logika."
— Zarman & Wicaksono (2020)
"Deretan instruksi yang jelas untuk memecahkan masalah komputasional."
— Rinaldi Munir (2016)
"Sekumpulan instruksi terbatas, yang apabila dilaksanakan akan menyelesaikan tugas
tertentu."
— Sjukani (2013)
Metodologi Komputasional
Tahapan Penyelesaian Masalah
Alur transformasi masalah riil menjadi program yang tervalidasi dan menghasilkan solusi
akurat.
FASE 01
Masalah
Problem riil di dunia nyata
FASE 02
Model
Abstraksi & matematisasi
FASE 03
Algoritma
Langkah terstruktur logis
FASE 04
Program
Pengkodean sintaks bahasa
FASE 05
Eksekusi
Pemrosesan CPU + Data riil
FASE 06
Hasil
Output solusi terverifikasi
Studi Kasus Urutan Langkah
Urutan Logis vs Cacat Logika
Kasus Pendaftaran Kuliah di PT: Pembuktian mengapa urutan langkah menentukan validitas
sebuah algoritma.
✓ KASUS 1: ALGORITMA LOGIS & BENARStatus: VALID
01 Memilih Perguruan Tinggi tujuan
02 Mengisi formulir pendaftaran
03 Mengikuti ujian tes masuk
04Evaluasi: Jika lulus lanjut
ke 05; jika tidak, selesai
05 Mendaftar ulang & membayar SPP
06 Mengambil KTM → Selesai
✕ KASUS 2: ALGORITMA CACAT LOGIKAStatus: INVALID
01 Mengikuti tes
masuk (Belum daftar?)
02 Memilih Perguruan Tinggi
03 Mengisi formulir pendaftaran
04 Membayar SPP
(Belum tentu lulus?)
05 Jika lulus tes, kembali ke 03, jika tidak
selesai
06 Mengambil KTM → Selesai
Fleksibilitas Pemecahan Masalah
Satu Masalah, Beragam Solusi Valid
Kasus 3 & 4 (Memasak Mie Instan): Algoritma membuktikan bahwa banyak jalan menuju
solusi yang sama-sama benar.
ALGORITMA A · BUMBU DI MANGKOK
1 Merebus air sampai mendidih
2 Memasukkan mie ke dalam air mendidih
3 Menuangkan mie matang ke dalam mangkok
4 Memasukkan bumbu masak ke mangkok
5 Mengaduk sampai rata → Selesai
ALGORITMA B · BUMBU DI PANCI
1 Merebus air sampai mendidih
2 Memasukkan mie ke dalam air mendidih
3 Memasukkan bumbu masak langsung ke panci
4 Mengaduk rata di dalam panci
5 Menuangkan mie matang berbumbu ke mangkok
→ Selesai
✨ Kaidah Penting: Suatu masalah
komputasi dapat diselesaikan dengan beragam urutan alternatif. Kunci seorang
Program Analyst adalah memilih variasi langkah yang paling efisien waktu dan
hemat sumber daya.
Standar Donald Knuth
5 Karakteristik Mutlak Algoritma
Kriteria fundamental yang wajib dipenuhi sebuah algoritma agar layak diimplementasikan
pada komputer.
01 · FINITENESS
Keterbatasan
Algoritma WAJIB berhenti setelah mengerjakan sejumlah langkah terbatas (tidak
boleh infinite loop).
02 · DEFINITENESS
Kepastian
Setiap langkah terdefinisi tepat, presisi, gamblang, dan tidak menimbulkan makna
ganda (unambiguous).
03 · INPUT
Masukan
Memiliki 0 (nol) atau lebih besaran masukan dari luar yang akan diproses oleh
sistem.
04 · OUTPUT
Keluaran
Memiliki 1 atau lebih keluaran sebagai hasil tuntas penyelesaian masalah
komputasi.
05 · EFFECTIVE
Sangkil / Efektif
Setiap langkah sederhana sehingga dapat dikerjakan secara realistis dalam waktu
masuk akal.
Struktur Pemrograman Universal
3 Konstruksi Dasar Algoritma
Seluruh bahasa pemrograman di dunia dibangun di atas tiga struktur kendali logika utama
ini.
01
SEQUENCE
Runtunan (Sequence)
Instruksi dieksekusi secara berurutan baris demi baris dari atas ke bawah, tanpa
ada lompatan atau langkah yang terlewat.
Aksi_1 → Aksi_2 → Selesai
02
CONTROL FLOW
Percabangan (Selection)
Pemilihan jalur instruksi berdasarkan pengujian kondisi benar/salah (boolean).
Contoh: if – else, switch.
IF (Lulus) THEN 05 ELSE Selesai
03
ITERATION
Perulangan (Looping)
Pengulangan sekumpulan instruksi selama suatu syarat kondisi masih terpenuhi.
Contoh: for, while.
WHILE (Kondisi) DO Aksi()
Notasi Algoritma Tekstual
Penulisan dalam Pseudocode
Pseudocode adalah bahasa semu informal yang terstruktur untuk menuangkan nalar algoritma
sebelum di-koding.
3 Bagian Baku Pseudocode
1. Bagian Nama (Header)
Memuat judul algoritma serta penjelasan ringkas fungsi prosedur.
2. Bagian Deklarasi
Mendefinisikan nama variabel, tipe data, dan konstanta yang dipakai (misal:
a, b, c : integer).
3. Bagian Deskripsi
Inti aksi algoritma yang diawali Begin dan diakhiri
End.
Pseudocode_Penjumlahan.txtSTANDARD
// 1. Bagian Nama Algoritma Penjumlahan_Dua_Bilangan
// 2. Bagian Deklarasi Deklarasi:
a, b, c : integer
// 3. Bagian Deskripsi Begin read(a, b)
c ← a + b write(c) End
Taksonomi Abstraksi Komputer
Bahasa Komputer: Low vs High Level
Program adalah kumpulan instruksi kerja komputer. Bahasa pemrograman dikelompokkan
menurut kedekatannya dengan mesin:
TINGKAT RENDAH (LOW LEVEL)
Bahasa Mesin & Rakitan
Dirancang agar instruksi langsung dieksekusi prosesor tanpa penerjemah rumit.
Terdiri dari kode biner (0 dan 1) atau instruksi mnemonic assembly.
Contoh: Machine Code (01010111), Assembly Language
TINGKAT TINGGI (HIGH LEVEL)
Bahasa Berorientasi Manusia
Menggunakan kosakata bahasa Inggris dan struktur logika matematis yang mudah
dibaca dan dipahami manusia. Membutuhkan compiler/interpreter.
Dirancang oleh Guido Van Rossum, Python menjadi bahasa tingkat tinggi
nomor satu untuk pemula dan raksasa industri teknologi.
Keunggulan Sintaksis
Struktur sintaks rapi, lekukan (indentasi) teratur, dan minim simbol rumit (tanpa
titik koma wajib). Sangat dianjurkan untuk pemula yang belum pernah menyentuh
koding.
1. Bahasa pemrograman yang dianjurkan untuk pemula yang belum pernah coding
adalah:
Evaluasi Pemahaman · Soal 02
Latihan Soal Interaktif
Pertanyaan 02 dari 05
2. Logika pertama kali diperkenalkan oleh:
Evaluasi Pemahaman · Soal 03
Latihan Soal Interaktif
Pertanyaan 03 dari 05
3. Algoritma diperkenalkan oleh Ahli matematika yang bernama:
Evaluasi Pemahaman · Soal 04
Latihan Soal Interaktif
Pertanyaan 04 dari 05
4. Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi adalah tokoh yang berasal dari:
Evaluasi Pemahaman · Soal 05
Latihan Soal Interaktif
Pertanyaan 05 dari 05
5. Di bawah ini termasuk ke dalam bahasa pemrograman adalah:
Simulasi Berpasangan · 20 Menit Kelas
Battle Logika: Designer vs Stress-Tester
Sistem pengujian berpasangan mandiri: Baris kursi Anda menentukan misi yang wajib Anda
rancang dan uji silang bersama rekan sebangku.
BARIS GANJIL / KURSI KIRIMISI A
Tarik Tunai Rp 100.000 di ATM
Rancang urutan instruksi dari memasukkan kartu fisik, input PIN, pilih nominal Rp
100.000, uang keluar, sampai kartu ATM kembali ke tangan nasabah.
Batasan: Wajib 6 s.d. 10 langkah terukur
BARIS GENAP / KURSI KANANMISI B
Pesan Nasi Goreng via Ojol
Rancang urutan instruksi dari membuka aplikasi ojol, cari menu nasi goreng,
konfirmasi alamat, bayar non-tunai, hingga pesanan diterima pemesan.
Batasan: Wajib 6 s.d. 10 langkah terukur
Fase 1 · Waktu: 8 Menit (Menulis di Kertas)
Menulis Instruksi Presisi (Versi 1.0)
Tuliskan algoritma Anda di selembar kertas. Hindari asumsi dan kata mengambang agar
sistem Anda tidak mudah dijebol penguji!
3 Aturan Mutlak Perancangan
1
Batas Panjang Langkah: Wajib minimal 6 dan maksimal 10
langkah (diawali MULAI, diakhiri SELESAI).
2
Anti-Ambiguitas: Dilarang memakai kata mengambang seperti
'secukupnya', 'seperti biasa', atau
'tunggu sebentar'.
3
Spesifik pada Alat & Nilai: Sebutkan tombol apa yang
ditekan, nominal yang dipilih, atau wadah yang dituju.
STANDAR KUALITAS INSTRUKSI
✕ INSTRUKSI RAPUH (GAMPANG DIJEBOL):
"1. Masukkan kartu ke ATM." → Celah: Arah chip ke mana? Kartu bisa tertelan jika terbalik!
✓ INSTRUKSI KOKOH (TAHAN UJI):
"1. Masukkan kartu ATM dengan posisi chip logam tembaga menghadap ke depan
atas."
Fase 2 · Waktu: 7 Menit (Tukar Kertas)
3 Senjata Serangan Penguji (Tester)
Tukarkan kertas dengan rekan sebangku. Bertindaklah sebagai komputer kaku tanpa akal
manusia. Jebol algoritma rekan Anda dengan 3 senjata ini:
SENJATA 1💥 ATTACK
Uji Sumber Daya Habis
Tanyakan:
"Bagaimana jika uang di mesin ATM habis, atau restoran ojol tiba-tiba tutup
saat mau bayar?"
Celah: Sistem crash tanpa jalan keluar
SENJATA 2🔀 SHUFFLE
Uji Urutan Terbalik
Tanyakan:
"Bisakah langkah nomor 4 dijalankan mendahului nomor 2? Apa akibat
fatalnya?"
Celah: Logika kausalitas terbalik
SENJATA 3🔍 AMBIGUOUS
Uji Kata Mengambang
Tanyakan:
"Apakah ada langkah yang tidak ada batas ukurnya (misal: 'tunggu' tanpa batas
durasi)?"
Celah: Mesin macet selamanya
⚠Aturan Wajib Penguji: Anda WAJIB menuliskan minimal 1 celah bug nyata di kertas
rekan Anda untuk mendapatkan nilai tugas sebagai QA Tester!
Fase 3 · Waktu: 5 Menit (Perbaikan Logika)
Menambal Bug dengan IF-ELSE (Versi 2.0)
Kertas dikembalikan ke pembuat. Dilarang berdebat lisan! Satu-satunya cara memperbaiki
adalah menyisipkan logika percabangan.
FORMULA TAMBALAN LOGIKA
Sintaks Percabangan Darurat
JIKA (Kondisi Masalah Terjadi) MAKA (Aksi Penanganan
Darurat & Hentikan) LAINNYA LAKUKAN (Lanjut ke Langkah
Normal Berikutnya)
Dengan menambahkan blok percabangan ini, algoritma Anda menjadi
kebal terhadap kegagalan sistem (*Fault-Tolerant*).
CONTOH PENAMBALAN BUG REALISTIS
SERANGAN REKAN (BUG):
"Di langkah 4 kamu langsung suruh mesin keluarkan Rp 100.000, bagaimana kalau
saldo rekening nasabah cuma Rp 25.000?"
TAMBALAN LOGIKA VERSI 2.0:
4. Masukkan pilihan nominal Rp 100.000. 5. JIKA Saldo < Rp 100.000 MAKA:
a. Tampilkan 'Saldo Tidak Cukup'.
b. Keluarkan kartu & SELESAI. LAINNYA: Lanjut Langkah 6 (Dispenser Uang).
Format Submit LMS · Laporan Mandiri
Struktur Laporan & Rubrik Penilaian
Hasil battle kelas diformalkan menjadi dokumen PDF mandiri untuk asesmen formatif 100
poin.
4 Blok Dokumen Laporan PDF
1Spesifikasi: Judul
Aktivitas, Masukan (Input), dan Keluaran (Output).
2Algoritma Awal (v1.0): Draf asli sebelum diuji rekan sebangku.
4Algoritma Final (v2.0): Algoritma kebal error setelah ditambal
IF-ELSE.
Wajib cantumkan identitas resmi: Nama Lengkap · NIM · Kelas di
lembar cover.
Rubrik Penilaian Transparan (100 Poin)
Alur Logika Dasar (Runtut & Berhingga)30%
Kualitas Pengujian Rekan (Tabel Log Bug)25%
Ketepatan Tambalan Percabangan IF-ELSE25%
Kerapian Dokumen PDF & Ketepatan Waktu20%
Refleksi Akhir Pertemuan 01
Dari Nalar Sehari-hari Menuju Kode Komputer
Pondasi berpikir algoritmik adalah keahlian utama yang membedakan software engineer
handal dari pengetik kode biasa.
PESAN FILOSOFIS HARI INI
“Komputer tidak pernah salah mengeksekusi instruksi. Jika sistem crash atau
menghasilkan bug, itu adalah cermin dari logika perancangnya yang belum
tuntas.”
Simulasi battle hari ini membuktikan bahwa membuat langkah yang 'kelihatannya
benar' sangatlah mudah, tetapi membuat langkah yang 'kebal dari segala kemungkinan
salah' membutuhkan ketajaman logika tingkat tinggi.
PERTEMUAN 01 TUNTAS · SAMPAI JUMPA
Materi Minggu Depan:
Tipe Data, Variabel & Operator Komputasi
Sempurnakan dokumen tugas Versi 2.0 Anda dan kumpulkan tepat waktu di portal LMS
sebelum sesi kedua dimulai!