Anda di halaman 1dari 5

2.

Pseudocode
Pseudocode (kode semu atau kode pseudo) adalah suatu bahasa buatan manusia
yang sifatnya informal untuk merepresentasikan algoritma. Pseudocode dibuat
untuk menutupi kekurangan diagram alir dalam merepresentasikan konsep-
konsep pemrograman terstruktur. Pseudocode memungkinkan representasi
langkah-langkah yang lebih detail dan dekat dengan bahasa pemrograman.
Karena sifatnya yang informal, tidak ada aturan khusus dalam standar
notasi yang dapat digunakan. Akan tetapi, ada beberapa prinsip dasar yang
perlu diperhatikan, yaitu satu baris untuk satu pernyataan (statement) dan
pentingnya indentasi dalam menuliskan pernyataan. Indentasi ada untuk
hierarki dari pernyataan. Misalnya, untuk menunjukkan bahwa suatu
pernyataan merupakan bagian dari sebuah struktur kontrol keputusan atau
struktur kontrol perulangan (lihat konsep blok pada pemrograman visual
yang telah kalian pelajari di tingkat SMP).
Keempat diagram alir pada bagian sebelumnya dapat ditulis dalam
bentuk pseudocode sebagai berikut.

a. Pseudocode 1: Menghitung Luas Persegi


Deskripsi tingkat tinggi: Pseudocode:
1. Baca nilai sisi persegi. Algoritma Menghitung Luas Persegi
2. Hitung luas dengan menguadratkan Input: Nilai Panjang Sisi Persegi.
Output: Luas Persegi tercetak.
nilai sisinya.
3. Cetak luas.
input sisi
luas← sisi * sisi
print luas

b. Pseudocode 2: Menghitung Luas Permukaan Kubus


Deskripsi tingkat tinggi: Pseudocode:
1. Baca nilai sisi kubus. Algoritma Menghitung Luas
2. Hitung luas (persegi) dari sisi kubus. Permukaan Kubus
Input: Nilai Panjang Sisi Kubus.
Kalikan luas kubus dengan angka
Output: Luas Permukaan Kubus
6 (banyaknya jumlah persegi pada
tercetak.
kubus) untuk mendapatkan luas
permukaan. input sisi
3. Cetak luas_permukaan. luas_permukaan ←luas(sisi) * 6
print luas_permukaan

144 Informatika SMA Kelas X


c. Pseudocode 3: Membagi Bilangan
Deskripsi tingkat tinggi: Pseudocode:
1. Baca nilai pembilang dan penyebut. Algoritma Membagi Bilangan
2. Jika penyebut bernilai 0, cetak tulisan Input: Pembilang dan Penyebut.
Output: Hasil Pembagian
“Penyebut tidak boleh nol”.
tercetak.
3. Jika penyebut tidak bernilai nol,
lakukan pembagian pembilang input pembilang, penyebut
dengan penyebut dan simpan if penyebut = 0 print “Penyebut
hasilnya. tidak boleh nol”
4. Cetak hasil pembagian. else
hasil ← pembilang / penyebut
print hasil

d. Pseudocode 4: Menghitung Mundur dari N hingga 1


Deskripsi tingkat tinggi: Pseudocode:
1. Baca nilai N. Algoritma Menghitung Mundur dari
2. Selama N > 0, ulangi. N hingga 1
Input: Nilai N.
3. Cetak tulisan N.
Output: Angka hasil hitung
4. Kurangi nilai N dengan 1.
mundur dari nilai N sampai 1
tercetak.

input N
while N > 0
print N
N ← N - 1

e. Pseudocode 5: Mencari Bilangan Terbesar dari Suatu Himpunan Bilangan


Deskripsi tingkat tinggi: Pseudocode:
1. Jika himpunan bilangan kosong, Algoritma Mencari Bilangan
maka tidak ada bilangan terbesar. Terbesar
Input: Himpunan bilangan L.
2. Jika himpunan bilangan tidak kosong,
Output: Bilangan terbesar pada
asumsikan bilangan pertama sebagai
himpunan bilangan L
bilang terbesar saat ini.
3. Untuk setiap bilangan anggota if size of (L)= 0 return null
himpunan: bandingkan bilangan largest ← elemen pertama L
tersebut dengan bilangan terbesar saat for each item in L, do
if item > largest, then
ini. Apabila bilangan tersebut lebih
largest ← item
besar, maka bilangan tersebut akan
return largest
menjadi bilangan terbesar saat ini.

