0% menganggap dokumen ini bermanfaat (0 suara)
39 tayangan39 halaman

Modul Algoritma dan Pemrograman SMA

Diunggah oleh

sopi
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
39 tayangan39 halaman

Modul Algoritma dan Pemrograman SMA

Diunggah oleh

sopi
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

1

2
Modul 2
ALGORITMA DAN PEMROGRAMAN

Pengarah:
Direktur Guru Pendidikan Menengah dan Pendidikan Khusus
Direktorat Jenderal Guru dan Tenaga Kependidikan
Kementerian Pendidikan, Kebudayaan, Riset, dan Teknologi
Putra Asga Elevri

Penyusun:
Dr. Inggriani Liem
Irya Wisnubhadra, S.T., M.T., IPM.
Prof. Dr. Ir. Mewati Ayub, M.T.
Paulina Heruningsih Prima Rosa, [Link]., [Link].
Vania Natali, [Link]., M.T.
Layout/desain:
Irwan Kustiawan
Mohamad Nurhidayat Mursalin
Dimas Adi Nugraha

Diterbitkan oleh Direktorat Jenderal Guru dan Tenaga Kependidikan


Hak Cipta ©2023
Direktorat Jenderal Guru dan Tenaga Kependidikan
Kementerian Pendidikan, Kebudayaan, Riset, dan Teknologi

Hak cipta dilindungi undang-undang. Dilarang menyalin sebagian atau keseluruhan isi
buku ini untuk kepentingan komersial tanpa izin tertulis dari Kementerian Pendidikan,
Kebudayaan, Riset, dan Teknologi.

i
ii
KATA PENGANTAR
Integrasi teknologi digital ke dalam kehidupan masyarakat dan memicu perubahan besar
dalam hampir semua aspek hidup dan kehidupan manusia. Perubahan ini mendorong
berbagai aktivitas manusia seperti cara berpikir untuk pemecahan masalah, pencarian
rekomendasi, penyusunan rencana dan proses pengambilan keputusan serta berbagai
aktfitas sederhana seperti prediksi cuaca sampai dengan mencari bahan ajar hampir
dipastikan melibatkan teknologi digital. Perkembangan teknologi digital yang bergerak
dengan skema percepatan, telah membuka peluang untuk membangun, memperbaiki
serta meningkatkan jangkauan pada berbagai bidang khususnya pendidikan. Jangkaun
luas ini perlu dicermati dan direspon dengan baik untuk mendapatkan manfaat dan
keuntungan maksimal bagi Pendidikan yang dinamis terhadap perubahan, agar mampu
menginisiasi perubahan ilmu pengetahuan dan teknologi.
Kurikulum sebagai inti dari proses pendidikan selalu menyesuaikan dengan perubahan
aktual dan mengantisipasi potensi perubahan yang akan terjadi pada masa mendatang.
Perkembangan teknologi informasi yang semakin pesat berimplikasi pada semakin
pentingnya penguasaan kompetensi peserta didik mengenai informatika. Mata
Pelajaran Informatika dalam Kurikulum Merdeka merupakan jawaban atas pentingnya
pengembangan kompetensi peserta didik terkait dengan pemanfaatan teknologi digital.
Mata Pelajaran Informatika mengembangkan kemampuan peserta didik dalam berpikir
komputasional yang merupakan kemampuan memecahkan masalah sekaligus
meningkatkan kemampuan peserta didik dalam berpikir sistematis dan logis, serta
kemampuan lain yang menjadi sasaran mata pelajaran Informatika adalah kemampuan
memahami lingkungan periksa data, pengamanan, pengembangan budaya dan etika di
ruang digital, kemudian kemampuan analisis dan interpretasi data sampai dengan
kemampuan untuk menerapkan algoritma pemograman sederhana.
Penetapan Mata Pelajaran Informatika dalam Kurikulum Merdeka perlu didukung
dengan penyiapan kompetensi guru yang mengampu mata pelajaran tersebut.
Bimbingan Teknis (Bimtek) merupakan salah satu kegiatan yang dapat dilakukan untuk
meningkatkan kompetensi guru Mata Pelajaran Informatika. Kegiatan bimtek ini
diharapkan para guru dapat meningkatkan pemahaman kebijakan Kurikulum Merdeka,
menguasai pengetahuan konten Ilmu Informatika, implementasi berpikir aras tinggi
(High Order Thinggking Skill/HOTS) sampai dengan memahami TPACK (Technological
Pedagogical Content Knowledge) dalam pembelajaran Informatika.
Direktorat Guru Pendidikan Menengah dan Pendidikan Khusus, Direktorat Jenderal Guru
dan Tenaga Kependidikan, telah menyelesaikan Modul bimtek Peningkatan Kompetensi
Guru Informatika jenjang SMA yang terdiri dari 4 modul yaitu:
• Modul 1: Keilmuan Informatika, Literasi Digital, dan Berpikir Komputasional
• Modul 2: Penguatan Kompetensi Elemen Informatika- Algoritma Pemograman
• Modul 3: Penguatan Kompetensi Elemen Informatika-Analisis Data
• Modul 4: Penerapan HOTS dan TPACK dalam Pembelajaran Informatika

i
Modul tersebut digunakan dalam pelaksanaan Bimtek Peningkatan Kompetensi Guru
Informatika jenjang SMA. Berjalannya kegiatan bimtek dengan baik, semoga optimal
dalam meningkatkan substansi kompetensi profesional keilmuan Informatika serta
kompetensi pedagogik, teknis, kepribadian dan sosial guru yang relevan dengan Mata
Pelajaran Informatika.
Ucapan terima kasih kami sampaikan kepada semua pihak yang telah terlibat dalam
penyusunan modul ini. Semoga dengan diluncurkannya modul-modul ini, percepatan
peningkatan kompetensi guru Informatika jenjang SMA secara bersama-sama dapat kita
wujudkan.

Jakarta, November 2023


Direktur Guru Pendidikan Menengah
dan Pendidikan Khusus

Putra Asga Elevri, [Link]., [Link].


NIP. 197801282001121004

ii
PRAKATA
Modul AP (Algoritma dan Pemrograman) ini adalah modul yang digunakan untuk
membantu guru pada BIMTEK Informatika untuk memahami elemen Algoritma dan
Pemrograman pada mapel Informatika fase E Kurikulum Merdeka.
Modul ini ditulis secara modular, yang terdiri dari:
a. Bagian 1 yang menjelaskan deskripsi umum dan pedagogi pembelajaran AP
b. Bagian 2 yang menjelaskan materi AP yang dilengkapi dengan unit-unit
pembelajaran. Unit-unit pembelajaran tersebut memuat pembelajaran sesuai
dengan cakupan tertentu, diantaranya adalah unit bahasa algoritma dan kartu
ALGO, dan unit pilihan yang harus dipilih salah satu saja, yaitu unit pembelajaran
bahasa Python, Pascal, dan bahasa C.

iii
DAFTAR ISI

A. Deskripsi Umum Modul ................................................................................................. 1


A.1. Tujuan pembelajaran ........................................................................................... 1
A.2. Indikator Capaian Pembelajaran .......................................................................... 1
A.3. Pokok bahasan...................................................................................................... 1
A.4. Alur pembelajaran ................................................................................................ 1
B. Algoritma dan Pemrograman dalam Mata Pelajaran Informatika Fase E .................... 3
B.1. Capaian Pembelajaran (CP) Elemen Algoritma dan Pemrograman pada akhir
fase E .................................................................................................................... 3
B.2. Peta Konsep Elemen Algoritma dan Pemrograman Fase E .................................. 4
B.3. Deskripsi Ringkas Konsep ..................................................................................... 4
C. Pedagogi Pembelajaran Algoritma dan Pemrograman Fase E ...................................... 5
C.1. Moda Pembelajaran Algoritma dan Pemrograman ............................................. 5
C.2. Membaca Program Sebelum Menulis Program ................................................... 8
D. Pengantar Algoritma dan Pemrograman .................................................................... 10
D.1. Program dan Bahasa Pemrograman .................................................................. 13
D.2. Flowchart ............................................................................................................ 16
D.2.1. Membaca dan menelusuri program dalam flowchart ........................... 19
D.2.2. Program dalam bahasa pemrograman Visual Scratch dan flowchart .... 21
D.3. Bahasa Algoritma dan Pseudocode .................................................................... 22
D.3.1. Bahasa ALGO .......................................................................................... 23
D.3.2. Kartu ALGO ............................................................................................. 23
D.4. Translasi bahasa ALGO ke bahasa pemrograman prosedural tekstual .............. 24
D.5. Perbandingan Bahasa Algoritma dan Bahasa Pemrograman Komputer ........... 24
D.5.1. Perbandingan Algoritma dan Flowchart ................................................ 24
D.5.2. Perbandingan Program dalam bahasa Algoritma dengan Program dalam
Bahasa Prosedural Tekstual ................................................................... 25

iv
BAGIAN 1
DESKRIPSI UMUM DAN PEDAGOGI

