Sunteți pe pagina 1din 77

SMK NEGERI 4 BAUBAU

RENCANA
PELAKSANAAN
PEMBELAJARAN
( RPP )

NO. DOKUMEN
NTW.MNT.201.
(2).A

Nama Sekolah
Mata Pelajaran
Kelas / Semester
Standar Kompetensi
Pertemuan
Alokasi Waktu

K13
Tanggal
Halama
n

00
18 Juli
2016
1 dari 2

: SMK Negeri 4 Baubau


: Pemrograman Dasar
: X ( Sepuluh ) / Genjil
: Menerrapkan Perograman Dasar
: 1 s/d 4
: 2 ( 4 X 45 Menit )

Karakter 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
KD untuk KI-1
1.1. Memahami
nilai-nilai
keimanan
dengan
menyadari
hubungan
keteraturan dan kompleksitas alam dan jagad raya terhadap kebesaran
Tuhan yang menciptakannya
1.2. Mendeskripsikan kebesaran Tuhan yang menciptakan berbagai sumber
energi di alam
1.3. Mengamalkan nilai-nilai keimanan sesuai dengan ajaran agama dalam
kehidupan sehari-hari
KD untuk KI-2
2.1. 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 melakukan percobaan dan
berdiskusi
2.2. Menghargai kerja individu dan kelompok dalam aktivitas sehari-hari
sebagai wujud implementasi melaksanakan percobaan dan melaporkan
hasil percobaan

KD untuk KI-3

3.5 Menerapkan Penggunaan Tipe Data, Variabel, Konstanta, Operator


dan Ekspresi
KD untuk KI-4

4.6 Mengolah data menggunakan konsep tipe data, variabel, konstanta,


operator dan ekspresi

C. Indikator Pencapaian Kompetensi

3.5.1.Defenisi Tipe data, variabel, Konstanta, Operator dan Ekspresi


4.6.1. Menyajikan informasi mengenai penggunaan tipe data dan variabel.
4.6.2. Menyajikan informasi mengenai penggunaan konstanta.
4.6.3. Menyajikan informasi mengenai penggunaan operator ekspresi
D. Tujuan pembelajaran
a. Dapat mengetahui dan mengerti pengertian variabel, konstanta.
b. Mengetahui Fungsi variabel dan konstanta
c. Membuat Program dengan menggunakan konstanta
E. Materi Ajar
1. Tipe data, variabel, operator dan ekspresi
2. Tipe data, variabel dan konstanta.
3. Operator dan ekspresi
F. Metode Pembelajaran
1. Penyampaian
2. Tanya jawab
3. Tes Program
4. Praktek
G. Media pembelajaran
1. Komputer
2. Buku Algoritma
3. Buku Struktur data
4. Internet
H. Langkah langkah Pembelajaran
Pertemuan 1 - 2
Kegiatan
Pendahuluan

Deskripsi

1. Siswa menjawab sapaan guru, berdoa, dan


mengondisikan diri siap belajar
2. Guru dan siswa bertanya jawab berkaitan
dengan identitas diri yang dibutuhkan
sebagai warga negara yang baik.
3. Guru menyampaikan tujuan pembelajaran
4. Guru memotivasi siswa agar semakin giat
belajar

Inti

Alokasi
Waktu

Mengamati :
1. Siswa mengamati dan mendengarkan
penjelasan mengenai variabel, operator
dan ekspresi.
2. Siswa mengamati dan mendengarkan
penjelasan mengenai variabel, operator
dan konstanta.
3. Siswa mengamati dan mendengarkan
penjelasan mengenai operator dan
ekspresi.
Menanya :
1. Siswa berdikusi menganalisa penggunaan
variabel, operator dan ekspresi dalam

30 Menit

120 Menit

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.
Mengasosiasi:
1. Siswa membuat sebuah kesimpulan
tentang penggunaan tipe data, variabel,
konstanta, operator dan ekspresi dalam
sebuah program sederhana.

Penutup

Mengkomunikasikan:
1. Siswa membuat sebuah laporan dan
mempresentasikan hasil dari sebuah
program sederhana.
1. Mereview kembali materi yang telah
disampaikan
2. Siswa mengerjakan evaluasi
3. Siswa saling memberikan umpan balik
hasil evaluasi pembelajaran yang telah
dicapai.

30 Menit

Pertemuan 3 4
Kegiatan
Pendahuluan

Deskripsi

1. Siswa menjawab sapaan guru, berdoa, dan


mengondisikan diri siap belajar
2. Guru dan siswa bertanya jawab berkaitan
dengan identitas diri yang dibutuhkan
sebagai warga negara yang baik.
3. Guru menyampaikan tujuan pembelajaran
4. Guru memotivasi siswa agar semakin giat
belajar

Inti

Alokasi
Waktu

Mengamati :
1. Siswa mengamati dan mendengarkan
penjelasan mengenai variabel, operator
dan ekspresi.
2. Siswa mengamati dan mendengarkan
penjelasan mengenai variabel, operator
dan konstanta.
3. Siswa mengamati dan mendengarkan
penjelasan mengenai operator dan
ekspresi.
Menanya :
1.Siswa berdikusi menganalisa penggunaan
variabel, operator dan ekspresi dalam
algoritma.

30 Menit

120 Menit

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.
Mengasosiasi:
2. Siswa membuat sebuah kesimpulan
tentang penggunaan tipe data, variabel,
konstanta, operator dan ekspresi dalam
sebuah program sederhana.

Penutup

Mengkomunikasikan:
1. Siswa membuat sebuah laporan dan
mempresentasikan hasil dari sebuah
program sederhana.
1. Mereview kembali materi yang telah
disampaikan
2. Siswa mengerjakan evaluasi
3. Siswa saling memberikan umpan balik
hasil evaluasi pembelajaran yang telah
dicapai.

30 Menit

I. Sumber Belajar
1. Buku Algoritma dan Pemrograman Pascal
2. Internet
3. Modul produktif, Buku Algoritma dan pemograman tingkat Dasar
J. Alat Pembelajaran
1. Laptop
2. LCD
3. White board
4. Spidol
K. Penilaian
1. Teknik penilaian
: Test tertulis
2. Bentuk Instrumen dan Instumrn
:
a. Bentuk Instrumen : Tes Uraian
b. Instrumen
: Terlampir
3. Pedoman Peskroan
: Terlampir
Ditinjau Oleh :
Wakasek Urusan Kurikulum,

Diperiksa Oleh :
Kapala Prog. TKJ,

Dibuat Oleh :
Guru Mata Pelajaran,

AMIR ISHAK, S. Pi
NIP. 19751222 200701
1006

LA GANI, S.Kom
NIP. 19770525 201001 1013

LA GANI,S.Kom
NIP. 19770525
2010011013

Lampiran 1
BAHAN AJAR
Kompetensi
Satuan Pendidikan
Kelas/Semester
Mata Pelajaran
Pertemuan ke
Alokasi waktu

:
:
:
:
:
:

Bahan Ajar
SMK Negeri 4 Baubau
X/II
Pemrograman Dasar
14
8 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

Penamaan yang

Keterangan

benar
namasiswa

salah
nama siswa

(salah karena menggunakan

XY12

12XY

spasi)

harga_total

harga.total

