Anda di halaman 1dari 39

Administrasi Pembelajaran

Kompetensi Kejuruan
Kelas/Semester : X ( 1 )

Meliputi :
=========================
PROGRAM TAHUNAN
ANALISA PROGRAM SEMESTER
ANALISA PENENTUAN KKM
JURNAL HARIAN MENGAJAR
SILABUS, RPP & JOBSHEET
===========================

Oleh :

Hendrik Dwi Yusyanto, S.Kom


ANALISIS PENENTUAN KKM

A. Dengan memberikan point pada setiap kreteria yang di tetapkan


ACUAN KRITERIA Nilai
Tinggi 1
KOMPLEKSITAS Sedang 2
Rendah 3
Tinggi 1
DAYA PENDUKUNG Sedang 2
Rendah 3
Tinggi 1
INTAKE SISWA Sedang 2
Rendah 3

B. Dengan menggunakan rentang nilai pada setiap kriteria


ACUAN KRITERIA Interval Nilai
Tinggi 50 – 64
KOMPLEKSITAS Sedang 65 – 80
Rendah 81 - 100
Tinggi 81 – 100
DAYA PENDUKUNG Sedang 65 – 80
Rendah 50 – 64
Tinggi 81 – 100
INTAKE SISWA Sedang 65 – 80
Rendah 50 – 64
Tingkat Kompleksitas
(kesulitan dan kerumitan) Setiap indikator
Tingkat kompleksitas tinggi bila dalam pelaksanaan menuntut :
SDM ( memahami kompetensi yang harus dicapai siswa kreatif dan inovatif dalam
melaksanakan pembelajaran)
Waktu ( cukup lama karena perlu pengulangan penalaran dan kecermatan siswa yang tinggi )
Kemampuan sumberdaya pendukung
(Tenaga, sarana, prasarana pendidikan, biaya, manajemen, komite sekolah dan stakeholders
sekolah)
Intake (tingkat kemampuan rata-rata) siswa
Intake merupakan
(Hasil seleksi ppdb, Rapor kelas terakir dari tahun sebelumnya,Test seleksi masuk atau
psikotes, Nilai Ujian Nasional Bagi jenjang pendidikan sebelumnya).
Keterangan:
(C1 : Ingatan; C2 : Pemahaman ; C3 Penerapan ; C4 : Analisa; C5 : Sintesis; C6 : Evaluasi)
KRITERIA KETUNTASAN MINIMAL
KOMPETENSI DASAR(KD)

NAMA SEKOLAH : SMK PGRI 2 PONOROGO


MATA PELAJARAN : Pemrograman Dasar
KELAS/SEMESTER : X / Ganjil
TAHUN PELAJARAN : 2013/2014
Kompetensi Inti :Memahami, menerapkandan menganalisis pengetahuan faktual,konseptual, dan proceduralberdasarkan rasa ingintahunya tentang
ilmupengetahuan, teknologi,seni, budaya, danhumaniora dalam wawasankemanusiaan, kebangsaan,kenegaraan, dan peradabanterkait
penyebab fenomenadan kejadian dalam bidangkerja yang spesifik untukmemecahkan masalah
STANDAR
TAHAPAN KOMPETENSI NILAI
No KOMPETENSI DASAR DAN INDIKATOR JUMLAH
BERFIKIR MINIMAL KKM
K I DDS
1 Memahami penggunaan data dalamalgoritma dan konsep algoritmapemrograman C1, C2, C4 72 75 81 228 76
2 Memahami struktur algoritma sertamenganalisis data dalam suatu algoritmapercabangan C1, C2, C4 72 75 81 228 76
3 Memahami struktur algoritma sertamenganalisa data dalam suatu algoritmaperulangan serta C1, C2, C4 72 75 81 228 76
4 Menerapkan bahasa pemrograman C3, C5, C6 72 75 81 228 76
5 Menerapkan penggunaan tipe data,variabel, konstanta, operator, danekspresi C3, C5, C6 72 75 81 228 76
6 Menerapkan struktur controlpercabangan dalam bahasa pemrograman C3, C5, C6 72 75 81 228 76
7 Menerapkan struktur kontrol perulangandalam bahasa pemrograman C3, C5, C6 72 75 81 228 76
8 Menerapkan keseluruhan konsepalgoritma dalam penyelesaian masalahkompleks C3, C5, C6 72 75 81 228 76
JUMLAH 576 600 648 1824 608
Rata-rata 72 75 81 228 76
Pembulatan 72 75 81 228 76
KKM KD 72 75 81 228 76

Ponorogo, 17 Juli 2013


Guru Mata Pelajaran

SRIYADI
KRITERIA KETUNTASAN MINIMAL
KOMPETENSI DASAR(KD)

NAMA SEKOLAH : SMK PGRI 2 PONOROGO


MATA PELAJARAN : Pemrograman Dasar
KELAS/SEMESTER : X / Ganjil
TAHUN PELAJARAN : 2013/2014
Kompetensi Inti : Mengolah, menalar, danmenyaji dalam ranahkonkret dan ranah abstrak terkait denganpengembangan dari yangdipelajarinya di
sekolahsecara mandiri, danmampu melaksanakantugas spesifik di bawahpengawasan langsung.

