ALGORITMA
DALAM PEMROGRAMAN PYTHON
Berikut adalah
materi algoritma tingkat menengah yang disusun secara ringkas, logis, dan mudah
dipahami:
A.
Memahami Algoritma
1.
Memahami Konsep
Berpikir Algoritma
Berpikir
algoritma adalah kemampuan untuk memecahkan
masalah melalui urutan instruksi yang terstruktur, logis, dan matematis. Di
tingkat menengah, kamu tidak lagi sekadar membuat langkah asal-asalan, tetapi
mulai memperhitungkan efisiensi dan batasan masalah. Algoritma yang baik harus
memiliki awal yang jelas, akhir yang pasti, tidak ambigu (tidak bermakna
ganda), dan selalu menghasilkan *output* yang sama jika diberikan *input* yang
sama.
2.
Mengaplikasikan
Berpikir Algoritma
Mengaplikasikan
berpikir algoritma berarti menerjemahkan masalah di dunia nyata ke dalam
tahapan komputasional. Hal ini membutuhkan strategi agar solusi yang dihasilkan
tidak hanya berhasil, tetapi juga cepat dan hemat sumber daya (efisien).
Berikut
adalah tahapan aplikasinya:
a.
Identifikasi Masalah: Menemukan
akar permasalahan dan target yang ingin dicapai.
b.
Dekomposisi: Memecah
masalah kompleks menjadi masalah-masalah kecil yang lebih mudah dikerjakan.
c. Recognition
(Mengenali pola) adalah tahap
dalam berpikir komputasional ketika kita mencari kesamaan, kemiripan, atau pola
yang berulang dari suatu masalah atau kumpulan data.
Sederhananya: “Mengenali
pola = mencari sesuatu yang sama atau berulang agar masalah lebih mudah
dipahami dan diselesaikan.”
d. Abstraksi (Abstraction) adalah proses memilih dan mengambil
informasi yang penting dari suatu masalah serta mengabaikan informasi yang
tidak diperlukan, sehingga masalah menjadi lebih sederhana dan mudah
diselesaikan.
Sederhananya: “Abstraksi = mengambil yang penting, mengabaikan yang
tidak penting.”
e.
Penyusunan Logika:
Merancang urutan instruksi yang sistematis untuk menyelesaikan tiap masalah
kecil tersebut.
f.
Evaluasi Pemilihan
Solusi: Membandingkan beberapa algoritma untuk memilih jalan mana yang paling
singkat dan memiliki risiko kesalahan (*bug*) paling kecil.
3. Studi Kasus: Transfer Uang via Internet Banking
Situasi:
Kamu diminta membeli buku secara online dan harus mentransfer pembayaran
melalui aplikasi bank di smartphone. Bagaimana komputasi algoritma bekerja di
balik layar?
Penerapan
Langkah Algoritma:
§ Buka
aplikasi dan lakukan otorisasi (Login menggunakan password atau sidik jari).
§ Pilih
menu "Transfer Antar Rekening".
§ Ketik
nomor rekening tujuan dan tekan "Cari".
§ Validasi:
Sistem akan menampilkan nama pemilik rekening. Cek apakah nama sesuai. Jika
salah, kembali ke langkah sebelumnya; jika benar, lanjut.
§ Masukkan
jumlah nominal uang yang akan dikirim, lalu tekan "Lanjut".
§ Masukkan
PIN transaksi rahasia sebagai persetujuan akhir.
§ Sistem
memproses transfer dan mengeluarkan Output berupa resi digital.
Penjelasan
Detail:
Algoritma
sangat bergantung pada urutan. Jika kamu memasukkan PIN transaksi sebelum
mengetik nomor rekening, sistem pasti menolak karena langkahnya tidak logis. Di
tingkat menengah, kita juga memikirkan efisiensi: jika kamu menyimpan nomor
rekening tersebut ke dalam "Daftar Favorit", kamu telah memotong dua
langkah algoritma untuk transfer di masa depan, membuat prosesnya jauh lebih
efisien.
B.
Memahami Dasar Koding
Python
· Python
adalah bahasa pemrograman populer yang diciptakan oleh Guido van Rossum pada
tahun 1991.
· Python
dirancang dengan sintaks yang menyerupai bahasa Inggris agar mudah dibaca dan
dipahami oleh pemula.
· Tanpa
Titik Koma: Python menyelesaikan perintah menggunakan baris baru, tanpa
memerlukan tanda titik koma (;) di akhir baris.
· Tanpa
Kurung Kurawal: Blok kode didefinisikan menggunakan indentasi (jarak menjorok
ke dalam), bukan kurung kurawal ({}).
· Case-Sensitive:
Bersifat peka huruf besar-kecil. Huruf besar dan kecil dibedakan (contoh: print
valid, sedangkan Print akan menghasilkan error).
1.
Praktik Dasar Python
Untuk
mencetak atau menampilkan teks ke layar, Python menyediakan fungsi bawaan
print(). Contoh penulisannya:
# Menampilkan
teks ke layar
print("Selamat datang di SMK Semesta Bumiayu")
print("Belajar Python Sangat Menyenangkan")
2.
Tipe Data di Python
& Konversi Data
Tipe
data adalah media atau ruang penyimpanan informasi di komputer. Python memiliki
berbagai macam tipe data:
· Boolean:
Menyatakan kebenaran, bernilai True (1) atau False (0).
· String:
Menyatakan karakter atau kalimat berupa huruf/angka yang diapit tanda petik
tunggal (') atau ganda (").
· Integer:
Menyatakan bilangan bulat.
· Float:
Menyatakan bilangan desimal.
· Hexadecimal:
Menyatakan bilangan berbasis 16 (contoh: 0x9A).
· Complex:
Menyatakan pasangan angka real dan imajiner (contoh: 1 + 5j).
· List:
Untaian yang menyimpan berbagai tipe data yang isinya dapat diubah-ubah
(menggunakan tanda kurung siku [...]).
· Tuple:
Untaian yang menyimpan berbagai tipe data yang isinya tidak dapat diubah-ubah
(menggunakan tanda kurung biasa (...)).
· Dictionary:
Untaian yang berisi beragam tipe data berupa pasangan kunci dan nilai
(key-value) menggunakan kurung kurawal {...}.
Contoh
penulisan tipe data dan konversi data integer serta float:
status_aktif =
True # Boolean
nama = "Budi"
# String
umur = 17 # Integer
berat = 60.5 # Float
hobi = ["Membaca", "Coding", 2026] # List
koordinat = (10.5, 20.1) # Tuple
siswa = {"nama": "Ani", "kelas":
"X"} # Dictionary
#Konversi Data Integer dan Float
teks_angka = "100"
ubah_ke_int = int(teks_angka) # Hasilnya
integer 100
desimal = 7.89
dibulatkan = int(desimal) # Hasilnya
integer 7
angka_bulat = 50
ubah_ke_float = float(angka_bulat) # Hasilnya float 50.0
3.
Operator Aritmetika
Digunakan untuk melakukan operasi
matematika pada program:
· Penjumlahan
(+) : Menjumlahkan nilai.
· Pengurangan
(-) : Mengurangi nilai.
· Perkalian
(*) : Mengalikan
nilai.
· Pembagian
(/) : Membagi nilai.
· Sisa
Bagi / Modulo (%) : Mendapatkan sisa
pembagian.
· Pangkat
(**) :
Memangkatkan nilai.
a = 10
b = 3
print("Penjumlahan:", a + b)
# 13
print("Pengurangan:", a - b)
# 7
print("Perkalian:", a * b)
# 30
print("Pembagian:", a / b)
# 3.3333...
print("Sisa Bagi:", a % b) # 1
print("Pangkat:", a ** b)
# 1000
4.
Operator Perbandingan
Digunakan
untuk membandingkan dua buah nilai, yang akan menghasilkan nilai kebenaran True
atau False:
·
Sama dengan (==):
Bernilai True jika kedua operan bernilai sama.
·
Tidak sama dengan (!=):
Bernilai True jika kedua operan tidak sama.
·
Lebih besar dari
(>): Bernilai True jika operan kiri lebih besar dari kanan.
·
Lebih kecil dari
(<): Bernilai True jika operan kiri lebih kecil dari kanan.
·
Lebih besar dari sama
dengan (>=): Bernilai True jika kiri lebih besar atau sama dengan kanan.
·
Lebih kecil dari sama
dengan (<=): Bernilai True jika kiri lebih kecil atau sama dengan kanan.
x = 10
y = 5
print(x == y) # False
print(x != y) # True
print(x > y) # True
print(x < y) # False
print(x >= 10) # True
print(y <= 4) # False
5.
Percabangan (Branching)
Percabangan
digunakan untuk mengambil keputusan berdasarkan kondisi tertentu:
·
if: Mengeksekusi kode
jika kondisi benar.
·
if-else: Menyediakan
jalur alternatif jika kondisi salah.
·
if-elif-else:
Mengevaluasi banyak kondisi secara berurutan.
nilai = 80
if nilai >= 85:
print("Predikat: A (Sangat
Baik)")
elif nilai >= 75:
print("Predikat: B (Baik)")
else:
print("Predikat: C
(Cukup)")
6.
Pengulangan (Looping)
Digunakan
untuk menjalankan blok kode secara berulang-ulang:
·
while loop: Perulangan
yang berjalan selama kondisi bernilai benar.
·
for loop: Perulangan
untuk mengiterasi elemen dari suatu urutan atau range.
·
nested loop: Perulangan
bersarang (loop di dalam loop).
# Contoh While
Loop
i = 1
while i <= 3:
print("Angka while ke-", i)
i += 1
# Contoh For Loop
for angka in range(1, 4):
print("Perulangan for ke-",
angka)
# Contoh Nested Loop (Loop
Bersarang)
print("Contoh
Koordinat Baris dan Kolom:")
for baris in range(1,
4): # Ini adalah Outer Loop (Loop
Luar)
for kolom in range(1, 4): #Ini adalah Inner Loop (Loop Dalam)
print("Baris", baris,
"Kolom", kolom)
print("-" * 20) # Garis pemisah setiap selesai 1 baris
7.
Komentar
Komentar
adalah catatan atau keterangan di dalam skrip program yang tidak akan
dieksekusi oleh komputer. Komentar sangat berguna untuk memberi penjelasan pada
programmer lain mengenai fungsi suatu kode. Ditulis menggunakan tanda pagar (#)
untuk satu baris, atau tanda petik tiga untuk baris ganda.
# Ini adalah
komentar satu baris penjelas program
print("Halo Dunia") #
Menampilkan pesan sambutan
8.
Fungsi (Function)
Fungsi
adalah sekumpulan blok kode terstruktur yang diberi nama agar dapat dipanggil
dan digunakan kembali secara berulang tanpa menulis ulang kodenya. Diawali
dengan kata kunci def.
def
sapa_pengguna(nama):
print("Halo, selamat pagi",
nama)
# Memanggil fungsi
sapa_pengguna("Andi")
sapa_pengguna("Siti")
9.
Modul (Module)
Modul
adalah file berisi sekumpulan kode atau fungsi Python siap pakai berformat .py
yang dapat diimpor ke dalam program lain menggunakan perintah import.
import math # Memanggil modul matematika bawaan Python
angka = 25
akar = math.sqrt(angka) # Menggunakan
fungsi akar kuadrat
print("Akar dari 25 adalah:", akar)
Contoh Soal / Latihan Praktik
Python
1.
Variabel &
Aritmetika: Buat program Python dengan variabel sisi = 12. Hitunglah luas
persegi (sisi * sisi) dan keliling persegi (4 * sisi), lalu tampilkan hasilnya
menggunakan print().
2.
Percabangan: Buat
program penentu kategori usia: Jika di atas 60 tahun cetak "Lansia",
jika di atas 17 tahun cetak "Dewasa", dan jika di bawah itu cetak
"Remaja/Anak-anak".
3. Perulangan (For Loop): Buat perulangan menggunakan fungsi range() yang dapat menampilkan deret angka genap mulai dari angka 2 sampai 10.
C.
Membuat Aplikasi Kalkulator & Debugging Dalam Python
Gambaran Umum: Membuat program tidak sekadar mengetik kode secara acak. Kita
harus merencanakan fiturnya, menulis logikanya, menguji kesalahannya (debugging),
dan pada akhirnya merancang tampilannya. Mari kita praktikkan tahap demi tahap
membuat kalkulator!
Tahap 1:
Perencanaan & Identifikasi Kebutuhan
Sebelum menulis kode, kita tentukan dulu apa yang
harus bisa dilakukan oleh kalkulator ini.
●
Kebutuhan: Aplikasi harus bisa melakukan Penjumlahan, Pengurangan,
Perkalian, dan Pembagian.
●
Alur Kerja: Aplikasi menampilkan menu → Pengguna memilih operasi matematika
→ Pengguna memasukkan dua angka → Komputer menghitung → Hasil ditampilkan.
Tahap 2:
Implementasi Logika Dasar (Fungsi)
Kita mulai menulis kode
dengan membuat blok fungsi (def) untuk tiap operasi matematika. Memecah kode
menjadi fungsi-fungsi kecil membuat program lebih rapi.
# Fungsi Penjumlahan
def tambah(angka1, angka2):
return angka1 + angka2
# Fungsi Pengurangan
def kurang(angka1, angka2):
return angka1 - angka2
# Fungsi Perkalian
def kali(angka1, angka2):
return angka1 * angka2
#Fungsi Pembagian
Def bagi(angka1, angka2)
Return angka1/angka2
Tahap 3:
Praktik Debugging (Mencegah Error)
Kasus: Dalam matematika, kita tidak bisa membagi
sebuah angka dengan angka Nol (0). Jika kita memaksanya di Python, program akan
langsung mati (crash) dan memunculkan pesan bug berupa ZeroDivisionError.
Solusi Debugging: Kita harus "mengisolasi bug" dan
"memperbaiki bug" dengan memberikan logika tambahan (percabangan if)
pada fungsi pembagian. Jika angka kedua adalah 0, kita tampilkan pesan
peringatan agar program tidak crash.
# Fungsi Pembagian yang sudah
di-Debug
def bagi(angka1, angka2):
if angka2 == 0:
return "Error: Pembagian dengan
nol tidak diperbolehkan!" # Mencegah bug
else:
return angka1 / angka2
Tahap 4:
Membuat Antarmuka Teks & Meminta Input
Kita perlu
membuat tampilan menu dan menggunakan perintah input() agar pengguna bisa
memilih menu serta memasukkan angka yang ingin dihitung.
# Menampilkan menu
print("=== KALKULATOR
SEDERHANA ===")
print("Pilih operasi
matematika:")
print("1. Penjumlahan
(+)")
print("2. Pengurangan
(-)")
print("3. Perkalian
(*)")
print("4. Pembagian
(/)")
# Meminta input dari pengguna
pilihan =
input("Masukkan pilihan (1/2/3/4): ")
Tahap 5:
Percabangan (Mengambil Keputusan)
Kita
menggunakan instruksi if-elif-else untuk mengeksekusi operasi berdasarkan
pilihan yang dimasukkan pengguna.
# Mengecek apakah input valid
(hanya boleh 1,2,3, atau 4)
if pilihan in ('1', '2', '3',
'4'):
# Meminta input angka dan diubah ke tipe
Float (desimal)
angka_pertama = float(input("Masukkan
angka pertama: "))
angka_kedua = float(input("Masukkan
angka kedua: "))
# Menjalankan fungsi sesuai pilihan
if pilihan == '1':
print("Hasil:",
tambah(angka_pertama, angka_kedua))
elif pilihan == '2':
print("Hasil:",
kurang(angka_pertama, angka_kedua))
elif pilihan == '3':
print("Hasil:",
kali(angka_pertama, angka_kedua))
elif pilihan == '4':
print("Hasil:",
bagi(angka_pertama, angka_kedua))
else:
print("Input salah! Mohon pilih 1, 2,
3, atau 4.")
Tahap 6:
Eksekusi Kode Penuh
Berikut adalah gabungan seluruh kode di atas. Kamu
bisa menyalinnya ke editor kode Python (seperti VS Code atau IDLE) dan
menjalankannya! Cobalah pilih menu ke-4 dan masukkan angka nol pada angka kedua
untuk melihat hasil kerja debugging kita.
def tambah(angka1, angka2):
return angka1 + angka2
def kurang(angka1, angka2):
return angka1 - angka2
def kali(angka1, angka2):
return angka1 * angka2
def bagi(angka1, angka2):
if angka2 == 0:
return "Error: Pembagian dengan
nol tidak diperbolehkan!"
else:
return angka1 / angka2
print("=== KALKULATOR
SEDERHANA ===")
print("Pilih operasi
matematika:")
print("1. Penjumlahan
(+)")
print("2. Pengurangan
(-)")
print("3. Perkalian
(*)")
print("4. Pembagian
(/)")
pilihan =
input("Masukkan pilihan (1/2/3/4): ")
if pilihan in ('1', '2', '3',
'4'):
angka_pertama = float(input("Masukkan
angka pertama: "))
angka_kedua = float(input("Masukkan
angka kedua: "))
if pilihan == '1':
print("Hasil:",
tambah(angka_pertama, angka_kedua))
elif pilihan == '2':
print("Hasil:",
kurang(angka_pertama, angka_kedua))
elif pilihan == '3':
print("Hasil:",
kali(angka_pertama, angka_kedua))
elif pilihan == '4':
print("Hasil:",
bagi(angka_pertama, angka_kedua))
else:
print("Input salah! Mohon pilih 1, 2,
3, atau 4.")
Langkah Selanjutnya: Beralih ke Tampilan Visual (GUI)
Kode yang baru saja kamu buat
berjalan di "Terminal" atau layar teks hitam. Di dunia nyata,
pengguna lebih suka aplikasi dengan tombol-tombol yang bisa ditekan dengan mouse.
Dalam pemrograman Python, merancang tampilan dengan tombol dan
kotak teks disebut dengan membuat Graphical User Interface (GUI).
●
Cara Manual: Kamu bisa merancang aplikasi kalkulatormu secara visual
menggunakan perintah coding satu per satu menggunakan library
bernama tkinter bawaan dari Python.
Cara Cepat: Kamu bisa menggunakan alat bantu atau framework bernama PyUIBuilder. Dengan alat ini, kamu cukup melakukan sistem drag-and-drop (geser dan lepas) elemen seperti tombol dan layar ke tempat yang kamu inginkan, sehingga proses desain menjadi sangat efisien dan mudah tanpa perlu banyak menulis kode.


Tidak ada komentar:
Posting Komentar