(salah karena dimulai dengan

JenisMotor

Jenis Motor

angka)
(salah karena menggunakan
karakter)
(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 3
Array
Array atau sering disebut sebagai larik adalah tipe data yang sudah
terstruktur dengan baik, meskipun masih sederhana. Array mampu menyimpan
sejumlah data dengan tipe yang sama (homogen) dalam sebuah variabel. Setiap
lokasi data array diberi nomor indeks yang berfungsi sebagai alamat dari data
tersebut. Penjelasan tentang array akan disampaikan lebih detil pada bagian lain
dari bab ini.
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 lainlain. Pada bahasa-bahasa pemrograman modern terutama yang berbasis visual
tipe data ini telah didukung dengan sangat baik.
Date Time
Nilai data untuk tanggal (Date) dan waktu (Time) secara internal disimpan
dalam format yang pesifik. Variabel atau konstanta yang dideklarasikan dengan
tipe data Date dapat digunakan untuk menyimpan baik tanggal maupun jam.
Tipe data ini masuk dalam kelompok tipe data composite karena merupakan
bentukan dari beberapa tipe data.
Berikut ini contoh tipe data dalam Visual Basic.
Dim WaktuLahir As Date
WaktuLahir = 01/01/1997
WaktuLahir = 13:03:05 AM
WaktuLahir = 02/23/1998 13:13:40 AM
WaktuLahir = #02/23/1998 13:13:40 AM#

Tipe data lain


Subrange
Tipe data subrange merupakan tipe data bilangan yang mempunyai
jangkauan nilai tertentu sesuai dengan yang ditetapkan programmer. Biasanya
tipe data ini mempunyai nilai batas minimum dan nilai batas maksimum. Tipe

data ini didukung dengan sangat baik dalam Delphi. Berikut ini contoh deklarasi
tipe data subrange dalam Delphi.
Contoh 5.7.
Deklarasi tipe data subrange pada Delphi.
Type
BatasIndeks = 1..20
RentangTahun = 1950..2030
Var
Indeks : BatasIndeks
Tahun : RentangTahun
Enumerasi
Tipe data ini merupakan tipe data yang mempunyai elemen-elemen yang
harus disebut satu persatu dan bernilai konstanta integer sesuai dengan
urutannya. Nilai konstanta integer elemen ini diwakili oleh suatu nama variable
yang ditulis di dalam kurung. Tipe data ini juga dijumpai pada Delphi dan bahasa
pemrograman deklaratif seperti SQL.
Berikut ini contoh deklarasi tipe data enumerasi dalam Delphi.
Contoh 5.8. Penggunaan tipe data enumerasi.
Type Hari_dlm_Minggu = (Nol, Senin, Selasa, Rabu,Kamis, Jumat,
Sabtu, Minggu)
Nama_Bulan = (Nol, Januari, Pebruari, Maret, April, Mei, Juni, Juli,
Agustus,
September, Oktober, Nopember, Desember)
Var No_Hari : Hari_dlm_MingguNo_Bulan : Nama_Bulan
Pada contoh di atas tipe data Hari_dlm_Minggu termasuk enumerasi
dengan rentang nilai Nol, Senin sampai dengan Minggu dan nilai data dari 0, 1,
sampai dengan 7. Sedangkan tipe data Nama_Bulan termasuk enumerasi dengan
rentang nilai Nol, Januari sampai dengan Desember
dan nilai data dari 0, 1, sampai dengan 12
Object

Tipe data object digunakan untuk menyimpan nilai yang berhubungan


dengan obyek-obyek yang disediakan oleh Visual Basic, Delphi dan dan bahasa
pemrograman lain yang berbasis GUI. Sebagai contoh, apabila kita mempunyai
form yang memiliki control Command button yang kita beri nama Command1,
kita dapat mendeklarasikan variabel sebagai berikut :
Contoh 5.9. Penggunaan tipe data object.
Dim A As CommandButton
Set A = Command1
A.Caption = HEY!!!
A.FontBold = True

Pada contoh ini variabel A dideklarasikan bertipe data Object yaitu


CommandButton. Kemudian kita set variabel A dengan control Command button
yang ada pada form (Command1). Dengan cara ini kita dapat mengakses seluruh
property, method dan event obyek Command1 dengan menggunakan variabel A.
Variant
Tipe data hanya ada di Visual Basic. Tipe ini adalah tipe data yang paling
fleksibel di antara tipe data yang lain, karena dapat mengakomodasi semua tipe
data yang lain seperti telah dijelaskan.

Pertemuan 4
Contoh-contoh program di dalam menggunakan variabel, konstanta.
a. Mencari Luas segitiga
Perhatikan algoritma sederhana berikut
Mulai
Baca data alas dan tinggi.
Luas adalah alas kali tinggi kali 0.5
Tampilkan Luas
Stop
Keterangan :
Algoritma di atas adalah algoritma yang sangat sederhana, hanya ada lima
langkah. Pada algoritma ini tidak dijumpai perulangan ataupun pemilihan.
Semua langkah dilakukan hanya satu kali. Sekilas algoritma di atas benar,
namun apabila dicermati maka algoritma ini mengandung kesalahan yang
mendasar, yaitu tidak ada pembatasan pada nilai data untuk alas dan tinggi.
Bagaimana jika nilai data alas atau tinggi adalah bilangan 0 atau bilangan
negatif ? Tentunya hasil yang keluar menjadi tidak sesuai dengan yang
diharapkan. Dalam kasus seperti ini kita perlu menambahkan langkah untuk
memastikan nilai alas dan tinggi memenuhi syarat, misalnya dengan
melakukan pengecekan pada input yang masuk. Apabila input nilai alas dan
tinggi kurang dari 0 maka program tidak akan dijalankan. Sehingga algoritma
di atas dapat dirubah menjadi seperti contoh berikut.
Hasil perbaikan algoritma perhitungan luas segitiga
Start
Baca data alas dan tinggi.
Periksa data alas dan tinggi, jika nilai data alas dan tinggi lebih besar dari nol
maka lanjutkan ke langkah ke 4 jika tidak maka stop
Luas adalah alas kali tinggi kali 0.5
Tampilkan Luas
Stop
Keterangan :
Dari penjelasan di atas dapat diambil kesimpulan pokok tentang algoritma.
Pertama, algoritma harus benar. Kedua algoritma harus berhenti, dan
setelah berhenti, algoritma memberikan hasil yang benar

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.
2.
3.
4.
5.

Start
2. READ alas, tinggi
3. Luas = 0.5 * alas * tinggi
4. PRINT Luas
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
Satuan Pendidikan
Kelas/Semester
Mata Pelajaran
Pertemuan ke
Alokasi waktu

:
:
:
:
:
:

Pengetahuan
SMK Negeri 4 Baubau
X/II
Pemrograman Dasar
14
8 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
Satuan Pendidikan
Kelas/Semester
Mata Pelajaran
Pertemuan ke
Alokasi waktu
Nomor peserta didik

:
:
:
:
:
:

Sikap
SMK Negeri 4 Baubau
X/II
Pemrograman Dasar
14
8 x 45
: .......................................................

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

1.

Jujur

2.

Tanggung
jawab

3.

Disiplin

4.

Bekerja
sama

5.

Santun

Kriteria
1. Melaporkan data/informasi
sesuai dengan apa yang
dibaca.
2. Menyampaikan
pendapat
disertai dengan informasi
dari buku sumber yang
diterima
1. Melaksanakan tugas sesuai
dengan perintah guru
2. Menyelesaikan
tugas
sampai selesai.
Melaksanakan dan menyelesaikan
tugas sesuai dengan waktu yang
ditetapkan.
Menghargai pekerjaan teman dan
berperan
aktif
dalam
menyelesaikan tugas kelompok.
1. Menyampaikan
pendapat
dengan bahasa dan nada
yang baik.
2. Menghargai
adanya
perbedaan pendapat.

Hasil
Ya
Tidak

Lampiran 4
LEMBAR PENGAMATAN KETERAMPILAN/PSIKOMOTOR
Kompetensi
Satuan Pendidikan
Kelas/Semester
Mata Pelajaran
Pertemuan ke
Alokasi waktu
:

:
:
:
:
:

Keterampilan
SMK Negeri 4 Baubau
X/II
Pemrograman Dasar
14
8 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 !
N
o.

Nama

*) Keterangan:
1. Aktifitas bertanya

Aspek keterampilan *)
2
3
4

Nilai
5

**)

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

SMK NEGERI 4 BAUBAU