Bab 7 Algoritma dan Pemrograman 145


Deskripsi tingkat tinggi: Pseudocode:
4. Apabila langkah 3 telah dilakukan
pada seluruh bilangan, bilangan
terbesar saat ini akan menjadi
bilangan terbesar di himpunan
bilangan tersebut.
Setelah selesai menyusun suatu algoritma, barulah suatu program dibuat
dengan menggunakan bahasa pemrograman tertentu. Ada banyak bahasa
yang dapat digunakan, misalnya bahasa C yang digunakan pada unit ini dan
bahasa Python yang digunakan pada unit analisis data.

Aktivitas Individu
Aktivitas AP-K10-02-U: Menulis Algoritma
Pada latihan ini, kalian diminta untuk menuliskan suatu algoritma berdasarkan
deskripsi berikut. Deskripsi ini memuat narasi tingkat tinggi dari algoritma
yang perlu kalian buat dalam bentuk diagram alir dan pseudocode. Setelah
selesai, kalian dapat menunjukkan hasil pekerjaan kalian kepada teman kalian
untuk ditelusuri.

Soal 1: Membayar Bakso (Tingkat Kesulitan: )


Buatlah sebuah diagram alir atau pseudocode dari proses berikut.
Sebuah mesin pembayaran otomatis
dirancang untuk mampu menangani
pembayaran pembelian bakso secara
mandiri. Mesin ini mampu untuk
memberikan kembalian dalam bentuk
uang kertas atau uang logam. Mesin
akan menerima dua buah masukan,
yaitu total bayar dan jumlah uang yang
dibayarkan oleh pelanggan. Apabila
jumlah uang yang dibayarkan lebih besar atau sama dengan total bayar, mesin
akan menghitung kembalian yang harus diberikan kepada pelanggan. Apabila
terjadi sebaliknya, mesin akan menampilkan teks “Uang yang dibayarkan
kurang”.
Setelah diagram alir selesai, kalian dapat menelusurinya dengan
menggunakan kasus berikut.

146 Informatika SMA Kelas X


Kasus Masukan Keluaran
1 Total Bayar: 10000 5000
Jumlah Uang: 15000
2 Total Bayar: 20000 Uang yang dibayarkan
Jumlah Uang: 10000 kurang.

Soal 2: Hadiah Bakso Gratis (Tingkat Kesulitan: )


Kalian adalah pengusaha bakso yang sukses. Agar usaha bakso kalian bisa
lebih berkembang, kalian berencana untuk menambah sentuhan teknologi
sehingga beberapa proses dapat berjalan secara otomatis. Inovasi yang
kalian pikirkan ialah menggunakan sistem poin untuk memberikan diskon
pada pelanggan. Poin ini akan diberikan pada saat pelanggan membayar di
mesin pembayaran yang akan kalian buat. Setiap membayar, pelanggan akan
menerima poin senilai harga bakso yang ia beli. Apabila total poin mencapai
100.000, pelanggan akan menerima satu porsi bakso gratis.
Kalian lalu memikirkan suatu proses berikut: setelah memesan bakso,
pelanggan dapat membayar dengan menggunakan ponsel miliknya. Kemudian,
mesin tersebut menambahkan total pembayaran ke total poin yang saat ini
dimiliki oleh pelanggan. Apabila total poin yang dimiliki pelanggan lebih besar
dari 100.000, mesin akan mengeluarkan kalimat “Anda mendapatkan kupon
bakso gratis” dan mengurangi total poin pelanggan dengan nilai 100.000.
Setelah itu, mesin akan menampilkan total poin pelanggan saat ini.
Setelah diagram alir selesai, kalian dapat menelusurinya dengan menggunakan
kasus berikut.
Kasus Masukan Keluaran
1 Total Pembayaran: 80000 Poin Anda saat ini: 90000
Total Poin Pelanggan Saat Ini: 10000
2 Total Pembayaran: 20000 Anda mendapatkan kupon
Total Poin Pelanggan Saat Ini: 90000 bakso gratis!
Poin Anda saat ini: 10000

