Anda di halaman 1dari 100

RENCANA PELAKSANAAN PEMBELAJARAN ( RPP )

Mata Pelajaran : Pemrograman Dasar


Kelas / Semester : X / 1
Pertemuan : 1- 2
Alokasi Waktu : 4 x 45 Menit
Standar Kompetensi : Menerapkan Pemrograman Dasar
Karakter Bangsa yang diharapkan : Disiplin, Kreatif, Mandiri, Tanggung Jawab,
Kerja sama.

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.

B. Kompetensi Dasar dan Indikator


3.4 Menerapkan Penggunaan Tipe Data, Variabel, Konstanta, Operator dan Ekspresi
a. Menjelaskan berbagai tipe data dan sintak penulisan
b. Menjelaskan variable dan sintak penulisan
c. MenMenjelaskan Berbagai operator dan sintak penulisan
d. Menjelaskan ekspresi dan sintax penulisan
e. Menerapkan berbagai tipe data, variable, konstanta, operator dan ekspresi
sesuai dengan permasalahan yang akan diselesaikan dengan program
4.4 Membuat kode program dengan tipe data, variable, konstanta, operator dan
ekspresi
a. Membuat aplikasi program yang menerapkan tipe data, variable/konstanta
b. Membuat aplikasi program yang menerapkan tipe data, variable/konstanta,
operator, ekspresi.

C. Tujuan pembelajaran
1. Dapat menjelaskan berbagai tipe data dan sintak penulisan denganbenar
dan baik
2. Dapat Menjelaskan variable dan sintak penulisan dengan benar dan baik
3. Dapat MenMenjelaskan Berbagai operator dan sintak penulisan dengan
benar dan baik
4. Dapat Menjelaskan ekspresi dan sintax penulisan dengan benar dan baik
5. Dapat Menerapkan berbagai tipe data, variable, konstanta, operator dan
ekspresi sesuai dengan permasalahan yang akan diselesaikan dengan
program
6. Dapat Membuat aplikasi program yang menerapkan tipe data,
variable/konstanta dengan benar
7. Dapat Membuat aplikasi program yang menerapkan tipe data,
variable/konstanta, operator, ekspresidengan Benar

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
G. Langkah – langkah Pembelajaran
Pertemuan 1
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 15 Menit
negara yang baik.
3. Guru menyampaikan tujuan pembelajaran
4. Guru memotivasi siswa agar semakin giat belajar
B. Inti Mengamati : 120 Menit
1. Siswa mengamati untuk mengidentifikasi dan
merumuskan masalah tentang penggunaan tipe
data, varaible,konstanta, 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.
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.
3. Siswa Mengumpulkan tentang penggunaan tipe
data, variable,konstanta, operator, dan ekspresi
pemograman komputer.
Mengasosiasi:
1. Siswa Mengolah data tentang penggunaan tipe
data, variable, konstanta,operator, dan ekspresi.
2. Siswa membuat sebuah kesimpulan tentang
penggunaan tipe data, variabel, konstanta,
operator dan ekspresi dalam sebuah program
sederhana.
Mengkomunikasikan:
1. Siswa mengomuknikasikan tentang penggunaaan
tipe data, Variable, konstanta,operatordan
ekspresi.
2. Siswa membuat sebuah laporan dan
mempresentasikan hasil dari sebuah program
sederhana.
C. Penutup 1. Mereview kembali materi yang telah disampaikan
2. Siswa mengerjakan evaluasi
5 Menit
3. Siswa saling memberikan umpan balik hasil
evaluasi pembelajaran yang telah dicapai.

Pertemuan 2
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 15 Menit
negara yang baik.
3. Guru menyampaikan tujuan pembelajaran
4. Guru memotivasi siswa agar semakin giat belajar
B. Inti Mengamati :
4. Siswa mengamati untuk mengidentifikasi dan
merumuskan masalah tentang penggunaan tipe
data, varaible,konstanta, operator dan ekspresi.
5. Siswa mengamati dan mendengarkan penjelasan
mengenai variabel, operator dan konstanta.
6. Siswa mengamati dan mendengarkan penjelasan
mengenai operator dan ekspresi.
Menanya :
4. Siswa berdikusi menganalisa penggunaan variabel,
operator dan ekspresi dalam algoritma.
5. Siswa berdikusi menganalisa penggunaan variabel,
konstanta dalam algoritma.
6. Siswa berdikusi menganalisa penggunaan operator
dan ekspresi dalam algoritma.
Mengeksplorasi:
4. Siswa membuat kode program menggunakan ragam
tipe data variabel, konstanta, operator dan
ekspresi dengan program sederhana.
120 Menit
5. Siswa melakukan kompilasi, eksekusi dan perbaikan
pada kesalahan-kesalahan yang terdapat dalam
program.
6. Siswa Mengumpulkan tentang penggunaan tipe
data, variable,konstanta, operator, dan ekspresi
pemograman komputer.
Mengasosiasi:
3. Siswa Mengolah data tentang penggunaan tipe
data, variable, konstanta,operator, dan ekspresi.
4. Siswa membuat sebuah kesimpulan tentang
penggunaan tipe data, variabel, konstanta,
operator dan ekspresi dalam sebuah program
sederhana.
Mengkomunikasikan:
3. Siswa mengomuknikasikan tentang penggunaaan
tipe data, Variable, konstanta,operatordan
ekspresi.
1. Siswa membuat sebuah laporan dan
mempresentasikan hasil dari sebuah program
C. Penutup 1. Mereview kembali materi yang telah disampaikan
2. Siswa mengerjakan evaluasi
5 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 Pengetahuan : Test tertulis
2. Teknik Penilaian Ketrampilan : - Penialain Unjuk Kerja
- Observasi
3. Bentuk Instrumen dan Instumrn :
a. Bentuk Instrumen : Tes Uraian
b. Instrumen : Terlampir
4. Pedoman Peskroan : Terlampir

Mengetahui ;

Kepala SMKN 1BUKIT SUNDI Guru Mata Pelajaran

Drs.Syafriantoni, M,kom Lili, S.Pd


NIP. 196806162000121002
Lampiran 1
BAHAN AJAR

Kompetensi : Bahan Ajar


Satuan Pendidikan : SMKN 1 Bukit Sundi
Kelas/Semester : X/I
Mata Pelajaran : Pemrograman Dasar
Pertemuan ke : 1 – 2
Alokasi waktu : 4 x 45

A. Kompetensi Dasar
Menerapkan Penggunaan Tipe Data, Variabel, Konstanta, Operator dan Ekspresi

B. Indikator
Defenisi Tipe data, variabel, Konstanta, Operator dan Ekspresi

Pertemuan 1

Pengertian Tipe Data, variabel, dan Konstanta


Variabel, konstanta dan tipe data merupakan tiga hal yang akan selalu kita jumpai
ketika kita membuat program. Bahasa pemrograman apapun dari yang paling sederhana
sampai yang paling kompleks, mengharuskan kita untuk mengerti ketiga hal tersebut.

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.

Contoh penamaan variabel.


Penamaan yang benar Penamaan yang salah Keterangan
namasiswa nama siswa (salah karena menggunakan spasi)
XY12 12XY (salah karena dimulai dengan angka)
harga_total harga.total (salah karena menggunakan karakter)
JenisMotor Jenis Motor (salah karena menggunakan spasi)

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.

Namun secara umum dapat dikelompokkan seperti pada Gambar 5.2.


Gambar 5.2. Pengelompokkan tipe data
Keterangan :
- Tipe data primitive adalah tipe data dasar yang tersedia secara langsung pada suatu
bahasa pemrograman.
- Sedangkan tipe data composite adalah tipe data bentukan yang terdiri dari dua atau
lebih tipe data primitive.

Tipe Data primitive terdiri dari beberapa tipe data:


1. Tipe data numeric
Tipe data numeric digunakan pada variabel atau konstanta untuk menyimpan nilai
dalam bentuk bilangan atau angka. Semua bahasa pemrograman menyediakan tipe
data numeric, hanya erbeda dalam jenis numeric yang diakomodasi. Jenis yang
termasuk dalam tipe data numeric antara lain integer (bilanganbulat), dan float
(bilangan pecahan). Selain jenis, dalam bahasa pemrograman juga diterapkan presisi
angka yang digunakan, misalnya tipe data Single adalah tipe data untuk bilangan
pecahan dengan presisi yang terbatas, sedangkan tipe data Double adalah tipe data
untuk bilangan pecahan dengan presisi yang lebih akurat.
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 1
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.

Record atau Struct


Seperti halnya Array, Record atau Struct adalah termasuk tipe data komposit.
Record dikenal dalam bahasa Pascal/Delphi sedangkan Struct dikenal dalam bahasa C++.
Berbeda dengan array, tipe data record mampu menampung banyak data dengan tipe
data berbeda-beda (heterogen). Sebagai ilustrasi array mampu menampung banyak data
namun dengan satu tipe data yang sama, misalnya integer saja. Sedangkan dalam record,
kita bisa menggunakan untuk menampung banyak data dengan tipe data yang berbeda,
satu bagian integer, satu bagian lagi character, dan bagian lainnya Boolean.
Biasanya record digunakan untuk menampung data suatu obyek. Misalnya, siswa
memiliki nama, alamat, usia, tempat lahir, dan tanggal lahir. Nama akan akan menggunakan
tipe data string, alamat bertipe data string, usia bertipe data single (numeric), tempat
lahir bertipe data string dan tanggal lahir bertipe data date.
Berikut ini contoh pendeklarasian record dalam Delphi.
Contoh 5.5. Deklarasi tipe data record pada Delphi.
Type TRecord_Siswa = Record
Nama_Siswa : String[30]
Alamat : String[50]
Usia : Real
EndRecord
Image

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 2
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

b. Program sederhana dalam Pseudocode


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.
Contoh Program sederhana dengan pseudocde
1. Start
2. 2. READ alas, tinggi
3. 3. Luas = 0.5 * alas * tinggi
4. 4. PRINT Luas
5. 5. Stop
Keterangan:
Pada Contoh 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.
Lampiran 2
INSTRUMEN TES URAIAN
Kompetensi : Pengetahuan
Satuan Pendidikan : SMK N 1 Bukit Sundi
Kelas/Semester : X/I
Mata Pelajaran : Pemrograman Dasar
Pertemuan ke : 1 – 2
Alokasi waktu : 4 x 45

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.

4. Gambar skema macam-macam tipe data


5. Contoh program sederhana dengan menggunakan variabel :
#include <iostream>
using namespace std;
int main() {
int x, z
float y;
x = 12;
y = 2.15;
z = x * y;
cout << "X =" << x << endl;
cout << "Y =" << y << endl;
cout << "Z =" << z << endl;
return 0; }

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 N 1 Bukit Sundi
Kelas/Semester : X/2
Mata Pelajaran : Pemrograman Dasar
Pertemuan ke : 1 – 2
Alokasi waktu : 4 x 45

Nomor peserta didik : .......................................................


Nama Absen Peserta didik: .........................................................

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.

No. Sikap Kriteria Hasil


Ya Tidak
1. Jujur 1. Melaporkan data/informasi sesuai
dengan apa yang dibaca.
2. Menyampaikan pendapat disertai
dengan informasi dari buku sumber
yang diterima
2. Tanggung jawab 1. Melaksanakan tugas sesuai dengan
perintah guru
2. Menyelesaikan tugas sampai selesai.
3. Disiplin Melaksanakan dan menyelesaikan tugas
sesuai dengan waktu yang ditetapkan.
4. Bekerja sama Menghargai pekerjaan teman dan
berperan aktif dalam menyelesaikan
tugas kelompok.
5. Santun 1. Menyampaikan pendapat dengan
bahasa dan nada yang baik.
2. Menghargai adanya perbedaan
pendapat.
Lampiran 4
LEMBAR PENGAMATAN KETERAMPILAN/PSIKOMOTOR
Kompetensi : Keterampilan
Satuan Pendidikan : SMKN 1 Bukit Sundi
Kelas/Semester : X/2
Mata Pelajaran : Pemrograman Dasar
Pertemuan ke : 1 – 2
Alokasi waktu : 4 x 45

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 **)

