Manurung, S.Kom. Friskha L. Manurung, S.Kom

B. Inti Mengamati 1. Siswa mengamati dan mendengarkan penjelasan tentang penggunaan Array larik dalam sebuah pemrograman.

2. 3. Menanya

1. Siswa berdikusi menganalisa tentang penggunaan array. 2. Siswa berdiskusi menganalisa penjelasan tentang fungsi- fungsi array larik Menalar 1. Siswa mencari contoh lain dari penggunaan array. Mengomunikasikan 1. Siswa secara berkelompok mempraktekkan penggunaan array dalam sebuah program 120 Menit 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. Friskha L. Manurung, S.Kom

Mengetahui ; Kepala SMK Swasta Teladan Pematangsiantar, SUDARLIAN, S.Pd.,M.Si. Lampiran 1 BAHAN AJAR Kompetensi : Bahan Ajar Satuan Pendidikan : SMK Swasta Teladan KelasSemster : XII 30 Menit Mata Pelajaran : Algoritma dan Bahasa Pemrograman Pascal Pertemuan ke : 6 – 10 Alokasi waktu : 10 x 45 1. Kompetensi Dasar a. Menggunakan array multi dimensi 2. Indikator a. Membuat operasi array larik Pertemuan 6 : Pendeklarasian Array Multi Dimensi Berdimensi Banyak Cara pendeklarasian array multi dimensi mirip dengan cara array 1 dimensi. Hanya terdapat penambahan tanda kurung siku “[“ dan “]” untuk menunjukan jumlah maksimum data yang dapat ditampung oleh variabel array tersebut. Pada CC++, untuk mendeklarasikan variable array multi dimensi kita dapat menuliskannya sebagai berikut : Tipe_Data Nama_Array[Jumlah_Elemen1] ]...[Jumlah_Elemen n]; Contoh : int Array[10][5]; deklarasi array 2 dimensi double Jumlah[7][1][3]; deklarasi array 3 dimensi float Total[5][6][1][2]; deklarasi array 4 dimensi, dst… Materi Kuliah Pemrograman Terstruktur I IF - UTAMA VersiRevisi : 10 Halaman : VIII-3 Array dua dimensi dapat kita gambarkan sebagai berikut : 0 1 … n Index kolom 1 … n Index baris Elemen Array Gambar 8.1. Array Dua Dimensi Array berdimensi banyak pada kenyataannya jarang dipergunakan dalam aplikasi. Array berdimensi banyak yang sering digunakan adalah array dengan 2 dimensi atau lebih dikenal dengan nama Matriks. Cara Pendeklarasian Array Tak Berukuran Kita bisa menentukan ukuran atau jumlah elemen dalam array dengan suatu nilai tertentu seperti contoh deklarasi array pada sub bab 8.2 dan ukuran ini sifatnya konstan atau tidak akan berubah. Namun ada kalanya kita tidak mengetahui jumlah elemen maksimum atau dengan kata lain jumlah elemen dalam array sifatnya tidak konstan atau dinamis, untuk keperluan inilah adlam bahasa CC++ kita bisa mendefinisikan suatu array tanpa mencantumkan berapa ukuran atau jumlah elemen maksimal ya g bisa disimpan dalam array tersebut. Pada CC++, untuk mendeklarasikan variable array tak berukuran kita dapat menuliskannya sebagai berikut : Tipe_Data Nama_Array[ ][ ]...[ ]; Contoh : int Array[ ]; deklarasi array 1 dimensi tak berukuran char Angka[ ][ ]; deklarasi array 2 dimensi tak berukuran float Total[ ][ ]...[ ]; deklarasi array dimensi tertentu dan tak berukurant program untuk menghasilkan matriks identitas Materi Kuliah Pemrograman Terstruktur I IF - UTAMA VersiRevisi : 10 Halaman : VIII-6 includestdio.h includeconio.h int main { int MaxBaris,MaxKolom; int idxBaris;indeks baris, sebagai penunjuk nomor baris dalam array int idxKolom; indeks kolom, sebagai penunjuk nomor kolom dalam array proses input jumlah maksimum elemen pada Matriks_Identitas printfMasukan Ukuran Baris Kolom Matriks_Identitas : ;scanfd,MaxBaris; MaxKolom=MaxBaris; int Matriks_Identitas[MaxBaris][MaxKolom]; deklarasi array Matriks_identitas for idxBaris=0; idxBaris=MaxBaris;idxBaris++ { foridxKolom=0;idxKolom=MaxKolom;idxKolom++ { idxBaris == idxKolom ? Matriks_Identitas[idxBaris][idxKolom] = 1: Matriks_Identitas[idxBaris][idxKolom] = 0; } } printf\nMatriks_Identitasnya adalah \n; for idxBaris=1; idxBaris=MaxBaris;idxBaris++ { foridxKolom=1;idxKolom=MaxKolom;idxKolom++ { printfd ,Matriks_Identitas[idxBaris][idxKolom];output nilai dalam Matriks_Identitas baris ke-idxBaris dan kolom ke-idxKolom } printf\n; } getch; return 0; } Outputnya adalah : 8.6 Referen Pertemuan 7 Cara Pengaksesan Array Array Multi Dimensi Untuk dapat memasukan suatu nilai atau melihat isi dari suatu array kita harus menentukan posisi dimana nilai tersebut disimpan. Untuk mengakses elemen array dapat kita lakukan dengan perintah Pada CC++, untuk mengakses elemen array dapat kita lakukan dengan perintah sebagai berikut : Nama_Array[indeks_Elemen1] ]...[indeks_Elemen n]; Contoh : Ary[10]; akses elemen array Ary pada indeks ke-10 Jumlah[7][1]; akses elemen array Jumlah pada indeks baris ke-7 dan indeks kolom ke-1 Total[5][6][1]; akses elemen array Total pada indeks x ke-5 dan indeks y ke-6 dan indeks z ke-1, dst… Setelah posisi ini kita ketahui, kemudian kita bisa melakukan operasi pada array atau nilai dalam array tersebut. Operasi yang dapat dilakukan pada sebuah array sangat beragam tergantung kebutuhan pengguna program tersebut. Contoh Program ontoh Menggunakan Array Array Multi Dimensi Agar bisa mendapatkan gambaran lebih jauh seperti apa sih program yang menggunakan array multi dimensi? Anda bisa melihat contoh-contoh sebagai berikut : Contoh 01 : Program untuk menjumlahkan 2 buah array 2 dimensi pada CC++ Contoh program array multi dimensi - kuliah Pemrograman Terstruktur I IF-Universitas Widyatama dibuat oleh : Danang Junaedi Tanggal : 17 November 2008 jam : 15:09 di B.417 program untuk menjumlahkan arrayMatriks A dan B yang berukuran 2x23 includestdio.h includeconio.h int main { int Matriks_A[2][2], Matriks_B[2][2]; array Matriks_A dan Matriks_B int Matriks_Hasil[2][2]; array untuk hasil penjumlahan Matriks_A dan Matriks_B int idxBaris;indeks baris, sebagai penunjuk nomor baris dalam array int idxKolom; indeks kolom, sebagai penunjuk nomor kolom dalam array proses input nilai ke dalam array Matriks_A dan Matriks_B printfMasukan Nilai ke dalama Matriks_A\n; for idxBaris=1; idxBaris=2;idxBaris++ { foridxKolom=1;idxKolom=2;idxKolom++ { printfMasukan nilai ke dalam Matriks_A[d,d] : ,idxBaris,idxKolom; scanfd,Matriks_A[idxBaris][idxKolom];input nilai ke dalam Matriks_A pada baris ke-idxBaris dan kolom ke-idxKolom } } printf\nMasukan Nilai ke dalama Matriks_B\n; for idxBaris=1; idxBaris=2;idxBaris++ { foridxKolom=1;idxKolom=2;idxKolom++ { printfMasukan nilai ke dalam Matriks_B[d,d] : ,idxBaris,idxKolom; scanfd,Matriks_B[idxBaris][idxKolom];input nilai ke dalam Matriks_B pada baris ke-idxBaris dan kolom ke-idxKolom } } proses penjumlahan Matriks_A dan Matriks_B for idxBaris=1; idxBaris=2;idxBaris++ { foridxKolom=1;idxKolom=2;idxKolom++ { Matriks_Hasil[idxBaris][idxKolom] = Matriks_A[idxBaris][idxKolom] + Matriks_B[idxBaris][idxKolom]; } } proses output nilai pada array Matriks_A, Matriks_B dan Matriks_Hasil printf\nisi Matriks_A\n; for idxBaris=1; idxBaris=2;idxBaris++ { foridxKolom=1;idxKolom=2;idxKolom++ Materi Kuliah Pemrograman Terstruktur I IF - UTAMA VersiRevisi : 10 Halaman : VIII-5 { printf\td ,Matriks_A[idxBaris][idxKolom];output nilai dalam Matriks_A baris ke-idxBaris dan kolom ke-idxKolom } printf\n; } printf\nisi Matriks_B\n; for idxBaris=1; idxBaris=2;idxBaris++ { foridxKolom=1;idxKolom=2;idxKolom++ { printf\td ,Matriks_B[idxBaris][idxKolom];output nilai dalam Matriks_B baris ke-idxBaris dan kolom ke-idxKolom } printf\n; } printf\nisi Matriks_Hasil\n; for idxBaris=1; idxBaris=2;idxBaris++ { foridxKolom=1;idxKolom=2;idxKolom++ { printf\td ,Matriks_Hasil[idxBaris][idxKolom];output nilai dalam Matriks_B baris ke-idxBaris dan kolom ke-idxKolom } printf\n; } getch; return 0; } Outputnya adalah : Contoh 02 : Program untuk menghasilkan matriks identitas pada CC++ Contoh program array multi dimensi - kuliah Pemrograman Terstruktur I IF-Universitas Widyatama dibuat oleh : Danang Junaedi Tanggal : 17 November 2008 jam : 16:30 di B.417 Pertemuan 8 Pemrosesan Larik Elemen Larik diproses secara beruntun melalui indeks terurut, asalkan indeks tersebut sudah terdefenisi. Contoh algoritma pemrosesan larik : Deklarasi Const max : 25 Type Larik : Array [ 1.. max] of integer X : Larik M : Integer N : Integer Contoh Program Utama Kepala Algoritma Pemrosesan_Larik; Deklarasi Type Larik : Array [ 1.. 100 ] of integer X : Larik N : Integer Procedure Input_Array Output x : larik; input N: integer; Deklarasi J := Integer Deskripsi For J := 1 to N do Read x [ J ] Endfor Procedure Output_Array Input x : larik; input N: integer; Deklarasi I := Integer Deskripsi For I := 1 to N do write x [ I ] Endfor Read N ; Implementasi dalam Bahasa Pemrograman Pascal : Uses Crt; Const max = 100; 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, ’= ’; Readlnx [ 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 : ‘; Readlnn; Inputanx,n; Writeln; Writeln; Readln; End. Pertemuan 9 Penggunaan Larik Array dibutuhkan apabila suatu proses memerlukan penyimpanan sementara data yang bertipe sama dalam memori, untuk selanjutnyauntuk selanjutnya data tersebut dimanipulasi, dihitung, atau diterapkan proses lainnya. Dengan array dapat menghemat penggunaan nama-nama variabel yang banyak. Variabel dapat dibagi menjadi 2 yaitu : a. Variabel tunggal Keseluruhan data yang di input akan disimpan pada satu tempat saja sehingga nantinya yang tersimpan data yang paling akhir. Contoh dalam bahas Pemrograman Pascal : Uses Crt; Var I,n,x : integer; Procedure Inputan var x,n : integer; Begin For i := 1 to n do Begin Write ’masukkan suku ke-’,i,’=’; Readlnx; 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 :’; Readlnn; Inputanx,n; Writeln; Writeln; Keluaranx,n; Readln; End. Jika Program ini dijalankan maka hasilnya Sebagai berikut : Masukkan N mak 100 : ketikkan 5 Masukkan suku ke-1 = 10 Masukkan suku ke-2 = 15 Masukkan suku ke-3 = 20 Masukkan suku ke-4 = 25 Masukkan suku ke-5 = 30 Hasilnya : X[1] = 30 X[2] = 30 X[3] = 30 X[4] = 30 X[5] = 30

b. Variabel berindeks

Data akan disimpan berdasarkan alamat dari suatu indeksnya. Contoh dalam Program Pascal : Uses Crt; Type Latih = array [ 1..max ] of real; Var X : latih; I,n : integer; Procedure Inputan masuk : latih; n : integer; Begin For i := 1 to n do Begin Write ’Masukkan suku ke-’,i, ’= ’; Readlnx [ 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 : ‘; Readlnn; Inputanx,n; Writeln; Writeln; Keluaranx,n Readln; End. Jika Dijalankan maka hasilnya : Masukkan N mak 100 : ketikkan 5 Masukkan suku ke-1 = 10 Masukkan suku ke-2 = 15 Masukkan suku ke-3 = 20 Masukkan suku ke-4 = 25 Masukkan suku ke-5 = 30 Hasilnya : X[1] =10 X[2] = 15 X[3] = 20 X[4] = 25 X[5] = 30 Pertemuan 10 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 dan B= 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 Makaalgoritma dari permasalahan tersebut dapat dituliskan : Deklarasi Type larik : Array [1..Indeks, 1..indeks2] of integer X : Larik N : Integer Procedure Input_ArrayAoutput 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 Ebdfor Procedure Input_ArrayBoutput x : Larik; Input M,N : integer; Deklarasi I,j : integer Deskripsi For I := 1 to m do For J := 1 to n do Read B[I,j] End for Endfor Procedure Jumlah_ArrayInput 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_ArrayAx,M,N Input_ArrayBx,M,N Jumlah_Arrayx,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 InputAvar 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,’] = ‘; RaedlnA[I,j]; End; End; End; Procedure InputBvar 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,’] = ‘; RaedlnB[I,j]; End; End; End; Procedure Keluaranvar 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 :’; Readlnm; Write‘Masukkan n mak 10 :’; Readlnn; InputAa,m,n; InputBa,m,n; Writeln; Writeln; Keluaranc,m,n; Readln; End.