STANDAR
TAHAPAN KOMPETENSI NILAI
No KOMPETENSI DASAR DAN INDIKATOR JUMLAH
BERFIKIR MINIMAL KKM
K I DDS
1 Menggunakan algoritmapemrogramanuntuk memecahkanpermasalahan C2, C3, C4 72 75 81 228 76
2 Menggunakan algoritma percabanganuntuk memecahkan permasalahan C2, C3, C4 72 75 81 228 76
3 Memecahkan permasalahan denganalgoritma perulangan C1, C2, C4 72 75 81 228 76
4 Mengolah algoritma ke dalam bentukkode program komputer C2, C3, C4 72 75 81 228 76
5 Mengolah data menggunakan konsep tipedata, variabel, konstanta, operator danekspresi C2, C3, C4 72 75 81 228 76
6 Memecahkan masalah menggunakanstruktur kontrol percabangan C3, C4, C6 72 75 81 228 76
7 Memecahkan masalah menggunakanstruktur kontrol perulangan C3, C4, C6 72 75 81 228 76
8 Menganalisa kesalahan dalam programkomputer C3, C4, C6 72 75 81 228 76
JUMLAH 576 600 648 1824
Rata-rata 72 75 81 228
Pembulatan 72 75 81 228
KKM KD 72 75 81 228

Ponorogo, 17 Juli 2013


Guru Mata Pelajaran

Hendrik Dwi Yusyanto, S.Kom


NIP.-
ANALISIS KETERKAITAN SKL, KI, dan KD

MATA PELAJARAN : PEMROGRAMAN DASAR


KELAS :X
MATERI AJAR : Algoritma Pemrograman
Aktivitas/Kegiat Teknik dan
Standar
an Belajar Siswa Bentuk
Domain Kompetensi Kompetensi Inti Kompetensi Dasar Lingkup Materi
untuk Mencapai Instrumen
Lulusan
Kompetensi Penilaian
Sikap Memiliki perilaku Menghargai dan 1.1. Memahami nilai-
yang menghayati ajaran nilai keimanan
mencerminkan agama yang denganmenyadar
sikap orang dianutnya i hubungan
beriman, keteraturan
berakhlak mulia, dankompleksitas
percaya diri, dan alam dan jagad
bertanggung rayaterhadap
jawab dalam kebesaran Tuhan
berinteraksi yangmenciptaka
secara efektif nnya.
dengan 1.2. Mendiskripsikan
lingkungan sosial kebesaran Tuhan
dan alam yangmenciptaka
dalam jangkauan n Pelbagai
pergaulan dan sumber energi
keberadaannya dialam.
1.3. Mengamalkan
nilai-nilai
keimanan
sesuaidengan
ajaran agamanya
Aktivitas/Kegiat Teknik dan
Standar
an Belajar Siswa Bentuk
Domain Kompetensi Kompetensi Inti Kompetensi Dasar Lingkup Materi
untuk Mencapai Instrumen
Lulusan
Kompetensi Penilaian
dalamkehidupan
sehari-hari
Menghargai dan 2.1. Menunjukkan
menghayati perilaku perilaku ilmiah
jujur, disiplin, (memilikirasa
tanggungjawab, ingin tahu;
peduli (toleransi, objektif; jujur;
gotong royong), teliti;cermat;
santun, percaya diri, tekun; hati-hati;
dalam berinteraksi bertanggungjawa
secara efektif dengan b; terbuka; kritis;
lingkungan sosial dan kreatif; inovatif
alam dalam danpeduli
jangkauan pergaulan lingkungan)
dan keberadaannya dalam aktivitas
sehari-hari
sebagai wujud
implementasi
sikapdalam
melakukan
percobaan
danberdiskusi.
2.2. Menghargai kerja
individu dan
kelompok
dalam aktivitas
sehari-hari
sebagai wujud
Aktivitas/Kegiat Teknik dan
Standar
an Belajar Siswa Bentuk
Domain Kompetensi Kompetensi Inti Kompetensi Dasar Lingkup Materi
untuk Mencapai Instrumen
Lulusan
Kompetensi Penilaian
implementasi
melaksanakan
percobaan
dan melaporkan
hasil percobaan

Pengetahuan Memiliki Memahami 3.1. Algoritma Mengamati: Tugas:


pengetahuan pengetahuan (faktual, Memahamipengg Pemrograman - Pelbagai - Membuat
Faktual, konseptual, dan unaan data - Konsep algoritma contoh algoritma
konseptual dan prosedural) dalamalgoritma - Struktur algoritma penerapan sederhan
prosedural dalam berdasarkan rasa dan konsep - algoritma algoritma dasar a (bahasa
Ilmu ingin tahunya tentang algoritmapemrog menggunakan dalam natural,
pengetahuan, ilmu pengetahuan, raman bahasa natural kehidupan pseudoco
teknologi, seni, teknologi, seni, - Pengenalan sehari-hari de dan
dan budaya budaya terkait Variabel - Karakteristik flowchart)
dengan wawasan fenomena dan - Pengenalan tipe tipe data untuk
kemanusiaan, kejadian tampak data Menanya: menyeles
kebangsaan, mata - Pengenalan - Rumusan aikan
kenegaraan, dan operator masalah terkait permasal
peradaban terkait - Pseudocode penerapan ahan
fenomena dan - Flowchart algoritma dalam
kejadian yang - Penggunaan Tool sederhana kehidupa
tampak mata flowchart - Logika n sehari-
penyelesaian hari.
masalah Portopolio:
dengan struktur - Laporan
algoritma praktek
Menalar: membuat
Aktivitas/Kegiat Teknik dan
Standar
an Belajar Siswa Bentuk
Domain Kompetensi Kompetensi Inti Kompetensi Dasar Lingkup Materi
untuk Mencapai Instrumen
Lulusan
Kompetensi Penilaian
- Menerapkan algoritma
konsep pemecah
algorima an
(bahasa masalah
natural, menggun
flowchart dan akan
pseudocode) bahasa
untuk natural,
menyelesaikan flowchart
permasalahan dan
Komunikasi: pseudoco
Mempresentasik de.
an algoritma Observasi :
penyelesaian - Checklist
permasalahan hasil
pengamat
an
Pelbagai
contoh
algoritma
Tes:
- Tes
tertulis
dan
praktek
tentang
konsep
algoritma,
Aktivitas/Kegiat Teknik dan
Standar
an Belajar Siswa Bentuk
Domain Kompetensi Kompetensi Inti Kompetensi Dasar Lingkup Materi
untuk Mencapai Instrumen
Lulusan
Kompetensi Penilaian
pseudoco
de,
flowchart
3.2. Memahami Algoritma Mengamati Tugas
struktur algoritma percabangan - Pelbagai - Membuat
sertamenganalisi - Percabangan 1 contoh algoritma
s data dalam kondisi penerapanalgor (pseudoc
suatu - Percabangan 2 itma ode dan
algoritmapercaba kondisi percabangan 1, flowchart)
ngan - Percabangan lebih 2, lebih dari 2 untuk
dari 2 kondisi kondisi dan menyeles
- Percabangan percabangan aikan
bersarang bersarang permasal
Menanya ahan
- Rumusan menggun
masalah terkait akan
algoritma logika
percabangan 1, percaban
2, lebih dari 2 gan 1, 2,
kondisi dan lebih dari
percabangan 2 kondisi,
bersarang serta
- Alur percaban
penyelesaian gan
masalah bersarang
dengan .
algoritma Portopolio
percabangan. - Laporan
Aktivitas/Kegiat Teknik dan
Standar
an Belajar Siswa Bentuk
Domain Kompetensi Kompetensi Inti Kompetensi Dasar Lingkup Materi
untuk Mencapai Instrumen
Lulusan
Kompetensi Penilaian
Menalar praktikum
- Menerapkan algoritma
algoritma percaban
percabangan gan 1, 2,
untuk lebih dari
memecahkan 2 kondisi,
masalah dan
- Menganalisa percaban
algoritma gan
percabangan bersarang
dengan Observasi :
Pelbagai data - Checklist
Komunikasi hasil
Mempresentasika pengamat
n algoritma an
penyelesaian contohalg
masalah oritma
percabangan percaban
gan
Tes:
- Tes
tertulis
dan
praktek
tentang
konsep
algoritma
percaban
Aktivitas/Kegiat Teknik dan
Standar
an Belajar Siswa Bentuk
Domain Kompetensi Kompetensi Inti Kompetensi Dasar Lingkup Materi
untuk Mencapai Instrumen
Lulusan
Kompetensi Penilaian
gan 1, 2
lebih dari
2 kondisi,
dan
percaban
gan
bersarang
3.3. Memahami Algoritma Mengamati: Tugas:
struktur algoritma perulangan - Pelbagai ragam - Membuat
sertamenganalis - Perulangan dengan contoh algoritma
a data dalam kondisi diawal penerapan (pseudoc
suatu - Perulangan dengan algoritma ode dan
algoritmaperulan kondisi diakhir perulangan flowchart)
gan - Perulangan dengan Menanya: untuk
kondisi akhir - Rumusan menyeles
diinputkan user masalah dan aikan
- Perulangan sebagai logika permasal
pencacah naik penyelesaian ahan
- Perulangan sebagai masalah menggun
pencacah turun. menggunakan akan
algoritma logika
perulangan perulanga
Menalar: n
- Menerapkan Portopolio:
algoritma - Laporan
perulangan praktikum
untuk algoritma
menyelesaikan perulanga
Aktivitas/Kegiat Teknik dan
Standar
an Belajar Siswa Bentuk
Domain Kompetensi Kompetensi Inti Kompetensi Dasar Lingkup Materi
untuk Mencapai Instrumen
Lulusan
Kompetensi Penilaian
masalah n
- Menganalisa Observasi:
algoritma - checklist
perulangan hasil
dengan pengamat
Pelbagai an
macam data Pelbagai
Komunikasi: ragam
Mempresentasika contoh
n pelbagai ragam penerapa
algoritma n
penyelesaian algoritma
masalah perulanga
menggunakan n
logika perulangan Tes:
- Tes
tertulis
dan
praktek
algoritma
perulanga
n
Keterampilan Memiliki Mencoba, mengolah, 4.1. Menggunakan - Membuat -
kemampuan pikir dan menyaji dalam algoritma algoritma
dan tindak yang ranah konkret pemrogramanunt sederhana
efektif dan kreatif menggunakan, uk untuk
dalam ranah mengurai, merangkai, memecahkanper menyelesaikan
abstrak dan modifikasi, dan masalahan permasalahan
Aktivitas/Kegiat Teknik dan
Standar
an Belajar Siswa Bentuk
Domain Kompetensi Kompetensi Inti Kompetensi Dasar Lingkup Materi
untuk Mencapai Instrumen
Lulusan
Kompetensi Penilaian
konkret Sesuai membuat) dan ranah menggunakan
dengan yang abstrak (menulis, bahasa natural,
dipelajari di membaca, flowchart dan
sekolah atau menghitung, pseudocode
sumber lain yang menggambar, dan
sama dengan mengarang) sesuai
yang diperoleh dengan yang
dari sekolah dipelajari di sekolah
dan sumber lain yang
sama dalam sudut
pandang/teori

4.2. Menggunakan - Membuat -


algoritma algoritma
percabanganunt penyelesaian
uk memecahkan masalah
permasalahan percabangan 1,
2, lebih dari 2
kondisi, serta
percabangan
bersarang

4.3. Memecahkan Mencoba: -