NO. DOKUMEN
NTW.MNT.201.
(2).A

RENCANA
PELAKSANAAN
PEMBELAJARAN
( RPP )

K13
Tanggal
Halama
n

00
18 Juli
2016
1 dari 2

Nama Sekolah
Mata Pelajaran
Kelas / Semester
Standar Kompetensi
Pertemuan
Alokasi Waktu

: SMK Negeri 4 Baubau


: Pemrograman Dasar
: X ( Sepuluh ) / Genjil
: Menerapkan Pemrograman Dasar
: 5 s/d 10
: 2 ( 6 X 45 Menit )

Karakter 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
KD untuk KI-1
1.4. Memahami
nilai-nilai
keimanan
dengan
menyadari
hubungan
keteraturan dan kompleksitas alam dan jagad raya terhadap kebesaran
Tuhan yang menciptakannya
1.5. Mendeskripsikan kebesaran Tuhan yang menciptakan berbagai sumber
energi di alam
1.6. Mengamalkan nilai-nilai keimanan sesuai dengan ajaran agama dalam
kehidupan sehari-hari
KD untuk KI-2
2.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 melakukan percobaan dan
berdiskusi
2.4. Menghargai kerja individu dan kelompok dalam aktivitas sehari-hari
sebagai wujud implementasi melaksanakan percobaan dan melaporkan
hasil percobaan

KD untuk KI-3

3.5 Menerapkan Penggunaan Tipe Data, Variabel, Konstanta, Operator


dan Ekspresi
KD untuk KI-4

4.6 Mengolah data menggunakan konsep tipe data, variabel, konstanta,


operator dan ekspresi

C. Indikator Pencapaian Kompetensi

D. Kompetensi Dasar dan Indikator


3.6Menerapkan Struktur kontrol percabangan dalam bahasa
pemrograman
a.
b.
c.
d.

Membuat Struktur kontrol percabangan,


Membuat Percabangan 1 kondisi
Membuat Percabangan 2 kondisi
Membuat Percabangan lebih dari 2 kondisi

4.6 MenggunakanStruktur Kontrol percabangan dengan percabangan 1 kondisi, dan


percabangan 2 kondisi
a. Menggunakan struktur kontrol percabangan
b. Menggunakan percabangan dengan 1 kondisi
c. Menggunakan percabangan dengan 2 kondisi
E. Tujuan Pembelajaran
a. Dapat mengetahui defenisi percabangan
b. Dapat mengetahui fungsi dari percabangan 1 kondisi dengan 2 kondisi
c. Dapat membuat sebuah program sederhana dengan menggunakan percabangan
F. Materi Ajar
a. Struktur kontrol percabangan
b. Percabangan 1 kondisi
c. Percabangan 2 kondisi
d. Percabangan lebih dari 2 kondisi
G. Metode Pembelajaran
1. Penyampaian
2. Tanya jawab
3. Tes Program
4. Praktek
H. Sumber pembelajaran
1. Buku Algoritma dan Pemrograman Pascal
2. Internet
3. Modul produktif, Buku Algoritma dan pemograman tingkat Dasar.
I. Langkah langkah Pembelajaran
Pertemuan 5 7
Kegiatan
Pendahuluan

Deskripsi

Alokasi
Waktu

1. Siswa menjawab sapaan guru, berdoa, dan

mengondisikan diri siap belajar


2. Guru dan siswa bertanya jawab berkaitan
dengan identitas diri yang dibutuhkan
sebagai warga negara yang baik.
3. Guru menyampaikan tujuan pembelajaran
4. Guru memotivasi siswa agar semakin giat
belajar

45 Menit

Inti

Mengamati :
1. Siswa mengamati dan mendengarkan
penjelasan tentang struktur kontrol
percabangan.
2. Siswa mengamati dan mendengarkan
penjelasan mengenai percabangan 1
kondisi.
3. Siswa mengamati dan mendengarkan
penjelasan mengenai percabangan 2
kondisi.
Menanya :
1. Siswa berdikusi menganalisa
percabangan.
2. Siswa berdikusi menganalisa
percabangan 1 kondisi.
3. Siswa berdikusi menganalisa
percabangan 2 kondisi.

tentang
tentang
tentang

Mengeksplorasi:
1. Siswa
membuat
kode
program
menggunakan percabangan 1 kondisi, 2
kondisi, lebih dari 2 kondisi dan
percabangan bersarang.
2. Siswa melakukan kompilasi, eksekusi
dan perbaikan pada kesalahan-kesalahan
yang terdapat dalam program.

180 Menit

Mengasosiasi:
1. Siswa membuat sebuah kesimpulan
tentang penggunaan percabangan 1
kondisi, 2 kondisi, lebih dari 2 kondisi
dan percabangan bersarang.

Penutup

Mengkomunikasikan:
Siswa membuat sebuah laporan dan
mempresentasikan hasil dari sebuah
program sederhana.
1. Mereview kembali materi yang telah
disampaikan

2. Siswa mengerjakan evaluasi


3. Siswa saling memberikan umpan balik hasil
evaluasi pembelajaran yang telah dicapai.

15
45 Menit

Pertemuan 8 10
Kegiatan
Pendahuluan

Deskripsi

Alokasi
Waktu

1. Siswa menjawab sapaan guru, berdoa, dan


mengondisikan diri siap belajar

2. Guru dan siswa bertanya jawab berkaitan


dengan identitas diri yang dibutuhkan
sebagai warga negara yang baik.
3. Guru menyampaikan tujuan pembelajaran
4. Guru memotivasi siswa agar semakin giat
belajar
Inti

Mengamati :
4. Siswa mengamati dan mendengarkan

45 Menit

180 Menit

penjelasan tentang struktur kontrol


percabangan.
5. Siswa mengamati dan mendengarkan
penjelasan mengenai percabangan 1
kondisi.
6. Siswa mengamati dan mendengarkan
penjelasan mengenai percabangan 2
kondisi.
Menanya :
1. Siswa berdikusi menganalisa tentang
percabangan.
2. Siswa berdikusi menganalisa tentang
percabangan 1 kondisi.
3. Siswa berdikusi menganalisa tentang
percabangan 2 kondisi.
Mengeksplorasi:
1. Siswa
membuat
kode
program
menggunakan percabangan 1 kondisi, 2
kondisi, lebih dari 2 kondisi dan
percabangan bersarang.
2. Siswa melakukan kompilasi, eksekusi
dan perbaikan pada kesalahan-kesalahan
yang terdapat dalam program.
Mengasosiasi:
1. Siswa membuat sebuah kesimpulan
tentang penggunaan percabangan 1
kondisi, 2 kondisi, lebih dari 2 kondisi
dan percabangan bersarang.

Penutup

Mengkomunikasikan:
1. Siswa membuat sebuah laporan dan
mempresentasikan hasil dari sebuah
program sederhana.
1. Mereview kembali materi yang telah
disampaikan
2. Siswa mengerjakan evaluasi
3. Siswa saling memberikan umpan balik
hasil evaluasi pembelajaran yang telah
dicapai.

J. Alat Pembelajaran
1. Laptop
2. Infocus
3. Komputer
K. Penilaian

16
45 Menit

1. Teknik penilaian
2. Bentuk Instrumen dan Instumrn
a. Bentuk Instrumen
b. Instrumen

: Test tertulis

3. Pedoman Peskroan

: Terlampir

: Tes Uraian
: Terlampir

Ditinjau Oleh :
Wakasek Urusan Kurikulum,

Diperiksa Oleh :
Kapala Prog. TKJ,

Dibuat Oleh :
Guru Mata Pelajaran,

AMIR ISHAK, S. Pi
NIP. 19751222 200701
1006

LA GANI, S.Kom
NIP. 19770525 201001 1013

LA GANI,S.Kom
NIP. 19770525
2010011013

