A. Kompetensi inti :
1. Menghayati dan mengamalkan ajaran agama yang dianutnya.
2. Menghayati dan Mengamalkan perilaku jujur, disiplin, tanggung jawab, peduli
(gotong royong, kerjasama, toleran, damai), santun, responsif dan proaktif dan
menunjukan sikap sebagai bagian dari solusi atas berbagai permasalahan dalam
berinteraksi secara efektif dengan lingkungan sosial dan alam serta dalam
menempatkan diri sebagai cerminan bangsa dalam pergaulan dunia.
3. Memahami, menerapkan dan menganalisis pengetahuan faktual, konseptual,
prosedural dan metakognitif berdasarkan rasa ingin tahunya tentang ilmu
pengetahuan, teknologi, seni, budaya, dan humaniora dalam wawasan
kemanusiaan, kebangsaan, kenegaraan, dan peradaban terkait penyebab fenomena
dan kejadian dalam bidang kerja yang spesifik untuk memecahkan masalah.
4. Mengolah, menalar, dan menyaji dalam ranah konkret dan ranah abstrak terkait
dengan pengembangan dari yang dipelajarinya di sekolah secara mandiri,
bertindak secara efektif dan kreatif dan mampu melaksanakan tugas spesifik
dibawah pengawasan langsung.
B. Kompetensi Dasar
3.1 Menerapkan alur logika pemrograman komputer
4.1 Menerapkan alur logika pemrograman komputer
D. Tujuan Pembelajaran
1. Siswa dapat Mendiskripsikan dan Memahami konsep algoritma pemrograman
2. Siswa dapat mendiskripsikan dan memahami algoritma pemrograman dalam
menyelesaikan masalah
3. Siswa dapat mendiskripsikan dan memahami penggunaan flowchart dalam
menyelesaikan masalah
4. Siswa dapat menggunakan flowchart dalam membuat alur program
5. Siswa dapat menggunakan flowchart dalam membuat sebuah program
E. Materi Pembelajaran
Konsep algoritma
Struktur algoritma
algoritma menggunakan bahasa natural
Pengenalan Variabel
Pengenalan tipe data
Pengenalan operator
Pseudocode
Flowchart
Penggunaan Tool flowchart
G. Kegiatan Pembelajaran
1) Kegiatan Awal ( ± 10 % dari Total waktu Pertemuan )
Orientasi :
Guru memberikan salam dilanjutkan dengan perkenalan dan absensi.
Apresepsi :
Guru memberikan gambaran tentang konsep algoritma pemrograman dan alur logika
pemrograman komputer
Kegiatan Inti (± 75 % dari Total waktu Pertemuan )
Mengamati:
Pelbagai contoh penerapan algoritma dasar dalam kehidupan sehari-hari
Mengindentifikasi dan merumuskan masalah tentang alur logika pemrograman
komputer
Menanya:
Rumusan masalah terkait penerapan algoritma sederhana
Logika penyelesaian masalah dengan struktur algoritma
Mengeksplorasi:
Membuat algoritma sederhana untuk menyelesaikan permasalahan menggunakan
bahasa natural, flowchart dan pseudocode
Mengasosiasi:
Menyimpulkan konsep algorima (bahasa natural, flowchart dan pseudocode)
untuk menyelesaikan permasalahan
Mengkomunikasikan:
Mempresentasikan algoritma penyelesaian permasalahan
I. Evaluasi / Penilaian
1. Teknik Penilaian : Pengamatan, Kinerja, dan Tes Tertulis
2. Prosedur Penilaian
Penilaian Kinerja
No Aspek yang Sikap Pengetahuan Keterampilan Jumlah
dinilai Skor
Nama 1 2 3 4 1 2 3 4 1 2 3 4
1
2
3
Tes Tertulis
Pedoman Penskoran :
No Uraian Skor
1. Kunci Jawaban Soal Uraian
Kunci Jawaban Soal No. 01
algoritma atau algoritme[1] merupakan kumpulan perintah
20
untuk menyelesaikan suatu masalah. Perintah-perintah ini
dapat diterjemahkan secara bertahap dari awal hingga akhir.
Kunci Jawaban Soal No. 02
20
−𝑏 ± √𝑏 2 − 4𝑎𝑐
𝑥=
2𝑎
Nilai = Skor yang di peroleh x 100
A. Pengertian Algoritma
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun
secara sistematis. Masalah dapat berupa apa saja, dengan catatan untuk setiap
masalah, ada syarat kondisi awal yang harus dipenuhi sebelum menjalankan
algoritma. Konsep algoritma sering kali disetarakan dengan sebuah resep. Sebuah
resep biasanya memiliki daftar bahan atau bumbu yang akan digunakan, urutan
pengerjaan dan bagaimana hasil dari urutan pengerjaan tersebut. Apabila bahan yang
digunakan tidak tertera (tidak tersedia) maka resep tersebut tidak akan dapat
dikerjakan. Demikian juga jika urutan pengerjaannya tidak beraturan, maka hasil yang
diharapkan tidak akan dapat diperoleh.
Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan syarat yang sama.
Tingkat kerumitan dari suatu algoritma merupakan ukuran seberapa banyak
komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah.
Umumnya, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu
yang singkat memiliki tingkat kerumitan yang rendah, sementara algoritma yang
membutuhkan waktu lama untuk menyelesaikan suatu masalah membutuhkan tingkat
kerumitan yang tinggi. Perhatikan algoritma sederhana berikut.
Algoritma di atas adalah algoritma yang sangat sederhana, hanya ada lima langkah. Pada
algoritma ini tidak dijumpai perulangan ataupun pemilihan. Semua langkah dilakukan
hanya satu kali. Sekilas algoritma di atas benar, namun apabila dicermati maka
algoritma ini mengandung kesalahan yang mendasar, yaitu tidak ada pembatasan pada
nilai data untuk alas dan tinggi. Bagaimana jika nilai data alas atau tinggi adalah
bilangan 0 atau bilangan negatif ? Tentunya hasil yang keluar menjadi tidak sesuai
dengan yang diharapkan. Dalam kasus seperti ini kita perlu menambahkan langkah
untuk memastikan nilai alas dan tinggi memenuhi syarat, misalnya dengan melakukan
pengecekan pada input yang masuk. Apabila input nilai alas dan tinggi kurang dari 0
maka program tidak akan dijalankan. Sehingga algoritma di atas dapat dirubah
menjadi seperti contoh berikut.
Dari penjelasan di atas dapat diambil kesimpulan pokok tentang algoritma. Pertama,
algoritma harus benar. Kedua algoritma harus berhenti, dan setelah berhenti,
algoritma memberikan hasil yang benar.
2. Pseudocode
Pseudocode mirip dengan bahasa natural. Karena kemiripan ini kadang-kadang bahasa
natural dan Pseudocode dianggap sama. Pseudo berarti imitasi atau tiruan atau
menyerupai, sedangkan code menunjuk pada kode program. Sehingga pseudocode
adalah kode yang mirip dengan instruksi kode program sebenarnya. Berikut ini adalah
algoritma menghitung luas segitiga yang sama dengan contoh 1.2, namun
penulisannya telah diubah dengan menggunakan pseudocode :
Contoh 2.2 Algoritma perhitungan luas segitiga dengan pseudocode.
1. Start
2. READ alas, tinggi;
3. IF (alas > 0 AND tinggi > 0) THEN GOTO 4
ELSE GOTO 6;
4. luas = alas * tinggi * 0.5;
5. PRINT luas;
6. Stop
3. Flowchart
Flowchart atau bagan alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di
dalam suatu program secara logika. Berikut ini adalah gambar contoh flowchart untuk
menghitung luas segitiga.
Sumber :
i. Mulyanto, Aunur Rofiq, ”Rekayasa Perangkat Lunak Jilid I”, Departemen
Pendidikan Nasional, Jakarta, 2008
ii. Sutedjo, budi, “Algoritma dan Teknik Pemrograman”, Penerbit ANDI,Yogyakarta,
2009
iii. Modul pembelajaran pemrograman dasar
LEMBAR KERJA SISWA
( Tugas Perorangan )
Essay
1. Apa yang dimaksud dengan algoritma.
2. Apa yang dimaksud dengan logika.
3. Jelaskan secara detail tentang struktur algoritma
4. Apa yang dimaksud dengan bahasa natural, pseudocode dan flowchart
5. Buatkan algoritma sederhana menggunakan flowchart dalam permasalahan
sehari-hari.
KISI-KISI DAN BUTIR SOAL TEORI
Kompetensi No.
Indikator Soal Soal Kunci Jawaban
Dasar Soal
3.1. 1. Siswa dapat 1. Apa yang dimaksud dengan 1 algoritma atau algoritme[1] merupakan kumpulan
Memahamipe mengidentifika algoritma. perintah untuk menyelesaikan suatu masalah.
nggunaan data si Perintah-perintah ini dapat diterjemahkan secara
dalamalgoritm bertahap dari awal hingga akhir.
Konsep
a dan konsep 2. Buatkan algoritma sederhana
algoritma
algoritma menggunakan flowchart
pemrograman
pemrograman dalam permasalahan sehari- 2
hari.
4.1. Menggunakan
algoritma 2. Siswa dapat
pemrograman menjelaskan
untuk konsep
memecahkan algoritma
permasalahan pemrograman