permasalahan - Membuat
denganalgoritma pelbagai
perulangan algoritma
penyelesaian
masalahmengg
Aktivitas/Kegiat Teknik dan
Standar
an Belajar Siswa Bentuk
Domain Kompetensi Kompetensi Inti Kompetensi Dasar Lingkup Materi
untuk Mencapai Instrumen
Lulusan
Kompetensi Penilaian
unakan logika
perulangan
RENCANA PELAKSANAAN PEMBELAJARAN
(RPP)
Nama Sekolah : SMK PGRI Tanjung Raja
Mata Pelajaran : Pemrograman Dasar
Kelas :X
Semester :1
Alokasi Waktu : x 45 menit (x pertemuan)

A. Kompetensi Inti

Kod
Kompetensi Inti
e
1 Menghayati dan mengamalkan ajaran agama yang dianutnya.
2 Menghayati dan mengamalkan prilaku jujur, disiplin, tanggung jawab, peduli
(gotong royong, kerjasama, toleran, damai), santun, responsif dan proaktif dan
menunjukkan 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, menganalisis pengetahuan faktual, konseptual,
prosedural berdasarkan rasa ingin tahunya tentang ilmu pengetahuan,
teknologi, seni, budaya dan humaniora dengan wawasan kemanusiaan,
kebangsaan, kemanusiaan, kebangsaan, kenegaran, dan peradaban terkait
fenomena dan kejadian, serta menerapkan pengetahuan prosedural pada bidang
kajian yang spesifik sesuai dengan bakat dan mintanya untuk memecahkan
masalah.
4 Mengolah, menalar dan menyaji dalam ranah konkret dan ranah abstrak terkait
dengan pengembangan dari yang dipelajarinya di sekolah secara mandiri, dan
mampu menggunakan metoda sesuai kaidah keilmuan

B. Kompetensi Dasar
Kod
Kompetensi Dasar
e
1.1 Memahami nilai-nilai keimanan denganmenyadari hubungan keteraturan
dankompleksitas alam dan jagad rayaterhadap kebesaran Tuhan
yangmenciptakannya.
1.2 Mendiskripsikan kebesaran Tuhan yangmenciptakan berbagai sumber energi
dialam.
1.3 Mengamalkan nilai-nilai keimanan sesuaidengan ajaran agamanya
dalamkehidupan sehari-hari.
2.1 Menunjukkan perilaku ilmiah (memilikirasa ingin tahu; objektif; jujur; teliti;
cermat; tekun; hati-hati; bertanggungjawab; terbuka; kritis; kreatif; inovatif
danpeduli lingkungan) dalam aktivitas sehari-hari sebagai wujud implementasi
sikap dalam melakukan percobaan dan berdisskusi.
2.2 Menghargai kerja individu dan kelompokdalam aktivitas sehari-hari sebagai
wujudimplementasi melaksanakan percobaandan melaporkan hasil percobaan
3.1 Memahami penggunaan data dalamalgoritma dan konsep
algoritmapemrograman

3.2 Memahami struktur algoritma sertamenganalisis data dalam suatu


algoritmapercabangan
3.3 Memahami struktur algoritma sertamenganalisa data dalam suatu
algoritmaperulangan serta

3.4 Menerapkan bahasa pemrograman


3.5 Menerapkan penggunaan tipe data,variabel, konstanta, operator, danekspresi
3.6 Menerapkan struktur controlpercabangan dalam bahasa pemrograman
3.7 Menerapkan struktur kontrol perulangandalam bahasa pemrograman
3.8 Menerapkan keseluruhan konsepalgoritma dalam penyelesaian
masalahkompleks
4.1 Menggunakan algoritmapemrogramanuntuk memecahkanpermasalahan
4.2 Menggunakan algoritma percabanganuntuk memecahkan permasalahan
4.3 Memecahkan permasalahan denganalgoritma perulangan
4.4 Mengolah algoritma ke dalam bentukkode program komputer
4.5 Mengolah data menggunakan konsep tipedata, variabel, konstanta, operator
danekspresi
4.6 Memecahkan masalah menggunakanstruktur kontrol percabangan
4.7 Memecahkan masalah menggunakanstruktur kontrol perulangan

C. Indikator Pencapaian Kompetensi

Kod
Indikator Pencapaian Kompetensi
e
1.1 Pernyataan dan Aksi
1.2 Struktur dasar algoritma; Runtunan, Pemilihan, Pengulangan
1.3 Strategi Perancangan Puncak-Turun
1.4 Terampil menerapkan konsep/prinsip dan strategi pemecahan masalah yang relevan
yang berkaitan dengan struktur algoritma.

D. Tujuan Pembelajaran:

Selama dan setelah proses pembelajaran siswa dapat :


1. Memahami tentang pernyataan dan aksi.
2. Memahami tentang struktur dasar algoritma yang terdiri atas runtunan, pemilihan, dan pengulangan.
3. Memahami tentang strategi perancangan puncak turun
E. Materi Pembelajaran

1. 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.

Contoh 5.10 Algoritma menghitung luas segitiga.

1. Start
2. Baca data alas dan tinggi.
3. Luas adalah alas kali tinggi kali 0.5
4. Tampilkan Luas
5. Stop

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.

Contoh 5.11 Hasil perbaikan algoritma perhitungan luas segitiga.


1. Start
2. Baca data alas dan tinggi.
3. Periksa data alas dan tinggi, jika nilai data alas dan tinggi lebih besar dari nol maka lanjutkan ke langkah ke 4 jika tidak maka stop
4. Luas adalah alas kali tinggi kali 0.5
5. Tampilkan Luas
6. Stop

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. Cara Penulisan Algoritma