2.1. Pengaksesan data array

Pengaksesan data array dapat dilakukan dengan cara memberikan nama variabel array tersebut serta indexnya. Contoh : Data[0]=5; Data[1]=7; Printf“Data pertama adalah d \n”,Data[0]; Cara lain untuk pengaksesan data array dalam bahasa C adalah dengan menggunakan pointer. Contoh : 1 2 3 4 5 6 7 8 9 10 11 int data[5]={1,4,5,6,7}; int p,i; p adalah pointer ke data int, i adalah sebuah int p=data; i=data[2]; p=50; identik dengan data[0]=50 p+1=15; identik dengan data[1]=15 p+2=p+data[1]; identik dengan data[2]=data[2]+data[1]; p++; alamat p ditambah 1 p berisi alamat int berikutnya printf“Isi P adalah : “,p; akan muncul data[1] yaitu 50 p=p+2; alamat p ditambah 2p berisi alamat 2 int berikutnya printf“Isi P sekarang : “,p; akan muncul data[3] yaitu 6 include stdio.h include conio.h define maks 5 main { int i,p; int data[5]; p=data; clrscr; printfPemasukan data :\n; fori=0;imaks;i++ { printfMasukan data[d]: ,i; scanfd,p+i; } printf\nData yang telah di masukan adalah :\n; fori=0;imaks;i++ { printfData[d] ada di alamat u dengan isi : i\n, i,p+i,p+i; } getch; return 0; }