v
A. Deskripsi Umum Modul
A.1. Tujuan pembelajaran
1. Peserta Bimtek memahami konsep dasar algoritma dan pemrograman.
2. Peserta Bimtek mampu menulis program untuk menyelesaikan persoalan
tertentu.
3. Peserta Bimtek mampu mengembangkan proyek program tekstual dengan
pseudocode dan bahasa pemrograman untuk menyelesaikan kasus
sederhana.
A.2. Indikator Capaian Pembelajaran
1. Peserta Bimtek mampu menjelaskan pengertian Algoritma dan
Pemrograman.
2. Peserta Bimtek mampu menyusun program sederhana dengan
menggunakan pseudocode atau kartu ALGO
3. Peserta Bimtek mampu menulis program sederhana dengan menggunakan
salah satu bahasa pemrograman yang dipilih (Python, Pascal, atau C)
4. Peserta Bimtek mampu mengembangkan proyek program tekstual bahasa
pemrograman untuk menyelesaikan kasus sederhana.
5. Peserta Bimtek mampu memprediksi luaran program sederhana dari tiga
bahasa pemrograman yang unitnya disediakan pada Bimtek ini.
A.3. Pokok bahasan
1. Pengantar Algoritma dan Pemrograman
2. Bahasa Pemrograman untuk manusia
a. Flowchart
b. Bahasa Algoritma
c. Pseudocode
3. Bahasa pemrograman prosedural tekstual dengan komputer
a. Translasi Bahasa Algoritma ke Python dan contoh program nya
b. Translasi Bahasa Algoritma ke Pascal dan contoh program nya
c. Translasi Bahasa Algoritma ke C dan contoh program nya
4. Perbandingan Bahasa Algoritma dan Bahasa Pemrograman Komputer
A.4. Alur pembelajaran
Alur pembelajaran modul Algoritma dan Pemrograman Fase E menggunakan
model Marzano yang dijelaskan pada tabel 2.1. berikut.

Tabel 2.1. Alur pembelajaran Algoritma dan Pemrograman


Dimensi Belajar Aktivitas Moda JP

Memperoleh dan 1. Peserta Bimtek membaca materi dan Asinkron 1


mengintegrasikan berlatih membuat program yang diberikan
pengetahuan secara mandiri.
2. Peserta Bimtek mengerjakan kuis di LMS

1
Dimensi Belajar Aktivitas Moda JP

untuk mengevaluasi pemahaman atas


materi yang dibaca.
3. Kuis akan dinilai dan dianalisis hasilnya
secara otomatis oleh LMS.
4. Peserta Bimtek menuliskan pertanyaan
dari materi yang belum dipahami di LMS

Pengetahuan Setiap peserta Bimtek berdiskusi dengan Sinkron 2


diperluas dan peserta bimtek lain dan narasumber untuk
disempurnakan klarifikasi dan memperdalam pengetahuan
terkait materi Algoritma Pemrograman yang
sudah dibaca atau latihan yang sudah
dilakukan.
Langkah:
1. Narasumber membuka pertemuan dan
memaparkan hasil analisis pengerjaan
kuis.
2. Narasumber memberikan penjelasan atas
pokok-pokok materi yang diidentifikasi
belum dipahami oleh peserta bimtek
berdasar hasil pengerjaan kuis dan forum
diskusi.

Menggunakan Peserta Bimtek melakukan demonstrasi Asinkron 1


pengetahuan merancang solusi terkait permasalahan pada
secara bermakna materi Algoritma Pemrograman Fase E
Langkah:
1. Narasumber mengatur pembagian
kelompok. Tujuan dari tugas ini adalah
agar para peserta membiasakan diri
membuat program bersama. Membuat
program tidak cukup dilakukan dengan
‘menonton’ orang lain membuat program.
Karena alasan tersebut, terdapat dua
alternatif pembagian kelompok:
a. Kondisi ideal: kelompok terdiri dari dua
orang agar tetap bisa berdiskusi dan
keduanya bisa bergantian membuat
program.
b. Kondisi kurang ideal: kelompok terdiri
dari lima orang anggota. Risiko yang
dihadapi adalah ada anggota yang
tidak mencoba berlatih membuat
program karena program yang diminta
tidak cukup besar untuk dikerjakan
oleh lima orang.
2. Peserta membaca deskripsi masalah yang
perlu diselesaikan.
3. Peserta merancang algoritma untuk

2
Dimensi Belajar Aktivitas Moda JP

menyelesaikan masalah.
4. Peserta mengimplementasikan rancangan
algoritma pada kakas yang ditentukan.

Peserta Bimtek berdiskusi dengan narasumber Sinkron 3


terkait dengan berbagai permasalahan yang
belum dipahami terkait materi Algoritma dan
Pemrograman.
Langkah:
1. Narasumber membuka pertemuan dan
mempersilahkan kelompok untuk
mempresentasikan hasil kerjanya.
2. Narasumber menanggapi presentasi
kelompok.
3. Narasumber menilai hasil kerja kelompok
melalui LMS, jika penilaian tidak selesai
dilakukan pada saat presentasi.

B. Algoritma dan Pemrograman dalam Mata Pelajaran Informatika Fase E


Dalam Kurikulum Merdeka Fase E, pada Mata Pelajaran Informatika, diperkenalkan
dasar-dasar dari pemrograman baik secara plugged (menggunakan komputer) dan
unplugged (tanpa menggunakan komputer). Kakas yang digunakan adalah bahasa
pemrograman tekstual yang dapat dipilih sesuai dengan kondisi satuan pendidikan
dan guru. Bahasa pemrograman yang direkomendasikan diantaranya adalah bahasa
Pascal, Python, dan C.
Algoritma dan pemrograman terkait dengan analisis data, karena program sendiri
adalah algoritma dan data. Program membutuhkan masukan berupa data yang
diolahnya, yang dalam bahasa pemrograman data direpresentasikan dalam variabel.
B.1. Capaian Pembelajaran (CP) Elemen Algoritma dan Pemrograman pada akhir
fase E
CP elemen Algoritma dan Pemrograman (AP) menentukan bahwa pada akhir
fase E peserta didik mampu menerapkan praktik baik konsep pemrograman
prosedural dalam salah satu bahasa pemrograman prosedural dan mampu
mengembangkan program yang terstruktur dalam notasi algoritma atau notasi
lain, berdasarkan strategi algoritmik yang tepat.

3
B.2. Peta Konsep Elemen Algoritma dan Pemrograman Fase E

Gambar 2. 1 Peta Konsep Algoritma dan Pemrograman Fase E

Semua Konsep Pemrograman (core concept) pada Gambar 2.1. perlu


dipraktekkan (core practices), sesuai dengan kerangka Informatika yang sudah
baku.

B.3. Deskripsi Ringkas Konsep


Deskripsi ringkas dari konsep yang dipaparkan pada peta konsep diberikan
pada Tabel 2.2

Tabel 2. 2 Deskripsi Ringkas Peta Konsep Algoritma dan Pemrograman fase E

No Konsep Deskripsi ringkas Tools

1. Bahasa Pemrograman Pada materi ini dipelajari Tanpa tools


untuk manusia: konsep algoritma dan
a. Flowchart pemrograman, notasi
b. Bahasa Algoritma: flowchart, bahasa algoritma,
bahasa ALGO dan pseudocode. Moda
c. Pseudocode pemrograman unplugged
dengan kartu ALGO diberikan
sebagai contoh aktivitas
belajar. Contoh kasus
penyelesaian persoalan
dengan flowchart, dan
bahasa ALGO diberikan

2. Bahasa Pemrograman Konsep ini dibahas sebagai Salah satu


prosedural dan tekstual moda pemrograman plugged bahasa
(*): dengan menggunakan pemrograman
a. Translasi Bahasa beberapa bahasa prosedural yang dipilih
Algoritma ke Python tekstual. Translasi dari guru, a.l. :
dan contoh program pendekatan unplugged Bahasa
nya (bahasa ALGO) ke bahasa pemrograman
b. Translasi Bahasa pemrograman dipelajari Python,
Algoritma ke Pascal secara bermakna. Pascal, dan C

4
No Konsep Deskripsi ringkas Tools

dan contoh
programnya
c. Translasi Bahasa
Algoritma ke C dan
contoh programnya

3 Perbandingan Bahasa Peserta mendapatkan Tanpa tools


Algoritma dan Bahasa gambaran umum
Pemrograman Komputer perbandingan (kesamaan dan
perbedaan) bahasa Algo
dengan Bahasa Pemrograman
prosedural tekstual yang saat
ini tersedia dan banyak
dipakai untuk pendidikan
menengah.

C. Pedagogi Pembelajaran Algoritma dan Pemrograman Fase E


C.1. Moda Pembelajaran Algoritma dan Pemrograman
Pembelajaran materi AP dapat disampaikan dengan menggunakan pendekatan
plugged maupun unplugged. Pendekatan unplugged berbasis tekstual dapat
menggunakan kartu ALGO, sedangkan pendekatan plugged dapat
menggunakan bahasa pemrograman yang dipilih seperti Python, Pascal, dan C.
Perbedaan moda pembelajaran secara ringkas dapat dilihat pada tabel 2.3.
berikut:
Tabel 2.3. Karakteristik pendekatan pembelajaran plugged dan unplugged