*) Keterangan: **) Keterangan


1. Aktifitas bertanya 1. Sangat Terampil, jika 5 keaktifan

2. Aktifitas menjawab 2. Terampil, jika 4 keaktifan


3. Aktifitas mencatat 3. Cukup Terampil, jika 3 keaktifan
4. Akurasi jawaban 4. Kurang Terampil, jika 2 keaktifan
5. Akurasi pertanyaan 5. Tidak Terampil, jika 1 keaktifan
RENCANA PELAKSANAAN PEMBELAJARAN ( RPP )

Mata Pelajaran : Pemrograman Dasar


Kelas / Semester : X / 2
Pertemuan : 1 - 2
Alokasi Waktu : 12 x 45 Menit
Standar Kompetensi : Menerapkan Pemrograman Dasar
Karakter Bangsa yang diharapkan : Disiplin, Kreatif, Mandiri, Tanggung Jawab,
Kerja sama.

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.

B. Kompetensi Dasar dan Indikator


3.6 Menerapkan Struktur kontrol percabangan dalam bahasa pemrograman
a. Menjelaskan Statemen /perintah untuk control percabangan
b. Menerapkan statemen/perintah untuk kontrol percabangan tidak bersyarat
c. Menerapkan statemen/perintah untuk cotrol percabangan sederhana
d. Menerapkan statemen/perintah Untuk control percabangan bertingkat

4.6 Membuat kode program sruktur kontrol percabangan


a. Membuat aplikasi percabangan tidak bersyarat
b. Membuat Aplikasi percabangan sederhana
c. Membuat Aplikasi percabangan bertingkat
d. Membuat aplikasi percabangan bersarang

C. Tujuan Pembelajaran
1. Dapat Menjelaskan Statemen /perintah untuk control percabangan dengan
benar dan baik
2. Dapat Menerapkan statemen/perintah untuk kontrol percabangan tidak
bersyarat dengan benar
3. Dapat Menerapkan statemen/perintah untuk cotrol percabangan sederhana
dengan benar
4. Dapat Menerapkan statemen/perintah Untuk control percabangan bertingkat
5. Dapat Membuat aplikasi percabangan tidak bersyarat dengan benar
6. Dapat Membuat Aplikasi percabangan sederhana dengan benar
7. Dapat Membuat Aplikasi percabangan bertingkat dengan benar
8. Dapat Membuat aplikasi percabangan bersarang dengan benar

D. Materi Ajar
a. Struktur percabangan
b. Percabangan tidak bersyarat
c. Percabangan Sederhana
d. Percabangan bertingkat
e. Percabangan bersarang

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.

G. Langkah – langkah Pembelajaran


Pertemuan 1 – 2
Kegiatan Deskripsi Alokasi
Waktu
1. 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
15
warga negara yang baik.
3. Guru menyampaikan tujuan pembelajaran
4. Guru memotivasi siswa agar semakin giat
belajar
2. Inti Mengamati : 120 Menit
1. Siswa mengamati dan mendengarkan penjelasan
tentang struktur kontrol percabangan
2. Siswa mengamati untuk mengidentifikasi dan
merumuskan maalah tentang sruktur kontrol
percabangan dalam bahasa pemograman
Menanya :
1. Siswa berdikusi menganalisa tentang
percabangan.
2. Siswa berdikusi menganalisa tentang
percabangan sederhana
3. Siswa berdikusi menganalisa tentang
percabangan bertingkat
Mengeksplorasi:
1. Siswa memgumpulkan data tentang sruktur
kontrol percabangan dalam bahasa pemograman
2. Siswa melakukan kompilasi, eksekusi dan
perbaikan pada kesalahan-kesalahan yang
terdapat dalam program.
Mengasosiasi:
1. Siswa mengolah data tentang sruktur kontrol
percabangan dalam bahasa pemograman
Mengkomunikasikan:
Siswa mengomunikasikan tentang sruktur kontrol
percabangan dalam bahasa pemograman
3. Penutup 1. Mereview kembali materi yang telah
disampaikan
2. Siswa mengerjakan evaluasi 15
3. Siswa saling memberikan umpan balik hasil 5 Menit
evaluasi pembelajaran yang telah dicapai.

Pertemuan 3 – 4
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 sebagai
15 Menit
warga negara yang baik.
3. Guru menyampaikan tujuan pembelajaran
4. Guru memotivasi siswa agar semakin giat
belajar
B. Inti Mengamati :
1. Siswa mengamati dan mendengarkan penjelasan 120 menit
tentang struktur kontrol percabangan
2. Siswa mengamati untuk mengidentifikasi dan
merumuskan maalah tentang sruktur kontrol
percabangan dalam bahasa pemograman
Menanya :
1. Siswa berdikusi menganalisa tentang
percabangan.
2. Siswa berdikusi menganalisa tentang
percabangan sederhana
3. Siswa berdikusi menganalisa tentang
percabangan bertingkat
Mengeksplorasi:
1. Siswa memgumpulkan data tentang sruktur
kontrol percabangan dalam bahasa pemograman
2. Siswa melakukan kompilasi, eksekusi dan
perbaikan pada kesalahan-kesalahan yang
terdapat dalam program.
Mengasosiasi:
1. Siswa mengolah data tentang sruktur kontrol
percabangan dalam bahasa pemograman
Mengkomunikasikan:
Siswa mengomunikasikan tentang sruktur kontrol
percabangan dalam bahasa pemograman
3. Penutup 1. Mereview kembali materi yang telah
disampaikan
2. Siswa mengerjakan evaluasi 16
3. Siswa saling memberikan umpan balik hasil 5 Menit
evaluasi pembelajaran yang telah dicapai.

H. Alat Pembelajaran
1. Laptop
2. Infocus
3. Komputer

K. Penilaian
1. Teknik penilaian Pengetahuan : Test tertulis
2. Teknik Penilaian Ketrampilan : - Penialain Unjuk Kerja
- Observasi
3. Bentuk Instrumen dan Instumrn :
c. Bentuk Instrumen : Tes Uraian
d. Instrumen : Terlampir
4. Pedoman Peskroan : Terlampir

Mengetahui ;

Kepala SMKN 1BUKIT SUNDI Guru Mata Pelajaran

Drs.Syafriantoni, M,kom Lili, S.Pd


NIP. 196806162000121002
Lampiran 1
BAHAN AJAR
Kompetensi : Bahan Ajar
Satuan Pendidikan : SMKN 1 BUKIT SUNDI
Kelas/Semester : X/2
Mata Pelajaran : Pemrograman Dasar
Pertemuan ke : 1- 2
Alokasi waktu : 12 x 45
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 1
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.

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

PERTEMUAN 2
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

2. Bentuk Kedua sebagai tipe baru


Deklarasi
Type
Nilai : Array [ 1..100 ] of real
Var
X : Nilai
Atau
X : Array [ 1.. 100 ] of real

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
Penggunaan Larik dengan percabangan 1 kondisi
Array (larik) dibutuhkan apabila suatu proses memerlukan penyimpanan sementara
data yang bertipe sama dalam memori, untuk selanjutnyauntuk selanjutnya data
tersebut dimanipulasi, dihitung, atau diterapkan proses lainnya. Dengan array dapat
menghemat penggunaan nama-nama variabel yang banyak. Variabel dapat dibagi
menjadi 2 yaitu :
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.

Jika Program ini dijalankan maka hasilnya Sebagai berikut :


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] = 30
X[2] = 30
X[3] = 30
X[4] = 30
X[5] = 30

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.
a b c d  m n o p
   
A   e f g h  dan 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 

Maka algoritma dari permasalahan tersebut dapat dituliskan :


Deklarasi
Type larik : Array [1..Indeks, 1..indeks2] of integer
X : Larik
N : Integer

Procedure Input_ArrayA(output x : Larik; Input M,N : integer);


Deklarasi
I,j : integer
Deskripsi
For I := 1 to m do
For J := 1 to n do
Read ( A[I,j])
End for
Endfor

Procedure Input_ArrayB(output x : Larik; Input M,N : integer);


Deklarasi
I,j : integer
Deskripsi
For I := 1 to m do
For J := 1 to n do
Read ( B[I,j])
End for
Endfor
Procedure Jumlah_Array(Input x : Larik; Input M,N : integer);
Deklarasi
I,j : integer
Deskripsi
For I := 1 to m do
For J := 1 to n do
C[I,j] := A[I,j] + B[I,j]
Write ( C[I,j] )
End for
Endfor

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;

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.

Pengurutan Data pada Array


Permasalahan lain dalam array yang juga banyak digunakan adalah bagaimana
mengurutkan elemen-elemen dari variabel array tersebut. Perhatikankembali Contoh
5.24. Pada contoh tersebut terlihat bahwa isi elemen-elemen dari array tidak dalam
posisi berurutan. Bagaimanakah caranya agar isi elemenelemen tersebut terurut dari
besar ke kecil atau sebaliknya? Ada beberapa algoritma yang dapat digunakan untuk
mengurutkan sekumpulan bilangan, antara lain bubble sort, selection sort, shell sort,
quick sort, dan lain-lain. Pada buku ini kita akan membahas satu algoritma yaitu bubble
sort. Meskipun kinerjanya tidak sebaik algoritma yang lain, algoritma ini mudah
dimengerti dan banyak digunakan.

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

Algoritma Pembacaan Data pada File


Algoritma membaca data algoritmanya hampir sama dengan menuliskan data,
tetapi modus yang digunakan tidak O tetapi I. I adalah input yang berarti file data
dibuka untuk dibaca datanya sebagai input.
Berikut ini algoritmanya dalam SE.
Open “modus”, <buffer number>, “nama file data”
While not EOF:
Input <record number>, field 1, field 2, ..
field n
Print field 1, field 2, .. field n
End while
Close buffer number

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

Contoh dalam bahasa pemrograman dasar :


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.

PERTEMUAN 3
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 31omp 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 32ompu”;
}
return 0;
}
PERTEMUAN 4
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 32omputer3232e 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 33omputer“;
}
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 : SMKN 1 BUKIT SUNDI
Kelas/Semester : X/2
Mata Pelajaran : Pemrograman Dasar
Pertemuan ke : 1 - 4
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
4. Buatlah sebuah program sederhana !
5. Tuliskan macam-macam array !
6. Tuliskan struktur percabangan !
7. 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 36omputer“;
}
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 36omput
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 : SMKN 1 BUKIT SUNDI
Kelas/Semester : X/2
Mata Pelajaran : Pemrograman dasar
Pertemuan ke : 1 - 4
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.

Nomor peserta didik :


.......................................................
Nama Absen Peserta didik :
.........................................................

No. Sikap Kriteria Hasil


Ya Tidak
1. Jujur 1. Melaporkan data/informasi sesuai
dengan apa yang dibaca.
2. Menyampaikan pendapat disertai
dengan informasi dari buku sumber
yang diterima
2. Tanggung jawab 1. Melaksanakan tugas sesuai dengan
perintah guru
2. Menyelesaikan tugas sampai selesai.
3. Disiplin Melaksanakan dan menyelesaikan tugas
sesuai dengan waktu yang ditetapkan.
4. Bekerja sama Menghargai pekerjaan teman dan
berperan aktif dalam menyelesaikan
tugas kelompok.
5. Santun 1. Menyampaikan pendapat dengan
bahasa dan nada yang baik.
2. Menghargai adanya perbedaan
pendapat.
Lampiran 4
LEMBAR PENGAMATAN KETERAMPILAN/PSIKOMOTOR