Ada tiga cara penulisan algoritma, yaitu :
a. Structured English (SE)
SE merupakan alat yang cukup baik untuk menggambarkan suatu algoritma.Dasar dari SE adalah Bahasa Inggris, namun kita dapat memodifikasi
dengan Bahasa Indonesia sehingga kita boleh menyebutnya sebagai Structured Indonesian (SI).Algoritma seperti pada Contoh 5.10 dan 5.11
merupakan algoritma yang ditulis menggunakan SI. Karena dasarnya adalah bahasa sehari-hari, maka SE atau SI lebih tepat untuk
menggambarkan suatu algoritma yang akan dikomunikasikan kepada pemakai perangkat lunak.
b. Pseudocode
Pseudocode mirip dengan SE. Karena kemiripan ini kadang-kadang SE 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.Pseudocode didasarkan pada bahasa pemrograman yang sesungguhnya seperti BASIC, FORTRAN atau PASCAL. Pseudocode yang
berbasis bahasa PASCAL merupakan pseudocode yang sering digunakan Kadang-kadang orang menyebut pseudocode sebagai PASCAL-LIKE
algoritma Apabila Contoh 5.10 ditulis dalam pseudocode berbasis bahasa BASIC akan tampak seperti pada contoh 5.12.
Contoh 5.12.Pseudocode.
1. Start
2. READ alas, tinggi
3. Luas = 0.5 * alas * tinggi
4. PRINT Luas
5. Stop
Pada Contoh 5.12 tampak bahwa algoritma sudah sangat mirip dengan bahasa BASIC. Pernyataan seperti READ dan PRINT merupakan keyword
yang ada pada bahasa BASIC yang masing-masing menggantikan kata “baca data” dan “tampilkan”. Dengan menggunakan pseudocode seperti di
atas maka proses penterjemahan dari algoritma ke kode program menjadi lebih mudah.

c. Flowchart
Flowchart atau bagan alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di dalam suatu program secara logika.Flowchart merupakan
alat yang banyak digunakan untuk menggambarkan algoritma dalam bentu notasi-notasi tertentu. Secara lebih detil bagian ini akan dibahas pada
bagian berikutnya. Pada flowchart ada beberapa simbol penting yang digunakan untuk membuat algoritma sebagaimana tercantum pada Gambar
5.3.
Simbol Flowchart :

Gambar 5.3.Simbol-simbol yang digunakan dalam flowchart.

Program Flowchart dapat terdiri dari dua macam, yaitu bagan alir logika program ( program logic flowchart ) dan bagan alir program komputer
terinci (detailed computer program flowchart). Bagan alir logika program digunakan untuk menggambarkan tiap-tiap langkah di dalam program
komputer secara logika dan biasanya dipersiapkan oleh seorang analis system.Sedangkan bagan alir program komputer terinci digunakan untuk
menggambarkan instruksi-instruksi program komputer secara terinci dan biasanya dipersiapkan oleh seorang programmer.
Apabila Contoh 5.10 dibuat program flowchartnya maka akan tampak pada gambar 5.4.

Bagan alir logika program Bagan alir program komputer terinci

Gambar 5.4. Program flowchart.


3. Struktur Algoritma Berurutan

Ada tiga struktur dasar yang digunakan dalam membuat algoritma yaitu struktur berurutan sequencing), struktur pemilihan / keputusan /
percabangan (branching) dan struktur pengulangan (looping). Sebuah algoritma biasanya akan menggabungkan ketiga buah struktur ini untuk
menyelesaikan masalah.
Pada bagian ini kita akan bahas lebih dulu struktur algoritma berurutan. Struktur berurutan dapat kita samakan dengan
mobil yang sedang berjalan pada jalur lurus yang tidak terdapat persimpangan seperti tampak pada Gambar 5.5. Mobil
tersebut akan melewati kilometer demi kilometer jalan sampai tujuan tercapai.
Struktur berurutan terdiri satu atau lebih instruksi. Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya, yaitu sebuah
instruksi dieksekusi setelah instruksi sebelumnya selesai dieksekusi. Urutan instruksi menentukan keadaan akhir dari algoritma. Bila urutannya
diubah, maka hasil akhirnya mungkin juga berubah.
Menurut Goldshlager dan Lister (1988) struktur berurutan mengikuti ketentuan-ketentuan sebagai berikut:

 tiap instruksi dikerjakan satu persatu


 tiap instruksi dilaksanakan tepat sekali, tidak ada yang diulang
 urutan instruksi yang dilaksanakan pemroses sama dengan urutan aksi sebagaimana yang tertulis di dalam algoritmanya
 akhir dari instruksi terakhir merupakan akhir algoritma.

Contoh 5.13. Flowchart untuk menghitung luas bangun.


Buatlah flowchart untuk menghitung:
a. volume balok
b. luas lingkaran

Penyelesaian:
Soal ini merupakan permasalahan dengan algoritma struktur berurutan karena tidak ada proses pemilihan atau pengulangan. Untuk volume balok,
kita harus menentukan variabel input dan output yang dibutuhkan. Untuk menghitung volume balok dibutuhkan variabel input panjang, lebar
dan tinggi. Sedangkan variabel outputnya adalah volume. Pada luas lingkaran dibutuhkan variabel input radius dan variabel output luas. Untuk
menghitung luas lingkaran ini kita juga membutuhkan konstanta phi. Flowchart untuk dua masalah ini dapat dilihat pada Gambar 5.6.

Contoh 5.14. Flowchart untuk konversi suhu.


Buat flowchart untuk mengubah temperatur dalam Fahrenheit menjadi temperatur dalam Celcius dengan rumus C = 5/9 x (F -32).

Penyelesaian:
Soal ini juga masih menggunakan algoritma dengan struktur berurutan. Variabel input yang dibutuhkan adalah F dan variabel outputnya adalah C.
Flowchart untuk dua masalah ini dapat dilihat pada Gambar 5.7.
4. Struktur Algoritma Percabangan