2.2. Menampilkan data array

Operasi ini berguna untuk menampilkan data yang ada dalam array sebanyak banyaknya data. Oleh karena itu berarti akan ada perulangan dari data pertama sampai data terakhir. Program untuk menampilkan data array dapat dilihat dalam potongan program di bawah ini. int i; int data[5]={1,5,8,9,8}; int banyakdata=5; fori=0;ibanyakdata;i++ { printfdata[d]: i\n,i,data[i]; } Jika ingin menggunakan pointer, maka programnya adalah : int i,p; int data[5]={1,5,8,9,8}; int banyakdata=5; p=data; fori=0;ibanyakdata;i++ { printfdata[d]: i\n,i,p+i; } Kedua perintah di atas sama-sama menampilkan data dalam array. Jika dijalankan akan menghasilkan tampilan seperti dibawah ini. data[1]=5; data[2]=8; data[3]=9; data[4]=8; Karena proses menampilkan data array ini akan sangat banyak dipakai, maka sebaiknya proses ini dibuat dalam bentuk sebuah fungsi yang memiliki parameterargumen berupa array dan banyaknya data. Fungsi tersebut adalah : void view_arrayint data[],int banyakdata { int i; fori=0;ibanyakdata;i++ { printf4d ,data[i]; } } atau jika parameternya ingin berupa pointer void view_arrayint data,int banyakdata { int i; fori=0;ibanyakdata;i++ { printf4d ,data+i; } } Setelah fungsi tersebut dibuat, maka jika ingin menampilkan data array, akan lebih mudah. Perhatikan contoh di bawah ini. int a[5]={2,5,6,7,8}; int banyakdata=5; printf3 buah Isi A adalah : ; view_arraya,3; printf\n; printfSeluruh Isi A adalah : ; view_arraya,banyakdata; Lampiran 2 INSTRUMEN TES URAIAN Kompetensi : Tes Uraian Satuan Pendidikan : SMK Swasta Teladan KelasSemster : XII Mata Pelajaran : Algoritma dan Bahasa Pemrograman Pascal Pertemuan ke : 6 – 10 Alokasi waktu : 10 x 45 1. Kompetensi Dasar a. Menggunakan array multi dimensi 2. Indikator a. Membuat operasi array larik a. Soal 1. Buatlah Program Array Multi dimensi 2. Buatlah program dengan menggunakan C++ 3. Buatlah contoh sebuah program Larik 2 dimensi b. Kunci jawaban