Kompetensi : Keterampilan
Satuan Pendidikan : SMKN 1 BUKIT SUNDI
Kelas/Semester : X/2
Mata Pelajaran : Pemrograman dasar
Pertemuan ke : 1 - 4
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 **)

*) Keterangan: **) Keterangan


1. Aktifitas bertanya 1. Sangat Terampil, jika 5 keaktifan

2. Aktifitas menjawab 2. Terampil, jika 4 keaktifan


3. Aktifitas mencatat 3. Cukup Terampil, jika 3 keaktifan
4. Akurasi jawaban 4. Kurang Terampil, jika 2 keaktifan
5. Akurasi pertanyaan 5. Tidak Terampil, jika 1 keaktifan
RENCANA PELAKSANAAN PEMBELAJARAN ( RPP )

Mata Pelajaran : Pemrograman Dasar


Kelas / Semester : X / 2
Pertemuan : 1 – 4
Alokasi Waktu : 12 x 45 Menit
Standar Kompetensi : Menerapkan Pemrograman Dasar
Karakter Bangsa yang diharapkan : Disiplin, Kreatif, Mandiri, Tanggung Jawab,
Kerja sama.

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.

B. Kompetensi Dasar dan Indikator


3.7 Menerapkan struktur kontrol perulangan dalam bahasa pemrograman
a. Menjelaskan statemen/perintah untuk perulangan
b. Menerapkan statement/perintah untuk kontrol perulangan sederhana
c. Menerapkan statement/perintah untuk kontrol perulangan bersarang

4.7 Membuat kode program sruktur kontrol perulangan


a. Membuat aplikasi perulangan sederhana
b. Membuat aplikasi perulangan bersarang

C. Tujuan Pembelajaran
Setelah mempelajari perulangan siswa diharapkan :
a. Menjelaskan statemen/perintah untuk perulangan
b. Menerapkan statement/perintah untuk kontrol perulangan sederhana
c. Menerapkan statement/perintah untuk kontrol perulangan bersarang
d. Membuat aplikasi perulangan sederhana
e. Membuat aplikasi perulangan bersarang

D. Materi Ajar
1. Struktur kontrol perulangan
2. Percabangan sederhana
3. Perulangan bertingkat
4. Percabangan bersarang
E. Metode Pembelajaran
a. Pendekatan : Scientifict Learning
b. Straegi : Cooperative Learning
c. Model : Problem Based Learning
d. Metode : Diskusi, Ceramah, tanya Jawab

F. Langkah – langkah Pembelajaran


Pertemuan 1 – 2
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. Inti Mengamati : 120 Menit
1. Siswa mengamati dan mendengarkan
penjelasan tentang struktur kontrol
perulangan.
2. Siswa mengamati untuk mengidentifikasi
dan merumuskan masalah tentang sruktur
kontrol perulangan dalam bahasa
pemograman
Menanya :
1. Siswa berdikusi menganalisa tentang
sruktur perulangan.
2. Siswa berdikusi menganalisa tentang
Percabangan sederhana
3. Siswa berdikusi menganalisa tentang
perulangan bertingkat
4. Siswa berdiskusi menganalisa tentang
percabangan bersarang.
Mengeksplorasi:
1. Siswa membuat aplikasi perulangan
sederhana
2. Siswa Mengolah data tentang sruktur
kontrol perulangan dalam bahasa
pemograman
3. Siswa melakukan kompilasi, eksekusi dan
perbaikan pada kesalahan-kesalahan yang
terdapat dalam program.
Mengasosiasi:
1. Siswa mengumpulkan data tentang sruktur
kontrol perulangan dalam bahasa
pemograman
Mengkomunikasikan:
1. Siswa membuat sebuah laporan dan
mempresentasikan hasil dari sebuah
program sederhana.
2. Siswa Mengomunikasikan tentang sruktur
kontrol perulangan dalam bahasa
pemograman
C. Penutup 1. Mereview kembali materi yang telah
disampaikan
2. Siswa mengerjakan evaluasi 5 menit
3. Siswa saling memberikan umpan balik hasil
evaluasi pembelajaran yang telah dicapai.

Pertemuan 3 – 4
Kegiatan Deskripsi Alokasi Waktu
A. Pendahulua 1. Siswa
n menjawab
sapaan guru,
berdoa, dan
mengondisikan
diri siap
belajar
2. Guru dan
siswa
bertanya
jawab
berkaitan
dengan
identitas diri
yang 15 Menit
dibutuhkan
sebagai warga
negara yang
baik.
3. Guru
menyampaikan
tujuan
pembelajaran
4. Guru
memotivasi
siswa agar
semakin giat
belajar

B. Inti Mengamati : 115 Menit


1. Siswa
mengamati dan
mendengarkan
penjelasan
tentang
struktur
kontrol
perulangan.
2. Siswa
mengamati
untuk
mengidentifikas
i dan
merumuskan
masalah
tentang sruktur
kontrol
perulangan
dalam bahasa
pemograman
Menanya :
1. Siswa
berdikusi
menganalisa
tentang
sruktur
perulangan.
2. Siswa
berdikusi
menganalisa
tentang
Percabangan
sederhana
3. Siswa
berdikusi
menganalisa
tentang
perulangan
bertingkat
4. Siswa
berdiskusi
menganalisa
tentang
percabangan
bersarang.
Mengeksplorasi:
1. Siswa membuat
aplikasi
perulangan
sederhana
2. Siswa Mengolah
data tentang
sruktur kontrol
perulangan
dalam bahasa
pemograman
3. Siswa
melakukan
kompilasi,
eksekusi dan
perbaikan pada
kesalahan-
kesalahan yang
terdapat dalam
program.
Mengasosiasi:
Siswa
mengumpulkan
data tentang
sruktur kontrol
perulangan
dalam bahasa
pemograman
Mengkomunikasika
n:
1. Siswa membuat
sebuah laporan
dan
mempresentasi
kan hasil dari
sebuah program
sederhana.
2. Siswa
Mengomunikasi
kan tentang
sruktur kontrol
perulangan
dalam bahasa
pemograman
C. Penutup 1. Mereview 15 menit
kembali materi
yang telah
disampaikan
2. Siswa
mengerjakan
evaluasi
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.
L. Penilaian
1. Teknik penilaian Pengetahuan : Test tertulis
2. Teknik Penilaian Ketrampilan : - Penialain Unjuk Kerja
- Observasi
3. Bentuk Instrumen dan Instumrn :
e. Bentuk Instrumen : Tes Uraian
f. Instrumen : Terlampir
4. Pedoman Peskroan : Terlampir

Mengetahui ;

Kepala SMKN 1BUKIT SUNDI Guru Mata Pelajaran

Drs.Syafriantoni, M,kom
NIP. 196806162000121002 Lili, S.Pd
Lampiran 1
BAHAN AJAR
Kompetensi : Bahan Ajar
Satuan Pendidikan : SMK Bina Islam Mandiri Kersana
Kelas/Semester : X/I
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 45omputer45.
Ada beberapa perulangan di dalam pemrograman dasar :
a. 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.

Dalam mengeksekusi sebuah pengulangan dengan For, urutan langkah-langkah


adalah sebagai berikut :
a. Menetapkan nilai counter sama dengan awal.
b. Memeriksa apakah nilai counter lebih besar daripada nilai akhir. Jika benar
maka keluar dari proses pengulangan. Apabila kenaikan bernilai 46omputer, maka
proses akan memeriksa apakah nilai counter lebih kecil daripada nilai akhir. Jika
benar maka keluar dari proses pengulangan.
c. Mengeksekusi pernyataan yang ada di badan loop
d. Menaikkan/menurunkan nilai counter sesuai dengan jumlah yang ditentukan pada
argument increment. Apabila argument increment tidak ditetapkan maka secara
default nilai counter akan dinaikkan 1.
e. Ulang kembali mulai langkah no 2.
b. Satu hal yang penting yang harus kita perhatikan adalah nilai counter selalu
ditetapkan diawal dari pengulangan. Apabila kita mencoba merubah nilai akhir
pada badan loop, maka tidak akan berdampak pada berapa banyak pengulangan
akan dilakukan.

b. Pengulangan dengan While


Pada pengulangan dengan For, banyaknya pengulangan diketahui dengan pasti karena
nilai awal (start) dan nilai akhir (end) sudah ditentukan diawal pengulangan. Bagaimana
jika kita tidak tahu pasti harus berapa kali mengulang? Pengulangan dengan While
merupakan jawaban dari permasalahan ini. Seperti halnya For, struktur pengulangan
dengan While juga merupakan struktur yang didukung oleh 47omput semua bahasa
pemrograman namun dengan sintaks yang berbeda.
Flowchart umum untuk struktur For tampak pada Gambar 5.15

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 47omputer47 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

Algoritma Gelembung (Buble Short)


Untuk menampilkan untuk menampilkan nilai paling kecil diletakkan diawal data.
Algoritma diaplikasikan untuk mencari data yang paling kecil. Dalam suatu individu dan
tidak mencari nilai data pengolahan dilakukan untuk n-1, x suatu exservasi untuk
mencapatkan nilai terkecil.
Misalnya datanya : 23, 45, 12, 24, 56, 34, 27, 23, 16;
Langkah-Langkah :
a. a (1) dengan a (2) 23 dengan 45 → Tetap
b. a (1) dengan a (3) 12 dengan 12 → Tukar
c. a (1) dengan a (4) 12 dengan 24 → Tetap
d. a (1) dengan a (5) 12 dengan 56 → Tetap
e. a (1) dengan a (6) 12 dengan 34 → Tetap
f. a (1) dengan a (7) 12 dengan 27 → Tetap
g. a (1) dengan a (8) 12 dengan 23 → Tetap
h. a (1) dengan a (9) 12 dengan 16 → Tetap
i. Hasil : 12, 23, 45, 24, 56, 34, 27, 23, 16

Shorting
Pertimbangan akan melakukan shorting.
Hal-hal yang akan dipertimbangkan adalah :
1. Perlu tidaknya data disorting
2. Besarnya atau banyaknya data yang akan dishorting
3. Kemampuan atau kapasitas komputer atau penyimpanan datanya
4. Metode shorting

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)

2. Loop Dengan Decision


Tiap loop memiliki pengontrol loop yaitu suatu keadaan dimana suatu loop harus
selesai. Decision digunakan sebagai pengontrol loop untuk menyelesaikan perulangan
prosesnya.
Bentuk umum :
Parameter := awal;
10 if (parameter <= akhir) then
blok loop
parameter := parameter + step;
goto 10
endif
c. Loop For
Loop ini agak 50ompute, dimana antara nilai awal, nilai akhir dan step tertulis didalam
satu statement.
Bentuk umum :
For indeks := awal to akhir do
Blok loop
Endfor

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

f. Nested Loop For


Yang dimaksud dengan loop tersarang adalah suatu loop yang berada di dalam loop,
artinya proses suatu loop bergantung dengan proses loop lainnya. Bentuk standart dari
loop ini tidak ada karena sangat fleksibelnya.
Bentuk umum :
For indeks1 := awal1 to akhir1 do
Statement1
For indeks2 := awal2 to akhir 2 do
Statement2
Endfor
Endfor
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

2. Nested Loop Repeat