Lampiran 1
BAHAN AJAR
Kompetensi
Satuan Pendidikan
Kelas/Semester
Mata Pelajaran
Pertemuan ke
Alokasi waktu

:
:
:
:
:
:

Bahan Ajar
SMK Negeri 4 Baubau
X/II
Pemrograman Dasar
5 - 10
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 5
Struktur Algoritma Pemrograman
Sebelum memasuki materi tentang percabangan, terlebih dahulu kita
harus mengetahui apa itu algoritma?
Pengertian Algoritma
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah
yang disusun secara sistematis. Masalah dapat berupa apa saja, dengan catatan
untuk setiap masalah, ada syarat kondisi awal yang harus dipenuhi sebelum
menjalankan algoritma. Konsep algoritma sering kali disetarakan dengan sebuah
resep. Sebuah resep biasanya memiliki daftar bahan atau bumbu yang akan
digunakan, urutan pengerjaan dan bagaimana hasil dari urutan pengerjaan
tersebut. Apabila bahan yang digunakan tidak tertera (tidak tersedia) maka resep
tersebut tidak akan dapat dikerjakan. Demikian juga jika urutan pengerjaannya
tidak beraturan, maka hasil yang diharapkan tidak akan dapat diperoleh.
Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan syarat
yang sama. Tingkat kerumitan dari suatu algoritma merupakan ukuran seberapa
banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan
masalah. Umumnya, algoritma yang dapat menyelesaikan suatu permasalahan
dalam waktu yang singkat memiliki tingkat kerumitan yang rendah, sementara
algoritma yang membutuhkan waktu lama untuk menyelesaikan suatu masalah
membutuhkan tingkat kerumitan yang tinggi.
Perhatikan algoritma sederhana berikut:
Mulai

2. Baca data alas dan tinggi.


3. Luas adalah alas kali tinggi kali 0.5
4. Tampilkan Luas
5. Stop
Keterangan :
Algoritma di atas adalah algoritma yang sangat sederhana, hanya ada lima
langkah. Pada algoritma ini tidak dijumpai perulangan ataupun pemilihan. Semua
langkah dilakukan hanya satu kali. Sekilas algoritma di atas benar, namun
apabila dicermati maka algoritma ini mengandung kesalahan yang mendasar,
yaitu tidak ada pembatasan pada nilai data untuk alas dan tinggi.
Bagaimana jika nilai data alas atau tinggi adalah bilangan 0 atau bilangan
negatif ? Tentunya hasil yang keluar menjadi tidak sesuai dengan yang
diharapkan. Dalam kasus seperti ini kita perlu menambahkan langkah untuk
memastikan nilai alas dan tinggi memenuhi syarat, misalnya dengan melakukan
pengecekan pada input yang masuk. Apabila input nilai alas dan tinggi kurang
dari 0 maka program tidak akan dijalankan.

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 6
Pencarian Data dalam Array

Salah satu permasalahan yang sering dijumpai dalam array adalah


bagaimana mencari elemen tertentu dari array. Misalnya pada kasus loker pada
Gambar 5.21 di atas tersedia 100 kotak. Kemudian kita diminta untuk mencari
nomor kotak keberapa yang dimiliki oleh seorang siswa bernama Rudi. Contoh
yang lain, misalkan ada banyak siswa dalam satu sekolah dan kita diminta
mencari data seorang siswa dengan nama tertentu atau alamat tertentu.
Perhatikan contoh berikut.
Contoh 5.24. Pencarian pada array.
Pada contoh ini kita diminta mencari elemen yang berisi angka 12 dari
sekumpulan elemen dalam array. Ada 6 elemen pada array tersebut. Menurut
kalian bagaimanakah algoritma penyelesaiannya?
Cara yang paling umum dan paling mudah dilakukan adalah dengan cara
pencarian berurutan (linear search). Pada masa lalu cara ini dianggap tidak
efisien karena membutuhkan waktu lama. Namun dengan perkembangan
komputer yang sangat cepat, waktu eksekusi algoritma ini tidak terlalu
dipermasalahkan.

Cara ini dilakukan dengan cara membandingkan isi dari

elemen dengan apa yang kita cari. Satu per satu dimulai dari elemen yang paling
awal. Apabila kita terapkan pada Contoh 5.24, maka eksekusi program akan
berlangsung berurutan sebagai berikut :
Tetapkan bilangan yang ingin kita cari (yaitu 12)
Ambil elemen paling awal (yaitu A[0]), bandingkan isi elemen tersebut
(yaitu 23) dengan bilangan yang kita cari. Jika sama maka stop.
Jika tidak maka lanjutkan dengan elemen berikutnya (yaitu A[1]),
bandingkan isi elemen tersebut dengan bilangan yang kita cari. Jika sama
maka stop.
Jika tidak maka lanjutkan dengan elemen berikutnya. Dan seterusnya
sampai dijumpai elemen yang berisi sama dengan bilangan yang kita cari.
Deklarasi Array
Array adalah struktur data yang statik, yaitu jumlah elemen array harus sudah
diketaui sebelum program dieksekusi.
Macam-macam array terdiri atas :
a. Array 1 dimensi dituliskan :
Variabel [ indeks ]
b. Array 2 dimensi dituliskan :
Variabel [ indeks1, indeks2 ]
c. Array 3 dimensi dituliskan :
Variabel [ indeks1, indeks2, indeks3 ]
Syntax :
Variabel [ indeks ]
Variabel [ indeks1, indeks2 ]
Variabel [ indeks1, indeks2, indeks3 ]
Deklarasi
Var

< Nama Array = array [indeks] of tipe data;


< Nama Array = array [indeks1, indeks2] of tipe data;
tipe data;
< Nama Array = array [indeks1, indeks2, indeks3] of tipe data;
of tipe data;

Contoh :
1. Bentuk Pertama sebagai variabel
Deklarasi
Nilai

: Array [ 1..15] of integer

Nama : Array [ A..Z] of string


2. Bentuk Kedua sebagai tipe baru
Deklarasi
Type
Nilai

: Array [ 1..100 ] of real


Var

: 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

: Nilai

: Array [1..100 ] of real

Var
Atau

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 e
i

l
dan

am

C eq
iu

bn
f r
jv

m n o

B q r s
u v w

t
x

c o d p

g s ht
k w l x

Maka algoritma dari permasalahan tersebut dapat dituliskan :


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

: Larik

: 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
Deskripsi

: integer

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 elemenelemen 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 lainlain. 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 8
Algoritma Penulisan Data pada File
Algoritma yang digunakan untuk penulisan data untuk file data berurutan
maupun acak secara rinsip sama, hanya modusnya yang berbeda.
Berikut ini adalah algoritma penulisan data.
Open modus, <buffer number>, nama file data Write <record
number>,
field 1, field 2, .. field n
Close buffer number Modus O menunjukkan file ini dibuka untuk ditulisi.
Contoh 5.25.
Contoh Penerapan algoritma penulisan data.Misalkan kita punya file data
dengan nama siswa.dat yang field-nya adalah nama siswa, alamat, nomor
telepon. Maka untuk menuliskan data adalah sebagai berikut :
Open O, #1, siswa.dat
Write #1, <nama>, <alamat>, <no.telepon>
Close #1
Notasi #1 menunjukkan siswa.dat akan ditempatkan dalam buffer no 1.
Notasi ini harus sama digunakan di seluruh progam di atas.
Artinya kalau kita menempatkan suatu file dengan nomor buffer #1 maka
ketika membuka, menulis, membaca dan menutup harus menggunakan notasi
tersebut. Demikian juga bila kita menempatkan pada buffer no #2.
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 9
Percabangan dengan 2 kondisi
Struktur satu kondisi (perintah if)

Struktur ini merupakan struktur yang paling sederhana karena


hanya melibatkan satu buah ekspresi akan diperiksa. Pada konstruksi
perintah if, C++ tidak memiliki kata kunci (keyword) then.

