A. Kompetensi Inti
1. Menghayati dan mengamalkan ajaran agama yang dianutnya
2. Mengembangkan perilaku (jujur, disiplin, tanggung jawab, peduli, santun,
ramah lingkungan, gotong royong, kerjasama, cinta damai, responsif dan
proaktif) dan menunjukkan sikap sebagai bagian dari solusi atas berbagai
permasalahan bangsa 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,
kenegaraan, dan peradaban terkait fenomena dan kejadian, serta menerapkan
pengetahuan prosedural pada bidang kajian yang spesifik sesuai dengan bakat
dan minatnya untuk memecahkan masalah.
4. Mengolah, menalar, menyaji, dan mencipta dalam ranah konkret dan ranah
abstrak terkait dengan pengembangan dari yang dipelajarinya di sekolah secara
mandiri, dan mampu menggunakan metoda sesuai kaidah keilmuan.
4.6 Mengolah data menggunakan konsep tipe data, variabel, konstanta, operator
dan ekspresi
a. Menyajikan informasi mengenai penggunaan tipe data dan variabel.
b. Menyajikan informasi mengenai penggunaan konstanta.
c. Menyajikan informasi mengenai penggunaan operator ekspresi
C. Tujuan pembelajaran
a. Dapat mengetahui dan mengerti pengertian variabel, konstanta.
b. Mengetahui Fungsi variabel dan konstanta
c. Membuat Program dengan menggunakan konstanta
D. Materi Ajar
1. Tipe data, variabel, operator dan ekspresi
2. Tipe data, variabel dan konstanta.
3. Operator dan ekspresi
E. Metode Pembelajaran
1. Penyampaian
2. Tanya jawab
3. Tes Program
4. Praktek
F. Media pembelajaran
1. Komputer
2. Buku Algoritma
3. Buku Struktur data
4. Internet
Menanya :
1. Siswa berdikusi menganalisa penggunaan
variabel, operator dan ekspresi dalam algoritma.
2. Siswa berdikusi menganalisa penggunaan
variabel, konstanta dalam algoritma.
3. Siswa berdikusi menganalisa penggunaan
operator dan ekspresi dalam algoritma.
120 Menit
Mengeksplorasi:
1. Siswa membuat kode program menggunakan
ragam tipe data variabel, konstanta, operator dan
ekspresi dengan program sederhana.
2. Siswa melakukan kompilasi, eksekusi dan
perbaikan pada kesalahan-kesalahan yang
terdapat dalam program.
Mengasosiasi:
1. Siswa membuat sebuah kesimpulan tentang
penggunaan tipe data, variabel, konstanta,
operator dan ekspresi dalam sebuah program
sederhana.
Mengkomunikasikan:
1. Siswa membuat sebuah laporan dan
mempresentasikan hasil dari sebuah program
sederhana.
C. 1. Mereview kembali materi yang telah
Penutup disampaikan
2. Siswa mengerjakan evaluasi 30 Menit
3. Siswa saling memberikan umpan balik hasil
evaluasi pembelajaran yang telah dicapai.
Pertemuan 3 – 4
Alokasi
Kegiatan Deskripsi
Waktu
A. Pendahuluan 1. Siswa menjawab sapaan guru, berdoa, dan
mengondisikan diri siap belajar
2. Guru dan siswa bertanya jawab berkaitan dengan
identitas diri yang dibutuhkan sebagai warga negara 30 Menit
yang baik.
3. Guru menyampaikan tujuan pembelajaran
4. Guru memotivasi siswa agar semakin giat belajar
B. Mengamati :
Inti 1. Siswa mengamati dan mendengarkan
penjelasan mengenai variabel, operator dan
ekspresi.
2. Siswa mengamati dan mendengarkan
penjelasan mengenai variabel, operator dan
konstanta.
3. Siswa mengamati dan mendengarkan
penjelasan mengenai operator dan ekspresi.
Menanya :
1. Siswa berdikusi menganalisa penggunaan
variabel, operator dan ekspresi dalam algoritma.
2. Siswa berdikusi menganalisa penggunaan
variabel, konstanta dalam algoritma.
3. Siswa berdikusi menganalisa penggunaan
operator dan ekspresi dalam algoritma.
120 Menit
Mengeksplorasi:
1. Siswa membuat kode program menggunakan
ragam tipe data variabel, konstanta, operator dan
ekspresi dengan program sederhana.
2. Siswa melakukan kompilasi, eksekusi dan
perbaikan pada kesalahan-kesalahan yang
terdapat dalam program.
Mengasosiasi:
2. Siswa membuat sebuah kesimpulan tentang
penggunaan tipe data, variabel, konstanta,
operator dan ekspresi dalam sebuah program
sederhana.
Mengkomunikasikan:
1. Siswa membuat sebuah laporan dan
mempresentasikan hasil dari sebuah program
sederhana.
C. 1. Mereview kembali materi yang telah
Penutup disampaikan
2. Siswa mengerjakan evaluasi 30 Menit
3. Siswa saling memberikan umpan balik hasil
evaluasi pembelajaran yang telah dicapai.
H. Sumber Belajar
1. Buku Algoritma dan Pemrograman Pascal
2. Internet
3. Modul produktif, Buku Algoritma dan pemograman tingkat Dasar
I. Alat Pembelajaran
1. Laptop
2. LCD
3. White board
4. Spidol
J. Penilaian
1. Teknik penilaian : Test tertulis
2. Bentuk Instrumen dan Instumrn :
a. Bentuk Instrumen : Tes Uraian
b. Instrumen : Terlampir
3. Pedoman Peskroan : Terlampir
A. Kompetensi Dasar
Menerapkan Penggunaan Tipe Data, Variabel, Konstanta, Operator dan Ekspresi
B. Indikator
Defenisi Tipe data, variabel, Konstanta, Operator dan Ekspresi
Pertemuan 1
Tipe Data
Adalah adalah jenis data yang dapat diolah oleh komputer untuk memenuhi
kebutuhan dalam pemrograman komputer. Setiap variabel atau konstanta yang ada
dalam kode program, sebaiknya kita tentukan dengan pasti tipe datanya. Ketepatan
pemilihan tipe data pada variabel atau konstanta akan sangat menentukan pemakaian
sumberdaya komputer (terutama memori komputer). Salah satu tugas penting seorang
programmer adalah memilih tipe data yang sesuai untuk menghasilkan program yang
efisien dan berkinerja tinggi
Konstanta
Adalah variabel yang nilai datanya bersifat tetap dan tidak bisa diubah. Jadi
konstanta adalah juga variabel bedanya adalah pada nilai yang disimpannya. Jika nilai
datanya sepanjang program berjalan tidak berubah-ubah, Maka sebuah varibel lebih
baik diperlakukan sebagai konstanta. Pada sebuah kode program, biasanya nilai data
dari konstanta diberikan langsung dibagian deklarasi konstanta. Sedangkan untuk
variabel biasanya hanya ditentukan nama variabel dan tipe datanya tanpa isian nilai
data. Aturanpena maan variabel juga berlaku untuk penamaan konstanta. Demikian juga
aturan penetapan tipe data.
Variabel
adalah tempat dimana kita dapat mengisi atau mengosongkan nilainya dan
memanggil kembali apabila dibutuhkan.
Pada sebagian besar bahasa pemrograman, variabel harus dideklarasikan lebih
dulu untuk mempermudah compiler bekerja. Apabila variabel tidak dideklarasikan maka
setiap kali compiler bertemu dengan variabel baru pada kode program akan terjadi
waktu tunda karena compiler harus membuat variabel baru. Hal ini memperlambat
proses kerja compiler. Bahkan pada beberapa bahasa pemrograman, compiler akan
menolak untuk melanjutkan proses kompilasi. Pemberian nama variabel harus
mengikuti aturan yang ditetapkan oleh bahasa pemrograman yang kita gunakan. Namun
secara umum ada aturan yang berlaku untuk hampir semua bahasa pemrograman.
Aturan-aturan tersebut yaitu:
Nama variabel harus diawali dengan huruf.
Tidak boleh menggunakan spasi pada satu nama variabel. Spasi bisa diganti
dengan karakter underscore (_).
Nama variabel tidak boleh mengandung karakter-karakter khusus, seperti : .,+, -,
*, /, <, >, &, (, ) dan lain-lain.
Nama variabel tidak boleh menggunakan kata-kata kunci d bahasa Pemrograman.
Pertemuan 2
Tipe Data
Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi
kebutuhan dalam pemrograman komputer. Setiap variabel atau konstanta yang ada
dalam kode program, sebaiknya kita tentukan dengan pasti tipe datanya. Ketepatan
pemilihan tipe data pada variabel atau konstanta akan sangat menentukan pemakaian
sumberdaya komputer (terutama memori komputer). Salah satu tugas penting seorang
programmer adalah memilih tipe data yang sesuai untuk menghasilkan program yang
efisien dan berkinerja tinggi. Ada banyak tipe data yang tersedia tergantung jenis bahasa
pemrograman yang dipakai.
2. Character
Bersama dengan tipe data numeric, character merupakan tipe data yang paling
banyak digunakan. Tipe data character kadang disebut sebagai char atau string. Tipe
data string hanya dapat digunakan menyimpan teks atau apapun sepanjang berada
dalam tanda petik dua (“…”) atau petik tunggal (‘…’).
3. Boolean
Tipe data Boolean digunakan untuk menyimpan nilai True/False (Benar/Salah).
Pada sebagian besar bahasa pemrograman nilai selain 0 menunjukkan True dan 0
melambangkan False. Tipe data ini banyak digunakan untuk pengambilan keputusan
pada struktur percabangan dengan IF … THEN atau IF … THEN … ELSE
Pertemuan 3
Array
Array atau sering disebut sebagai larik adalah tipe data yang sudah terstruktur dengan
baik, meskipun masih sederhana. Array mampu menyimpan sejumlah data dengan tipe yang
sama (homogen) dalam sebuah variabel. Setiap lokasi data array diberi nomor indeks yang
berfungsi sebagai alamat dari data tersebut. Penjelasan tentang array akan disampaikan lebih
detil pada bagian lain dari bab ini.
Ket :
Image atau gambar atau citra merupakan tipe data grafik. Misalnya grafik perkembangan jumlah
siswa SMK, foto keluarga kita, video perjalanan dan lain-lain. Pada bahasa-bahasa pemrograman
modern terutama yang berbasis visual tipe data ini telah didukung dengan sangat baik.
Date Time
Nilai data untuk tanggal (Date) dan waktu (Time) secara internal disimpan dalam format
yang pesifik. Variabel atau konstanta yang dideklarasikan dengan tipe data Date dapat
digunakan untuk menyimpan baik tanggal maupun jam. Tipe data ini masuk dalam kelompok
tipe data composite karena merupakan bentukan dari beberapa tipe data.
Berikut ini contoh tipe data dalam Visual Basic.
Dim WaktuLahir As Date
WaktuLahir = “01/01/1997”
WaktuLahir = “13:03:05 AM”
WaktuLahir = “02/23/1998 13:13:40 AM”
WaktuLahir = #02/23/1998 13:13:40 AM#
Tipe data lain
Subrange
Tipe data subrange merupakan tipe data bilangan yang mempunyai jangkauan nilai
tertentu sesuai dengan yang ditetapkan programmer. Biasanya tipe data ini mempunyai nilai
batas minimum dan nilai batas maksimum. Tipe data ini didukung dengan sangat baik dalam
Delphi. Berikut ini contoh deklarasi tipe data subrange dalam Delphi.
Contoh 5.7.
Deklarasi tipe data subrange pada Delphi.
Type
BatasIndeks = 1..20
RentangTahun = 1950..2030
Var
Indeks : BatasIndeks
Tahun : RentangTahun
Enumerasi
Tipe data ini merupakan tipe data yang mempunyai elemen-elemen yang harus disebut
satu persatu dan bernilai konstanta integer sesuai dengan urutannya. Nilai konstanta integer
elemen ini diwakili oleh suatu nama variable yang ditulis di dalam kurung. Tipe data ini juga
dijumpai pada Delphi dan bahasa pemrograman deklaratif seperti SQL.
Berikut ini contoh deklarasi tipe data enumerasi dalam Delphi.
Contoh 5.8. Penggunaan tipe data enumerasi.
Type Hari_dlm_Minggu = (Nol, Senin, Selasa, Rabu,Kamis, Jumat, Sabtu, Minggu)
Nama_Bulan = (Nol, Januari, Pebruari, Maret, April, Mei, Juni, Juli, Agustus,
September, Oktober, Nopember, Desember)
Var No_Hari : Hari_dlm_MingguNo_Bulan : Nama_Bulan
Pada contoh di atas tipe data Hari_dlm_Minggu termasuk enumerasi dengan rentang nilai
Nol, Senin sampai dengan Minggu dan nilai data dari 0, 1, sampai dengan 7. Sedangkan tipe data
Nama_Bulan termasuk enumerasi dengan rentang nilai Nol, Januari sampai dengan Desember
dan nilai data dari 0, 1, sampai dengan 12
Object
Tipe data object digunakan untuk menyimpan nilai yang berhubungan dengan obyek-
obyek yang disediakan oleh Visual Basic, Delphi dan dan bahasa pemrograman lain yang
berbasis GUI. Sebagai contoh, apabila kita mempunyai form yang memiliki control Command
button yang kita beri nama Command1, kita dapat mendeklarasikan variabel sebagai berikut :
Contoh 5.9. Penggunaan tipe data object.
Dim A As CommandButton
Set A = Command1
A.Caption = “HEY!!!”
A.FontBold = True
Pada contoh ini variabel A dideklarasikan bertipe data Object yaitu CommandButton.
Kemudian kita set variabel A dengan control Command button yang ada pada form (Command1).
Dengan cara ini kita dapat mengakses seluruh property, method dan event obyek Command1
dengan menggunakan variabel A.
Variant
Tipe data hanya ada di Visual Basic. Tipe ini adalah tipe data yang paling fleksibel di
antara tipe data yang lain, karena dapat mengakomodasi semua tipe data yang lain seperti telah
dijelaskan.
Pertemuan 4
Contoh-contoh program di dalam menggunakan variabel, konstanta.
a. Mencari Luas segitiga
Perhatikan algoritma sederhana berikut
Mulai
Baca data alas dan tinggi.
Luas adalah alas kali tinggi kali 0.5
Tampilkan Luas
Stop
Keterangan :
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.
Hasil perbaikan algoritma perhitungan luas segitiga
Start
Baca data alas dan tinggi.
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
Luas adalah alas kali tinggi kali 0.5
Tampilkan Luas
Stop
Keterangan :
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
A. Kompetensi Dasar
Menerapkan Penggunaan Tipe Data, Variabel, Konstanta, Operator dan Ekspresi
B. Indikator
Defenisi Tipe data, variabel, Konstanta, Operator dan Ekspresi
a. Soal
1. Tuliskan pengertian Tipe Data
2. Tuliskan pengertian Variabel !
3. Tuliskan pengertian Konstanta
4. Gambarkan macam-macam Tipe Data !
5. Buat sebuah program sederhana dengan menggunakan variabel !
b. Kunci Jawaban
1. Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi
kebutuhan dalam pemrograman komputer. Setiap variabel atau konstanta yang ada
dalam kode program, sebaiknya kita tentukan dengan pasti tipe datanya. Ketepatan
pemilihan tipe data pada variabel atau konstanta akan sangat menentukan pemakaian
sumberdaya komputer (terutama memori komputer). Salah satu tugas penting seorang
programmer adalah memilih tipe data yang sesuai untuk menghasilkan program yang
efisien dan berkinerja tinggi
2. Variabel adalah tempat dimana kita dapat mengisi atau mengosongkan nilainya
dan memanggil kembali apabila dibutuhkan.
3. Konstanta adalah variabel yang nilai datanya bersifat tetap dan tidak bisa
diubah. Jadi konstanta adalah juga variabel bedanya adalah pada nilai yang
disimpannya. Jika nilai datanya sepanjang program berjalan tidak berubah-ubah, Maka
sebuah varibel lebih baik diperlakukan sebagai konstanta. Pada sebuah kode program,
biasanya nilai data dari konstanta diberikan langsung dibagian deklarasi konstanta.
Sedangkan untuk variabel biasanya hanya ditentukan nama variabel dan tipe datanya
tanpa isian nilai data.
Hasil Eksekusi
X =12
Y =2.15
Z =25
c. Penskoran
Pedoman Penilaian :
Konversi Nilai = Jumlah Skor x 20,
Jumlah Skor maksimal 20, maka 5 x 20 = 100
Lampiran 3
LEMBAR PENGAMATAN SIKAP
Kompetensi : Sikap
Satuan Pendidikan : SMK Swasta Teladan
Kelas/Semester : X/II
Mata Pelajaran : Pemrograman Dasar
Pertemuan ke : 1–4
Alokasi waktu : 8 x 45
1. Kompetensi dasar :
Berlaku jujur dan bertanggung jawab dalam mengerjakan tugas-tugas dari dalam
pembelajaran Pemrograman Dasar.
2. Indikator
1. Peserta didik dapat berperilaku jujur dalam menyalin informasi dari buku
sumber
2. Peserta didik dapat bertanggung jawab dalam mengerjakan tugas.
3. Peserta didik dapat berperilaku disiplin dalam mengumpulkan tugas
4. Peserta didik dapat menunjukkan kerja sama dalam belajar Pemrograman
dasar.
5. Peserta didik dapt berperilaku santun dalam belajar.
A. Kompetensi Dasar
Menerapkan Penggunaan Tipe Data, Variabel, Konstanta, Operator dan Ekspresi
B. Indikator
Defenisi Tipe data, variabel, Konstanta, Operator dan Ekspresi
Isilah dengan tanda centang (√) apabila seorang siswa melakukan aktivitas !
Aspek keterampilan *) Nilai **)
No. Nama
1 2 3 4 5
A. Kompetensi Inti
1. Menghayati dan mengamalkan ajaran agama yang dianutnya
2. Mengembangkan perilaku (jujur, disiplin, tanggung jawab, peduli, santun,
ramah lingkungan, gotong royong, kerjasama, cinta damai, responsif dan
proaktif) dan menunjukkan sikap sebagai bagian dari solusi atas berbagai
permasalahan bangsa 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,
kenegaraan, dan peradaban terkait fenomena dan kejadian, serta menerapkan
pengetahuan prosedural pada bidang kajian yang spesifik sesuai dengan bakat
dan minatnya untuk memecahkan masalah.
4. Mengolah, menalar, menyaji, dan mencipta dalam ranah konkret dan ranah
abstrak terkait dengan pengembangan dari yang dipelajarinya di sekolah secara
mandiri, dan mampu menggunakan metoda sesuai kaidah keilmuan.
C. Tujuan Pembelajaran
a. Dapat mengetahui defenisi percabangan
b. Dapat mengetahui fungsi dari percabangan 1 kondisi dengan 2 kondisi
c. Dapat membuat sebuah program sederhana dengan menggunakan percabangan
D. Materi Ajar
a. Struktur kontrol percabangan
b. Percabangan 1 kondisi
c. Percabangan 2 kondisi
d. Percabangan lebih dari 2 kondisi
E. Metode Pembelajaran
1. Penyampaian
2. Tanya jawab
3. Tes Program
4. Praktek
F. Sumber pembelajaran
1. Buku Algoritma dan Pemrograman Pascal
2. Internet
3. Modul produktif, Buku Algoritma dan pemograman tingkat Dasar.
Menanya :
1. Siswa berdikusi menganalisa tentang
percabangan.
2. Siswa berdikusi menganalisa tentang
percabangan 1 kondisi.
3. Siswa berdikusi menganalisa tentang
percabangan 2 kondisi.
Mengeksplorasi:
1. Siswa membuat kode program
menggunakan percabangan 1 kondisi, 2
kondisi, lebih dari 2 kondisi dan percabangan
bersarang.
2. Siswa melakukan kompilasi, eksekusi dan
perbaikan pada kesalahan-kesalahan yang
terdapat dalam program.
Mengasosiasi:
1. Siswa membuat sebuah kesimpulan
tentang penggunaan percabangan 1 kondisi,
2 kondisi, lebih dari 2 kondisi dan
percabangan bersarang.
Mengkomunikasikan:
Siswa membuat sebuah laporan dan
mempresentasikan hasil dari sebuah program
sederhana.
15 enit
45 Menit
A.
Pertemuan 8 – 10
Menanya :
1. Siswa berdikusi menganalisa tentang
percabangan.
2. Siswa berdikusi menganalisa tentang
percabangan 1 kondisi.
3. Siswa berdikusi menganalisa tentang
percabangan 2 kondisi.
Mengeksplorasi:
180 Menit
1. Siswa membuat kode program
menggunakan percabangan 1 kondisi, 2
kondisi, lebih dari 2 kondisi dan percabangan
bersarang.
2. Siswa melakukan kompilasi, eksekusi dan
perbaikan pada kesalahan-kesalahan yang
terdapat dalam program.
Mengasosiasi:
1. Siswa membuat sebuah kesimpulan
tentang penggunaan percabangan 1 kondisi,
2 kondisi, lebih dari 2 kondisi dan
percabangan bersarang.
Mengkomunikasikan:
1. Siswa membuat sebuah laporan dan
mempresentasikan hasil dari sebuah program
sederhana.
16 enit
45 Menit
A.
H. Alat Pembelajaran
1. Laptop
2. Infocus
3. Komputer
I. Penilaian
1. Teknik penilaian : Test tertulis
2. Bentuk Instrumen dan Instumrn
a. Bentuk Instrumen : Tes Uraian
b. Instrumen : Terlampir
3. Pedoman Peskroan : Terlampir
Mengetahui ;
Kepala SMK Swasta Teladan
Pematangsiantar,
SUDARLIAN, S.Pd.,M.Si.
Lampiran 1
BAHAN AJAR
A. Kompetensi Dasar
a. Menerapkan Struktur kontrol percabangan dalam bahasa pemrograman
B. Indikator
1. Membuat Struktur kontrol percabangan,
2. Membuat Percabangan 1 kondisi
3. Membuat Percabangan 2 kondisi
4. Membuat Percabangan lebih dari 2 kondisi
PERTEMUAN 5
Struktur Algoritma Pemrograman
Sebelum memasuki materi tentang percabangan, terlebih dahulu kita harus mengetahui
apa itu algoritma?
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:
Mulai
2. Baca data alas dan tinggi.
3. Luas adalah alas kali tinggi kali 0.5
4. Tampilkan Luas
5. Stop
Keterangan :
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.
PERTEMUAN 6
Pencarian Data dalam Array
Salah satu permasalahan yang sering dijumpai dalam array adalah bagaimana mencari
elemen tertentu dari array. Misalnya pada kasus loker pada Gambar 5.21 di atas tersedia 100
kotak. Kemudian kita diminta untuk mencari nomor kotak keberapa yang dimiliki oleh seorang
siswa bernama “Rudi”. Contoh yang lain, misalkan ada banyak siswa dalam satu sekolah dan kita
diminta mencari data seorang siswa dengan nama tertentu atau alamat tertentu.
Perhatikan contoh berikut.
Contoh 5.24. Pencarian pada array.
Pada contoh ini kita diminta mencari elemen yang berisi angka 12 dari sekumpulan
elemen dalam array. Ada 6 elemen pada array tersebut. Menurut kalian bagaimanakah algoritma
penyelesaiannya?
Cara yang paling umum dan paling mudah dilakukan adalah dengan cara pencarian
berurutan (linear search). Pada masa lalu cara ini dianggap tidak efisien karena membutuhkan
waktu lama. Namun dengan perkembangan komputer yang sangat cepat, waktu eksekusi
algoritma ini tidak terlalu dipermasalahkan. Cara ini dilakukan dengan cara membandingkan isi
dari elemen dengan apa yang kita cari. Satu per satu dimulai dari elemen yang paling awal.
Apabila kita terapkan pada Contoh 5.24, maka eksekusi program akan berlangsung berurutan
sebagai berikut :
Tetapkan bilangan yang ingin kita cari (yaitu 12)
Ambil elemen paling awal (yaitu A[0]), bandingkan isi elemen tersebut (yaitu 23)
dengan bilangan yang kita cari. Jika sama maka stop.
Jika tidak maka lanjutkan dengan elemen berikutnya (yaitu A[1]), bandingkan isi
elemen tersebut dengan bilangan yang kita cari. Jika sama maka stop.
Jika tidak maka lanjutkan dengan elemen berikutnya. Dan seterusnya sampai
dijumpai elemen yang berisi sama dengan bilangan yang kita cari.
Deklarasi Array
Array adalah struktur data yang statik, yaitu jumlah elemen array harus sudah diketaui
sebelum program dieksekusi.
Macam-macam array terdiri atas :
a. Array 1 dimensi dituliskan :
Variabel [ indeks ]
b. Array 2 dimensi dituliskan :
Variabel [ indeks1, indeks2 ]
c. Array 3 dimensi dituliskan :
Variabel [ indeks1, indeks2, indeks3 ]
Syntax :
Variabel [ indeks ]
Variabel [ indeks1, indeks2 ]
Variabel [ indeks1, indeks2, indeks3 ]
Deklarasi
Var
< Nama Array = array [indeks] of tipe data;
< Nama Array = array [indeks1, indeks2] of tipe data;
tipe data;
< Nama Array = array [indeks1, indeks2, indeks3] of tipe data;
of tipe data;
Contoh :
1. Bentuk Pertama sebagai variabel
Deklarasi
Nilai : Array [ 1..15] of integer
Nama : Array [ ‘A’..’Z’] of string
3. Bentuk Ketiga dengan ukuran maksimum elemen larik sebagai sebuah konstanta
Deklarasi
Const max : 100
Type
Nilai : Array [ 1..max ] of real
Var
X : Nilai
Atau
X : Array [1..100 ] of real
PERTEMUAN 7
PERCABANGAN 1 KONDISI
a. Variabel tunggal
Keseluruhan data yang di input akan disimpan pada satu tempat saja sehingga nantinya
yang tersimpan data yang paling akhir.
Contoh dalam bahas Pemrograman Pascal :
Uses Crt;
Var
I,n,x : integer;
Procedure Inputan ( var x,n : integer);
Begin
For i := 1 to n do
Begin
Write (’masukkan suku ke-’,i,’=’);
Readln(x);
End;
End;
Procedure Keluaran ( var x,n : integer);
Begin
For i := 1 to n do
Write (‘x[’,i,’]=’,x);
End;
Begin
Clrscr;
Write(’Masukkan N (mak 100) :’);
Readln(n);
Inputan(x,n);
Writeln; Writeln;
Keluaran(x,n);
Readln;
End.
b. Variabel berindeks
Data akan disimpan berdasarkan alamat dari suatu indeksnya.
Contoh dalam Program Pascal :
Uses Crt;
Type
Latih = array [ 1..max ] of real;
Var
X : latih;
I,n : integer;
Procedure Inputan (masuk : latih; n : integer);
Begin
For i := 1 to n do
Begin
Write (’Masukkan suku ke-’,i, ’= ’);
Readln(x [ i ]);
End;
End;
Procedure Keluaran (cetak : latih; n : integer);
Begin
For i := 1 to n do
Write (’x [‘,I,’ ] = x [ i ] :6:1);
End;
Begin
Clrscr;
Write (‘Masukkan N (mak 100) : ‘);
Readln(n);
Inputan(x,n);
Writeln; Writeln;
Keluaran(x,n)
Readln;
End.
Jika Dijalankan maka hasilnya :
Masukkan N (mak 100) : ketikkan 5
Masukkan suku ke-1 = 10
Masukkan suku ke-2 = 15
Masukkan suku ke-3 = 20
Masukkan suku ke-4 = 25
Masukkan suku ke-5 = 30
Hasilnya :
X[1] =10
X[2] = 15
X[3] = 20
X[4] = 25
X[5] = 30
PERTEMUAN 7
Larik 2 Dimensi
Misalkkan Matrik C ukuran 3x4 yang merupakan hasil penjumlahan dari Matrik A ukuran
3x4 dan Matrik B ukuran 3x4.
dan
( ) ( )
a b c d m n o p
A= e f g h B= q r s t
i j k l u v w x
( )
a+m b+n c+ o d + p
C= e+q f + r g+s h+ t
i+u j+v k +w l+x
Deklarasi
Deskripsi
Read (N)
Input_ArrayA(x,M,N)
Input_ArrayB(x,M,N)
Jumlah_Array(x,M,N)
Implementasinya dalam bahasa Pemrograman Pascal :
Uses Crt;
Type
Latih = array [ 1..10, 1..10] of integer;
Var
I,j,n,m : Integer;
A,B,C : latih;
Operasi File
File seringkali digunakan untuk menyimpan data agar data tidak hilang. Data atau yang
ada dan dihasilkan pada program akan hilang ketika program diakhiri, sehingga file digunakan
untuk menyimpan data tersebut. Ada dua jenis file yaitu file program dan file data. File program
berisi kode-kode program sedangkan file data hanya berisi data. File data terdiri dari dua jenis
yaitu file data berurutan (sequential data file) dan file data acak (random-access data file).
PERTEMUAN 8
Algoritma Penulisan Data pada File
Algoritma yang digunakan untuk penulisan data untuk file data berurutan maupun acak
secara rinsip sama, hanya modusnya yang berbeda.
Berikut ini adalah algoritma penulisan data.
Open “modus”, <buffer number>, “nama file data” Write <record number>,
field 1, field 2, .. field n
Close buffer number Modus O menunjukkan file ini dibuka untuk ditulisi.
Contoh 5.25.
Contoh Penerapan algoritma penulisan data.Misalkan kita punya file data dengan nama
“siswa.dat” yang field-nya adalah nama siswa, alamat, nomor telepon. Maka untuk menuliskan
data adalah sebagai berikut :
Open “O”, #1, “siswa.dat”
Write #1, <nama>, <alamat>, <no.telepon>
Close #1
Notasi #1 menunjukkan siswa.dat akan ditempatkan dalam buffer no 1.
Notasi ini harus sama digunakan di seluruh progam di atas.
Artinya kalau kita menempatkan suatu file dengan nomor buffer #1 maka ketika
membuka, menulis, membaca dan menutup harus menggunakan notasi tersebut. Demikian juga
bila kita menempatkan pada buffer no #2.
Pernyataan While Not EOF digunakan untuk memeriksa apakah sudah ada pada baris
terakhir dari data. Jika belum maka baris-baris data akan dibaca dan dicetak sampai baris
terakhir. Pernyataan input digunakan untuk mengambil data dari file untuk dimuat ke dalam
program. Sedangkan Pernyataan print digunakan untuk mencetak data ke layar komputer.
Contoh 5.26.
Contoh penerapan algoritma penulisan data. File data dengan nama “siswa.dat” seperti
pada contoh 5.25 yang field-nya adalah nama siswa, alamat, nomor telepon. Maka untuk
membaca data adalahsebagai berikut.
Open “I”, #2, “siswa.dat”
While not EOF:
Input #2, <nama>, <alamat>, <no.telepon>
Print <nama>, <alamat>, <no.telepon>
End while
Close buffer number
PERTEMUAN 9
Percabangan dengan 2 kondisi
Struktur satu kondisi (perintah if)
Struktur ini merupakan struktur yang paling sederhana karena hanya melibatkan
satu buah ekspresi akan diperiksa. Pada konstruksi perintah if, C++ tidak memiliki kata
kunci (keyword) then.
Bentuk umum:
if (kondisi)
pernyataan;
atau
if (kondisi)
{
statemen1;
statemen2;
…
}
Contoh:
if (detik == 60)
menit = menit + 1;
if (Angka %2 == 0)
cout<<”Bilangan genap”;
if (sisi > 0)
{
Luas = panjang * lebar;
Isi = Luas*tinggi;
}
Keterangan :
Kondisi digunakan untuk menentukan pengambilan keputusan, operator yang
digunakan adalah relational dan logical operators.
Contoh program:
#include <iostream.h>
int main()
{
int nilai;
//memasukkan bilangan bulat
cout<<”Masukkan sebuah bilangan bulat: “;
cin>>nilai;
//menampilkan teks jika nilai yang tersimpan lebih besar dari 0
if (nilai > 0)
cout<<“Nilai yang Anda masukkan adalah bilangan positif“;
return 0; }
Hasil eksekusi program di atas bersifat dinamis artinya tidak setiap proses eksekusi
program akan menghasilkan hasil yang sama. Jika user memasukkan angka lebih besar
dari 0 maka program ini akan menampilkan teks “Nilai yang Anda masukkan adalah
bilangan positif”.
Selain itu kita juga 33omp nenggunakan operator || dan && dalam menentukan sebuah
ekspresi. Contoh program:
#include <iostream.h>
int main()
{
int bilangan;
char huruf;
//memasukkan bilangan bulat
cout<<”Masukkan sebuah bilangan bulat: “;
cin>>bilangan;
if ((bilangan > 0) && (bilangan < 10))
cout<<bilangan<<” lebih besar dari nol dan lebih kecil dari sepuluh”;
//memasukkan huruf
cout<<“\n“;
cout<<”Masukkan sebuah huruf: “;
cin>>huruf;
if ((huruf == ‘A’) || (huruf == ‘a’) || (huruf == ‘I’) ||
(huruf == ‘i’) || (huruf == ‘U’) || (huruf == ‘u’) ||
(huruf == ‘E’) || (huruf == ‘e’) || (huruf == ‘O’) ||
(huruf == ‘o’))
{
cout<<huruf<<” adalah huruf 33ompu”;
}
return 0;
}
PERTEMUAN 10
Penggunaan If Majemuk
Struktur dua kondisi (perintah if – else)
Struktur percabangan jenis ini sedikit lebih kompleks bila dibandingkan dengan
struktur yang hanya memiliki satu kondisi. Konsep ini sangat sederhana yaitu pada struktur
jenis ini terdapat sebuah statemen khusus yang berguna untuk mengatasi kejadian apabila
kondisi yang didefinisikan tersebut tidak terpenuhi (bernilai salah). Perintah ini memberikan
satu 33omputer3333e dari dua kemungkinan.
Bentuk umum:
if (kondisi)
{
statement_jika_kondisi_terpenuhi;
}
else
{
statement_jika_kondisi_tidak_terpenuhi;
}
Contoh:
#include <iostream.h>
int main()
{
int nilai;
//memasukkan bilangan bulat
cout<<”Masukkan sebuah bilangan bulat: “;
cin>>nilai;
//pengecek bilangan apakah habis dibagi dua atau tidak
if (nilai %2 == 0)
{
cout<<nilai<<“adalah bilangan genap“;
}
else
{
cout<<nilai<<“adalah bilangan ganjil“;
}
return 0;
}
Contoh program:
#include <iostream.h>
int main()
{
int nilai;
//memasukkan bilangan bulat
cout<<”Masukkan sebuah bilangan yang akan diperiksa: “;
cin>>nilai;
//pengecek bilangan apakah habis dibagi dua atau tidak
if (nilai > 0)
{
cout<<nilai<<“ adalah bilangan positif“;
}
else if (nilai < 0)
{
cout<<nilai<<“ adalah bilangan 34omputer“;
}
else
{
cout<<“Anda memasukkan bilangan NOL“;
}
return 0;
}
Contoh Program :
Implementasinya dalam bahasa Pemrograman Pascal :
Uses Crt;
Type
Latih = array [ 1..10, 1..10] of integer;
Var
I,j,n,m : Integer;
A,B,C : latih;
Procedure InputA(var x : latih; m,n : integer);
Begin
For I := 1 to m do
Begin
For J := 1 to n do
Begin
Write(‘Masukkan suku A[‘,I,’] = ‘);
Raedln(A[I,j](;
End;
End;
End;
Procedure InputB(var x : latih; m,n : integer);
Begin
For I := 1 to m do
Begin
For J := 1 to n do
Begin
Write(‘Masukkan suku B[‘,I,’] = ‘);
Raedln(B[I,j](;
End;
End;
End;
Procedure Keluaran(var x : latih; m,n : integer);
Begin
For I := 1 to m do
Begin
For J := 1 to n do
Begin
C[I,j]:=A[I,j]+ B[I,j]
Writeln(‘C[‘,I,’]=’, C[I,j]);
End;
End;
End;
Begin
Write(‘Masukkan m (mak 10) :’);
Readln(m);
Write(‘Masukkan n (mak 10) :’);
Readln(n);
InputA(a,m,n);
InputB(a,m,n);
Writeln; Writeln;
Keluaran(c,m,n);
Readln;
End.
Lampiran 2
INSTRUMEN TES URAIAN
Kompetensi : Pengetahuan
Satuan Pendidikan : SMK Swasta Teladan
Kelas/Semester : X/II
Mata Pelajaran : Pemrograman Dasar
Pertemuan ke : 5 – 10
Alokasi waktu : 12 x 45
C. Kompetensi Dasar
a. Menerapkan Struktur kontrol percabangan dalam bahasa pemrograman
D. Indikator
1. Membuat Struktur kontrol percabangan,
2. Membuat Percabangan 1 kondisi
3. Membuat Percabangan 2 kondisi
4. Membuat Percabangan lebih dari 2 kondisi
a. Soal
1. Buatlah sebuah program sederhana !
2. Tuliskan macam-macam array !
3. Tuliskan struktur percabangan !
4. Perhatikan gambar berikut : Tuliskan eksekusi dari skema tersebut.
b. Kunci jawaban
1. Contoh Program sederhana:
#include <iostream.h>
int main()
{
int nilai;
//memasukkan bilangan bulat
cout<<”Masukkan sebuah bilangan yang akan diperiksa: “;
cin>>nilai;
//pengecek bilangan apakah habis dibagi dua atau tidak
if (nilai > 0)
{
cout<<nilai<<“ adalah bilangan positif“;
}
else if (nilai < 0)
{
cout<<nilai<<“ adalah bilangan 37omputer“;
}
else
{
cout<<“Anda memasukkan bilangan NOL“;
}
return 0;
}
2. Macam – macam array :
a. Array 1 dimensi dituliskan :
Variabel [ indeks ]
b. Array 2 dimensi dituliskan :
Variabel [ indeks1, indeks2 ]
c. Array 3 dimensi dituliskan :
Variabel [ indeks1, indeks2, indeks3 ]
3. Struktur Percabangan :
Pada struktur percabangan, program akan berpindah urutan pelaksanaan jika suatu
kondisi yang disyaratkan dipenuhi. Pada proses seperti ini 38omput flowchart Decision
harus digunakan. Simbol decision akan berisi pernyataan yang akan diuji
kebenarannya. Nilai hasil pengujian akan menentukan cabang mana yang akan
ditempuh.
4. Maka eksekusi program akan berlangsung berurutan sebagai berikut :
1. Tetapkan bilangan yang ingin kita cari (yaitu 12)
2. Ambil elemen paling awal (yaitu A[0]), bandingkan isi elemen tersebut
(yaitu 23) dengan bilangan yang kita cari. Jika sama maka stop.
3. Jika tidak maka lanjutkan dengan elemen berikutnya (yaitu A[1]),
bandingkan isi elemen tersebut dengan bilangan yang kita cari. Jika sama maka
stop.
4. Jika tidak maka lanjutkan dengan elemen berikutnya. Dan seterusnya
sampai dijumpai elemen yang berisi sama dengan bilangan yang kita cari.
c. Pedoman Penilaian :
Konversi Nilai = Jumlah Skor x 25,
Jumlah Skor maksimal 25, maka 4 x 25 = 100
Lampiran 3
LEMBAR PENGAMATAN SIKAP
Kompetensi : Sikap
Satuan Pendidikan : SMK Swasta Teladan
Kelas/Semester : X/II
Mata Pelajaran : Pemrograman dasar
Pertemuan ke : 5 – 10
Alokasi waktu : 12 x 45
1. Kompetensi dasar :
Berlaku jujur dan bertanggung jawab dalam mengerjakan tugas-tugas dari dalam
pembelajar Algoritma dan Pemrograman Pascal
2. Indikator
1. Peserta didik dapat berperilaku jujur dalam menyalin informasi dari buku
sumber
2. Peserta didik dapat bertanggung jawab dalam mengerjakan tugas.
3. Peserta didik dapat berperilaku disiplin dalam mengumpulkan tugas
4. Peserta didik dapat menunjukkan kerja sama dalam belajar Algoritma dan
Pemrograman Pascal
5. Peserta didik dapt berperilaku santun dalam belajar.
Kompetensi : Keterampilan
Satuan Pendidikan : SMK Swasta Teladan
Kelas/Semester : X/II
Mata Pelajaran : Pemrograman dasar
Pertemuan ke : 5 – 10
Alokasi waktu : 12 x 45
A. Kompetensi Dasar
1. Menerapkan Struktur kontrol percabangan dalam bahasa
pemrograman
B. Indikator
1. Membuat Struktur kontrol percabangan,
2. Membuat Percabangan 1 kondisi
3. Membuat Percabangan 2 kondisi
4. Membuat Percabangan lebih dari 2 kondisi
Isilah dengan tanda centang (√) apabila seorang siswa melakukan aktivitas !
Aspek keterampilan *) Nilai **)
No. Nama
1 2 3 4 5
A. Kompetensi Inti
1. Memahami nilai-nilai keimanan dengan menyadari hubungan keteraturan dan
kompleksitas alam dan jagad raya.
2. Mengamalkan nilai-nilai keimanan sesuai dengan ajaran agama dalam kehidupan
sehari-hari.
3. Menunjukkan perilaku ilmiah (memiliki rasa ingin tahu, objektif, jujur, teliti, cermat,
tekun, hati-hati, bertanggung jawab, terbuka, kritis, kreatif, inovatif, dan peduli
lingkungan) dalam aktivitas sehari-hari sebagai wujud implementasi sikap dalam
mlakukan percobaan dan diskusi.
4. Menghargai kerja individu dan kelompok dalam aktivitas sehari-hari sebagai wujud
implementasi melaksanakan percobaan dan melaporkan hasil.
C. Tujuan Pembelajaran
Setelah mempelajari perulangan siswa diharapkan :
a. Mengerti tentang struktur perulangan
b. Mengetahui informasi tentang perulangan dengan kondisi awal
c. Mengetahui informasi tentang perulangan dengan kondisi akhir
D. Materi Ajar
1. Struktur kontrol perulangan
2. Perulangan dengan kondisi awal
3. Perulangan dengan kondisi akhir
E. Metode Pembelajaran
a. Pendekatan : Scientifict Learning
b. Straegi : Cooperative Learning
c. Model : Problem Based Learning
d. Metode : Diskusi, Ceramah, tanya Jawab
Menanya :
1. Siswa berdikusi menganalisa tentang
perulangan.
2. Siswa berdikusi menganalisa tentang
perulangan dengan kondisi awal.
3. Siswa berdikusi menganalisa tentang
perulangan dengan kondisi akhir.
120 Menit
Mengeksplorasi:
1. Siswa membuat kode program
menggunakan perulangan dengan
kondisi awal, dan perulangan kondisi
akhir.
2. Siswa melakukan kompilasi,
eksekusi dan perbaikan pada kesalahan-
kesalahan yang terdapat dalam program.
Mengasosiasi:
1. Siswa membuat sebuah kesimpulan
tentang penggunaan perulangan dengan
kondisi awal, dan perulangan dengan
kondisi akhir.
Mengkomunikasikan:
1. Siswa membuat sebuah laporan dan
mempresentasikan hasil dari sebuah
program sederhana.
C. 1. Mereview kembali materi yang telah 30
Penutup disampaikan menit
2. Siswa mengerjakan evaluasi
3. Siswa saling memberikan umpan balik
hasil evaluasi pembelajaran yang telah
dicapai.
Pertemuan 13 – 14
Kegiatan Deskripsi Alokasi
Waktu
A. Pendahuluan 1. Siswa menjawab sapaan guru, berdoa, dan
mengondisikan diri siap belajar
2. Guru dan siswa bertanya jawab berkaitan
dengan identitas diri yang dibutuhkan
15 Menit
sebagai warga negara yang baik.
3. Guru menyampaikan tujuan pembelajaran
4. Guru memotivasi siswa agar semakin giat
belajar
B. Mengamati :
Inti 1. Siswa mengamati dan
mendengarkan penjelasan tentang
struktur kontrol perulangan.
2. Siswa mengamati dan
mendengarkan penjelasan mengenai
perulangan dengan kondisi awal.
3. Siswa mengamati dan
mendengarkan penjelasan mengenai
perulangan dengan kondisi akhir.
Menanya :
1. Siswa berdikusi menganalisa tentang
perulangan.
2. Siswa berdikusi menganalisa tentang
perulangan dengan kondisi awal.
3. Siswa berdikusi menganalisa tentang
perulangan dengan kondisi akhir.
60 Menit
Mengeksplorasi:
1. Siswa membuat kode program
menggunakan perulangan dengan
kondisi awal, dan perulangan kondisi
akhir.
2. Siswa melakukan kompilasi,
eksekusi dan perbaikan pada kesalahan-
kesalahan yang terdapat dalam program.
Mengasosiasi:
1. Siswa membuat sebuah kesimpulan
tentang penggunaan perulangan dengan
kondisi awal, dan perulangan dengan
kondisi akhir.
Mengkomunikasikan:
1. Siswa membuat sebuah laporan dan
mempresentasikan hasil dari sebuah
program sederhana.
C. 1. Mereview kembali materi yang telah
Penutup disampaikan
2. Siswa mengerjakan evaluasi
30 menit
3. Siswa saling memberikan umpan balik
hasil evaluasi pembelajaran yang telah
dicapai.
G. Media Pembelajaran
1. Komputer
2. Proyektor
3. UPS
H. Sumber Belajar
1. Buku Algoritma dan Pemrograman Pascal.
2. Internet.
3. Modul produktif, Buku Algoritma dan pemograman tingkat Dasar.
I. Penilaian
1. Teknik penilaian : Test
2. Bentuk instrumen
a. Test tertulis
b. Instrumen (terlampir)
3. Pedoman penskoran (terlampir)
Mengetahui ;
Kepala SMK Swasta Teladan
Pematangsiantar
SUDARLIAN, S.Pd.,M.Si.
Lampiran 1
BAHAN AJAR
Kompetensi : Bahan Ajar
Satuan Pendidikan : SMK Swasta Teladan
Kelas/Semester : X/II
Mata Pelajaran : Pemrograman dasar
Pertemuan ke : 11 – 14
Alokasi waktu : 8 x 45
A. Kompetensi Dasar
2. Menerapkan struktur kontrol perulangan dalam bahasa
pemrograman
B. Indikator
1. Mengetahui Struktur kontrol perulangan
2. Mengetahui Perulangan dengan kondisi awal
3. Perulangan dengan kondisi akhir
Pertemuan 11
Struktur kontrol perulangan
Dalam banyak kasus seringkali kita dihadapkan pada sejumlah pekerjaanyang
harus diulang berkali. Salah satu contoh yang gampang kita jumpai adalah balapan mobil
seperti tampak pada 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 45omputer, kita juga kadang-
kadang harus mengulang satu atau sekelompok perintah berkali-kali agar memperoleh
hasil yang diinginkan.
Dengan menggunakan 45omputer, eksekusi pengulangan mudah dilakukan. Hal
ini karena salah satu kelebihan 45omputer 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 yaitu :
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
46omputer46.
Struktur While akan mengulang pernyataan pada badan loop sepanjang kodisi
pada While bernilai benar. Dalam artian kita tidak perlu tahu pasti berapa kali diulang.
Yang penting sepanjang kondisi pada While dipenuhi maka pernyataan pada badan loop
akan diulang. Flowchart umum untuk struktur While dapat dilihat pada Gambar Pada
Gambar tampak bahwa simbol preparasi untuk pengulangan seperti pada For tidak
digunakan lagi. Namun kita menggunakan simbol decision untuk mengendalikan
pengulangan. Selain kondisi, biasanya pada pengulangan While harus dilakukan
inisialisasi variabel terlebih dahulu.
Pertemuan 12
Diagram Alir dan Struktur Data
Algoritma Squential Search
Metode pencaharian berurutan merupakan metode pencaharian data yang paling
mudah, secara garis besar metode ini bisa ditampilkan sebagian dari kumpulan data
yang diketahui data yang akan kita cari, kita bandingkan satu persatu sampai data yang
kita inginkan bertemu atau tidak ketemu dengan kumpulan data tersebut pada saat data
yang kita cari. Juga sudah ketemu maka proses pencaharian langsung kita hentikan,
tetapi data yang kita cari belum ketemu maka 48omputer48 kita teruskan sampai
seluruh data dibandingkan. Dalam kasus yang paling burung dengan vakton n elemen
harus dilakukan pencaharian sebanyak n kali pencarian.
Contoh :
5 7 9 10 50 70 6 12 8
Data yang dicari adalah : 70
Terdapat pada element : 6
Algoritma program searah :
Langkah :
a. Baca kumpulan data yang diketahui sebagai vektor A dengan n elemen
b. Baca data yang akan dicari, mis : 2
c. Tentukan i = 1
d. [proses mencari bandingan x dengan a (i)] jika x : a (i) data ketemu pergi
ke langkah s
e. [ test 1]
f. jika i > n [data tidak ketemu] ke langkah s jika tidak, tentukan: i = E + i
kembali kelangkah 3
g. Tampilkan pesan yang sesuai dan selesai
Tehnik-tehnik shorting.
Pada garis besarnya ada 3 tehnik sorting :
1. Insortion Sort (Sorting penyisipan)
Tehnik ini adalah dengan membandingkan elemen n ( n mulai dari 2 hingga
elemen terakhir) dengan elemen-elemen sebelumnya.
Contoh : 8, 3, 7, 4
8, 7, 8, 4 (awal) → 4 banding 8 → Tukar
Hasil : 3, 4, 7, 8 → 4 banding 7 → Tukar
Hasil : 3, 4, 7, 8 → 4 banding 3 → Tetap
Hasil : 3, 4, 7, 8 (akhir)
2. Selection Sort (Sorting Pemilihan)
Tehnik ini adalah mencari elemen terkecil kemudian letakkan dan tukar
dengan posisi ke n (n mulai dari 1 hingga elemen terakhir –n)
Contoh : 8, 3, 7, 4
Pada langkah pertama hasil sortirnya : 3, 8, 7, 4 (mulai dari elemen
pertama, elemen terkecil = 3, letakkan dan tukar dengan elemen pertama)
Pada langkah kedua hasil sortirnya : 3, 4, 7, 8 (mulai dari elemen ke
2 elemen terkecil = 4, letakkan dan tukar dengan elemen ke 2
Pada langkah ke 3 hasil sortirnya : 3, 4, 7, 8 (mulai dari elemen ke 3
elemen terkecil = 7, letakkan dan tukar dengan elemen ke 3)
3. Exchange Sort (Shorting Penukaran)
Contoh sotir umumnya yang menggambarkan exchange sort adalah Bubble
short. Algoritma dari tehnik ini adalah dengan melakukan proses
perbandingan sebanyak n elemen dari n = 1 (selanjutnya dimulai = 1)
bandingkan seluruh elemen dimulai dari elemen sebelah kanan ke n. Bila
elemen tersebut lebih kecil dari, maka lakukan dari, maka lakukan penukaran
tempat. Lakukan elemen mulai +1 seperti proses sebelumnya hingga nilai
mulai +1 = n
Contoh : 8, 7, 6, 5, 4
Proses 1 :
- Bandingkan 8 (elemen pertama) dengan 7 (elemen kedua) hasilnya : 7, 8,
6, 5, 4
- Bandingkan 7 (elemen pertama) dengan 6 (elemen ketiga) hasilnay : 6, 8,
7, 5, 4
- Bandingkan 6 (elemen pertama) dengan 5 (elemen ketiga) hasilnay : 5, 8,
7, 6, 4
- Bandingkan 5 ( elemen pertama) dengan 4 (elemen keempat) hasilnya : 4,
8, 7, 6, 5 (urutan 1 telah diperoleh)
Pertemuan 13
a. MERGE SHORT
Shorter ini biasanya digunakan untuk jumlah data yang besar dengan membagi-
bagi menjadi sub-sub bagian dimulai dari sedikit elemen hingga keseluruhan elemen
tersebut menjadi data yang sudah diurut. Shorter ini digunakan bila kapasitas memory
tidak sanggup untuk menampung seluruh data yang diakan disortir.
Soal :
78, 63, 50, 70, 60, 35, 12, 14, 18, 23, 50, 40, 51, 34, 30, 25, 45, 20
Penyelesaian :
- 63, 78, 50, 70, 35, 60, 12, 14, 18, 227, 40, 50, 34, 51, 25, 30, 20, 45
- 50, 63, 70, 78, 12, 14, 35, 60, 18, 23, 40, 90, 25, 30, 34, 40, 51, 90, 20, 45
- 12, 14, 35, 50, 60, 63, 70, 78, 18, 23, 25, 30, 34, 40, 51, 90, 20, 45
- 12, 14, 18, 23, 25, 30, 34, 35, 40, 50, 51, 60, 63, 70, 78, 90, 20, 45
- 12, 14, 18, 20, 23, 25, 30, 34, 35, 40, 45, 50, 51, 60, 63, 70, 78, 90 (hasil
akhir)
d. Loop While
Pada loop ini sebelum masuk kedalam blok loop, nilai awal harus didefenisikan diluar
blok loop, yang kemudian akan dikomparasi dengan batas loop, jika proses komparasi
bernilai true maka proses akan masuk kedalam blok loop.
Bentuk umum :
Parameter := awal
While (parameter <= akhir) do
Blok loop
Parameter := parameter + step
Endwhile.
e. Loop Repeat
Pada loop repeat pengontrol loop ada pada akhir blok loop sehingga loop ini minimal
sekali pasti dikerjakan dalam prosesnya. Pada loop repeat proses akan terus diulang
selama komparasi bernilai false.
Bentuk umum :
Parameter := awal
Repeat
Blok loop
Parameter := parameter + step
Until parameter > akhir
Pertemuan 14
Perulangan dengan kondisi akhir
1. Nested Loop While
Penggunaan loop while yang saling tersarang sebagaimana pada kasus loop for.
Bentuk umum :
Parameter := awal1
While (parameter <= akhir 1) do
Statemen1
Parameter2 := awal2
While (parameter <= akhir2) do
Statemen2
Parameter2 := parameter2 + step2
Endwhile
Parameter1 := parameter1 + step1
Endwhile
Kompetensi : Pengetahuan
Satuan Pendidikan : SMK Swasta Teladan
Kelas/Semester : X/II
Mata Pelajaran : Pemrograman dasar
Pertemuan ke : 11 – 14
Alokasi waktu : 8 x 45
A. Kompetensi Dasar
4. Menerapkan struktur kontrol perulangan dalam bahasa
pemrograman
B. Indikator
1. Mengetahui Struktur kontrol perulangan
2. Mengetahui Perulangan dengan kondisi awal
3. Perulangan dengan kondisi akhir
a. Soal
1. Tuliskan Keuntungan dari pembuatan algoritma !
2. Tuliskan Beberapa hal yang perlu diperhatikan dalam membuat algoritma!
3. Buatlah flowchart untuk menghitung volume balok !
4. Buatlah flowchart untuk menghitung Luas Lingkaran !
b. Kunci Jawaban
1. Keuntungan algoritma adalah:
a. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa
pemrograman manapun, artinya penulisan algoritma independen dari
bahasa pemrograman dan 54omputer yang melaksanakannya.
b. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa
pemrograman.
c. Apapun bahasa pemrogramannya, output yang akan dikeluarkan
sama karena algoritmanya sama.
Kompetensi : Sikap
Satuan Pendidikan : SMK Swasta Teladan
Kelas/Semester : X/II
Mata Pelajaran : Pemrograman dasar
Pertemuan ke : 11 – 14
Alokasi waktu : 8 x 45
1. Kompetensi dasar :
Berlaku jujur dan bertanggung jawab dalam mengerjakan tugas-tugas dari dalam
pembelajar Algoritma dan Pemrograman Pascal
2. Indikator
1. Peserta didik dapat berperilaku jujur dalam menyalin informasi dari buku
sumber
2. Peserta didik dapat bertanggung jawab dalam mengerjakan tugas.
3. Peserta didik dapat berperilaku disiplin dalam mengumpulkan tugas
4. Peserta didik dapat menunjukkan kerja sama dalam belajar Pemrograman
dasar
5. Peserta didik dapt berperilaku santun dalam belajar.
A. Kompetensi Dasar
5. Menerapkan struktur kontrol perulangan dalam bahasa
pemrograman
B. Indikator
1. Mengetahui Struktur kontrol perulangan
2. Mengetahui Perulangan dengan kondisi awal
3. Perulangan dengan kondisi akhir
Isilah dengan tanda centang (√) apabila seorang siswa melakukan aktivitas !
Aspek keterampilan *) Nilai **)
No. Nama
1 2 3 4 5
A. Kompetensi Inti
1. Menghayati dan mengamalkan ajaran agama yang dianutnya
2. Mengembangkan perilaku (jujur, disiplin, tanggung jawab, peduli, santun,
ramah lingkungan, gotong royong, kerjasama, cinta damai, responsif dan
proaktif) dan menunjukkan sikap sebagai bagian dari solusi atas berbagai
permasalahan bangsa 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,
kenegaraan, dan peradaban terkait fenomena dan kejadian, serta menerapkan
pengetahuan prosedural pada bidang kajian yang spesifik sesuai dengan bakat
dan minatnya untuk memecahkan masalah.
4. Mengolah, menalar, menyaji, dan mencipta dalam ranah konkret dan ranah
abstrak terkait dengan pengembangan dari yang dipelajarinya di sekolah secara
mandiri, dan mampu menggunakan metoda sesuai kaidah keilmuan.
C. Tujuan Pembelajaran
Setelah pembelajaran selesai, peserta didik diharapakan mampu :
Menyajikan Algoritma
Menyajikan Flowchart
Mencari kesalahan-kesalahan dalam sebuah program.
D. Materi Ajar
1. Penyajian Algoritma
2. Kesalahan – kesalahan yang terdapat dalam sebuah program
3. Flowchart
E. Metode Pembelajaran
1. Pendekatan
2. Ceramah
3. Tanya Jawab
4. Berkelompok
F. Media Pembelajaran
a. Power Point
b. Sal-soal
c. Infocus
d. Contoh Program
Menanya :
1. Siswa berdikusi menganalisa tentang
debugging sebuah program.
2. Siswa berdikusi menganalisa tentang error
salam sebuah program.
120 Menit
Mengeksplorasi:
1. Siswa melakukan kompilasi, eksekusi dan
perbaikan pada kesalahan-kesalahan yang terdapat
dalam program.
Mengasosiasi:
1. Siswa membuat sebuah kesimpulan tentang
debugging dan error dalam sebuah program.
Mengkomunikasikan:
Siswa membuat sebuah laporan dan
mempresentasikan hasil dari sebuah program
sederhana.
C. 1. Mereview kembali materi yang telah 30 Menit
Penutup disampaikan
2. Siswa mengerjakan evaluasi
3. Siswa saling memberikan umpan balik hasil
evaluasi pembelajaran yang telah dicapai.
Pertemuan 17
Menanya :
3. Siswa berdikusi menganalisa tentang
debugging sebuah program.
4. Siswa berdikusi menganalisa tentang error
salam sebuah program.
60 Menit
Mengeksplorasi:
2. Siswa melakukan kompilasi, eksekusi dan
perbaikan pada kesalahan-kesalahan yang terdapat
dalam program.
Mengasosiasi:
2. Siswa membuat sebuah kesimpulan tentang
debugging dan error dalam sebuah program.
Mengkomunikasikan:
Siswa membuat sebuah laporan dan
mempresentasikan hasil dari sebuah program
sederhana.
C. 1. Mereview kembali materi yang telah
Penutup disampaikan
2. Siswa mengerjakan evaluasi 15 Menit
3. Siswa saling memberikan umpan balik hasil
evaluasi pembelajaran yang telah dicapai.
H. Sumber Belajar
1. Buku Algoritma dan Pemrograman Pascal.
2. Internet.
3. Modul produktif, Buku Algoritma dan pemograman tingkat Dasar.
I. Penilaian
6. Teknik penilaian : Test
7. Bentuk instrumen
a. Test tertulis
b. Instrumen (terlampir)
3. Pedoman penskoran (terlampir)
Pematangsiantar, 06 Januari 2014
Ka. Prodi Rekayasa Perangkat Lunak, Guru MataPelajaran
Mengetahui ;
Kepala SMK Swasta Teladan
Pematangsiantar
SUDARLIAN, S.Pd.,M.Si.
Lampiran 1
BAHAN AJAR
Kompetensi : Bahan Ajar
Satuan Pendidikan : SMK Swasta Teladan
Kelas/Semester : X/II
Mata Pelajaran : Pemrograman dasar
Pertemuan ke : 15 – 17
Alokasi waktu : 6 x 45
A. Kompetensi Dasar
1. Menerapkan keseluruhan konsep algoritma dalam penyelesaian masalah
kompleks
B. Indikator
1. Analisa pemecahan masalah
2. Debugging dan error dalam program
Pertemuan 15
Penyajian Algoritma
Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan
gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu
(misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode. Pseudocode adalah kode
yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C, sehingga lebih
tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada
pemrogram.
Sedangkan algoritma disajikan dengan gambar, misalnya dengan flowchart. Secara
umum, pseudocode mengekspresikan ide-ide secara informal dalam proses penyusunan
algoritma. Salah satu cara untuk menghasilkan kode pseudo adalah dengan meregangkan
aturan-aturan bahasa formal yang dengannya versi akhir dari algoritma akan diekspresikan.
Pendekatan ini umumnya digunakan ketika bahasa pemrograman yang akan digunakan telah
diketahui sejak awal.
Definisi Pseudo-code
Kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara
menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia untuk
menuliskan algoritma.
Contoh kasus : mencari bilangan terbesar dari dua bilangan yang diinputkan
Solusi Pseudo-code :
3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika
tidak, kerjakan langkah 5.
Solusi Algoritma :
4. print a
5. print b
Pertemuan 16
Flowchart
Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan
antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan
demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses
digambarkan dengan garis penghubung. Dengan menggunakan flowchart akan memudahkan
kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah.
Disamping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara
pemrogram yang bekerja dalam tim suatu proyek.
Ada dua macam flowchart yang menggambarkan proses dengan komputer, yaitu :
1. Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan
urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain,
dalam suatu sistem pengolahan data.
Beberapa contoh Flowchart sistem:
2. Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan
urutan proses dan hubungan antar proses secara mendetail di dalam suatu program.
Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak.
Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah
dengan komputer. Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram
dengan yang lainnya. Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian
utama, yaitu :
1. Input,
3. Output
Pertemuan 17
Pemecahan masalah dalam sebuah Program
Untuk pengolahan data dengan komputer, urutan dasar pemecahan suatu masalah:
Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada
beberapa anjuran :
1. Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga
jalannya proses menjadi singkat.
2. Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah
untuk memperjelas.
3. Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.
Berikut merupakan beberapa contoh simbol flowchart yang disepakati oleh dunia
pemrograman :
Untuk memahami lebih dalam mengenai flowchart ini, akan diambil sebuah kasus
sederhana.
Kasus : Buatlah sebuah rancangan program dengan menggunakan flowchart, mencari luas
persegi panjang.
di mana, L adalah Luas persegi panjang, p adalah panjang persegi, dan l adalah lebar persegi.
Keterangan gambar :
3. Data dari p dan l akan diproses pada simbol ketiga dengan menggunakan perumusan L
= p. l.
4. Simbol keempat menunjukkan hasil output dari proses dari simbol ketiga.
5. Simbol kelima atau terakhir menunjukkan berakhirnya program dengan tanda End.
Lampiran 2
INSTRUMEN TES URAIAN
A. Kompetensi Dasar
1. Menerapkan keseluruhan konsep algoritma dalam penyelesaian masalah
kompleks
B. Indikator
1. Analisa pemecahan masalah
2. Debugging dan error dalam program
a. Soal
1. Tuliska pengertian pseudocode !
2. Tuliskan solusi pseudocode !
3. Tuliskan 3 bagian utama dalam sebuah proses flowchart !
4. Gambarkan flowchart untuk mencari sebauh Luas persegi panjang !
b. Kunci Jawaban
1. Pseudocode adalah kode yang mirip dengan kode pemrograman yang
sebenarnya seperti Pascal, atau C, sehingga lebih tepat digunakan untuk
menggambarkan algoritma yang akan dikomunikasikan kepada pemrogram.
2. Solusi Pseudo-code :
a. Masukkan bilangan pertama
b. Masukkan bilangan kedua
c.Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika
tidak, kerjakan langkah 5.
d. Tampilkan bilangan pertama
e. Tampilkan bilangan kedua
Kompetensi : Sikap
Satuan Pendidikan : SMK Swasta Teladan
Kelas/Semster : X/II
Mata Pelajaran : Pemrograman Dasar
Pertemuan ke : 15 – 17
Alokasi waktu : 6 x 45
1. Kompetensi dasar :
Berlaku jujur dan bertanggung jawab dalam mengerjakan tugas-tugas dari dalam
pembelajar Algoritma dan Pemrograman Pascal
2. Indikator
1. Peserta didik dapat berperilaku jujur dalam menyalin informasi dari buku
sumber
2. Peserta didik dapat bertanggung jawab dalam mengerjakan tugas.
3. Peserta didik dapat berperilaku disiplin dalam mengumpulkan tugas
4. Peserta didik dapat menunjukkan kerja sama dalam belajar Algoritma dan
Pemrograman Pascal
5. Peserta didik dapt berperilaku santun dalam belajar.
Kompetensi : Keterampilan
Satuan Pendidikan : SMK Swasta Teladan
Kelas/Semster : X/II
Mata Pelajaran : Pemrograman Dasar
Pertemuan ke : 15 – 17
Alokasi waktu : 6 x 45
A. Kompetensi Dasar
1. Menerapkan keseluruhan konsep algoritma dalam penyelesaian masalah
kompleks
B. Indikator
1. Analisa pemecahan masalah
2. Debugging dan error dalam program
Isilah dengan tanda centang (√) apabila seorang siswa melakukan aktivitas !
Aspek keterampilan *) Nilai **)
No. Nama
1 2 3 4 5