Penggunaan loop repeat yang saling tersarang, sebagaimana pada kasus loop for dan
loop while maka tidak ada bentuk khusus dari loop tersarang repeat.
Bentuk umum :
Parameter := awal1
Repeat
Statemen1
Parameter2 := awal2
Repeat
Statemen2
Parameter2 := parameter2 + step2
Until parameter > akhir2
Parameter1 := parameter1 + step1
Until parameter > akhir1

3. Nested Loop Compound


Merupakan gabungan dari macam – macam loop yang ada.
Bentuk umum :
For indeks1 := awal1 to akhir1 do
Statement1
Indeks2 := awal2
While (indeks2 <=akhir2) do
Statement2
Indeks2 := indeks2 + step2
Endwhile
Endfor
Lampiran 2
INSTRUMEN TES URAIAN

Kompetensi : Pengetahuan
Satuan Pendidikan : SMK Bina Islam Mandiri Kersana
Kelas/Semester : X/I
Mata Pelajaran : Pemrograman dasar
Pertemuan ke : 11 – 14
Alokasi waktu : 8 x 45

A. Kompetensi Dasar
3. 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 52omputer yang melaksanakannya.
b. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa
pemrograman.
c. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama
karena algoritmanya sama.

2. Hal yang perlu diperhatikan :


a. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.
Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah
dimengerti dan dipahami.
b. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi
bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma
disebut notasi algoritmik.
c. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik
sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks
program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam
notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik
tersebut berkorespondensi dengan notasi bahasa pemrograman secara
umum.
d. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu
pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh
53omputer. Agar dapat dijalankan oleh 53omputer, pseudocode dalam
notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi
bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis
program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin
yang menjalannya.
e. Algoritma sebenarnya digunakan untuk membantu kita dalam
mengkonversikan suatu permasalahan ke dalam bahasa pemrograman
3. Flowchart volume balok

4. Flowchart Luas Lingkaran :


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 Bina Islam Mandiri Kersana
Kelas/Semester : X/I
Mata Pelajaran : Pemrograman dasar
Pertemuan ke : 11 – 14
Alokasi waktu : 8 x 45

Nomor peserta didik : .......................................................


Nama Absen Peserta didik: .........................................................

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.

No. Sikap Kriteria Hasil


Ya Tidak
1. Jujur 1. Melaporkan data/informasi sesuai
dengan apa yang dibaca.
2. Menyampaikan pendapat disertai
dengan informasi dari buku sumber
yang diterima
2. Tanggung jawab 1. Melaksanakan tugas sesuai dengan
perintah guru
2. Menyelesaikan tugas sampai selesai.
3. Disiplin Melaksanakan dan menyelesaikan tugas
sesuai dengan waktu yang ditetapkan.
4. Bekerja sama Menghargai pekerjaan teman dan
berperan aktif dalam menyelesaikan
tugas kelompok.
5. Santun 1. Menyampaikan pendapat dengan
bahasa dan nada yang baik.
2. Menghargai adanya perbedaan
pendapat.
Lampiran 4
LEMBAR PENGAMATAN KETERAMPILAN/PSIKOMOTOR
Kompetensi : Keterampilan
Satuan Pendidikan : SMK Bina Islam Mandiri Kersana
Kelas/Semester : X/I
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

Isilah dengan tanda centang (√) apabila seorang siswa melakukan aktivitas !
Aspek keterampilan *) Nilai
No. Nama
1 2 3 4 5 **)

*) Keterangan: **) Keterangan


1. Aktifitas bertanya 1. Sangat Terampil, jika 5
keaktifan
2. Aktifitas menjawab 2. Terampil, jika 4 keaktifan
3. Aktifitas mencatat 3. Cukup Terampil, jika 3 keaktifan

4. Akurasi jawaban 4. Kurang Terampil, jika 2


keaktifan
5. Akurasi pertanyaan 5. Tidak Terampil, jika 1 keaktifan
RENCANA PELAKSANAAN PEMBELAJARAN ( RPP )

Mata Pelajaran : Pemrograman Dasar


Kelas / Semester : X /
Pertemuan : 1-4
Alokasi Waktu : 8 x 45 Menit
Standar Kompetensi : Menerapkan Pemrograman Dasar
Karakter Bangsa yang diharapkan : Disiplin, Kreatif, Mandiri, Tanggung Jawab,
Kerja sama.

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.

B. Kompetensi Dasar dan Indikator


3.13 Mengevalauasi debuging pada aplikasi sederhana
a. Menerapkan prosedur debuging pada aplikasi berdasarkan data debuging
b. Mengidentifikasi permasalahan pada aplikasi berdasarkan data debuging

3.14 Menggunakan debuging pada aplikasi sederhana


a. Memperbaiki BUG pada aplikasi
b. Menguji aplikasi hasil perbaikan

C. Tujuan Pembelajaran
Setelah pembelajaran selesai, peserta didik diharapakan dapat :
a. Menerapkan prosedur debuging pada aplikasi berdasarkan data debuging
dengan benar
b. Mengidentifikasi permasalahan pada aplikasi berdasarkan data debugingdengan
benar
c. Memperbaiki BUG pada aplikasi sesuai dengan acuannya
d. Menguji aplikasi hasil perbaikan sesuai dengan kaidah yang ada
D. Materi Ajar
1. Debuging aplikasi
2. Menganalisis data hasil debuging
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
G. Langkah – Langkah Pembelajaran
Pertemuan 1-2
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 sebagai warga 30 Menit
negara yang baik.
3. Guru menyampaikan tujuan pembelajaran
4. Guru memotivasi siswa agar semakin giat belajar
B. Inti Mengamati : 120 Menit
1. Siswa Mengamati untuk dapat mengidentifikasi dan
merumuskan masalah debuging pada aplikasi
2. Siswa mengamati dan mendengarkan penjelasan
tentang debugging dalam sebuah program
3. Siswa mengamati dan mendengarkan penjelasan
mengenai error yang terjadi dalam sebuah program.
Menanya :
1. Siswa berdikusi menganalisa tentang debugging
sebuah program.
2. Siswa berdikusi menganalisa tentang error salam
sebuah program.
Mengeksplorasi:
1. Siswa Mengumpulkan Data tentang debuging pada
aplikasi
2. Siswa melakukan kompilasi, eksekusi dan perbaikan
pada kesalahan-kesalahan yang terdapat dalam
program.
Mengasosiasi:
1. Siswa dapat mengolah data tentang debuging pada
aplikasi
2. Siswa membuat sebuah kesimpulan tentang
debugging dan error dalam sebuah program.
Mengkomunikasikan:
Siswa dapat mengomunikasikan tentang debugging
pada aplikasi
C. Penutup 1. Mereview kembali materi yang telah disampaikan
2. Siswa mengerjakan evaluasi
30 Menit
3. Siswa saling memberikan umpan balik hasil evaluasi
pembelajaran yang telah dicapai.

Pertemuan 17
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 sebagai warga 15 Menit
negara yang baik.
3. Guru menyampaikan tujuan pembelajaran
4. Guru memotivasi siswa agar semakin giat belajar
B. Inti Mengamati :
1. Siswa mengamati dan mendengarkan penjelasan
tentang debugging dalam sebuah program
2. Siswa mengamati dan mendengarkan penjelasan
mengenai error yang terjadi dalam sebuah program.
Menanya :
3. Siswa berdikusi menganalisa tentang debugging
sebuah program.
4. Siswa berdikusi menganalisa tentang error salam
sebuah program.
115 Menit
Mengeksplorasi:
3. Siswa melakukan kompilasi, eksekusi dan perbaikan
pada kesalahan-kesalahan yang terdapat dalam
program.
Mengasosiasi:
3. Siswa membuat sebuah kesimpulan tentang
debugging dan error dalam sebuah program.
Mengkomunikasikan:
Siswa membuat sebuah laporan dan mempresentasikan
hasil dari sebuah program sederhana.
C. Penutup 1. Mereview kembali materi yang telah 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.

M. Penilaian
1. Teknik penilaian Pengetahuan : Test tertulis
2. Teknik Penilaian Ketrampilan : - Penialain Unjuk Kerja
- Observasi
3. Bentuk Instrumen dan Instumrn :
g. Bentuk Instrumen : Tes Uraian
h. Instrumen : Terlampir
4. Pedoman Peskroan : Terlampir

Mengetahui ;

Kepala SMKN 1BUKIT SUNDI Guru Mata Pelajaran

Drs.Syafriantoni, M,kom Lili, S.Pd


NIP. 196806162000121002
Lampiran 1
BAHAN AJAR
Kompetensi : Bahan Ajar
Satuan Pendidikan : SMK Bina Islam Mandiri Kersana
Kelas/Semester : X/I
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 :
1. Masukkan bilangan pertama
2. Masukkan bilangan kedua
3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak,
kerjakan langkah 5.
4. Tampilkan bilangan pertama
5. Tampilkan bilangan kedua
Solusi Algoritma :
1. Masukkan bilangan pertama (a)
2. Masukkan bilangan kedua (b)
3. if a > b then kerjakan langkah 4
4. print a
5. print b
Contoh Lain Algortima dan Pseudo-code :

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.
Kaidah-Kaidah Umum Pembuatan Flowchart 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,
2. Proses pengolahan dan
3. Output
Pertemuan 17
Pemecahan masalah dalam sebuah Program
Untuk pengolahan data dengan komputer, urutan dasar pemecahan suatu masalah:
 START, berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum
menangani pemecahan persoalan.
 READ, berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input.
 PROSES, berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan
data yang dibaca.
 WRITE, berisi pernyataan untuk merekam hasil kegiatan ke peralatan output.
 END, mengakhiri kegiatan pengolahan.
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.
Solusi : Perumusan untuk mencari luas persegi panjang adalah : L = p . l
di mana, L adalah Luas persegi panjang, p adalah panjang persegi, dan l adalah lebar
persegi.

Keterangan gambar :
1. Simbol pertama menunjukkan dimulainya sebuah program.
2. Simbol kedua menunjukkan bahwa input data dari p dan l.
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

Kompetensi : Tes Uraian


Satuan Pendidikan : SMK Bina Islam Mandiri Kersana
Kelas/Semester : X/I
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

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

3. 3 bagian utama flowchart


 Input,
 Proses pengolahan
 danOutput

4. Flowchart mencari Luas persegi panjang :


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 Bina Islam Mandiri Kersana
Kelas/Semster : X/I
Mata Pelajaran : Pemrograman Dasar
Pertemuan ke : 15 – 17
Alokasi waktu : 6 x 45

Nomor peserta didik : .......................................................


Nama Absen Peserta didik: .........................................................

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.

No. Sikap Kriteria Hasil


Ya Tidak
1. Jujur 3. Melaporkan data/informasi sesuai
dengan apa yang dibaca.
4. Menyampaikan pendapat disertai
dengan informasi dari buku sumber
yang diterima
2. Tanggung jawab 3. Melaksanakan tugas sesuai dengan
perintah guru
4. Menyelesaikan tugas sampai selesai.
3. Disiplin Melaksanakan dan menyelesaikan tugas
sesuai dengan waktu yang ditetapkan.
4. Bekerja sama Menghargai pekerjaan teman dan
berperan aktif dalam menyelesaikan
tugas kelompok.
5. Santun 3. Menyampaikan pendapat dengan
bahasa dan nada yang baik.
4. Menghargai adanya perbedaan
pendapat.
Lampiran 4
LEMBAR PENGAMATAN KETERAMPILAN/PSIKOMOTOR

Kompetensi : Keterampilan
Satuan Pendidikan : SMK Bina Islam Mandiri Kersana
Kelas/Semster : X/I
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 **)

*) Keterangan: **) Keterangan


1. Aktifitas bertanya 1. Sangat Terampil, jika 5 keaktifan

2. Aktifitas menjawab 2. Terampil, jika 4 keaktifan


