Modul Algoritma dan Pemrograman SMA
Modul Algoritma dan Pemrograman SMA
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
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.
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
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.
1
Dimensi Belajar Aktivitas Moda JP
2
Dimensi Belajar Aktivitas Moda JP
menyelesaikan masalah.
4. Peserta mengimplementasikan rancangan
algoritma pada kakas yang ditentukan.
3
B.2. Peta Konsep Elemen Algoritma dan Pemrograman Fase E
4
No Konsep Deskripsi ringkas Tools
dan contoh
programnya
c. Translasi Bahasa
Algoritma ke C dan
contoh programnya
5
Aspek Moda pembelajaran plugged Moda pembelajaran unplugged
6
Aspek Moda pembelajaran plugged Moda pembelajaran unplugged
7
Aspek Moda pembelajaran plugged Moda pembelajaran 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
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
2 Bahasa Algoritma ALGO Berisi penjelasan lebih rinci dari bahasa algoritma ALGO dan
dan kartu ALGO kartu ALGO.
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).
16
Tabel 2.4. Simbol-simbol dalam flowchart dan deskripsinya
17
Flowchart Penjelasan
18
Flowchart Deskripsi
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.
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.
Gambar 2.3. Kondisi awal dan kondisi akhir program dalam Scratch
21
(a) Kode dalam program Scratch (b) Algoritma dalam flowchart
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 :
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
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.
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
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.
25
Aspek Bahasa Algoritmik Bahasa Prosedural Tekstual
(misalnya ALGO)
26
Aspek Bahasa Algoritmik Bahasa Prosedural Tekstual
(misalnya ALGO)
program.
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
28
1