YAYASAN PENDIDIKAN TELADAN
SEKOLAH MENENGAH KEJURUAN ( SMK ) TELADAN JALAN SINGOSARI NO. 3 TELP. (0622) 22210 – 23811, Fax. 22210
PEMATANG SIANTAR 21111
RENCANA PELAKSANAAN PEMBELAJARAN ( RPP ) Mata Pelajaran : Pemrograman Dasar
Kelas / Semester : X / 2
Pertemuan : 1- 4
Alokasi Waktu : 8 x 45 Menit
Standar Kompetensi : Menerapkan Pemrograman Dasar
Karakter Bangsa yang diharapkan : Disiplin, Kreatif, Mandiri, Tanggung Jawab, Kerja sama.
A. Kompetensi Inti
1. Menghayati dan mengamalkan ajaran agama yang dianutnya
2. Mengembangkan perilaku (jujur, disiplin, tanggung jawab, peduli, santun, ramah lingkungan, gotong royong, kerjasama, cinta damai, responsif dan proaktif) dan menunjukkan sikap sebagai bagian dari solusi atas berbagai permasalahan bangsa dalam berinteraksi secara efektif dengan lingkungan sosial dan alam serta dalam menempatkan diri sebagai cerminan bangsa dalam pergaulan dunia 3. Memahami, menerapkan, menganalisis pengetahuan faktual,
konseptual, prosedural berdasarkan rasa ingin tahunya tentang ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dengan wawasan kemanusiaan, kebangsaan, kenegaraan, dan peradaban terkait fenomena dan kejadian, serta menerapkan pengetahuan prosedural pada bidang kajian yang spesifik sesuai dengan bakat dan minatnya untuk memecahkan masalah.
4. Mengolah, menalar, menyaji, dan mencipta dalam ranah konkret dan ranah abstrak terkait dengan pengembangan dari yang dipelajarinya di sekolah secara mandiri, dan mampu menggunakan metoda sesuai kaidah keilmuan.
B. Kompetensi Dasar dan Indikator
3.5 Menerapkan Penggunaan Tipe Data, Variabel, Konstanta, Operator dan Ekspresi
a. Defenisi Tipe data, variabel, Konstanta, Operator dan Ekspresi
4.6 Mengolah data menggunakan konsep tipe data, variabel, konstanta, operator dan ekspresi
a. Menyajikan informasi mengenai penggunaan tipe data dan variabel.
b. Menyajikan informasi mengenai penggunaan konstanta.
c. Menyajikan informasi mengenai penggunaan operator ekspresi
a. Dapat mengetahui dan mengerti pengertian variabel, konstanta. b. Mengetahui Fungsi variabel dan konstanta
c. Membuat Program dengan menggunakan konstanta D. Materi Ajar
1. Tipe data, variabel, operator dan ekspresi 2. Tipe data, variabel dan konstanta.
3. Operator dan ekspresi E. Metode Pembelajaran
1. Penyampaian 2. Tanya jawab 3. Tes Program 4. Praktek
F. Media pembelajaran 1. Komputer
2. Buku Algoritma 3. Buku Struktur data 4. Internet
G. Langkah – langkah Pembelajaran Pertemuan 1 - 2
Kegiatan Deskripsi AlokasiWaktu
A.Pendahuluan 1. Siswa menjawab sapaan guru, berdoa, dan mengondisikan diri siap belajar
2. Guru dan siswa bertanya jawab berkaitan dengan identitas diri yang dibutuhkan sebagai warga negara yang baik.
3. Guru menyampaikan tujuan pembelajaran 4. Guru memotivasi siswa agar semakin giat
belajar
30 Menit
B.Inti 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.
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.
Mengkomunikasikan:
1. Siswa membuat sebuah laporan dan mempresentasikan hasil dari sebuah program sederhana.
C.Penutup 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 Deskripsi AlokasiWaktu
A.Pendahuluan 1. Siswa menjawab sapaan guru, berdoa, dan mengondisikan diri siap belajar
2. Guru dan siswa bertanya jawab berkaitan dengan identitas diri yang dibutuhkan sebagai warga negara yang baik.
3. Guru menyampaikan tujuan pembelajaran 4. Guru memotivasi siswa agar semakin giat
belajar
30 Menit
B.Inti 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.
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.
Mengkomunikasikan:
1. Siswa membuat sebuah laporan dan mempresentasikan hasil dari sebuah program sederhana.
C.Penutup 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. Sumber Belajar
1. Buku Algoritma dan Pemrograman Pascal 2. Internet
3. Modul produktif, Buku Algoritma dan pemograman tingkat Dasar I. Alat Pembelajaran
1. Laptop 2. LCD
3. White board 4. Spidol J. Penilaian
1. Teknik penilaian : Test tertulis 2. Bentuk Instrumen dan Instumrn : a. Bentuk Instrumen : Tes Uraian b. Instrumen : Terlampir 3. Pedoman Peskroan : Terlampir
Pematangsiantar, 06 Januari 2014
Ka. Prodi Rekayasa Perangkat Lunak, Guru MataPelajaran
N. Manurung, S.Kom.
Mengetahui ;
Lampiran 1
BAHAN AJAR Kompetensi : Bahan Ajar
Satuan Pendidikan : SMK Swasta Teladan Kelas/Semester : X/II
Mata Pelajaran : Pemrograman Dasar Pertemuan ke : 1 – 4
Alokasi waktu : 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
Variabel
adalah tempat dimana kita dapat mengisi atau mengosongkan nilainya dan memanggil kembali apabila dibutuhkan.
Pada sebagian besar bahasa pemrograman, variabel harus dideklarasikan lebih dulu untuk mempermudah compiler bekerja. Apabila variabel tidak dideklarasikan maka setiap kali compiler bertemu dengan variabel baru pada kode program akan terjadi waktu tunda karena compiler harus membuat variabel baru. Hal ini memperlambat proses kerja compiler. Bahkan pada beberapa bahasa pemrograman, compiler akan menolak untuk melanjutkan proses kompilasi. Pemberian nama variabel harus mengikuti aturan yang ditetapkan oleh bahasa pemrograman yang kita gunakan. Namun secara umum ada aturan yang berlaku untuk hampir semua bahasa pemrograman.
Aturan-aturan tersebut yaitu:
Nama variabel harus diawali dengan huruf.
Tidak boleh menggunakan spasi pada satu nama variabel. Spasi bisa
diganti dengan karakter underscore (_).
Nama variabel tidak boleh mengandung karakter-karakter khusus,
seperti : .,+, -, *, /, <, >, &, (, ) dan lain-lain.
Nama variabel tidak boleh menggunakan kata-kata kunci d bahasa
Pemrograman.
Contoh penamaan variabel. Penamaan yang
benar
Penamaan yang salah
Keterangan
namasiswa XY12
harga_total JenisMotor
nama siswa 12XY
harga.total Jenis Motor
(salah karena menggunakan spasi)
(salah karena dimulai dengan angka)
(salah karena menggunakan karakter)
(salah karena menggunakan spasi)
Pertemuan 2 Tipe Data
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
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
Biasanya record digunakan untuk menampung data suatu obyek. Misalnya, siswa memiliki nama, alamat, usia, tempat lahir, dan tanggal lahir. Nama akan akan menggunakan tipe data string, alamat bertipe data string, usia bertipe data single (numeric), tempat lahir bertipe data string dan tanggal lahir bertipe data date.
Berikut ini contoh pendeklarasian record dalam Delphi. Contoh 5.5. Deklarasi tipe data record pada Delphi.
Type TRecord_Siswa = Record Nama_Siswa : String[30]
Alamat : String[50] Usia : Real
EndRecord Image
Ket :
Image atau gambar atau citra merupakan tipe data grafik. Misalnya grafik perkembangan jumlah siswa SMK, foto keluarga kita, video perjalanan dan lain-lain. Pada bahasa-bahasa pemrograman modern terutama yang berbasis visual tipe data ini telah didukung dengan sangat baik.
Date Time
Nilai data untuk tanggal (Date) dan waktu (Time) secara internal disimpan dalam format yang pesifik. Variabel atau konstanta yang dideklarasikan dengan tipe data Date dapat digunakan untuk menyimpan baik tanggal maupun jam. Tipe data ini masuk dalam kelompok tipe data composite karena merupakan bentukan dari beberapa tipe data.
Berikut ini contoh tipe data dalam Visual Basic. Dim WaktuLahir As Date
WaktuLahir = “01/01/1997” WaktuLahir = “13:03:05 AM”
WaktuLahir = “02/23/1998 13:13:40 AM” WaktuLahir = #02/23/1998 13:13:40 AM# Tipe data lain
Subrange
Tipe data subrange merupakan tipe data bilangan yang mempunyai jangkauan nilai tertentu sesuai dengan yang ditetapkan programmer. Biasanya tipe data ini mempunyai nilai batas minimum dan nilai batas maksimum. Tipe data ini didukung dengan sangat baik dalam Delphi. Berikut ini contoh deklarasi tipe data subrange dalam Delphi.
Contoh 5.7.
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.
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
sedangkan code menunjuk pada kode program. Sehingga pseudocode adalah kode yang mirip dengan instruksi kode program sebenarnya. Pseudocode didasarkan pada bahasa pemrograman yang sesungguhnya seperti BASIC, FORTRAN atau PASCAL. Pseudocode yang berbasis bahasa PASCAL merupakan pseudocode yang sering digunakan. Kadang-kadang orang menyebut pseudocode sebagai PASCAL-LIKE algoritma.
Contoh Program sederhana dengan pseudocde 1. Start
2. 2. READ alas, tinggi
3. 3. Luas = 0.5 * alas * tinggi 4. 4. PRINT Luas
5. 5. Stop Keterangan:
Lampiran 2
INSTRUMEN TES URAIAN Kompetensi : Pengetahuan
Satuan Pendidikan : SMK Swasta Teladan Kelas/Semester : X/II
Mata Pelajaran : Pemrograman Dasar Pertemuan ke : 1 – 4
Alokasi waktu : 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.
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,
Lampiran 3
LEMBAR PENGAMATAN SIKAP Kompetensi : Sikap
Satuan Pendidikan : SMK Swasta Teladan Kelas/Semester : X/II
Mata Pelajaran : Pemrograman Dasar Pertemuan ke : 1 – 4
Alokasi waktu : 8 x 45
Nomor peserta didik : ... Nama Absen Peserta didik :
...
1. Kompetensi dasar :
Berlaku jujur dan bertanggung jawab dalam mengerjakan tugas-tugas dari dalam pembelajaran Pemrograman Dasar.
2. Indikator
1. Peserta didik dapat berperilaku jujur dalam menyalin informasi dari buku sumber
2. Peserta didik dapat bertanggung jawab dalam mengerjakan tugas. 3. Peserta didik dapat berperilaku disiplin dalam mengumpulkan tugas 4. Peserta didik dapat menunjukkan kerja sama dalam belajar
Pemrograman dasar.
5. Peserta didik dapt berperilaku santun dalam belajar.
No. Sikap Kriteria Hasil
Ya Tidak
1. Jujur 1. Melaporkan data/informasi
sesuai dengan apa yang dibaca.
2. Menyampaikan pendapat
disertai dengan informasi dari buku sumber yang diterima 2. Tanggung
jawab
1. Melaksanakan tugas sesuai dengan perintah guru
2. Menyelesaikan tugas sampai selesai.
3. Disiplin Melaksanakan dan menyelesaikan tugas sesuai dengan waktu yang ditetapkan.
4. Bekerja sama
Menghargai pekerjaan teman dan
berperan aktif dalam
menyelesaikan tugas kelompok.
5. Santun 1. Menyampaikan pendapat
dengan bahasa dan nada yang baik.
Lampiran 4
LEMBAR PENGAMATAN KETERAMPILAN/PSIKOMOTOR Kompetensi : Keterampilan
Satuan Pendidikan : SMK Swasta Teladan Kelas/Semester : X/II
Mata Pelajaran : Pemrograman Dasar Pertemuan ke : 1 – 4
Alokasi waktu : 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
Aspek keterampilan *) Nilai **)
1 2 3 4 5
*) Keterangan: **) Keterangan
1. Aktifitas bertanya 1. Sangat Terampil, jika 5 keaktifan
2. Aktifitas menjawab 2. Terampil, jika 4 keaktifan
3. Aktifitas mencatat 3. Cukup Terampil, jika 3 keaktifan 4. Akurasi jawaban 4. Kurang Terampil, jika 2
keaktifan
YAYASAN PENDIDIKAN TELADAN
SEKOLAH MENENGAH KEJURUAN ( SMK ) TELADAN JALAN SINGOSARI NO. 3 TELP. (0622) 22210 – 23811, Fax. 22210
PEMATANG SIANTAR 21111
RENCANA PELAKSANAAN PEMBELAJARAN ( RPP ) Mata Pelajaran : Pemrograman Dasar
Kelas / Semester : X / 2
Pertemuan : 5 - 10
Alokasi Waktu : 12 x 45 Menit
Standar Kompetensi : Menerapkan Pemrograman Dasar
Karakter Bangsa yang diharapkan : Disiplin, Kreatif, Mandiri, Tanggung Jawab, Kerja sama.
A. Kompetensi Inti
1. Menghayati dan mengamalkan ajaran agama yang dianutnya
2. Mengembangkan perilaku (jujur, disiplin, tanggung jawab, peduli, santun, ramah lingkungan, gotong royong, kerjasama, cinta damai, responsif dan proaktif) dan menunjukkan sikap sebagai bagian dari solusi atas berbagai permasalahan bangsa dalam berinteraksi secara efektif dengan lingkungan sosial dan alam serta dalam menempatkan diri sebagai cerminan bangsa dalam pergaulan dunia 3. Memahami, menerapkan, menganalisis pengetahuan faktual,
konseptual, prosedural berdasarkan rasa ingin tahunya tentang ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dengan wawasan kemanusiaan, kebangsaan, kenegaraan, dan peradaban terkait fenomena dan kejadian, serta menerapkan pengetahuan prosedural pada bidang kajian yang spesifik sesuai dengan bakat dan minatnya untuk memecahkan masalah.
4. Mengolah, menalar, menyaji, dan mencipta dalam ranah konkret dan ranah abstrak terkait dengan pengembangan dari yang dipelajarinya di sekolah secara mandiri, dan mampu menggunakan metoda sesuai kaidah keilmuan.
B. Kompetensi Dasar dan Indikator
3.6Menerapkan Struktur kontrol percabangan dalam bahasa pemrograman
a. Membuat Struktur kontrol percabangan, b. Membuat Percabangan 1 kondisi
c. Membuat Percabangan 2 kondisi
d. Membuat Percabangan lebih dari 2 kondisi
4.6 MenggunakanStruktur Kontrol percabangan dengan percabangan 1 kondisi, dan percabangan 2 kondisi
C. Tujuan Pembelajaran
a. Dapat mengetahui defenisi percabangan
b. Dapat mengetahui fungsi dari percabangan 1 kondisi dengan 2 kondisi
c. Dapat membuat sebuah program sederhana dengan menggunakan percabangan D. Materi Ajar
a. Struktur kontrol percabangan b. Percabangan 1 kondisi c. Percabangan 2 kondisi
d. Percabangan lebih dari 2 kondisi E. Metode Pembelajaran
1. Penyampaian 2. Tanya jawab 3. Tes Program 4. Praktek
F. Sumber pembelajaran
1. Buku Algoritma dan Pemrograman Pascal 2. Internet
3. Modul produktif, Buku Algoritma dan pemograman tingkat Dasar. G. Langkah – langkah Pembelajaran
Pertemuan 5 – 7
Kegiatan Deskripsi Alokasi
Waktu A.Pendahulua
n 1.dan mengondisikan diri siap belajarSiswa menjawab sapaan guru, berdoa, 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
B. 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 tentang percabangan.
2.Siswa berdikusi menganalisa tentang percabangan 1 kondisi.
3.Siswa berdikusi menganalisa tentang percabangan 2 kondisi.
Mengeksplorasi:
1. Siswa membuat kode program menggunakan percabangan 1 kondisi, 2 kondisi, lebih dari 2 kondisi dan
percabangan bersarang.
2. Siswa melakukan kompilasi, eksekusi dan perbaikan pada kesalahan-kesalahan yang terdapat dalam program.
Mengasosiasi:
1. Siswa membuat sebuah kesimpulan tentang penggunaan percabangan 1 kondisi, 2 kondisi, lebih dari 2 kondisi dan percabangan bersarang.
Mengkomunikasikan:
Siswa membuat sebuah laporan dan mempresentasikan hasil dari sebuah program sederhana.
C. Penutup 1.Mereview kembali materi yang telah disampaikan
2.Siswa mengerjakan evaluasi
3.Siswa saling memberikan umpan balik hasil evaluasi pembelajaran yang telah dicapai.
15
Pertemuan 8 – 10
Kegiatan Deskripsi Alokasi
Waktu A.Pendahulua
n 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
B. Inti Mengamati :
4. Siswa mengamati dan mendengarkan 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.
Mengkomunikasikan:
1. Siswa membuat sebuah laporan dan mempresentasikan hasil dari sebuah program sederhana.
C. Penutup 1. Mereview kembali materi yang telah disampaikan
2. Siswa mengerjakan evaluasi
3. Siswa saling memberikan umpan balik hasil evaluasi pembelajaran yang telah dicapai.
16
H. Alat Pembelajaran 1. Laptop
2. Infocus 3. Komputer
I. Penilaian
1. Teknik penilaian : Test tertulis 2. Bentuk Instrumen dan Instumrn
a. Bentuk Instrumen : Tes Uraian
b. Instrumen : Terlampir
3. Pedoman Peskroan : Terlampir
Pematangsiantar, 06 Januari 2014
Ka. Prodi Rekayasa Perangkat Lunak, Guru MataPelajaran
N. Manurung, S.Kom. Reagan S Saragih, S.Kom
Mengetahui ;
Kepala SMK Swasta Teladan Pematangsiantar,
Lampiran 1
BAHAN AJAR Kompetensi : Bahan Ajar
Satuan Pendidikan : SMK Swasta Teladan Kelas/Semester : X/II
Mata Pelajaran : Pemrograman Dasar Pertemuan ke : 5 - 10
Alokasi waktu : 12 x 45 A. Kompetensi Dasar
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.
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
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, indeks3] of tipe data; of tipe data;
Contoh :
1. Bentuk Pertama sebagai variabel Deklarasi
Nilai : Array [ 1..15] of integer Nama : Array [ ‘A’..’Z’] of string
2. Bentuk Kedua sebagai tipe baru Deklarasi
Type
Nilai : Array [ 1..100 ] of real Var
X : Nilai Atau
X : Array [ 1.. 100 ] of real
3. Bentuk Ketiga dengan ukuran maksimum elemen larik sebagai sebuah konstanta
Deklarasi
Const max : 100 Type
Nilai : Array [ 1..max ] of real Var
X : Nilai Atau
X : Array [1..100 ] of real
PERTEMUAN 7
PERCABANGAN 1 KONDISI
Penggunaan Larik dengan percabangan 1 kondisi
Array (larik) dibutuhkan apabila suatu proses memerlukan penyimpanan sementara data yang bertipe sama dalam memori, untuk selanjutnyauntuk selanjutnya data tersebut dimanipulasi, dihitung, atau diterapkan proses lainnya. Dengan array dapat menghemat penggunaan nama-nama variabel yang banyak. Variabel dapat dibagi menjadi 2 yaitu :
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
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
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
=
(
a b c d
e f g h
i
j k l
)
danB
=
(
m n o p
q r s t
u v w x
)
C
=
(
a
+
m b
+
n c
+
o d
+
p
e
+
q
f
+
r
g
+
s
h
+
t
i
+
u
j
+
v k
+
w
l
+
x
)
Maka algoritma dari permasalahan tersebut dapat dituliskan :
Deklarasi
Type larik : Array [1..Indeks, 1..indeks2] of integer X : Larik
N : Integer
Procedure Input_ArrayA(output x : Larik; Input M,N : integer); Deklarasi
I,j : integer Deskripsi
For I := 1 to m do For J := 1 to n do
Read ( A[I,j]) End for
Endfor
Procedure Input_ArrayB(output x : Larik; Input M,N : integer); Deklarasi
I,j : integer Deskripsi
For I := 1 to m do For J := 1 to n do
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
Begin
Write(‘Masukkan suku B[‘,I,’] = ‘); Raedln(B[I,j](;
End; End;
End;
Procedure Keluaran(var x : latih; m,n : integer); Begin
For I := 1 to m do Begin
For J := 1 to n do Begin
C[I,j]:=A[I,j]+ B[I,j] Writeln(‘C[‘,I,’]=’, C[I,j]); End;
End; End;
Begin
Write(‘Masukkan m (mak 10) :’); Readln(m);
Write(‘Masukkan n (mak 10) :’); Readln(n);
InputA(a,m,n); InputB(a,m,n); Writeln; Writeln; Keluaran(c,m,n); Readln;
End.
Pengurutan Data pada Array
Permasalahan lain dalam array yang juga banyak digunakan adalah bagaimana mengurutkan elemen-elemen dari variabel array tersebut. Perhatikankembali Contoh 5.24. Pada contoh tersebut terlihat bahwa isi elemen-elemen dari array tidak dalam posisi berurutan. Bagaimanakah caranya agar isi elemenelemen tersebut terurut dari besar ke kecil atau sebaliknya? Ada beberapa algoritma yang dapat digunakan untuk mengurutkan sekumpulan bilangan, antara lain bubble sort, selection sort, shell sort, quick sort, dan lain-lain. Pada buku ini kita akan membahas satu algoritma yaitu bubble sort. Meskipun kinerjanya tidak sebaik algoritma yang lain, algoritma ini mudah dimengerti dan banyak digunakan.
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
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;
PERTEMUAN 9
Percabangan dengan 2 kondisi
Struktur satu kondisi (perintah if)
Struktur ini merupakan struktur yang paling sederhana karena hanya melibatkan satu buah ekspresi akan diperiksa. Pada konstruksi perintah if, C++ tidak memiliki kata kunci (keyword) then.
Bentuk umum: if (kondisi) pernyataan;
atau
if (kondisi) {
statemen1;
statemen2;
…
}
Contoh:
if (detik == 60)
menit = menit + 1;
if (Angka %2 == 0)
cout<<”Bilangan genap”;
if (sisi > 0)
{
Luas = panjang * lebar; Isi = Luas*tinggi;
}
Keterangan :
Kondisi digunakan untuk menentukan pengambilan keputusan, operator yang digunakan adalah relational dan logical operators.
Contoh program:
#include <iostream.h> int main()
int nilai;
//memasukkan bilangan bulat
cout<<”Masukkan sebuah bilangan bulat: “; cin>>nilai;
//menampilkan teks jika nilai yang tersimpan lebih besar dari 0 if (nilai > 0)
cout<<“Nilai yang Anda masukkan adalah bilangan positif“; return 0; }
Hasil eksekusi program di atas bersifat dinamis artinya tidak setiap proses eksekusi program akan menghasilkan hasil yang sama. Jika user memasukkan angka lebih besar dari 0 maka program ini akan menampilkan teks “Nilai yang Anda masukkan adalah bilangan positif”.
Selain itu kita juga _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”; }
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:
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;
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;
Lampiran 2
INSTRUMEN TES URAIAN
Kompetensi : Pengetahuan
Satuan Pendidikan : SMK Swasta Teladan Kelas/Semester : X/II
Mata Pelajaran : Pemrograman Dasar Pertemuan ke : 5 – 10
Alokasi waktu : 12 x 45
C. Kompetensi Dasar
a. Menerapkan Struktur kontrol percabangan dalam bahasa pemrograman
D. Indikator
1. Membuat Struktur kontrol percabangan, 2. Membuat Percabangan 1 kondisi
3. Membuat Percabangan 2 kondisi
4. Membuat Percabangan lebih dari 2 kondisi
a. Soal
1. Buatlah sebuah program sederhana ! 2. Tuliskan macam-macam array ! 3. Tuliskan struktur percabangan !
4. Perhatikan gambar berikut : Tuliskan eksekusi dari skema tersebut.
b. Kunci jawaban
1. Contoh Program sederhana:
#include <iostream.h> int main()
{
int nilai;
//memasukkan bilangan bulat
cout<<”Masukkan sebuah bilangan yang akan diperiksa: “; cin>>nilai;
//pengecek bilangan apakah habis dibagi dua atau tidak if (nilai > 0)
{
cout<<nilai<<“ adalah bilangan positif“; }
else if (nilai < 0) {
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 Swasta Teladan Kelas/Semester : X/II
Mata Pelajaran : Pemrograman dasar Pertemuan ke : 5 – 10
1. Kompetensi dasar :
Berlaku jujur dan bertanggung jawab dalam mengerjakan tugas-tugas dari dalam pembelajar Algoritma dan Pemrograman Pascal
2. Indikator
1. Peserta didik dapat berperilaku jujur dalam menyalin informasi dari buku sumber
2. Peserta didik dapat bertanggung jawab dalam mengerjakan tugas. 3. Peserta didik dapat berperilaku disiplin dalam mengumpulkan tugas 4. Peserta didik dapat menunjukkan kerja sama dalam belajar
Algoritma dan Pemrograman Pascal
5. Peserta didik dapt berperilaku santun dalam belajar.
Nomor peserta didik : ... Nama Absen Peserta didik : ...
No. Sikap Kriteria Hasil
Ya Tidak
1. Jujur 1. Melaporkan data/informasi
sesuai dengan apa yang dibaca.
2. Menyampaikan pendapat
disertai dengan informasi dari buku sumber yang diterima 2. Tanggung
jawab
1. Melaksanakan tugas sesuai dengan perintah guru
2. Menyelesaikan tugas sampai selesai.
3. Disiplin Melaksanakan dan menyelesaikan tugas sesuai dengan waktu yang ditetapkan.
4. Bekerja sama
Menghargai pekerjaan teman dan
berperan aktif dalam
menyelesaikan tugas kelompok.
5. Santun 1. Menyampaikan pendapat
dengan bahasa dan nada yang baik.
Lampiran 4
LEMBAR PENGAMATAN KETERAMPILAN/PSIKOMOTOR
Kompetensi : Keterampilan
Satuan Pendidikan : SMK Swasta Teladan Kelas/Semester : X/II
Mata Pelajaran : Pemrograman dasar Pertemuan ke : 5 – 10
Alokasi waktu : 12 x 45
A. Kompetensi Dasar
1. Menerapkan Struktur kontrol percabangan dalam bahasa pemrograman
B. Indikator
1. Membuat Struktur kontrol percabangan, 2. Membuat Percabangan 1 kondisi
3. Membuat Percabangan 2 kondisi
4. Membuat Percabangan lebih dari 2 kondisi
Isilah dengan tanda centang (√) apabila seorang siswa melakukan aktivitas !
N
o. Nama
Aspek keterampilan *) Nilai **)
1 2 3 4 5
*) Keterangan: **) Keterangan
1. Aktifitas bertanya 1. Sangat Terampil, jika 5 keaktifan
2. Aktifitas menjawab 2. Terampil, jika 4 keaktifan
3. Aktifitas mencatat 3. Cukup Terampil, jika 3 keaktifan 4. Akurasi jawaban 4. Kurang Terampil, jika 2
keaktifan
YAYASAN PENDIDIKAN TELADAN
SEKOLAH MENENGAH KEJURUAN ( SMK ) TELADAN JALAN SINGOSARI NO. 3 TELP. (0622) 22210 – 23811, Fax. 22210
PEMATANG SIANTAR 21111
RENCANA PELAKSANAAN PEMBELAJARAN ( RPP ) Mata Pelajaran : Pemrograman Dasar
Kelas / Semester : X / 2
Pertemuan : 11 – 14
Alokasi Waktu : 8 x 45 Menit
Standar Kompetensi : Menerapkan Pemrograman Dasar
Karakter Bangsa yang diharapkan : Disiplin, Kreatif, Mandiri, Tanggung Jawab, Kerja sama.
A. Kompetensi Inti
1. Memahami nilai-nilai keimanan dengan menyadari hubungan keteraturan dan kompleksitas alam dan jagad raya.
2. Mengamalkan nilai-nilai keimanan sesuai dengan ajaran agama dalam kehidupan sehari-hari.
3. Menunjukkan perilaku ilmiah (memiliki rasa ingin tahu, objektif, jujur, teliti, cermat, tekun, hati-hati, bertanggung jawab, terbuka, kritis, kreatif, inovatif, dan peduli lingkungan) dalam aktivitas sehari-hari sebagai wujud implementasi sikap dalam mlakukan percobaan dan diskusi.
4. Menghargai kerja individu dan kelompok dalam aktivitas sehari-hari sebagai wujud implementasi melaksanakan percobaan dan melaporkan hasil.
B. Kompetensi Dasar dan Indikator
3.7 Menerapkan struktur kontrol perulangan dalam bahasa pemrograman
a. Mengetahui Struktur kontrol perulangan b. Mengetahui Perulangan dengan kondisi awal c. Perulangan dengan kondisi akhir
4.8 Memecahkan masalah menggunakan struktur kontrol perulangan a. Menyajikan informasi tentang struktur perulangan
b. Menyajikan informasi tentang perulangan dengan kondisi awal c. Menyajikan informasi tentang perulangan dengan kondisi aikhir C. Tujuan Pembelajaran
Setelah mempelajari perulangan siswa diharapkan : a. Mengerti tentang struktur perulangan
b. Mengetahui informasi tentang perulangan dengan kondisi awal c. Mengetahui informasi tentang perulangan dengan kondisi akhir
D. Materi Ajar
3. Perulangan dengan kondisi akhir E. Metode Pembelajaran
a. Pendekatan : Scientifict Learning b. Straegi : Cooperative Learning c. Model : Problem Based Learning d. Metode : Diskusi, Ceramah, tanya Jawab
F. Langkah – langkah Pembelajaran Pertemuan 11 – 12
Kegiatan Deskripsi Alokasi
Waktu A. Pendahuluan 1.Siswa menjawab sapaan guru, berdoa,
dan mengondisikan diri siap belajar 2.Guru dan siswa bertanya jawab
berkaitan dengan identitas diri yang dibutuhkan sebagai warga negara yang baik.
3.Guru menyampaikan tujuan pembelajaran
4.Guru memotivasi siswa agar semakin giat belajar
30 Menit
B. 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:
1. Siswa membuat kode program menggunakan perulangan dengan kondisi awal, dan perulangan kondisi akhir.
2. Siswa melakukan kompilasi, eksekusi dan perbaikan pada kesalahan-kesalahan yang terdapat dalam program.
Mengasosiasi:
1. Siswa membuat sebuah kesimpulan tentang penggunaan perulangan
dengan kondisi awal, dan perulangan dengan kondisi akhir.
Mengkomunikasikan:
1. Siswa membuat sebuah laporan dan mempresentasikan hasil dari sebuah program sederhana.
C. Penutup 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 13 – 14
Kegiatan Deskripsi Alokasi
Waktu A. Pendahuluan 1. Siswa menjawab sapaan guru, berdoa,
dan mengondisikan diri siap belajar 2. Guru dan siswa bertanya jawab
berkaitan dengan identitas diri yang dibutuhkan sebagai warga negara yang baik.
3. Guru menyampaikan tujuan pembelajaran
4. Guru memotivasi siswa agar semakin giat belajar
15 Menit
B. 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:
1.Siswa membuat kode program menggunakan perulangan dengan kondisi awal, dan perulangan kondisi akhir.
2. Siswa melakukan kompilasi, eksekusi dan perbaikan pada kesalahan-kesalahan yang terdapat dalam program.
Mengasosiasi:
1. Siswa membuat sebuah kesimpulan tentang penggunaan perulangan dengan kondisi awal, dan perulangan dengan kondisi akhir.
Mengkomunikasikan:
1. Siswa membuat sebuah laporan dan mempresentasikan hasil dari sebuah program sederhana.
C. Penutup 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
G. Media Pembelajaran 1. Komputer
2. Proyektor 3. UPS
H. Sumber Belajar
1. Buku Algoritma dan Pemrograman Pascal. 2. Internet.
3. Modul produktif, Buku Algoritma dan pemograman tingkat Dasar.
I. Penilaian
1. Teknik penilaian : Test 2. Bentuk instrumen
a. Test tertulis
b. Instrumen (terlampir)
3. Pedoman penskoran (terlampir)
Pematangsiantar, 06 Januari 2014 Ka. Prodi Rekayasa Perangkat Lunak, Guru MataPelajaran
N. Manurung, S.Kom Reagan S Saragih, S.Kom
Mengetahui ;
Kepala SMK Swasta Teladan Pematangsiantar
Lampiran 1
BAHAN AJAR Kompetensi : Bahan Ajar
Satuan Pendidikan : SMK Swasta Teladan Kelas/Semester : X/II
Mata Pelajaran : Pemrograman dasar Pertemuan ke : 11 – 14
Alokasi waktu : 8 x 45
A. Kompetensi Dasar
2. Menerapkan struktur kontrol perulangan dalam bahasa pemrograman
B. Indikator
1. Mengetahui Struktur kontrol perulangan 2. Mengetahui Perulangan dengan kondisi awal 3. Perulangan dengan kondisi akhir
Pertemuan 11
Struktur kontrol perulangan
Dalam banyak kasus seringkali kita dihadapkan pada sejumlah pekerjaanyang harus diulang berkali. Salah satu contoh yang gampang kita jumpai adalah balapan mobil seperti tampak pada Mobil-mobil peserta harus mengelilingi lintasan sirkuit berkali-kali sesuai yang ditetapkan dalam aturan lomba. Siapa yang mencapai garis akhir paling cepat, dialah yang menang. Pada pembuatan program _omputer, kita juga kadang-kadang 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)
bagian inisialisasi dan bagian terminasi. Inisialisasi adalah instruksi yang dilakukan sebelum pengulangan dilakukan pertama kali. Bagian insialisasi umumnya digunakan untuk memberi nilai awal sebuah variable. Sedangkan terminasi adalah instruksi yang dilakukan setelah pengulangan selesai dilaksanakan.
Ada beberapa bentuk pengulangan yang dapat digunakan, masing-masing dengan syarat dan karakteristik tersendiri. Beberapa bentuk dapat dipakai untuk kasus yang sama, namun ada bentuk yang hanya cocok untuk kasus tertentu saja. Pemilihan bentuk pengulangan untuk masalah tertentu dapat mempengaruhi kebenaran algoritma. Pemilihan bentuk pengulangan yang tepat bergantung pada masalah yang akan _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 loop’s counter, yang nilainya akan naik atau turun selama proses pengulangan.
Flowchart umum untuk struktur For tampak pada Gambar 5.14.
Dalam mengeksekusi sebuah pengulangan dengan For, urutan langkah-langkah adalah sebagai berikut :
a. Menetapkan nilai counter sama dengan awal.
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
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)
Misalnya datanya : 23, 45, 12, 24, 56, 34, 27, 23, 16; Langkah-Langkah :
a. a (1) dengan a (2) 23 dengan 45 → Tetap b. a (1) dengan a (3) 12