3. Aktifitas mencatat 3. Cukup Terampil, jika 3 keaktifan
4. Akurasi jawaban 4. Kurang Terampil, jika 2 keaktifan
5. Akurasi pertanyaan 5. Tidak Terampil, jika 1 keaktifan

RENCANA PELAKSANAAN PEMBELAJARAN ( RPP )


Mata Pelajaran : Pemrograman Dasar
Kelas / Semester : X / 2
Pertemuan : 1- 3
Alokasi Waktu : 8 x 45 Menit
Standar Kompetensi : Menerapkan Pemrograman Dasar
Karakter Bangsa yang diharapkan : Disiplin, Kreatif, Mandiri, Tanggung Jawab,
Kerja sama.
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.

B. Kompetensi Dasar dan Indikator


3.8 Menganalisis penggunaan array untuk penyimpanan data di memori
a. Menjelaskan array satu dimensi
b. Menjelaskan array multy dimensi
c. Mengidentifikasi penerapan array satu dimensi
d. Mengidentifikasi penerapan array multi dimensi

4.8 Membuat kode program untuk menampilkan kumpulan data array


a. Membuat aplikasi array satu dimensi
b. Membuat aplikasi array multi dimensi

C. Tujuan pembelajaran
Setelah proses mencari informasi, bertanya dan berdiskusi siswa dapat
1. Menganalisa penggunaan array untuk penyimpanan data pada memori dengan
benar.
2. Mengidentifikasi penggunaan array untuk penyimpanan data pada memori dengan
benar.
3. Membuat kode program untuk mendeklarasikan array dengan benar.
4. Membuat kode program untuk penyimpanan data pada array dengan benar.
5. Membuat kode program untuk menampilkan data pada array dengan benar.

D. Materi Ajar
a. Konsep Array
b. Array satu dimensi
c. Array Multi dimensi
E. Metode Pembelajaran
1. Pendekatan Pembelajaran : Scientific Approach
2. Model Pembelajaran : Problem Based Learning
3. Metode Pembelajaran : Ceramah ,Tanya Jawab, Demonstrasi dan Praktikum
F. Media, Alat/Bahan dan Sumber Belajar
1. Media : Slide Presentasi
2. Alat : LCD Proyektor, Laptop
3. Sumber Belajar : Buku, Internet, Modul
G. langkah-Langkah Kegiatan Pembelajaran
1. Pertemuan Pertama
Kegiatan Deskripsi Kegiatan Alokasi
Waktu
Pendahuluan Komunikasi 20 menit
a. Berdoa
b. Guru mengkondisikan lingkungan belajar siswa, tempat duduk,
kebersihan kelas, kerapian siswa.
c. Guru mengabsensi siswa kehadiran peserta didik, menanyakan
kabar, kesehatan, dan sebagainya.
d. Guru memotivasi siswa untuk giat belajar
e. Guru mengulang pelajaran pertemuan sebelumnya.
Apersepsi
a. Guru menyampaikan tujuan pembelajaran yaitu :
- Menganalisa penggunaan array untuk penyimpanan data pada
memori dengan benar.
- Mengidentifikasi penggunaan array untuk penyimpanan data
pada memori dengan benar.
b. Guru memberikan gambaran kepada siswa betapa pentingnya
pemahaman mengenai materi yang akan disampaikan
Inti 1. Tahap 1 : Orientasi Siswa Pada Masalah 150
a. Guru mengajukan masalah 1 “ Bagaimana cara menyimpan data- Menit
data yang homogen paling efektif pada memori ?”
b. Guru meminta siswa mengamati (membaca) dan memahami
masalah secara individu dan mengajukan hal-hal yang belum
dipahami terkait masalah yang disajikan.
c. Jika ada siswa yang mengalami masalah, guru mempersilahkan
siswa lain untuk memberikan tanggapan
d. Guru meminta siswa menuliskan informasi yang terdapat dari
masalah tersebut secara teliti dengan menggunakan bahasa
sendiri.
2. Tahap 2 : Mengorganisasikan Siswa Untuk Belajar
a. Guru membentuk kelompok heterogen (dari sisi kemampuan,
gender, budaya, maupun agama) sesuai pembagian kelompok
yang telah direncanakan oleh guru.
b. Guru membagikan Lembar Aktivitas Siswa (LAS) yang berisikan
masalah dan langkah-langkah pemecahan serta meminta siswa
berkolaborasi untuk menyelesaikan masalah.
c. Guru berkeliling mencermati siswa bekerja, mencermati dan
menemukan berbagai kesulitan yang dialami siswa, serta
memberikan kesempatan kepada siswa untuk bertanya hal-hal
yang belum dipahami.
d. Guru memberi bantuan (scaffolding) berkaitan kesulitan yang
dialami siswa secara individu, kelompok, atau klasikal.
e. Mendorong siswa agar bekerja sama dalam kelompok.

3. Tahap 3 : Membimbing Penyeledikan Individu dan Kelompok


a. Guru mendorong siswa baik secara individu atau kelompok untuk
aktif dalam mencoba menyelesaikan masalah
b. Guru membimbing siswa dalam mengelola informasi yang telah
mereka dapatkan agar dapat menyelesaikan masalah yang telah
diberikan

4. Tahap 4 : Mengembangkan dan Menyajikan Hasil Karya


a. Guru meminta siswa menyiapkan laporan hasil diskusi kelompok
secara rapi, rinci, dan sistematis.
b. Guru berkeliling mencermati siswa bekerja menyusun laporan
hasil diskusi, dan memberi bantuan, bila diperlukan.
c. Guru meminta siswa menentukan perwakilan kelompok secara
musyawarah untuk menyajikan (mempresentasikan) laporan di
depan kelas.

5. Tahap 5 : Menganalisis dan Mengevaluasi Proses Pemecahan


Masalah
a. Guru meminta semua kelompok bermusyawarah untuk
menentukan satu kelompok yang mempresentasikan
(mengkomunikasikan) hasil diskusinya di depan kelas secara
runtun, sistematis, santun, dan hemat waktu.
b. Guru memberi kesempatan kepada siswa dari kelompok penyaji
untuk memberikan penjelasan tambahan dengan baik.
c. Guru memberi kesempatan kepada siswa dari kelompok lain
untuk memberikan tanggapan terhadap hasil diskusi kelompok
penyaji dengan sopan.
d. Guru melibatkan siswa mengevaluasi jawaban kelompok penyaji
serta masukan dari siswa yang lain dan membuat kesepakatan,
bila jawaban yang disampaikan siswa sudah benar.

e. Guru memberi kesempatan kepada kelompok lain yang


mempunyai jawaban berbeda dari kelompok penyaji pertama
untuk mengkomunikasikan hasil diskusi kelompoknya secara
runtun, sistematis, santun, dan hemat waktu. Apabila ada lebih
dari satu kelompok, maka guru meminta siswa bermusyawarah
menentukan urutan penyajian.
f. Langkah (c), (d), dan (e) sebagai satu siklus dapat dilaksanakan
lagi dan disesuaikan dengan waktu yang tersedia.
g. Guru mengumpulkan semua hasil diskusi tiap kelompok
h. Dengan tanya jawab, guru mengarahkan semua siswa pada
kesimpulan mengenai permasalahan tersebut.

Penutup 1. Guru menyampaikan materi untuk minggu depan 10 Menit


2. Guru menutup pelajaran

2. Pertemuan Kedua
Kegiatan Deskripsi Kegiatan Alokasi Waktu
Pendahuluan Komunikasi 10 menit
a. Berdoa
b. Guru mengkondisikan lingkungan
belajar siswa, tempat duduk,
kebersihan kelas, kerapian siswa.
c. Guru mengabsensi siswa kehadiran
peserta didik, menanyakan kabar,
kesehatan, dan sebagainya.
d. Guru memotivasi siswa untuk giat
belajar
e. Guru mengulang pelajaran pertemuan
sebelumnya.

Apersepsi
a. Guru menyampaikan tujuan
pembelajaran yaitu :
- Menganalisa penggunaan array
untuk penyimpanan data pada
memori dengan benar.
- Mengidentifikasi penggunaan array
untuk penyimpanan data pada
memori dengan benar.
b. Guru memberikan gambaran kepada
siswa betapa pentingnya pemahaman
mengenai materi yang akan
disampaikan
Inti 1. Tahap 1 : Orientasi Siswa Pada 100 Menit
Masalah
a. Guru mengajukan masalah 2
- Bagaimana mendeklarasikan array ?
- Bagaimana menginisialisasi array ?
- Bagaimana mendeklarasikan dan
menginisialisasi array dalam satu
baris perintah ?
- Bagaimana kode program yang
paling tepat untuk menampilkan
deret data yang tersimpan pada
array ?
b. Guru meminta siswa mengamati
(membaca) dan memahami masalah
secara individu dan mengajukan hal-
hal yang belum dipahami terkait
masalah yang disajikan.

c. Jika ada siswa yang mengalami


masalah, guru mempersilahkan siswa
lain untuk memberikan tanggapan
d. Guru meminta siswa menuliskan
informasi yang terdapat dari masalah
tersebut secara teliti dengan
menggunakan bahasa sendiri.

2. Tahap 2 : Mengorganisasikan Siswa


Untuk Belajar
a. Guru membentuk kelompok heterogen
(dari sisi kemampuan, gender, budaya,
maupun agama) sesuai pembagian
kelompok yang telah direncanakan
oleh guru.
b. Guru membagikan Lembar Aktivitas
Siswa (LAS) yang berisikan masalah
dan langkah-langkah pemecahan serta
meminta siswa berkolaborasi untuk
menyelesaikan masalah.
c. Guru berkeliling mencermati siswa
bekerja, mencermati dan menemukan
berbagai kesulitan yang dialami siswa,
serta memberikan kesempatan kepada
siswa untuk bertanya hal-hal yang
belum dipahami.
d. Guru memberi bantuan (scaffolding)
berkaitan kesulitan yang dialami siswa
secara individu, kelompok, atau
klasikal.
e. Mendorong siswa agar bekerja sama
dalam kelompok.

3. Tahap 3 : Membimbing Penyeledikan


Individu dan Kelompok
a. Guru mendorong siswa baik secara
individu atau kelompok untuk aktif
dalam mencoba menyelesaikan masalah
b. Guru membimbing siswa dalam
mengelola informasi yang telah
mereka dapatkan agar dapat
menyelesaikan masalah yang telah
diberikan

4. Tahap 4 : Mengembangkan dan


Menyajikan Hasil Karya
a. Guru meminta siswa menyiapkan
laporan hasil diskusi kelompok secara
rapi, rinci, dan sistematis.
b. Guru berkeliling mencermati siswa
bekerja menyusun laporan hasil
diskusi, dan memberi bantuan, bila
diperlukan.
c. Guru meminta siswa menentukan
perwakilan kelompok secara
musyawarah untuk menyajikan
(mempresentasikan) laporan di depan
kelas.

5. Tahap 5 : Menganalisis dan