Bentuk umum:
if (kondisi)
pernyataan;
atau
if (kondisi)
{
statemen1;
statemen2;

}
Contoh:
if (detik == 60)
menit = menit + 1;
if (Angka %2 == 0)
cout<<Bilangan genap;
if (sisi > 0)
{
Luas = panjang * lebar;
Isi = Luas*tinggi;
}
Keterangan :
Kondisi digunakan untuk menentukan pengambilan keputusan,
operator yang digunakan adalah relational dan logical operators.
Contoh program:
#include <iostream.h>

int main()
{
int nilai;
//memasukkan bilangan bulat
cout<<Masukkan sebuah bilangan bulat: ;
cin>>nilai;
//menampilkan teks jika nilai yang tersimpan lebih besar dari 0
if (nilai > 0)
cout<<Nilai yang Anda masukkan adalah bilangan positif;
return 0; }
Hasil eksekusi program di atas bersifat dinamis artinya tidak setiap
proses eksekusi program akan menghasilkan hasil yang sama. Jika user
memasukkan

angka

lebih

besar

dari

maka

program

ini

akan

menampilkan teks Nilai yang Anda masukkan adalah bilangan


positif.
Selain itu kita juga _omp 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 _ompu;
}
return 0;

PERTEMUAN 10
Penggunaan If Majemuk
Struktur dua kondisi (perintah if else)
Struktur percabangan jenis ini sedikit lebih kompleks bila dibandingkan dengan
struktur yang hanya memiliki satu kondisi. Konsep ini sangat sederhana yaitu pada struktur
jenis ini terdapat sebuah statemen khusus yang berguna untuk mengatasi kejadian apabila
kondisi yang didefinisikan tersebut tidak terpenuhi (bernilai salah). Perintah ini memberikan
satu

omputer