1. Program Array Multi Dimensi

algoriProses penyisipan membutuhkan 3 parameter yaitu array yang akan memuat data, banyakdata sekarang yang akan berubah setelah proses, data baru, dan posisi penyisipannya. void sisip_arrayint data[], int banyakdata, int baru, int posisi { int i; if banyakdata maks { ifposisi0posisi=banyakdata { posisi--; dalam C array dimulai dari 0, sehingga posisi harus dikurang 1 fori=banyakdata;i = posisi;i-- { data[i+1]=data[i]; } data[posisi]=baru; banyakdata+=1; } else printfPosisi di luar jangkauan. Penyisipan gagal\n; } else { printfArray Penuh. Penyisipan gagal\n; 2. Program dengan menggunakan C++ include stdio.h include conio.h define maks 5 main { int i,p; int data[5]; p=data; clrscr; printfPemasukan data :\n; fori=0;imaks;i++ { printfMasukan data[d]: ,i; scanfd,p+i; } printf\nData yang telah di masukan adalah :\n; fori=0;imaks;i++ { printfData[d] ada di alamat u dengan isi : i\n, i,p+i,p+i; } getch; return 0; } 3. Penggunaan Program dalam larik 2 dimensi Uses Crt; Type Latih = array [ 1..10, 1..10] of integer; Var I,j,n,m : Integer; A,B,C : latih; Procedure InputAvar 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,’] = ‘; RaedlnA[I,j]; End; End; End; Procedure InputBvar 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,’] = ‘; RaedlnB[I,j]; End; End; End; 3. Pedoman Penilaian : Konversi Nilai = Jumlah Skor x 30, Jumlah Skor maksimal 30, maka 5 x 30 = 90 Lampiran 3 LEMBAR PENGAMATAN SIKAP Kompetensi : Sikap Satuan Pendidikan : SMK Swasta Teladan KelasSemster : XII Mata Pelajaran : Algoritma dan Bahasa Pemrograman Pascal Pertemuan ke : 6 – 10 Alokasi waktu : 10 x 45 Nomor peserta didik : ....................................................... Nama Absen Peserta didik : ......................................................... 1. Kompetensi dasar : Berlaku jujur dan bertanggung jawab dalam mengerjakan tugas-tugas dari dalam pembelajar Algoritma dan Pemrograman Pascal 2. Indikator 1. Peserta didik dapat berperilaku jujur dalam menyalin informasi dari buku sumber 2. Peserta didik dapat bertanggung jawab dalam mengerjakan tugas. 3. Peserta didik dapat berperilaku disiplin dalam mengumpulkan tugas 4. Peserta didik dapat menunjukkan kerja sama dalam belajar Algoritma dan Pemrograman Pascal 5. Peserta didik dapt berperilaku santun dalam belajar. No. Sikap Kriteria Hasil Ya Tidak 1. Jujur 1. Melaporkan datainformasi sesuai dengan apa yang dibaca. 2. Menyampaikan pendapat disertai dengan informasi dari buku sumber yang diterima 2. Tanggung jawab 1. Melaksanakan tugas sesuai dengan perintah guru 2. Menyelesaikan tugas sampai selesai. 3. Disiplin Melaksanakan dan menyelesaikan tugas sesuai dengan waktu yang ditetapkan. 4. Bekerja sama Menghargai pekerjaan teman dan berperan aktif dalam menyelesaikan tugas kelompok. 5. Santun 1. Menyampaikan pendapat dengan bahasa dan nada yang baik. 2. Menghargai adanya perbedaan pendapat. Lampiran 4 LEMBAR PENGAMATAN KETERAMPILANPSIKOMOTOR Kompetensi : Keterampilan Satuan Pendidikan : SMK Swasta Teladan KelasSemster : XII Mata Pelajaran : Algoritma dan Bahasa Pemrograman Pascal Pertemuan ke : 6 – 10 Alokasi waktu : 10 x 45 1. Kompetensi Dasar a. Menggunakan array multi dimensi 2. Indikator a. Membuat operasi array larik Isilah dengan tanda centang √ apabila seorang siswa melakukan aktivitas No . 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 5. Akurasi pertanyaan 5. Tidak Terampil, jika 1 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 : Algoritma Kelas Semester : X 2 Pertemuan : 11 - 15 Alokasi Waktu : 10 x 45 Menit Standar Kompetensi : Menerapkan Algoritma Pemograman tingkat lanjut Karakter bangsa yang diharapkan : Disiplin, Kreatif, rasa Ingin tahu, Tanggung Jawab, Bekerja sama.

A. Kompetensi Inti