Mengevaluasi Proses Pemecahan
Masalah
a. Guru meminta semua kelompok
bermusyawarah untuk menentukan
satu kelompok yang mempresentasikan
(mengkomunikasikan) hasil diskusinya
di depan kelas secara runtun,
sistematis, santun, dan hemat waktu.
b. Guru memberi kesempatan kepada
siswa dari kelompok penyaji untuk
memberikan penjelasan tambahan
dengan baik.
c. Guru memberi kesempatan kepada
siswa dari kelompok lain untuk
memberikan tanggapan terhadap hasil
diskusi kelompok penyaji dengan
sopan.
d. Guru melibatkan siswa mengevaluasi
jawaban kelompok penyaji serta
masukan dari siswa yang lain dan
membuat kesepakatan, bila jawaban
yang disampaikan siswa sudah benar.
e. Guru memberi kesempatan kepada
kelompok lain yang mempunyai
jawaban berbeda dari kelompok
penyaji pertama untuk
mengkomunikasikan hasil diskusi
kelompoknya secara runtun,
sistematis, santun, dan hemat waktu.
Apabila ada lebih dari satu kelompok,
maka guru meminta siswa
bermusyawarah menentukan urutan
penyajian.
f. Langkah (c), (d), dan (e) sebagai satu
siklus dapat dilaksanakan lagi dan
disesuaikan dengan waktu yang
tersedia.
6. Guru mengumpulkan semua hasil
diskusi tiap kelompok
7. Dengan tanya jawab, guru
mengarahkan semua siswa pada
kesimpulan mengenai permasalahan
tersebut.

Penutup 1. Guru menyampaikan materi untuk 10 enit


minggu depan
2. Guru menutup pelajaran
H. Sumber Belajar
4. Buku Algoritma dan Pemrograman Pascal.
5. Internet.
6. Modul produktif, Buku Algoritma dan pemograman tingkat Dasar.
I. Penilaian
i. Teknik penilaian Pengetahuan : Test tertulis
ii. Teknik Penilaian Ketrampilan : - Penialain Unjuk Kerja
- Observasi
iii. Bentuk Instrumen dan Instumrn :
i. Bentuk Instrumen : Tes Uraian
j. Instrumen : Terlampir
iv. Pedoman Peskroan : Terlampir

Mengetahui ;
Kepala SMKN 1BUKIT SUNDI Guru Mata Pelajaran

Drs.Syafriantoni, M,kom
NIP. 196806162000121002 Lili, S.Pd
A. Lampiran
Soal Pilihan Ganda :
1. Tipe data terstruktur yang dapat menyimpan sejumlah data yang bersifat
homogeny disebut dengan
a. Array
b. Variabel
c. Konstanta
d. Tipe Data
e. Database
2. Indeks dari sebuah array dimulai dari :
a. 0
b. 1
c. -1
d. 100
e. 10
3. Pendeklrasian array dengan jumlah array 10 bertipe data integer yang tepat
adalah :
a. double a[10];
b. Int a[10];
c. Int a[11];
d. Int a[ ];
e. float a[10];
4. Deklarasi array sekaligus inisialisasi data array dengan jumlah data sebanyak 4
bertipe data float yang tepat adalah;
a. float b[4]={1.2, 3.2, 4.2, 5.2};
b. int b[4]={1,2,3,4};
c. float b[3]={1,2,3,4};
d. double b[4]= {1.2, 3.2, 4.2, 5.2};
e. float b[2]= {1.2, 3.2, 4.2, 5.2};
5. Jika indeks terakhir dari sebuah array adalah 9 maka, jumlah data yang dapat
ditampung oleh array tersebut adalah …
a. 10
b. 9
c. 1
d. 0
e. 8

6. Berikut yang bukan merupakan pembagian array berdasarkan dimensi adalah …


a. Array 1 dimensi
b. Array 2 dimensi
c. Array multi dimensi
d. Array jagged
e. Array non dimensi

7. Output dari script berikut adalah ....


a. 2359147
b. 7419532
c. 5 8 14 10 5 11 7
d. 7 11 5 10 14 8 5
e. 5 8 14 9 4 7

8. Tampilan yang dicetak ke layar adalah ...

a. 6
b. 4
c. 6 4
d. 46
e. 47

9. Data variabel array pada elemen arr[4] adalah ...

a. 3
b. 2
c. 7
d. 5
e. 6
10. Jika kita ingin membuat sebuah variabel array 2 dimensi dengan jumlah elemen 3
baris 4 kolom bertipe data integer, maka deklarasi yang tepat adalah ...
a. char A [3][4]
b. int A [3][4]
c. int A [4][3]
d. double A [3][4]
e. float A [3][4]
Lembar Penilaian Keterampilan
Indikator :
1. Membuat kode program untuk mendeklarasikan array
2. Membuat kode program untuk menyimpan data pada array
3. Membuat kode program untuk menampilkan data array
Acuan Penilaian :
1. Kurang Terampil jika sama sekali tidak dapat membuat kode program untuk
mendeklarasikan array, menyimpan data pada array, menampilkan data pada array.
2. Terampil jika dapat membuat kode program untuk mendeklarasikan array,
menyimpan data pada array, menampilkan data pada array.
3. Sangat Terampil jika mampu membuat membuat kode program untuk
mendeklarasikan array, menyimpan data pada array, menampilkan data pada array
dengan presisi dan efesien serta dapat mengembangkannya kedalam aplikasi yang
user friendly!

Soal Keterampilan
1. Buatlah kode program untuk menyimpan 10 data berupa nilai siswa dalam bentuk
decimal, kemudian menampilkan 10 data tersebut secara berurutan dari indeks
paling akhir dengan menggunakan perulangan (looping) !
2. Buatlah kode program untuk menyimpan 5 data berupa umur siswa yang diinputkan
oleh pengguna (user) kemudia menampilkan 5 data tersebut secara berurutan dari
indeks pertama dengan menggunakan perulangan (looping) !

Keterampilan
No Nama Siswa Sangat
Terampil Kurang Terampil
Terampil
1
2
3
4
5
6
7
8
9
10
1. Pengantar Array (Larik)

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.
Variabel-variabel yang kita gunakan selama ini adalah variable biasa yang memiliki sifat
bahwa sebuah nama variable hanya dapat menyatakan sebuah nilai numeric atau string
pada suatu saat. Apabila kita ingin memberi nilai yang baru pada variable tersebut maka
nilai lama akan hilang tergantikan oleh nilai yang baru. Bagaimana apabila kita ingin
menyimpan beberapa nilai/data dalam sebuah variable dengan nama yang sama, tetapi
semua nilai tetap tersimpan? Solusi yang dapat dilakukan adalah dengan menggunakan
indeks pada nama variable tersebut. Cara ini biasa disebut dengan array.

Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama,
setiap elemen diakses langsung melalui indeksnya. Indeks array haruslah tipe data yang
menyatakan ke-ter-urut-an, misalnya integer atau string. Array dapat dianalogikan
sebagai sebuah lemari atau locker yang memiliki sederetan kotak penyimpanan yang
diberi nomor berurutan. Untuk menyimpan atau mengambil sesuatu dari kotak tertentu
kita hanya cukup mengetahui nomor kotaknya saja.

Pada variabel array, kita tidak hanya menentukan tipe datanya saja, tetapi juga jumlah
elemen dari array tersebut atau dalam hal ini adalah batas atas indeksnya. Pada

banyak bahasa pemrograman seperti C++, Visual Basic, dan beberapa yang lainnya, nilai
indeks awal adalah 0 bukan 1. Cara menuliskan variabel array berbeda-beda tergantung
bahasa pemrograman apa yang dipakai. Tetapi yang pasti tipe data harus disebutkan dan
batas atas indeks harus ditentukan. Untuk mengisi data pada array kita dapat langsung
menentukan pada indeks berapa kita akan isikan demikian juga untuk memanggil atau
menampilkan data dari array.

Contoh Deklarasi,Inisialisai(pengisian) dan pemanggilan array


Jika diperhatikan kembali dengan baik, script diatas kurang baik, karena melakukan

perintah untuk hal yang sama berulang kali. Untuk array dengan Jumlah Indeks 5

mungkin hal tersebut tidak terlalu bermasalah, bayangkan jika jumlah Indeksnya ada 100

!pasti akan menjadi script yang sangat panjang jika harus dituliskan satu per satu.

Solusinya adalah dengan menggunakan pengulangan, dengan pengulangan kita bisa

mempersingkat script diatas dan tidak mengulangi perintah yang sama secara berulang-

ulang

2. Pencarian data dalam array (larik)


Salah satu permasalahan yang sering dijumpai dalam array adalah bagaimana
mencari elemen tertentu dari array. Misalnya pada kasus loker pada Gam 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 127 banyak
siswa dalam satu sekolah dan kita diminta mencari data seorang siswa dengan nama
tertentu atau alamat tertentu. Perhatikan contoh berikut :

Pada contoh ini kita diminta mencari elemen yang berisi bilangan 12 dari
sekumpulan elemen dalam array. Pada contoh diatas terdapat 6 elemen dalam array
tersebut, menurut kalian bagaimanakah algoritma penyelesaiannya ?
Cara yang paling umum dan paling mudah digunakan adalah dengan menggunakan
metode 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 diatas, maka eksekusi program secara
berurutan akan berlangsung seperti berikut.
 Inisialisasi elemen array
 Tetapkan bilangan yang ingin dicari, dalam contoh ini yaitu 12
 Ambil elemen array paling awal (indeks pertama) yaitu A[0] kemudian bandingkan

isi elemen array tersebut dengan bilangan yang kita cari. Jika sama maka STOP
 Jika tidak maka lanjutkan dengan elemen berikutnya yaitu [A1] kemudian

bangdingkan isi elemen array tersebut dengan bilangan yang kita cari. Jika sama

maka STOP.
 Jika tidak maka lanjutkan dengan elemen berikutnya. Dan seterusnya sampai

dijumpain elemen yang berisi sama dengan bilangan yang dicari.

Mari kita terapkan algoritma diatas kedalam Bahasa pemograman C. Buka aplikasi Dev C+
+ yang sudah terinstall dalam Notebook kalian lalu ketikkan perintah berikut :

Tugas :
Buatlah algoritma, Flowchart dan aplikasi yang mengandung
Array dengan jumlah elemen 20
Input data array dari user dengan menggunakan pengulangan
Menampilkan isi elemen array yang hanya memilikibilangan ganjil

3. Pengurutan data pada array


Masalah lain yang dijumpai pada array adalah bagaimana cara mengurutkan data
pada array. Ada beberapa algoritma yang dapat digunakan untuk mengurutkan
sekelompok bilangan, diantaranya adalah bubble sort,selection sort,shell short,quick
sort, dan lain-lain. Pada module kali ini kita akan membahas bagaimana mengurutkan data
pada array dengan menggunakan teknik bubble sort.
Berikut adalah contoh deret bilangan yang di inisialisasikan ke dalam array yang
selanjutnya akan kita urutkan dengan menggunakan teknik bubble sort.

Data 20 12 35 11 17 9 58 23

Indeks 0 1 2 3 4 5 6 7

di metode bubble sort, proses pengurutan dimulai dengan membandingkan elemen


pertama dengan elemen selanjutnya, kemudian dicari bilangan yang lebih besar lalu data
pada elemen ditukar apabila data pada elemen pertama lebih besar dibandingkan pada
elemen selanjutnya. Pada tahap awal kita akan membandingkan elemen 0 dengan elemen 1,
jika data pada elemen 0 lebih besar dari pada elemen 1 maka, isi (data) pada kedua
elemen tersebut akan ditukar. Sehingga data pada elemen menjadi seperti berikut

Data 12 20 35 11 17 9 58 23

Indeks 0 1 2 3 4 5 6 7

Lalu data pada elemen 1 dengan elemen 2 dibandingkan, apabila data pada elemen 1 lebih
besar dari pada elemen 2 maka data tersebut ditukar, akan tetapi apabila data pada
elemen 1 tidak lebih besar dari pada elemen 2 maka data tidak ditukar. Sehingga
menjadi seperti berikut.

Data 12 20 35 11 17 9 58 23

Indeks 0 1 2 3 4 5 6 7

Perbandingan selanjutnya dilakukan pada elemen 2 dan elemen 3, apabila data pada
elemen ke-2 lebih besar maka data tersebut ditukar,
Data 12 20 11 35 17 9 58 23