e 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 *omputer;
}
else
{
cout<<Anda memasukkan bilangan NOL;
}
return 0;
}
Contoh Program :
Implementasinya dalam bahasa Pemrograman Pascal :
Uses Crt;
Type
Latih = array [ 1..10, 1..10] of integer;
Var
I,j,n,m : Integer;
A,B,C : latih;
Procedure InputA(var x : latih; m,n : integer);
Begin
For I := 1 to m do
Begin
For J := 1 to n do
Begin
Write(Masukkan suku A[,I,] = );
Raedln(A[I,j](;

End;
End;
End;
Procedure InputB(var x : latih; m,n : integer);
Begin
For I := 1 to m do
Begin
For J := 1 to n do
Begin
Write(Masukkan suku B[,I,] = );
Raedln(B[I,j](;
End;
End;
End;
Procedure Keluaran(var x : latih; m,n : integer);
Begin
For I := 1 to m do
Begin
For J := 1 to n do
Begin
C[I,j]:=A[I,j]+ B[I,j]
Writeln(C[,I,]=, C[I,j]);
End;
End;
End;
Begin
Write(Masukkan m (mak 10) :);
Readln(m);
Write(Masukkan n (mak 10) :);
Readln(n);
InputA(a,m,n);
InputB(a,m,n);
Writeln; Writeln;
Keluaran(c,m,n);
Readln;
End.

Lampiran 2
INSTRUMEN TES URAIAN
Kompetensi

: Pengetahuan

Satuan Pendidikan

: SMK 4 Baubau

Kelas/Semester

: X/II

Mata Pelajaran

: Pemrograman Dasar

Pertemuan ke

: 5 10

Alokasi waktu

: 12 x 45

C. Kompetensi Dasar
a. Menerapkan Struktur kontrol percabangan dalam bahasa
pemrograman

D. Indikator
1. Membuat Struktur kontrol percabangan,
2. Membuat Percabangan 1 kondisi
3. Membuat Percabangan 2 kondisi
4. Membuat Percabangan lebih dari 2 kondisi
a. Soal
1. Buatlah sebuah program sederhana !
2. Tuliskan macam-macam array !
3. Tuliskan struktur percabangan !
4. Perhatikan gambar berikut : Tuliskan eksekusi dari skema tersebut.

b. Kunci jawaban
1. Contoh Program sederhana:
#include <iostream.h>
int main()
{
int nilai;
//memasukkan bilangan bulat
cout<<Masukkan sebuah bilangan yang akan diperiksa: ;
cin>>nilai;
//pengecek bilangan apakah habis dibagi dua atau tidak
if (nilai > 0)
{
cout<<nilai<< adalah bilangan positif;
}
else if (nilai < 0)
{
cout<<nilai<< adalah bilangan *omputer;
}

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
_omput flowchart Decision harus digunakan. Simbol decision akan berisi
pernyataan yang akan diuji kebenarannya. Nilai hasil pengujian akan

menentukan cabang mana yang akan ditempuh.


4. Maka eksekusi program akan berlangsung berurutan sebagai berikut :
1. Tetapkan bilangan yang ingin kita cari (yaitu 12)
2. Ambil elemen paling awal (yaitu A[0]), bandingkan isi elemen
tersebut (yaitu 23) dengan bilangan yang kita cari. Jika sama maka
stop.
3. Jika tidak maka lanjutkan dengan elemen berikutnya (yaitu A[1]),
bandingkan isi elemen tersebut dengan bilangan yang kita cari. Jika
sama maka stop.
4. Jika tidak maka lanjutkan dengan elemen berikutnya. Dan seterusnya
sampai dijumpai elemen yang berisi sama dengan bilangan yang kita
cari.

c. Pedoman Penilaian :
Konversi Nilai = Jumlah Skor x 25,
Jumlah Skor maksimal 25, maka 4 x 25 = 100

Lampiran 3

LEMBAR PENGAMATAN SIKAP


Kompetensi

: Sikap

Satuan Pendidikan

: SMK 4 Baubau

Kelas/Semester

: X/II

Mata Pelajaran

: Pemrograman dasar

Pertemuan ke

: 5 10

Alokasi waktu

: 12 x 45

1. Kompetensi dasar :
Berlaku jujur dan bertanggung jawab dalam mengerjakan tugas-tugas
dari dalam pembelajar Algoritma dan Pemrograman Pascal
2. Indikator
1. Peserta didik dapat berperilaku jujur dalam menyalin informasi dari
buku sumber
2. Peserta didik dapat bertanggung jawab dalam mengerjakan tugas.
3. Peserta didik dapat berperilaku disiplin dalam mengumpulkan tugas
4. Peserta didik dapat menunjukkan kerja sama dalam belajar
Algoritma dan Pemrograman Pascal
5. Peserta didik dapt berperilaku santun dalam belajar.
Nomor peserta didik

: .......................................................

Nama Absen Peserta didik

: .........................................................

No.

Sikap

1.

Jujur

2.

Tanggung
jawab

3.

Disiplin

4.

Bekerja
sama

5.

Santun

Kriteria
1. Melaporkan data/informasi
sesuai dengan apa yang
dibaca.
2. Menyampaikan
pendapat
disertai dengan informasi
dari buku sumber yang
diterima
1. Melaksanakan tugas sesuai
dengan perintah guru
2. Menyelesaikan
tugas
sampai selesai.
Melaksanakan dan menyelesaikan
tugas sesuai dengan waktu yang
ditetapkan.
Menghargai pekerjaan teman dan
berperan
aktif
dalam
menyelesaikan tugas kelompok.
1. Menyampaikan
pendapat
dengan bahasa dan nada
yang baik.
2. Menghargai
adanya
perbedaan pendapat.

Hasil
Ya
Tidak

Lampiran 4
LEMBAR PENGAMATAN KETERAMPILAN/PSIKOMOTOR
Kompetensi

: Keterampilan

Satuan Pendidikan

: SMK Negeri 4 Baubau

Kelas/Semester

: X/II

Mata Pelajaran

: Pemrograman dasar

Pertemuan ke

: 5 10

Alokasi waktu

: 12 x 45

A. Kompetensi Dasar
1. Menerapkan Struktur kontrol percabangan dalam
bahasa pemrograman

B. Indikator
1. Membuat Struktur kontrol percabangan,
2. Membuat Percabangan 1 kondisi
3. Membuat Percabangan 2 kondisi
4. Membuat Percabangan lebih dari 2 kondisi
Isilah dengan tanda centang () apabila seorang siswa melakukan
aktivitas !
N
o.

Nama

*) Keterangan:
1. Aktifitas bertanya

Aspek keterampilan *)
2
3
4

Nilai
5

**)

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

SMK NEGERI 4 BAUBAU


RENCANA
PELAKSANAAN
PEMBELAJARAN
( RPP )

NO. DOKUMEN
NTW.MNT.201.
(2).A

K13
Tanggal
Halama
n

Nama Sekolah
Mata Pelajaran
Kelas / Semester
Standar Kompetensi
Pertemuan
Alokasi Waktu

: SMK Negeri 4 Baubau


: Pemrograman Dasar
: X ( Sepuluh ) / Genjil
: Menerapkan Pemrogaraman Dasar
: 11 s/d 14
: 2 ( 4 X 45 Menit )

Karakter yang diharapkan

00
18 Juli
2016
1 dari 2

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
KD untuk KI-1
1.7. Memahami
nilai-nilai
keimanan
dengan
menyadari
hubungan
keteraturan dan kompleksitas alam dan jagad raya terhadap kebesaran
Tuhan yang menciptakannya
1.8. Mendeskripsikan kebesaran Tuhan yang menciptakan berbagai sumber
energi di alam
1.9. Mengamalkan nilai-nilai keimanan sesuai dengan ajaran agama dalam
kehidupan sehari-hari
KD untuk KI-2
2.5. 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 melakukan percobaan dan
berdiskusi
2.6. Menghargai kerja individu dan kelompok dalam aktivitas sehari-hari
sebagai wujud implementasi melaksanakan percobaan dan melaporkan
hasil percobaan
KD untuk KI-3

3.7

Menerapkan

struktur kontrol

perulangan dalam bahasa

pemrograman
KD untuk KI-4

4.8

Memecahkan
perulangan

masaalah

C. Indikator Pencapaian Kompetensi

menggunakan

struktur

kontrol

3.7.1. Mengetahui Struktur kontrol perulangan


3.7.2. Mengetahui Perulangan dengan kondisi awal
3.7.3. Perulangan dengan kondisi akhir
4.8.1. Menyajikan informasi tentang struktur perulangan
4.8.2. Menyajikan informasi tentang perulangan dengan kondisi awal
4.8.3. Menyajikan informasi tentang perulangan dengan kondisi aikhir
D. Tujuan Pembelajaran
Setelah mempelajari perulangan siswa diharapkan :
a. Mengerti tentang struktur perulangan
b. Mengetahui informasi tentang perulangan dengan kondisi awal
c. Mengetahui informasi tentang perulangan dengan kondisi akhir
E. Materi Ajar
1. Struktur kontrol perulangan
2. Perulangan dengan kondisi awal
3. Perulangan dengan kondisi akhir
F. Metode Pembelajaran
.
Pendekatan
: Scientifict Learning
Straegi
: Cooperative Learning
Model
: Problem Based Learning
.
Metode
: Diskusi, Ceramah, tanya Jawab
G. Langkah langkah Pembelajaran
Pertemuan 11 12
Kegiatan

Deskripsi

Pendahuluan

1. Siswa menjawab sapaan guru, berdoa,

dan mengondisikan diri siap belajar


dan siswa bertanya jawab
berkaitan dengan identitas diri yang
dibutuhkan sebagai warga negara yang
baik.
3. Guru
menyampaikan
tujuan
pembelajaran
4. Guru memotivasi siswa agar semakin
giat belajar

Alokasi
Waktu

2. Guru

Inti

Mengamati :
1. Siswa mengamati dan
mendengarkan penjelasan tentang
struktur kontrol perulangan.
2. Siswa mengamati dan
mendengarkan penjelasan
mengenai perulangan dengan
kondisi awal.
3. Siswa mengamati dan
mendengarkan penjelasan
mengenai perulangan dengan
kondisi akhir.
Menanya :
1. Siswa
berdikusi
menganalisa
tentang perulangan.
2. Siswa
berdikusi
menganalisa
tentang perulangan dengan kondisi
awal.
3. Siswa
berdikusi
menganalisa
tentang perulangan dengan kondisi
akhir.
Mengeksplorasi:

30 Menit

120 Menit

1. Siswa membuat kode program


menggunakan perulangan dengan
kondisi awal, dan perulangan kondisi
akhir.
2. Siswa
melakukan
kompilasi,
eksekusi
dan
perbaikan
pada
kesalahan-kesalahan yang terdapat
dalam program.
Mengasosiasi:
1. Siswa membuat sebuah kesimpulan
tentang penggunaan perulangan
dengan
kondisi
awal,
dan
perulangan dengan kondisi akhir.

Penutup

Mengkomunikasikan:
1. Siswa membuat sebuah laporan dan
mempresentasikan
hasil
dari
sebuah program sederhana.
1. Mereview kembali materi yang telah
disampaikan

2. Siswa mengerjakan evaluasi


3. Siswa saling memberikan umpan balik

30
menit

hasil evaluasi pembelajaran yang telah


dicapai.

Pertemuan 13 14
Kegiatan
Pendahuluan

Deskripsi

1. Siswa menjawab sapaan guru, berdoa,

dan mengondisikan diri siap belajar


2. Guru dan siswa bertanya jawab
berkaitan dengan identitas diri yang
dibutuhkan sebagai warga negara
yang baik.
3. Guru
menyampaikan
tujuan
pembelajaran
4. Guru memotivasi siswa agar semakin
giat belajar
Inti

Alokasi
Waktu

Mengamati :
1. Siswa mengamati dan
mendengarkan penjelasan tentang
struktur kontrol perulangan.
2. Siswa mengamati dan
mendengarkan penjelasan
mengenai perulangan dengan
kondisi awal.
3. Siswa mengamati dan
mendengarkan penjelasan
mengenai perulangan dengan
kondisi akhir.
Menanya :
1. Siswa
berdikusi
menganalisa
tentang perulangan.
2. Siswa
berdikusi
menganalisa
tentang perulangan dengan kondisi
awal.
3. Siswa
berdikusi
menganalisa
tentang perulangan dengan kondisi

15 Menit

60 Menit

akhir.
Mengeksplorasi:
1. Siswa membuat kode program
menggunakan perulangan dengan
kondisi
awal,
dan
perulangan
kondisi akhir.
2. Siswa
melakukan
kompilasi,
eksekusi
dan
perbaikan
pada
kesalahan-kesalahan yang terdapat
dalam program.
Mengasosiasi:
1. Siswa membuat sebuah kesimpulan
tentang penggunaan perulangan
dengan
kondisi
awal,
dan
perulangan dengan kondisi akhir.

Penutup

Mengkomunikasikan:
1. Siswa membuat sebuah laporan dan
mempresentasikan
hasil
dari
sebuah program sederhana.
1. Mereview kembali materi yang telah

disampaikan
2. Siswa mengerjakan evaluasi
3. Siswa saling memberikan umpan balik
hasil evaluasi pembelajaran yang telah
dicapai.

30 menit

H. Penilaian
1. Jenis/teknik penilaian
2. Bentuk instrumen dan instrumen
a. Bentuk instrumen
1) Test
: Test Uraian
b. Instrumen
1) Test (Terlampir)
3. Pedoman penskoran (Terlampir)
I. Media, Alat, dan Sumber Pembelajaran
1. Media
1. Power Point
2. Internet
2.Alat dan bahan
a. laptop
b. LCD
c. Whiteboard
d. Spidol
e. Komputer
f. Software
3. Sumber Belajar
a. Supriyanto 2013, modul Pemrograman Dasar 1 SMK/MAK Kelas X
,Penerbit Kementerian Pendidikan dan Kebudayaan, Jakarta
Ditinjau Oleh :
Wakasek Urusan Kurikulum,