Aspek Moda pembelajaran plugged Moda pembelajaran unplugged

Kebutuhan Komputer/ponsel Unplugged tekstual dapat


Sarana Internet (opsional) menggunakan kartu dimana
Integrated Development proses eksekusi dan “otomasi”
Environment (IDE) dilakukan oleh manusia.
Bahasa Pemrograman yang
dipilih

Kelebihan 1. Praktik langsung: Dengan 1. Memungkinkan peserta


menggunakan didik untuk fokus pada
komputer/ponsel, peserta pemahaman konsep dasar
didik dapat langsung berlatih pemrograman tanpa harus
menulis, menjalankan, dan khawatir tentang sintaks
menguji blok program secara tertentu atau masalah teknis
real-time. Mereka dapat lainnya yang mungkin
melihat hasil dari apa yang muncul pada komputer.
telah mereka tulis dan segera 2. Interaksi langsung: Peserta
melihat apakah kode didik dapat berinteraksi

5
Aspek Moda pembelajaran plugged Moda pembelajaran unplugged

tersebut berhasil atau ada langsung dengan materi


kesalahan yang perlu pelajaran melalui aktivitas
diperbaiki. fisik seperti permainan,
2. Lingkungan nyata: Melalui teka-teki, dan latihan
metode plugged, peserta lainnya. Ini dapat
didik akan terbiasa dan akrab meningkatkan keterlibatan
dengan lingkungan dan memudahkan
pemrograman yang pemahaman konsep yang
sesungguhnya. Mereka dapat sulit.
mengenal berbagai alat dan 3. Tidak memerlukan
lingkungan pengembangan perangkat keras atau
(IDE) yang digunakan dalam internet: Metode ini cocok
industri dan memahami cara untuk lingkungan di mana
mengelola proyek secara akses ke perangkat keras
profesional. atau internet terbatas atau
3. Akses ke sumber daya dan tidak tersedia sama sekali.
konten online: Internet 4. Kelompok belajar: Metode
memberikan akses tak unplugged memungkinkan
terbatas ke berbagai sumber kerjasama dalam kelompok
daya dan tutorial belajar. Peserta didik dapat
pemrograman. Ini berkolaborasi, berbagi ide,
memungkinkan peserta didik dan saling membantu dalam
untuk memperdalam memecahkan masalah.
pengetahuan mereka 5. Memadukan pemrograman
tentang berbagai bahasa dengan kegiatan lain:
pemrograman, konsep, dan Kegiatan unplugged sering
framework yang relevan. dapat diintegrasikan dengan
4. Kolaborasi dan pembelajaran berbagai bidang lain, seperti
daring: Dengan belajar matematika, bahasa, dan
secara online, peserta didik seni, sehingga belajar
dapat berinteraksi dengan pemrograman menjadi lebih
komunitas pemrograman menyenangkan dan
global. Mereka dapat kontekstual.
berpartisipasi dalam forum,
grup, dan platform
pembelajaran daring untuk
berbagi pengetahuan,
memecahkan masalah, dan
belajar dari orang lain.

Tantangan 1. Ketergantungan teknologi: 1. Keterbatasan implementasi:


Belajar secara plugged Tanpa menggunakan
mengharuskan akses ke komputer, peserta didik
perangkat komputer dan tidak dapat melihat
internet. Tidak semua orang bagaimana konsep
mungkin memiliki akses yang pemrograman diterapkan
konsisten atau memadai ke dalam lingkungan dunia
perangkat dan konektivitas nyata. Keterbatasan ini bisa
internet, sehingga dapat menjadi tantangan ketika

6
Aspek Moda pembelajaran plugged Moda pembelajaran unplugged

menjadi hambatan untuk memindahkan pengetahuan


belajar. ke proyek atau aplikasi nyata
2. Distractions dan di dunia maya.
ketergantungan pada 2. Pengujian kode: Metode
bantuan online: Penggunaan unplugged tidak
komputer dan internet juga memungkinkan peserta
membuka pintu bagi didik untuk menguji kode
distraksi seperti media sosial program secara langsung di
dan hiburan online, yang komputer. Sehingga mereka
dapat mengganggu fokus tidak dapat melihat
belajar. Selain itu, bagaimana kode tersebut
ketergantungan pada berperilaku saat program
bantuan online juga dapat dijalankan dalam realitas
membuat peserta didik digital.
cenderung "copy-paste" 3. Keterbatasan sumber daya:
solusi tanpa memahami Beberapa konsep
sepenuhnya konsep di pemrograman mungkin sulit
baliknya. dijelaskan atau dipahami
3. Kurangnya pemahaman tanpa menggunakan
konsep dasar: Dalam bantuan visual atau
beberapa kasus, peserta lingkungan pemrograman
didik mungkin terlalu yang sesungguhnya.
terfokus pada kode tertentu 4. Kemungkinan kurang
dan kurang memahami menarik bagi sebagian
konsep dasar pemrograman. peserta didik: Meskipun ada
Hal ini dapat menyebabkan banyak aktivitas kreatif yang
masalah dalam mengatasi dapat dilakukan, beberapa
tantangan yang lebih peserta didik mungkin lebih
kompleks atau masalah yang menyukai belajar secara
belum pernah dihadapi langsung di komputer
sebelumnya. karena lebih interaktif dan
4. Terlalu terpaku pada sintaks menghibur.
tertentu: Beberapa peserta 5. Tidak mencakup teknologi
didik mungkin terlalu fokus terbaru: Karena
pada mempelajari sintaks keterbatasan dalam metode
bahasa pemrograman unplugged, beberapa
tertentu, tanpa memahami konsep pemrograman yang
prinsip umum dan konsep terkait dengan teknologi
pemrograman yang dapat terbaru mungkin sulit
diterapkan di berbagai dijelaskan atau tidak dapat
bahasa. diilustrasikan sepenuhnya.
5. Keterbatasan dalam
eksplorasi fisik: Belajar
plugged seringkali lebih
bersifat virtual dan kurang
berfokus pada interaksi fisik.
Beberapa konsep
pemrograman mungkin lebih
mudah dipahami melalui

7
Aspek Moda pembelajaran plugged Moda pembelajaran unplugged

metode unplugged atau


kegiatan fisik.

Pengemban Materi plugged lebih mudah Seringkali unplugged dianggap