Jawablah pertanyaan berikut dalam Lembar Releksi pada Buku Kerja, dan
jangan lupa mencatat kegiatan dalam Jurnal.
1. Apakah kalian merasa bahwa membuat algoritma dapat mempermudah
kalian dalam menyelesaikan masalah?
2. Menurut kalian, kapan kalian akan menggunakan diagram alir dan kapan
kalian akan menggunakan pseudocode? Mana yang paling mudah untuk
kalian gunakan? Apa kelebihan dan kekurangan dari setiap pendekatan
tersebut yang kalian rasakan?

Bab 7 Algoritma dan Pemrograman 147


3. Setelah ini, apa yang akan kalian lakukan untuk bisa membaca dan
menulis algoritma dengan baik?
4. Pelajaran paling berkesan apa yang kalian dapatkan dari pertemuan ini?

B. Bahasa Pemrograman Prosedural


Belajar bahasa pemrograman sama halnya dengan belajar bahasa apa pun,
dimulai dengan secara intuitif mengenal dan langsung memakai bahasa
tersebut untuk keperluan sehari-hari yang penting sesuai kebutuhan, bukan
dari teori bahasa. Seseorang dengan bahasa ibu bahasa Indonesia, saat belajar
bahasa Inggris, akan mulai mengenal bahasa Inggris melalui “membaca”
contoh-contoh kalimat sederhana yang sangat diperlukan dalam kehidupan
sehari-hari, seperti mulai menyapa “Selamat pagi.”, “Jam berapa?”. Melalui
contoh tersebut, ia akan belajar kosakata penting dan pola kalimat, misalnya
kalimat pernyataan SPOK (Subjek, Predikat, Objek, Keterangan); struktur
kalimat tanya, kalimat aklamasi, dan lain-lain. Selanjutnya, baru beranjak
ke konsep yang lebih kompleks yang ada pada bahasa asing tersebut dan
mengenal tata bahasa secara lebih formal dan mulai menulis.
Belajar pemrograman pada hakikatnya sama dengan belajar bahasa natural
(bahasa manusia sehari-hari): seseorang belajar dari “membaca” program terlebih
dulu, daripada “menulis” kode program. Proses menulis kode (coding) dapat dimulai
setelah kalian membaca contoh-contoh program yang menjadi pola pembangun
program kompleks. Bedanya dengan belajar bahasa natural, teks dalam bahasa
pemrograman yang ditulis bukan dilafalkan dan dipahami sebagai teks “statis”,
melainkan juga dapat dipahami oleh mesin dan dapat dieksekusi (dijalankan).
Terdapat banyak bahasa pemrograman, dan setiap
bahasa memiliki paradigma, keunggulan, tantangan
masing-masing. Pada unit ini, kalian diperkenalkan
pada bahasa pemrograman C yang merupakan
salah satu bahasa pemrograman prosedural. Saat
mempelajari bahasa C pada unit ini di kelas X, kalian
akan mempelajari empat elemen generik, yaitu
variabel, ekspresi, struktur kontrol keputusan, dan
struktur kontrol perulangan (Gambar 7.2). Empat
elemen ini berlaku di semua bahasa pemrograman
prosedural lainnya. Teks kode program dalam
bahasa-bahasa pemrograman lain banyak yang
Gambar 7.2 Elemen Generik dari mirip dengan teks bahasa C.
Bahasa Pemrograman Prosedural
Oleh karena itu, kalian perlu menyadari bahwa
Sumber: Dokumen Kemendikbud, 2021
unit ini tidak dibuat hanya agar kalian menguasai
pemrograman dengan bahasa C, tetapi bagaimana
kalian dapat menggunakan keempat elemen dasar
tersebut dalam membuat suatu program.

148 Informatika SMA Kelas X

Anda mungkin juga menyukai