TUGAS PEDAGOGIK
MODUL 5 KEGIATAN BELAJAR 4
PERENCANAAN PEMBELAJARAN
NO PESERTA
: 18050252310302 18050252310302
NAMA
: ABINURDIAN
KELAS
: UM 253 C
PROGRAM PPG DALAM JABATAN UNIVERSITAS NEGERI MALANG TAHUN 2018 1
1. Perbandingan RPP Tahun 2016 dengan RPP revisi 2017 A. RPP sesuai Permendikbud No.22 Tahun 2016 (RPP1) No. 1.
2.
3.
Komponen RPP Identitas sekolah yaitu nama satuan pendidikan Identitas mata pelajaran atau atau tema/subtema Tujuan Pembelajaran
4. 5.
Kompetensi Dasar Indikator pencapaian pencapaian kompetensi
6.
Materi
7.
Model/Metode pembelajaran pembelajaran
8.
Media Pembelajaran Pembelajaran
9.
Sumber Belajar
10.
Langkah-langkah kegiatan pembelajaran pembelajaran Penilaian
11.
Analisis Identitas sekolah berisi nama satuan pendidikan
Identitas mata pelajaran sudah tercantum dan dilengkapi kelas/semester, kelas/semester, materi pokok, dan alokasi waktu Tujuan pembelajaran sudah dibuat sesuai komponen ABCD Kompetensi dasar sudah tercantum Indikator pencapaian kompetensi sesuai dengan KD dan dirumuskan dengan menggunakan kata kerja operasional yang dapat diamati dan/atau diukur dan mencakup (kognitif), sikap (afektif) dan keterampilan keterampilan (psikomotor); Materi pembelajaran secara lengkap dalam bentuk Lembar Kerja Peserta Didik sudah dilampirkan Metode pembelajaran sudah dicantumkan namun tidak disebutkan model pembelajarn apa yang digunakan Penulisan media belajar belum spesifik dan urutan penyusunan tidak tidak sesuai yang yang disebutkan pada pada Permendikbud Permendikbud No. 22 tahun 2016 Sumber belajar sudah tercantum namun urutan penyusunan tidak tidak sesuai yang yang disebutkan pada pada Permendikbud Permendikbud No. 22 tahun 2016 Paada kegiatan inti belu terlihat sintak yang jelas dari model pembelajarn yang digunakan Penilaian sudah spesifik dan disertai instrumen tes
B. RPP revisi 2017 yang ada pada contoh (RPP ( RPP 2) No. 1.
Komponen RPP RPP Identitas sekolah yaitu nama satuan pendidikan
Analisis Identitas sekolah sudah tercantum
2
2.
3.
Identitas mata pelajaran atau tema/subtema Kompetensi Inti
4. 5.
Kompetensi Dasar Indikator pencapaian pencapaian kompetensi
6.
Tujuan Pembelajaran
7.
Materi
8.
12.
Model/Metode pembelajaran pembelajaran Media Pembelajaran Pembelajaran Sumber Belajar Langkah-langkah kegiatan pembelajaran pembelajaran Penilaian
13.
Lampiran
9. 10. 11.
Identitas mata pelajaran sudah tercantum dan dilengkapi kelas/semester, kelas/semester, materi pokok, dan alokasi waktu Kompetensi Inti (sikap, spiritual, spiri tual, pengetahuan, dan keterampilan) Kompetensi dasar sudah tercantum Indikator pencapaian kompetensi sesuai dengan KD dan dirumuskan dengan menggunakan kata kerja operasional yang dapat diamati dan/atau diukur dan mencakup (kognitif), sikap (afektif) dan keterampilan keterampilan (psikomotor); Tujuan pembelajaran sudah dibuat sesuai komponen ABCD Materi pembelajaran pembelajaran ditulis pointnya saja tanpa lampiran Metode dan model pembelajaran sudah dicantumkan Media belajar sudah ditulis secara spesifik Sumber belajar sudah tertulis Pada kegiatan kegiatan sudah terlihat sintak yang yang jelas dari model pembelajarn yang digunakan Penilaian sudah spesifik namun belum disertai lampiran instrumen tes Lampiran yang mendukung disertakan di akhir halaman
C. Kesimpulan Kedua RPP sudah memuat komponen RPP yang tercantum pada Permendikbud nomor 22 tahun 2016, namun pada RPP 1 tidak tercantum model pembelajaran yang digunakan dan pada langkah-langkah pembelajaran tidak terlihat sintak yang jelas pada kegiatan inti. Setelah dibandingkan, terlihat bahwa urutan komponen kompone n RPP dalam panduan penyusunan penyusun an RPP revisi 2017 berbeda dengan RPP menurut Permendikbud Perme ndikbud nomor 22 tahun 2016. Salah Sala h satu perbedaannya yaitu pada RPP 1 tujuan pembelajarannya dibuat lebih dahulu dibandingkan indikator pembelajaran. Sedangkan menurut revisi 2017,
tujuan
pembelajaran
dibuat
setelah
menentukan
indikator
pembelajaran. pembela jaran.
3
2. Rangkuman konten video panduan penyusunan RPP Versi 2017 Penyusunan RPP ditekankan pada keterkaitan dan keterpaduan KD, materi pembelajaran, kegiatan pembelajaran, indikator pencapaian, kompetensi, penilaian, dan sumber belajar dalam satu keutuhan pengalaman belajar. a. Identitas terdiri dari nama sekolah, mata pelajaran, kelas/semester, materi pokok dan alokasi waktu. b. Kompetensi Inti (KI) dikutip dari Permendikbud No. 21 Tahun 2016 mencakup sikap, sosial, pengetahuan, dan keterampilan. c. Kompetensi Dasar (KD) dikutip dari Permendikbud No. 24 Tahun 2016 yang merupakan kemampuan minimal yang harus dicapai oleh peserta didik. Indikator pencapaian kompetensi (IPK) dikembangkan dari KD dan menggunakan kata kerja operasional yang dapat di ukur. d. Tujuan pembelajaran dirumuskan berdasarkan KD dan menggunakan kata kerja operasional yang dapat diamati dan diukur, dituangkan dalam bentuk deskripsi dan memuat kompetensi yang hendak dicapai, memberikan gambaran operasional dan pencapaian hasil belajar. e. Materi memuat fakta, prinsip, dan prosedur yang ditulis dalam bentuk butir butir. f.
Metode pembelajaran yang digunakan sesuai dengan tujuan pembelajaran dan menerapkan pembelajaran aktif yang dapat meningkatkan kemampuan HOTS ( High High Order Thinking Skill ). ). Metode pembelajaran harus menggambarkan sintaks yang jelas.
g. Media pembelajaran merupakan alat bantu proses pembelajaran yang mendukung pencapaian kompetensi. Media pembelajaran yang digunakan hendaknya sesuai dengan karakteristik peserta didik. h. Sumber belajar dapat berupa buku, media cetak dan elektronik, ataupun alam sekitar. i.
Langkah-langkah pembelajaran melalui tahapan pembukaan, inti, dan penutup yang terintegrasi dengan kemampuan 4C. pembelajaran hendaknya interaktif, inspiratif, menyenangkan, menantang dan memotivasi peserta didik.
j.
Penilaian yang dilakukan harus sesuai dengan: (1) kompetensi yang diajarkan;
4
(2) kegiatan yang dilakukan dalam pembelajaran sesuai materi; (3) memuat soal dengan High dengan High Order Thinking Skill ; (4) lingkup penilaian sikap, pengetahuan, dan keterampilan. k. Teknik penilaian yang dapat digunakan: (1) Sikap, berbentuk observasi, jurnal, penilaian diri, penilaian antar teman (2) Pengetahuan, berbentuk tes tulis, tes lisan, penugasan (3) Keterampilan, berbentuk praktik, proyek, portofolio. l.
Lampiran berisi hal-hal yang mendukung misalnya uraian materi yang memang diperlukan, instrumen penilaian dilengkapi pedoman penskoran, dll.
3. RPP salah satu KD mata pelajaran yang saya ampu:
5
RENCANA PELAKSANAAN PEMBELAJARAN ( RPP )
Mata Pelajaran Kelas / Semester Pertemuan Alokasi Waktu Standar Kompetensi Karakter Bangsa yang diharapkan
A.
B.
: Pemrograman Dasar : X/1 : 5 - 10 : 12 x 45 Menit : Menerapkan Pemrograman Dasar : 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 berdasarkan rasa ingin tahunya tentang ilmu pengetahuan, pengetahuan, teknologi, seni, budaya, dan humaniora dengan wawasan kemanusiaan, kebangsaan, kenegaraan, kenegaraan, dan peradaban terkait fenomena dan kejadian, serta menerapkan 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. Kompetensi Dasar dan Indikator 1.6 Menerapkan 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 percabangan 2 kondisi a. Menggunakan Menggunakan struktur st ruktur kontrol percabangan percabangan b. Menggunakan Menggunakan percabangan dengan 1 kondisi c. Menggunakan Menggunakan percabangan dengan 2 kondisi C.
Tujuan Pembelajaran a. Dapat mengetahui defenisi percabangan percabangan b. Dapat mengetahui mengetahui fungsi dari percabangan percabangan 1 kondisi dengan 2 kondisi c. Dapat membuat sebuah program sederhana dengan menggunakan percabangan D. Materi Ajar a. Struktur kontrol percabangan percabangan b. Percabangan Percabangan 1 kondisi c. Percabangan 2 kondisi d. Percabangan Percabangan lebih dari 2 kondisi
6
E.
F.
Metode Pembelajaran 1. Penyampaian 2. Tanya jawab 3. Tes Program 4. Praktek Media pembelajaran dan Sumber Belajar 1. Media a. Power Point b. Internet
2. Alat/Bahan a. Laptop/Smartphone b. LCD Projecktor c. Whiteboard d. Spidol e.
G.
H.
Software
Sumber pembelajaran 1. Buku Algoritma dan Pemrograman Pemrograman Pascal 2. Internet 3. Modul produktif, Buku Algoritma dan pemograman tingkat Dasar. Langkah – Langkah – langkah langkah Pembelajaran Pertemuan 5 – 5 – 7 7 Kegiatan
Deskripsi
A. Pendahuluan
1. Siswa
B. Inti
menjawab sapaan guru, berdoa, dan mengondisikan diri siap belajar 2. Guru dan siswa bertanya jawab berkaitan dengan identitas diri yang dibutuhkan dibut uhkan sebagai warga negara yang baik. 3. Guru menyampaikan tujuan pembelajaran 4. Guru memotivasi siswa agar semakin giat belajar Mengamati : 1. 2. 3.
Siswa mengamati dan mendengarkan penjelasan tentang struktur kontrol percabangan. percabangan. Siswa mengamati dan mendengarkan penjelasan mengenai percabangan percabangan 1 kondisi. Siswa mengamati dan mendengarkan penjelasan mengenai percabangan percabangan 2 kondisi.
Alokasi Waktu
45 Menit
180 Menit
Menanya :
1. Siswa berdikusi menganalisa menganalisa tentang percabangan. 2. Siswa berdikusi menganalisa tentang percabangan 1 kondisi.
7
3. Siswa berdikusi menganalisa tentang percabangan 2 kondisi.
Mengeksplorasi:
1. Siswa membuat kode program menggunakan percabangan percabangan 1 kondisi, 2 kondisi, kondisi, lebih lebih dari dari 2 kondisi dan percabangan percabangan bersarang. bersarang. 2. Siswa melakukan kompilasi, eksekusi dan perbaikan pada kesalahan-kesalah kesalahan-kesalahan an yang terdapat terdapat dalam program.
Mengasosiasi:
1. Siswa membuat sebuah kesimpulan tentang penggunaan percabangan 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 pembelajaran yang telah dicapai. dicapai.
45 Menit
Pertemuan 8 – 8 – 10 10 Kegiatan
Deskripsi
A. Pendahuluan
1.
B. Inti
Siswa menjawab sapaan guru, berdoa, dan mengondisikan diri siap belajar Guru dan siswa bertanya jawab berkaitan dengan 2. identitas diri yang dibutuhkan sebagai warga negara yang baik. Guru menyampaikan tujuan pembelajaran 3. 4. Guru memotivasi siswa agar semakin giat belajar Mengamati : 4. 5. 6.
Siswa mengamati dan mendengarkan penjelasan tentang struktur kontrol percabangan. percabangan. Siswa mengamati dan mendengarkan penjelasan mengenai percabangan percabangan 1 kondisi. Siswa mengamati dan mendengarkan penjelasan mengenai percabangan percabangan 2 kondisi.
Alokasi Waktu
45 Menit
180 Menit
8
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 percabangan 1 kondisi, 2 kondisi, lebih dari 2 kondisi dan percabangan bersarang. 2. Siswa melakukan kompilasi, eksekusi dan perbaikan pada kesalahan-kesalah kesalahan-kesalahan an yang terdapat terdapat dalam program.
Mengasosiasi:
1. Siswa membuat sebuah kesimpulan tentang penggunaan percabangan percabangan 1 kondisi, 2 kondisi, lebih dari 2 kondisi dan percabangan bersarang.
Mengkomunikasikan: 1. Siswa membuat sebuah laporan dan mempresentasikan
C. Penutup
I.
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 pembelajaran yang telah dicapai. dicapai.
Penilaian 1. Teknik penilaian 2. Bentuk Instrumen dan Instumrn a. Bentuk Instrumen b. Instrumen 3. Pedoman Peskroan
45 Menit
: Test tertulis : : :
Tes Uraian Terlampir Terlampir
Mengetahui ;
Sidoarjo, Juli 2018
Kepala SMA Negeri 1 Sidoarjo
Guru Mata Pelajaran
Drs. Sulaiman Suwarto,M.Pd. NIP. 19581005 198603 1 021
Abinurdian,M.Kom NIP. 19771108 200801 1 009
9
Lampiran 1 BAHAN AJAR Kompetensi
:
Bahan Ajar
Satuan Pendidikan
:
SMA Negeri 1 Sidoarjo
Kelas/Semester
:
X/I
Mata Pelajaran
:
Pemrograman Dasar
Pertemuan ke
:
5 - 10
Alokasi waktu
:
12 x 45
A.
B.
Kompetensi Dasar a. Menerapkan Struktur kontrol percabangan dalam bahasa pemrograman Indikator 1. Membuat Struktur kontrol percabangan, 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 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 permasalahan dalam waktu yang singkat singkat memiliki tingkat kerumitan yang rendah, sementara sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan suatu masalah membutuhkan tingkat kerumitan yang tinggi.
Perhatikan algoritma sederhana berikut:
10
Mulai 2. Baca data alas dan tinggi. 3. Luas adalah alas kali tinggi kali 0.5 4. Tampilkan Luas 5. Stop
K eter ter angan : 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 pelaksanaan program meloncat ke baris tertentu. Peristiwa ini kadang disebut sebagai percabangan/pemilihan percabangan/pemilihan atau keputusan. Hal ini seperti halnya ketika mobil berada dalam persimpangan persimpangan seperti pada 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. kebenarannya. Nilai hasil pengujian akan akan menentukan menentukan cabang mana mana yang akan akan ditempuh. Contoh 5.15. Struktur percabangan 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.
11
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 siswa bernama “Rudi”. “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 (linear search). search). Pada masa masa lalu cara cara ini dianggap dianggap tidak efisien efisien karena karena membutuhkan membutuhkan waktu lama. Namun dengan perkembangan komputer yang sangat cepat, waktu eksekusi algoritma ini tidak terlalu dipermasalahkan. dipermasalahkan. Cara ini dilakukan dengan cara membandingkan 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.
D eklar klar asi Ar A r r ay 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 ] 12
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 integer
Nama : Array [ ‘A’..’Z’] of string
2. Bentuk Kedua sebagai tipe baru Deklarasi Type Nilai
: Array [ 1..100 ] of 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 1..max ] of real
13
Var X
: Nilai
X
: Array [1..100 ] of real
Atau
PERTEMUAN 7 PERCABANGAN 1 KONDISI
P engg ng g unaan unaan La L ar i k deng dengan an per per caba cabang ngan an 1 kondi kondi si 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 keke-’,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. 14
Jika Program ini dijalankan maka hasilnya Sebagai berikut :
Ma M asukkan sukkan N (ma (mak 100 100)) : ket keti kkan 5 Ma M asukkan sukkan suku suku ke-1 ke-1 = 10 Ma M asukkan sukkan suku suku ke-2 ke-2 = 15 Ma M asukkan sukkan suku suku ke-3 ke-3 = 20 Ma M asukkan sukkan suku suku ke-4 ke-4 = 25 Ma M asukkan sukkan suku suku ke-5 ke-5 = 30 Hasilnya :
X[1] X[ 1] = 30 X[2] X[ 2] = 30 X[3] X[ 3] = 30 X[4] X[ 4] = 30 X[5] 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 keke-’,i, ’= ’); Readln(x [ i ]); End; End; Procedure Keluaran Keluaran (cetak : latih; n : integer); Begin For i := 1 to n do
15
Write (’x [‘,I,’ [‘,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 :
Ma M asukkan sukkan N (ma (mak 100 100)) : ket keti kkan 5 Ma M asukkan sukkan suku suku ke-1 ke-1 = 10 Ma M asukkan sukkan suku suku ke-2 ke-2 = 15 Ma M asukkan sukkan suku suku ke-3 ke-3 = 20 Ma M asukkan sukkan suku suku ke-4 ke-4 = 25 Ma M asukkan sukkan suku suku ke-5 ke-5 = 30 Hasilnya :
X[1] X[ 1] =10 =10 X[2] X[ 2] = 15 X[3] X[ 3] = 20 X[4] X[ 4] = 25 X[5] X[ 5] = 30
PERTEMUAN 7
L ari k 2 Di mensi nsi Misalkkan Matrik C ukuran 3x4 yang merupakan hasil penjumlahan dari Matrik A ukuran 3x4 dan Matrik B ukuran 3x4.
a b c d m n o p A e f g h dan B q r s t u v w x i j k l
16
a m b n c o d p C e q f r g s h t i u j v k w l x
Maka algoritma dari permasalahan tersebut dapat dituliskan :
Deklarasi Type larik : Array [1..Indeks, 1..indeks2] 1..indeks2] of integer X
: Larik
N
: Integer
Procedure Input_ArrayA(output Input_ArrayA(output x : Larik; Input M,N : i nteger); 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 Input_ArrayB(output x : Larik; Input M,N : integer); Deklarasi
I,j
: integer
Deskripsi
For I := 1 to m do For J := 1 to n do Read ( B[I,j]) End for
17
Endfor Procedure Jumlah_Array(Input 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 InputA(var x : latih; m,n : integer); Begin
18
For I := 1 to m do Begin For J := 1 to n do Begin Write(‘Masukkan 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 Write(‘Masukkan suku B[‘,I,’] = ‘); Raedln(B[I,j](; End; End; End; Procedure Keluaran(var Keluaran(var x : latih; m,n : integer); Begin For I := 1 to m do Begin For J := 1 to n do Begin
19
C[I,j]:=A[I,j]+ B[I,j] Writeln(‘C[‘,I,’]=’, Writeln(‘C[‘,I,’]=’, C[I,j]); End; End; End; Begin Write(‘Masukkan m (mak 10) :’); Readln(m); Write(‘Masukkan Write(‘Masukkan n (mak ( 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 antara lain bubble bubble sort, selection selection sort, shell shell sort, quick sort, dan lain-lain. lain-lain. Pada buku 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.
20
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 (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”,
, “nama file data” Write , field 1, field 2, .. field n Close buffer number Modus O menunjukkan file ini dibuka untuk ditulisi. Contoh 5.25. Contoh Penerapan algoritma algoritma penulisan penulisan data.Misalkan data.Misalkan kita punya file data dengan nama “siswa.dat” yang field-nya field -nya adalah nama siswa, alamat, nomor telepon. Maka untuk menuliskan data adalah sebagai berikut : Open “O”, #1, “siswa.dat” Write #1, , , Close #1 Notasi #1 menunjukkan menunjukkan siswa.dat siswa.dat akan ditempatkan ditempatkan dalam buffer no 1. Notasi ini harus sama sama digunakan 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 menempatka menempatkan n pada buffer no no #2.
Algoritma Pembacaan Data pada File
Algoritma Algorit ma membaca data algoritmanya hampir sama dengan menuliskan data, tetapi modus yang digunakan digunakan tidak O tetapi I. I adalah input yang berarti berarti file data dibuka untuk dibaca datanya sebagai input.
21
Berikut ini algoritmanya dalam SE. Open “modus”, , “nama file data” While not EOF: Input , 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 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, , , , Print , , End while Close buffer number
C ontoh dalam dalam bahasa bahasa pe pemr mrogr ogr aman aman dasar 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 keke-’,i,’=’); Readln(x); 22
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 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; pernyataan;
atau
if (kondisi) { statemen1; statemen2; …
23
} Contoh:
if (detik == 60) menit = menit + 1; if (Angka %2 == 0) cout<<”Bilangan 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 int main() { int nilai; //memasukkan //memasukkan bilangan bulat cout<<”Masukkan cout<<”Masukkan sebuah bilangan bulat: “; cin>>nilai; //menampilkan //menampilkan teks jika nilai ni lai yang tersimpan lebih besar dari 0 if (nilai > 0) cout<<“Nilai cout<<“Nilai yang Anda masukkan adalah bilangan positif“; return 0; }
24
Hasil eksekusi program di atas bersifat dinamis artinya tidak setiap proses eksekusi program akan menghasilkan menghasilkan hasil hasil yang sama. Jika user memasukkan memasukkan angka angka lebih besar besar dari 0 maka program ini akan menampilkan teks “Nilai yang Anda masukkan adalah bilangan positif”. Selain itu kita juga 25omp nenggunakan operator || dan && dalam menentukan sebuah ekspresi. Contoh program: #include int main() { int bilangan; char huruf; //memasukkan //memasukkan bilangan bulat cout<<”Masukkan cout<<”Masukkan sebuah bilangan bulat: “; cin>>bilangan; if ((bilangan > 0) && (bilangan < 10)) cout<>huruf; if ((huruf == ‘A’) || (huruf == ‘a’) || (huruf == ‘I’) || (huruf == ‘i’) || (huruf == ‘U’) || (huruf == ‘u’) || (huruf == ‘E’) || (huruf == ‘e’) || (huruf == ‘O’) || (huruf == ‘o’)) { cout<
25
PERTEMUAN 10 Penggunaan If Majemuk Struktur dua kondisi (perintah if – if – else) 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 26omputer2626e dari dua kemungkinan.
Bentuk umum: if (kondisi) { statement_jika_kondisi_terpenuhi; } else { statement_jika_kondisi_tidak_terpenuhi; }
Contoh: #include int main() { int nilai; //memasukkan //memasukkan bilangan bulat cout<<”Masukkan cout<<”Masukkan sebuah bilangan bulat: “; cin>>nilai; //pengecek bilangan apakah habis dibagi dua atau tidak
26
if (nilai %2 == 0) { cout<
Contoh program: #include int main() { int nilai; //memasukkan //memasukkan bilangan bulat cout<<”Masukkan cout<<”Masukkan sebuah bilangan yang akan diperiksa: “; cin>>nilai; //pengecek bilangan apakah habis dibagi dua atau tidak if (nilai > 0) { cout<
27
} else { cout<<“Anda memasukkan bilangan NOL“; } return 0; }
C ontoh ntoh Pr ogr am : 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 InputA(var x : latih; m,n : integer); Begin For I := 1 to m do Begin For J := 1 to n do Begin Write(‘Masukkan Write(‘Masukkan suku A[‘,I,’] = ‘); Raedln(A[I,j](; End; End; End;
28
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 Write(‘Masukkan suku B[‘,I,’] = ‘); Raedln(B[I,j](; End; End; End; Procedure Keluaran(var 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,’]=’, Writeln(‘C[‘,I,’]=’, C[I,j]); End; End; End; Begin Write(‘Masukkan m (mak 10) :’); Readln(m); Write(‘Masukkan Write(‘Masukkan n (mak 10) :’); Readln(n);
29
InputA(a,m,n); InputB(a,m,n); Writeln; Writeln; Keluaran(c,m,n); Readln; End.
30