gan Materi dikembangkan karena solusi manjur untuk mengatasi
ajar pembuktian kebenaran ketiadaan fasilitas pemroses
program dapat dilakukan program (kompiler, interpreter
dengan bantuan mesin atau [Link]
materi unplugged memerlukan
kemampuan perancang
pembelajaran untuk
memindahkan konsep plugged
ke unplugged.

Kesimpulan
Meskipun belajar pemrograman cara unplugged memiliki kelebihan dalam hal
pemahaman konsep dasar dan interaksi langsung, tidak bisa dipungkiri bahwa
metode ini memiliki keterbatasan, terutama ketika mencoba menghubungkannya
dengan dunia pemrograman yang sebenarnya di komputer. Oleh karena itu,
metode unplugged sebaiknya digunakan sebagai tambahan atau pendekatan awal
sebelum beralih ke lingkungan pemrograman yang sesungguhnya

Pembelajaran Pemrograman yang ideal mengkombinasikan plugged dan


unplugged, bukan hanya salah satu saja. Kedua moda pembelajaran ini saling
melengkapi satu sama lain: pemahaman konsep dan kemampuan membaca
program dibumikan lewat unplugged, realisasi produk dengan plugged untuk
menguji apakah program dapat dieksekusi dengan benar sesuai spesifikasi dan
sejumlah kasus uji.

C.2. Membaca Program Sebelum Menulis Program


Belajar membaca program sebelum menulis atau membuat program adalah
langkah yang dianjurkan dalam belajar pemrograman, sama seperti ketika
belajar menulis kata atau kalimat saat sekolah dasar. Membaca program
dilakukan untuk memahami dan membaca program-program yang sudah ada
sebelum mencoba menulis atau menyusun program sendiri.
Membaca bermakna contoh program yang benar, yang ditulis dengan baik
sangat penting dalam proses pembelajaran pemrograman, karena memiliki
manfaat sebagai berikut:
1. Memahami struktur program: Dengan membaca program yang sudah ada,
kita akan terbiasa dengan bahasa pemrograman yang digunakan serta
memahami bagaimana kode diorganisir dan diatur. Ini akan membantu kita
dalam menyusun kode yang lebih baik dan lebih terstruktur.
2. Memahami algoritma dan logika: Banyak program yang sudah ada
menerapkan algoritma dan logika tertentu untuk menyelesaikan masalah
tertentu. Dengan membaca kode-kode ini, kita dapat memahami

8
bagaimana algoritma dan logika program bekerja dan memperoleh
wawasan tentang bagaimana menyelesaikan masalah dengan cara yang
tepat.
3. Belajar dari praktik baik: Melalui membaca program orang lain, kita dapat
mengetahui praktik baik dalam menyelesaikan masalah dan memahami
prinsip-prinsip desain yang baik. Kita dapat mengamati pola-pola yang baik
dan menerapkannya dalam kode kita sendiri.
Tapi perlu diingat, bahwa membaca program dari orang lain hanyalah langkah
awal dalam pembelajaran. Selanjutnya, diperlukan latihan secara aktif dengan
menyusun atau menulis kode sendiri untuk mengasah kemampuan
pemrograman. Melalui kombinasi membaca dan menulis, pemahaman yang
lebih kuat tentang pemrograman dapat terbangun dan pemrogram menjadi
lebih terampil.

9
BAGIAN 2
MATERI ALGORITMA DAN PEMROGRAMAN

10
Struktur materi dalam modul ini
Struktur materi pada bagian 2 modul AP mapel Informatika dijelaskan pada tabel 2.4.
berikut ini.
Tabel 2.4. Struktur materi

No Unit Pembelajaran Deskripsi

1 Materi utama AP Berisi pengantar AP, Program dan Bahasa Pemrograman,


Flowchart, bahasa algoritma dan pseudocode.

2 Bahasa Algoritma ALGO Berisi penjelasan lebih rinci dari bahasa algoritma ALGO dan
dan kartu ALGO kartu ALGO.

3 Translasi Algoritma ke Berisi translasi bahasa algoritma ke bahasa pemrograman


Python Python

4 Translasi Algoritma ke Berisi translasi bahasa algoritma ke bahasa pemrograman


Pascal Pascal

6 Translasi Algoritma ke C Berisi translasi bahasa algoritma ke bahasa pemrograman C

D. Pengantar Algoritma dan Pemrograman


Bapak/Ibu guru, apakah anda pernah menuliskan sebuah “program”? Mungkin
sebagian menjawab pernah, sebagian menjawab tidak pernah. Berdasarkan Kamus
Besar Bahasa Indonesia (KBBI), arti kata program adalah “rancangan mengenai asas
serta usaha (dalam ketatanegaraan, perekonomian, dan sebagainya) yang akan
dijalankan”. Dengan demikian, disadari atau tidak, RPP adalah salah satu bentuk
program. Saat RPP tersebut diselenggarakan, Bapak/Ibu Bersama para peserta didik
sedang mengeksekusi program tersebut.
Dalam kaitannya dengan komputer, KBBI mengartikan program sebagai “urutan
perintah yang diberikan pada komputer untuk membuat fungsi atau tugas tertentu”.
Arti kata “Algoritma” berdasarkan KBBI adalah “prosedur sistematis untuk
memecahkan masalah matematis dalam langkah-langkah terbatas” atau “urutan
logis pengambilan keputusan untuk pemecahan masalah”. Berdasarkan arti dari kata
algoritma dan pemrograman, dapat dilihat bahwa keduanya memiliki kemiripan,
yaitu terkait dengan langkah-langkah atau rencana untuk hal tertentu. Ketika
langkah-langkah tersebut dieksekusi (dijalankan) oleh komputer, disebut sebagai
program komputer.
Pada saat menghadapi persoalan, manusia perlu memikirkan cara untuk
menyelesaikannya. Penyelesaian tersebut dapat berupa langkah-langkah kerja. Jika
perlukan perlu ada orang lain yang memastikan kebenaran langkah-langkah
tersebut. Langkah-langkah penyelesaian persoalan tersebut dapat disebut sebagai
algoritma (Maresha [Link]., 2021). Istilah algoritma dicetuskan oleh seorang ahli
matematika bernama Mohammad bin Musa al-Khwarizmi (780–850). Algoritma
dapat disajikan dalam beberapa bentuk, yaitu teks, flowchart, atau pseudocode

10
(format teks yang menyerupai kode program). Bagi siswa kelas VII-IX, langkah-
langkah penyelesaian persoalan cukup dituliskan dalam bentuk kalimat atau
flowchart. Jika algoritma penyelesaian persoalan tersebut akan dilakukan oleh
manusia, maka manusia dapat langsung mengerjakannya. Namun, jika algoritma
tersebut akan dikerjakan oleh komputer, maka diperlukan proses untuk
mengkonversi langkah-langkah tersebut menjadi bentuk yang dapat dipahami oleh
komputer.
Saat ini, komputer tidak dapat berpikir sendiri. Komputer hanya menjalankan
perintah yang diberikan kepadanya atau yang sudah tersimpan dan siap dijalankan.
Komputer memerlukan manusia untuk memberi serangkaian instruksi yang
diperintahkan untuk mengetahui apa yang harus dilakukan. Perintah yang dipahami
oleh komputer disebut sebagai 'kode'. Algoritma akan diterjemahkan menjadi kode
program untuk memberikan urutan instruksi pada perangkat komputer dalam
proses yang disebut coding (pembuatan kode program). Sedangkan pemrograman
adalah proses mengembangkan solusi dari sebuah persoalan sampai dengan
membuat program atau perangkat lunak komputer, atau disebut juga sebagai
software. Penjelasan lebih lengkap mengenai algoritma dan pemrograman dapat
Anda baca Buku Informatika kelas VII Bab 7.
Kesadaran Global akan Pentingnya Pembelajaran dalam Dunia Digital dan
Informatika
PISA (Programme for International Student Assessment) Test adalah salah satu
standar yang digunakan untuk mengukur tingkat Pendidikan pada negara-negara
yang mengikuti PISA Test tersebut. Pada tahun 2025, fokus dari PISA Test adalah
Learning in Digital World (pembelajaran dalam dunia digital). Latar belakang berikut
disadur dari situs PISA Test ([Link]
world/):
Apa itu Belajar di Dunia Digital dan bidang Informatika?
Teknologi pendidikan dapat mengubah cara siswa belajar karena menawarkan
kesempatan baru untuk mengeksplorasi fenomena yang kompleks dan untuk
membuat representasi digital dari ide-ide mereka yang dapat mereka utak-atik dan
bagikan dengan orang lain. Namun, sampai saat ini, perhatian yang diberikan untuk
mengajarkan keterampilan dasar dan sikap yang perlu dikembangkan siswa agar
menjadi pengguna teknologi yang aktif dan mandiri untuk menghadapi masalah
dunia nyata yang terbuka masih dipandang belum cukup.
Penilaian PISA 2025 Learning in the Digital World berfokus pada dua kompetensi
yang penting untuk pembelajaran dengan memanfaatkan teknologi:
1. pembelajaran mandiri, yang mengacu pada pemantauan dan kontrol proses
metakognitif, kognitif, perilaku, motivasi, dan afektif seseorang saat belajar; dan
2. praktik inkuiri komputasional dan ilmiah, yang mengacu pada kapasitas untuk
menggunakan perangkat digital untuk menjelajahi sistem, merepresentasikan
ide, dan memecahkan masalah dengan logika komputasional.

11
Mengapa pemrograman menjadi kompetensi penting peserta didik abad ke-21,
khususnya dalam mata pelajaran informatika?
Seiring kemajuan teknologi, khususnya
Teknologi Informasi dan Teknologi Digital, “Everyone in this country
semakin penting bagi kaum muda untuk siap should learn how to program
mengambil bagian dalam generasi di mana because it teaches you how to
komputer memainkan peran yang semakin think” – Steve Jobs
meningkat dan membuat keputusan.
Meskipun tidak semua orang akan menjadi insinyur atau pengembang dalam bidang
perangkat lunak, semua bidang pekerjaan di masa depan akan semakin
membutuhkan interaksi pengguna dengan model komputasi dan realitas yang
disimulasikan, untuk memecahkan masalah dengan memanfaatkan perangkat
digital. Mengingat laju perubahan teknologi yang cepat, peserta didik saat ini harus
mengembangkan seperangkat keterampilan dan perspektif luas yang mendukung
pembelajaran seumur hidup dalam lingkungan digital baru dan asing yang belum
pernah dikenal atau dipelajarinya.
Belajar bidang Informatika penting karena sangat relevan dengan kehidupan saat ini.
Kita hidup di era digital, di mana teknologi informasi mempengaruhi hampir setiap
aspek kehidupan kita. Informatika memungkinkan kita untuk memahami,
menggunakan, dan mengembangkan teknologi ini sehingga kita dapat beradaptasi
dan berkembang di dunia yang semakin terhubung dan canggih.
Informatika mencakup banyak disiplin ilmu seperti pemrograman, analisis data,
kecerdasan buatan, keamanan siber, dan banyak lagi. Pengetahuan dan
keterampilan dalam bidang ini memainkan peran penting di berbagai bidang bisnis
dan industri, termasuk teknologi, kesehatan, keuangan, pendidikan, transportasi,
dan lain-lain.
Informatika membawa dampak baik dan buruk, mengubah cara dan menjalani
kehidupan sehari-hari seperti bekerja, berkolaborasi, berkomunikasi, berbelanja,
makan, bepergian, belajar, dan sederhananya, “hidup”. Dari seni hingga sains dan
politik, tidak ada bidang yang belum tersentuh.
Dalam dekade terakhir, kita juga menyaksikan kebangkitan disiplin ilmu yang secara
umum digambarkan sebagai “computational - X” dimana “X” berarti salah satu dari
berbagai bidang mulai dari matematika, fisika di bidang sains lainnya, sampai ke
bidang hukum dan jurnalisme. Coba ketikkan “ Computational-X” pada mesin
pencari.
Selain itu Informatika adalah basis bagi inovasi teknologi baru. Perkembangan dalam
komputer dan Teknologi Informasi dan Komunikasi serta Teknologi Digital telah
menghasilkan banyak penemuan dan perkembangan yang telah mengubah dunia
secara drastis. Jika anda ingin menjadi agen perubahan dan berkontribusi pada
kemajuan teknologi, belajar Informatika adalah kunci.

12
Dengan meningkatnya kesadaran dunia global terhadap pentingnya kemampuan
siswa untuk belajar dan beraktivitas dalam dunia digital dan bidang Informatika,
tentunya penting juga bagi dunia Pendidikan Indonesia mempersiapkan siswa/i-nya
untuk menghadapi era ini.
Salah satu materi baru pada PISA Test dengan tema dunia digital adalah materi
Pemrograman Visual yang merupakan salah satu elemen penting Informatika. Pada
modul ini, diberikan beberapa contoh soal PISA Test yang berhubungan dengan
Pemrograman agar dapat dilihat kaitannya dengan materi Algoritma dan
Pemrograman yang akan dipelajari.
Namun pertanyaan besarnya adalah: Apakah pendidikan Dasar dan Menengah saat
ini telah membekali setiap siswa dengan keterampilan yang diperlukan untuk
menjadi inovator dan pemecah masalah, atau bahkan warga negara yang
berpengetahuan, agar berhasil di dunia dengan teknologi komputasi yang luas?
Kemampuan abad ke-21 yang dirumuskan sebagai “4C’s of 21st century”, yaitu
berpikir kritis, kreatif, berkolaborasi dan berkomunikasi, perlu dilengkapi dengan C
yang ke-5, yaitu Computational Thinking, bukan Coding. Pendidikan dasar dan
menengah perlu membekali siswanya dengan kemampuan berpikir kritis, lojik,
algoritmik dan sistemik, serta menggunakan perkakas (tools) untuk menjadikan
siswanya kreator karya kreatif. Program atau aplikasi semacam games, animasi,
video, AI engine seperti Chat GPT, adalah produk dari hasil berpikir komputasional
yang diwujudkan dalam bentuk program aplikasi. Setiap ilmuwan dan insinyur
membutuhkan model bidangnya dan simulasi model tersebut dengan program
komputer. Zaman sekarang, program merupakan perkakas ampuh untuk membantu
berbagai bidang. Program tidak bisa hanya dilahirkan oleh programmer karena yang
memahami makna adalah ahli bidangnya. Ahli komputer menerjemahkan kebutuhan
para ilmuwan untk menyediakan tools yang memudahkan ilmuwan atau bahkan
praktisi (misalnya bankir) untuk memudahkan membuat program sesuai bidangnya.
Komputer hanya mampu menyajikan data dan memvisualisasi nya agar manusia
dapat menganalisis dan menginterpretasi suatu fenomena alam. Program adalah
hasil buah pikir, itu sebabnya, materi programming merupakan materi penting untuk
semua bidang, terutama untuk informatikawan.
D.1. Program dan Bahasa Pemrograman
Program atau tepatnya program komputer adalah kode sumber (source code)
yang ditulis oleh pemrogram, dengan mengacu ke aturan tata bahasa dan kosa
kata dari bahasa pemrograman yang dipilih. Program yang “benar” dapat
dieksekusi secara spesifik, dan memberikan solusi persoalan yang diprogram.
Pengembangan program meliputi analisis masalah, penentuan spesifikasi
program (Input, Output dan Proses), perancangan, pengkodean, debugging
dan testing dengan menggunakan data uji yang memenuhi spesifikasi
persoalan. Program perlu didokumentasikan (terpisah, atau dimasukkan
sebagai bagian dari kode sumber), untuk keperluan pembacaan yang mudah
dan memudahkan pemeliharaannya. Aktivitas untuk menyusun atau menulis
program tersebut dinamakan pemrograman.

13
Sebelum mulai menulis program, diperlukan proses merancang algoritma.
Algoritma membentuk dasar untuk pengkodean (mengembangkan kode)
dalam bahasa pemrograman tertentu. Pemrograman adalah implementasi
konkret dari algoritma menggunakan kosakata bahasa pemrograman seperti
Python, Pascal, C, Java, C++, dan lain-lain. Setelah merancang algoritma, kita
dapat mentranslasi algoritma tersebut menggunakan bahasa pemrograman
tertentu untuk mengubahnya menjadi program yang dapat dijalankan oleh
komputer.
Bahasa pemrograman sendiri adalah sarana untuk menyusun algoritma atau
kode program dalam bentuk yang dapat dieksekusi oleh komputer. Kode
program mengandung instruksi yang mendefinisikan apa yang harus dilakukan
oleh komputer dalam setiap langkah algoritma.
Algoritma selanjutnya dapat ditulis dalam bahasa manusia sehingga lebih
mudah dipahami dan dipelajari. Pada modul ini dikembangkan sebuah bahasa
algoritma atau pseudocode yang bernama bahasa ALGO dengan pelengkap
berupa kartu ALGO untuk berlatih algoritma dan pemrograman secara
unplugged. Penggambaran algoritma dalam bentuk visual dapat dilakukan
dengan menggunakan flowchart yang juga dibahas pada modul ini.
Selanjutnya modul ini juga dilengkapi dengan translasi bahasa algoritma ke
dalam tiga bahasa pemrograman yang dapat dipilih yaitu Python, Pascal, dan C.
Kategori Bahasa Pemrograman berdasarkan Tingkatannya
Dipandang tingkat dari keterbacaan dan eksekusinya oleh manusia, bahasa
pemrograman dapat digolongkan ke dalam bahasa Mesin, bahasa Assembly,
atau bahasa Tingkat Tinggi.
1. Bahasa Mesin ditulis dalam bentuk barisan bit 0 dan 1 (kode biner atau
kode heksadesimal) karena mesin hanya kenal kode biner. Sangat sulit,
bahkan hampir tidak mungkin untuk ditulis/dibaca oleh manusia. Biasanya
di-generate oleh fitur yang tersedia pada pemroses bahasa Assembly atau
bahasa tingkat tinggi. Bahasa Mesin sangat tergantung kepada mesinnya,
tak dapat dijalankan pada mesin yang berbeda (tidak portable). Sebuah
program dalam bahasa Mesin tidak dapat dimodifikasi.
2. Bahasa Assembly, adalah salah satu jenis bahasa pemrograman tingkat
rendah yang secara kompromistis lebih mudah dibaca manusia, karena
antara bahasa Mesin dengan bahasa tingkat tinggi. Kode 0 dan 1 digantikan
dengan pola kode 0 dan 1 dengan arti tertentu. Bahasa Assembly didesain
untuk mengendalikan perangkat keras komputer. Kode program dalam
bahasa assembly juga tergantung mesin, sehingga tidak portable
3. Bahasa Tingkat Tinggi, yaitu bahasa yang lebih mudah dipahami manusia,
karena kosa kata dan pola kalimat diwujudkan dalam kosa kata yang dekat
dengan bahasa sehari-hari. Kode program dalam Bahasa Tingkat tinggi
dapat dijalankan di berbagai mesin yang berbeda karena tidak tergantung
pada mesin (portabel). Sebuah program dalam bahasa Tingkat tinggi dapat

14
dengan mudah diubah oleh pemrogramnya, dan diproses ulang untuk
mendapatkan kode siap eksekusi.
Bahasa yang dipelajari untuk pendidikan umum hanya Bahasa Tingkat Tinggi,
sedangkan Bahasa Mesin dan Bahasa Assembly dipelajari untuk pendidikan
tinggi.
Kode program disimpan dalam format tertentu, sesuai dengan yang dilakukan
oleh pemroses bahasanya
Pemroses Bahasa
Pemroses teks program komputer dilakukan oleh pemroses bahasa mesin,
dapat berupa:
1. Kompiler, adalah sebuah program komputer yang menerjemahkan kode
program komputer yang ditulis dalam salah satu bahasa pemrograman
tertentu dalam bentuk kode sumber (source code) ke bahasa target yang
dikenal komputer. Istilah “Compiler” pertama kali digunakan untuk
program yang menerjemahkan kode sumber dari bahasa Tingkat Tinggi ke
bahasa tingkat lebih rendah (bahasa assembly, kode objek/object code),
yang akan merupakan program yang dapat dieksekusi (executable
program).
Untuk Fase E, disarankan agar guru dapat memanfaatkan free online
compiler agar peserta didik dapat beraktivitas koding dan menguji program
seperti yang diberikan pada referensi, disertai tutorial ringkas mengenai
bahasanya [ref : semua situs Tutorial points, free online dan juga tutorial
bahasanya yang dipakai di translasi. Keuntungan menggunakan kompiler
online gratis adalah bahwa guru dan peserta didik tidak perlu menginstalasi
kompiler di komputernya, peserta didik kapanpun dapat melakukan
kegiatan pemrograman dengan HP (smart phone) asalkan ada koneksi
internet.
2. Interpreter dalam konteks Informatika adalah sebuah program komputer
yang langsung meng-interepretasi dan mengeksekusi program tanpa harus
dikompilasi menjadi program dalam bahasa tingkat rendah, perannya sama
dengan seorang interpreter manusia dalam sebuah forum lintas negara,
yang segera menerjemahkan pidato seseorang ke bahasa lain. Sebuah
interpreter menerapkan strategi sebagai berikut (a) parsing kode sumber
dan melakukan behaviornya secara langsung; (b) Terjemahkan kode
sumber ke dalam representasi perantara atau kode objek yang efisien dan
segera menjalankannya; (c) Secara eksplisit mengeksekusi bytecode
tersimpan yang telah dikompilasi [1] yang dibuat oleh kompiler dan
dicocokkan dengan interpreter mesin virtual.
3. IDE (Integrated Development Environment) adalah sebuah aplikasi
perangkat lunak (software) yang menyediakan fasilitas layanan yang
menyeluruh untuk mengembangkan perangkat lunak. sebuah IDE pada
umumnya terdiri dari : (a) source-code editor (tools untuk menulis program

15
baru, menampilkan program yang sudah ada, mengedit, menyimpan
program), (b) build automation tools (untuk secara otomatis
membangkitkan/generate kode sebuah program utuh dari beberapa
potongan program), dan (c) debugger (tools untuk menelusuri sebuah
program, dengan tujuan menemukan kesalahan eksekusi). Tujuan dari IDE
adalah agar pengembangan perangkat lunak lebih efisien dengan
menyediakan sebuah lingkungan terintegrasi dimana pengembang dapat
melakukan seluruh proses pemrograman (coding, debugging, testing).
Beberapa IDE yang tersedia dapat diunduh dan dimanfaatkan secara gratis,
juga berisi kompiler, interpreter atau kedua-duanya. Batasan antara IDE
dengan tools pengembangan perangkat lunak lainnya tidak didefinisikan
dengan jelas. Beberapa IDE juga menyediakan antar muka grafis (GUI -
Graphical User Interface). Beberapa IDE modern yang juga menyediakan
browser dan editor diagram lain yang dibutuhkan sesuai dengan paradigma
pemrogramannya.
Contoh beberapa IDE dapat dilihat pada gambar sebagai berikut, beberapa
di antaranya berupa freeware (dapat dipakai tanpa harus membayar). Pada
umumnya Guru tidak perlu menginstal IDE yang digunakan dalam proses
pembelajaran Fase E karena tujuan mata pelajaran Informatika bukan
untuk menjadikan siswanya pengembang perangkat lunak. Untuk
pemrograman prosedural tekstual, contoh IDE open source yang dapat
diunduh gratis dan dapat dipakai dalam pembelajaran Fase E jika fasilitas
memungkinkan : Microsoft Visual Studio, PyCharm - Python, Eclipse
(C,C++,Java), Code::Block (C, C++), Netbeans (Java).

Gambar 2.2. Contoh Integrated Development Environment (IDE) Software


D.2. Flowchart
Flowchart adalah representasi visual dari urutan langkah atau aliran proses
pada algoritma. Pada pemrograman, flowchart digunakan untuk
menggambarkan algoritma dari program. Flowchart menggunakan simbol-
simbol grafis untuk menunjukkan aksi (proses), aliran aksi, keputusan,
pengulangan dll. Flowchart dapat juga digunakan dalam dunia bisnis, teknologi,
dan manajemen untuk menggambarkan langkah-langkah yang terlibat dalam
suatu proses atau sistem. Flowchart membantu dalam pemahaman yang lebih
baik tentang bagaimana suatu proses bekerja dan dapat digunakan untuk
analisis, dokumentasi, perbaikan, atau pelatihan. Tabel 2.4. menunjukkan
komponen penyusun flowchart.

16
Tabel 2.4. Simbol-simbol dalam flowchart dan deskripsinya

Simbol Nama Deskripsi

Garis alir Anak panah berarah yang


(flowline) menunjukkan arah aliran langkah

Terminator Titik terminasi diagram alir, yang


berupa titik awal dan titik akhir

Langkah Suatu langkah yang akan dilaksanakan


oleh eksekutor

Keputusan Titik percabangan yang membuat


aliran langkah akan bercabang dengan
kondisi tertentu.

Masukan Melambangkan titik saat langkah akan


(Input) / menerima input atau menghasilkan
Keluaran output
(Output)

Sub Program Melambangkan suatu kegiatan atau


langkah lain yang telah didefinisikan
sebelumnya.

Penghubung Digunakan untuk menghubungkan


antar titik suatu titik pada diagram alir ke titik
lain pada halaman yang sama.

Penghubung Digunakan untuk menghubungkan


antar halaman suatu titik pada diagram alir ke titik
lain pada halaman yang berbeda.
Digunakan apabila diagram lain cukup
kompleks sehingga tidak dapat
digambar dalam satu halaman.

Untuk memahami bagaimana diagram alir digunakan untuk menggambarkan


suatu algoritma, pada bagian berikut ini dicontohkan beberapa diagram alir:
1. Diagram alir proses pembelian produk yang dilakukan oleh pembeli.
Flowchart ini menggambarkan aliran proses yang tidak dapat
diterjemahkan kedalam aksi yang dapat dieksekusi bahasa pemrograman
secara langsung, karena proses menggunakan level abstraksi yang tinggi.
Hal ini akan berbeda dengan contoh diagram alir berikutnya.

17
Flowchart Penjelasan

Diagram alir dimulai dari simbol start


atau mulai

Pembeli melihat produk yang tersedia


di katalog produk

Pembeli akan mendapatkan


pertanyaan, “Apakah produk yang
dilihat akan dibeli?”

Jika “Tidak” maka pengguna akan


menuju pengecekan keranjang
belanja dan jika keranjang belanja
kosong maka diagram alir stop atau
selesai.

Jika “Ya” maka pembeli akan


memasukkan produk tersebut ke
keranjang belanja. Setelah itu,
pembeli melihat produk lain di
katalog produk dan kembali akan
ditanyakan apakah produk akan
dibeli?

Jika “Ya” maka produk akan


ditambahkan pada keranjang belanja
lagi, sampai tidak ada lagi produk
yang akan dibeli.

Setelah itu keranjang belanja akan


dicek, jika keranjang belanja tidak
kosong maka pembeli akan
melakukan proses pembayaran.

Jika pembayaran telah selesai


dilaksanakan maka diagram alir stop
atau selesai.

2. Diagram Alir Penentuan Bilangan Nol, Positif, atau Negatif


Contoh Diagram alir kedua ini adalah diagram alir untuk sebuah program
yang dapat menentukan suatu bilangan Bil yang diinputkan apakah
Bilangan Nol, Bilangan Positif, atau Bilangan Negatif. Diagram alir ini siap
ditranslasi ke program dalam bahasa pemrograman.

18
Flowchart Deskripsi

Diagram alir dimulai dari simbol start


atau mulai

Program akan meminta pengguna


untuk menginputkan sebuah bilangan
yang akan disimpan pada variabel Bil.

Bilangan Bil akan diperiksa apakah


bernilai 0, jika Ya maka program akan
menuliskan “NOL”; jika Tidak maka
bilangan Bil akan diperiksa kembali
apakah lebih besar dari 0, jika Ya maka
program akan menuliskan “Bilangan
Positif”; jika Tidak program akan
menuliskan “Bilangan Negatif”

D.2.1. Membaca dan menelusuri program dalam flowchart


Contoh aktivitas membaca program dijelaskan pada aktivitas berikut.
Algoritma Diagram alir berikut adalah diagram untuk mencari bilangan
terbesar dari suatu himpunan bilangan, akan dibaca N buah bilangan
dan program akan menampilkan bilangan yang paling besar di antara
bilangan tersebut.
Membaca program dan melakukan penelusuran (tracing) secara
terstruktur dilakukan dengan membuat tabel sederhana yang terbagi
tiga bagian, yaitu masukan, nilai variabel, dan keluaran. Bagian
masukan akan diisi dengan data yang akan diproses, bagian nilai
variabel akan menjadi tempat mencatat nilai yang disimpan di dalam
variabel, sedangkan bagian keluaran akan diisi dengan data yang
dihasilkan oleh flowchart. Penelusuran ini menjadi penting saat untuk
memahami perilaku dari suatu algoritma dan mengecek ketepatan
keluaran dari suatu algoritma.
Sebagai contoh, untuk mencari bilangan terbesar dari 4 bilangan
berikut: 12, 31, 23, 46 menggunakan diagram alir. Ada beberapa
kegiatan inti dalam melakukan penelusuran:

19
1. Mempersiapkan lembar kerja penelusuran (Tabel X), dengan
menuliskan data yang akan diolah, nama variabel yang digunakan
pada diagram alir, dan menuliskan bagian keluaran.
2. Setelah itu, mulai menelusuri diagram alir dari bagian start menuju
stop.
3. Ketika ditemukan simbol untuk membaca suatu data (read N) dan
diisi 4, letakkan nilai 4 di variabel N.
4. Ketika tiba di suatu simbol proses dengan assignment suatu nilai
pada variabel (penugasan atau assignment), letakkan nilai tersebut
pada bagian nilai variabel, yaitu: terbesar 🡨 0.
5. Proses juga dapat berisi ekspresi matematika, misalnya N 🡨 N - 1.
Untuk mengerjakan ekspresi tersebut, kerjakan dahulu bagian
kanan dari ekspresi, yaitu N - 1. Cek nilai N saat ini di bagian nilai
variabel, dan kalian akan menemukan nilai 4. Kerjakan ekspresi
tersebut, yaitu 4 - 1 = 3, lalu simpan hasilnya ke sisi kanan dari
ekspresi yaitu variabel N. Lewat ekspresi ini, nilai N yang tadinya 4
sekarang telah berubah menjadi 3. Kalian dapat mencoret nilai 4
dan menuliskan nilai 3 pada lembar kerja (Tabel X.2.d).
6. Kemudian, kalian dapat melanjut proses dan akhirnya menemukan
nilai N sekarang bernilai 0. Lembar kerja kalian akan berisi seperti
Tabel X.2.e.
7. Kemudian, kalian menemukan simbol keluaran PRINT Terbesar.
Pada tahap ini, kalian dapat menuliskan isi dari variabel terbesar ke
dalam bagian keluaran di lembar kerja kalian (Tabel X.2.f).
8. Terakhir, kalian menelusuri dan menemukan terminator END
sehingga penelusuran berakhir. Dengan demikian, diagram alir tadi
menghasilkan keluaran berupa nilai 4 pada kasus yang diberikan.
Selamat! Kalian telah berhasil menelusuri diagram alir!
(a) Sebelum (b) Saat menemukan (c) Saat menemukan
penelusuran: simbol masukan dengan simbol proses dengan
perintah READ N. perintah terbesar 🡨 0.

Masukan Masukan Masukan


Banyaknya data: 4 Banyaknya data: 4 Banyaknya data: 4
Himpunan Data: Himpunan Data: Himpunan Data:
12 31 23 46 12 31 23 46 12 31 23 46

Nilai variabel Nilai variabel Nilai variabel


N: N: 4 N: 4
Bil: Bil: Bil:
Terbesar: Terbesar: Terbesar: 0

Keluaran Keluaran Keluaran

20
(d) Saat menemukan (e) Saat N bernilai 0, (f) Saat menemukan
simbol proses dengan lembar kerja kalian akan simbol keluaran PRINT
ekspresi N = N - 1. menjadi seperti ini. Terbesar.

Masukan Masukan Masukan


Banyaknya data: 4 Banyaknya data: 4 Banyaknya data: 4
Himpunan Data: Himpunan Data: Himpunan Data:
12 31 23 46 12 31 23 46 12 31 23 46

Nilai variabel Nilai variabel Nilai variabel


N: 4 3 N: 4 3 2 1 0 N: 4 3 2 1 0
Bilangan: 12 Bilangan: 12 31 23 46 Bilangan: 12 31 23 46
Terbesar: 12 Terbesar: 46 Terbesar: 46

Keluaran Keluaran Keluaran


46

D.2.2. Program dalam bahasa pemrograman Visual Scratch dan flowchart


Bahasa pemrograman yang dipelajari di fase D adalah bahasa
pemrograman visual berbasis blok. Bahasa pemrograman ini berbentuk
visual yang dapat dengan mudah dipahami dan dipelajari. Pendekatan
visual juga dilakukan dengan menggunakan flowchart. Flowchart
menterjemahkan algoritma tekstual dalam bentuk simbol-simbol visual
yang lebih mudah dipelajari.
Program pada gambar X.X. adalah program dengan menggunakan
bahasa visual Scratch. Program ini jika dieksekusi akan menjalankan
sprite kucing bergerak dari posisi di kondisi awal menuju posisi di
kondisi akhir. Gambar X.X
Kondisi Awal Kondisi Akhir

Gambar 2.3. Kondisi awal dan kondisi akhir program dalam Scratch

21
(a) Kode dalam program Scratch (b) Algoritma dalam flowchart

Gambar 2.4. Program Blok Visual dan Flowchart

D.3. Bahasa Algoritma dan Pseudocode


Algoritma adalah sebuah prosedur yang didefinisikan dengan baik (well
defined), langkah demi langkah, logik yang ditulis dengan tujuan
menyelesaikan suatu persoalan. Algoritma menggambarkan langkah-langkah
yang spesifik yang harus diikuti untuk mencapai tujuan tertentu. Algoritma
dapat diterapkan dalam berbagai konteks, termasuk pemrograman komputer,
games, animasi, pengolahan citra, bioinformatika, kecerdasan buatan, dan
banyak bidang lainnya. Dalam konteks Informatika, algoritma adalah dasar dari
pengembangan perangkat lunak. Algoritma yang baik harus efisien, dapat
diandalkan, dan menghasilkan hasil yang benar sesuai dengan tujuan yang
diinginkan. Penting untuk merancang algoritma dengan baik agar sistem atau
program yang dibuat dapat berfungsi dengan efisien dan menghasilkan hasil
yang diharapkan.
Algoritma dapat dituangkan dalam bentuk susunan bahasa algoritma dan
pseudocode atau kode yang lebih mirip bahasa manusia daripada bahasa
pemrograman tertentu. Ini memungkinkan pengembang untuk merancang
algoritma secara independen dari bahasa pemrograman tertentu, sehingga
dapat dengan mudah diimplementasikan dalam berbagai bahasa
pemrograman yang berbeda.

22
Pseudocode adalah versi algoritma atau kode program yang disimplifikasi agar
lebih mudah dibaca dan dipahami oleh manusia. Pseudocode mengacu ke
pendekatan pemrogramannya, yang dalam hal ini untuk Fase E, pendekatan
pemrogramannya adalah prosedural tekstual. Pseudocode merupakan
kerangka solusi, yang masih perlu dikembangkan lebih rinci menjadi
algoritma/kode program yang lebih presisi dan dapat dijalankan oleh manusia
atau komputer. Instruksi dalam sebuah pseudocode boleh bersifat umum,
belum siap dieksekusi langkah demi langkah seperti halnya algoritma. Contoh,
dalam sebuah pseudocode, pemrogram boleh menuliskan :

Baca sekumpulan (N buah data bilangan bulat)


Urutkan (sort) N data tersebut sehingga didapat data
terurut membesar
Tuliskan hasil data terurut

Pada teks pseudocode di atas, tidak dijelaskan rinci bagaimana proses sort
dilakukan. Penulis algoritma yang mengacu ke pseudocode tersebut dapat
memilih metode sort yang efisien dan optimal untuk N buah data tersebut.
Penulis pseudocode juga tidak menuliskan dengan rinci, apakah proses
pengurutan (sort) dituliskan kodenya dalam program, atau memakai
library/modul siap pakai untuk melakukan sort.
D.3.1. Bahasa ALGO
Bahasa ALGO adalah sebuah bahasa dengan aturan tata bahasa (sintaks)
jelas, yang harus diikuti oleh manusia pembaca, penulis maupun yang
akan menjalankan instruksi yang ada dalam sebuah teks bahasa (notasi)
algoritma. Bahasa ALGO tidak membutuhkan komputer, karena mesin
pelaksananya ( eksekutor-nya ) adalah manusia. Bahasa ALGO sengaja
dirancang untuk mendekatkan komunikasi manusia dengan mesin
komputasi, jadi merupakan sebuah bahasa yang dipahami manusia, tapi
dengan mudah akan diterjemahkan ke bahasa pemrograman komputer
tingkat tinggi.
D.3.2. Kartu ALGO
Kartu ALGO adalah alat yang dirancang pada Bimtek ini, yang digunakan
untuk mengajarkan konsep-konsep dasar algoritma kepada peserta didik
atau individu tanpa menggunakan perangkat komputer (unplugged).
Pendekatan unplugged bertujuan untuk mengajarkan konsep algoritma
melalui kegiatan fisik, permainan, dan interaksi langsung, yang
membantu memahami konsep-konsep tersebut dengan cara yang lebih
konkret dan menyenangkan. Guru dapat memakai kartu Algo yang
disediakan di sini (membuatnya dengan sticky notes warna-warni dan
berbagai ukuran), atau menciptakan kartunya sendiri untuk dipakai di
kelas, dengan mengacu ke bahasa yang akan dilatih pemrogramannya
secara unplugged.

23
Penjelasan lebih rinci tentang bahasa dan kartu ALGO dapat diakses
pada link berikut: File 04-Kartu ALGO

D.4. Translasi bahasa ALGO ke bahasa pemrograman prosedural tekstual


Bahasa ALGO dipakai untuk mengembangkan solusi program yang bukan
dijalankan oleh mesin tetapi oleh manusia. Untuk dapat dieksekusi oleh mesin
bahasa ALGO harus di translasi atau diterjemahkan dalam bahasa
pemrograman. Salah satu bahasa pemrograman prosedural tekstual
pengeksekusi program yang sangat dekat dengan bahasa ALGO adalah bahasa
Pascal, dan C .

Pada bagian ini diberikan terjemahan (lebih tepat padanan) pola kalimat dalam
bahasa ALGO ke dalam beberapa bahasa, diantaranya adalah Python, Pascal,
bahasa C. Pada pelaksanaan Bimtek, Kelompok Peserta dapat memilih salah
satu dari 3 pilihan bahasa yang disajikan.

E.4.1. Translasi Bahasa ALGO ke bahasa pemrograman Python


Penjelasan translasi Bahasa ALGO ke bahasa pemrograman Python
dapat diakses di link ini: File 05-TranslasiALGOkePython
E.4.2. Translasi Bahasa ALGO ke bahasa pemrograman Pascal
Penjelasan translasi Bahasa ALGO ke bahasa pemrograman Pascal dapat
diakses di link ini: File 06-TranslasiALGOkePascal
E.4.3. Translasi Bahasa ALGO ke bahasa pemrograman C
Penjelasan translasi Bahasa ALGO ke bahasa pemrograman C dapat
diakses di link ini: File 06-TranslasiALGOkeC

D.5. Perbandingan Bahasa Algoritma dan Bahasa Pemrograman Komputer


D.5.1. Perbandingan Algoritma dan Flowchart
Algoritma dan flowchart digunakan untuk merancang program, dan ada
keterkaitannya. Sebuah flowchart dapat diubah menjadi teks algoritma,
dan sebaliknya sebuah algoritma dapat digambarkan padanannya
menjadi sebuah flowchart.

Aspek Algoritma Flowchart

Konsep di Algoritma dan Flowchart menggunakan kata atau simbol yang


baliknya mewakili konsep pemrograman prosedural yaitu
mendefinisikan data dan menuliskan instruksi sesuai alur
eksekusi tertentu, yang meliputi : tipe, variabel, rumus
perhitungan, proses; alur eksekusi sekuensial, kondisional,
pengulangan.

24
Simbol Ditulis dalam bentuk teks Digambarkan dalam bentuk
yang dengan aturan penulisan susunan simbol, berdasarkan
dipakai yang khusus, biasanya baris sekumpulan simbo. Masing-
demi baris. seperti halnya masing simbol punya makna
teks dalam bahasa dan alur eksekusi sesuai konsep
Indonesia. pemrograman prosedural.
Setiap kalimat yang
dituliskan harus memenuhi
pola kalimat yang
memenuhi konsep
pemrograman prosedural

Tampilan Algoritma adalah teks baris Flowchart adalah gambaran


demi baris, visual dari alur program, yang
Karena teks, lebih kompak mudah dipahami karena alur
dan abstrak. ditunjukkan dengan tanda panah
dari satu simbol ke simbol
lainnya.
Karena gambar, lebih memakan
tempat

Alur Baris demi baris, dalam satu Bebas sesuai arah panah dari
eksekusi blok, instruksi per instruksi. satu simbol ke simbol lainnya.
sebuah berarah dapat dipakai
“maju” ke proses berikutnya,
atau “mundur ke proses di
atasnya.

Kelebihan ALgoritma dibuat dengan Flowchart berpotensi untuk


dan pola terstruktur dalam membuat alur program yang
kekurangan struktur blok, yang kusut (spaghetti code ). Alur
membungkus alur eksekusi eksekusi sekuensial,
dalam blok sehingga kecil kondisional dan pengulangan
potensinya untuk dapat bersilangan satu sama lain
menghasilkan spaghetti code antar simbol karena tak ada
Kalimat kondisional dan aturannya. Pengulangan tidak
pengulangan jelas terbaca representasi eksplisit, tapi
dalam satu blok kode. dinyatakan dalam bentuk
kondisional yang arah
eksekusinya kembali ke “atas”
(proses yang diulang)/

D.5.2. Perbandingan Program dalam bahasa Algoritma dengan Program


dalam Bahasa Prosedural Tekstual
Program dalam notasi algoritmik selanjutnya disebut sebagai algoritma.

Aspek Bahasa Algoritmik Bahasa Prosedural Tekstual


(misalnya ALGO)

Apa itu Algoritma adalah sebuah Program merupakan sekumpulan


…… ? prosedur yang instruksi yang harus dijalankan
didefinisikan dengan baik, oleh komputer. Sebuah program
langkah demi langkah, dapat merupakan implementasi

25
Aspek Bahasa Algoritmik Bahasa Prosedural Tekstual
(misalnya ALGO)

logik yang ditulis dengan dari beberapa algoritma, atau


tujuan menyelesaikan sebuah program mungkin juga
suatu persoalan. tak mengandung algoritma (jika
bahasa pemrogramannya tidak
prosedural)

Ditulis dalam bahasa Ditulis dalam bahasa komputer


natural dan dapat yang dapat dieksekusi mesin,
dipahami oleh orang seperty Python, Pascal, C, JAVA,..
berlatar belakang apapun, atau bahasa prosedural lainnya,
tidak harus paham tergantung dari penugasan atau
pemrograman (komputer) pilihan pemrogamnya. Program
Teks tidak dapat diekskusi dalam bahasa Prosedural tekstual
mesin karena bukan ditulis akan diproses oleh
menggunakan bahasa yang kompiler/inetrpreter dan siap
dipahami oleh mesin dieksusi dengan mesin

Algoritma dapat dieksekusi Program komputer dikesekusi


oleh manusia oleh komputer

Apa itu Algoritma adalah sebuah Program merupakan sekumpulan


…… ? prosedur yang instruksi yang harus dijalankan
didefinisikan dengan baik, oleh komputer. Sebuah program
langkah demi langkah, dapat merupakan implementasi
logik yang ditulis dengan dari beberapa algoritma, atau
tujuan menyelesaikan sebuah program mungkin juga
suatu persoalan. tak mengandung algoritma (jika
bahasa pemrogramannya tidak
prosedural)

Teks Ditulis dengan Ditulis dengan menggunakan


Program. menggunakan bahasa bahasa Pemrograman yang
Aspek sehari-hari, misalnya distandardisasi, dan didefinisikan
statik bahasa Indonesia, Bahasa secara teknis mulai aturan tata
Inggris, atau boleh bahasa bahasanya (sintaks), bagaimana
lainnya eksekusinya

Teksnya walau tak presisi Teksnya sangat presisi harus teliti


bahasa Pemrograman, tak boleh salah satu hurufpun.
tetap dapat dijalankan oleh Misalnya end; berbeda dengan
manusia yang toleran end.
kesalahan, saat eksekusi
berinisiatif memperbaiki

Eksekusi Dilaksanakan oleh Dilaksanakan oleh komputer,


Aspek manusia. melalui IDE (tools) pemrograman
dinamik yang dipakai untuk mengeksekusi

26
Aspek Bahasa Algoritmik Bahasa Prosedural Tekstual
(misalnya ALGO)

program.

Eksekusi yang diulang Eksekusi konsisten sesuai teks


mungkin tidak konsisten karena komputer akan
karena manusia bisa menjalankan apa adanya sesuai
bosan, kesal atau tidak yang ditulis pada teks.
fokus.
Pada saat eksekusi, program
Eksekusinya tetap pada memasuki dunia runtime yang
dunia nyata yang hidup dalam komputer sesuai
mengikuti hukum alam. dengan model komputasi
mesinnya.

Kecepatan eksekusi tidak Kecepatan eksekusi konstan pada


konsisten, tergantung pada mesin komputer yang sama
“mood” dan
kesigapan/kebugaran
manusia pengeksekusinya.

27
Daftar Pustaka

[1] Mushthofa, Wahyono, Auzi Asfarian, Dean Apriana Ramadhan, Hanson Prihantoro
Putro, Irya Wisnubhadra, Budiman Saputra, Heni Pratiwi (2021), Informatika kelas
X, Puskurbuk Kementerian Pendidikan, Kebudayaan, Riset, dan Teknologi, diakses di
[Link]
[2] OECD. (2020). PISA 2025 CORE 4: Summary of tasks and project timeline - Learning
in the Digital World assessment. Retrieved July 11, 2023, from PISA:
[Link]
[Link]
[3] OECD. (2023). PISA 2025 Learning in the Digital World. Retrieved 11 Juli, 2023, from
PISA: [Link]
[4] ______, diakses tanggal 1 Juli 2023, dari [Link]
[5] _____, diakses tanggal 1 Juli 2023, dari
[Link]
[6] ______, diakses tanggal 1 Juli 2023, dari
[Link]
[7] _______, diakses tanggal 1 Juli 2023, dari [Link]
02-25-the-5th-c-of-21st-century-skills-try-computational-thinking-not-coding
[8] Wahyono Mushthofa, Auzi Asfarian, Dean Apriana Ramadhan, Hanson Prihantoro
Putro, Irya Wisnubhadra, Budiman Saputra, Heni Pratiwi (2021), Buku Panduan
Guru Informatika kelas X, Puskurbuk Kementrian Pendidikan, Kebudayaan, Riset,
dan Teknologi, diakses di [Link]
guru-informatika-untuk-sma-kelas-x

========================= AKHIR DARI MODUL (WAJIB)


=============================

28
1

Anda mungkin juga menyukai