Diperiksa Oleh :
Kapala Prog. TKJ,

Dibuat Oleh :
Guru Mata Pelajaran,

AMIR ISHAK, S. Pi
NIP. 19751222 200701

LA GANI, S.Kom
NIP. 19770525 201001 1013

LA GANI,S.Kom
NIP. 19770525

1006

2010011013

Lampiran 1
BAHAN AJAR
Kompetensi

: Bahan Ajar

Satuan Pendidikan

: SMK Negeri 4 Baubau

Kelas/Semester

: X/II

Mata Pelajaran

: Pemrograman dasar

Pertemuan ke

: 11 14

Alokasi waktu

: 8 x 45

A. Kompetensi Dasar
2. Menerapkan struktur kontrol perulangan dalam bahasa
pemrograman
B. Indikator
1. Mengetahui Struktur kontrol perulangan
2. Mengetahui Perulangan dengan kondisi awal
3. Perulangan dengan kondisi akhir

Pertemuan 11
Struktur kontrol perulangan
Dalam banyak kasus seringkali kita dihadapkan pada sejumlah
pekerjaanyang harus diulang berkali. Salah satu contoh yang gampang
kita jumpai adalah balapan mobil seperti tampak pada Mobil-mobil peserta
harus mengelilingi lintasan sirkuit berkali-kali sesuai yang ditetapkan
dalam aturan lomba. Siapa yang mencapai garis akhir paling cepat, dialah
yang menang. Pada pembuatan program _omputer, kita juga kadangkadang harus mengulang satu atau sekelompok perintah berkali-kali agar
memperoleh hasil yang diinginkan.
Dengan menggunakan _omputer, eksekusi pengulangan mudah
dilakukan. Hal ini karena salah satu kelebihan _omputer 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, masingmasing 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 _omputer_.
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 loops
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 _omputer, 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 _omput 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 _omputer_ 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.
b.
c.
d.
e.
f.
g.
h.
i.

a (1) dengan a (2) 23 dengan 45 Tetap


a (1) dengan a (3) 12 dengan 12 Tukar
a (1) dengan a (4) 12 dengan 24 Tetap
a (1) dengan a (5) 12 dengan 56 Tetap
a (1) dengan a (6) 12 dengan 34 Tetap
a (1) dengan a (7) 12 dengan 27 Tetap
a (1) dengan a (8) 12 dengan 23 Tetap
a (1) dengan a (9) 12 dengan 16 Tetap
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)
3. 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 _ompute, 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
Satuan Pendidikan
Kelas/Semester
Mata Pelajaran
Pertemuan ke
Alokasi waktu

:
:
:
:
:
:

Pengetahuan
SMK Negeri 4 Baubau
X/II
Pemrograman dasar
11 14
8 x 45

A. Kompetensi Dasar
4. Menerapkan struktur kontrol perulangan dalam bahasa
pemrograman
B. Indikator
1. Mengetahui Struktur kontrol perulangan
2. Mengetahui Perulangan dengan kondisi awal
3. Perulangan dengan kondisi akhir
a. Soal
b.
c.

Tuliskan Keuntungan dari pembuatan algoritma !


Tuliskan Beberapa hal yang perlu diperhatikan dalam

membuat algoritma!
d.
e.

Buatlah flowchart untuk menghitung volume balok !


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

_omputer.

Agar

dapat

dijalankan

oleh

_omputer,

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
pemrograman

3. Flowchart volume balok

suatu

permasalahan

ke

dalam

bahasa

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 Negeri 4 Baubau

Kelas/Semester

: X/II

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
Ya

1.

Jujur

2.

Tanggung
jawab

3.

Disiplin

4.

Bekerja
sama

5.

Santun

1. Melaporkan data/informasi
sesuai dengan apa yang
dibaca.
2. Menyampaikan
pendapat
disertai dengan informasi
dari buku sumber yang
diterima
1. Melaksanakan tugas sesuai
dengan perintah guru
2. Menyelesaikan
tugas
sampai selesai.
Melaksanakan dan menyelesaikan
tugas sesuai dengan waktu yang
ditetapkan.
Menghargai pekerjaan teman dan
berperan
aktif
dalam
menyelesaikan tugas kelompok.
1. Menyampaikan
pendapat
dengan bahasa dan nada
yang baik.

Hasil
Tidak

2. Menghargai
adanya
perbedaan pendapat.

Lampiran 4
LEMBAR PENGAMATAN KETERAMPILAN/PSIKOMOTOR
Kompetensi

: Keterampilan

Satuan Pendidikan

: SMK Negeri 4 Baubau

Kelas/Semester

: X/II

Mata Pelajaran

: Pemrograman dasar

Pertemuan ke

: 11 14

Alokasi waktu

: 8 x 45

A. Kompetensi Dasar
5. Menerapkan struktur kontrol perulangan dalam bahasa
pemrograman
B. Indikator
1. Mengetahui Struktur kontrol perulangan
2. Mengetahui Perulangan dengan kondisi awal
3. Perulangan dengan kondisi akhir
Isilah dengan tanda centang () apabila seorang siswa melakukan
aktivitas !
N
o.

Nama

Aspek keterampilan *)
2
3
4

*) Keterangan:
1. Aktifitas bertanya

Nilai
5

**)

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

5. Tidak Terampil, jika 1

SMK NEGERI 4 BAUBAU


RENCANA
PELAKSANAAN
PEMBELAJARAN
( RPP )

NO. DOKUMEN
NTW.MNT.201.
(2).A

K13
Tanggal
Halama
n

Nama Sekolah
Mata Pelajaran
Kelas / Semester
Standar Kompetensi
Pertemuan
Alokasi Waktu

: SMK Negeri 4 Baubau


: Pemrogaran Dasar
: X ( Sepuluh ) / Genjil
: Menerapkan Pemrograman Dasar
: 15 s/d 17
: 2 ( 3 X 45 Menit )

Karakter yang diharapkan

i.

00
18 Juli
2016
1 dari 2

Disiplin, Kreatif, Mandiri, Tanggung Jawab,


Kerja sama.

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.

ii.

Kompetensi Dasar
KD untuk KI-1
1.10. Memahami
nilai-nilai
keimanan
dengan
menyadari
hubungan
keteraturan dan kompleksitas alam dan jagad raya terhadap kebesaran
Tuhan yang menciptakannya
1.11. Mendeskripsikan kebesaran Tuhan yang menciptakan berbagai sumber
energi di alam
1.12. Mengamalkan nilai-nilai keimanan sesuai dengan ajaran agama dalam
kehidupan sehari-hari
KD untuk KI-2
2.1. 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 melakukan percobaan dan berdiskusi
2.2. Menghargai kerja individu dan kelompok dalam aktivitas sehari-hari
sebagai wujud implementasi melaksanakan percobaan dan melaporkan
hasil percobaan
KD untuk KI-3

3.8
Menerapkan keseluruhan
Penyelesaian masalah kompleks

konsep

alogaritma

dalam

KD untuk KI-4

4.8

Menganalisa kesalahan dalam Program

iii. Indikator Pencapaian Kompetensi

3.8.1.Analisa pemecahan masalah


3.8.2. Debugging dan error dalam program
4.8.1. Mencari pemecahan masalah dengan menggunakan algoritma
4.8.2. Melakukan pengujian debugging dan mencari error dalam sebuah
program
Tujuan Pembelajaran

iv.

Setelah pembelajaran selesai, peserta didik diharapakan mampu :

Menyajikan Algoritma

Menyajikan Flowchart

Mencari kesalahan-kesalahan dalam sebuah program.


