Nama NIM Kelas
: Nurul Kholifah : 14050974083 : PTI 14 C
RENCANA PELAKSANAAN PEMBELAJARAN (RPP)
Sekolah
: SMK Negeri 2 Surabaya
Mata Pelajaran
: Pemrograman Dasar
Kelas/Semester
: X / Ganjil
Materi Pokok
: Penerapan Algoritma Sederhana
Alokasi Waktu
: 1 x 30 menit
A. Kompetensi Inti (KI)
KI 3: Memahami, menerapkan dan menganalisa pengetahuan faktual, konseptual, dan prosedural berdasarkan rasa ingin tahunya tentang ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dalam wawasan kemanusiaan, kebangsaan, kenegaraan, dan peradaban terkait penyebab fenomena dan kejadian dalam bidangkerja yang spesifik untuk memecahkan masalah KI 4: Mengolah, menalar, dan menyaji dalam ranah konkret dan ranah abstrak terkait dengan pengembangan dari yang dipelajarinya di sekolah secara mandiri, dan mampu melaksanakan tugas spesifik di bawah pengawasan langsung
B. Kompetensi Dasar dan Indikator Pencapaian Kompetensi Kompetensi Dasar (KD)
Indikator Pencapaian Kompetensi (IPK)
3.1 Memahami penggunaan 3.1.1. Menjelaskan konsep dan struktur algoritma data dalam algoritma dan 3.1.2. Mendefinisikan algoritma bahasa natural konsep algoritma pemrograman 3.1.3. Menyimpulkan definisi dari variabel, tipe data dan operator 3.1.4. Membedakan antara pseudocode dan flowchart
4.1.Menggunakan pemrograman memecahkan permasalahan
algoritma untuk
4.1.1. Menggambarkan
flowchart
dengan
menggunakan tool-tool di dalamnya 4.1.2. Menerapkan algoritma ke dalam aplikasi komputer
C. Tujuan Pembelajaran
1. Tanpa membuka buku, peserta didik dapat menjelaskan konsep dasar dari algortima sederhana sesuai dengan buku 2. Berdasarkan materi dalam modul, peserta didik dapat menjelaskan stuktur-struktur dari algoritma sederhana 3. Berdasarkan materi dalam modul, peserta didik dapat mendefinisikan algoritma bahasa natural 4. Berdasarkan materi dalam modul, peserta didik dapat menjelaskan definisi dan fungsi dari variabel, tipe data dan operator. 5. Berdasarkan materi dalam modul, peserta didik dapat membedakan pengertian pseudocode dan flowchart 6. Berdasarkan materi dalam modul, peserta didik dapat menggambarkan flowchart dengan menggunakan tool-tool di dalamnya 7. Melalui praktek, peserta didik dapat menerapkan algoritma ke dalam aplikasi komputer
D. Materi Pembelajaran
1. Konsep dasar algoritma sederhana 2. Struktur-struktur algoritma sederhana 3. Algoritma bahasa natural 4. Variabel 5. Tipe data 6. Operator 7. Pseudocode 8. Flowchart 9. Tool-tool flowchart 10. Aplikasi algoritma pemrograman (Borland C++)
E. Metode dan Pendekatan Pembelajaran
F.
Strategi
: Pendekatan Saintifik
Model
: Problem Based Learning
Metode
: Diskusi, presentasi dan pemberian tugas
Kegiatan Pembelajaran
NO
1.
Kegiatan
Pendahuluan
Alokasi
Deskripsi Kegiatan
Waktu
Fase 1 : Mengorientasikan siswa kepada masalah
3 menit
1. Guru mengucapkan salam, mengajak peserta didik untuk mengecek kerapian meja dan kursi yang dilanjutkan dengan berdoa 2. Guru menanyakan kabar peserta didik 3. Guru meminta peserta didik mempersiapkan buku masing-masing untuk mengikuti pelajaran. 4. Guru memberi contoh penerapan algoritma dasar dalam kehidupan sehari-hari (Mengamati) 2.
Inti
Fase 2 : Mengorganisasikan siswa untuk belajar
1. Guru
menyampaikan
materi
secara
rinci
mengenai algoritma sederhana mulai dari konsep dasar algoritma, struktur algoritma, variabel, tipe data, operator, pseudocode, flowchart beserta notasinya, hingga penerapan flowchart ke dalam suatu penyelesaian masalah (Menalar) 2. Guru memberi kesempatan kepada peserta didik untuk bertanya dan berpendapat (Menanya) 3. Guru
mengarahkan
peserta
didik
untuk
membentuk kelompok terdiri dari 3-4 anggota kelompok 4. Guru memberi latihan soal untuk menyelesaikan suatu
permasalahan
dengan
menggunakan
20 menit
NO
Kegiatan
Alokasi
Deskripsi Kegiatan
Waktu
algoritma dan flowchart untuk menghitung bangun datar 5. Setiap kelompok diinstruksikan untuk berdiskusi dan diberi kesempatan bertanya tentang projek yang diberikan apabila ada kelompok mengalami kesulitan Fase 3 : Membimbing penyelidikan individu dan kelompok
1. Guru membimbing kelompok untuk melakukan observasi
terhadap
penyelesaian
suatu
permasalahan dalam kehidupan nyata dengan menerapkan algoritma dan flowchart untuk menghitung bangun datar (Mengeksplorasi) 2. Guru mengkondisikan peserta didik untuk tertib di dalam kelompok belajarnya masing-masing dan menghimbau agar dapat bekerjasama dengan baik 3. Setiap
kelompok
mencoba
untuk
mengimplementasikan informasi yang diperoleh dengan tugas yang diberikan 4. Memotivasi peserta didik agar tetap berada dalam kelompoknya selama kegiatan pembelajaran berlangsung dan menyelesaikan tugas dengan tepat waktu Fase 4 : Mengembangkan dan menyajikan hasil karya
1. Guru
membimbing
peserta
didik
untuk
mengembangkan hasil diskusi dengan membuat media presentasi yang tepat (Mengasosiasi)
NO
Kegiatan
Alokasi
Deskripsi Kegiatan
2. Guru
memeriksa
masing-masing
Waktu
kelompok
sejauh mana projek yang telah dibuat 3. Guru
menunjuk
satu
kelompok
mempresentasikan
hasil
diskusi
untuk
kelompok
(Mengkomunikasikan)
4. Kelompok lain memberikan tanggapan tentang hasil yang dipresentasikan 5. Melakukan
penilaian
terhadap
kegiatan
pembelajaan 3.
Penutup
Fase 5 : Menganalisis dan mengevaluasi proses pemecahan masalah
1. Guru memberikan pendapat tentang hasil diskusi dan presentasi yang sudah dibuat masing-masing kelompok 2. Guru memberikan kesimpulan tentang pelajaran hari ini 3. Siswa diberikan tugas individu untuk dikerjakan di rumah 4. Guru menjelaskan secara singkat tentang materi yang akan dipelajari selanjutnya yaitu struktur algoritma percabangan 5. Guru dan peserta didik membaca doa penutup
7 menit
G. Penilaian, Pembelajaran Remedial, dan Pengayaan
1. Teknik Penilaian : a. Pengetahuan
: Tes Tertulis (Uraian)
2. Instrumen Penilaian dan pedoman penskoran (Terlampir) 3. Pembelajaran Remedial dan Pengayaan a. Pembelajaran Remedial Berdasarkan hasil analisis penilaian, bagi peserta didik yang belum mencapai ketuntasan belajar diberikan kegiatan pembelajaran dengan bentuk remedial misalnya: a) Pembelajaran ulang b) Bimbingan perorangan c) Pemanfaatan tutor sebaya, dll. b. Pembelajaran Pengayaan Berdasarkan hasil analisis penilaian, bagi peserta didik yang sudah mencapai ketuntasan belajar diberikan kegiatan pembelajaran dengan bentuk pengayaan yaitu tugas berupa proyek (mengimplementasikan pseudocode ke dalam aplikasi) pembuatan satu program untuk menghitung luas segitiga sesuai inputan dengan menggunakan aplikasi Borland C++.
H. Media/alat, Bahan, dan Sumber Belajar
1. Media : Power Point, E-book 2. Alat : Laptop, LCD Proyektor, Papan Tulis 3. Sumber Belajar :
Bahan Ajar Algoritma dan Pemrograman
Modul Pembelajaran E-book Bahasa Pemrograman untuk Sekolah Menengah Kejuruan (Direktorat Pembinaan Sekolah Menengah Kejuruan, Tahun 2008)
LAMPIRAN RPP
Tugas Kelompok 1. Buatlah kelompok yang masing-masing terdiri dari 3-4 anggota kelompok! 2. Gambar flowchart untuk menghitung luas bangun datar : a. Persegi panjang b. Lingkaran 3. Buatlah hasil dari flowchart di atas ke dalam power point untuk dipresentasikan!
Langkah kerja :
1. Persiapkan tiga bagian utama flowchart yang akan menjadi jantung atas percabangan flowchart. Tiga bagian itu adalah bagian input, bagian proses, erta bagian output. 2. Buat gambar simbol pada lembar pembuatan flowchart sebagai bagian untuk tempat mengisi penjelasan. 3. Sesuaikan posisi simbol-simbol tersebut dengan tiga bagian utama flowchart yang telah ditentukan sebagai input, proses, dan output. 4. Hubungkan simbol-simbol yang telah dibuat dengan konektor garis berpanah. Lakukan secara cermat, jangan salah menggambarkan arah panah. 5. Berikan keterangan dalam setiap simbol, dan jika diperlukan untuk membuat percabangan dari diagram arus atas tiga bagian utama yang telah ada, maka lakukan dengan cara yang sama, yaitu dengan membuat gambar simbol pada bagian yang diperlukan (simbol usahakan berbeda dari simbol utama). 6. Koneksikan simbol-simbol yang baru Anda buat dengan bagian utama flowchart tersebut dengan konektor berpanah, sesuaikan arah panahnya, dan beri keterangan dengan singkat dan jelas. 7. Lakukan hingga semua bagian yang diperlukan selesai digambar dalam bentuk diagram di atas kertas.
Tugas Individu 1. Penilaian Pengetahuan
a. Teknik
: Tes tertulis
b. Instrumen
: Soal uraian
A. Tabel Kisi-Kisi Soal Soal
Indikator Pencapaian Kompetensi (IPK)
3.1.1. Menjelaskan
konsep
Ranah Kognitif C1
C2
dan No. 1
No. 2
struktur algoritma
C6
algoritma No. 6
1
3.1.3. Menyimpulkan definisi dari No. 3 tipe
C5
3
bahasa natural
variabel,
C4
No. 10 3.1.2. Mendefinisikan
C3
Jumlah
data
dan
No. 8
2
operator 3.1.4. Membedakan
antara No. 5
1
pseudocode dan flowchart 4.1.1. Menggambarkan
flowchart No. 4
dengan menggunakan tool-
1
tool di dalamnya
4.1.2. Menerapkan algoritma ke No. 7 dalam aplikasi komputer Jumlah
No. 9 3
4
3
2 10 Soal
B. Soal
1.
Apa definisi algoritma menurut pendapat anda? Berikan contohnya dalam kehidupan sehari-hari !
2.
Berikan contoh kasus algoritma yang memiliki struktur percabangan !
3.
Sebutkan aturan dalam pemberian nama variabel !
4.
Sebutkan dan jelaskan min. 5 tool pada flowchart dan jelaskan fungsinya !
5.
Buatlah 1 contoh penulisan algoritma dalam bentuk Pseudocode dan Flowchart pada permasalahan tertentu !
6.
Apa yang anda ketahui tentang bahasa natural? Jelaskan dan berikan contohnya!
7.
Bagaimana langkah-langkah yang dilakukan dalam menyelesaikan masalah dalam pemrograman ke dalam aplikasi komputer?
8.
Apa saja tipe data yang sering digunakan dalam pemrograman? Sebutkan dan jelaskan!
9.
Tuliskan source code untuk menghitung luas bujur sangkar dengan lengkap dan benar!
10. Hitunglah penjumlahan dua buah bilangan bulat
ke dalam struktur
algoritma pemrograman! Identifikasikan satu persatu secara detail!
C. Kunci Jawaban :
1. “Algoritma adalah urutan langkah-langkah logis penyelesaian masala h yang disusun secara
sistematis dan logis”. Kata logis merupakan kata kunci
dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu. Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma tersebut
bukanlah
algoritma
yang
baik.
Contoh dalam kehidupan sehari-hari : Algoritma mendapatkan minyak dengan volume 4 liter.
Isi penuh ember 3 liter dengan minyak. {ember 3 liter berisi minyak 3 liter}
Tuangkan minyak dari ember 3 liter ke dalam ember 5 liter. {ember 5 liter berisi minyak 3 liter}.
Isi penuh ember 3 liter dengan minyak. {ember 3 liter berisi minyak 3 liter}
Tuang minyak dari ember 3 liter ke ember 5 liter hingga ember 5 liter penuh. {di dalam ember 3 liter sekarang berisi minyak sebanyak 1 liter}
Kembalikan minyak dari ember 5 liter ke dalam drumnya. {ember 5 liter kosong}
Tuangkan minyak dari ember 3 liter ke ember 5 liter. {ember 3 liter kosong, ember 5 liter berisi minyak 1 liter}
Isi penuh ember 3 liter dengan minyak, lalu tuang ke dalam ember 5 liter. Maka akan diperoleh minyak sebanyak 4 liter {1 + 3 = 4 liter minyak }.
2. Dalam suatu perhitungan, nilai P = X + Y. Jika P positif, maka Q = X * Y, sedangkan jika negative maka nilai Q = X/Y. Buatlah flowchart untuk mencari nilai P dan Q.
Penyelesaian: Pada contoh ini input yang dibutuhkan adalah nilai X dan Y, sedangkan proses pemeriksaan kondisi dilakukan pada nilai P apakah positif (termasuk 0) ataukah negative. Perhatikan flowchart penyelesaian masalah pada gambar 5.10. 3. Aturan pemberian nama variabel : a. Nama variabel harus diawali dengan huruf atau underscore “_” dan tidak boleh diawali dengan angka. b. Nama
variabel
boleh
terdiri
dari
karakter alpha-
numeric dan underscore (a-Z, 0-9, dan _). c. Tidak mengandung spasi ( spaces). Jika nama variabel lebih dari satu kata, dipisahkan dengan underscore atau dengan huruf kapital pada kata kedua. 4.
Flow Direction symbol
Yaitu simbol yang digunakan untuk menghubungkan antara simbol yang satu dengan simbol yang lain. Simbol ini disebut juga connecting line. Connector Symbol
Yaitu simbol untuk keluar – masuk atau penyambungan proses pada lembar / halaman yang berbeda.
Connector Symbol
Yaitu simbol untuk keluar – masuk atau penyambungan proses dalam lembar / halaman yang sama.
Processing Symbol
Simbol yang menunjukkan pengolahan yang dilakukan oleh komputer
Simbol Decision
Simbol pemilihan proses berdasarkan kondisi yang ada.
5. Flowchart dan Pseudocode
6. Bahasa Natural (Natural Programming Language) merupakan cara penyajian suatu algoritma yang paling sederhana dan paling mudah untuk dimengerti. Bahasa natural adalah salah satu cara penulisan algoritma yang paling sederhana. Algoritma ditulis dengan bahasa yang kita gunakan sehari-hari (bahasa indonesia). Tidak ada aturan yang pasti dalam penulisan algoritma dengan bahasa natural, namun penulisannya tetap disesuaikan dengan kaidah bahasa yang baku. Contoh penulisan bahasa natural untuk menghitung luas persegi panjang. 1. Inisialisasi 2. Masukan nilai panjang, lebar dan tinggi ke dalam sebuah variabel, misalkan saja p,l,t 3. Menyiapkan variabel luas dengan rumus p*l*t; 4. Menghitung nilai luas=p*l*t; 5. Cetak luas persegi panjang 6. Selesai. 7. Langkah-langkah yang dilakukan dalam menyelesaikan masalah dalam pemrograman dengan komputer adalah :
Definisikan Masalah
Buat Algoritma dan Struktur Cara Penyelesaian
Menulis Program
Mencari Kesalahan
Uji dan Verifikasi Program
Dokumentasi Program
Pemeliharaan Program
8.Tipe Data yang sering digunakan dalam pemrograman : a. Integer ( Bilangan Bulat ) Yang dimaksud bilangan bulat adalah, -1, -2, -3, 0, 1, 2, 3, 4 dan lain lain yang bukan merupakan bilangan pecahan, rumus dalam komputer adalah -2n-1 <= N < 2n-1-1 b. Real ( Bilangan Pecahan ) Bilangan real adalah bilangan yang mengandung pecahan desimal. contoh : 3,45 8,233 c. Char ( Karakter ) Karakter adalah semua huruf yang ada di dalam alfabet , tanda baca maupun karakter spesial. Karakter ditulis diantara dua tanda petik tunggal. contoh : 'A' d. String String adalah deretan karakter dengan panjang tertentu. Contoh : 'Teknik Informatika'. e. Boolean ( logika ) Boolean adalah tipe data logika yang terdiri dari dua pernyataan benar atau salah. pernyataan benar biasanya ditulis True atau angka 1, sedangkan pernyataan salah ditulis dengan False atau angka 0. Operasi yang umum digunakan adalah or, not, and. 9.Source code menghitung luas bujur sangkar #include #include #include /*program luas bujursangkar */ main() {
float s1,s2; float luas; printf("PROGRAM HITUNG LUAS BUJUR SANGKAR \n"); cout<<"=================================="<>s1; cout<<" sisi bujur sangkar 2 = ";cin>>s2; luas=(s1*s2); /* berikan format pada tipe data float jika terlalu panjang angka di belakang koma*/ cout<<" luas bujur sangkar = "<
: penjumlahan_dua_bilangan_bulat
Deklarasi
: A, B, C => integer
Algoritma
: write (‘masukkan bilangan A :’) Read (A) Write (‘masukkan bilangan B :’) Read (B) C A+B Write (‘Hasil penjumlahan bilangan A dan B adalah :’, C)
Berikut hasil output /tampilan dalam komputer dari source code di atas : Masukkan bilangan A : _2 Masukkan bilangan B : _3 Hasil penjumlahan bilangan A dan B adalah : _5
D. Rubrik Penilaian Soal Essay
Soal no 1
Jika peserta didik dapat menjelaskan definisi algoritma Skor 10 dengan bahasanya sendiri secara jelas dan memberikan contohnya beserta alur algoritmanya Jika peserta didik dapat menjelaskan definisi algoritma Skor 7 dengan bahasanya sendiri secara jelas tapi contohnya tidak disertai alur algoritmanya Jika peserta didik dapat menjelaskan definisi algoritma Skor 5 dengan bahasanya sendiri secara singkat dan tidak disertai contohnya Jika peserta didik dapat menjelaskan definisi algoritma Skor 2 bukan dengan bahasanya sendiri dan tanpa disertai contohnya
Soal no 2
Jika peserta didik dapat memberikan contoh kasus Skor 10 algoritma
struktur
penyelesaiannya secara
percabangan
dengan
benar dan jelas disertai
flowchart Jika peserta didik dapat memberikan contoh kasus algoritma
struktur
percabangan
Skor 7
dengan
penyelesaiannya secara benar dan jelas tanpa flowchart Jika peserta didik dapat memberikan contoh kasus algoritma
struktur
percabangan
Skor 5
dengan
penyelesaiannya secara benar tanpa flowchart Jika peserta didik dapat memberikan contoh kasus
Skor 2
algoritma struktur percabangan tetapi penyelesaiannya salah dan tanpa flowchart Soal no 3
Jika peserta didik dapat menyebutkan 3 aturan Skor 10 pemberian nama variabel dengan benar Jika peserta didik dapat menyebutkan 2 aturan Skor 7 pemberian nama variabel dengan benar
Jika peserta didik dapat menyebutkan 1 aturan Skor 5 pemberian nama variabel dengan benar Jika peserta didik hanya dapat menyebutkan aturan Skor 2 pemberian nama variabel tapi salah Soal no 4
Jika peserta didik dapat menyebutkan lebih dari 5 tool
Skor 10
flowchart beserta fungsinya Jika peserta didik dapat menyebutkan 5 tool flowchart
Skor 7
beserta fungsinya Jika peserta didik dapat menyebutkan kurang dari 5 tool
Skor 5
flowchart beserta fungsinya Jika peserta didik dapat menyebutkan 5 tool flowchart
Skor 2
tanpa fungsinya Soal no 5
Jika peserta didik dapat memberi contoh Flowchart dan Skor 10 Pseudocode dengan jelas, lengkap dan benar Jika peserta didik dapat memberi contoh Flowchart dan
Skor 7
Pseudocode jelas dan benar Jika peserta didik dapat memberi contoh Flowchart dan
Skor 5
Pseudocode dengan benar Jika peserta didik dapat memberi contoh Flowchart dan
Skor 2
Pseudocode tidak jelas dan salah Soal no 6
Jika peserta didik dapat menjelaskan definisi bahasa Skor 10 natural dengan bahasanya sendiri secara jelas dan memberikan contohnya dengan lengkap dan detail Jika peserta didik dapat menjelaskan definisi bahasa
Skor 7
natural dengan bahasanya sendiri dan memberikan contohnya tapi tidak dijelaskan dengan lengkap dan detail Jika peserta didik dapat menjelaskan definisi bahasa natural dengan bahasanya sendiri tanpa disertai contoh
Skor 5
Jika peserta didik dapat menjelaskan definisi bahasa Skor 2 natural tidak dengan bahasanya sendiri dan tidak disertai contohnya Soal no 7
Jika peserta didik menyebutkan langkah-langkah yang dilakukan
dalam
menyelesaikan
masalah
Skor 10
dalam
pemrograman dengan komputer secara lengkap (7 langkah) Jika peserta didik menyebutkan langkah-langkah yang dilakukan
dalam
menyelesaikan
masalah
Skor 7
dalam
pemrograman dengan komputer secara lengkap (5-6 langkah) Jika peserta didik menyebutkan langkah-langkah yang dilakukan
dalam
menyelesaikan
masalah
Skor 5
dalam
pemrograman dengan komputer secara lengkap (3-4 langkah) Jika peserta didik menyebutkan langkah-langkah yang dilakukan
dalam
menyelesaikan
masalah
Skor 2
dalam
pemrograman dengan komputer secara lengkap (2 langkah) Soal no 8
Jika peserta didik menyebutkan 5 tipe data yang sering
Skor 10
digunakan dalam pemrograman disertai penjelasan masing-masing Jika peserta didik menyebutkan 3-4 tipe data yang sering
digunakan
dalam
pemrograman
Skor 7
disertai
penjelasan masing-masing Jika peserta didik menyebutkan 2 tipe data yang sering digunakan dalam pemrograman disertai penjelasan masing-masing
Skor 5
Jika peserta didik menyebutkan tipe data yang sering digunakan
dalam
pemrograman
tanpa
Skor 2
disertai
penjelasan Soal no 9
Jika peserta didik menulis source code luas bujur Skor 10 sangkar dengan lengkap, jelas dan benar Jika peserta didik menulis source code luas bujur
Skor 7
sangkar dengan benar tapi kurang lengkap Jika peserta didik menulis source code luas bujur
Skor 2
sangkar tetapi salah Soal no 10
Jika peserta didik menuliskan program penjumlahan Skor 10 dua buah bilangan bulat dengan benar disertai identifikasinya satu persatu secara detail Jika peserta didik menuliskan program penjumlahan
Skor 7
dua buah bilangan bulat dengan benar disertai identifikasinya tetapi tidak satu persatu secara detail Jika peserta didik menuliskan program penjumlahan dua buah bilangan bulat dengan tanpa disertai identifikasinya
Skor 2
E. Kriteria Penilaian
1. Setiap butir soal memiliki rentang skor 2-10 2. Skor maksimal (total skor apabila semua jawaban benar = 100) Catatan: Besar skor ditentukan oleh tiap guru mata pelajaran berdasarkan jenjang pengetahuan yang diukur (C1-C6) dan tingkat kesulitan soal. 3. Nilai Peserta didik menggunakan rumus: Nilai peserta didik
Mengetahui Kepala Sekolah
Dr. Meini Sondang S, M.Pd NIP.
Skor yang diperoleh peserta didik Skor Maksimal
100
Surabaya, November 2016 Guru Mata Pelajaran
Nurul Kholifah NIP.