Sebuah program tidak selamanya akan berjalan dengan mengikuti struktur berurutan, kadang-kadang kita perlu merubah urutan pelaksanaan
program dan menghendaki agar pelaksanaan program meloncat ke baris tertentu. Peristiwa ini kadang disebut sebagai percabangan/pemilihan atau
keputusan. Hal ini seperti halnya ketika mobil berada dalam persimpangan seperti pada Gambar 5.7. Pengemudi harus
memutuskan apakah harus menempuh jalur yang kanan atau yang kiri.

Pada struktur percabangan, program akan berpindah urutan pelaksanaan jika suatu kondisi yang disyaratkan dipenuhi.
Pada proses seperti ini simbol flowchart Decision harus digunakan. Simbol decision akan berisi pernyataan yang akan
diuji kebenarannya. Nilai hasil pengujian akan menentukan cabang mana yang akan ditempuh.

Contoh 5.15. Struktur percabangan untuk masalah batasan umur.

Sebuah aturan untuk menonton sebuah film tertentu adalah sebagai berikut, jika usia penonton lebih dari 17 tahun maka
penonton diperbolehkan dan apabila kurang dari 17 tahun maka penonton tidak diperbolehkan nonton. Buatlah
flowchart untuk permasalahan tersebut.
Penyelesaian:
Permasalahan diatas merupakan ciri permasalahan yang menggunakan struktur percabangan. Hal ini ditandai dengan adanya pernyataan jika
..maka ...(atau If ... Then dalam Bahasa Inggris. Flowchart penyelesaian masalah tampak pada Gambar 5.9. Pada gambar tersebut, tampak
penggunaan simbol Decision. Pada simbol ini terjadi pemeriksaan kondisi, yaitu apakah usia lebih dari 17 tahun atau tidak. Jika jawaban ya maka
program akan menghasilkan keluaran teks “Silahkan Menonton”, sedangkan jika input usia kurang dari 17 tahun maka program akan
menghasilkan keluaran teks “Anda Tidak Boleh Menonton”.
Contoh 5.16. Struktur percabangan untuk perhitungan dua buah bilangan.

Dalam suatu perhitungan nilai P = X + Y. Jika P positif, maka Q = X * Y, sedangkan jika negative maka nilai Q = X/Y. Buatlah flowchart untuk
mencari nilai P dan Q
Penyelesaian:
Pada contoh ini input yang dibutuhkan adalah nilai X dan Y, sedangkan proses pemeriksaan kondisi dilakukan pada nilai P apakah positif
(termasuk 0) ataukah negative. Perhatikan flowchart penyelesaian masalah pada Gambar 5.10.
Kedua contoh di atas (5.15 dan 5.16) merupakan contoh struktur percabangan sederhana yang melibatkan hanya satu percabangan. Pada masalah-
masalah yang lebih rumit, kita akan menjumpai lebih banyak percabangan. Kita juga akan menjumpai suatu struktur percabangan berada di dalam
struktur percabangan yang lain, atau yang biasa disebut nested (bersarang). Perhatikan contoh-contoh berikut.

Contoh 5.17. Struktur percabangan bersarang untuk masalah fotokopi.

Sebuah usaha fotokopi mempunyai aturan sebagai berikut :


- jika yang fotokopi statusnya adalah langganan, maka berapa lembar pun dia fotokopi, harga perlembarnya Rp. 75,-
- jika yang fotokopi bukan langganan, maka jika dia fotokopi kurang dari 100 lembar harga perlembarnya Rp. 100,-. Sedangkan jika lebih atau sama
dengan 100 lembar maka harga perlembarnya Rp. 85,-.

Buat flowchart untuk menghitung total harga yang harus dibayar jika seseorang memfotokopi sejumlah X lembar.
Penyelesaian:

Pada contoh ini, masalah terlihat lebih rumit. Ada dua percabangan yang terjadi. Yang pertama adalah pemeriksaan apakah status seseorang
pelanggan atau bukan. Kedua, apabila status seseorang bukan pelanggan, maka dilakukan pemeriksaan berapa jumlah lembar fotokopi, apakah
lebih dari 100 lembar atau tidak.

Pada soal ini kita juga menjumpai apa yang disebut sebagai nested. Perhatikan pernyataan pada syarat kedua dari persoalan di atas.
jika yang fotokopi bukan langganan, maka jika dia fotokopi kurang dari 100 lembar harga perlembarnya Rp. 100

pernyataan jika yang kedua berada di dalam jika yang pertama.

Input yang dibutuhkan untuk permasalahan ini adalah status orang yang fotokopi dan jumlah lembar yang difotokopi. Sehingga variable input
yang digunakan adalah:

- Status untuk status orang yang fotokopi


- JLF untuk jumlah lembar yang difotokopi

Selain itu terdapat variable dengan nama HPP yang digunakan untuk menyimpan harga per lembar dan TH untuk menyimpan nilai total harga.
Perhatikan, variable Status bertipe data char, sehingga penulisannya harus menggunakan tanda “ “.

Flowchart penyelesaian masalah ini dapat dilihat pada Gambar 5.11.


Contoh 5.18. Struktur percabangan bersarang untuk masalah kelulusan siswa.

Aturan kelulusan siswa pada mata pelajaran Pemrograman Web diterapkan


sebagai berikut :

- Jika nilai ujian tengah semester (UTS) lebih besar dari 70 maka siswa dinyatakan lulus
dan Nilai Akhir sama dengan nilai UTS.
- Jika nilai UTS kurang atau sama dengan 70 maka siswa dinyatakan lulus jika Nilai
Akhir lebih besar atau sama dengan 60 dimana Nilai Akhir = (nilai UTS x 40%) +
(nilai UAS x 60%).

Buatlah flowchart penyelesaian masalah tersebut apabila output yang diinginkan adalah
NIM, Nama Siswa, Nilai Akhir dan Status Kelulusan.
Penyelesaian:

Pada contoh ini, ada dua percabangan. Yang pertama adalah pemeriksaan apakah
nilai UTS siswa lebih dari 70. Kedua, apabila nilai UTS tidak lebih dari 70, maka
dilakukan pemeriksaan apakah nilai akhir lebih dari 60.
Input yang dibutuhkan untuk permasalahan ini adalah NIM, nama siswa, nilai UTS,
dan nilai UAS. Sehingga variable input yang digunakan adalah: NIM untuk
Nomor induk siswa, nama untuk nama siswa, NUTS untuk nilai ujian tengah semester,
dan NUAS untuk nilai ujian akhir semester. Sedangkan variabel ouput terdiri dari
NA yang digunakan untuk menyimpan nilai akhir dan Status untuk menyimpan
status kelulusan.

5. Struktur AlgoritmaPengulangan

Dalam banyak kasus seringkali kita dihadapkan pada sejumlah pekerjaan yang harus
diulang berkali. Salah satu contoh yang gampang kita jumpai adalah balapan
mobil seperti tampak pada gambar 5.13. Mobil-mobil peserta harus mengelilingi
lintasan sirkuit berkali-kali sesuai yang ditetapkan dalam aturan lomba. Siapa yang mencapai garis akhir
paling cepat, dialah yang menang.

Pada pembuatan program komputer, kita juga kadang-kadang harus mengulang satu atau sekelompok
perintah berkali-kali agar memperoleh hasil yang diinginkan. Dengan menggunakan komputer, eksekusi
pengulangan mudah dilakukan. Hal ini karena salah satu kelebihan komputer dibandingkan dengan manusia
adalah kemampuannya untuk mengerjakan tugas atau suatu instruksi berulangkali tanpa merasa lelah, bosan,
atau malas. Bandingkan dengan pengendara mobil balap, suatu ketika pasti dia merasa lelah dan bosan untuk
berputar-putar mengendarai mobil balapnya.

Struktur pengulangan terdiri dari dua bagian :


1. Kondisi pengulangan, yaitu syarat yang harus dipenuhi untuk melaksanakan pengulangan. Syarat ini biasanya dinyatakan dalam ekspresi Boolean
yang harus diuji apakah bernilai benar (true) atau salah (false)
2. Badan pengulangan (loop body), yaitu satu atau lebih instruksi yang akan diulang.

Pada struktur pengulangan, biasanya juga disertai bagian inisialisasi dan bagian terminasi. Inisialisasi adalah instruksi yang dilakukan sebelum
pengulangan dilakukan pertama kali. Bagian insialisasi umumnya digunakan untuk memberi nilai awal sebuah variable. Sedangkan terminasi
adalah instruksi yang dilakukan setelah pengulangan selesai dilaksanakan. Ada beberapa bentuk pengulangan yang dapat digunakan, masing-
masing dengan syarat dan karakteristik tersendiri. Beberapa bentuk dapat dipakai untuk kasus yang sama, namun ada bentuk yang hanya cocok
untuk kasus tertentu saja. Pemilihan bentuk pengulangan untuk masalah tertentu dapat mempengaruhi kebenaran algoritma. Pemilihan bentuk
pengulangan yang tepat bergantung pada masalah yang akan diprogram.

5.1 Struktur pengulangan dengan For

Pengulangan dengan menggunakan For, merupakan salah teknik


pengulangan yang paling tua dalam bahasa pemrograman. Hampir semua
bahasa pemrograman menyediakan metode ini, meskipun sintaksnya mungkin
berbeda. Pada struktur For kita harus tahu terlebih dahulu seberapa banyak
badan loop akan diulang. Struktur ini menggunakan sebuah variable yang
biasa disebut sebagai loop’s counter, yang nilainya akan naik atau turun selama
proses pengulangan. Flowchart umum untuk struktur For tampak pada
Gambar 5.14. Perhatikan penggunaan simbol preparation pada flowchart
tersebut.

F. Metode Pembelajaran

1. Pendekatan pembelajaran adalah pendekatan saintifik ( scientific).


2. Pembelajaran koperatif (cooperative learning) menggunakan kelompok diskusi yang berbasis masalah ( problem-based learning).
3. Praktek

G. Langkah-langkah Kegiatan Pembelajaran

Pertemuan ke- 1

a. Kegiatan Pendahuluan
1) Penciptaan ketertiban suasana belajar
2) Berdoa bersama
3) Mengabsensi siswa
4) Penjelasan mengenai tujuan pembelajaran