v.

Materi Ajar
1. Penyajian Algoritma
2. Kesalahan kesalahan yang terdapat dalam sebuah program
3. Flowchart
vi.
Metode Pembelajaran
1. Pendekatan : Scintifict learning
2. Strategi
: cooperatif learning
3. Model
: Problem based learning
4. Metode
:
Diskusi kelompok, ceramah, tanya jawab dan
penugasan

vii.

Langkah Langkah Pembelajaran


Pertemuan 15 16

Kegiatan

Deskripsi

Pendahuluan

1. Siswa menjawab sapaan guru, berdoa, dan


mengondisikan diri siap belajar
2. Guru dan siswa bertanya jawab berkaitan
dengan identitas diri yang dibutuhkan sebagai
warga negara yang baik.
3. Guru menyampaikan tujuan pembelajaran
4. Guru memotivasi siswa agar semakin giat
belajar

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 :
1. Siswa berdikusi menganalisa tentang
debugging sebuah program.
2. Siswa berdikusi menganalisa tentang error
salam sebuah program.
Mengeksplorasi:
1. Siswa melakukan kompilasi, eksekusi dan
perbaikan pada kesalahan-kesalahan yang

Alokasi
Waktu

30 Menit

120 Menit

Penutup

terdapat dalam program.


Mengasosiasi:
1. Siswa
membuat
sebuah
kesimpulan
tentang debugging dan error dalam
sebuah program.
Mengkomunikasikan:
Siswa
membuat
sebuah
laporan
dan
mempresentasikan hasil dari sebuah program
sederhana.
1. Mereview kembali materi yang telah
disampaikan
2. Siswa mengerjakan evaluasi
3. Siswa saling memberikan umpan balik hasil
evaluasi pembelajaran yang telah dicapai.

30 Menit

Pertemuan 17
Kegiatan

Deskripsi

Pendahuluan

1. Siswa menjawab sapaan guru, berdoa, dan

Alokasi
Waktu

mengondisikan diri siap belajar

2. Guru dan siswa bertanya jawab berkaitan


dengan identitas diri yang dibutuhkan sebagai
warga negara yang baik.
3. Guru menyampaikan tujuan pembelajaran
4. Guru memotivasi siswa agar semakin giat
belajar
Inti

Penutup

15 Menit

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.
Mengeksplorasi:
2. Siswa melakukan kompilasi, eksekusi dan
perbaikan pada kesalahan-kesalahan yang
terdapat dalam program.
Mengasosiasi:
2. Siswa
membuat
sebuah
kesimpulan
tentang debugging dan error dalam
sebuah program.
Mengkomunikasikan:
Siswa
membuat
sebuah
laporan
dan
mempresentasikan hasil dari sebuah program
sederhana.
1. Mereview kembali materi yang telah
disampaikan
2. Siswa mengerjakan evaluasi
3. Siswa saling memberikan umpan balik hasil
evaluasi pembelajaran yang telah dicapai.

60 Menit

15 Menit

viii. Penilaian
4. Jenis/teknik penilaian
5. Bentuk instrumen dan instrumen
c. Bentuk instrumen
1) Test
: Test Uraian
d. Instrumen
1) Test (Terlampir)
6. Pedoman penskoran (Terlampir)
ix.

Media, Alat, dan Sumber Pembelajaran


3. Media
1. Power Point
4. Internet
2.Alat dan bahan
g. laptop
h. LCD
i. Whiteboard
j. Spidol
k. Komputer
l. Software
3. Sumber Belajar
b. Supriyanto 2013, modul Pemrograman Dasar 1 SMK/MAK Kelas X
,Penerbit Kementerian Pendidikan dan Kebudayaan, Jakarta

Ditinjau Oleh :
Wakasek Urusan Kurikulum,

Diperiksa Oleh :
Kapala Prog. TKJ,

Dibuat Oleh :
Guru Mata Pelajaran,

AMIR ISHAK, S. Pi
NIP. 19751222 200701
1006

LA GANI, S.Kom
NIP. 19770525 201001 1013

LA GANI,S.Kom
NIP. 19770525
2010011013

Lampiran 1
BAHAN AJAR
Kompetensi

: Bahan Ajar

Satuan Pendidikan

: SMK Negeri 4 Baubau

Kelas/Semester

: X/II

Mata Pelajaran

: Pemrograman dasar

Pertemuan ke

: 15 17

Alokasi waktu

: 6 x 45

A. Kompetensi Dasar
1. Menerapkan keseluruhan konsep algoritma dalam penyelesaian
masalah kompleks
B. Indikator
1. Analisa pemecahan masalah
2. Debugging dan error dalam program
Pertemuan 15
Penyajian Algoritma
Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan
gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu
(misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode. Pseudocode adalah kode
yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C, sehingga lebih
tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada
pemrogram.
Sedangkan algoritma disajikan dengan gambar, misalnya dengan flowchart. Secara
umum, pseudocode mengekspresikan ide-ide secara informal dalam proses penyusunan
algoritma. Salah satu cara untuk menghasilkan kode pseudo adalah dengan meregangkan
aturan-aturan bahasa formal yang dengannya versi akhir dari algoritma akan diekspresikan.
Pendekatan ini umumnya digunakan ketika bahasa pemrograman yang akan digunakan telah
diketahui sejak awal.
Definisi Pseudo-code
Kode atau tanda yang menyerupai (pseudo) atau merupakan
penjelasan cara menyelesaikan suatu masalah. Pseudo-code sering
digunakan oleh manusia untuk menuliskan algoritma.
Contoh kasus : mencari bilangan terbesar dari dua bilangan yang
diinputkan

Solusi Pseudo-code :
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 Negeri 4 Baubau

Kelas/Semester

: X/II

Mata Pelajaran

: Pemrograman dasar

Pertemuan ke

: 15 17

Alokasi waktu

: 6 x 45

A. Kompetensi Dasar
1. Menerapkan keseluruhan konsep algoritma dalam penyelesaian
masalah kompleks
B. Indikator
1. Analisa pemecahan masalah
2. Debugging dan error dalam program
I.

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 !

II.

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 :

III.

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 Negeri 4 Baubau

Kelas/Semster

: X/II

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
Ya

1.

Jujur

2.

Tanggung
jawab

3.

Disiplin

4.

Bekerja
sama

5.

Santun

3. Melaporkan data/informasi
sesuai dengan apa yang
dibaca.
4. Menyampaikan
pendapat
disertai dengan informasi
dari buku sumber yang
diterima
3. Melaksanakan tugas sesuai
dengan perintah guru
4. Menyelesaikan
tugas
sampai selesai.
Melaksanakan dan menyelesaikan
tugas sesuai dengan waktu yang
ditetapkan.
Menghargai pekerjaan teman dan
berperan
aktif
dalam
menyelesaikan tugas kelompok.
3. Menyampaikan
pendapat
dengan bahasa dan nada
yang baik.

Hasil
Tidak

4. Menghargai
adanya
perbedaan pendapat.

Lampiran 4
LEMBAR PENGAMATAN KETERAMPILAN/PSIKOMOTOR
Kompetensi

: Keterampilan

Satuan Pendidikan

: SMK Negeri 4 Baubau

Kelas/Semster

: X/II

Mata Pelajaran

: Pemrograman Dasar

Pertemuan ke

: 15 17

Alokasi waktu

6 x 45

A. Kompetensi Dasar
1. Menerapkan keseluruhan konsep algoritma dalam penyelesaian
masalah kompleks
B. Indikator
1. Analisa pemecahan masalah
2. Debugging dan error dalam program
Isilah dengan tanda centang () apabila seorang siswa melakukan
aktivitas !
N
o.

Nama

*) Keterangan:
1. Aktifitas bertanya

Aspek keterampilan *)
2
3
4

Nilai
5

**)

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

S-ar putea să vă placă și