Indeks 0 1 2 3 4 5 6 7

Proses perbandingan diatas dilakukan secara berulang sampai pada elemen terakhir
sehingga menjadi seperti berikut
Data 12 20 11 17 9 35 23 58

Indeks 0 1 2 3 4 5 6 7
Proses diatas hanya untuk mencari bilangan terbesar pertama yang akan diletakkan pada
elemen terakhir. Ulangi proses tersebut untuk mencari bilangan terbesar lainnya, namun
proses tersebut hanya akan dilakukan dari elemen 0 sampai dengan elemen ke-6 (karena
elemen ke-7 merupakan data yang paling besar).

Data 12 20 11 17 9 35 23 58

Indeks 0 1 2 3 4 5 6 7

Bandingkan elemen 0 dengan elemen 1.jika lebih besar maka tukar data pada elemen
tersebut. Karena data pada elemen 1 lebih besar maka data tidak ditukarkan

Data 12 20 11 17 9 35 23 58

Indeks 0 1 2 3 4 5 6 7

Kemudian bandingkan data pada elemen 1 dengan data pada elemen 2, karena lebih
besar maka tukarkan data tersebut.

Data 12 11 20 17 9 35 23 58

Indeks 0 1 2 3 4 5 6 7

Selanjutnya bandingkan data pada elemen 2 dengan data pada elemen 3,

Data 12 11 17 20 9 35 23 58

Indeks 0 1 2 3 4 5 6 7

Lanjutkan proses diatas sampai pada elemen ke-6 sehingga menjadi seperti berikut
Data 12 11 17 9 20 23 35 58

Indeks 0 1 2 3 4 5 6 7

Kini data pada elemen ke-6 dan ke-7 sudah urut berdasarkan bilangan kecil ke besar. Namun
elemen lainnya belum terurut, untuk itu ulangi proses diatas, namun elemen yang
dibandingkan hanya pada elemen ke-6 saja. Setelah itu, proses perbandingan diulangi sampai
elemen yang terakhir dibandingkan adalah elemen ke-1. Sehingga hasil akhirnya akan
menjadi seperti berikut.
Data 9 11 12 17 20 23 35 58

Indeks 0 1 2 3 4 5 6 7
Jika proses diatas di implementasikan ke dalam flowchart maka akan terlihat seperti
berikut
s ta rt

Int
A[8]={20, 12,
35, 11, 17, 9,
58, 23 }

For k=6 to 0

For i=0 to k

If A[i]>A[i+1]

S wa p(A[i],A[i+1])

Ta mpilka n
a rra y

s top

Dalam proses pertukaran data pada elemen kita menggunakan fungsi swap, fungsi swap
ini telah disediakan oleh Visual Studio, jadi kita tidak memerlukan Variable tambahan
untuk proses penukaran data. Sedangkan untuk menampilkan array dalam flowchar diatas
saya persingkat sebagai sub/prosedur terpisah. Karena untuk hal tersebut saya rasa
semuanya sudah paham.
Setelah kita paham langkah kerja dan flowchart-nya maka tahap selanjutnya kita akan
menerapkan algoritma dan Flowchart tersebut dalam bentuk baris Code program dengan
menggunakan bahasa C.
RENCANA PELAKSANAAN PEMBELAJARAN ( RPP )

Mata Pelajaran : Pemrograman Dasar


Kelas / Semester : X / 2
Pertemuan : 1- 4
Alokasi Waktu : 12 x 45 Menit
Standar Kompetensi : Menerapkan Pemrograman Dasar
Karakter Bangsa yang diharapkan : Disiplin, Kreatif, Mandiri, Tanggung Jawab,
Kerja sama.
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.
B. Kompetensi Dasar dan Indikator
3.9 Menerapkan Penggunaan fungsi
1. Menjelaskan konsep fungsi dalam bahasa pemograman
2. Menerapkan fungsi-fungsi buatan sendiri
3. Menerapkan fungsi –fungsi bawaan dari bahasa pemograman
4.9 Membuat kode program menggunakan fungsi
1. Membuat aplikasi dengan fungsi buatan sendiri
2. Membuat aplikasi dengan fungsi bawaan bahasa pemograman
C. Tujuan pembelajaran
Setelah proses mencari informasi, bertanya dan berdiskusi siswa dapat
1. Menjelaskan konsep fungsi dalam bahasa pemograman
2. Menerapkan fungsi-fungsi buatan sendiri
3. Menerapkan fungsi –fungsi bawaan dari bahasa pemograman
1. Membuat aplikasi dengan fungsi buatan sendiri
2. Membuat aplikasi dengan fungsi bawaan bahasa pemograman
D. Materi Ajar
a. Konsep fungsi dalam bahasa pemograman
b. Pembuatan fungsi sendiri
c. Penerapan fungsi-fungsi bawaan bahasa pemograman
E. Metode Pembelajaran
1. Pendekatan Pembelajaran: Scientific Approach
2. Model Pembelajaran : Problem Based Learning
3. Metode Pembelajaran : Ceramah ,Tanya Jawab, Demonstrasi dan Praktikum
F. Media, Alat/Bahan dan Sumber Belajar
1. Media : Slide Presentasi
2. Alat : LCD Proyektor, Laptop
3. Sumber Belajar : Buku, Internet, Modul
G. Langkah-Langkah Kegiatan Pembelajaran

Pertemuan 1-2
Alokasi
Kegiatan Deskripsi
Waktu
1. Pendahuluan 3. Siswa menjawab sapaan guru, berdoa, dan
mengondisikan diri siap belajar
4. Guru dan siswa bertanya jawab berkaitan dengan
identitas diri yang dibutuhkan sebagai warga 15 Menit
negara yang baik.
5. Guru menyampaikan tujuan pembelajaran
6. Guru memotivasi siswa agar semakin giat belajar
2. Inti Mengamati :
Siswa mengamati untuk mengidentifikasi dan
merumuskan masalah tentang penggunaan fungsi
Menanya :
1. Siswa berdiskusi menganalisa tentang konsep
fungsi
2. Siswa berdiskusi menganalisa tentang fungsi
bawaaan dalam bahasa pemograman
Mengeksplorasi:
1. Siswa mengumpulkan tentang penggunaan fungsi
2. Siswa membuat aolikasi dengan fungsi buatan
sendiri
3. Siswa membuat aplikasi dengan fungsi bawaan
bahasa pemograman 120 Menit
Mengasosiasi:
1. Siswa Mengolah data tentang penggunaan fungsi
buatan sendir
2. Siswa mengolah data tentang penggunaan fungsi
bawaan dalam bahasa pemograman
3. Siswa membuat sebuah kesimpulan tentang
penggunaan fungsi dalam bahasa pemograman
Mengkomunikasikan:
1. Siswa mengomunikasikan tentang penggunaaan
fungsi dalam bahasa pemograman
2. Siswa membuat sebuah laporan dan
mempresentasikan hasil diskusi tentang
penggunaan fungsi dalam bahasa pemograman
3. Penutup 1. Mereview kembali materi yang telah disampaikan
2. Siswa mengerjakan evaluasi
5 Menit
3. Siswa saling memberikan umpan balik hasil
evaluasi pembelajaran yang telah dicapai.

Pertemuan 3-4
Alokasi
Kegiatan Deskripsi
Waktu
1. 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 15 Menit
negara yang baik.
3. Guru menyampaikan tujuan pembelajaran
4. Guru memotivasi siswa agar semakin giat belajar
2. Inti Mengamati :
Siswa mengamati untuk mengidentifikasi dan
merumuskan masalah tentang penggunaan fungsi
Menanya :
1. Siswa berdiskusi menganalisa tentang konsep
fungsi
2. Siswa berdiskusi menganalisa tentang fungsi
bawaaan dalam bahasa pemograman
Mengeksplorasi:
1. Siswa mengumpulkan tentang penggunaan fungsi
2. Siswa membuat aolikasi dengan fungsi buatan
sendiri
3. Siswa membuat aplikasi dengan fungsi bawaan
bahasa pemograman 120 Menit
Mengasosiasi:
1. Siswa Mengolah data tentang penggunaan fungsi
buatan sendiri
2. Siswa mengolah data tentang penggunaan fungsi
bawaan dalam bahasa pemograman
3. Siswa membuat sebuah kesimpulan tentang
penggunaan fungsi dalam bahasa pemograman
Mengkomunikasikan:
1. Siswa mengomunikasikan tentang penggunaaan
fungsi dalam bahasa pemograman
2. Siswa membuat sebuah laporan dan
mempresentasikan hasil diskusi tentang
penggunaan fungsi dalam bahasa pemograman
3. Penutup 1. Mereview kembali materi yang telah disampaikan
2. Siswa mengerjakan evaluasi
5 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
1. Teknik penilaian Pengetahuan : Test tertulis
2. Teknik Penilaian Ketrampilan : - Penialain Unjuk Kerja
- Observasi
3. Bentuk Instrumen dan Instumrn :
4. Bentuk Instrumen : Tes Uraian
Instrumen : Terlampir
Pedoman Peskroan : Terlampir

Mengetahui ;
Kepala SMKN 1BUKIT SUNDI Guru Mata Pelajaran

Drs.Syafriantoni, M,kom
NIP. 196806162000121002 Lili, S.Pd
RENCANA PELAKSANAAN PEMBELAJARAN ( RPP )

Mata Pelajaran : Pemrograman Dasar


Kelas / Semester : X / 2
Pertemuan : 1- 4
Alokasi Waktu : 12 x 45 Menit
Standar Kompetensi : Menerapkan Pemrograman Dasar
Karakter Bangsa yang diharapkan : Disiplin, Kreatif, Mandiri, Tanggung Jawab,
Kerja sama.
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.

B. Kompetensi Dasar dan Indikator


3.10 Menerapkan Pembuatan antar muka (User Interface)
1. Menjelaskan prosedur pembuatan antar muka pda aplikasi
2. Menerapkan prosedur pembuatan antar muka input data dari pengguna
3. Menerapkan prosedur pembuatan antar muka input data dari pengguna
dengan validasi data
3.10 Membuat antar muka (User Interface) pada aplikasi
1. Membuat Antar muka input data dari pengguna
2. Membuat antar muka input data dari pengguna dengan validasi data

C. Tujuan pembelajaran
Setelah proses mencari informasi, bertanya dan berdiskusi siswa dapat
1. Menjelaskan prosedur pembuatan antar muka pda aplikasi dengan benar
2. Menerapkan prosedur pembuatan antar muka input data dari pengguna
dengan benar
3. Menerapkan prosedur pembuatan antar muka input data dari pengguna
dengan validasi data dengan benar
4. Membuat Antar muka input data dari pengguna dengan benar
5. Membuat antar muka input data dari pengguna dengan validasi data
dengan benar
D. Materi Ajar
1. Antar muka (User Interface) pada aplikasi
2. Input/ Output data pengguna aplikasi
3. Validasi data
E. Metode Pembelajaran
1. Pendekatan Pembelajaran : Scientific Approach
2. Model Pembelajaran : Problem Based Learning
3. Metode Pembelajaran : Ceramah ,Tanya Jawab, Demonstrasi dan Praktikum
F. Media, Alat/Bahan dan Sumber Belajar
1. Media : Slide Presentasi
2. Alat : LCD Proyektor, Laptop
3. Sumber Belajar : Buku, Internet, Modul
G. Langkah-Langkah Kegiatan Pembelajaran