b. Kegiatan Inti
Mengamati
1) Pelbagai contoh penerapan algoritma dasar dalam kehidupan sehari-hari
2) Karakteristik tipe data
Menanya
1) Rumusan masalah terkait penerapan algoritma sederhana
2) Logika penyelesaian masalah dengan struktur algoritma
Menalar
1) Penerapkan konsep algorima (bahasa natural, flowchart dan pseudocode) untuk penyelesaikan permasalahan
Mencoba
1) Membuat algoritma sederhana untuk menyelesaikan permasalahan menggunakan bahasa natural, flowchart dan pseudocode
Mengkomunikasikan
1) Mempresentasikan algoritma penyelesaian permasalahan

c. Kegiatan Penutup
1) Melakukan pengecekan pada hasil praktik siswa (kelompok)
2) Kegiatan refleksi
3) Penutup (berdoa bersama)

H. Alat/Bahan/Sumber Belajar

1. Whiteboard, spidol dan penghapus


2. Komputer/Laptop beserta kelengkapannya
3. Buku teks pelajaran
4. Buku panduan guru
5. Sutedjo, budi, “Algoritma dan Teknik Pemrograman, Penerbit ANDI, Yogyakarta, 2009.
6. Munir, Rinaldi, “Algoritma dan pemrograman dalam bahasa Pascal dan C”, Informatika Bandung, 2011

I. Penilaian

a. Penilaian Proses
Aspek yang Teknik Instrumen Keterangan
No Waktu Penilaian
dinilai Penilaian Penilaian
1. Jujur 1.Pengamata 1. Selama Tugas, Hasil penilaian
2. Disiplin n Sikap pembelajaran Portopolio, nomor 1 dan 2
3. Tanggungjawab 2.Pengamma Observasi, untuk
dan saat Tes
4. Peduli tan dan tes masukan
Aspek yang Teknik Instrumen Keterangan
No Waktu Penilaian
dinilai Penilaian Penilaian
5. Santun pengetahuan diskusi tertulis, pembinaan dan
6. Responsif 3.Pengamata (teori/Prakte praktek informasi bagi
7. Proaktif n dalam k) Guru Agama
ranah 2. Penyelesaia dan Guru PKn
ketrampilan n tugas
individu dan
kelompok
3. Penyelesaia
n tugas (baik
individu
maupun
kelompok)
dan saat
diskusi

b. Penilaian Hasil
Indikator Pencapaian Teknik Bentuk
Instrumen
Kompetensi Penilaian Penilaian
Memahamipengguna Tugas Skor Tugas:
an algoritma dan - Membuat algoritma
konsep (pseudocode dan flowchart)
untuk menyelesaikan
algoritmapemrogram permasalahan
an menggunakan logika
Terampil menerapkan Tugas ceklist perulangan
konsep/prinsip dan Portopolio:
strategi pemecahan - Laporan praktikum
masalah yang relevan algoritma perulangan
yang berkaitan dengan Observasi:
struktur algoritma. - checklist hasil
pengamatanPelbagai ragam
contoh penerapan algoritma
perulangan
Tes:
Tes tertulis dan praktek
algoritma perulangan

Soal dan Kunci jawaban :


A. Soal tes kemampuan penguasaan materi :
1. Buatlah algoritma dan diagram alir (flowchart) untuk menampilkan nama Anda sebanyak 10 baris ke bawah menggunakan perintah for-do.
2. Buatlah algoritma dan diagram alir (flowchart) untuk menampilkan :
” Sangat Baik” apabila nilainya 85-100;
”Baik” apabila nilainya 70-84;
”Cukup” apabila nilainya 60-69;
”Kurang” apabila nilainya 0-59;
dengan menggunakan perintah if-then.

B. Tugas Praktik (Kelompok) :


1. Buatlah program menggunakan turbo pascal 7.0 untuk menampilkan nama Anda sebanyak 10 baris ke bawah menggunakan perintah for-do.
2. Buatlah program menggunakan Turbo Pascal 7.0 untuk menampilkan :
” Sangat Baik” apabila nilainya 85-100;
”Baik” apabila nilainya 70-84;
”Cukup” apabila nilainya 60-69;
”Kurang” apabila nilainya 0-59;
dengan menggunakan perintah if-then.

Kriteria Penilaian dan Kunci Jawaban:


A. Soal tes kemampuan penguasaan materi :
1. Skor maksimal = 5
Algoritma :
Langkah 1 : Mulai
Langkah 2 : Tentukan nilai awal i = 0
Langkah 3 : Tampilkan nama
Langkah 4 : i = i + 1
Langkah 5 : Periksa apakah a sudah = 11 ?
Jika belum maka kembali ke langkah 3;
Jika sudah lanjutkan ke langkah 6

Langkah 6 : Selesai

Diagram Alir (Flowchart)

2. Skor maksimal = 5
Algoritma :
Langkah 1 : Mulai
Langkah 2 : Masukkan nilai
Langkah 3 : Periksa nilai
Jika nilainya ≥ 85, maka tampilkan ”Sangat Baik”
Jika nilainya ≥ 70, maka tampilkan ”Baik”
Jika nilainya ≥ 60, maka tampilkan ”Cukup”
Jika nilainya ≥ 0 , maka tampilkan ”Kurang”
Langkah 4 : Selesai
Diagram Alir (Flowchart)
B. Tugas Praktik (Kelompok) :
Kunci :
1. uses crt;
var
i : integer;
begin
for i := 1 to 10 do
write (’Susilo’);
readln;
end.
2. uses crt;
var
nilai : integer;
begin
write (’Masukkan nilai : ’); readln (nilai);
if nilai ≥ 85 then write (’Sangat Baik’) else
if nilai ≥ 70 then write (’Baik’) else
if nilai ≥ 60 then write (’Cukup’) else
if nilai ≥ 0 then write (’Kurang’); readln;
end.
Penilaian Kinerja dan Aspek Ilmiah :

Skor Perolehan Kelompok


Sangat Kurang Cukup Baik Sangat
No Aspek
Kurang Baik (5)
(1) (2) (3) (4)
1. Kesungguhan dalam melakukan kegiatan
(kedisiplinan)
2. Kejujuran
3. Ketelitian dalam mengerjakan program
4. Penggunaan waktu secara efektif
5. Mengakses dan mengorganisir informasi (kerja
sama)
6. Tanggung jawab
7. Memecahkan masalah
Catatan : Berikan tanda cek list ( √ ) untuk setiap penampilan dari setiap tindakan yang dilakukan kelompok (skor perolehan kelompok).

Tanjung Raja, Juli 2016


Guru Mata Pelajaran

Sriyadi