Pertemuan 1-4
Alokasi
Kegiatan Deskripsi
Waktu
1. 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 15 Menit
negara yang baik.
3. Guru menyampaikan tujuan pembelajaran
4. Guru memotivasi siswa agar semakin giat belajar
2. Inti Mengamati : 120 Menit
1. Siswa mengamati untuk mengidentifikasi dan
merumuskan masalah tentang pembuatan antar
muka
2. Siswa mengamati untuk megidentifikasi tentang
Input/output data pengguna aplikasi
3. Siswa mangamati untuk mengidentifikasi tentang
validasi data
Menanya :
1. Siswa bertanya tentang materi antar muka (Use
Interface) pada aplikasi
2. Siswa bertanya tentang Input/Output pengguna
aplikasi
3. Siswa bertanya tentang materi validasi data
Mengeksplorasi:
1. Siswa mengumpulkan data tentang pembuatan
antar muka, input/output data pengguna aplikasi,
Validasi data
2. Siswa membuat antar muka input data dari
penguna
3. Siswa membuat antar muka input data dari
pengguna dengan validasi data
Mengasosiasi:
1. Siswa Mengolah data tentang pembuatan antar
muka
2. Siswa menerapkan pembuatan antar muka
input/output data pengguna aplikasi
3. Siswa membuat sebuah kesimpulan tentang antar
muka pada aplikasi
Mengkomunikasikan:
1. Siswa mengomunikasikan tentang pembuatan
antar muka
2. Siswa membuat sebuah laporan dan
mempresentasikan hasil diskusi tentang
pembuatan antar muka
3. Penutup 1. Mereview kembali materi yang telah disampaikan
2. Siswa mengerjakan evaluasi
5 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
1. Teknik penilaian Pengetahuan : Test tertulis
2. Teknik Penilaian Ketrampilan : - Penialain Unjuk Kerja
- Observasi
3. Bentuk Instrumen dan Instumrn :
Bentuk Instrumen : Tes Uraian
Instrumen : Terlampir
Pedoman Peskroan : Terlampir

Mengetahui ;
Kepala SMKN 1BUKIT SUNDI Guru Mata Pelajaran

Drs.Syafriantoni, M,kom
NIP. 196806162000121002 Lili, S.Pd
RENCANA PELAKSANAAN PEMBELAJARAN ( RPP )

Mata Pelajaran : Pemrograman Dasar


Kelas / Semester : X / 2
Pertemuan : 1- 4
Alokasi Waktu : 12 x 45 Menit
Standar Kompetensi : Menerapkan Pemrograman Dasar
Karakter Bangsa yang diharapkan : Disiplin, Kreatif, Mandiri, Tanggung Jawab,
Kerja sama.
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.

B. Kompetensi Dasar dan Indikator


3.11 Menerapkan berbagai sruktur kontrol dalam aplikasi antar muka
1. Menjelaskan prosedur pembuatan menu pada antar muka
2. Menjelaskan prosedur pembuatan menu pada antar muka dengan validasi

3.11 Membuat kode program berbagai sruktur kontrol dalam aplikasi antar
muka (User Interface)
1. Membuat menu pada antar muka
2. Membuat menu pada antar muka dengan validasi data

C. Tujuan pembelajaran
Setelah proses mencari informasi, bertanya dan berdiskusi siswa dapat
1. Menjelaskan prosedur pembuatan menu pada antar muka dengan baik
2. Menjelaskan prosedur pembuatan menu pada antar muka dengan validasi
dengan baik dan benar
3. Membuat menu pada antar muka dengan benar
4. Membuat menu pada antar muka dengan validasi data dengan benar
D. Materi Ajar
1. Menu interaksi antar muka pada aplikasi
2. Kontrol menu antar muka pada aplikasi

E. Metode Pembelajaran
4. Pendekatan Pembelajaran : Scientific Approach
5. Model Pembelajaran : Problem Based Learning
6. Metode Pembelajaran : Ceramah ,Tanya Jawab, Demonstrasi dan Praktikum
F. Media, Alat/Bahan dan Sumber Belajar
4. Media : Slide Presentasi
5. Alat : LCD Proyektor, Laptop
6. Sumber Belajar : Buku, Internet, Modul
G. Langkah-Langkah Kegiatan Pembelajaran

Pertemuan 1-4
Alokasi
Kegiatan Deskripsi
Waktu
1. 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 15 Menit
negara yang baik.
3. Guru menyampaikan tujuan pembelajaran
4. Guru memotivasi siswa agar semakin giat belajar
2. Inti Mengamati : 120 Menit
1. Siswa mengamati untuk mengidentifikasi dan
merumuskan berbagai masalah tentang berbagai
sruktur kontrol dalam aplikasi antar muka
2. Siswa mengamati untuk megidentifikasi tentang
interaksi antar muka pada aplikasi
3. Siswa mangamati untuk mengidentifikasi tentang
kontrol menu antar muka pada aplikasi
Menanya :
1. Siswa bertanya tentang materi menu interaksi
antar muka pada aplikasi
2. Siswa bertanya tentang kontrol menu antar
muka pada aplikasi
3. Siswa bertanya tentang langkah langkah
membuat menu pada antar muka dengan validasi
data
Mengeksplorasi:
4. Siswa mengumpulkan data tentang Prosedur
pwembuatan menu antar muka pada aplikasi
5. Siswa membuat menu pada antar muka pada
aplikasi
6. Siswa membuatmenu pada antar muka dengan
validasi data
Mengasosiasi:
1. Siswa Mengolah data tentang berbagai sruktur
kontrol dalam aplikasi antar muka
2. Siswa mengolah data membuat menu pada antar
muka dengan validasi data
3. Siswa membuat sebuah kesimpulan tentang
prosedur pembuatan menu pada antar muka pada
aplikasi
Mengkomunikasikan:
1. Siswa mengomunikasikan tentang berbagai
sruktur kontrol dalam aplikasi antar muka
2. Siswa membuat sebuah laporan dari hasil
prosedur pembuatan menu pada antar muka pada
aplikasi
3. Penutup 1. Mereview kembali materi yang telah disampaikan
2. Siswa saling memberikan umpan balik hasil 5 Menit
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
1. Teknik penilaian Pengetahuan : Test tertulis
2. Teknik Penilaian Ketrampilan : - Penialain Unjuk Kerja
- Observasi
3. Bentuk Instrumen dan Instumrn :
Bentuk Instrumen : Tes Uraian
Instrumen : Terlampir
4. Pedoman Peskroan : Terlampir

Mengetahui ;
Kepala SMKN 1BUKIT SUNDI Guru Mata Pelajaran

Drs.Syafriantoni, M,kom
NIP. 196806162000121002 Lili, S.Pd
RENCANA PELAKSANAAN PEMBELAJARAN ( RPP )

Mata Pelajaran : Pemrograman Dasar


Kelas / Semester : X / 2
Pertemuan : 1- 4
Alokasi Waktu : 12 x 45 Menit
Standar Kompetensi : Menerapkan Pemrograman Dasar
Karakter Bangsa yang diharapkan : Disiplin, Kreatif, Mandiri, Tanggung Jawab,
Kerja sama.
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.

B. Kompetensi Dasar dan Indikator


3.12 Menganalisis pembuatan aplikasi sederhana bebasis antar muka (User
Interface)
1. Mengidentifikasi permasalahan pada pembuatan aplikasi sederhana
berbasis antar muka
2. Merumuskan permasalahan pada pembuatan aplikasi sederhana berbasis
antar muka

4.12 Membuat aplikasi sederhana berbasis antar muka (User interface)


1. Memperbaiki permasalahan pada pembuatan aplikasi sederhana
berbasis antar muka
2. Menguji hasil perbaikan permasalahan pada pembuatan aplikasi
sederhana berbasis antar muka

C. Tujuan pembelajaran
Setelah proses mencari informasi, bertanya dan berdiskusi siswa dapat
1. Mengidentifikasi permasalahan pada pembuatan aplikasi sederhana
berbasis antar muka dengan baik dan benar
2. Merumuskan permasalahan pada pembuatan aplikasi sederhana
berbasis antar muka dengan baik dan benar
3. Memperbaiki permasalahan pada pembuatan aplikasi sederhana
berbasis antar muka dengan benar
4. Menguji hasil perbaikan permasalahan pada pembuatan aplikasi
sederhana berbasis antar muka dengan benar

D. Materi Ajar
1. Analisis pembuatan aplikasi berbasis antar muka
2. Perbaikan masalah pembuatan aplikasi berbasis antar muka

E. Metode Pembelajaran
1. Pendekatan Pembelajaran : Scientific Approach
2. Model Pembelajaran : Problem Based Learning
3. Metode Pembelajaran : Ceramah ,Tanya Jawab, Demonstrasi dan
Praktikum
F. Media, Alat/Bahan dan Sumber Belajar
1. Media : Slide Presentasi
2. Alat : LCD Proyektor, Laptop
3. Sumber Belajar : Buku, Internet, Modul
G. Langkah-Langkah Kegiatan Pembelajaran
Pertemuan 1-4
Alokasi
Kegiatan Deskripsi
Waktu
1. Pendahuluan 5. Siswa menjawab sapaan guru, berdoa, dan
mengondisikan diri siap belajar
6. Guru dan siswa bertanya jawab berkaitan dengan
identitas diri yang dibutuhkan sebagai warga 15 Menit
negara yang baik.
7. Guru menyampaikan tujuan pembelajaran
8. Guru memotivasi siswa agar semakin giat belajar
2. Inti Mengamati : 120 Menit
4. Siswa mengamati untuk mengidentifikasi dan
merumuskan berbagai masalah tentang berbagai
sruktur kontrol dalam aplikasi antar muka
5. Siswa mengamati untuk megidentifikasi tentang
interaksi antar muka pada aplikasi
6. Siswa mangamati untuk mengidentifikasi tentang
kontrol menu antar muka pada aplikasi
Menanya :
4. Siswa bertanya tentang materi menu interaksi
antar muka pada aplikasi
5. Siswa bertanya tentang kontrol menu antar
muka pada aplikasi
6. Siswa bertanya tentang langkah langkah
membuat menu pada antar muka dengan validasi
data
Mengeksplorasi:
7. Siswa mengumpulkan data tentang Prosedur
pwembuatan menu antar muka pada aplikasi
8. Siswa membuat menu pada antar muka pada
aplikasi
9. Siswa membuatmenu pada antar muka dengan
validasi data
Mengasosiasi:
4. Siswa Mengolah data tentang berbagai sruktur
kontrol dalam aplikasi antar muka
5. Siswa mengolah data membuat menu pada antar
muka dengan validasi data
6. Siswa membuat sebuah kesimpulan tentang
prosedur pembuatan menu pada antar muka pada
aplikasi
Mengkomunikasikan:
3. Siswa mengomunikasikan tentang berbagai
sruktur kontrol dalam aplikasi antar muka
4. Siswa membuat sebuah laporan dari hasil
prosedur pembuatan menu pada antar muka pada
aplikasi
3. Penutup 3. Mereview kembali materi yang telah disampaikan
4. Siswa saling memberikan umpan balik hasil 5 Menit
evaluasi pembelajaran yang telah dicapai.

H. Sumber Belajar
4. Buku Algoritma dan Pemrograman Pascal.
5. Internet.
6. Modul produktif, Buku Algoritma dan pemograman tingkat Dasar.
I. Penilaian
5. Teknik penilaian Pengetahuan : Test tertulis
6. Teknik Penilaian Ketrampilan : - Penialain Unjuk Kerja
- Observasi
7. Bentuk Instrumen dan Instumrn :
Bentuk Instrumen : Tes Uraian
Instrumen : Terlampir
Pedoman Peskroan : Terlampir

Mengetahui ;
Kepala SMKN 1BUKIT SUNDI Guru Mata Pelajaran

Drs.Syafriantoni, M,kom
NIP. 196806162000121002 Lili, S.Pd