Pemrograman Dasar 2.docx

  • Uploaded by: Ikmal CE
  • 0
  • 0
  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Pemrograman Dasar 2.docx as PDF for free.

More details

  • Words: 36,717
  • Pages: 126
RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan Nama Sekolah

:

Mata Pelajaran

: Pemrograman Dasar

Komp. Keahlian

: TKJ

Kelas/Semester

: X / 1 (Satu)

Tahun Pelajaran

: 2018 / 2019

Alokasi Waktu

: 12x 45 Menit

B. Kompetensi Inti dan Kompetensi Dasar Kompetensi Inti Memahami, menerapkan, menganalisis, dan mengevaluasi tentang pengetahuan faktual, konseptual, operasional dasar, dan metakognitif sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika pada tingkat teknis, spesifik, detil, dan kompleks, berkenaan dengan ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dalam konteks pengembangan potensi diri sebagai bagian dari keluarga, sekolah, duniakerja, warga masyarakat nasional, regional, dan internasional. Melaksanakan tugas spesifik, dengan menggunakan alat, informasi, dan prosedur kerja yang lazim dilakukan serta menyelesaikan masalah sederhana sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika Menampilkan kinerja mandiri dengan mutu dan kuantitas yang terukur sesuai dengan standar kompetensi kerja. Menunjukkan keterampilan menalar, mengolah, dan menyaji secara efektif, kreatif, produktif, kritis, mandiri, kolaboratif, komunikatif, dan solutif dalam ranah abstrak terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Menunjukkan keterampilan mempersepsi, kesiapan, meniru, membiasakan gerak mahir, menjadikan gerak alami, sampai dengan tindakan orisinal dalam ranah konkret terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Kompetensi Dasar 3.1

Menerapkan alur logika pemrograman komputer

4.1

Membuat alur logika pemrograman komputer

C. Indikator Pencapaian Kompetensi 3.1

Menerapkan alur logika pemrograman komputer 3.1.1 Memahami alur logika pemrograman komputer 3.1.2 Mempraktekkan alur logika pemrograman komputer

4.1

Membuat alur logika pemrograman komputer 4.1.1 Memodifikasi alur logika pemrograman komputer 4.1.2 Mengkonstruksi alur logika pemrograman komputer

Tujuan Pembelajaran 1. Setelah kegiatan pembelajaran diharapkan peserta didik dapat mendemonstrasikan alur logika pemrograman komputer dengan benar 2. Setelah kegiatan pembelajaran diharapkan peserta didik dapat mempraktekkan alur logika pemrograman komputer dengan tepat 1. Setelah kegiatan pembelajaran diharapkan peserta didik dapat menkonstruksi alur logika pemrograman komputer dengan benar 2. Setelah kegiatan pembelajaran diharapkan peserta didik dapat memodifikasi alur logika pemrograman komputer dengan tepat D. Materi Pembelajaran alur logika pemrograman komputer E. Pendekatan, Strategi, Metode Pendekatan berfikir

: Sientific

Model Pembelajaran

: Project Based Learning

Metode Pembelajaran

: Observasi, diskusi dan tanya jawab.

F. Kegiatan Pembelajaran Pertemuan ke 1 – 3 No

Kegiatan

1

Pendahuluan

Langkah – langkah Pembejalaran Melakukan pembukaan dengan salam pembuka dan berdoa untuk memulai pembelajaran Melakukan pengkondisian peserta didik Menyampaikan tujuan pembelajaran yang akan dicapai. Menyampaikan teknik penilaian yang akan digunakan Menyampaikan metode pembelajaran yang akan digunakan Melakukan Pre test.

Waktu

15 Menit

Penentuan pertanyaan mendasar 1. Guru meminta peserta didik untuk memperhatikan video yang ada di layar komputer tentang alur logika pemrograman komputer 2. Guru meminta peserta didik memperhatikan dan menyimak tayangan video tersebut 3. Peserta didik membuat catatan kecil tentang materi atau video yang belum jelas untuk ditanyakan pada guru 4. Peserta didik mengajukan pertanyaan dari materi yang telah dicatat untuk acuan dalam mempraktekkan alur logika pemrograman komputer

2

Kegiatan Inti

Merndesain Perencanaan Proyek 1. Peserta didik bertanya untuk memperoleh penjelasan yang mendetail dari guru dari tayangan video yang telah diputar 2. Guru menjelaskan dari masing – masing pertranyaan dari peserta didik agar peserta didik memahaminya 3. Guru mempraktekkan cara alur logika pemrograman komputer di depan peserta didik 4. Peserta didik memperhatikan dan mencoba praktek membuat alur logika pemrograman komputer sendiri Menyusun Jadwal 1. Peserta didik memahami penjelasan cara membuat alur logika pemrograman komputer dari guru 2. Guru membuat jadwal untuk mengetes peserta didik dalam membu at alur logika pem rograman komputer 3. Guru member tahukan jadwal alur logika pemro graman komputer kepada peserta didik 4. Peserta didik mendengarkan penjelasan atau informasi dari guru Memonitor pese3rta didik dan kemajuan proyek 1. Guru memanggil peserta didik sesuai absen untuk maju mendemonstrasikan, mempraktekkan, mengkonstruksi, memodifikasi alur logika pemrograman komputer 2. Peserta didik maju satu persatu sesuai dengan panggilan guru 3. Peserta didik mendemonstrasikan, mempraktekkan, mengkonstruksi, memodifikasi alur logika pemrograman komputer 4. Guru memperhatikan peserta didik dalam membuat alur logika

510 menit

pemrograman komputer dan mengarahkan jika ada peserta didik yang belum tahu

3

Penutup

Menguji hasil evaluasi dan mengevaluasi pengalaman 1. Guru mengamati hasil yang telah dibuat oleh peserta didik 2. Guru menguji hasil dari peserta didik membuat alur logika pemrograman komputer 3. Peserta didik mengamati penjelasan guru jika ada salah dalam membuat alur logika pemrograman komputer 4. Guru mengevaluasi dari hasil peserta didik dalam membuat alur logika pemrograman komputer 1. Secara bersama-sama peserta didik diminta untuk menyimpulkan tentang alur logika pemrograman komputer 2. Guru memberikan konfirmasi dan penguatan terhadap kesimpulan dari hasil pembelajaran. 3. Guru memberikan evaluasi (post test) dan menyuruh peserta didik secara individu untuk mengerjakannya. 4. Peserta didik diberi tugas untuk melakukan mengerjakan latihan tentang alur logika pemrograman komputer 5. Guru mengakhiri kegiatan belajar dengan memberikan pesan pada peserta didik untuk mempelajari materi berikutnya. 6. Guru menyuruh salah satu peserta didik untuk memimpin doa penutup

15 Menit

Alat/ bahan, Media Pembelajaran Daftar hadir Spidol Papan waith board Leptop LCD Lembar penilaian

Sumber Belajar Internet Buku – buku penunjang KBM Penilainan Pembelajaran Teknik

: Non Test dan Test

Bentuk

:

 Penilaian pengetahuan

: Tes tertulis uraian

 Penilaian keterampilan

: Praktek

URAIAN MATERI Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode. Pseudocode adalah kode yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada pemrogram. Sedangkan algoritma disajikan dengan gambar, yaitu dengan Flowchart

B.

Flowchart (Diagram Alir)

Flowchart atau bagan alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di dalam suatu program secara logika.

Flowchart merupakan alat yang banyak digunakan untuk menggambarkan algoritma dalam bentuk notasi-notasi tertentu. Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis penghubung. Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah. Di samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek. Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran: 1)

Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat.

2) Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas. 3)

Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.

Berikut merupakan beberapa contoh simbol flowchart yang disepakati olehdunia pemrograman Pengertian Simbol Flowchart: 1.

Terminator : Notasi ini digunakan untuk menunjukkan awal dan akhir suatu algoritma

2.

Aliran data : Notasi ini disebut Arrow yang digunakan untuk menunjukkan arus data atau aliran data dari proses satu ke proses lainnya.

3.

Input / Output : Notasi ini disebut Data yang digunakan untuk mewakili data input atau output atau menyatakan operasi pemasukan data dan pencetakan hasil.

4.

Proses : Notasi ini disebut Process yang digunakan untuk mewakili suatu proses.

5.

Percabangan : Notasi ini disebut

Decision yang digunakan untuk suatu pemilihan,

penyeleksian kondisi di dalam suatu program 6.

Preparation : Notasi ini digunakan untuk memberi nilai awal, nilai akhir, penambahan / pengurangan bagi suatu variable counter.

7.

Predefined Process / Call : Notasi ini digunakan untuk menunjukkan suatu operasi yang rinciannya ditunjukkan ditempat lain (prosedur, sub-prosedur, fungsi)

8.

Connector : Notasi ini digunakan untuk menunjukkan sambungan dari flowchart yang terputus di halaman yang sama atau halaman berikutnya.

9.

Off page Connector : Penghubung bagian-bagian flowchart yang berada pada halaman berbeda

Contoh Flowchart : Problem: Menghitung luas persegi panjang Algoritma: Masukkan panjang (p) Masukkan lebar (l) Hitung luas (L), yaitu panjang kali lebar Cetak luas (L) Algoritma Pemrograman :
$panjang =6; $lebar =5; $luas= $panjang*$lebar; echo "Jadi Luas Persegi Panjang adalah . $luas"; ?> A.

Struktur Dasar Algoritma

Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration) atau kombinasi dari ketiganya. Jadi struktur dasar pembangunan algoritma ada tiga, yaitu: 1)

Struktur Runtunan / Beruntun : Digunakan untuk program yang pernyataannya sequential atau urutan.

2)

Struktur Pemilihan / Percabangan : Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi.

3)

Struktur Perulangan : Digunakan untuk program yang pernyataannya akan dieksekusi berulangulang.

1. Ada tiga struktur dasar yang digunakan dalam membuat algoritma yaitu struktur berurutan (sequencing), struktur pemilihan/keputusan/percabangan (branching) dan struktur pengulangan (looping). Sebuah

algoritma

biasanya

akan menggabungkan ketiga buah

struktur ini untuk menyelesaikan masalah. Pada bagian ini kita akan bahas lebih dulu struktur algoritma berurutan. Struktur berurutan dapat kita samakan dengan mobil yang sedang berjalan pada jalur lurus yang tidak terdapat persimpangan seperti tampak pada Gambar disamping Mobil tersebut akan melewati kilometer demi kilometer jalan sampai tujuan Algoritma Runtunan tercapai Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya, yaitu sebuah instruksi dieksekusi setelah instruksi sebelumnya selesai dieksekusi.

Urutan instruksi

menentukan keadaan akhir dari algoritma. Bila urutannya diubah, maka hasil akhirnya mungkin juga berubah. Menurut Goldshlager dan Lister (1988) struktur berurutan mengikuti ketentuanketentuan sebagai berikut: a. Tiap instruksi dikerjakan satu persatu b. Tiap instruksi dilaksanakan tepat sekali, tidak ada yang diulang c. Urutan instruksi yang dilaksanakan pemroses sama dengan urutan aksi sebagaimana yang tertulis di dalam algoritmanya d. Akhir dari instruksi terakhir merupakan akhir algoritma.

2. Struktur Algoritma Percabangan Sebuah program tidak selamanya akan berjalan dengan mengikuti struktur berurutan, kadangkadang kita perlu merubah urutan pelaksanaan program dan menghendaki agar pelaksanaan program meloncat ke baris tertentu. Peristiwa ini kadang disebut sebagai percabangan/pemilihan atau keputusan. 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.

3. Struktur Algoritma Perulangan / Pengulangan Dalam banyak kasus seringkali kita dihadapkan pada sejumlah pekerjaan yang harus diulang berkali.Salah satu contoh yang gampang kita jumpai adalah balapan mobil seperti tampak pada gambar ini Mobil-mobil peserta harus mengelilingi lintasan sirkuit berkali-kalisesuai yang ditetapkan dalam aturan lomba. Siapa yang mencapai garis akhir paling cepat, dialah yang menang.

Struktur pengulangan terdiri dari dua bagian : 1. Kondisi pengulangan, yaitu syarat yang harus dipenuhi untuk melaksanakan pengulangan. Syarat ini biasanya dinyatakan dalam ekspresi Boolean yang harus diuji apakah bernilai benar (true) atau salah (false) 2. Badan pengulangan (loop body), yaitu satu atau lebih instruksi yang akan

diulang.

Pada struktur pengulangan, biasanya juga disertai bagian inisialisasi dan bagian terminasi. Inisialisasi adalah instruksi yang dilakukan sebelum pengulangan dilakukan pertama kali. Bagian insialisasi umumnya digunakan untuk memberi nilai awal sebuah variable. Sedangkan terminasi adalah instruksi yang dilakukan setelah pengulangan selesai dilaksanakan. Ada beberapa bentuk pengulangan yang dapat digunakan, 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 diprogram. a.

Struktur 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. Contoh : Diketahui sebuah himpunan A yang beranggotakan bilangan 1, 3, 5, .., 19. Buatlah flowchart untuk mencetak anggota himpunan tersebut. Penyelesaian: Pada contoh ini, kita mencoba menentukan hasil dari sebuah flowchart . Bagaimana menurut kalian jawabannya? Marilah kita uraikan jalannya fowchart tersebut. Pada flowchart, setelah Start, kita meletakkan satu proses yang berisi pernyataan A = 1. Bagian inilah yang disebut inisialisasi . Kita memberi nilai awal untuk A = 1. Variabel counter-nya adalah X dengan nilai awal 1 dan nilai akhir 10, tanpa increment (atau secara default increment-nya adalah 1). Ketika masuk ke badan loop untuk pertama kali maka akan dicetak langsung nilai variabel A. Nilai variabel A masih sama dengan 1. Kemudian proses berikutnya adalah pernyataan A = A + 2. Pernyataan ini mungkin agak aneh, tapi ini adalah sesuatu yang pemrograman. Arti dari

pernyataan ini adalah gantilah nilai A yang lama dengan hasil penjumlah nilai A lama ditambah 2. Sehingga A akan bernilai 3. Kemudian dilakukan pengulangan yang ke-dua. Pada kondisi ini nilai A adalah 3, sehingga yang tercetak oleh perintah print adalah 3. Baru kemudian nilai A kita ganti dengan penjumlahan A + 2. Nilai A baru adalah 5. Demikian seterusnya. Sehingga output dari flowchart ini adalah 1,3, 5, 7, .., 19. b.

Struktur 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 hampir semua bahasa pemrograman namun dengan sintaks yang berbeda. Struktur While akan mengulang pernyataan pada badan loop sepanjang kodisi pada While bernilai benar. Dalam artian kita tidak perlu tahu pasti berapa kali diulang. Yang penting sepanjang kondisi pada While dipenuhi maka pernyataan pada badan loop akan diulang. Penyelesaian: Perhatikan Gambar 5.20.

bisakah kalian menentukan hasil dari flowchart

tersebut? Perhatikan tahapan eksekusi flowchart berikut ini. 1. Pada flowchart ini ada dua variabel yang kita gunakan yaitu A dan B. Kedua variabel tersebut kita inisialisasi nilai awalnya (A = 1 dan B = 0) sebelum proses loop terjadi. Variabel A adalah variabel counter. 2. Pada simbol decision, nilai A akan diperiksa apakah memenuhi kondisi (< 10). Jika Ya maka perintah berikutnya dieksekusi, jika tidak maka program akan berhenti. Pada awal eksekusi ini kondisi akan terpenuhi karena nilai A= 1. 3. Jalankan perintah Print B. 4. Nilai variabel A kemudian diganti dengan nilai A lama (1) ditambah 2. Sehingga nilai variabel A baru adalah 3. Sedangkan nilai variabel B = 9 (hasil perkalian A = 3). Program akan berputar kembali untuk memeriksa apakah nilai variabel A masih lebih kecil dari 10. Pada kondisi ini nilai A = 3, sehingga kondisi masih terpenuhi. Kemudian langkah berulang ke langkah ke 3. Begitu seterusnya sampai nilai variabel A tidak lagi memenuhi syarat kurang dari 10.

Latihan soal 1. Sebutkan penyajian algoritma? 2. Apa fungsi symbol connector pada symbol flowcart? 3. Sebutkan symbol – symbol flowchart! 4. Apa yang Anda ketahui tentang struktur pengulangan dengan for? 5. Apakah perbedaan inisialisasi dengan terminasi?

Jawaban 1. Tulisan dan gambar 2 Connector : Notasi ini digunakan untuk menunjukkan sambungan dari flowchart yang terputus di halaman yang sama atau halaman berikutnya.

3. Terminator, Aliran data, input / output, proses, percxabangan, preparation, predefined process, connector 4 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. 5. 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

Penskoran No 1 2 3 4 5 Jumlah

Skor 20 20 20 20 20 100

Nilai = Betul x 20 Gorontalo,

Juli

2018 Mengetahui Kepala Sekolah

Guru Mapel

…………………..

…………………..

RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan Nama Sekolah

:

Mata Pelajaran

: Pemrograman Dasar

Komp. Keahlian

: TKJ

Kelas/Semester

: X / 1 (Satu)

Tahun Pelajaran

: 2018 / 2019

Alokasi Waktu

: 12x 45 Menit

B. Kompetensi Inti dan Kompetensi Dasar Kompetensi Inti Memahami, menerapkan, menganalisis, dan mengevaluasi tentang pengetahuan faktual, konseptual, operasional dasar, dan metakognitif sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika pada tingkat teknis, spesifik, detil, dan kompleks, berkenaan dengan ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dalam konteks pengembangan potensi diri sebagai bagian dari keluarga, sekolah, duniakerja, warga masyarakat nasional, regional, dan internasional. Melaksanakan tugas spesifik, dengan menggunakan alat, informasi, dan prosedur kerja yang lazim dilakukan serta menyelesaikan masalah sederhana sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika Menampilkan kinerja mandiri dengan mutu dan kuantitas yang terukur sesuai dengan standar kompetensi kerja. Menunjukkan keterampilan menalar, mengolah, dan menyaji secara efektif, kreatif, produktif, kritis, mandiri, kolaboratif, komunikatif, dan solutif dalam ranah abstrak terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Menunjukkan keterampilan mempersepsi, kesiapan, meniru, membiasakan gerak mahir, menjadikan gerak alami, sampai dengan tindakan orisinal dalam ranah konkret terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Kompetensi Dasar 3.2

Memahami perangkat lunak bahasa pemrograman

4.2

Melakukan Instalasi perangkat lunak bahasa pemrograman

C. Indikator Pencapaian Kompetensi 3.2

Memahami perangkat lunak bahasa pemrograman 3.2.1 Memahami peralatan perangkat lunak pada bahasa pemrograman komputer 3.2.2 Menyebutkan / menulis perangkat lunak pada bahasa pemrograman komputer

4.2

Melakukan Instalasi perangkat lunak bahasa pemrograman 4.2.1 Mengoperasikan instalasi perangkat lunak bahasa pemrograman

4.2.2 Menyusun instalasi perangkat lunak bahasa pemrograman Tujuan Pembelajaran 1. Setelah kegiatan pembelajaran diharapkan peserta didik dapat memahami perangkat lunak bahasa pemrograman dengan benar 2. Setelah kegiatan pembelajaran diharapkan peserta didik dapat menulis perangkat lunak bahasa pemrograman dengan tepat

1. Setelah kegiatan pembelajaran diharapkan peserta didik dapat mengoperasikan instalasi perangkat lunak bahasa pemrograman dengan benar 2. Setelah kegiatan pembelajaran diharapkan peserta didik dapat menyusun instalasi perangkat lunak bahasa pemrograman dengan tepat

D. Materi Pembelajaran Perangkat lunak bahasa pemrograman E. Pendekatan, Strategi, Metode Pendekatan berfikir

: Sientific

Model Pembelajaran

: Discovery Based Learning

Metode Pembelajaran

: Observasi, diskusi dan tanya jawab.

F. Kegiatan Pembelajaran Pertemuan ke 1 – 3 No

Kegiatan

1

Pendahuluan

Langkah – langkah Pembejalaran Melakukan pembukaan dengan salam pembuka dan berdoa untuk memulai pembelajaran Melakukan pengkondisian peserta didik Menyampaikan tujuan pembelajaran yang akan dicapai. Menyampaikan teknik penilaian yang akan digunakan Menyampaikan metode pembelajaran yang akan digunakan Melakukan Pre test.

Waktu

15 Menit

Pemberian rangsangan 1. Guru meminta peserta didik untuk melihat materi di layar komputer tentang perangkat lunak bahasa pemrograman 2. Guru meminta peserta didik untuk membaca buku panduan yang lainnya agar dapat mudah dipahami 3. Peserta didik dapat mengidentifikasi masalah dari materi yang disajikan oleh guru

2

Kegiatan Inti

Identifikasi masalah 1. Guru menugaskan peserta didik untuk memahami, menulis, mengoperasikan, dan menyusun instalasi perangkat lunak bahasa pemrograman 2. Pesera didik berusaha untuk dapat memahami, menulis, mengoperasikan, dan menyusun instalasi perangkat lunak bahasa pemrograman 3. Setelah peserta didik membaca buku panduan yang lainnya peserta didik dapat memahami, menulis, mengoperasikan, dan menyusun instalasi perangkat lunak bahasa pemrograman 4. Peserta didik mendiskusikan dengan kelompok yang lainnya tentang memahami, menulis, mengoperasikan, dan menyusun instalasi perangkat lunak bahasa pemrograman 5. Peserta didik menyampaikan hasil diskusi di depan kelas, kelompok yang lainnya memberikan tanggapan Pengumpulan data 1. Guru meminta peserta didik untuk mencari buku panduan atau informasi memahami, menulis, mengoperasikan, dan menyusun instalasi perangkat lunak bahasa pemrograman 2. Peserta didik mencoba memahami, menulis, mengoperasikan, dan menyusun instalasi perangkat lunak bahasa pemrograman petunjuk dari guru sebagai pembuktian pengujian hipotesis Pembuktian 1. Peserta didik memahami, menulis, mengoperasikan, dan menyusun instalasi

510 Menit

perangkat lunak bahasa pemrograman 2. Guru meminta peserta didik untuk menilai hasil yang telah dibuat oleh peserta didik yang lainnya 3. Peserta didik menilai berdasar kan format peni laian yang sudah ada

3

Penutup

Menarik Simpulan 1. Guru menjelaskan kepada peserta didik tentang memahami, menulis, mengoperasikan, dan menyusun instalasi perangkat lunak bahasa pemrograman 2. Guru menugaskan peserta didik un tuk memahami, menulis, mengoperasikan, dan menyusun instalasi perangkat lunak bahasa pemrograman 3. Peserta didik mengerjakan tugas dari guru untuk memahami, menulis, mengoperasikan, dan menyusun instalasi perangkat lunak bahasa pemrograman 4. Peserta didik yang lain menanggapi kesimpulan dari peserta didik yang sedang maju untuk mempresentasikan hasilnya 5. Peserta didik memperbaiki hasil presentasi berdasarkan tanggapan dari temannya 1. Secara bersama-sama peserta didik diminta untuk menyimpulkan tentang instalasi perangkat lunak bahasa pemrograman 2. Guru memberikan konfirmasi dan penguatan terhadap kesimpulan dari hasil pembelajaran. 3. Guru memberikan evaluasi (post test) dan menyuruh peserta didik secara individu untuk mengerjakannya. 4. Peserta didik diberi tugas untuk melakukan mengerjakan latihan tentang instalasi perangkat lunak bahasa pemrograman 5. Guru mengakhiri kegiatan belajar dengan memberikan pesan pada peserta didik untuk mempelajari materi berikutnya. 6. Guru menyuruh salah satu peserta didik untuk memimpin doa penutup

15 Menit

Alat/ bahan, Media Pembelajaran Daftar hadir Spidol Papan waith board Leptop LCD Lembar penilaian

Sumber Belajar Internet Buku – buku penunjang KBM Penilainan Pembelajaran Teknik

: Non Test dan Test

Bentuk

:

 Penilaian pengetahuan

: Tes tertulis uraian

 Penilaian keterampilan

: Praktek

URAIAN MATERI Bahasa Pemrograman- Perangkat lunak bahasa pemrograman (language software) merupakan program yang digunakan untuk menerjemahkan perintah-perintah yang ditulis dalam bahasa program ke dalam bahasa mesin (machine languange), sehingga dapat diterima dan dimengerti oleh komputer. Apabila languange software tidak tersedia, maka pembuat program harus menulis programnya langsung dengan bahasa mesin yang berbentuk bilangan-bilangan binary. Suatu instruksi program yang ditulis dalam bahasa mesin dapat berbentuk seperti 000100110010. Tanpa

mengetahui arti tertentu dari masing-masing bagian dari bilangan binary tersebut secara persis, maka akan sangat sulit untuk mengerti dengan benar maksud dari instruksi tersebut. Instruksi yang berbentuk bilangan binary disebut dengan object code. Sedangkan kumpulan dari instruksi-instruksi yang membentuk suatu program dalam bahasa mesin disebut dengan object program. Tiap-tiap instruksi object code terdiri dari operation code (op code) dan open and. Penulisan program dengan bahasa mesin dirasakan terlalu sulit dan memakan banyak waktu, maka dikembangkan languange software sebagai alternatif penulisan program yang lebih mudah. Penerjemah bahasa pemrograman dibedakan menjadi 3 (tiga) macam, yaitu assembler, kompiler, dan interpreter. 1) Asembler adalah program yang digunakan untuk menerjemahkan kode sumber dalam bahasa rakitan (assembly) ke dalam bahasa mesin. 2) Kompiler adalah program penerjemah yang mengonversi semua kode sumber selain dalam bahasa rakitan menjadi kode objek. Hasil berupa kode objek inilah yang dapat dijalankan oleh komputer. Proses untuk melakukan penerjemahan ini biasa disebut kompilasi. 3) Intepreter adalah program yang menerjemahkan satu per satu instruksi dalam kode sumber kemudian menjalankan instruksi yang telah diterjemahkan tersebut. Perangkat lunak bahasa pemrograman (language software) merupakan program yang digunakan untuk menerjemahkan perintah-perintah yang ditulis dalam bahasa program ke dalam bahasa mesin sehingga dapat diterima dan dimengerti oleh komputer. Pada dasarnya bahasa komputer dapat dibedakan menjadi empat macam, yaitu bahasa mesin dan bahasa assembly (kedua bahasa ini termasuk bahasa tingkat rendah/low level language), bahasa tingkat tinggi (high level language), dan

bahasa

generasi

keempat.

1) Bahasa mesin Bahasa mesin termasuk ke dalam bahasa tingkat rendah (low level language) karena sifat dari bahasa mesin lebih berorientasi pada mesin. Bahasa ini hanya akan dipahami oleh komputer itu sendiri. Bahasa ini berupa kode-kode yang terdiri dari sekumpulan angka yang ada di dalam komputer yang biasanya diwakili oleh kode angka 1 (satu) dan 0 (nol). Kode ini merupakan sinyal elektronik yang memberitahu komputer apa yang harus dikerjakan. Dalam penggunaannya biasanya intruksi dituliskan dalam bentuk bahasa pemrograman yang akan disampaikan ke kompiler, assembler, atau interpreter yang bertugas untuk menerjemahkan bahasa pemrograman tadi ke bahasa mesin. Assembler merupakan sebuah program. Program ini mengambil informasi yang dituliskan oleh programmer dalam bahasa assembly dan menerjemahkannya ke sebuah program yang dapat dieksekusi komputer. output assembler harus diproses oleh linker untuk menghasilkan program akhir. 2) Bahasa assembly Bahasa asembly adalah bahasa pemrograman yang menggunakan bahasa rakitan. Bahasa assembly kebanyakan digunakan untuk pengendalian hardware yang diwujudkan dalam kependekan katakata sebagai pengganti kode-kode biner, misalnya JNZ (jump non zero) yang artinya lompatlah jika

tidak sama dengan nol. Kelanjutan dari bahasa assembly adalah sebuah program yang berguna untuk mengambil informasi yang dituliskan oleh seorang programmer dalam bahasa assembly serta menerjemahkannya ke dalam sebuah program yang dapat dieksekusi oleh komputer, program ini dinamakan assembler. Output assembler harus diproses oleh linker untuk menghasilkan program akhir. 3) Bahasa tingkat tinggi (high level languange) Bahasa tingkat tinggi memiliki arti bahwa bahasa ini lebih mudah dimengerti oleh banyak orang karena memang dirancang untuk orang yang awam. Bahasa pemrograman yang termasuk dalam bahasa tingkat tinggi adalah sebagai berikut. a) BASIC (Beginners All-purposes Symbolic Instruction Code) Bahasa program ini dikembangkan pada tahun 1965 di Darmouth College. Penciptanya adalah John Kemeny dan Thomas Kurtz. BASIC dipergunakan dalam aplikasi matematika. Selain itu, BASIC juga digunakan dalam beberapa aplikasi lainnya seperti akuntasi, permainan, file simulasi, dan lain-lain. Keunggulan BASIC terletak pada kemudahan dalam pemakaiannya, sedangkan kelemahannya adalah tidak mendukung operasi bilangan kompleks dan penanganan terhadap berkas sangat terbatas

sehingga

tidak

cocok

untuk

aplikasi

bisnis.

b) LOGO Bahasa ini dikembangkan untuk pendidikan dan simulasi pengajaran pada anak-anak dalam menyelesaikan masalah dan melakukan pemrograman. Ditemukan pada tahun 1967 oleh Seymour Papert dengan menggunakan LISP, yaitu satu jenis bahasa pemrograman untuk kecerdasan buatan. Logo sangat mudah digunakan untuk membuat gambar, sehingga banyak digunakan dalam menghasilkan laporan-laporan bisnis dalam bentuk grafik. c) COBOL (Common Business Oriented Language) Program jenis ini sering digunakan dalam dunia bisnis dan komersial, mulai dikembangkan pada tahun 1959. Namun sampai saat ini, program ini masih banyak digunakan pada jenis komputer minicomputer dan mainframe. COBOL memiliki keunggulan-keunggulan sebagai berikut. 1) Memiliki kode untuk semua flatform yang sama, sehingga tidak tergantung pada mesin. 2) Menggunakan kata-kata bahasa Inggris, sehingga sangat mudah dipahami oleh programmer. 3) Penanganan masukan dan keluaran mudah dilakukan. 4) Penanganan terhadap berkas sudah tersedia dan bahkan mendukung berbagai macam tipetipe berkas seperti sekuensial dan indeks. Kelemahan dari bahasa ini adalah struktur penulisan program yang sangat banyak dan sangat kaku sehingga membuat programmer menjadi lelah dan bosan. d) PASCAL Bahasa ini ditemukan oleh Nicklaus Wirth tahun 1971. Bahasa ini dibuat untuk pengajaran pemrograman. Bahasa ini sangat populer di kalangan mahasiswa ilmu komputer dan teknik. Pascal memiliki keunggulan dibandingkan Fortran maupun Basic, yaitu sangat mudah dipelajari serta memiliki dukungan fungsi-fungsi matematika yang sangat lengkap. Namun Pascal juga memiliki kelemahan, yaitu tidak dapat mendukung operasi bilangan kompleks dan

tidak mendukung sarana aplikasi bisnis. Keberadaan Pascal dapat pula dijadikan bahasa dasar dalam pembuatan kode perangkat lunak Delphi (software untuk pengembangan program di lingkungan Windows). Pascal juga digunakan sebagai landasan pembuatan kode pada Kylix, yaitu software pengembang program di lingkungan Linux. e) Fortran (Formula Translator) Fortran merupakan bahasa tingkat tinggi yang pertama kali diciptakan. Bahasa ini mulai dikembangkan pada tahun 1956 oleh John Backus di IBM. Fortran digunakan dalam bidang aplikasi matematika, yaitu dalam hal perumusan dan perhitungan sehingga menjadi andalan keunggulan dari bahasa ini. Namun Fortran memiliki kelemahan, yaitu operasi masukan dan keluarannya sangat kaku dan sulit dipahami. Untuk membuat bahasa fortran, seorang programmer tidak harus mengetahui bahasa mesin, tetapi harus memahami tata bahasa dan peraturan bahasa fortran. f) Algol (Algoritma Language) Algol merupakan bahasa automatic yang cocok untuk memecahkan permasalahan yang membutuhkan perhitungan numerik untuk beberapa pengolahan logic. g) PL/1 (Programming Language) Programming language merupakan bahasa komputer yang dapat digunakan dalam segala bahasa. Pada kenyataannya bahasa ini sulit dipelajari dan hanya dapat digunakan pada mesin IBM. h) RPG (Report Program Generation) RPG adalah program untuk pengolahan laporan. Bahasa ini sangat populer di lingkungan minicomputer dan mainframe IBM. RPG diluncurkan pertama kali pada tahun 1964. i) APL (Aritmathic Programming Language) APL adalah bahasa komputer untuk memecahkan soal-soal matematika (ilmu hitung). Diperkenalkan dan diciptakan oleh Kenneth Iverson pada tahun 1962. Bahasa ini menggunakan keyboard khusus yang berisikan simbol-simbol yang kompleks yang memungkinkan untuk melakukan penyelesaian matematika yang kompleks. 4) Bahasa pemrograman generasi keempat Bahasa pemrograman generasi keempat meliputi Microsoft Visual Basic, Visual J++, dan Visual C++ yang dikembangkan dari keluarga besar bahasa tingkat tinggi untuk memudahkan pemrograman.

Latihan soal 1. Apakah yang dimaksd dengan bahasa pemrograman? 2. Apakah yang dimaksud dengan object program? 3. Sebutkan penerjemah bahasa pemrograman! 4. Sebutkan keunggulan mini computer dan main frame COBOL? 5. Apakah kelemahan dari fortran?

Jawaban

1. Merupakan program yang digunakan untuk menerjemahkan perintah-perintah yang ditulis dalam bahasa program ke dalam bahasa mesin (machine languange), sehingga dapat diterima dan dimengerti oleh komputer 2. Kumpulan dari instruksi-instruksi yang membentuk suatu program dalam bahasa mesin 3. Assembler, kompiler, dan interpreter. 4. Komputer minicomputer dan mainframe. COBOL memiliki keunggulan-keunggulan sebagai berikut. 1) Memiliki kode untuk semua flatform yang sama, sehingga tidak tergantung pada mesin. 2) Menggunakan kata-kata bahasa Inggris, sehingga sangat mudah dipahami oleh programmer. 3) Penanganan masukan dan keluaran mudah dilakukan. 5. Fortran memiliki kelemahan, yaitu operasi masukan dan keluarannya sangat kaku dan sulit dipahami

Penskoran No 1 2 3 4 5 Jumlah

Skor 20 20 20 20 20 100

Nilai = Betul x 20

Gorontalo, Juli 2018 Mengetahui Kepala Sekolah

Guru Mapel

…………………..

…………………..

RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan Nama Sekolah

:

Mata Pelajaran

: Pemrograman Dasar

Komp. Keahlian

: TKJ

Kelas/Semester

: X / 1 (Satu)

Tahun Pelajaran

: 2018 / 2019

Alokasi Waktu

: 12x 45 Menit

B. Kompetensi Inti dan Kompetensi Dasar Kompetensi Inti Memahami, menerapkan, menganalisis, dan mengevaluasi tentang pengetahuan faktual, konseptual, operasional dasar, dan metakognitif sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika pada tingkat teknis, spesifik, detil, dan kompleks, berkenaan dengan ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dalam konteks pengembangan potensi diri sebagai bagian dari keluarga, sekolah, duniakerja, warga masyarakat nasional, regional, dan internasional. Melaksanakan tugas spesifik, dengan menggunakan alat, informasi, dan prosedur kerja yang lazim dilakukan serta menyelesaikan masalah sederhana sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika Menampilkan kinerja mandiri dengan mutu dan kuantitas yang terukur sesuai dengan standar kompetensi kerja. Menunjukkan keterampilan menalar, mengolah, dan menyaji secara efektif, kreatif, produktif, kritis, mandiri, kolaboratif, komunikatif, dan solutif dalam ranah abstrak terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Menunjukkan keterampilan mempersepsi, kesiapan, meniru, membiasakan gerak mahir, menjadikan gerak alami, sampai dengan tindakan orisinal dalam ranah konkret terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Kompetensi Dasar 3.3

Menerapkan alur pemrograman dengan struktur bahasa pemrograman komputer

4.3

Menulis kode pemrograman sesuai dengan aturan dan sintaks bahasa pemrograman

C. Indikator Pencapaian Kompetensi 3.3

Menerapkan alur pemrograman dengan struktur bahasa pemrograman komputer

3.3.1 Mempraktekkan alur pemrograman dengan struktur bahasa pemrograman komputer 3.3.2 Mendemonstrasikan / membuat alur pemrograman dengan struktur bahasa pemrograman komputer

4.3

Menulis kode pemrograman sesuai dengan aturan dan sintaks bahasa pemrograman

4.3.1 Mengetahui kode – kode pemrograman dengan struktur bahasa pemrograman komputer

4.3.2 Memodifikasi kode – kode pemrograman dengan struktur bahasa pemrograman komputer

Tujuan Pembelajaran 1.

Setelah kegiatan pembelajaran diharapkan peserta didik dapat mendemonstrasikan alur pemrograman denga

bahasa pemrograman komputer dengan benar 2.

Setelah kegiatan pembelajaran diharapkan peserta didik dapat mempraktekkan alur pemrograman denga

bahasa pemrograman komputer dengan tepat 1.

Setelah kegiatan pembelajaran diharapkan peserta didik dapat mengubah kode pemrograman sesuai deng

sintaks bahasa pemrograman dengan benar 2.

Setelah kegiatan pembelajaran diharapkan peserta didik dapat memodifikasi kode pemrograman sesuai den

sintaks bahasa pemrograman dengan tepat D. Materi Pembelajaran Kode dan alur pemrograman dengan struktur bahasa pemrograman komputer E. Pendekatan, Strategi, Metode Pendekatan berfikir

: Sientific

Model Pembelajaran

: Discovery Based Learning

Metode Pembelajaran

: Observasi, diskusi dan tanya jawab.

F. Kegiatan Pembelajaran Pertemuan ke 1 – 3 No

Kegiatan

1

Pendahuluan

Langkah – langkah Pembejalaran Melakukan pembukaan dengan salam pembuka dan berdoa untuk memulai pembelajaran Melakukan pengkondisian peserta didik Menyampaikan tujuan pembelajaran yang akan dicapai. Menyampaikan teknik penilaian yang akan digunakan Menyampaikan metode pembelajaran yang akan digunakan Melakukan Pre test.

Waktu

15 Menit

Pemberian rangsangan 1. Guru meminta peserta didik untuk melihat materi di layar komputer tentang alur pemrograman dengan struktur bahasa pemrograman komputer 2. Guru meminta peserta didik untuk membaca buku panduan yang lainnya agar dapat mudah dipahami 3. Peserta didik dapat mengidentifikasi masalah dari materi yang disajikan oleh guru

2

Kegiatan Inti

Identifikasi masalah 1. Guru menugaskan peserta didik untuk mendemonstrasikan, mempraktekkan, mengubah dan memodifikasi kode pemrograman sesuai dengan aturan sintaks bahasa pemrograman 2. Pesera didik berusaha untuk dapat mendemonstrasikan, mempraktekkan, mengubah dan memodifikasi kode pemrograman sesuai dengan aturan sintaks bahasa pemrograman 3. Setelah peserta didik membaca buku panduan yang lainnya peserta didik dapat mendemonstrasikan, mempraktekkan, mengubah dan memodifikasi kode pemrograman sesuai dengan aturan sintaks bahasa pemrograman 4. Peserta didik mendiskusikan dengan kelompok yang lainnya tentang mendemonstrasikan, mempraktekkan, mengubah dan memodifikasi kode pemrograman sesuai dengan aturan sintaks bahasa pemrograman 5. Peserta didik menyampaikan hasil diskusi di depan kelas, kelompok yang lainnya memberikan tanggapan Pengumpulan data 1. Guru meminta peserta didik untuk mencari buku panduan atau informasi tentang mendemonstrasikan, memprak tekkan, mengubah dan memodifikasi kode pemrograman sesuai dengan aturan sintaks bahasa pemrograman 2. Peserta didik mencoba mendemonstrasikan, mempraktekkan, mengubah dan memodifikasi kode pemrograman sesuai dengan aturan sintaks bahasa pemrograman petunjuk dari guru sebagai pembuktian pengujian hipotesis Pembuktian

510 Menit

1. Peserta didik mampu mendemonstrasikan, mempraktekkan, mengubah dan memodifikasi kode pemrograman sesuai dengan aturan sintaks bahasa pemrograman 2. Guru meminta peserta didik untuk menilai hasil yang telah dibuat oleh peserta didik yang lainnya 3. Peserta didik menilai berdasarkan format penilaian yang sudah ada

3

Penutup

Menarik Simpulan 1. Guru menjelaskan kepada peserta didik tentang mendemonstrasikan, mempraktekkan, mengubah dan memodifikasi kode pemrograman sesuai dengan aturan sintaks bahasa pemrograman 2. Guru menugas kan peserta didik un tuk mende monstrasikan, mempraktekkan, mengubah dan memodifikasi kode pemrograman sesuai dengan atu ran sintaks bahasa pemrograman 3. Peserta didik mengerjakan tugas dari guru untuk mendemonstrasikan, mempraktekkan, mengubah dan memodifikasi kode pemrograman sesuai dengan aturan sintaks bahasa pemrograman 4. Peserta didik yang lain menanggapi kesimpulan dari peserta didik yang sedang maju untuk mempresentasikan hasilnya 5. Peserta didik memperbaiki hasil presentasi berdasarkan tanggapan dari temannya 1. Secara bersama-sama peserta didik diminta untuk menyimpulkan tentang kode dan alur bahasa pemrograman 2. Guru memberikan konfirmasi dan penguatan terhadap kesimpulan dari hasil pembelajaran. 3. Guru memberikan evaluasi (post test) dan menyuruh peserta didik secara individu untuk mengerjakannya. 4. Peserta didik diberi tugas untuk melakukan mengerjakan latihan tentang kode dan alur bahasa pemrograman 5.Guru mengakhiri kegiatan belajar dengan memberikan pesan pada peserta didik untuk mempelajari materi berikutnya. 6. Guru menyuruh salah satu peserta didik untuk memimpin doa penutup

15 Menit

Alat/ bahan, Media Pembelajaran Daftar hadir Spidol Papan waith board Leptop LCD Lembar penilaian

Sumber Belajar Internet Buku – buku penunjang KBM Penilainan Pembelajaran Teknik

: Non Test dan Test

Bentuk

:

 Penilaian pengetahuan

: Tes tertulis uraian

 Penilaian keterampilan

: Praktek

URAIAN MATERI Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode. Pseudocode adalah kode yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada pemrogram. Sedangkan algoritma disajikan dengan gambar, yaitu dengan Flowchart

B.

Flowchart (Diagram Alir) Flowchart atau bagan alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di dalam suatu program secara logika. Flowchart merupakan alat yang banyak digunakan untuk menggambarkan algoritma dalam bentuk notasi-notasi tertentu. Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis penghubung. Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah. Di samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek. Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran:

1) Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat. 2) Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas. 3) Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.

Berikut merupakan beberapa contoh simbol flowchart yang disepakati olehdunia pemrograman Pengertian Simbol Flowchart: 1.

Terminator : Notasi ini digunakan untuk menunjukkan awal dan akhir suatu algoritma

2.

Aliran data : Notasi ini disebut Arrow yang digunakan untuk menunjukkan arus data atau aliran data dari proses satu ke proses lainnya.

3.

Input / Output : Notasi ini disebut Data yang digunakan untuk mewakili data input atau output atau menyatakan operasi pemasukan data dan pencetakan hasil.

4.

Proses : Notasi ini disebut Process yang digunakan untuk mewakili suatu proses.

5.

Percabangan : Notasi ini disebut

Decision yang digunakan untuk suatu pemilihan,

penyeleksian kondisi di dalam suatu program 6.

Preparation : Notasi ini digunakan untuk memberi nilai awal, nilai akhir, penambahan / pengurangan bagi suatu variable counter.

7.

Predefined Process / Call : Notasi ini digunakan untuk menunjukkan suatu operasi yang rinciannya ditunjukkan ditempat lain (prosedur, sub-prosedur, fungsi)

8.

Connector : Notasi ini digunakan untuk menunjukkan sambungan dari flowchart yang terputus di halaman yang sama atau halaman berikutnya.

9.

Off page Connector : Penghubung bagian-bagian flowchart yang berada pada halaman berbeda

Contoh Flowchart : Problem: Menghitung luas persegi panjang Algoritma: Masukkan panjang (p)

Masukkan lebar (l) Hitung luas (L), yaitu panjang kali lebar Cetak luas (L) Algoritma Pemrograman :

A.

Struktur Dasar Algoritma

Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration) atau kombinasi dari ketiganya. Jadi struktur dasar pembangunan algoritma ada tiga, yaitu: 1)

Struktur Runtunan / Beruntun : Digunakan untuk program yang pernyataannya sequential atau urutan.

2)

Struktur Pemilihan / Percabangan : Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi.

3)

Struktur Perulangan : Digunakan untuk program yang pernyataannya akan dieksekusi berulangulang.

1.

Ada tiga struktur dasar yang digunakan dalam membuat algoritma yaitu struktur berurutan (sequencing), struktur pemilihan/keputusan/percabangan (branching) dan struktur pengulangan (looping). Sebuah

algoritma

biasanya

akan menggabungkan ketiga

buah struktur ini untuk menyelesaikan masalah. Pada bagian ini kita akan bahas lebih dulu struktur algoritma berurutan. Struktur berurutan dapat kita samakan dengan mobil yang sedang berjalan pada jalur lurus yang tidak terdapat persimpangan seperti tampak pada Gambar disamping Mobil tersebut akan melewati kilometer demi kilometer jalan sampai tujuan Algoritma Runtunan tercapai Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya, yaitu sebuah instruksi dieksekusi setelah instruksi sebelumnya selesai dieksekusi.

Urutan instruksi

menentukan keadaan akhir dari algoritma. Bila urutannya diubah, maka hasil akhirnya mungkin juga berubah. Menurut Goldshlager dan Lister (1988) struktur berurutan mengikuti ketentuanketentuan sebagai berikut: a.

Tiap instruksi dikerjakan satu persatu

b.

Tiap instruksi dilaksanakan tepat sekali, tidak ada yang diulang

c.

Urutan instruksi yang dilaksanakan pemroses sama dengan urutan aksi sebagaimana yang tertulis di dalam algoritmanya

d.

Akhir dari instruksi terakhir merupakan akhir algoritma.

2. Struktur Algoritma Percabangan Sebuah program tidak selamanya akan berjalan dengan mengikuti struktur berurutan, kadangkadang kita perlu merubah urutan pelaksanaan program dan menghendaki agar pelaksanaan program meloncat ke baris tertentu. Peristiwa ini kadang disebut sebagai percabangan/pemilihan atau keputusan. 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.

3.

Struktur Algoritma Perulangan / Pengulangan Dalam banyak kasus seringkali kita dihadapkan pada sejumlah pekerjaan yang harus diulang berkali.Salah satu contoh yang gampang kita jumpai adalah balapan mobil seperti tampak pada gambar ini 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.

Struktur pengulangan terdiri dari dua bagian : 1.

Kondisi pengulangan, yaitu syarat yang harus dipenuhi untuk melaksanakan pengulangan. Syarat ini biasanya dinyatakan dalam ekspresi Boolean yang harus diuji apakah bernilai benar (true) atau salah (false)

2.

Badan pengulangan (loop body), yaitu satu atau lebih instruksi yang akan

diulang.

Pada struktur pengulangan, biasanya juga disertai bagian inisialisasi dan bagian terminasi. Inisialisasi adalah instruksi yang dilakukan sebelum pengulangan dilakukan pertama kali. Bagian insialisasi umumnya digunakan untuk memberi nilai awal sebuah variable. Sedangkan terminasi adalah instruksi yang dilakukan setelah pengulangan selesai dilaksanakan. Ada beberapa bentuk pengulangan yang dapat digunakan, 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 diprogram. a.

Struktur 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. Contoh : Diketahui sebuah himpunan A yang beranggotakan bilangan 1, 3, 5, .., 19. Buatlah flowchart untuk mencetak anggota himpunan tersebut. Penyelesaian:

Pada contoh ini, kita mencoba menentukan hasil dari sebuah flowchart . Bagaimana menurut kalian jawabannya? Marilah kita uraikan jalannya fowchart tersebut. Pada flowchart, setelah Start, kita meletakkan satu proses yang berisi pernyataan A = 1. Bagian inilah yang disebut inisialisasi . Kita memberi nilai awal untuk A = 1. Variabel counter-nya adalah X dengan nilai awal 1 dan nilai akhir 10, tanpa increment (atau secara default increment-nya adalah 1). Ketika masuk ke badan loop untuk pertama kali maka akan dicetak langsung nilai variabel A. Nilai variabel A masih sama dengan 1. Kemudian proses berikutnya adalah pernyataan A = A + 2. Pernyataan ini mungkin agak aneh, tapi ini adalah sesuatu yang pemrograman. Arti dari pernyataan ini adalah gantilah nilai A yang lama dengan hasil penjumlah nilai A lama ditambah 2. Sehingga A akan bernilai 3. Kemudian dilakukan pengulangan yang ke-dua. Pada kondisi ini nilai A adalah 3, sehingga yang tercetak oleh perintah print adalah 3. Baru kemudian nilai A kita ganti dengan penjumlahan A + 2. Nilai A baru adalah 5. Demikian seterusnya. Sehingga output dari flowchart ini adalah 1,3, 5, 7, .., 19. a.

Struktur 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 hampir semua bahasa pemrograman namun dengan sintaks yang berbeda. Struktur While akan mengulang pernyataan pada badan loop sepanjang kodisi pada While bernilai benar. Dalam artian kita tidak perlu tahu pasti berapa kali diulang. Yang penting sepanjang kondisi pada While dipenuhi maka pernyataan pada badan loop akan diulang. Penyelesaian: Perhatikan Gambar 5.20.

bisakah kalian menentukan hasil dari flowchart

tersebut? Perhatikan tahapan eksekusi flowchart berikut ini. 1.

Pada flowchart ini ada dua variabel yang kita gunakan yaitu A dan B. Kedua variabel tersebut kita inisialisasi nilai awalnya (A = 1 dan B = 0) sebelum proses loop terjadi. Variabel A adalah variabel counter.

2.

Pada simbol decision, nilai A akan diperiksa apakah memenuhi kondisi (< 10). Jika Ya maka perintah berikutnya dieksekusi, jika tidak maka program akan berhenti. Pada awal eksekusi ini kondisi akan terpenuhi karena nilai A= 1.

3. Jalankan perintah Print B. 4.

Nilai variabel A kemudian diganti dengan nilai A lama (1) ditambah 2. Sehingga nilai variabel A baru adalah 3. Sedangkan nilai variabel B = 9 (hasil perkalian A = 3). Program akan berputar kembali untuk memeriksa apakah nilai variabel A masih lebih kecil dari 10. Pada kondisi ini nilai A = 3, sehingga kondisi masih terpenuhi.

Kemudian langkah

berulang ke langkah ke 3. Begitu seterusnya sampai nilai variabel A tidak lagi memenuhi syarat kurang dari 10.

Latihan soal 1. Sebutkan penyajian algoritma? 2. Apa fungsi symbol connector pada symbol flowcart?

3. Sebutkan symbol – symbol flowchart! 4. Apa yang Anda ketahui tentang struktur pengulangan dengan for? 5. Apakah perbedaan inisialisasi dengan terminasi?

Jawaban 1. Tulisan dan gambar 2 Connector : Notasi ini digunakan untuk menunjukkan sambungan dari flowchart yang terputus di halaman yang sama atau halaman berikutnya. 3. Terminator, Aliran data, input / output, proses, percxabangan, preparation, predefined process, connector 4 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. 5. 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

Penskoran No 1 2 3 4 5 Jumlah

Skor 20 20 20 20 20 100

Nilai = Betul x 20 Gorontalo, Juli 2018 Mengetahui Kepala Sekolah

Guru Mapel

…………………..

…………………..

RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan Nama Sekolah

:

Mata Pelajaran

: Pemrograman Dasar

Komp. Keahlian

: TKJ

Kelas/Semester

: X / 1 (Satu)

Tahun Pelajaran

: 2018 / 2019

Alokasi Waktu

: 4x 45 Menit

B. Kompetensi Inti dan Kompetensi Dasar Kompetensi Inti Memahami, menerapkan, menganalisis, dan mengevaluasi tentang pengetahuan faktual, konseptual, operasional dasar, dan metakognitif sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika pada tingkat teknis, spesifik, detil, dan kompleks, berkenaan dengan ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dalam konteks pengembangan potensi diri sebagai bagian dari keluarga, sekolah, duniakerja, warga masyarakat nasional, regional, dan internasional. Melaksanakan tugas spesifik, dengan menggunakan alat, informasi, dan prosedur kerja yang lazim dilakukan serta menyelesaikan masalah sederhana sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika Menampilkan kinerja mandiri dengan mutu dan kuantitas yang terukur sesuai dengan standar kompetensi kerja. Menunjukkan keterampilan menalar, mengolah, dan menyaji secara efektif, kreatif, produktif, kritis, mandiri, kolaboratif, komunikatif, dan solutif dalam ranah abstrak terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Menunjukkan keterampilan mempersepsi, kesiapan, meniru, membiasakan gerak mahir, menjadikan gerak alami, sampai dengan tindakan orisinal dalam ranah konkret terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Kompetensi Dasar 3.4 Menerapkan penggunaan tipe data, variabel, konstanta, operator, dan ekspresi 4.4 Membuat kode program dengan tipe data, variabel, konstanta, operator dan ekspresi C. Indikator Pencapaian Kompetensi 3.4 Menerapkan penggunaan tipe data, variabel, konstanta, operator, dan ekspresi 3.4.1 Mempraktekkan penggunaan tipe data, variabel, konstanta, operator, dan ekspresi 3.4.2 Mengetahui cara penggunaan tipe data, variabel, konstanta, operator, dan ekspresi 4.4 Membuat kode program dengan tipe data, variabel, konstanta, operator dan ekspresi 4.4.1 Mengubah kode program dengan tipe data, variabel, konstanta, operator dan ekspresi 4.4.2

Memodifikasi kode program dengan tipe data, variabel, konstanta, operator dan ekspresi

Tujuan Pembelajaran 1. Setelah kegiatan pembelajaran diharapkan peserta didik dapat mendemonstrasikan penggunaan tipe data, variable, konstanta, operator dan ekspresi dengan benar 2. Setelah kegiatan pembelajaran diharapkan peserta didik dapat mempraktekkan penggunaan tipe data, variable, konstanta, operator dan ekspresi dengan tepat 1. Setelah kegiatan pembelajaran diharapkan peserta didik dapat mengubah kode dengan tipe data, variable, konstanta, operator dan ekspresi dengan benar 2. Setelah kegiatan pembelajaran diharapkan peserta didik dapat memodifikasi kode dengan tipe data, variable, konstanta, operator dan ekspresi dengan tepat

D. Materi Pembelajaran kode program dengan tipe data, variabel, konstanta, operator dan ekspresi E. Pendekatan, Strategi, Metode Pendekatan berfikir

: Sientific

Model Pembelajaran

: Project Based Learning

Metode Pembelajaran

: Observasi, diskusi dan tanya jawab.

F. Kegiatan Pembelajaran Pertemuan ke 1 No

Kegiatan

1

Pendahuluan

Langkah – langkah Pembejalaran Melakukan pembukaan dengan salam pembuka dan berdoa untuk memulai pembelajaran Melakukan pengkondisian peserta didik Menyampaikan tujuan pembelajaran yang akan dicapai. Menyampaikan teknik penilaian yang akan digunakan Menyampaikan metode pembelajaran yang akan digunakan Melakukan Pre test.

Waktu

15 Menit

Penentuan pertanyaan mendasar 1. Guru meminta peserta didik untuk memperhatikan video yang ada di layar komputer tentang pembuatan kode program dengan tipe data, variabel, konstanta, operator dan ekspresi 2. Guru meminta peserta didik memperhatikan dan menyimak tayangan video tersebut 3. Peserta didik membuat catatan kecil tentang materi atau video yang belum jelas untuk ditanyakan pada guru 4. Peserta didik mengajukan pertanyaan dari materi yang telah dicatat untuk acuan dalam mempraktekkan Membuat kode program dengan tipe data, variabel, konstanta, operator dan ekspresi

2

Kegiatan Inti

Merndesain Perencanaan Proyek 1. Peserta didik bertanya untuk memperoleh penjelasan yang mendetail dari guru dari tayangan video yang telah diputar 2. Guru menjelaskan dari masing – masing pertranyaan dari peserta didik agar peserta didik memahaminya 3. Guru mempraktekkan Membuat kode program dengan tipe data, variabel, konstanta, operator dan ekspresi di depan peserta didik 4. Peserta didik memperhatikan dan mencoba praktek Membuat kode program dengan tipe data, variabel, konstanta, operator dan ekspresi pemrograman komputer sendiri Menyusun Jadwal 1. Peserta didik memahami penjelasan cara Membuat kode program dengan tipe data, variabel, konstanta, operator dan ekspresi pemrograman komputer dari guru 2. Guru membuat jadwal untuk mengetes peserta didik dalam Membuat kode program dengan tipe data, variabel, konstanta, operator dan ekspresi pemrograman komputer 3. Guru memberitahukan jadwal Membuat kode program dengan tipe data, variabel, konstanta, operator dan ekspresi pemrograman komputer kepada peserta didik

150 Menit

4. Peserta didik mendengarkan penjelasan atau informasi dari guru Memonitor pese3rta didik dan kemajuan proyek 1. Guru memanggil peserta didik sesuai absen untuk maju mendemonstrasikan, mempraktekkan, mengubah,, memodifikasi kode program dengan tipe data, variabel, konstanta, operator dan ekspresi pemrograman komputer 2. Peserta didik maju satu persatu sesuai dengan panggilan guru 3. Peserta didik mendemonstrasikan, mempraktekkan, mengubah, memodifikasi kode program dengan tipe data, variabel, konstanta, operator dan ekspresi pemrograman komputer 4. Guru memperhatikan peserta didik dalam mendemonstrasikan, mempraktekkan, mengubah,, memodifikasi kode program dengan tipe data, variabel, konstanta, operator dan ekspresi pemrograman komputer dan mengarahkan jika ada peserta didik yang belum tahu

3

Penutup

Menguji hasil evaluasi dan mengevaluasi pengalaman 1. Guru mengamati hasil yang telah dibuat oleh peserta didik 2. Guru menguji hasil dari peserta didik dalam membuat kode program dengan tipe data, variabel, konstanta, operator dan ekspresi pemrograman komputer 3. Peserta didik mengamati penjelasan guru jika ada salah dalam membuat kode program dengan tipe data, variabel, konstanta, operator dan ekspresi pemrograman komputer 4. Guru mengevaluasi dari hasil peserta didik dalam dalam membuat kode program dengan tipe data, variabel, konstanta, operator dan ekspresi pemrograman komputer 1. Secara bersama-sama peserta didik diminta untuk menyimpulkan tentang kode program dengan tipe data, variabel, konstanta, operator dan ekspresi pemrograman komputer 2. Guru memberikan konfirmasi dan penguatan terhadap kesimpulan dari hasil pembelajaran. 3. Guru memberikan evaluasi (post test) dan menyuruh peserta didik secara individu untuk mengerjakannya. 4. Peserta didik diberi tugas untuk melakukan mengerjakan latihan tentang kode program dengan tipe data, variabel, konstanta, operator dan ekspresi pemrograman komputer 5. Guru mengakhiri kegiatan belajar dengan memberikan pesan pada peserta didik untuk mempelajari materi berikutnya. 6. Guru menyuruh salah satu peserta didik untuk memimpin doa penutup

15 Menit

Alat/ bahan, Media Pembelajaran Daftar hadir Spidol Papan waith board Leptop LCD Lembar penilaian

Sumber Belajar Internet Buku – buku penunjang KBM Penilainan Pembelajaran Teknik

: Non Test dan Test

Bentuk

:



Penilaian pengetahuan

: Tes tertulis uraian



Penilaian keterampilan

: Praktek

URAIAN MATERI TIPE DATA, KONSTANTA, EKSPRESI, OPERATOR DAN VARIABEL PADA PASCAL A. TIPE DATA

Tipe data biasanya digunakan untuk menentukan jenis nilai yang dapat ditampung oleh suatu variabel, umumnya telah menyediakan tipe-tipe data yang sederhana (simple) maupun yang terstruktur. Apabila kita membutuhkan tipe data yang belum tersedia, kita dapat mendefinisikan sendiri tipe data baru yang disebut enumerated type.

Setiap data yang ada pada program pascal memiliki tipe data, baik berupa angka bulat (integer), angka biasa (real), atau berupa karakter (char),(String) dan sebagainya.

Jenis - Jenis data yang di kenal dalam Bahasa Pascal yaitu : 

Tipe Data Sederhana



Tipe Data Terstruktur

Tipe Data Sederhana 1.

Bilangan bulat ( integer ) Tipe data ini menerima angka dan bisa dilakukan proses aritmatika. Tipe data ini adalah tipe data bilangan bulat, yaitu Bilangan atau angka yang tidak memiliki titik desimal atau pecahan. Contoh : Program display_maxint;uses wincrt; begin writeln (maxint) end. Hasilnya: 32.767

2.

Bilangan biasa ( real ) Bilangan atau angka yang bisa memiliki titik desimal atau pecahan, Tipe data ini menerima angka dan koma serta bisa dilakukan proses aritmatika. Contoh : a' 'B' '+', dsb.

3.

Boolean Boolean adalah tipe data yang hanya mempunyai dua kemungkinan, yaitu true dan false. Biasanya digunakan untuk operasi logika dengan ungkapan AND, OR, atau NOT Contoh : Program display_bool;uses wincrt; begin writeln(ord(true)); writeln(ord(false)); end. Hasilnya: 1 0 3.2.

4.

Karakter ( char ) Karakter adalah data tunggal yang mewakili semua huruf, simbol baca, dan juga simbol angka yang tidak dapat dioprasikan secara matematis, misalnya: ’A’, ’B’, .....,’Z’, ’?’,’!’, dst. Tipe data ini adalah tipe data yang menerima kumpulan karakter (huruf, angka, symbol) tipe data ini tidak bisa dilakukan proses aritmatika.

5.

String

String adalah tipe data bentukan yang merupakan deretan karakter yang membentuk satu kata atau satu kalimat, yang biasanya diapit oleh dua tanda kutip. Tipe data yang menerima kumpulan karakter (huruf, angka, symbol) tipe data ini tidak bisa dilakukan proses aritmatika Tipe Data Terstruktur 1.

Array Array atau lark adalah tipe terstruktur yang mempunyai komonen dalam jumlah yang tetap dan setiap komponen mempunyai tipe data yang sama. Posisi masing-masing komponen dalam array dinyatakan sebagi nomor index. Contoh: Type Tipe_saya=array[1..100] of integer Var Var_baru : tipe_saya;

2.

Record Definisi Record hampir sama dengan Array, tetapi yang membedakan antara keduanya adalah kalau Array semua komponennya bertipe data yang sama sedangkan Record setiap komponennya bisa bertipe data yang beda-beda. Contoh: TYPE my_rec = RECORD Nama : STRING[90]; Npm : STRING[ 8] ; Nilai : REAL; END; VAR Data nya : my re c;

3.

Set Himpunan (set) adalah kumpulan obyek yang mempunyai tipe data yang sama dan urutan penulisannya tidak diperhatikan. Setiap obyek dalam suatu himpunan disebut dengan anggota atau elemen himpunan. Contoh: TYPE irama = (JAZZ, POP, ROCK ,DANGDUT, SKA); Musik = SET OF irama; VAR Jenis musik : Musik;

4. File File (Berkas) adalah kumpulan sejumlah komponen yang bertipe data sama, yang jumlahnya tidak tertentu, dan biasanya tersimpan dalam suatu media penyimpan luar Tipe Data Penunjuk Pointer Tipe data pointer merupakan tipe data yang berbeda dengan yang lainnya. Semua tipe data yang lainnya bersifat STATIS sedangkan tipe Pointer bersifat DINAMIS. Tipe ini merupakan tipe

data untuk suatu variabel, dimana isi variabel ini berupa alamat variabel lain, dalam artian variabel pointer adalah variabel yang menunjuk nilai atau alamat variabel lainnya.

B. VARIABEL Variabel adalah identifier yang berisi data yang dapat berubah-ubah nilainya di dalam program. Variabel dapat disebut juga sebagai perubah nilai, yaitu sesuatu yang dapat digunakan untuk menyimpan nilai, dimana nilai yang disimpan ini dapat selalu berubah-ubah.

JENIS-JENIS VARIABEL : 1.

Boolean Data boolean disebut juga data bilangan lojik. Tipe data boolean hanya mengenal dua buah nilai yaitu benar (true) dan salah (false).

2.

Integer Data integrer merupakan nilai bilangan bulat dalam bentuk desimal misalnya 1, 2, 34, 765, 0, 89, -70. tipe data integrer mempunyai ranah nilai yang tidak terbatas. Dalam Turbo Pascal terdapat lima macam tipe data integrer, yaitu: byte, shorint, word, integer dan longint.

3.

Real Data real adalah data yang mengandung data desimal misalkan 3.65, 9.0876, 2.00, dan lain-lain. Bilangan real juga dapat dituliskan dengan notasi E, yang artinya perpangkatan sepuluh. Misalnya 230.40E32 artinya 230.40 x10³².

4.

Karakter (char) Data karakter ditulis dengan menggunakan tanda petik ( “ “ ) misalkan “A” ,”@”, “z”, “#”, “1”, “-234”, “+”, “<” dan lain-lain. Tapi perlu diperhatikan “9” adalah karakter tetapi jika di tulis 9 maka tipenya menjadi integer. Maka sarat mutlak menulisan karakter harus menggunakan tanda baca petik ( “ “ ).

5.

String Data string adalah untaian karakter-karakter dengan panjang tertentu yang terletak diantara tanda petik tunggal. nilai data string akan menepati memori sebesar banyaknya karakter stringnya ditambah dengan 1 byte. Contoh dari data sring adalah seperti ‘teknik’, ‘informatika’, ‘9876151’ dan sebagainya.

6.

Pointer Pointer adalah suatu variabel yang berisi alamat yang akan disimpan pada memori.

7.

Ordinal ordinal adalah tipe data yang merupakan subset dari tipe data sederhana (tipe data standart dan tipe data yang di definisikan sendiri oleh pemakai). Yang dimaksud dengan tipe data sederhana adalah semua tipe data kecuali tipe data riel. Jadi yang termasuk tipe data ordinal adalah tipe data stendart (integer, shortint, longit, byte, word, boolean, dan chart), dan tipe data yang didefinisikan sendiri oleh pemakai

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

C. KONSTANTA 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 berubahubah, maka sebuah varibel lebih baik diperlakukan sebagai konstanta. Pada sebuah kode program, biasanya nilai data dari konstanta diberikan langsung di bagian deklarasi konstanta. Sedangkan untuk variabel biasanya hanya ditentukan nama variabel dan tipe datanya tanpa isian nilai data. Aturan penamaan variabel juga berlaku untuk penamaan konstanta. Demikian juga aturan penetapan tipe data. konstanta dibagi menjadi 4 : 

Konstanta integer, berupa integer biasa, integer panjang (long int) dan integer tak bertanda (unsigned integer). Nilainya dapat berupa desimal, oktal atau hexadesimal



Konstanta floating point, dapat mengandung nilai pecahan, yang biasa ditulis dalam bentuk pecahan biasa maupun bentuk eksponensial dan selalu dinyatakan dalam double, kecuali jika diakhiri dengan F atau f (menyatakan konstanta float).



Konstanta string, merupakan deretan karakter yang diawali dan diakhiri dengan tanda petik ganda (“…“). Juga dapat mengandung karakter yang menggunakan tanda \ yang disebut karakter escape (escape sequence).



Konstanta karakter, selalu diawali dan diakhiri dengan tanda petik tunggal (‘…’). Beberapa konstanta karakter dapat diawali dengan tanda \ (penempatannya setelah tanda petik tunggal). Sebagai contoh, jika kita membuat program perhitungan matematik yang menggunakan nilai pi (3.14159) yang mungkin akan muncul dibanyak tempat pada kode program, kita dapat membuat pi sebagai konstanta. Penggunaan konstanta pi akan lebih memudahkan penulisan kode program dibanding harus mengetikkan nilai 3.14159 berulang-ulang. Konstanta digunakan apabila anda sering menggunakan suatu nilai konstanta secara berulang-ulang dalam kode anda, dan anda tidak ingin kerepotan untuk mengetikkan nilai konstanta itu terus menerus. Untuk membuat sebuah konstanta pada dasarnya sama sepertUntuk membuat sebuah konstanta pada dasarnya sama seperti Variabel. const NamaKonstanta: JenisKonstanta := NilaiKonstanta;

D. EKSPRESI Ekspresi adalah transformasi nilai menjadi keluaran yang dilakukan melalui suatu perhitungan (komputasi).

Ekspresi terdiri atas operand dan operator, contoh ekspresi: “a + b”.Hasil Evaluasi dari sebuah Ekpresi adalah nilai yang sesuai dengan type operand yang dipakai MACAM – MACAM EKPRESI Ø

Ekspresi aritmatika Ekspresi yang baik operand-nya bertipe numerik dan hasilnya juga bertipe numerik.

·

Ekspresi aritmatika memakai operator aritmatika. Pada ekspresi aritmetik terdapat 2 buah operator yaitu :

·

Operator biner, yaitu ekspresi yang operatornya membutuhkan 2 buah operand. Contoh a+ b

·

Operator Uner, yaitu “-” atau operator yang punya 1 operand contoh “-2” Contoh 2. (Penulisan ekspresi dengan notasi algoritma)

T = 5/9 * (c + 32) Z = (2*x + y) / (5 * w) Y = 5((a+b) / (c*d) + m (p + q))

Ø

Ekspresi Perbandingan/ Relasional Ekspresi relasional adalah ekspresi dengan operator <, ≤, >, ≥, =, dan ≠, not, and, or dan xor dengan menghasilkan nilai bertipe boolean (true atau false). Biasanya ekspresi Relasional disebut ekspresi boolean.

Ø

Ekspresi Logika (Menggunakan Operator Boolean) Adalah sebuah perintah yang akan mengeksekusi suatu perintah apabila kondisi tertenti terpenuhi. Operator boolean digunakan untuk menghubungkan dua buah ekspresi logika. Pada kesempatan ini operator boolean yang akan dibahas adalah AND dan OR. Operator AND digunakan untuk menghubungkan dua buah ekspresi logika dan hasilnya TRUE jika kedua ekspresi tersebut bernilai TRUE. Logika I FALSE FALSE TRUE

Operator Boolean

Lgika II

Hasil Akhir

AND

FALSE TRUE FALSE

FALSE FALSE FALSE

TRUE

TRUE

TRUE

Operator OR dipergunakan untuk menghubungkan dua buah ekspresi logika dan hasilnya bernilai TRUE jika minimal salah satu ekspresi logika bernilai TRUE. Logika I FALSE FALSE TRUE TRUE

Operator Lgika II Boolean FALSE TRUE OR FALSE TRUE

Hasil Akhir FALSE TRUE TRUE TRUE

Contoh01 1. Program PenerimaanPegawai; 2. Uses Crt; 3. Var Umur : Integer; 4. Ket : String; 5. Begin 6. ClrScr; 7. Write(‘Umur calon pegawai : ‘); Readln(Umur); 8. If (Umur >= 20) AND (Umur <= 30) THEN Ket:=’DITERIMA’ 9. ELSE Ket:=’DITOLAK’; 10. Writeln(‘Status pegawai : ‘,Ket); 11. End.

E. OPERATOR OPERATOR DALAM BAHASA PASCAL Operator adalah simbol-simbol khusus yang digunakan untuk mengoperasikan suatu nilai data . Tanda operasi (operator) di dalam bahasa Pascal dikelompokkan ke dalam beberapa kategori, yaitu

·

Operator Boolean Operator yang menyatakan suatu kondisi tertentu. Macam dari operator boolean ini adalah: NO 1 2 3 

OPERATOR Not And Or

ARTI Hasil ouput akan bernilai 1 apabila semua masukan bernilai 0 Hasil output akan bernilai 1 apabila semua masukan bernilai 1 Hasil output akan bernilai 1 apabila masulan salah satunya bernilai1

Assignment operator

Menggunakan simbol titik dua diikuti oleh tanda sama dengan (:=). Contoh : A:=B; 

Binary operator

Untuk mengoperasikan dua buah operand. Operand dapat berbentuk konstanta ataupun variabel. Operator ini digunakan untuk operasi aritmatika yang berhubungan dengan nilai tipe data integer dan real. Operator * Div / Mod + -

Operasi perkalian pembagian bulat pembagian real sisa pembagian pertambahan pengurangan

Tipe Operand real, realinteger, integerreal, integer integer,integer real,realinteger,integerreal,integer integer,integer real,realinteger,integerreal,integer real,realinteger,integerreal,real

Contoh : 15*5 hasilnya

75

20/3 hasilnya

6.6666666667E+00

Tipe Hasil realintegerreal integer Realrealreal integer realintegerreal realintegerreal

div 3 

hasilnya

6

20 mod 3 hasilnya

2

Unary operator

Dapat berupa unary minus dan unary plus. Unary minus digunakan untuk menunjukkan nilai negatif, baik pada operang numerik real maupun integer. Unaru plus adalah operator untuk memberai tanda plus. Lihat pada table berikut : (operator pada unary operator) Operator Arti + (Plus) Positif - (Minus) Negatif Contoh :



-5

+7

-2.5

+2.5

Relational operator

Membandingkan hubungan antara dua buah operand dan akan didapatkan hasil tipe boolean, yaitu True atau False. Operator-operator yang terlibat adalah : = : sama dengan > : lebih besar < : lebih kecil <> : tidak sama dengan >= : lebih besar atau sama dengan <= : kurang atau sama dengan 

Logical operator

Terdapat 4 buah logical operator yaitu : NOT, AND, OR dan XOR. Operator ini bekerja dengan nilainilai logika, yaitu True dan False. True:jika tipe integer bernilai tidak nol(0) False jika tipe integer bernilai nol(0) 

Address operator Operator ini berhubungan dengan alamat di memori, yaitu : @ : Addriess-of Operator adalah alamat dari suatu nilai variabel. ^ : Indirection Operator adalahnilai di alamt yang ditunjukkan. Operator ini akan digunakan pada pembahasan mengenai pointer.



Set operator Digunakan untuk operasi himpunan

Operator Operasi + Union Perbedaan himpunan * Perkalian himpunan 

String operator Digunakan untuk operasi string. Hanya ada sebuah operator string saja, yaitu operator + yang digunakan untuk menggabungkan dua buah nilai string.

Contoh : Nama1 := ‘Asa‘;

Nama2 := ‘Anugrah’; Nama3 := Nama1 + Nama2; LAMBANG-LAMBANG: Perioritas I II III IV V VI VII VIII

Operator () ++ -* / % + = += -= *= /= %= ! < > <= >= && ||

Keterangan Tanda kurung Increment, Decrement Kali, bagi dan sisa Tambah dan kurang Operator pemberi nilai aritmatika Operator logika NOT Operator relasional Operator logika DAN dan ATAU

Latihan soal 1. Apakah fungsi tipe data? 2. Sebutkan jenis – jenis tipe data! 3. Apakah yang dimaksud dengan string? 4. Apakah fungsi dari ekspresi logika? 5. Apa yang Anda ketahui tentang ,logika operator? Jawaban 1. Untuk menentukan jenis nilai yang dapat ditampung oleh suatu variable 2. Tipe Data Sederhana dan tipe data terstruktur 3. Tipe data bentukan yang merupakan deretan karakter yang membentuk satu kata atau satu kalimat yang biasanya diapit oleh dua tanda kutip 4. Untuk menghubungkan dua buah ekspresi logika. 5. Logika operator Terdapat 4 buah logical operator yaitu : NOT, AND, OR dan XOR. Operator ini bekerja dengan nilai-nilai logika, yaitu True dan False. True:jika tipe integer bernilai tidak nol(0) False jika tipe integer bernilai nol(0) Penskoran No 1 2 3 4 5 Jumlah

Skor 20 20 20 20 20 100

Nilai = Betul x 20

Gorontalo, Juli 2018 Mengetahui Kepala Sekolah

Guru Mapel

…………………..

…………………..

RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan Nama Sekolah

:

Mata Pelajaran

: Pemrograman Dasar

Komp. Keahlian

: TKJ

Kelas/Semester

: X / 1 (Satu)

Tahun Pelajaran

: 2018 / 2019

Alokasi Waktu

: 8x 45 Menit

B. Kompetensi Inti dan Kompetensi Dasar Kompetensi Inti Memahami, menerapkan, menganalisis, dan mengevaluasi tentang pengetahuan faktual, konseptual, operasional dasar, dan metakognitif sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika pada tingkat teknis, spesifik, detil, dan kompleks, berkenaan dengan ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dalam konteks pengembangan potensi diri sebagai bagian dari keluarga, sekolah, duniakerja, warga masyarakat nasional, regional, dan internasional. Melaksanakan tugas spesifik, dengan menggunakan alat, informasi, dan prosedur kerja yang lazim dilakukan serta menyelesaikan masalah sederhana sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika Menampilkan kinerja mandiri dengan mutu dan kuantitas yang terukur sesuai dengan standar kompetensi kerja. Menunjukkan keterampilan menalar, mengolah, dan menyaji secara efektif, kreatif, produktif, kritis, mandiri, kolaboratif, komunikatif, dan solutif dalam ranah abstrak terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Menunjukkan keterampilan mempersepsi, kesiapan, meniru, membiasakan gerak mahir, menjadikan gerak alami, sampai dengan tindakan orisinal dalam ranah konkret terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Kompetensi Dasar 3.5 Menerapkan operasi aritmatika dan logika 4.5 Membuat kode program dengan operasi aritmatika dan logika C. Indikator Pencapaian Kompetensi 3.5 Menerapkan operasi aritmatika dan logika 3.5.1 Memahami operasi aritmatika dan logika 3.5.2 Menghitung atau mempraktekkan operasi aritmatika dan logika

4.5 Membuat kode program dengan operasi aritmatika dan logika 4.5.1 Mengubah kode program dengan operasi aritmatika dan logika 4.5.2 Memodifikasi kode program dengan operasi aritmatika dan logika

Tujuan Pembelajaran 1.

Setelah kegiatan pembelajaran diharapkan peserta didik dapat mendemonstrasikan operasi aritmatika dan logika dengan benar

2.

Setelah kegiatan pembelajaran diharapkan peserta didik dapat mempraktekkan operasi aritmatika dan logika dengan tepat

1.

Setelah kegiatan pembelajaran diharapkan peserta didik dapat mengubah kode pemrograman dengan operasi aritmatika dan logika dengan benar

2.

Setelah kegiatan pembelajaran diharapkan peserta didik dapat memodifikasi kode pemrograman dengan operasi aritmatika dan logika dengan tepat

D. Materi Pembelajaran Operasi dan kode aritmatika dan logika E. Pendekatan, Strategi, Metode Pendekatan berfikir

: Sientific

Model Pembelajaran

: Project Based Learning

Metode Pembelajaran

: Observasi, diskusi dan tanya jawab.

F. Kegiatan Pembelajaran Pertemuan ke 1 dan 2 No

Kegiatan

1

Pendahuluan

Langkah – langkah Pembejalaran Melakukan pembukaan dengan salam pembuka dan berdoa untuk memulai pembelajaran Melakukan pengkondisian peserta didik Menyampaikan tujuan pembelajaran yang akan dicapai. Menyampaikan teknik penilaian yang akan digunakan Menyampaikan metode pembelajaran yang akan digunakan Melakukan Pre test. Penentuan pertanyaan mendasar 1. Guru meminta peserta didik untuk memperhatikan video yang ada di layar komputer tentang Membuat kode program dengan operasi aritmatika dan logika 2. Guru meminta peserta didik memperhatikan dan menyimak tayangan video tersebut 3. Peserta didik membuat catatan kecil tentang materi atau video yang belum jelas untuk ditanyakan pada guru 4. Peserta didik mengajukan pertanyaan dari materi yang telah dicatat untuk acuan dalam mempraktekkan Membuat kode program dengan operasi aritmatika dan logika

2

Kegiatan Inti

Merndesain Perencanaan Proyek 1. Peserta didik bertanya untuk memperoleh penjelasan yang mendetail dari guru dari tayangan video yang telah diputar 2. Guru menjelaskan dari masing – masing pertranyaan dari peserta didik agar peserta didik memahaminya 3. Guru mempraktekkan Membuat kode program dengan operasi aritmatika dan logika di depan peserta didik 4. Peserta didik memperhatikan dan mencoba praktek Membuat kode program dengan operasi aritmatika dan logika sendiri Menyusun Jadwal 1. Peserta didik memahami penjelasan cara Membuat kode program dengan operasi aritmatika dan logika dari guru 2. Guru membuat jadwal untuk mengetes peserta didik dalam membuat kode program dengan operasi aritmatika dan logika 3. Guru memberitahukan jadwal membuat kode program dengan operasi aritmatika dan logika kepada peserta didik 4. Peserta didik mendengarkan penjelasan atau informasi dari guru Memonitor pese3rta didik dan kemajuan proyek 1. Guru memanggil peserta didik sesuai absen untuk maju mendemonstrasikan, mempraktekkan, mengubah,, memodifikasi kode program dengan operasi aritmatika dan logika 2. Peserta didik maju satu persatu sesuai dengan panggilan guru 3. Peserta didik berusaha mendemonstrasikan, mempraktekkan, mengubah,,

Waktu

15 Menit

memodifikasi kode program dengan operasi aritmatika dan logika 4. Guru memperhatikan peserta didik dalam mendemonstrasikan, mempraktekkan, mengubah, kode program dengan operasi aritmatika dan logika dan mengarahkan jika ada peserta didik yang belum tahu

3

Penutup

Menguji hasil evaluasi dan mengevaluasi pengalaman 1. Guru mengamati hasil yang telah dibuat oleh peserta didik 2. Guru menguji hasil dari peserta didik dalam membuat kode program dengan operasi aritmatika dan logika 3. Peserta didik mengamati penjelasan guru jika ada salah dalam membuat kode program dengan operasi aritmatika dan logika 4. Guru mengevaluasi dari hasil peserta didik dalam dalam membuat kode program dengan operasi aritmatika dan logika 1. Secara bersama-sama peserta didik diminta untuk menyimpulkan tentang kode program dengan operasi aritmatika dan logika 2. Guru memberikan konfirmasi dan penguatan terhadap kesimpulan dari hasil pembelajaran. 3. Guru memberikan evaluasi (post test) dan menyuruh peserta didik secara individu untuk mengerjakannya. 4. Peserta didik diberi tugas untuk melakukan mengerjakan latihan tentang kode program dengan operasi aritmatika dan logika 5. Guru mengakhiri kegiatan belajar dengan memberikan pesan pada peserta didik untuk mempelajari materi berikutnya. 6. Guru menyuruh salah satu peserta didik untuk memimpin doa penutup

15 Menit

Alat/ bahan, Media Pembelajaran Daftar hadir Spidol Papan waith board Leptop LCD Lembar penilaian

Sumber Belajar Internet Buku – buku penunjang KBM Penilainan Pembelajaran Teknik

: Non Test dan Test

Bentuk

:



Penilaian pengetahuan : Tes tertulis uraian



Penilaian keterampilan : Praktek

URAIAN MATERI 

Definisi Operator dan Operand Operand adalah nilai atau data asal yang digunakan dalam suatu operasi. Operator dapat didefinisikan sebagai simbol atau instruksi khusus yang digunakan untuk memanipulasi operand.



Operator Relasional Operator Relasional adalah operator yang digunakan untuk menentukan relasi atau hubungan dari dua buah operand.



Operator Aritmatika Operator aritmatika adalah operator yang digunakan untuk melakukan operasi-operasi perhitungan aritmatika seperti penjumlahan, pengurangan, pembagian, perkalian dll. Dalam bahasa pemrograman Pascal operator aritmatika dapat dibagi menjadi 2, yaitu :

1.

Operator Aritmatika Unair Operator aritmatika unair adalah operator aritmatika yang hanya melibatkan 1 operand saja.

2.

Operator Aritmatika Biner Operator aritmatika biner adalah operator aritmatika yang melibatkan 2 buah operand.

berikut ini adalah contoh program sederhana yang memanfaatkan operasi aritmatika pada FreePascal: Contoh : Jika diketahui a = 1 dan b = 2. Buatlah program pada FreePascal untuk memperoleh hasil operasi a+b!

Program Penjumlahan; var a,b:integer; begin a:=1; b:=2; Writeln('a + b = ', a+b); Write('Press any key to continue...'); Readln; end.

Contoh 1 : Diketahui sebuah persegi panjang dengan panjang 10 cm dan lebar 5 cm. Buatlah program menggunakan FreePascal untuk menghitung luas dari persegi panjang tersebut!

Program LuasPersegi; var p,l:integer; begin p:=10; l:=5; Writeln('Luas Persegi = ', p*l ,’cm2’); Write('Press any key to continue...'); Readln; end.

Contoh 2 : Willy mempunyai 7 buah permen. Dia berencana akan membagi permen yang dimiliki kepada 3 orang adiknya dengan jumlah yang sama banyak. Dengan menggunakan FreePascal hitunglah jumlah permen yang diterima masing-masing adik willy dan apakah ada sisanya?

Program permen; begin

writeln('permen yang diperoleh = ', 7div3); writeln(‘sisa permen willy = ’,7mod3) write('press any key to continue...'); readln; end.

Kegiatan Belajar 2. Pemanfaatan Operator Aritmatika Setelah kita memahami penggunaan operator aritmatika maka pada kegiatan belajar kali ini akan membahas mengenai pemanfaatan operator aritmatika untuk menyelesaikan berbagai masalah sehari-hari dengan memanfaatkan Freepascal. Misalnya kita diminta menyelesaikan permasalah dibawah ini menggunakan program pascal :

Sebuah perusahaan komputer memiliki 5 unit penjualan dengan setiap unit memiliki laba per bulannya adalah sebagai berikut : unit 1 = Rp 2.456.750,00 unit 2 = Rp 2.738.900,00 unit 3 = Rp 1.578.000,00 unit 4 = Rp 1.875.000,00 unit 5 = Rp 2.123.000,00 akan dicari laba total dan rata-rata laba dari penjualan produk perusahaan komputer tersebut.

Tujuan dari penyelesaian masalah di atas adalah untuk mencari jumlah dan rata-rata laba dari perusahaan komputer.

Langkah pertama yang harus dilakukan adalah menentukan input dan tipe data yang dibutuhkan program yang akan dibuat. Apabila kita cermati, input dari masalah di atas adalah laba dari setiap unit penjualan. Dari masalah tersebut kita dapat memisalkan : Variabel a = laba dari unit penjualan 1 Variabel b = laba dari unit penjualan 2 Variabel c = laba dari unit penjualan 3 Variabel d = laba dari unit penjualan 4 Variabel e = laba dari unit penjualan 5 Dan variabel variabel tersebut bertipe integer. Kemudian kita harus mentranslasikan input di atas menjadi kode yang dikenali oleh FreePascal, seperti di bawah ini : //deklarasi tipe variabel var

a,b,c,d,e:integer; rata,jumlah:real;

//input data write('Masukkan laba dari toko a = Rp.'); readln(a); write('Masukkan laba dari toko b = Rp.'); readln(b);

write('Masukkan laba dari toko c = Rp.'); readln(c); write('Masukkan laba dari toko d = Rp.'); readln(d); write('Masukkan laba dari toko e = Rp.'); readln(e);

Setelah menentukan input dari program yang akan dibuat maka langkah selanjutnya kita harus menentukan cara atau metode untuk mengolah data input menjadi data yang dikehendaki. Dalam masalah ini, data yang ingin dicari / ditampilkan adalah rata-rata dan jumlah laba dari semua unit penjualan. Untuk memperoleh rata-rata dan jumlah laba maka kita harus melakukan perhitungan sebagai berikut : ∑x=𝒙1+𝒙2+....+𝒙n ẋ =𝒙1+𝒙2+....+𝒙n n Maka dalam konteks masalah di atas, untuk mencari rata-rata dan total laba dari semua unit penjualan adalah Total laba = Laba Unit 1 + Laba Unit 2 + Laba Unit 3 + Laba Unit 4 + Laba Unit 5 Rata-rata laba = Total laba : 5 Kemudian kita translasikan perhitungan di atas menjadi kode pascal :

//Menhitung Total Laba jumlah :=(a+b+c+d+e);

//Menampilkan Total laba writeln('Jumlah laba dari kelima toko tersebut adalah Rp',jumlah:6:0);

// Menghitung Rata-rata Laba rata :=((a+b+c+d+e)/5);

// Menampilkan Rata-rata Laba writeln('laba rata-rata dari kelima toko tersebut adalah Rp',rata:6:0);

Setelah komponen deklarasi variabel, input dan proses pengolahan variabel telah dibuat maka langkah selanjutnya adalah merangkai semua komponen menjadi satu dan melengkapinya dengan komponen tambahan agar program dapat berjalan dan ditampilkan dengan baik. Di bawah ini adala sourcecode yang lengkap dari program menghitung rata-rata serta total laba dari perusahaan komputer tersebut :

Program rata2; uses crt; //deklarasi variabel yang digunakan var a,b,c,d,e,rata,jumlah:real; begin {Program untuk menghitung rata-rata dan jumlah laba}

//menghapus tampilan layar awal clrscr; writeln('==================================================’); writeln('Program Perhitungan Rata-rata dan Jumlah Laba'); writeln('=================================================='); writeln('');

//input laba toko pertama write('Masukkan laba dari dealer a = Rp'); readln(a); writeln('');

//input laba toko kedua write('Masukkan laba dari dealer b = Rp'); readln(b); writeln('');

//input laba toko ketiga write('Masukkan laba dari dealer c = Rp'); readln(c); writeln('');

//input laba toko keempat write('Masukkan laba dari dealer d = Rp'); readln(d); writeln('');

//input laba toko kelima write('Masukkan laba dari dealer e = Rp'); readln(e); writeln(''); writeln('=============================================='); writeln(''); jumlah :=(a+b+c+d+e+f+g+h+i+j); writeln('Jumlah laba dari perusahaan motor X tersebut adalah Rp',jumlah:6:0); writeln(''); rata :=((a+b+c+d+e)/5); writeln('laba rata-rata dari semua dealer penjualan adalah Rp',rata:6:0);

writeln(''); writeln('==============================================='); readln; end.

Kegiatan Belajar 3. Fungsi Aritmatika Kita dapat melakukan berbagai operasi dasar dengan menggunakan operator aritmatika seperti penjumlahan, penguranga, pembagian dan perkalian.Namun bagaimana jika kita dihadapkan dengan ekspresi matematika di bawah ini? 

Sin θ



Cos θ



A2 + B2



A=πr2

Kita akan kesulitan mengakomodasi permasalahan di atas dalam FreePascal jika hanya menggunakan operator aritmatika yang telah dipelajari sebelumnya. Maka Freepascal mengakomodasi permasalahan tersebut dengan menyediakan berbagai bentuk fungsi matematika yang lazim digunakan dalam kehidupan sehari-hari. Berikut contoh- contoh fungsi aritmatika pada freepascal yang sering digunakan : ABS ABS merupakan fungsi matematika dalam pascal yang berguna untuk menghasilkan nilai mutlak dari sebuah bilangan negatif . Sintax : ABS(x) FRAC Merupakan fungsi matematika dalam Pascal yang berguna untuk menghasilkan nilai desimal dari bilangan real. Sintax : FRAC(x) INT Berguna untuk membulatkan angka pecahan menjadi sebuah bilangan bulat positif. Sintax : INT(x). LN Berfungsi untuk menghasilkan nilai logaritma dari sebuah bilangan. Sintax : Ln(x) SIN Sintaks sin berfungsi untuk menghitung nilai sinus dari sebuah bilangan yang biasanya digunakan untuk menghitung sudut tertetu dari 0 derajat samapi 360 derajat pada operasi metematika. Sintax : Sin(x). SQR Berfungsi untuk melakukan perhitungan kuadrat dari sebuah bilangan. Sintax : SQR(x) SQRT Berfungsi untuk melakukan penghitungan akar kuadrat dari sebuah bilangan. Sintax : Sqrt(x) PRED Perintah PRED digunakan untuk menghsilkan nilai yang lebih kecil darinya. Perintah PRED hanya dapat digunakan pada tioe data numerik, character dan boolean. Sintax : PRED(x)

SUCC Perintah SUCC digunakan untuk menghasilkan nilai yang lebih besar darinya. Sama seperti perintah PRED, SUCC hanya dapat digunakan pada tipe data numerik, karakter dan boolean. Sintax : SUCC(x) ODD Digunakan untuk menentukan sebuah bilangan apakah termasuk bilangan ganjil atau bukan. Output dari operasi out adalah boolean. Sintax : ODD(x) INC Digunakan untuk menambah nilai bilangan numerik sebesar 1. Sintax : INC(x) DEC Digunakan untuk mengurangi nilai bilangan numerik sebesar 1. Sintax : DEC(x)

Kegiatan Belajar 4. Pemanfaatan Fungsi Aritmatika Di bawah ini merupakan contoh masalah yang dapat kita selesaikan dengan memanfaatkan fungsi aritmatika pada FreePascal : Diketahui : Segitiga ABC dengan sudut siku-siku . Panjang AB = 3 cm dan panjang BC = 4 cm. Tentukan panjang AC.

Untuk mencari panjang AC dapat memanfaatkan teorema Phytagoras yang telah dipelajari di bangku sekolah dasar. Dari bentuk umum Phytagoras, apabila diamati bentuk tersebut secara garis besar memanfaatkan bentuk kuadrat dan bentuk akar. Dan dalam bahasa pemrograman Pascal juga dumuat tentang fungsi SQR (x) dan SQRT (x) yang mana kedua fungsi itu mengacu pada operasi kuadrat dan operasi akar dari suatu bilangan. Setelah itu, kita harus menyusun sourcecode yang sesuai dengan masalah 1. Berikut ini alternatif code yang bisa digunakan untuk menyelesaikan masalah : program Segitiga; uses crt;

//deklarasi variabel var a,b:integer; c:real; begin clrscr;

//judul program writeln('========================================='); writeln('Hitung sisi miring segitiga siku-siku'); writeln('========================================='); writeln;

//pemberian nilai variabel a a:=3;

//menampilkan isi variabel a writeln('AB = ',a);

//pemberian nilai variabel b b:=4;

//menampilkan isi variabel b writeln('BC = ',b); writeln(''); writeln('==========================================');

//operasi phytagoras c:=sqrt(sqr(a)+sqr(b));

//menampilkan AC writeln('AC = ',c:1:0); writeln('==========================================='); readln; end.

Kegiatan Belajar 5. Operasi Logika

Operator logika digunakan untuk menentukan nilai boolean dari satu atau beberapa operand. Operator logika bekerja sebagaimana hukum-hukum logika yang ada dalam hukum matematika. 

Operator Bitwise Operasi bit digunakan untuk melakukan manipulasi bit pada bilangan bertipe data Byte dan word. Operator bitwise mirip dengan operator aljabar yang mengolah data bertipe byte dan word sehingga menghasilkan nilai output berupa bilangan juga.



Konversi Bilangan Biner Bilangan biner terdiri atas dua jenis, yaitu true (1) dan false (0). Nilai true mewakili bilangan 1 atau kondisi saklar listrik dalam kondisi ON, sedangkan false mewakili bilangan 0 atau kondisi saklar listrik dalam kondisi OFF.

Latihan Soal 1. Sebutkan dua jenis bilangan biner? 2. Apakah manfaat operator bitwise? 3. Apakah fungsi dari operasi logika? 4. Apakah yang dimaksud dengan operasi relasional? 5. Apa manfaat kode DE?C Jawaban 1. True, n false

2.

Untuk melakukan manipulasi bit pada bilangan bertipe data Byte dan word. Operator bitwise mirip dengan operator aljabar yang mengolah data bertipe byte dan word sehingga menghasilkan nilai output berupa bilangan juga.

3.

Untuk menentukan nilai boolean dari satu atau beberapa operand. Operator logika bekerja sebagaimana hukum-hukum logika yang ada dalam hukum matematika.

4.

Operator Relasional adalah operator yang digunakan untuk menentukan relasi atau hubungan dari dua buah operand.

5.

Digunakan untuk mengurangi nilai bilangan numerik sebesar 1. Sintax : DEC(x)

Penskoran No 1 2 3 4 5 Jumlah

Skor 20 20 20 20 20 100

Nilai = Betul x 20

Gorontalo, Juli 2018 Mengetahui Kepala Sekolah

Guru Mapel

…………………..

………………….

RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan Nama Sekolah

:

Mata Pelajaran

: Pemrograman Dasar

Komp. Keahlian

: TKJ

Kelas/Semester

: X / 1 (Satu)

Tahun Pelajaran

: 2018 / 2019

Alokasi Waktu

: 12x 45 Menit

B. Kompetensi Inti dan Kompetensi Dasar Kompetensi Inti Memahami, menerapkan, menganalisis, dan mengevaluasi tentang pengetahuan faktual, konseptual, operasional dasar, dan metakognitif sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika pada tingkat teknis, spesifik, detil, dan kompleks, berkenaan dengan ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dalam konteks pengembangan potensi diri sebagai bagian dari keluarga, sekolah, duniakerja, warga masyarakat nasional, regional, dan internasional. Melaksanakan tugas spesifik, dengan menggunakan alat, informasi, dan prosedur kerja yang lazim dilakukan serta menyelesaikan masalah sederhana sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika Menampilkan kinerja mandiri dengan mutu dan kuantitas yang terukur sesuai dengan standar kompetensi kerja. Menunjukkan keterampilan menalar, mengolah, dan menyaji secara efektif, kreatif, produktif, kritis, mandiri, kolaboratif, komunikatif, dan solutif dalam ranah abstrak terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Menunjukkan keterampilan mempersepsi, kesiapan, meniru, membiasakan gerak mahir, menjadikan gerak alami, sampai dengan tindakan orisinal dalam ranah konkret terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Kompetensi Dasar 3.6 Menerapkan struktur kontrol Percabangan dalam bahasa pemrograman 4.6 Membuat kode program struktur kontrol percabangan C. Indikator Pencapaian Kompetensi 3.6 Menerapkan struktur kontrol Percabangan dalam bahasa pemrograman 3.6.1 Memahami cara membuat struktur kontrol Percabangan dalam bahasa pemrograman 3.6.2 Mempraktekkan struktur kontrol Percabangan dalam bahasa pemrograman

4.6 Membuat kode program struktur kontrol percabangan 4.6.1 Mengubah kode program struktur kontrol percabangan 4.6.2 Memodifikasi kode program struktur kontrol percabangan

D. Tujuan Pembelajaran 1. Setelah kegiatan pembelajaran diharapkan peserta didik dapat mendemonstrasikan struktur control percabangan dalam bahasa pemrograman dengan benar 2. Setelah kegiatan pembelajaran diharapkan peserta didik dapat mempraktekkan struktur control percabangan dalam bahasa pemrograman dengan tepat 1. Setelah kegiatan pembelajaran diharapkan peserta didik dapat mengubah kode program struktur control percabangan dengan benar 2. Setelah kegiatan pembelajaran diharapkan peserta didik dapat memodifikasi kode program struktur control percabangan dengan tepat

E. Materi Pembelajaran Struktur control dan kode percabangan dalam bahasa pemrograman F. Pendekatan, Strategi, Metode Pendekatan berfikir

: Sientific

Model Pembelajaran

: Project Based Learning

Metode Pembelajaran

: Observasi, diskusi dan tanya jawab.

G. Kegiatan Pembelajaran Pertemuan ke 1 – 3 No

Kegiatan

1

Pendahuluan

Langkah – langkah Pembejalaran Melakukan pembukaan dengan salam pembuka dan berdoa untuk memulai pembelajaran Melakukan pengkondisian peserta didik Menyampaikan tujuan pembelajaran yang akan dicapai. Menyampaikan teknik penilaian yang akan digunakan Menyampaikan metode pembelajaran yang akan digunakan Melakukan Pre test.

Waktu

15 Menit

Penentuan pertanyaan mendasar 1. Guru meminta peserta didik untuk memperhatikan video yang ada di layar komputer tentang kode program struktur kontrol percabangan 2. Guru meminta peserta didik memperhatikan dan menyimak tayangan video tersebut 3. Peserta didik membuat catatan kecil tentang materi atau video yang belum jelas untuk ditanyakan pada guru 4. Peserta didik mengajukan pertanyaan dari materi yang telah dicatat untuk acuan dalam mempraktekkan kode program struktur kontrol percabangan

2

Kegiatan Inti

Merndesain Perencanaan Proyek 1. Peserta didik bertanya untuk memperoleh penjelasan yang mendetail dari guru dari tayangan video yang telah diputar 2. Guru menjelaskan dari masing – masing pertranyaan dari peserta didik agar peserta didik memahaminya 3. Guru mempraktekkan Membuat kode program struktur kontrol percabangan di depan peserta didik 4. Peserta didik memperhatikan dan mencoba praktek Membuat kode program struktur kontrol percabangan sendiri Menyusun Jadwal 1. Peserta didik memahami penjelasan cara Membuat kode program struktur kontrol percabangan dari guru 2. Guru membuat jadwal untuk mengetes peserta didik dalam membuat kode program struktur kontrol percabangan 3. Guru memberitahukan jadwal membuat kode program struktur kontrol percabangan kepada peserta didik 4. Peserta didik mendengarkan penjelasan atau informasi dari guru Memonitor pese3rta didik dan kemajuan proyek 1. Guru memanggil peserta didik sesuai absen untuk maju mendemonstrasikan, mempraktekkan, mengubah,, memodifikasi kode program struktur kontrol percabangan 2. Peserta didik maju satu persatu sesuai dengan panggilan guru 3. Peserta didik berusaha mendemonstrasikan, mempraktekkan, mengubah,,

510 Menit

memodifikasi kode program struktur kontrol percabangan 4. Guru memperhatikan peserta didik dalam mendemonstrasikan, mempraktekkan, mengubah, kode program struktur kontrol percabangan dan mengarahkan jika ada peserta didik yang belum tahu Menguji hasil evaluasi dan mengevaluasi pengalaman 1. Guru mengamati hasil yang telah dibuat oleh peserta didik 2. Guru menguji hasil dari peserta didik dalam membuat kode program struktur kontrol percabangan 3. Peserta didik mengamati penjelasan guru jika ada salah dalam membuat kode program struktur kontrol percabangan 4. Guru mengevaluasi dari hasil peserta didik dalam dalam membuat kode program struktur kontrol percabangan

3

Penutup

1. Secara bersama-sama peserta didik diminta untuk menyimpulkan Struktur control dank ode percabangan dalam b ahasa pemrograman 2. Guru memberikan konfirmasi dan penguatan terhadap kesimpulan dari hasil pembelajaran. 3. Guru memberikan evaluasi (post test) dan menyuruh peserta didik secara individu untuk mengerjakannya. 4. Peserta didik diberi tugas untuk melakukan mengerjakan latihan tentang Struktur control dank ode percabangan dalam b ahasa pemrograman 5. Guru mengakhiri kegiatan belajar dengan memberikan pesan pada peserta didik untuk mempelajari materi berikutnya. 6. Guru menyuruh salah satu peserta didik untuk memimpin doa penutup

15 Menit

H. Alat/ bahan, Media Pembelajaran Daftar hadir Spidol Papan waith board Leptop LCD Lembar penilaian

I. Sumber Belajar Internet Buku – buku penunjang KBM Penilainan Pembelajaran Teknik

: Non Test dan Test

Bentuk

:

 Penilaian pengetahuan

: Tes tertulis uraian

 Penilaian keterampilan

: Praktek

URAIAN MATERI Struktur Kontrol Pecabangan merupakan suatu algoritma program memiliki suatu kondisi yang dimana kondisi tersebutlah yang akan menentukan perintah-perintah yang akan dijalankan oleh suatu program. Perintah dalam suatu kondisi akan dijalankan ketika kondisi tersebut bernilai benar, dan sebaliknya Apabila kondisi bernilai salah maka perintah didalamnya tidak akan dijalankan. Ada beberapa macam Struktur Kontol Pecabangan yang ada didalam C++, yaitu : Pecabangan if

Pecabangan if merupakan struktur kontrol pecabangan yang memiliki sebuah kondisi. Bentuk umum penulisannya adalah sebagai berikut.

if(kondisi){ statement; }

Contoh Penerapannya dalam kode program adalah sebagai berikut : #include #include main(){ int a = 10; int b = 7; if(a>=b){ a = 7; b = 10; } cout<<"Nilai A : "<
if(kondisi){ statement; } else{ statement; } Contoh Penerapannya dalam kode program adalah sebagai berikut :

#include #include main(){ int x; int angka = 10; cout<<"Angka 1 - 10"<<endl; cout<<"Masukan Tebakan anda : ";cin>>x;

if(x==angka){ cout<<"Tebakan anda benar"<<endl; cout<<"Selamat!"; } else { cout<<"Maaf tebakan anda salah!"; } getch(); } Percabangan if-else if-else Percabangan if-else if-else merupakan struktur kontrol pecabangan yang memiliki banyak kondisi. Bentuk umum penulisannya adalah sebagai berikut.

if(kondisi1){ statement; } else if(kondisi2){ statement; } else{ statement; } Contoh Penerapannya dalam kode program adalah sebagai berikut :

#include #include main(){ int x; int angka = 6; cout<<"Angka 1 - 10"<<endl; cout<<"Masukan Tebakan anda : ";cin>>x; if(x==angka){ cout<<"Tebakan anda benar"<<endl; cout<<"Selamat!"; } else if(x>angka){ cout<<"Tebakan anda terlalu besar"; } else{ cout<<"Tebakan anda terlalu kecil"; } getch();

} Percabangan switch Percabangan switch merupakan struktur kontrol pecabangan yang juga memiliki banyak kondisi, akan tetapi kondisi dalam percabangan switch ini bertipe numerik. Default berfungsi untuk menjalankan perintah default/umum/dasar apabila kondisi tidak sesuai dengan nilai case yang ada. Bentuk umum penulisannya adalah sebagai berikut.

switch(kondisi){ case konstanta_1: statement; break; case konstanta_2: statement; break; default: statement; } Contoh Penerapannya dalam kode program adalah sebagai berikut :

#include #include main(){ int nilai; cout<<"Masukan Nilai anda 0 - 10 : ";cin>>nilai; cout<<"Anda masuk kategori "; switch(nilai){ case 10: case 9: cout<<"A"; break; case 8: case 7: cout<<"B"; break; case 6: case 5: cout<<"C"; break; case 4: case 3: case 2:

case 1: case 0: cout<<"D"; break; default: cout<<"nilai anda tidak masuk kategori!"; } getch(); Percabangan adalah suatu keadaan dimana pernyataan dapat dieksekusi apabila suatu kondisi memenuhi syarat untuk mengerjakan pernyataan tersebut

Percabangan pada Java ada 2 yaitu : 

if

Percabangan if merupakan percabangan yang melibatkan lebih dari satu kondisi dam penggabungan beberapa if dan bisa juga digabungkan menjadi if-else 

Switch

percabangan switch memberikan suatu cara untuk mengatasi banyak kemungkinan bermunculan dengan cara memberikan nilai variabel atau pernyataan tunggal.

Berikut merupakan contoh percabangan dari if dan switch: class teskeputusan{ public static void main (String[] args) { char jeniskelamin='w'; //nested if if (jeniskelamin=='L') System.out.println("Cowok"); else if (jeniskelamin=='P') System.out.println("Cewek"); else System.out.println("Banci"); //tenary System.out.println(jeniskelamin=='P'? "Dia Pasti Cowok." : "Dia Pasti Cewek"); //switch case switch (jeniskelamin){ case 'L' : System.out.println("Cowok"); break; case 'P' : System.out.println("Cewek"); break; default : System.out.println("Banci"); break; }}}

2. Perulangan

Perulangan atau looping adalah suatu proses di dalam pemrograman yang dapat meng eksesusi beberapa statement yang sama dengan berulang ulang sampai berhenti pada kondisi tertentu. Perulangan pada dasarnya memiliki fungsi "EFISIEN". ada 3 jenis perulangan yaitu: 

For

For merupakan perulangan yang memiliki variable untuk melakukan pengkondisian. Element pada for yaitu nilai awal, syarat, dan penambahan atau pengurangan nilai. misalnya 

While

While merupakan perulangan yang berguna untuk terus melakukan proses perulangan selama kondisinya benar (true) dan berhenti apabila salah (false). misalnya: 

do.....while

Do while merupakan perulangan yang hampir sama dengan while, namun while disini bersifat memproses atau mengecek instruksi terlebih dahulu kemudian membandingkan (kondisi). sedangkan pada while bersifat mengecek kondisi baru melakukan instruksi. Misal

3. Method Method dalam java serupa dengan function pada bahasa pemrograman yang lain,yang berfungsi memodularisasi, mem break atau memecah program yang komplek sehingga nantinya dapat digunakan/dipanggil kembali

Mendeklarasikan Method <methodDeclaration> ::= <modifier> (<parameter>*) { <statement>* } <parameter> ::= <parameter_type> <parameter_name>[,] contoh method: class MethodDemo { int data; int getData() { return data; } void setData(int data) { this.data = data; } void setMaxData(int data1, int data2) { data = (data1>data2)? data1 : data2;

} } contoh program dengan method: public class TesMak { /** Main method */ public static void main(String[] args) { int i = 5; int j = 2; int k = mak(i, j); System.out.println(“The maximum between ” + i + ” and ” + j + ” is ” + k); } /** Return the max between two numbers */ public static int mak(int num1, int num2) { int hasil; if (num1 > num2) hasil = num1; else hasil = num2; return hasil; } } Yang perlu anda ketahui, Di dalam java terdapat empat akses yaitu default,private,protected,dan public tentunya tingkat akses tersebut mempunyai fungsi dan kegunaan masing-masing.untuk keterangan dari tingkat akses akan saya jelaskan di bawah ini : 

Akses Default (Package Accessibility) Tipe ini mensyaratkan bahwa hanya class dalam package yang sama yang memiliki hak akses terhadap variabel dan methods dalam class.

contoh potongan program : public class StudentRecord { //akses dasar terhadap variabel int name; //akses dasar terhadap metode String getName(){ return name; } } Pada contoh diatas, variabel nama dan method getName() dapat diakses dari object lain selama object tersebut berada pada package yang sama dengan letak dari file StudentRecord.



Akses Public Tipe ini mengijinkan seluruh class member untuk diakses baik dari dalam dan luar class. Object apapun yang memiliki interaksi pada class memiliki akses penuh terhadap member dari tipe ini.

contoh potongan program : public class StudentRecord { //akses dasar terhadap variabel public int name; //akses dasar terhadap metode public String getName(){ return name; }} variabel name dan method getName() dapat diakses dari object lain. 

Akses Protected

Tipe ini hanya mengijinkan class member untuk diakses oleh method dalam class tersebut dan elemen – elemen subclass. contoh potongan program : public class StudentRecord { //akses pada variabel protected int name; //akses pada metode protected String getName(){ return name; }} variabel name dan method getName() hanya dapat diakses oleh method internal class dan subclass dari class StudentRecord. 

Akses Private

Tipe ini mengijinkan pengaksesan class hanya dapat diakses oleh class dimana tipe ini dibuat. contoh potongan program : public class StudentRecord { //akses dasar terhadap variabel private int name; //akses dasar terhadap metode private String getName(){ return name; } }

Pada contoh diatas, variabel name dan method getName() hanya dapat diakses oleh method internal class tersebut. Contoh Program : package paket.a; public class Contoh1 { public static void main(String[] args) { A a = new A(); a.printString(); } } class A { public String s1 = “public”; protected String s2 = “protected”; String s3 = “default”; private String s4 = “private”;

void printString() { System.out.println(this.s1); System.out.println(this.s2); System.out.println(this.s3); System.out.println(this.s4); } } Outputnya sebagai berikut : public protected default private

Latihan soal 1.

Apakah yang dimaksud dengan percabangan?

2.

Sebutkan dua percabangan pada java?

3.

Apakah yang Anda ketahui tentang percabangan if?

4.

Apakah yang dimamksud perulangan?

5.

Sebutkan jenis – jenis perulangan!

Jawaban 1.

Suatu keadaan dimana pernyataan dapat dieksekusi apabila suatu kondisi memenuhi syarat untuk mengerjakan pernyataan tersebut

2.

Percabangan if dan percabangan switch

3.

Merupakan percabangan yang melibatkan lebih dari satu kondisi dam penggabungan beberapa if dan bisa juga digabungkan menjadi if-else

4.

Suatu proses di dalam pemrograman yang dapat meng eksesusi beberapa statement yang sama dengan berulang ulang sampai berhenti pada kondisi tertentu

5.

for, while, do while

Penskoran No 1 2 3 4 5 Jumlah

Skor 20 20 20 20 20 100

Nilai = Betul x 20

Gorontalo, Juli 2018 Mengetahui Kepala Sekolah

Guru Mapel

…………………..

…………………..

RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan Nama Sekolah

:

Mata Pelajaran

: Pemrograman Dasar

Komp. Keahlian

: TKJ

Kelas/Semester

: X / 1 (Satu)

Tahun Pelajaran

: 2018 / 2019

Alokasi Waktu

: 12x 45 Menit

B. Kompetensi Inti dan Kompetensi Dasar Kompetensi Inti Memahami, menerapkan, menganalisis, dan mengevaluasi tentang pengetahuan faktual, konseptual, operasional dasar, dan metakognitif sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika pada tingkat teknis, spesifik, detil, dan kompleks, berkenaan dengan ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dalam konteks pengembangan potensi diri sebagai bagian dari keluarga, sekolah, duniakerja, warga masyarakat nasional, regional, dan internasional. Melaksanakan tugas spesifik, dengan menggunakan alat, informasi, dan prosedur kerja yang lazim dilakukan serta menyelesaikan masalah sederhana sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika Menampilkan kinerja mandiri dengan mutu dan kuantitas yang terukur sesuai dengan standar kompetensi kerja. Menunjukkan keterampilan menalar, mengolah, dan menyaji secara efektif, kreatif, produktif, kritis, mandiri, kolaboratif, komunikatif, dan solutif dalam ranah abstrak terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Menunjukkan keterampilan mempersepsi, kesiapan, meniru, membiasakan gerak mahir, menjadikan gerak alami, sampai dengan tindakan orisinal dalam ranah konkret terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Kompetensi Dasar 3.7

Menerapkan struktur kontrol Perulangan dalam bahasa pemrograman

4.7

Membuat kode program struktur kontrol perulangan

C. Indikator Pencapaian Kompetensi 3.7

Menerapkan struktur kontrol Perulangan dalam bahasa pemrograman 3.7.1 Memahami struktur kontrol Perulangan dalam bahasa pemrograman 3.7.2 Mempraktekkan struktur kontrol Perulangan dalam bahasa pemrograman

4.7

Membuat kode program struktur kontrol perulangan 4.7.1 Mengubah kode program struktur kontrol perulangan 4.7.2 Memodifikasi kode program struktur kontrol perulangan

Tujuan Pembelajaran 1. Setelah kegiatan pembelajaran diharapkan peserta didik dapat mendemonstrasikan struktur control perulangan dalam bahasa pemrograman dengan benar 2. Setelah kegiatan pembelajaran diharapkan peserta didik dapat mempraktekkan struktur control perulangan dalam bahasa pemrograman dengan tepat 1. Setelah kegiatan pembelajaran diharapkan peserta didik dapat mengubah kode program struktur control perulangan dengan benar 2. Setelah kegiatan pembelajaran diharapkan peserta didik dapat memodifikasi kode program struktur control perulangan dengan tepat

D. Materi Pembelajaran Kode program struktur kontrol perulangan E. Pendekatan, Strategi, Metode Pendekatan berfikir

: Sientific

Model Pembelajaran

: Project Based Learning

Metode Pembelajaran

: Observasi, diskusi dan tanya jawab.

F. Kegiatan Pembelajaran Pertemuan ke 1 – 3 No

Kegiatan

1

Pendahuluan

Langkah – langkah Pembejalaran Melakukan pembukaan dengan salam pembuka dan berdoa untuk memulai pembelajaran Melakukan pengkondisian peserta didik Menyampaikan tujuan pembelajaran yang akan dicapai. Menyampaikan teknik penilaian yang akan digunakan Menyampaikan metode pembelajaran yang akan digunakan Melakukan Pre test.

Waktu

15 Menit

Penentuan pertanyaan mendasar 1. Guru meminta peserta didik untuk memperhatikan video yang ada di layar komputer tentang struktur kontrol Perulangan dalam bahasa pemrograman 2. Guru meminta peserta didik memperhatikan dan menyimak tayangan video tersebut 3. Peserta didik membuat catatan kecil tentang materi atau video yang belum jelas untuk ditanyakan pada guru 4. Peserta didik mengajukan pertanyaan dari materi yang telah dicatat untuk acuan dalam mempraktekkan struktur kontrol Perulangan dalam bahasa pemrograman

2

Kegiatan Inti

Merndesain Perencanaan Proyek 1. Peserta didik bertanya untuk memperoleh penjelasan yang mendetail dari guru dari tayangan video yang telah diputar 2. Guru menjelaskan dari masing – masing pertranyaan dari peserta didik agar peserta didik memahaminya 3. Guru mempraktekkan Membuat struktur kontrol Perulangan dalam bahasa pemrograman di depan peserta didik 4. Peserta didik memperhatikan dan mencoba praktek Membuat struktur kontrol Perulangan dalam bahasa pemrograman sendiri Menyusun Jadwal 1. Peserta didik memahami penjelasan cara Membuat struktur kontrol Perulangan dalam bahasa pemrograman dari guru 2. Guru membuat jadwal untuk mengetes peserta didik dalam membuat struktur kontrol Perulangan dalam bahasa pemrograman 3. Guru memberitahukan jadwal membuat struktur kontrol Perulangan dalam bahasa pemrograman kepada peserta didik 4. Peserta didik mendengarkan penjelasan atau informasi dari guru Memonitor pese3rta didik dan kemajuan proyek 1. Guru memanggil peserta didik sesuai absen untuk maju mendemonstrasikan, mempraktekkan, mengubah,, memodifikasi struktur kontrol Perulangan dalam bahasa pemrograman 2. Peserta didik maju satu persatu sesuai dengan panggilan guru

510 Menit

3. Peserta didik berusaha mendemonstrasikan, mempraktekkan, mengubah,, memodifikasi struktur kontrol Perulangan dalam bahasa pemrograman 4. Guru memperhatikan peserta didik dalam mendemonstrasikan, mempraktekkan, mengubah, struktur kontrol Perulangan dalam bahasa pemrograman dan mengarahkan jika ada peserta didik yang belum tahu

3

Penutup

Menguji hasil evaluasi dan mengevaluasi pengalaman 1. Guru mengamati hasil yang telah dibuat oleh peserta didik 2. Guru menguji hasil dari peserta didik dalam membuat struktur kontrol Perulangan dalam bahasa pemrograman 3. Peserta didik mengamati penjelasan guru jika ada salah dalam membuat struktur kontrol Perulangan dalam bahasa pemrograman 4. Guru mengevaluasi dari hasil peserta didik dalam dalam membuat struktur kontrol Perulangan dalam bahasa pemrograman 1. Secara bersama-sama peserta didik diminta untuk menyimpulkan struktur kontrol Perulangan dalam bahasa pemrograman 2. Guru memberikan konfirmasi dan penguatan terhadap kesimpulan dari hasil pembelajaran. 3. Guru memberikan evaluasi (post test) dan menyuruh peserta didik secara individu untuk mengerjakannya. 4. Peserta didik diberi tugas untuk melakukan mengerjakan latihan tentang struktur kontrol Perulangan dalam bahasa pemrograman 5. Guru mengakhiri kegiatan belajar dengan memberikan pesan pada peserta didik untuk mempelajari materi berikutnya. 6.Guru menyuruh salah satu peserta didik untuk memimpin doa penutup

15 Menit

Alat/ bahan, Media Pembelajaran Daftar hadir Spidol Papan waith board Leptop LCD Lembar penilaian

Sumber Belajar Internet Buku – buku penunjang KBM Penilainan Pembelajaran Teknik

: Non Test dan Test

Bentuk

:



Penilaian pengetahuan : Tes tertulis uraian



Penilaian keterampilan : Praktek

URAIAN MATERI Dalam bahasa C++ dikenal beberapa macam Struktur Kontrol Perilangan, yaitu : Perulangan For Perulangan For merupakan struktur kontrol perulangan yang menjalankan satu atau lebih perintah dengan jumlah perulangan yang sudah ditentukan pada proses inisialisasi kondisi. Bentuk umum penulisannya adalah sebagai berikut.

for(kondisi){ Statement; }

Contoh Penerapannya dalam kode program adalah sebagai berikut : #include #include main(){ int x; for(x=0;x<10;x++){ cout<<x<<". Aku suka C++"<<endl; } getch(); }

Perulangan While Perulangan while merupakan struktur kontrol perulangan yang akan melakukan pengulangan selama kondisi yang dihasilkan dalam perulangan tersebut masih bernilai benar. Bentuk umum penulisannya adalah sebagai berikut :

Deklarasi; while(kondisi){ Statement; } Contoh Penerapannya dalam kode program adalah sebagai berikut :

#include #include main(){ int x = 5; while(x>0){ cout<<x<<" "; x--; } cout<<"Program Berhasil"; getch(); }

Perulangan Do-While Perulangan do-while merupakan struktur kontrol perulangan yang menjalankan perintah yang ada didalamnya terlebih dahulu dan melihat kondisi perulangan setelah perintah tersebut selesai dijalankan. Dengan kata lain walaupun kondisinya bernilai salah, minimal perintah sudah dijalankan sebanyak satu kali. Bentuk umum penulisannya sebagai berikut :

inisialisasi;

do { Statement; }while(kondisi);

Contoh Penerapannya dalam kode program adalah sebagai berikut : #include #include main(){ char x = 'A'; cout<<"Abjad : "<<endl; do{ cout<<x<<" "; x++; }while(x<='Z'); getch(); }

Perulangan Goto Perulangan goto merupakan struktur kontrol perulangan yang memiliki label. Perintah akan mengalami pengulangan apabila ada perintah untuk kembali atau menuju kesuatu label. Label disini merupakan suatu pengenal (identifier). Contoh Penerapannya dalam kode program adalah sebagai berikut :

#include #include main(){ int angka; char t; atas: cout<<"Masukan angka : ";cin>>angka; cout<<" > "<>t; if(t=='y' ||t=='Y'){ goto atas; } else{ goto bawah; } getch(); bawah: }

Latihan soal 1. Apakah yang dimamksud perulangan? 2. Sebutkan jenis – jenis perulangan! 3. Apakah yang dimaksud dengan perulangan for? 4. Sebutkan kode penerapan perulangan for? 5. Apakah yangv dimaksud perulangan while?

Jawaban 1. Suatu proses di dalam pemrograman yang dapat meng eksesusi beberapa statement yang sama dengan berulang ulang sampai berhenti pada kondisi tertentu 2. for, while, do while 3. Struktur kontrol perulangan yang menjalankan satu atau lebih perintah dengan jumlah perulangan yang sudah ditentukan pada proses inisialisasi kondisi 4. #include #include main(){ int x; for(x=0;x<10;x++){ cout<<x<<". Aku suka C++"<<endl; } getch(); } 5. Struktur kontrol perulangan yang akan melakukan pengulangan selama kondisi yang dihasilkan dalam perulangan tersebut masih bernilai benar

Penskoran No 1 2 3 4 5 Jumlah

Skor 20 20 20 20 20 100

Nilai = Betul x 20

Gorontalo, Juli 2018 Mengetahui Kepala Sekolah

Guru Mapel

…………………..

…………………..

RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan Nama Sekolah

:

Mata Pelajaran

: Pemrograman Dasar

Komp. Keahlian

: TKJ

Kelas/Semester

: X / 1 (Satu)

Tahun Pelajaran

: 2018 / 2019

Alokasi Waktu

: 8x 45 Menit

B. Kompetensi Inti dan Kompetensi Dasar Kompetensi Inti Memahami, menerapkan, menganalisis, dan mengevaluasi tentang pengetahuan faktual, konseptual, operasional dasar, dan metakognitif sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika pada tingkat teknis, spesifik, detil, dan kompleks, berkenaan dengan ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dalam konteks pengembangan potensi diri sebagai bagian dari keluarga, sekolah, duniakerja, warga masyarakat nasional, regional, dan internasional. Melaksanakan tugas spesifik, dengan menggunakan alat, informasi, dan prosedur kerja yang lazim dilakukan serta menyelesaikan masalah sederhana sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika Menampilkan kinerja mandiri dengan mutu dan kuantitas yang terukur sesuai dengan standar kompetensi kerja. Menunjukkan keterampilan menalar, mengolah, dan menyaji secara efektif, kreatif, produktif, kritis, mandiri, kolaboratif, komunikatif, dan solutif dalam ranah abstrak terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Menunjukkan keterampilan mempersepsi, kesiapan, meniru, membiasakan gerak mahir, menjadikan gerak alami, sampai dengan tindakan orisinal dalam ranah konkret terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Kompetensi Dasar 3.8 Menganalisis penggunaan array untuk penyimpanan data di memori 4.8 Membuat kode program untuk menampilkan kumpulan data array C. Indikator Pencapaian Kompetensi 3.8 Menganalisis penggunaan array untuk penyimpanan data di memori 3.8.1 Mengubah kode program untuk menampilkan kumpulan data array 3.8.2 Memodifikasi kode program untuk menampilkan kumpulan data array

4.8 Membuat kode program untuk menampilkan kumpulan data array 4.8.1 Mendemonstrasikan penggunaan fungsi 4.8.2 Mempraktekkan penggunaan fungsi

D. Tujuan Pembelajaran 1. Setelah kegiatan pembelajaran diharapkan peserta didik dapat mengubah kode program untuk menampilkan kumpulan data array dengan benar 2. Setelah kegiatan pembelajaran diharapkan peserta didik dapat memodifikasi kode program untuk menampilkan kumpulan data array dengan tepat 1. Setelah kegiatan pembelajaran diharapkan peserta didik dapat mendemonstrasikan penggunaan fungsi dengan benar 2. Setelah kegiatan pembelajaran diharapkan peserta didik dapat mempraktekkan penggunaan fungsi

dengan tepat

E. Materi Pembelajaran Data array F. Pendekatan, Strategi, Metode Pendekatan berfikir

: Sientific

Model Pembelajaran

: Project Based Learning

Metode Pembelajaran

: Observasi, diskusi dan tanya jawab.

G. Kegiatan Pembelajaran Pertemuan ke 1 dan 2 No

Kegiatan

1

Pendahuluan

Langkah – langkah Pembejalaran Melakukan pembukaan dengan salam pembuka dan berdoa untuk memulai pembelajaran Melakukan pengkondisian peserta didik Menyampaikan tujuan pembelajaran yang akan dicapai. Menyampaikan teknik penilaian yang akan digunakan Menyampaikan metode pembelajaran yang akan digunakan Melakukan Pre test. Penentuan pertanyaan mendasar 1. Guru meminta peserta didik untuk memperhatikan video yang ada di layar komputer tentang kode program untuk menampilkan kumpulan data array 2. Guru meminta peserta didik memperhatikan dan menyimak tayangan video tersebut 3. peserta didik membuat catatan kecil tentang materi atau video yang belum jelas untuk ditanyakan pada guru 4. Peserta didik mengajukan pertanyaan dari materi yang telah dicatat untuk acuan dalam mempraktekkan kode program untuk menampilkan kumpulan data array

2

Kegiatan Inti

Merndesain Perencanaan Proyek 1. Peserta didik bertanya untuk memperoleh penjelasan yang mendetail dari guru dari tayangan video yang telah diputar 2. Guru menjelaskan dari masing – masing pertranyaan dari peserta didik agar peserta didik memahaminya 3. Guru mempraktekkan Membuat kode program untuk menampilkan kumpulan data array di depan peserta didik 4. Peserta didik memperhatikan dan mencoba praktek Membuat kode program untuk menampilkan kumpulan data array sendiri Menyusun Jadwal 1. Peserta didik memahami penjelasan cara Membuat kode program untuk menampilkan kumpulan data array dari guru 2. Guru membuat jadwal untuk mengetes peserta didik dalam membuat kode program untuk menampilkan kumpulan data array 3 Guru memberitahukan jadwal membuat kode program untuk menampilkan kumpulan data array kepada peserta didik 4. Peserta didik mendengarkan penjelasan atau informasi dari guru Memonitor pese3rta didik dan kemajuan proyek 1. Guru memanggil peserta didik sesuai absen untuk maju menghubungkan, membagi, mengubah dan memodifikasi kode program untuk menampilkan kumpulan data array 2. Peserta didik maju satu persatu sesuai dengan panggilan guru 3. Peserta didik berusaha menghubungkan, membagi, mengubah dan memodifikasi kode program untuk menampilkan kumpulan data array

Waktu

15 Menit

4. Guru memperhatikan peserta didik dalam menghubungkan, membagi, mengubah dan memodifikasi kode program untuk menampilkan kumpulan data array dan mengarahkan jika ada peserta didik yang belum tahu

3

Penutup

Menguji hasil evaluasi dan mengevaluasi pengalaman 1. Guru mengamati hasil yang telah dibuat oleh peserta didik 2. Guru menguji hasil dari peserta didik dalam membuat memodifikasi kode program untuk menampilkan kumpulan data array 3. Peserta didik mengamati penjelasan guru jika ada salah dalam memodifikasi kode program untuk menampilkan kumpulan data array 4. Guru mengevaluasi dari hasil peserta didik dalam dalam memodifikasi kode program untuk menampilkan kumpulan data array 1. Secara bersama-sama peserta didik diminta untuk menyimpulkan kode program data array 2.Guru memberikan konfirmasi dan penguatan terhadap kesimpulan dari hasil pembelajaran. 3. Guru memberikan evaluasi (post test) dan menyuruh peserta didik secara individu untuk mengerjakannya. 4. Peserta didik diberi tugas untuk melakukan mengerjakan latihan tentang kode program data array 5. Guru mengakhiri kegiatan belajar dengan memberikan pesan pada peserta didik untuk mempelajari materi berikutnya. 6. Guru menyuruh salah satu peserta didik untuk memimpin doa penutup

15 Menit

Alat/ bahan, Media Pembelajaran Daftar hadir Spidol Papan waith board Leptop LCD Lembar penilaian

Sumber Belajar Internet Buku – buku penunjang KBM Penilainan Pembelajaran Teknik

: Non Test dan Test

Bentuk

:

 Penilaian pengetahuan

: Tes tertulis uraian

 Penilaian keterampilan

: Praktek

URAIAN MATERI Haskell menyediakan array yang dapat diindeks, yang dapat dianggap sebagai fungsi yang domainnya adalah isomorfik ke subkumpulan bersebelahan dari bilangan bulat. Fungsi yang dibatasi dengan cara ini dapat diterapkan secara efisien; Secara khusus, programmer mungkin cukup mengharapkan akses cepat ke komponen. Untuk memastikan kemungkinan implementasi semacam itu, array diperlakukan sebagai data, bukan fungsi umum. Karena kebanyakan fungsi array melibatkan kelas Ix , modul ini diekspor dari Data.Array sehingga modul tidak perlu mengimpor Data.Array dan Data.Ix. modul data.Ix data Array yaitu :: * -> * -> * Jenis array tidak tempuh tidak ketat (kotak) dengan indeks di i dan elemen dalam e . Contoh

Array IArray e Functor ( Array i)

Sejak: 2.1

Dilipat ( Array i)

Sejak: 4.8.0.0

Ix i => Traversable ( Array i)

Sejak: 2.1

( Ix i, Eq e) => Eq ( Array yaitu)

Sejak: 2.1

( Ix i, Ord e) => Ord ( Array yaitu)

Sejak: 2.1

( Ix a, Tampilkan a, Tampilkan b) => Tampilkan ( Array ab) Sejak: 2.1 Konstruksi array array :: Ix i sepasang batas , masing-masing tipe indeks dari array. Batas ini adalah indeks => (i, i)

terendah dan tertinggi dalam array, dalam urutan itu. Sebagai contoh, vektor satu asal dengan panjang '10' memiliki batas '(1,10)', dan matriks '10 'satu dengan' 10 'memiliki batas' ((1,1), (10,10 )) '. daftar asosiasi bentuk ( indeks , nilai ). Biasanya, daftar ini akan dinyatakan

-> [(i, e)]

sebagai sebuah pemahaman. Sebuah asosiasi '(i, x)' mendefinisikan nilai dari array pada indeks i menjadi x .

-> Array yaitu Buatlah sebuah array dengan batas-batas yang ditentukan dan nilai yang mengandung nilai untuk indeks yang diberikan di dalam batas-batas ini. Array tidak terdefinisi (yaitu bagian bawah) jika ada indeks dalam daftar yang berada di luar batas. Laporan Haskell 2010 selanjutnya menetapkan bahwa jika dua asosiasi dalam daftar memiliki indeks yang sama, nilai pada indeks tersebut tidak terdefinisi (yaitu di bawah). Namun dalam implementasi GHC, nilai pada indeks semacam itu adalah bagian nilai dari hubungan terakhir dengan indeks tersebut dalam daftar. Karena indeks harus diperiksa untuk kesalahan ini, array sangat ketat dalam argumen batas dan dalam indeks daftar asosiasi, namun tidak ketat dalam nilai. Dengan demikian, kekambuhan seperti berikut ini mungkin: a = array (1,100) ((1,1): [(i, i * a! (i-1)) | i <- [2..100]]) Tidak setiap indeks dalam batas-batas kebutuhan array muncul dalam daftar asosiasi, namun nilai yang terkait dengan indeks yang tidak muncul akan tidak terdefinisi (yaitu di bawah). Jika, dalam dimensi apapun, batas bawah lebih besar dari batas atas, maka lariknya legal, tapi kosong. Pengindeksan sebuah array kosong selalu memberikan error array-bounds, tapi bounds masih menghasilkan batas yang dengannya array tersebut dibangun. listArray :: Ix i => (i, i) -> [e] -> Array yaitu Buatlah sebuah array dari sepasang batas dan daftar nilai dalam urutan indeks. accumArray :: Ix i

=> (e -> a -> e)

fungsi akumulasi

-> e

nilai awal

-> (i, i)

batas dari array

-> [(i, a)]

daftar asosiasi

-> Array yaitu Fungsi accumArray berhubungan dengan indeks berulang dalam daftar asosiasi menggunakan fungsi akumulasi yang menggabungkan nilai-nilai asosiasi dengan indeks yang sama. Sebagai contoh, mengingat daftar nilai dari beberapa jenis indeks, hist menghasilkan histogram dari jumlah kemunculan masing-masing indeks dalam kisaran yang ditentukan: hist :: (Ix a, Num b) => (a, a) -> [a] -> Array ab hist bnds adalah = accumArray (+) 0 bnds [(i, 1) | i <-ya, inRange bnds i] Jika fungsi akumulasinya ketat, maka accumArray sangat ketat dalam nilai, serta indeks, dalam daftar asosiasi. Jadi, tidak seperti array biasa yang dibangun dengan array , array akumulasi tidak boleh secara umum bersifat rekursif. Mengakses array (!) :: Ix i => Array yaitu -> i -> e infixl 9 Nilai pada indeks yang diberikan dalam array. batas :: Array yaitu -> (i, i) Batas yang dengannya sebuah array dibangun. indeks :: Ix i => Array yaitu -> [i] Daftar indeks dari sebuah array dalam urutan menaik. elems :: Array yaitu -> [e] Daftar elemen array dalam urutan indeks. assocs :: Ix i => Array yaitu -> [(i, e)] Daftar asosiasi array dalam urutan indeks. Update array tambahan (//) :: Ix i => Array yaitu -> [(i, e)] -> Array yaitu infixl 9 Buat sebuah array yang identik dengan argumen pertama kecuali bahwa ia telah diperbarui oleh asosiasi dalam argumen yang benar. Sebagai contoh, jika m adalah asal-1, n oleh n matriks, maka m // [((i, i), 0) | i <- [1..n]] adalah matriks yang sama, kecuali dengan diagonal nol. Indeks berulang dalam daftar asosiasi ditangani seperti untuk array : Haskell 2010 menentukan bahwa array yang dihasilkan tidak terdefinisi (yaitu di bawah), namun penerapan GHC menggunakan asosiasi terakhir untuk setiap indeks. Akumulasi :: Ix i => (e -> a -> e) -> Array yaitu -> [(i, a)] -> Array yaitu akumulasi accum f mengambil sebuah array dan daftar asosiasi dan mengumpulkan pasangan dari daftar ke dalam array dengan fungsi akumulasi f . Dengan demikian accumArray dapat didefinisikan dengan menggunakan accum : accumArray fzb = akumulasi f (array b [(i, z) | i <- range b]) Berasal array ixmap :: ( Ix i, Ix j) => (i, i) -> (i -> j) -> Array je -> Array yaitu

ixmap memungkinkan transformasi pada indeks array. Ini dapat dianggap sebagai penyediaan komposisi fungsi di sebelah kanan dengan pemetaan yang diciptakan oleh array asli. Transformasi nilai array yang sama dapat dicapai dengan menggunakan fmap dari instance Array dari kelas Functor . Dalam ilmu komputer , struktur data array , atau sekadar array , adalah struktur data yang terdiri dari kumpulan elemen ( nilai atau variabel ), masing-masing diidentifikasi oleh setidaknya satu indeks atau kunci array . Sebuah array disimpan sehingga posisi masing-masing elemen dapat dihitung dari tupel indeksnya dengan rumus matematika.

[1] [2] [3]

Jenis struktur data yang paling sederhana adalah

array linier, yang juga disebut array satu dimensi. Sebagai contoh, sebuah array dari 10 variabel integer 32-bit, dengan indeks 0 sampai 9, dapat disimpan sebagai 10 kata pada alamat memori 2000, 2004, 2008, ... 2036, sehingga elemen dengan indeks i memiliki alamat 2000 + 4 × i . [4] Alamat memori dari elemen pertama dari sebuah array disebut alamat pertama atau alamat pondasi. Karena konsep matematis suatu matriks dapat digambarkan sebagai grid dua dimensi, array dua dimensi juga kadang disebut matriks. Dalam beberapa kasus, istilah "vektor" digunakan dalam komputasi untuk merujuk pada sebuah array, walaupun tuple daripada vektor lebih tepat dari persamaan matematis. Array sering digunakan untuk mengimplementasikan tabel , terutama tabel lookup ; tabel kata kadang digunakan sebagai sinonim dari array . Array adalah salah satu struktur data tertua dan paling penting, dan digunakan hampir oleh semua program. Mereka juga digunakan untuk menerapkan banyak struktur data lainnya, seperti daftar dan string . Mereka secara efektif mengeksploitasi logika pengalamatan komputer. Di sebagian besar komputer modern dan banyak perangkat penyimpanan eksternal , memori adalah rangkaian kata-kata satu dimensi, yang indeksnya adalah alamat mereka. Prosesor , terutama prosesor vektor , sering dioptimalkan untuk operasi array. Array berguna terutama karena indeks elemen dapat dihitung pada run time . Antara lain, fitur ini memungkinkan satu pernyataan iteratif untuk memproses banyak elemen array secara sewenangwenang. Oleh karena itu, elemen struktur data array diperlukan untuk memiliki ukuran yang sama dan harus menggunakan representasi data yang sama. Kumpulan tupel indeks yang valid dan alamat elemen (dan karenanya rumus pengalamatan elemen) biasanya,

[3] [5]

namun tidak selalu, [2] tetap saat

array sedang digunakan. Istilah array sering digunakan untuk menggambarkan tipe data array , semacam tipe data yang disediakan oleh sebagian besar bahasa pemrograman tingkat tinggi yang terdiri dari kumpulan nilai atau variabel yang dapat dipilih oleh satu atau lebih indeks yang dihitung pada saat run-time. Jenis array sering diimplementasikan oleh struktur array; Namun, dalam beberapa bahasa mereka mungkin diimplementasikan oleh tabel hash , linked list , search tree , atau struktur data lainnya. Istilah ini juga digunakan, terutama dalam deskripsi algoritma , yang berarti array asosiatif atau "array abstrak", model ilmu komputer teoritis ( tipe data abstrak atau ADT) Sejarah Komputer digital pertama menggunakan bahasa pemrograman mesin untuk mengatur dan mengakses struktur array untuk tabel data, perhitungan vektor dan matriks, dan untuk banyak keperluan lainnya. John von Neumann menulis program penyortiran array pertama ( penggabungan sortir ) pada tahun 1945, saat membangun komputer program tersimpan pertama .

[6] hal. 159

Pengindeksan Array pada

awalnya dilakukan dengan memodifikasi kode sendiri , dan kemudian menggunakan register indeks dan pengalamatan tidak langsung . Beberapa mainframe yang dirancang pada 1960-an, seperti Burroughs B5000 dan penerusnya, menggunakan segmentasi memori untuk melakukan pengecekan batas-batas pada perangkat keras. [7] Bahasa assembly umumnya tidak memiliki dukungan khusus untuk array, selain yang disediakan oleh mesin itu sendiri. Bahasa pemrograman tingkat tinggi paling awal, termasuk FORTRAN (1957), Lisp (1958), COBOL (1960), dan ALGOL 60 (1960), memiliki dukungan untuk array multi dimensi, dan juga memiliki C (1972). Di C ++ (1983), template kelas ada untuk array multi dimensi yang dimensinya tetap pada runtime [3] [5] dan juga untuk array runtime-fleksibel. [2] Bagian ini membutuhkan ekspansi . Anda bisa membantu dengan menambahkannya. (Mei 2009) Aplikasi Array digunakan untuk menerapkan vektor matematis dan matriks , serta jenis tabel persegi panjang lainnya. Banyak database , kecil dan besar, terdiri dari (atau termasuk) array satu dimensi yang elemennya adalah catatan . Array digunakan untuk mengimplementasikan struktur data lainnya, seperti daftar, tumpukan , tabel hash , deques , antrian , tumpukan , string , dan VLists . Implementasi berbasis struktur data berbasis array seringkali sederhana dan hemat ruang ( struktur data implisit ), memerlukan sedikit ruang overhead , namun mungkin memiliki kompleksitas ruang yang buruk, terutama bila dimodifikasi, dibandingkan dengan struktur data berbasis pohon (bandingkan susunan diurutkan ke pohon pencarian ). Satu atau lebih array besar terkadang digunakan untuk meniru alokasi memori dinamis dalam program, terutama alokasi pool memori . Secara historis, terkadang ini adalah satu-satunya cara untuk mengalokasikan "memori dinamis" secara mudah. Array dapat digunakan untuk menentukan aliran kontrol parsial atau lengkap dalam program, sebagai alternatif ringkas untuk (jika tidak berulang) beberapa pernyataan IF . Mereka dikenal dalam konteks ini sebagai tabel kontrol dan digunakan bersamaan dengan interpreter tujuan dibangun yang aliran kontrolnya diubah sesuai dengan nilai yang terdapat dalam array. Array mungkin berisi pointer subrutin (atau nomor subrutin relatif yang dapat ditindaklanjuti oleh pernyataan SWITCH ) yang mengarahkan jalan eksekusi. Elemen pengenal dan formula pengalamatan Ketika objek data disimpan dalam array, objek individual dipilih oleh indeks yang biasanya merupakan bilangan bulat skalar non-negatif. Indeks juga disebut subscript. Sebuah indeks memetakan nilai array ke objek yang tersimpan. Ada tiga cara di mana elemen array dapat diindeks: 

0 ( pengindeksan berbasis nol ): Elemen pertama dari array diindeks oleh subskrip 0. [8]



1 ( satu pengindeksan berbasis ): Elemen pertama dari array diindeks oleh subskrip 1. [9]



n ( n-based indexing ): Indeks dasar sebuah array dapat dipilih secara bebas. Biasanya bahasa pemrograman yang memungkinkan pengindeksan n berbasis juga memungkinkan nilai indeks negatif dan tipe data skalar lainnya seperti enumerasi , atau karakter dapat digunakan sebagai indeks array.

Array dapat memiliki banyak dimensi, sehingga tidak jarang mengakses array menggunakan beberapa indeks. Misalnya, array dua dimensi A dengan tiga baris dan empat kolom mungkin menyediakan akses ke elemen pada baris ke 2 dan kolom ke 4 dengan ungkapan A[1, 3] dalam kasus sistem pengindeksan berbasis nol. Jadi dua indeks digunakan untuk array dua dimensi, tiga untuk array tiga dimensi, dan n untuk array n- dimensi. Jumlah indeks yang dibutuhkan untuk menentukan elemen disebut dimensi, dimensi, atau rangking dari array. Dalam array standar, setiap indeks dibatasi pada kisaran bilangan bulat berurutan tertentu (atau nilai berturut-turut dari beberapa tipe yang disebutkan ), dan alamat elemen dihitung dengan formula "linier" pada indeks. Satu dimensi array Array satu dimensi (atau array dimensi tunggal) adalah jenis array linier. Mengakses elemenelemennya melibatkan subskrip tunggal yang bisa mewakili indeks baris atau kolom. Sebagai contoh perhatikan pernyataan deklarasi int anArrayName[10]; Sintaks: datatype anArrayname [sizeofArray]; Dalam contoh yang diberikan, array dapat berisi 10 elemen dari setiap nilai yang tersedia untuk tipe int . Dalam C, indeks elemen array adalah 0-9 termasuk dalam kasus ini. Misalnya, ekspresi anArrayName[0] dan anArrayName[9] adalah elemen pertama dan terakhir masing-masing. Untuk sebuah vektor dengan pengalamatan linier, elemen dengan indeks i terletak pada alamat B + c × i , di mana B adalah alamat basis tetap dan c konstanta tetap, kadang-kadang disebut kenaikan alamat atau langkahnya . Jika indeks elemen yang valid dimulai pada 0, konstanta B hanyalah alamat dari elemen pertama dari array. Untuk alasan ini, bahasa pemrograman C menentukan bahwa indeks array selalu dimulai pada 0; dan banyak pemrogram akan memanggil elemen " zeroth " daripada "yang pertama". Namun, seseorang dapat memilih indeks elemen pertama dengan pilihan yang tepat dari alamat dasar B. Misalnya, jika array memiliki lima elemen, diindeks 1 sampai 5, dan alamat dasar B diganti dengan B + 30 c , maka indeks dari elemen yang sama adalah 31 sampai 35. Jika penomoran tidak dimulai pada 0, B konstan mungkin bukan alamat dari elemen manapun. Array multidimensional Untuk array multi dimensi, elemen dengan indeks i , j akan memiliki alamat B + c · i + d · j , di mana koefisien c dan d adalah kenaikan baris dan kolom berturut - turut . Secara umum, dalam array k- dimensi, alamat elemen dengan indeks i 1 , i 2 , ..., i k adalah B + c 1 · i 1 + c 2 · i 2 + ... + c k · i k . Sebagai contoh: int a [2] [3]; Ini berarti array memiliki 2 baris dan 3 kolom, dan array adalah tipe integer. Disini kita bisa menyimpan 6 elemen yang tersimpan secara linear tapi mulai dari baris pertama linier kemudian dilanjutkan dengan baris kedua. Array di atas akan disimpan sebagai 11 , 12 , a 13 , a 21 , a 22 , a 23 . Rumus ini hanya membutuhkan k perkalian dan penambahan k , untuk setiap array yang sesuai dengan memori. Apalagi jika ada koefisien daya tetap 2, perkaliannya bisa diganti dengan sedikit pergeseran . Koefisien c k harus dipilih sehingga setiap peta tupel yang valid memetakan ke alamat elemen yang berbeda.

Jika nilai hukum minimum untuk setiap indeks adalah 0, maka B adalah alamat dari elemen yang indeksnya nol semua. Seperti dalam kasus satu dimensi, indeks elemen dapat diubah dengan mengubah alamat dasar B. Jadi, jika array dua dimensi memiliki baris dan kolom yang diindeks dari 1 sampai 10 dan 1 sampai 20, masing-masing, maka penggantian B oleh B + c

1

- - 3 c

1

akan

menyebabkannya dinomori ulang dari 0 sampai 9 dan 4 sampai 23, masing-masing. Dengan memanfaatkan fitur ini, beberapa bahasa (seperti FORTRAN 77) menentukan bahwa indeks array dimulai pada 1, seperti pada tradisi matematika sementara bahasa lainnya (seperti Fortran 90, Pascal dan Algol) membiarkan pengguna memilih nilai minimum untuk setiap indeks. Vektor Dope Rumusan pengalamatan sepenuhnya ditentukan oleh dimensi d , alamat dasar B , dan penambahan c 1 , c 2 , ..., c k . Hal ini sering berguna untuk mengemas parameter ini ke dalam catatan yang disebut deskriptor array atau vektor stride atau vektor obat bius .

[2] [3]

Ukuran setiap elemen, dan nilai

minimum dan maksimum yang diperbolehkan untuk setiap indeks juga disertakan dalam vektor obat bius. Vektor ganja adalah pegangan lengkap untuk array, dan merupakan cara mudah untuk melewatkan array sebagai argumen pada prosedur . Banyak operasi slicing array yang berguna (seperti memilih sub-array, swapping index, atau membalikkan arah indeks) dapat dilakukan dengan sangat efisien dengan memanipulasi vektor obat bius. [2] Tata letak yang kompak Seringkali koefisien dipilih sehingga elemen menempati area memori yang berdekatan. Namun, itu tidak perlu. Bahkan jika array selalu dibuat dengan elemen bersebelahan, beberapa operasi pengiris array dapat membuat sub-array yang tidak bersebelahan darinya. Ada dua layout kompak yang sistematis untuk array dua dimensi. Misalnya, perhatikan matriksnya Pada deretan urutan utama (diadopsi oleh C untuk array yang dideklarasikan secara statis), elemen di setiap baris disimpan dalam posisi berturut-turut dan semua elemen berturut-turut memiliki alamat yang lebih rendah daripada elemen dari baris berturut-turut: Dalam urutan kolom utama (yang secara tradisional digunakan oleh Fortran), elemen di setiap kolom berurutan dalam memori dan semua elemen kolom memiliki alamat yang lebih rendah daripada elemen kolom berturut-turut: Untuk array dengan tiga atau lebih indeks, "deretan pesanan utama" menempatkan posisi berturut-turut dua elemen yang tupel indeksnya berbeda hanya satu di indeks terakhir . "Urutan utama kolom" sama dengan indeks pertama . Dalam sistem yang menggunakan cache prosesor atau memori virtual , pemindaian array jauh lebih cepat jika elemen berturut-turut disimpan dalam posisi berurutan di memori, bukan yang jarang tersebar. Banyak algoritma yang menggunakan array multidimensi akan memindai mereka dalam urutan yang dapat diprediksi. Seorang programmer (atau compiler yang canggih) dapat menggunakan informasi ini untuk memilih antara layout baris atau kolom utama untuk setiap array. Sebagai contoh, ketika menghitung produk A · B dari dua matriks, akan lebih baik jika A tersimpan dalam urutan utama, dan B dalam urutan kolom utama. Mengubah ukuran Artikel utama: array dinamis Array statis memiliki ukuran yang tetap saat dibuat dan akibatnya tidak membiarkan elemen disisipkan atau dihapus. Namun, dengan mengalokasikan array baru dan menyalin isi array lama ke dalamnya, adalah mungkin untuk secara efektif menerapkan versi dinamis dari sebuah array; lihat

array dinamis Jika operasi ini dilakukan jarang, penyisipan pada akhir array hanya memerlukan waktu konstan yang diamortisasi. Beberapa struktur data array tidak mengalokasikan ulang penyimpanan, namun jangan menyimpan hitungan jumlah elemen dari array yang digunakan, yang disebut hitungan atau ukuran. Ini secara efektif membuat array array dinamis dengan ukuran maksimum atau kapasitas tetap; String Pascal adalah contohnya. Rumus non linier Formula yang lebih rumit (non linier) kadang-kadang digunakan. Untuk array segitiga dua dimensi kompak, misalnya, formula pengalamatan adalah polinomial derajat 2. Efisiensi Baik simpan dan pilih take (deterministic worst case) waktu konstan . Array mengambil ruang linier ( O ( n )) dalam jumlah elemen n yang mereka pegang. Dalam sebuah array dengan ukuran elemen k dan pada sebuah mesin dengan ukuran garis cache dari B bytes, iterasi melalui array n elemen memerlukan minimum ceiling ( nk / B) cache misses, karena elemen-elemennya menempati lokasi memori bersebelahan. Ini kira-kira merupakan faktor B / k lebih baik daripada jumlah cache misses yang dibutuhkan untuk mengakses n elemen pada lokasi memori acak. Sebagai konsekuensinya, iterasi berurutan pada sebuah array terasa lebih cepat dalam praktik daripada iterasi pada banyak struktur data lainnya, sebuah properti yang disebut locality of reference (ini tidak berarti bagaimanapun, bahwa dengan menggunakan hash yang sempurna atau hash sepele dalam array (lokal) yang sama , tidak akan lebih cepat lagi - dan dapat dicapai dalam waktu yang konstan ). Perpustakaan menyediakan fasilitas tingkat rendah yang dioptimalkan untuk menyalin rentang memori (seperti memcpy ) yang dapat digunakan untuk memindahkan blok elemen array yang berdekatan secara signifikan lebih cepat daripada yang dapat dicapai melalui akses elemen individual. Kecepatan rutinitas yang dioptimalkan seperti itu bervariasi tergantung ukuran elemen, arsitektur, dan implementasinya. Memory-wise, array adalah struktur data yang kompak tanpa overhead per elemen. Mungkin ada overhead per array, misalnya untuk menyimpan batas indeks, tapi ini tergantung pada bahasa. Hal ini juga dapat terjadi bahwa elemen yang tersimpan dalam array memerlukan memori lebih sedikit daripada elemen yang sama yang tersimpan dalam variabel individual, karena beberapa elemen array dapat disimpan dalam satu kata ; Array seperti itu sering disebut array packed . Kasus yang ekstrim (tapi umum digunakan) adalah array bit , di mana setiap bit mewakili satu elemen. Sebuah oktet tunggal dapat menahan hingga 256 kombinasi yang berbeda hingga 8 kondisi yang berbeda, dalam bentuk yang paling kompak. Akses Array dengan pola akses yang dapat diprediksi secara statis merupakan sumber utama paralelisme data . Perbandingan dengan struktur data lainnya Perbandingan struktur data daftar

Pengindeksan

Daftar yang ditautkan

Array Array dinamis

Θ(n)

Θ (1) Θ (1)

Pohon seimbang Θ (log n)

N/A Θ(n)

Θ (log n)

Sisipkan / hapus di Θ (1) awal

Θ (1) bila unsur terakhir Insert / delete pada diketahui ; Θ (1) N/A Θ (log n ) akhir Θ ( n ) bila elemen terakhir tidak diamortisasi diketahui

yang Daftar akses pohon acak hashed Θ (log n) [10] Θ (1) Θ (1) Θ (log perbarui

array

Θ(n) n

)

Θ (1) diamortisasi

Sisipkan / hapus di waktu pencarian + Θ (1) [13] tengah

[11] [12]

Ruang terbuang (rataΘ(n) rata)

N/A Θ(n) 0

Θ ( n ) [14]

Θ (log n )

Θ (log perbarui

Θ(n)

Θ(n)

n

)

Θ(n) Θ(√ n )

Array Growable mirip dengan array tapi menambahkan kemampuan untuk menyisipkan dan menghapus elemen; menambahkan dan menghapus pada akhirnya sangat efisien. Namun, mereka menyimpan penyimpanan tambahan linier ( Θ ( n )), sedangkan array tidak menyimpan penyimpanan tambahan. Array asosiatif menyediakan mekanisme untuk fungsi seperti array tanpa biaya penyimpanan yang besar ketika nilai indeks jarang. Sebagai contoh, sebuah array yang berisi nilai hanya pada indeks 1 dan 2 miliar dapat mengambil manfaat dari penggunaan struktur semacam itu. Array asosiatif khusus dengan kunci bilangan bulat termasuk Patricia mencoba , susunan Judy , dan pohon van Emde Boas . Pohon yang seimbang membutuhkan waktu O (log n ) untuk akses yang terindeks, namun juga mengizinkan penyisipan atau penghapusan elemen dalam waktu O (log n ), sedangkan array yang menumbuhkan memerlukan waktu linier (Θ ( n )) untuk menyisipkan atau menghapus elemen pada posisi sewenang-wenang Daftar yang terhubung memungkinkan pemindahan dan penyisipan waktu konstan di tengah tetapi mengambil waktu linier untuk akses yang diindeks. Penggunaan memori mereka biasanya lebih buruk daripada array, namun masih linier. Vektor Iliffe adalah alternatif dari struktur array multidimensional. Ini menggunakan array satu dimensi referensi ke array satu dimensi lebih sedikit. Untuk dua dimensi, khususnya, struktur alternatif ini akan menjadi vektor dari pointer ke vektor, satu untuk setiap baris. Jadi elemen pada baris i dan kolom j dari array A akan diakses dengan pengindeksan ganda ( A [ i ] [ j ] pada notasi tipikal). Struktur alternatif ini memungkinkan bergerigi array , di mana setiap baris mungkin memiliki ukuran yang berbeda - atau, secara umum, di mana rentang yang berlaku dari setiap indeks bergantung pada nilai semua indeks sebelumnya. Ini juga menghemat satu perkalian (dengan penambahan kolom kolom) menggantikannya dengan sedikit pergeseran (untuk mengindeks vektor pointer baris) dan satu akses memori tambahan (mengambil alamat baris), yang mungkin bermanfaat di beberapa arsitektur.

Latihan soal 1. Dimensi apakah yang digunakan oleh array? 2. Apakah yang dimaksud array? 3. Apakah struktur sederhana dalam array? 4. Apa yang Anda ketahui tentang alamat pondasi? 5. Apakah fungsi array?

Jawaban 1. Subset diskrit 2. Struktur data yang terdiri dari kumpulan elemen ( nilai atau variabel ), masing-masing diidentifikasi oleh setidaknya satu indeks atau kunci array 3. Array linier 4. Alamat memori dari elemen pertama dari sebuah array

5. Array berguna terutama karena indeks elemen dapat dihitung pada run time

Penskoran No 1 2 3 4 5 Jumlah

Skor 20 20 20 20 20 100

Nilai = Betul x 20

Gorontalo, Juli 2018 Mengetahui Kepala Sekolah

Guru Mapel

…………………..

…………………..

RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan Nama Sekolah

:

Mata Pelajaran

: Pemrograman Dasar

Komp. Keahlian

: TKJ

Kelas/Semester

: X / 1I (Dua)

Tahun Pelajaran

: 2018 / 2019

Alokasi Waktu

: 12x 45 Menit

B. Kompetensi Inti dan Kompetensi Dasar Kompetensi Inti Memahami, menerapkan, menganalisis, dan mengevaluasi tentang pengetahuan faktual, konseptual, operasional dasar, dan metakognitif sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika pada tingkat teknis, spesifik, detil, dan kompleks, berkenaan dengan ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dalam konteks pengembangan potensi diri sebagai bagian dari keluarga, sekolah, duniakerja, warga masyarakat nasional, regional, dan internasional. Melaksanakan tugas spesifik, dengan menggunakan alat, informasi, dan prosedur kerja yang lazim dilakukan serta menyelesaikan masalah sederhana sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika Menampilkan kinerja mandiri dengan mutu dan kuantitas yang terukur sesuai dengan standar kompetensi kerja. Menunjukkan keterampilan menalar, mengolah, dan menyaji secara efektif, kreatif, produktif, kritis, mandiri, kolaboratif, komunikatif, dan solutif dalam ranah abstrak terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Menunjukkan keterampilan mempersepsi, kesiapan, meniru, membiasakan gerak mahir, menjadikan gerak alami, sampai dengan tindakan orisinal dalam ranah konkret terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Kompetensi Dasar 3.9 Menerapkan penggunaan fungsi 4.9 Membuat kode program menggunakan fungsi C. Indikator Pencapaian Kompetensi 3.9 Menerapkan penggunaan fungsi 3.9.1 Memahami penggunaan fungsi 3.9.2 Menggunakan atau mempraktekkan penggunaan fungsi

4.9 Membuat kode program menggunakan fungsi 4.9.1 Memodifikasi kode program untuk menggunakan fungsi 4.9.2 Mengubah kode program untuk menggunakan fungsi

Tujuan Pembelajaran 1. Setelah kegiatan pembelajaran diharapkan peserta didik dapat mendemonstrasikan penggunaan fungsi dengan benar 2. Setelah kegiatan pembelajaran diharapkan peserta didik dapat mempraktekkan penggunaan fungsi dengan tepat 1. Setelah kegiatan pembelajaran diharapkan peserta didik dapat mengubah kode program untuk menggunakan fungsi dengan benar 2. Setelah kegiatan pembelajaran diharapkan peserta didik dapat memodifikasi kode program untuk menggunakan fungsi dengan tepat

D. Materi Pembelajaran Kode program untuk menggunakan fungsi E. Pendekatan, Strategi, Metode Pendekatan berfikir

: Sientific

Model Pembelajaran

: Project Based Learning

Metode Pembelajaran

: Observasi, diskusi dan tanya jawab.

F. Kegiatan Pembelajaran Pertemuan ke 1 - 3 No

1

Kegiatan

Pendahuluan

Langkah – langkah Pembejalaran Melakukan pembukaan dengan salam pembuka dan berdoa pembelajaran Melakukan pengkondisian peserta didik Menyampaikan tujuan pembelajaran yang akan dicapai. Menyampaikan teknik penilaian yang akan digunakan Menyampaikan metode pembelajaran yang akan digunakan Melakukan Pre test.

Waktu untuk

memulai

15 Menit

Penentuan pertanyaan mendasar 1. Guru meminta peserta didik untuk memperhatikan video yang ada di layar komputer tentang kode program menggunakan fungsi 2. Guru meminta peserta didik memperhatikan dan menyimak tayangan video tersebut 3. Peserta didik membuat catatan kecil tentang materi atau video yang belum jelas untuk ditanyakan pada guru 4. Peserta didik mengajukan pertanyaan dari materi yang telah dicatat untuk acuan dalam mempraktekkan kode program menggunakan fungsi Merndesain Perencanaan Proyek 1. Peserta didik bertanya untuk memperoleh penjelasan yang mendetail dari guru dari tayangan video yang telah diputar 2. Guru menjelaskan dari masing – masing pertranyaan dari peserta didik agar peserta didik memahaminya 3. Guru mempraktekkan Membuat kode kode program menggunakan fungsi di depan peserta didik 4. Peserta didik memperhatikan dan mencoba praktek Membuat kode program menggunakan fungsi sendiri 2

Kegiatan Inti

Menyusun Jadwal 1. Peserta didik memahami penjelasan cara kode program menggunakan fungsi dari guru 2. Guru membuat jadwal untuk mengetes peserta didik dalam membuat kode program menggunakan fungsi 3. Guru memberitahukan kode program menggunakan fungsi kepada peserta didik 4. Peserta didik mendengarkan penjelasan atau informasi dari guru Memonitor pese3rta didik dan kemajuan proyek 1. Guru memanggil peserta didik sesuai absen untuk maju mendemonstrasikan, mempraktekkan, mengubah dan memodifikasi kode program menggunakan fungsi 2. Peserta didik maju satu persatu sesuai dengan panggilan guru 3. Peserta didik berusaha mendemonstrasikan, mempraktekkan, mengubah dan memodifikasi kode program menggunakan fungsi 4. Guru memperhatikan peserta didik dalam mendemonstrasikan, mempraktekkan, mengubah dan memodifikasi kode program menggunakan fungsi dan mengarahkan jika ada peserta didik yang belum tahu Menguji hasil evaluasi dan mengevaluasi pengalaman 1. Guru mengamati hasil yang telah dibuat oleh peserta didik 2. Guru menguji hasil dari peserta didik dalam membuat memodifikasi kode program menggunakan fungsi 3. Peserta didik mengamati penjelasan guru jika ada salah dalam memodifikasi kode

510 Menit

3

Penutup

program menggunakan fungsi 4. Guru mengevaluasi dari hasil peserta didik dalam dalam memodifikasi kode program menggunakan fungsi 1. Secara bersama-sama peserta didik diminta untuk menyimpulkan memodifikasi kode program menggunakan fungsi 2. Guru memberikan konfirmasi dan penguatan terhadap kesimpulan dari hasil pembelajaran. 3. Guru memberikan evaluasi (post test) dan menyuruh peserta didik secara individu untuk mengerjakannya. 4. Peserta didik diberi tugas untuk melakukan mengerjakan latihan tentang memodifikasi kode program menggunakan fungsi 5. Guru mengakhiri kegiatan belajar dengan memberikan pesan pada peserta didik untuk mempelajari materi berikutnya. 6. Guru menyuruh salah satu peserta didik untuk memimpin doa penutup

15 Menit

Alat/ bahan, Media Pembelajaran Daftar hadir Spidol Papan waith board Leptop LCD Lembar penilaian Sumber Belajar Internet Buku – buku penunjang KBM Penilainan Pembelajaran Teknik

: Non Test dan Test

Bentuk

:

 Penilaian pengetahuan

: Tes tertulis uraian

 Penilaian keterampilan

: Praktek

URAIAN MATERI Bahasa pemrograman adalah suatu kumpulan kata (perintah) yang siap digunakan untuk menulis suatu kode program sehingga kode-kode program yang kita tulis tersebut akan dapat dikenali oleh kompilator yang sesuai. Kata-kata tersebut dalam bahasa pemrograman disebut dengan keyword (reserve word). Untuk mempelajari bahasa pemrograman tertentu kita tidak harus menghafal semua keyword (kata kunci) yang ada di dalamnya, namun yang perlu kita ketahui adalah fungsi dan aturan penggunaannya. Contoh dari beberapa keyword misalnya : int, main, for, while, do while, dsb. Pada pembelajaran ini kita akan menggunakan salah satu bahasa pemrograman tingkat tinggi yaitu C / C++.

2

Penerjemah Bahasa Pemrograman

Program yang ditulis dalam bahasa pemrograman seperti C dan C++ sebenarnya tidak dimengerti oleh computer secara langsung. Sebab computer hanya mengenali kode 0 dan 1 (binary digit ). Supaya program dapat dijalankan oleh computer, program tersebut harus diterjemahkan terlebih dahulu ke dalam bahasa mesin (atau biasa disebut kode objek). Proses penerjemahannya dilakukan oleh program yang disebut Translator (penerjemah). Translator dapat berupa : 

Interpreter

Interpreter menerjemahkan instruksi selama program diminta untuk dieksekusi. Jika seseorang bermaksud menjalankan program tersebut (agar dapat dijalankan oleh computer, mula-mula kode sumber (source code atau program asli yang diitulis olem pemrogram) ditermahkan dulu ke dalam bentuk kode mesin baris perbaris instruksi. Setelah satu baris instruksi tersebut difahami oleh computer, instruksi tersebut dijalankan. Interpreter kemudian kembali memproses baris instruksi berikutnya. 

Kompiler

Kompiler menerjemahkan instruksi ke dalam kode objek secara keseluruhan (untuk semua instruksi). Setelah semua instruksi diterjemahkan, instruksi yang dimengerti oleh computer dijalankan. Proses penerjemahan seperti itu disebut kompilasi. Setelah kompilasi berakhir, compiler tidak diperlukan lagi, sebab sesudah kompilasi akan terbentuk program yang dapat dijalankan secara langsung tanpa melalui translator ( executable ). 3

Kerangka Program dalam Bahasa C / C++

Setiap program yang ditulis dengan menggunakan bahasa C harus mempunyai fungsi utama, fungsi tersebut bernama main(). Fungsi inilah yang akan dipanggil pertama kali pada saat eksekusi program. Apabila ada fungsi lain yang dibuat, maka fungsi tersebut akan dijankan ketika dipanggil di fungsi utama. Hal ini karena bahasa C/C++ merupakan bahasa procedural yang menerapkan konsep runtutan (program dieksekusi baris-perbaris dari atas ke bawah secara berurutan). Ada dua bentuk kerangka fungsi utama yang sering digunakan : 

Bentuk dengan tanpa pengembalian nilai ke system operasi (dengan menuliskan Void sebelum fungsi utama )

Contoh : void main(void) { Kode program yang akan ditulis; } Kata kunci void dalam kurung bersifat opsional, artinya bias dituliskan atau juga tidak. 

Bentuk dengan pengembalian nilai 0 ke system operasi (dengan menuliskan tipe data sebelum fungsi utama )

Contoh : int main(void) { Kode program yang akan ditulis; return 0; } Kata kunci void dalam kurung bersifat opsional, artinya bias dituliskan atau juga tidak. Fungsi return 0 pada konsep di atas adalah fungsi main() ini dapat mengembalikan nilai 0 ke system operasi yang menandakan bahwa program tersebut berjalan dengan baik tanpa adanya kesalahan.

4

Mengenal File Header ( *.h )Program dalam Bahasa C / C++

File header adalah file dengan eksetensi h ( *.h ) yaitu file bantuan yang digunakan untuk menyimpan daftar-daftar fungsi yang akan digunakan di dalam program.

File header di dalam C/C++ misalnya adalah <stdio.h> atau untuk proses masukan dan keluaran (input/output). Tidak hanya dua file header tersebut karena masih banyak file header yang disediakan oleh C/C++ untuk menangani kerword-keyword yang lain. Di bawah ini akan digambarkan bagaimana cara penulisan file header dengan mengacu pada konsep kerangka yang sudah dijelaskan di atas : Contoh 1 : Penggunaan input/output dengan bahasa C #include <stdio.h> int main() { printf(“Selamat Belajar Algortima dan Pemrograman \n”); return 0; }

Contoh 2 : Penggunaan input/output dengan bahasa C #include <stdio.h> void main() { printf(“Selamat Belajar Algortima dan Pemrograman \n”); }

Contoh 3 : Penggunaan input/output dengan bahasa C++ #include int main() { cout<<“Selamat Belajar Algortima dan Pemrograman \n”; return 0; }

Contoh 4 : Penggunaan input/output dengan bahasa C++ #include void main() { cout<<“Selamat Belajar Algortima dan Pemrograman \n”; }

5

Mengenal Fungsi printf() dan scanf() dalam Bahasa C

Dalam pembuatan sebuah program computer, kita tidak akan lepas dari proses masukan (input) dan keluaran (output). Dalam bahasa C perintah tersebut dikenal dengan penulisan scanf() sebagai inputan dan printf() sebagai keluaran. Untuk file header yang diperlukan adalah stdio.h. Contoh 1 : Memasukkan sebuah nilai bertipe integer #include <stdio.h> int main()

{ int x; printf(“Masukkan sebuah nilai bilangan bulat = ”); scanf(“%d”, &x); printf(“Nilai yang anda masukkan adalah = %d”, x ); return 0; } Adak kode program yang di dalamnya terdapat tanda %d, maksudnya adalah masukan tersebut membaca nilai bertipe int (format bilangan bulat) dari keyboard dan menyimpan nilai tersebut ke dalam alamat di dalam memori yang ditempati oleh variable x. Ada beberapa format yang lain untuk menentukan format yang dapat dipakai pada scanf(). Karakter %d, %i %o %u %c %s %f %lf %ld %e

Tipe Argumen int int int char char* float float float double

Keterangan Untuk membaca tipe bilangan bulat dalam bentuk decimal (basis 10) Untuk membaca tipe bilangan bulat dalam bentuk octal (basis 8) tanpa diawali angka 0 Untuk membaca bilangan bulat tanda tanda (unsigned) Untuk membaca karakter Untuk membaca string (kumpulan karakter) Untuk membaca bilangan real dengan tipe float Untuk membaca bilangan real dengan tipe double Untuk membaca bilangan real dengan tipe long int. Untuk membaca bilangan real dengan bentuk eksponen

Ada beberapa format yang lain untuk menentukan format yang dapat dipakai pada printf(). Karakter %d, %i %o %x, %X %u %c %s %f %lf %ld %e , %E %g , %G %%

Tipe Argumen Keterangan Untuk menampilkan tipe bilangan bulat dalam bentuk decimal (basis 10) int Untuk menampilkan tipe bilangan bulat dalam bentuk octal (basis 8) tanpa diawali angka 0 int Untuk menampilkan tipe bilangan bulat dalam bentuk heksadesimal (basis 16) tanpa diawali dengan tanda 0x atau 0X. Format x digunakan untuk menampilkan hasil dalam huruf kecil dan huruf X untuk int menampilkan dalam huruf besar. Untuk menampilkan bilangan bulat tanda tanda (unsigned) int Menampilkan karakter char Menampilkan string (kumpulan karakter) char* Menampilkan bilangan real dengan tipe float float Menampilkan bilangan real dengan tipe double float Menampilkan bilangan real dengan tipe long int. float Menampilkan bilangan real dengan bentuk eksponen double Menampilkan bilangan real dalam bentuk seperti %f, atau %E tergantung dari ekspresinya double Menyatakan symbol %

Ada beberapa tambahan dalam penggunaan bilangan real misalnya : %.3f

mencetak bilangan real dengan 3 angka di belakang koma

%2.3

mencetak bilangan real dengan 2 angka sebelum koma dan 3 angka sesudah koma.

Selain itu perlu juga diperhatikan sebuah karakter escape yaitu karakter yang ditulis dengan awalan tanda \ diikuti dengan karakter tertentu yang memiliki sebuah tingkah laku. Karakter \a \b \f \n \r \t \v \\ \” \’ \?

Keterangan Untuk membangkitkan suara atau speaker (bell) Karakter backspace, kursor akan kembali ke depan sebanyak satu karakter Formfeed : untuk meletakkan formfeed Newline : untuk meletakkan baris baru(ganti baris ) Carriage return : untuk meletakkan kursor di awal baris bersangkutan Horizontal tab : untuk meletakkan tab horizontal Vertical tab : untuk meletakkan tab vertical Memunculkan karakter \ Memunculkan karakter “ Memunculkan karakter ‘ Memunculkan karakter ?

Karakter-karakter tersebut seperti pada table di bawah ini : 6

Mengenal cin>> dan cout<< dalam Bahasa C++

Sama halnya fungsi scanf() dan printf(). Fungsi cin>> dan cout<< juga berfungsi sebagai inputan dan keluaran. Yang berbeda adalah file headernya memakai . Contoh 1 : Memasukkan sebuah nilai bertipe integer #include int main() { int x; cout<< “Masukkan sebuah nilai bilangan bulat = ”; cin>>x; cout<<“Nilai yang anda masukkan adalah =”<< x; return 0; }

7

Mengenal fungsi aritmatike dengan header math.h

Di dalam bahasa C juga disediakan fungsi untuk penangan aritmatika. File ini terdapat di dalam header math.h. Perhatikan table di bawah ini :

8

Fungsi sqrt() pow(x,y)

Argumen double double

tan(x)

double

sin(x)

double

cos(x)

double

log(x) log10(x) cabs(x) fabs(x)

double double int double

Keterangan Memberikan nilai balik berupa akar x. Nilai balik bertipe double. Memberikan nilai balik berupa xy. Nilai balik bertipe double. Memberikan nilai balik berupa tangent x. Argumen x berupa nilai dalam satuan radian. Nilai balik bertipe double. Memberikan nilai balik berupa sinus x. Argumen x berupa nilai dalam satuan radian. Nilai balik bertipe double. Memberikan nilai balik berupa cosines x. Argumen x berupa nilai dalam satuan radian. Nilai balik bertipe double. Memberikan nilai balik berupa loge x. Nilai balik bertipe double. Memberikan nilai balik berupa log10 x. Nilai balik bertipe double. Memberikan nilai balik berupa nilai absolute x. Nilai balik bertipe int. Memberikan nilai balik berupa nilai absolute x. Nilai balik bertipe double.

Mengenal Komentar Komentar adalah sebuah teks yang dimasukkan di dalam kode program, tetapi teks tersebut tidak akan dieksekusi sebagai kode program. Biasanya komentar digunakan untuk memberikan penjelasan terhadap kode-kode program yang kita tuliskan, dapat juga berupa kegunaan program, waktu dibuat dan penulis yang membuat.

Ada beberapa bentuk format dalam komentar. 

//isi komentar

Komentar ini digunakan pada C++ 

/* isi komentar */

Komentar ini bias digunakan di C / C++

9

Fungsi Manipulasi String Dalam sebuah kasus tertentu kita membutuhkan aktifitas untuk memanipulasi sebuah string, misalnya ketika kita mau menjumlah string, memotong string, dan sebagainya. Untuk menggunakan fungsi ini kita membutuhkan file header yang bernama string.h.

Ada beberapa fungsi manipulasi string diantaranya : 

Menentukan panjang string = strlen(string) Fungsi ini digunakan untuk menghitung panjang dari sebuah string. Contoh 1 : #include #include <string.h> void main()

{ char *nama = “Belajar Algoritma dan Pemrograman”; cout<<strlen(nama); } 

Mencari sebuah string = strchr(string, index) Fungsi ini digunakan untuk memotong sebuah string dimulai dari index. Contoh 1 : #include #include <string.h> void main()

{ char *nama = “Belajar Algoritma dan Pemrograman”; cout<<strchr(nama,’A’); } 

Mencari sebuah string = strstr(string, index) Fungsi ini digunakan untuk memotong sebuah string dimulai dari index. Dengan ketentuan bahwa index yang dicari harus tepat, jika tidak maka hasilnya kosong / null. Contoh 1 : #include #include <string.h> void main()

{ char *nama = “Belajar Algoritma dan Pemrograman”; cout<<strstr(nama,”ajar”); } 

Membuat String menjadi huruf KAPITAL = strupr (string) Fungsi ini digunakan membuat string menjadi huruf KAPITAL. Contoh 1 : #include #include <string.h> void main()

{ char *nama = “Belajar Algoritma dan Pemrograman”; cout<<strupr(nama); }



Membuat String menjadi huruf kecil = strlwr (string) Fungsi ini digunakan membuat string menjadi huruf kecil. Contoh 1 : #include #include <string.h> void main()

{ char *nama = “Belajar Algoritma dan Pemrograman”; cout<<strlwr(nama);

Latihan soal 1. Apakah yang dimaksud bahasa pemrograman? 2. Sebutkan contoh keyword? 3. Apakah yang dimaksud dengan penulisan scanf? 4. Apa fungsi string? 5. Apa fungsi komentar?

Jawaban 1. Suatu kumpulan kata (perintah) yang siap digunakan untuk menulis suatu kode program sehingga kode-kode program yang kita tulis tersebut akan dapat dikenali oleh kompilator yang sesuai 2. int, main, for, while, do while, dsb. 3. Dalam pembuatan sebuah program computer, kita tidak akan lepas dari proses masukan (input) dan keluaran (output). Dalam bahasa C perintah 4. Membuat string menjadi huruf KAPITAL. 5. Digunakan untuk memberikan penjelasan terhadap kode-kode program yang kita tuliskan, dapat juga berupa kegunaan program, waktu dibuat

Penskoran No 1 2 3 4 5 Jumlah

Skor 20 20 20 20 20 100

Nilai = Betul x 20 Gorontalo, Juli 2018 Mengetahui Kepala Sekolah

Guru Mapel

…………………..

…………………..

RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan Nama Sekolah

:

Mata Pelajaran

: Pemrograman Dasar

Komp. Keahlian

: TKJ

Kelas/Semester

: X / 1I (Dua)

Tahun Pelajaran

: 2018 / 2019

Alokasi Waktu

: 12x 45 Menit

B. Kompetensi Inti dan Kompetensi Dasar Kompetensi Inti Memahami, menerapkan, menganalisis, dan mengevaluasi tentang pengetahuan faktual, konseptual, operasional dasar, dan metakognitif sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika pada tingkat teknis, spesifik, detil, dan kompleks, berkenaan dengan ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dalam konteks pengembangan potensi diri sebagai bagian dari keluarga, sekolah, duniakerja, warga masyarakat nasional, regional, dan internasional. Melaksanakan tugas spesifik, dengan menggunakan alat, informasi, dan prosedur kerja yang lazim dilakukan serta menyelesaikan masalah sederhana sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika Menampilkan kinerja mandiri dengan mutu dan kuantitas yang terukur sesuai dengan standar kompetensi kerja. Menunjukkan keterampilan menalar, mengolah, dan menyaji secara efektif, kreatif, produktif, kritis, mandiri, kolaboratif, komunikatif, dan solutif dalam ranah abstrak terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Menunjukkan keterampilan mempersepsi, kesiapan, meniru, membiasakan gerak mahir, menjadikan gerak alami, sampai dengan tindakan orisinal dalam ranah konkret terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Kompetensi Dasar 3.10 Menerapkan pembuatan antar muka (User Intreface) pada aplikasi 4.10 Membuat antar muka (User Intreface) pada aplikasi C. Indikator Pencapaian Kompetensi 3.10 Menerapkan pembuatan antar muka (User Intreface) pada aplikasi 3.10.1 Memahami pembuatan antar muka (User Intreface) pada aplikasi 3.10.2 Mempraktekkan pembuatan antar muka (User Intreface) pada aplikasi

4.10 Membuat antar muka (User Intreface) pada aplikasi 4.10.1 Memodifikasi antar muka (user interface pada aplikasi 4.10.2 Mengubah antar muka (user interface pada aplikasi

Tujuan Pembelajaran 1.

Setelah kegiatan pembelajaran diharapkan peserta didik dapat mendemonstrasikan pembuatan antar muka (user Intreface) pada aplikasi dengan benar

2.

Setelah kegiatan pembelajaran diharapkan peserta didik dapat mempraktekkan pembuatan antar muka (user Intreface) pada aplikasi dengan tepat

1.

Setelah kegiatan pembelajaran diharapkan peserta didik dapat mengubah antar muka (user interface pada aplikasi dengan benar

2.

Setelah kegiatan pembelajaran diharapkan peserta didik dapat memodifikasi antar muka (user interface pada aplikasi dengan tepat

D. Materi Pembelajaran Pembuatan antar muka (User Intreface) pada aplikasi E. Pendekatan, Strategi, Metode Pendekatan berfikir

: Sientific

Model Pembelajaran

: Project Based Learning

Metode Pembelajaran

: Observasi, diskusi dan tanya jawab.

F. Kegiatan Pembelajaran Pertemuan ke 1 - 3 No

Kegiatan

1

Pendahuluan

Langkah – langkah Pembejalaran Melakukan pembukaan dengan salam pembuka dan berdoa untuk memulai pembelajaran Melakukan pengkondisian peserta didik Menyampaikan tujuan pembelajaran yang akan dicapai. Menyampaikan teknik penilaian yang akan digunakan Menyampaikan metode pembelajaran yang akan digunakan Melakukan Pre test. Penentuan pertanyaan mendasar 1. Guru meminta peserta didik untuk memperhatikan video yang ada di layar komputer tentang pembuatan antar muka (User Intreface) pada aplikasi 2. Guru meminta peserta didik memperhatikan dan menyimak tayangan video tersebut 3. peserta didik membuat catatan kecil tentang materi atau video yang belum jelas untuk ditanyakan pada guru 4. Peserta didik mengajukan pertanyaan dari materi yang telah dicatat untuk acuan dalam mempraktekkan kode program menggunakan fungsi

2

Kegiatan Inti

Merndesain Perencanaan Proyek 1. Peserta didik bertanya untuk memperoleh penjelasan yang mendetail dari guru dari tayangan video yang telah diputar 2. Guru menjelaskan dari masing – masing pertranyaan dari peserta didik agar peserta didik memahaminya 3. Guru mempraktekkan antar muka (User Intreface) pada aplikasi di depan peserta didik 4. Peserta didik memperhatikan dan mencoba praktek Membuat kode program menggunakan fungsi sendiri Menyusun Jadwal 1. Peserta didik memahami penjelasan cara kode antar muka (User Intreface) pada aplikasi dari guru 2. Guru membuat jadwal untuk mengetes peserta didik dalam membuat antar muka (User Intreface) pada aplikasi 3. Guru memberitahukan antar muka (User Intreface) pada aplikasi kepada peserta didik 4. Peserta didik mendengarkan penjelasan atau informasi dari guru Memonitor pese3rta didik dan kemajuan proyek 1. Guru memanggil peserta didik sesuai absen untuk maju mendemonstrasikan, mempraktekkan, mengubah dan memodifikasi antar muka (User Intreface) pada aplikasi 2. Peserta didik maju satu persatu sesuai dengan panggilan guru 3. Peserta didik berusaha mendemonstrasikan, mempraktekkan, mengubah dan

Waktu

15 Menit

memodifikasi antar muka (User Intreface) pada aplikasi 4. Guru memperhatikan peserta didik dalam mendemonstrasikan, mempraktekkan, mengubah dan memodifikasi antar muka (User Intreface) pada aplikasi dan mengarahkan jika ada peserta didik yang belum tahu

3

Penutup

Menguji hasil evaluasi dan mengevaluasi pengalaman 1. Guru mengamati hasil yang telah dibuat oleh peserta didik 2. Guru menguji hasil dari peserta didik dalam membuat memodifikasi antar muka (User Intreface) pada aplikasi 3. Peserta didik mengamati penjelasan guru jika ada salah dalam memodifikasi antar muka (User Intreface) pada aplikasi 4. Guru mengevaluasi dari hasil peserta didik dalam dalam memodifikasi memodifikasi antar muka (User Intreface) pada aplikasi 1. Secara bersama-sama peserta didik diminta untuk menyimpulkan memodifikasi antar muka (User Intreface) pada aplikasi 2. Guru memberikan konfirmasi dan penguatan terhadap kesimpulan dari hasil pembelajaran. 3. Guru memberikan evaluasi (post test) dan menyuruh peserta didik secara individu untuk mengerjakannya. 4. Peserta didik diberi tugas untuk melakukan mengerjakan latihan tentang memodifikasi antar muka (User Intreface) pada aplikasi 5. Guru mengakhiri kegiatan belajar dengan memberikan pesan pada peserta didik untuk mempelajari materi berikutnya. 6. Guru menyuruh salah satu peserta didik untuk memimpin doa penutup

15 Menit

Alat/ bahan, Media Pembelajaran Daftar hadir Spidol Papan waith board Leptop LCD Lembar penilaian

Sumber Belajar Internet Buku – buku penunjang KBM Penilainan Pembelajaran Teknik

: Non Test dan Test

Bentuk

:



Penilaian pengetahuan

: Tes tertulis uraian



Penilaian keterampilan

: Praktek

URAIAN MATERI Antarmuka merupakan topeng dari sebuah sistem atau sebuah pintu gerbang masuk ke sistem dengan diwujudkan ke dalam sebuah aplikasi software. Oleh karena itu, sebuah software seolaholah mengenal usernya, mengenal karakteristik usernya, dari sifat sampai kebiasaan manusia secara umum. •

Desainer harus mencari dan mengumpulkan berbagai karakteristik serta sifat dari user karena antarmuka harus disesuaikan dengan user yang jumlahnya bisa jadi lebih dari satu dan mempunyai karakter yang berbeda. Hal tersebut harus terpikirkan oleh desainer dan tidak dianjurkan merancang antarmuka dengan didasarkan pada dirinya sendiri Survey adalah hal yang paling tepat

2.

Product compatibility



Sebuah aplikasi yang bertopengkan antarmuka harus sesuai dengan sistem aslinya.



Seringkali sebuah aplikasi menghasilkan hasil yang berbeda dengan sistem manual atau sistem yang ada.



Hal tersebut sangat tidak diharapkan dari perusahaan karena dengan adanya aplikasi software diharapkan dapat menjaga produk yang dihasilkan dan dihasilkan produk yang jauh lebih baik. Contoh: aplikasi sistem melalui antarmuka diharapkan menghasilkan report/ laporan serta informasi yang detail dan akurat dibandingkan dengan sistem manual.

3.

Task compatibility



Sebuah aplikasi yang bertopengkan antarmuka harus mampu membantu para user dalam menyelesaikan tugasnya. Semua pekerjaan serta tugas-tugas user harus diadopsi di dalam aplikasi tersebut melalui antarmuka.



Sebisa mungkin user tidak dihadapkan dengan kondisi memilih dan berpikir, tapi user dihadapkan dengan pilihan yang mudah dan proses berpikir dari tugas-tugas user dipindahkan dalam aplikasi melalui antarmuka



Contoh: User hanya klik setup, tekan tombol next, next, next, finish, ok untuk menginstal suatu sotfware.

4.

Work flow compatibility



Sebuah aplikasi sistem sudah pasti mengapdopsi sistem manualnya dan di dalamnya tentunya terdapat urutan kerja dalam menyelesaikan pekerjaan.



Dalam sebuah aplikasi, software engineer harus memikirkan berbagai rangkaian pekerjaan yang ada pada sebuah sistem.



Jangan sampai user mengalami kesulitan dalam menyelesaikan pekerjaannya karena user mengalami kebingungan ketika urutan pekerjaan yang ada pada sistem manual tidak ditemukan pada software yang dihadapinya.



Selain itu user jangan dibingungkan dengan pilihan-pilihan menu yang terlalu banyak dan semestinya menu-menu merupakan urutan dari rangkaian pekerjaan.



Dengan workflow compatibility dapat membantu seorang user dalam mempercepat pekerjaannya.

5.

Consistency



Sebuah sistem harus sesuai dengan sistem nyata serta sesuai dengan produk yang dihasilkan.



Banyak perusahaan dalam menjalankan sistemnya menggunakan aplikasi sistem yang berbeda di setiap divisi dalam perusahaan tersebut. Ada pula yang menggunakan aplikasi yang sama di divisi yang berbeda, seringkali keseragaman dalam menjalankan sistem tidak diperhatikan



Oleh karena itu software engineer harus memperhatikan hal-hal yang bersifat konsisten pada saat merancang aplikasi khususnya antarmuka, contoh: penerapan warna, struktur menu, font, format desain yang seragam pada antarmuka di berbagai bagian, sehingga user tidak mengalami kesulitan pada saat berpindah posisi pekerjaan atau berpindah lokasi dalam menyelesaikan pekerjaan.



Hal itu didasarkan pada karakteristik manusia yang mempunyai pemikiran yang menggunakan analogi serta kemampuan manusia dalam hal memprediksi.



Contoh: keseragaman tampilan toolbar pada Word, Excell, PowerPoint, Access hampir sama.

6. Familiarity Memberikan tampilan yang familiar terhadap user. Tampilan awal twitter.com sangatlah familiar di mata user dan tidak membingungkan. 7.

Simplicity



Kesederhanaan perlu diperhatikan pada saat membangun antarmuka.



Tidak selamanya antarmuka yang memiliki menu banyak adalah antarmuka yang baik.



Kesederhanaan di sini lebih berarti sebagai hal yang ringkas dan tidak terlalu berbelit.



User akan merasa jengah dan bosan jika pernyataan, pertanyaan dan menu bahkan informasi yang dihasilkan terlalu panjang dan berbelit.



User lebih menyukai hal-hal yang bersifat sederhana tetapi mempunyai kekuatan/ bobot.

8. Direct manipulation •

User berharap aplikasi yang dihadapinya mempunyai media atau tools yang dapat digunakan untuk melakukan perubahan pada antarmuka tersebut.



User ingin sekali aplikasi yang dihadapannya bisa disesuaikan dengan kebutuhan, sifat dan karakteristik user tersebut. Selain itu, sifat dari user yang suka merubah atau mempunyai rasa bosan. Contoh: tampilan warna sesuai keinginan (misal pink) pada window bisa dirubah melalui desktop properties, tampilan skin winamp bisa dirubah, dll.

9.

Control



Prinsip control ini berkenaan dengan sifat user yang mempunyai tingkat konsentrasi yang berubah-ubah. Hal itu akan sangat mengganggu proses berjalannya sistem.



Kejadian salah ketik atau salah entry merupakan hal yang biasa bagi seorang user. Akan tetapi hal itu akan dapat mengganggu sistem dan akan berakibat sangat fatal karena salah memasukkan data 1 digit/ 1 karakter saja informasi yang dihasilkan sangat dimungkinkan salah.



Oleh karena itu software engineer haruslan merancang suatu kondisi yang mampu mengatasi dan menanggulangi hal-hal seperti itu.



Contoh: “illegal command”, “can’t recognize input” sebagai portal jika terjadi kesalahan.

10. WYSIWYG •

WYSIWYG (what you see is what you get), apa yang didapat adalah apa yang dilihatnya.



Contoh: apa yang tercetak di printer merupakan informasi yang terkumpul dari data-data yang terlihat di layar monitor pada saat mencari data.



Hal ini juga perlu menjadi perhatian software engineer pada saat membangun antarmuka.



Informasi yang dicari/ diinginkan harus sesuai dengan usaha dari user pada saat mencari data dan juga harus sesuai dengan data yang ada pada aplikasi sistem (software).



Jika sistem mempunyai informasi yang lebih dari yang diinginkan user, hendaknya dibuat pilihan (optional) sesuai dengan keinginan user. Bisa jadi yang berlebihan itu justru tidak diinginkan user.



Yang mendasar di sini adalah harus sesuai dengan kemauan dan pilihan dari user.

11. Flexibility •

Fleksibel merupakan bentuk dari solusi pada saat menyelesaikan masalah.



Software engineer dapat membuat berbagai solusi penyelesaian untuk satu masalah.



Sebagai contoh adanya menu, hotkey, atau model dialog yang lainnya.

12. Responsiveness •

Setelah memberikan input atau memasukkan data ke aplikasi sistem melalui antarmuka, sebaiknya sistem langsung memberi tanggapan/ respon dari hasil data yang diinputkan.



Selain teknologi komputer semakin maju sesuai dengan tuntutan kebutuhan manusia, software yang dibangun pun harus mempunyai reaksi tanggap yang cepat. Hal ini didasari pada sifat manusia yang semakin dinamis/ tidak mau menunggu.

13. Invisible Technology •

Secara umum, user mempunyai keingintahuan sebuah kecanggihan dari aplikasi yang digunakannya. Untuk itu aplikasi yang dibuat hendaknya mempunyai kelebihan yang tersembunyi. Bisa saja kelebihan itu berhubungan dengan sistem yang melingkupinya atau bisa saja kecanggihan atau kelebihan itu tidak ada hubungannya. Contoh: sebuah aplikasi mempunyai voice recognize sebagai media inputan, pengolah kata yang dilengkapi dengan language translator. Speech Recognition adalah suatu SO dalam komputer yang memiliki kemampuan menerima input berupa suara dan mampu memprosesnya sehingga komputer dapat melakukan perintah kita. penggunaan speech recognition cukup dengan suara saja, kita dapat melakukan perintah kepada komputer hanya dengan mengatakan satu kata program yang ada di dalam komputer. dengan begitu komputer dengan otomatis akan memprosesnya. untuk lebih mudah menggunakan speech recognition lebih baik menggunakan windows 7.

Alat dan bahan : a.

Komputer kusunya windows 7

b.

Microphone

c.

SO speech rocognition

Cara penggunaan: 1.

Klik Start –> Control Panel

2.

Pilih menu ease of acces (klik)

3.

Klik pada menu speech recognition

4.

Jika speech recognition belum terinstal di komputer, maka pilih jenis microphone dan ikuti langkah selanjutnya untuk menginstal. tinggal klik next saja.

5.

Setelah menginstal dan mengatur microphone –> start speech recognition setelah itu akan muncul tanda speech recognition seperti gambar di atas.Setelah muncul tulisan listening pada speech recognition katakan satu menu Yang ada dalam komputer melalui microphone. Maka dengan otomatis speech recognition akan melakukan perintah tersebut selama pengucapan yang dilakukan sesuai dengan pronouns dalam bahasa inggris. Contoh hasil uji: Setelah mengucapkan kata “start menu” maka dengan otomatis akan muncul start menu. Saat kita membuka suatu aplikasi dan kita mengatakan “close” maka dengan sendirinya aplikasi itu akan tertutup. Selain untuk membuka suatu program alam komputer, speech rocognition juga dapat digunakan untuk menulis dalam word atau notepad selama pengucapan yang diucapkan benar dan sesuai dalam bahasa inggris. Jika speech recognition ini tidak digunakan maka dengan sendirinya akan

off (sleeping). Sedangkan jika kita mengucapkan kata “stop listening” maka dengan otmatis speech recognition akan off. 14. Rebotsness •

Interaksi manusia dan komputer (pembangunan antarmuka) yang baik dapat berupa frase-frase menu atau error handling yang sopan.



Kata yang digunakan harus dalam kondisi bersahabat sehingga nuansa user friendly akan dapat dirasakan oleh user selama menggunakan sistem .



Contoh yang kurang baik: YOU FALSE !!!, BAD FILES !!!, FLOPPY ERROR, dsb. Akan lebih baik jika BAD COMMAND OR FILES NAMES, DISK DRIVE NOT READY,dll

15. Protection •

Suasana nyaman perlu diciptakan oleh software engineer di antarmuka yang dibangunnya.



Nyaman disini adalah suasana dimana user akan betah dan tidak menemui suasana kacau ketika user salah memasukkan data atau salah eksekusi.



Seorang user akan tetap merasa nyaman ketika dia melakukan kesalahan, misal ketika user melakukan deleting atau menghapus files tanpa sengaja tidaklah menjadi kekacauan yang berarti karena misal ada recovery tools seperti undo, recycle bin, dll atau “are you sure….”



Proteksi disini lebih menjaga kenyamanan user ketika menggunakan aplikasi sistem khususnya data-data berupa file.

16. Ease Of Learning And Ease Of Use •

Kemudahan dalam mengoperasikan software hanya dengan memandangi atau belajar beberapa jam saja. Kemudahan dalam memahami icon, menu-menu, alur data software, dsb.



Sesudah mempelajari, user dengan mudah dan cepat menggunakan software tersebut. Jika sudah memahami tentunya akan membantu proses menjalankan sistem dengan cepat dan baik.

Latihan Soal 1. Apakah yang dimaksud antarmuka? 2. Mengapa Desainer harus mencari dan mengumpulkan berbagai karakteristik serta sifat dari user? 3. Aplikasi apakah yang digunakan untuk memperingan pekerjaan manusia? 4. Apakah yang dimaksud Speech Recognition? 5. Apakah fungsi speech rocognition?

Jawaban 1.

Topeng dari sebuah sistem atau sebuah pintu gerbang masuk ke sistem dengan diwujudkan ke dalam sebuah aplikasi software

2.

Karena antarmuka harus disesuaikan dengan user yang jumlahnya bisa jadi lebih dari satu dan mempunyai karakter yang berbeda

3.

Workflow compatibility

4.

Suatu SO dalam komputer yang memiliki kemampuan menerima input berupa suara dan mampu memprosesnya sehingga komputer dapat melakukan perintah

5.

Digunakan untuk menulis dalam word atau notepad selama pengucapan yang diucapkan benar dan sesuai dalam bahasa inggris.

Penskoran No 1 2 3 4 5 Jumlah

Skor 20 20 20 20 20 100

Nilai = Betul x 20

Gorontalo, Juli 2018 Mengetahui Kepala Sekolah

Guru Mapel

…………………..

…………………..

RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan Nama Sekolah

:

Mata Pelajaran

: Pemrograman Dasar

Komp. Keahlian

: TKJ

Kelas/Semester

: X / 1I (Dua)

Tahun Pelajaran

: 2018 / 2019

Alokasi Waktu

: 12x 45 Menit

B. Kompetensi Inti dan Kompetensi Dasar Kompetensi Inti Memahami, menerapkan, menganalisis, dan mengevaluasi tentang pengetahuan faktual, konseptual, operasional dasar, dan metakognitif sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika pada tingkat teknis, spesifik, detil, dan kompleks, berkenaan dengan ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dalam konteks pengembangan potensi diri sebagai bagian dari keluarga, sekolah, duniakerja, warga masyarakat nasional, regional, dan internasional. Melaksanakan tugas spesifik, dengan menggunakan alat, informasi, dan prosedur kerja yang lazim dilakukan serta menyelesaikan masalah sederhana sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika Menampilkan kinerja mandiri dengan mutu dan kuantitas yang terukur sesuai dengan standar kompetensi kerja. Menunjukkan keterampilan menalar, mengolah, dan menyaji secara efektif, kreatif, produktif, kritis, mandiri, kolaboratif, komunikatif, dan solutif dalam ranah abstrak terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Menunjukkan keterampilan mempersepsi, kesiapan, meniru, membiasakan gerak mahir, menjadikan gerak alami, sampai dengan tindakan orisinal dalam ranah konkret terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Kompetensi Dasar 3.11 Menerapkan berbagai struktur kontrol dalam aplikasi antar muka (User Intreface). 4.11

Membuat kode program berbagai struktur kontrol dalam aplikasi antar muka (User

Intreface). C. Indikator Pencapaian Kompetensi 3.11 Menerapkan berbagai struktur kontrol dalam aplikasi antar muka (User Intreface). 3.11.1 Memahami struktur kontrol dalam aplikasi antar muka (User Intreface). 3.11.2 Mempraktekkan berbagai struktur control dalam aplikasi antar muka (User Intreface

4.11 Membuat kode program berbagai struktur kontrol dalam aplikasi antar muka (User Intreface).

4.11.1 Mengubah kode program struktur control dalam aplikasi antar muka (user interface) 4.11.2 Memodifikasi kode program struktur control dalam aplikasi antar muka (user interface

Tujuan Pembelajaran 1.

Setelah kegiatan pembelajaran diharapkan peserta didik dapat mendemonstrasikan berbagai struktur control dalam aplikasi antar muka (User Intreface) dengan benar

2.

Setelah kegiatan pembelajaran diharapkan peserta didik dapat mempraktekkan berbagai struktur control dalam aplikasi antar muka (User Intreface) dengan tepat

1.

Setelah kegiatan pembelajaran diharapkan peserta didik dapat mengubah kode program struktur control dalam aplikasi antar muka (user interface) dengan benar

2.

Setelah kegiatan pembelajaran diharapkan peserta didik dapat memodifikasi kode program struktur control dalam aplikasi antar muka (user interface) dengan tepat

D. Materi Pembelajaran struktur kontrol dalam aplikasi antar muka (User Intreface). E. Pendekatan, Strategi, Metode Pendekatan berfikir

: Sientific

Model Pembelajaran

: Project Based Learning

Metode Pembelajaran

: Observasi, diskusi dan tanya jawab.

F. Kegiatan Pembelajaran Pertemuan ke 1 - 3 No

Kegiatan

1

Pendahuluan

Langkah – langkah Pembejalaran Melakukan pembukaan dengan salam pembuka dan berdoa untuk memulai pembelajaran Melakukan pengkondisian peserta didik Menyampaikan tujuan pembelajaran yang akan dicapai. Menyampaikan teknik penilaian yang akan digunakan Menyampaikan metode pembelajaran yang akan digunakan Melakukan Pre test. Penentuan pertanyaan mendasar 1. Guru meminta peserta didik untuk memperhatikan video yang ada di layar komputer tentang struktur kontrol dalam aplikasi antar muka (User Intreface). 2. Guru meminta peserta didik memperhatikan dan menyimak tayangan video tersebut 3. Peserta didik membuat catatan kecil tentang materi atau video yang belum jelas untuk ditanyakan pada guru 4. Peserta didik mengajukan pertanyaan dari materi yang telah dicatat untuk acuan dalam mempraktekkan struktur kontrol dalam aplikasi antar muka (User Intreface).

2

Kegiatan Inti

Merndesain Perencanaan Proyek 1. Peserta didik bertanya untuk memperoleh penjelasan yang mendetail dari guru dari tayangan video yang telah diputar 2. Guru menjelaskan dari masing – masing pertranyaan dari peserta didik agar peserta didik memahaminya 3. Guru mempraktekkan struktur kontrol dalam aplikasi antar muka (User Intreface). di depan peserta didik 4. Peserta didik memperhatikan dan mencoba praktek Membuat struktur kontrol dalam aplikasi antar muka (User Intreface).sendiri Menyusun Jadwal 1. Peserta didik memahami penjelasan cara struktur kontrol dalam aplikasi antar muka (User Intreface dari guru 2. Guru membuat jadwal untuk mengetes peserta didik dalam membuat struktur kontrol dalam aplikasi antar muka (User Intreface) 3. Guru memberitahukan struktur kontrol dalam aplikasi antar muka (User Intreface kepada peserta didik 4. Peserta didik mendengarkan penjelasan atau informasi dari guru Memonitor pese3rta didik dan kemajuan proyek 1. Guru memanggil peserta didik sesuai absen untuk maju mendemonstrasikan, mempraktekkan, mengubah dan memodifikasi struktur kontrol dalam aplikasi antar muka (User Intreface 2. Peserta didik maju satu persatu sesuai dengan panggilan guru

Waktu

15 Menit

3.

Peserta didik berusaha mendemonstrasikan, mempraktekkan, mengubah struktur kontrol dalam aplikasi antar muka (User Intreface aplikasi 4. Guru memperhatikan peserta didik dalam mendemonstrasikan, mempraktekkan, mengubah dan memodifikasi struktur kontrol dalam aplikasi antar muka (User Intreface dan mengarahkan jika ada peserta didik yang belum tahu

3

Penutup

Menguji hasil evaluasi dan mengevaluasi pengalaman 1. Guru mengamati hasil yang telah dibuat oleh peserta didik 2. Guru menguji hasil dari peserta didik dalam membuat memodifikasi struktur kontrol dalam aplikasi antar muka (User Intreface 3. Peserta didik mengamati penjelasan guru jika ada salah dalam memodifikasi struktur kontrol dalam aplikasi antar muka (User Intreface 4. Guru mengevaluasi dari hasil peserta didik dalam dalam memodifikasi struktur kontrol dalam aplikasi antar muka (User Intreface 1. Secara bersama-sama peserta didik diminta untuk menyimpulkan struktur kontrol dalam aplikasi antar muka (User Intreface 2. Guru memberikan konfirmasi dan penguatan terhadap kesimpulan dari hasil pembelajaran. 3. Guru memberikan evaluasi (post test) dan menyuruh peserta didik secara individu untuk mengerjakannya. 4. Peserta didik diberi tugas untuk melakukan mengerjakan latihan tentang struktur kontrol dalam aplikasi antar muka (User Intreface 5. Guru mengakhiri kegiatan belajar dengan memberikan pesan pada peserta didik untuk mempelajari materi berikutnya. 6. Guru menyuruh salah satu peserta didik untuk memimpin doa penutup

15 Menit

Alat/ bahan, Media Pembelajaran Daftar hadir Spidol Papan waith board Leptop LCD Lembar penilaian

Sumber Belajar Internet Buku – buku penunjang KBM Penilainan Pembelajaran Teknik

: Non Test dan Test

Bentuk

:

 Penilaian pengetahuan : Tes tertulis uraian  Penilaian keterampilan : Praktek

URAIAN MATERI Antarmuka pemakai (User Interface) merupakan mekanisme komunikasi antara pengguna (user) dengan sistem. Antarmuka pemakai (User Interface) dapat menerima informasi dari pengguna (user) dan memberikan informasi kepada pengguna (user) untuk membantu mengarahkan alur penelusuran masalah sampai ditemukan suatu solusi. Contoh konsep luas user interface mencakup aspek interaktif sistem operasi komputer, perkakas tangan, operator kontrol mesin berat. dan proses kontrol. Pertimbangan desain yang berlaku saat membuat user interface berkaitan dengan ergonomik dan psikologi. User interface yang ada untuk berbagai sistem, dan menyediakan cara : •

Input, memungkinkan pengguna untuk memanipulasi sistem.



Output, memungkinkan sistem untuk menunjukkan efek manipulasi pengguna.



Menyesuaikan antar muka pengguna dengan tugas.



Membuat antar muka pengguna menjadi efisien.



Memberikan arus balik yang tepat kepada pengguna.



Memunculkan pertanyaan-pertanyaan yang dapat dimanfaatkan.



Memperbaiki produktivitas dari pengetahuan pegawai

 Untuk membuat suatu interface yang baik dalam suatu aplikasi harus memperhatikan beberapa hal penting : •

Harus memahami konsep dasar dari interaksi manusia dan komputer.



Harus mendesain interaksi dan proses.



Terdapat notasi,dialog dan desain dalam interface



Model-model dari sistem



Pendukung implementasi interface

 User interface bahasa alamiah Ideal bagi user yang tidak berpengalaman, karena interface menggunakan bahasa sehari-hari Adanya perbedaan bahasa antara komputer & manusia sehingga diperlukan penerjemah yang mampu menerjemahkan 2 arah. •

Memberi kemudahan kepada user untuk mengontrol suatu aplikasi dengan serangkaian tekanan tombol, perintah-perintah, frase atau beberapa rangkaian dari 3 metode ini.



User Interface GUI



Memungkinkan adanya manipulasi langsung pada tampilan grafis di layar, yang dapat diselesaikan dengan inputan dari keyboard, joystick atau mouse



Variable tempat kerja yang penting untuk dipertimbangkan:



warna ruang komputer & pencahayaan



tampilan layar



keyborad user, mouse



meja komputer & kursi

Ada 5 tipe utama interaksi untuk user interaction: 1. Direct manipulation – pengoperasian secara langsung : interaksi langsung dengan objek pada layar. Misalnya delete file dengan memasukkannya ke trash. Contoh: Video games. Kelebihan : Waktu pembelajaran user sangat singkat, feedback langsung diberikan pada tiap aksi sehingga kesalahan terdeteksi dan diperbaiki dengan cepat.

Kekurangan : Interface tipe ini rumit dan memerlukan banyak fasilitas pada sistem komputer, cocok untuk penggambaran secara visual untuk satu operasi atau objek. Menu selection – pilihan berbentuk menu : Memilih perintah dari daftar yang disediakan. Misalnya saat click kanan dan memilih aksi yang dikehendaki. Kelebihan : User tidak perlu ingat nama perintah. Pengetikan minimal. Kesalahan rendah. Kekurangan : Tidak ada logika AND atau OR. Perlu ada struktur menu jika banyak pilihan. Menu dianggap lambat oleh expert user dibanding command language.

Command language – perintah tertulis : Menuliskan perintah yang sudah ditentukan pada program. Contoh: operating system. Kelebihan : Perintah diketikan langsung pada system. Misal UNIX, DOS command. Bisa diterapkan pada terminal yang murah.Kombinasi perintah bisa dilakukan. Misal copy file dan rename nama file. Kekurangan : Perintah harus dipelajari dan diingat cara penggunaannya, tidak cocok untuk user biasa. Kesalahan pakai perintah sering terjadi. Perlu ada sistem pemulihan kesalahan.Kemampuan mengetik perlu. Natural language – perintah dengan bahasa alami : Menggunakan bahasa alami untuk mendapatkan hasil. Contoh: search engine di Internet. Kelebihan: Perintah dalam bentuk bahasa alami, dengan kosa kata yang terbatas (singkat), misalnya kata kunci yang kita tentukan untuk dicari oleh search engine. Ada kebebasan menggunakan kata-kata. Kekurangan: Tidak semua sistem cocok gunakan ini. Jika digunakan maka akan memerlukan banyak pengetikan. Tujuan sebuah user interface adalah mengkomunikasikan fitur-fitur sistem yang tersedia agar user mengerti dan dapat menggunakan sistem tersebut. Dalam hal ini penggunaan bahasa amat efektif untuk membantu pengertian, karena bahasa merupakan alat komunikasi tertua kedua gestur, yang dipakai orang untuk berkomunikasi sehari-harinya. Tanpa bahasa pun kadang ikon bisa tidak jelas maknanya, sebab tidak semua lambang ikon bisa bersifat universal. Meski penting, namun sayangnya kadang penggunaan bahasa, seperti pemilihan istilah, sering dianggap kurang begitu penting. Bahasa sering menjadi sesuatu yang nomor dua ketimbang elemen-elemen interface lainnya.

Latihan soal 1. Apakah yang dimaksud user interface? 2. Apakah tujuan dari user interface? 3. Sebutkan kelebihan dan kekujrangan dari natural language! 4. Berikan contoh dari Command language? 5. Sebutkan kelebihan dan kekurangan dari menu selection? Jawaban 1. Merupakan mekanisme komunikasi antara pengguna (user) dengan sistem. Antarmuka pemakai 2. Mengkomunikasikan fitur-fitur sistem yang tersedia agar user mengerti dan dapat menggunakan sistem tersebut. 3. Kelebihan: Perintah dalam bentuk bahasa alami, dengan kosa kata yang terbatas (singkat), misalnya kata kunci yang kita tentukan untuk dicari oleh search engine. Ada kebebasan menggunakan kata-kata. Kekurangan: Tidak semua sistem cocok gunakan ini. Jika digunakan maka akan memerlukan banyak pengetikan 4. Operating sistem 5. Kelebihan : User tidak perlu ingat nama perintah. Pengetikan minimal. Kesalahan rendah.

Kekurangan : Tidak ada logika AND atau OR. Perlu ada struktur menu jika banyak pilihan. Menu dianggap lambat oleh expert user dibanding command language

Penskoran No 1 2 3 4 5 Jumlah

Skor 20 20 20 20 20 100

Nilai = Betul x 20

Gorontalo, Juli 2018 Mengetahui Kepala Sekolah

Guru Mapel

…………………..

…………………..

RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan Nama Sekolah

:

Mata Pelajaran

: Pemrograman Dasar

Komp. Keahlian

: TKJ

Kelas/Semester

: X / 1I (Dua)

Tahun Pelajaran

: 2018 / 2019

Alokasi Waktu

: 12x 45 Menit

B. Kompetensi Inti dan Kompetensi Dasar Kompetensi Inti Memahami, menerapkan, menganalisis, dan mengevaluasi tentang pengetahuan faktual, konseptual, operasional dasar, dan metakognitif sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika pada tingkat teknis, spesifik, detil, dan kompleks, berkenaan dengan ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dalam konteks pengembangan potensi diri sebagai bagian dari keluarga, sekolah, duniakerja, warga masyarakat nasional, regional, dan internasional. Melaksanakan tugas spesifik, dengan menggunakan alat, informasi, dan prosedur kerja yang lazim dilakukan serta menyelesaikan masalah sederhana sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika Menampilkan kinerja mandiri dengan mutu dan kuantitas yang terukur sesuai dengan standar kompetensi kerja. Menunjukkan keterampilan menalar, mengolah, dan menyaji secara efektif, kreatif, produktif, kritis, mandiri, kolaboratif, komunikatif, dan solutif dalam ranah abstrak terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Menunjukkan keterampilan mempersepsi, kesiapan, meniru, membiasakan gerak mahir, menjadikan gerak alami, sampai dengan tindakan orisinal dalam ranah konkret terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Kompetensi Dasar 3.12 Menganalisis pembuatan aplikasi sederhana berbasis antar muka (User Intreface) 4.12 Membuat aplikasi sederhana berbasis antar muka (User Intreface) C. Indikator Pencapaian Kompetensi 3.12 Menganalisis pembuatan aplikasi sederhana berbasis antar muka (User Intreface) 3.12.1 Mengetahui cara pembuatan aplikasi sederhana berbasis antar muka (User Intreface) 3.12.2 Memahami permasalahan dalam pembuatan aplikasi sederhana berbasis antar muka (User Intreface)

4.12 Membuat aplikasi sederhana berbasis antar muka (User Intreface) 4.12.1 Memodifikasi aplikasi sederhana berbasis antar muka (user interface

4.12.2 Mengubah aplikasi sederhana berbasis antar muka (user interface) Tujuan Pembelajaran 1. Setelah kegiatan pembelajaran diharapkan peserta didik dapat menghubungkan pembuatan aplikasi sederhana berbasis antar muka (User Intreface) dengan benar 2. Setelah kegiatan pembelajaran diharapkan peserta didik dapat membagi permasalahan permasalahan pembuatan aplikasi sederhana berbasis antar muka (User Intreface) dengan tepat 1. Setelah kegiatan pembelajaran diharapkan peserta didik dapat mengubah

aplikasi sederhana

berbasis antar muka (user interface) dengan benar 2. Setelah kegiatan pembelajaran diharapkan peserta didik dapat memodifikasi aplikasi sederhana berbasis antar muka (user interface)dengan tepat

D. Materi Pembelajaran aplikasi sederhana berbasis antar muka (user interface) E. Pendekatan, Strategi, Metode Pendekatan berfikir

: Sientific

Model Pembelajaran

: Project Based Learning

Metode Pembelajaran

: Observasi, diskusi dan tanya jawab.

F. Kegiatan Pembelajaran Pertemuan ke 1 - 3 No

Kegiatan

1

Pendahuluan

Langkah – langkah Pembejalaran Melakukan pembukaan dengan salam pembuka dan berdoa untuk memulai pembelajaran Melakukan pengkondisian peserta didik Menyampaikan tujuan pembelajaran yang akan dicapai. Menyampaikan teknik penilaian yang akan digunakan Menyampaikan metode pembelajaran yang akan digunakan Melakukan Pre test. Penentuan pertanyaan mendasar 1. Guru meminta peserta didik untuk memperhatikan video yang ada di layar komputer tentang pembuatan aplikasi sederhana berbasis antar muka (User Intreface) 2. Guru meminta peserta didik memperhatikan dan menyimak tayangan video tersebut 3. Peserta didik membuat catatan kecil tentang materi atau video yang belum jelas untuk ditanyakan pada guru 4. Peserta didik mengajukan pertanyaan dari materi yang telah dicatat untuk acuan dalam mempraktekkan pembuatan aplikasi sederhana berbasis antar muka (User Intreface)

2

Kegiatan Inti

Merndesain Perencanaan Proyek 1. Peserta didik bertanya untuk memperoleh penjelasan yang mendetail dari guru dari tayangan video yang telah diputar 2. Guru menjelaskan dari masing – masing pertranyaan dari peserta didik agar peserta didik memahaminya 3. Guru mempraktekkan pembuatan aplikasi sederhana berbasis antar muka (User Intreface) di depan peserta didik 4. Peserta didik memperhatikan dan mencoba praktek Membuat pembuatan aplikasi sederhana berbasis antar muka (User Intreface) sendiri Menyusun Jadwal 1. Peserta didik memahami penjelasan cara struktur kontrol dalam pembuatan aplikasi sederhana berbasis antar muka (User Intreface) dari guru 2. Guru membuat jadwal untuk mengetes peserta didik dalam membuat pembuatan aplikasi sederhana berbasis antar muka (User Intreface) 3. Guru memberi tahukan pembuatan aplikasi sederhana berbasis antar muka (User Intreface) Kepada peserta didik 4. Peserta didik mendengarkan penjelasan atau informasi dari guru

Waktu

15 Menit

Memonitor pese3rta didik dan kemajuan proyek 1. Guru memanggil peserta didik sesuai absen untuk maju menghubungkan, membagi permasalahan, mengubah dan memodifikasi pembuatan aplikasi sederhana berbasis antar muka (User Intreface) 2. Peserta didik maju satu persatu sesuai dengan panggilan guru 3. Peserta didik berusaha menghubungkan, membagi permasalahan, mengubah dan memodifikasi pembuatan aplikasi sederhana berbasis antar muka (User Intreface) 4. Guru memperhatikan peserta didik dalam menghubungkan, membagi permasalahan, mengubah dan memodifikasi pembuatan aplikasi sederhana berbasis antar muka (User Intreface) dan mengarahkan jika ada peserta didik yang belum tahu Menguji hasil evaluasi dan mengevaluasi pengalaman 1. Guru mengamati hasil yang telah dibuat oleh peserta didik 2. Guru menguji hasil dari peserta didik dalam menghubungkan, membagi perma salahan, mengubah dan memodifikasi pembuatan aplika si sederhana berba sis antar muka (User Intreface) 3. Peserta didik mengamati penjelasan guru jika ada salah dalam menghu bungkan, membagi permasalahan, me ngubah dan memo difikasi pembuatan aplikasi sederhana berbasis antar mu ka (User Intreface)

3

Penutup

4. Guru mengevaluasi dari hasil peserta didik dalam dalam menghubungkan, membagi permasalahan, me ngubah dan memo difikasi pembuatan aplikasi sederhana berbasis antar mu ka (User Intreface) 1. Secara bersama-sama peserta didik diminta untuk menyimpulkan aplikasi sederhana berbasis antar muka 2. Guru memberikan konfirmasi dan penguatan terhadap kesimpulan dari hasil pembelajaran. 3. Guru memberikan evaluasi (post test) dan menyuruh peserta didik secara individu untuk mengerjakannya. 4. Peserta didik diberi tugas untuk melakukan mengerjakan latihan tentang aplikasi sederhana berbasis antar muka 5. Guru mengakhiri kegiatan belajar dengan memberikan pesan pada peserta didik untuk mempelajari materi berikutnya. 6. Guru menyuruh salah satu peserta didik untuk memimpin doa penutup

Alat/ bahan, Media Pembelajaran Daftar hadir Spidol Papan waith board Leptop LCD Lembar penilaian

Sumber Belajar Internet Buku – buku penunjang KBM Penilainan Pembelajaran Teknik

: Non Test dan Test

Bentuk

:

 Penilaian pengetahuan : Tes tertulis uraian  Penilaian keterampilan : Praktek

15 Menit

URAIAN MATERI 1.

Antarmuka Pemakai (User Interface) merupakan mekanisme komunikasi antara pengguna (user) dengan sistem. Antarmuka pemakai (User Interface) dapat menerima informasi dari pengguna (user) dan memberikan informasi kepada pengguna (user) untuk membantu mengarahkan alur penelusuran masalah sampai ditemukan suatu solusi. User Interface, berfungsi untuk menginputkan pengetahuan baru ke dalam basis pengetahuan sistem pakar (ES), menampilkan penjelasan sistem dan memberikan panduan pemakaian sistem secara menyeluruh step by step sehingga user mengerti apa yang akan dilakukan terhadap suatu sistem. Yang terpenting dalam embangun user interface adalah kemudahan dalam memakai/ menjalankan sistem, interaktif, komunikatif, sedangkan kesulitan dalam mengembangkan/ membangun suatu program jangan terlalu diperlihatkan.

2.

Tujuan Antar Muka (interface) Pengguna



Menyesuaikan antar muka pengguna dengan tugas.



Membuat antar muka pengguna menjadi efisien.



Memberikan arus balik yang tepat kepada pengguna.



Memunculkan pertanyaan-pertanyaan yang dapat dimanfaatkan.



Memperbaiki produktivitas dari pengetahuan pegawai

3.

Manfaat Antar Muka (Interface) pengguna Manfaat User Interface untuk menghubungkan atau penterjemah informasi antara pengguna dengan system operasi, sehingga computer dapat digunakan. Dengan demikian, user interface bisa juga diartikan sebagai mekanisme inter-relasi atau integrasi total dari perangkat keras dan lunak yang membentuk pengalaman bekomputer. Use interface dari sisi software bias berbentuk Graphical User Interface (GUI) atau Command Line Interfae (CLI), sedangkan dari sisi hardware bias berbentuk Aplle Desktop Bus (ADB), USB, dan fire wire.

4.

Prinsip Desain User interface User interface desain adalah desain komputer, peralatan, mesin, perangkat komunikasi mobile, aplikasi perangkat lunak, dan situs web dengan fokus pada pengalaman pengguna dan interaksi. Tujuan dari user interface design adalah membuat interaksi pengguna sesederhana dan seefisien mungkin, dalam hal mencapai tujuan pengguna-apa yang sering disebut pengguna desain yang berpusat. User interface design yang bagus memfasilitasi dan menyelesaikan tugas di tangan tanpa menarik perhatian yang tidak perlu pada dirinya sendiri. Desain grafis dapat dimanfaatkan untuk mendukung kegunaan. Proses desain harus menyeimbangkan fungsi teknis dan elemen visual (misalnya, model mental) untuk menciptakan sebuah sistem yang tidak hanya operasional saja tetapi juga bermanfaat serta dapat disesuaikan dengan kebutuhan pengguna berubah. Interface design terlibat dalam berbagai proyek dari sistem komputer, untuk mobil, untuk pesawat komersial; semua proyek-proyek ini melibatkan banyak interaksi sama manusia dasar, namun juga membutuhkan beberapa keterampilan yang unik dan pengetahuan. Akibatnya, desainer cenderung mengkhususkan diri pada jenis proyek tertentu dan memiliki kemampuan berpusat di sekitar keahlian mereka, apakah itu perancangan perangkat lunak, penelitian pengguna, desain web, atau desain industri.

5.

Penyajian User Interface



Fungsi persyaratan pengumpulan hingga perakitan daftar fungsi yang diperlukan oleh sistem untuk mencapai tujuan proyek dan potensi kebutuhan pengguna.



User analisis – menganalisis potensi pemakai sistem baik melalui diskusi dengan orang-orang yang bekerja dengan pengguna dan / atau potensi pemakai sendiri. pertanyaan Khas meliputi:



Apa yang akan pengguna ingin sistem untuk melakukan?



Bagaimana sistem fit dengan alur kerja normal pengguna atau kegiatan sehari-hari?



Bagaimana cerdas secara teknis adalah pengguna dan apa sistem tidak seupa pengguna sudah gunakan?



Seperti apa tampilan & merasa gaya banding kepada pengguna?



Arsitektur Informasi – pengembangan proses dan / atau arus informasi darisistem(misalnya untuk sistem pohon telepon, ini akan menjadi sebuah pohon pilihan flowchart dan untuk situs web ini akan menjadi aliran situs yang menunjukkan hirarki dari halaman).



Prototyping – pengembangan wireframes, baik dalam bentuk kertas atau prototip layar interaktif sederhana. Prototipe ini dilepaskan dari semua tampak & merasa elemen dan konten yang paling dalam rangka untuk berkonsentrasi pada antarmuka jaringan.



Kegunaan pengujian – pengujian prototipe pada teknik pengguna-sering menggunakan yang sebenarnya yang disebut berpikir keras protokol di mana Anda meminta pengguna untuk berbicara tentang pikiran mereka selama pengalaman.



Grafis Desain interface – tampilan yang sebenarnya & merasa User interface desain akhir grafis (GUI). Ini mungkin didasarkan pada temuan dikembangkan selama pengujian kegunaan jika kegunaan adalah terduga, atau berdasarkan tujuan komunikasi dan gaya yang menarik bagi pengguna. Dalam kasus yang jarang terjadi, mungkin grafis drive prototipe, tergantung pada pentingnya bentuk visual versus fungsi. Jika interface telah membutuhkan beberapa kulit, mungkin ada beberapa desain interface untuk satu panel kontrol, fitur fungsional atau widget. Fase ini sering merupakan upaya kolaborasi antara desainer grafis dan interface designer pengguna, atau ditangani oleh orang yang ahli dalam kedua disiplin.

6. Perancangan Antar Muka ( interface) Pengguna Tujuan dari Perancangan Antarmuka Pengguna adalah merancang interface yang efektif untuk sistem perangkat lunak. Efektif artinya siap digunakan, dan hasilnya sesuai dg kebutuhan. Kebutuhan disini adalah kebutuhan penggunanya. Pengguna sering menilai sistem dari interface, bukan dari fungsinya melainkan dari user interfacenya. Jika desain user interfacenya yang buruk, maka itu sering jadi alasan untuk tidak menggunakan software. Selain itu interface yang buruk sebabkan pengguna membuat kesalahan fatal. Saat ini interface yang banyak digunakan dalam software adalah GUI (Graphical User Interface). GUI memberikan keuntungan seperti: 1.

Gampang dipelajari oleh pengguna yang pengalaman dalam menggunakan komputer cukup minim.

2.

Berpindah dari satu layar ke layar yang lain tanpa kehilangan informasi dimungkinkan.

3.

Akses penuh pada layar dengan segera untuk beberapa macam tugas/keperluan. 7. Tipe-Tipe Interaksi Antar Muka (Interface) Pengguna

Pemilihan tipe interaksi yang tepat dapat memberikan efek yang baik terhadap user dengan komputer. Terdapat beberapa tipe interaksi yang umum 1.

dialog antara

digunakan, yaitu :

Command Line Interface (CLI) Merupakan bentuk dialog interaktif yang pertama digunakan dan masih dipakai hingga saat ini. Dengan CLI, user memberikan instruksi secara langsung kepada komputer menggunakan tombol fungsi, karakter tunggal, command dalam bentuk singkat maupun panjang. CLI memungkinkan user mengakses dengan cepat fungsi sistem dan beberapa tools.

2.

Menu Pada menu-driven interface , sekumpulan opsi / pilihan yang tersedia bagi user ditampilkan pada layar dan dapat dipilh dengan menggunakan mouse atau tombol alfabetik. Pilihan pada menu harus merepresentasikan arti dan

numerik maupun

dikelompokkan berdasarkan

suatu kategori agar mudah dikenali dan memudahkan user memilih sesuai dengan tugas yang akan dilaksanakan. 3.

Natural language Mungkin merupakan mekanisme komunikasi yang atraktif. Umumnya, komputer tidak dapat mengerti instruksi yang dituliskan dalam bahasa sehari-hari. Natural language dapat mengerti input tertulis (written input) dan suara (speech input). Namun masih ada kekurangan dalam hal ambiguity (kerancuan) pada aspek sintaks dan semantik.

4.

Q/A & query dialogue Merupakan mekanisme sederhana untuk input pada beberapa aplikasi. User diberikan serangkaian pertanyaan umumnya dalam bentuk jawaban ya/tidak (Y/N), pilihan ganda atau dalam bentuk kode, dan dibimbing tahap demi tahap selama proses interaksi. Interface ini mudah dipelajari namun terbatas fungsinya.

5.

Form-fills and spreadsheet Form-fill utamanya digunakan untuk aplikasi pemasukan (data entry) dan pencarian (data retrieval) data. Bentuk form-fill adalah berupa display yang menyerupai selembar kertas dengan beberapa slot / field untuk diisi. Spreadsheet adalah variasi dari form-fill. Spreadsheet terdiri dari sel yang dapat berisi nilai atau formula.

6.

WIMP interface (Windows, Icons, Menu, Pointers) WIMP merupakan default interface untuk sebagian besar sistem komputer

interaktif yang

digunakan saat ini terutama pada PC dan desktop workstation. Window merupakan area layar yang berprilaku seperti terminal independent dan berisi grafik atau teks yang dapat dipindahkan dan idiubah ukurannya. Satu layar dapat terdiri dari lebih 1 window yang memungkinkan lebih dari satu tugas aktif pada saat yang sama. Icon merupakan sebuah gambar kecil yang digunakan untuk merepresentasikan windows yang sedang berada dalam keadaan tertutup (closed). Window dapat diaktifkan / diperbesar dengan meng-klik icon yang bersangkutan, dan sebaliknya jika user tidak menggunakan / mengerjakan tugas pada satu window tertentu maka dia dapat menon-aktifkan window menjadi icon yang disebut sebagai iconifying . Menu adalah tehnik interaksi yang umum digunakan bahkan oleh sistem nonwindow sekalipun. Menu menampilkan pilihan operasi atau layanan yang diberikan / tersedia oleh sistem. User dapat memperoleh petunjuk mengenai operasi apa saja pada sistem melalui menu. Oleh karena itu penamaan pad amenu haruslah memiliki arti dan informatif. Pointer

merupakan komponen yang penting dalam sistem WIMP karena interaksi pada sistem ini memerlukan aktifitas menunjuk (pointing) dan memilih (selecting). User diberikan cursor pada layar yang dapat dikendalikan oleh peralatan input seperti mouse, joystick, ataupun trackball

Latihan soal 1. Apakah yang dimaksud user interface? 2. Apakah tujuan dari user interface? 3. Apasajakah yang termasuk dalam user interface? 4. Apakah tujuan dari perancangan user interface? 5. Sebutkan keuntungan dari GUI!

Jawaban 1.

User Interface) merupakan mekanisme komunikasi antara pengguna (user) dengan sistem

2.

Untuk menginputkan pengetahuan baru ke dalam basis pengetahuan sistem pakar (ES), menampilkan penjelasan sistem dan memberikan panduan pemakaian sistem secara menyeluruh step by step sehingga user mengerti apa yang akan dilakukan terhadap suatu sistem

3.

Desain komputer, peralatan, mesin, perangkat komunikasi mobile, aplikasi perangkat lunak, dan situs web dengan fokus pada pengalaman pengguna dan interaksi

4.

Tujuan dari Perancangan Antarmuka Pengguna adalah merancang interface yang efektif untuk sistem perangkat lunak.

5.

Gampang dipelajari oleh pengguna yang pengalaman dalam menggunakan komputer cukup minim. Berpindah dari satu layar ke layar yang lain tanpa kehilangan informasi dimungkinkan. Akses penuh pada layar dengan segera untuk beberapa macam tugas/keperluan.

Penskoran No 1 2 3 4 5 Jumlah

Skor 20 20 20 20 20 100

Nilai = Betul x 20

Gorontalo, Juli 2018 Mengetahui Kepala Sekolah

Guru Mapel

…………………..

………………..

RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan Nama Sekolah

:

Mata Pelajaran

: Pemrograman Dasar

Komp. Keahlian

: TKJ

Kelas/Semester

: X / 1I (Dua)

Tahun Pelajaran

: 2018 / 2019

Alokasi Waktu

: 8x 45 Menit

B. Kompetensi Inti dan Kompetensi Dasar Kompetensi Inti Memahami, menerapkan, menganalisis, dan mengevaluasi tentang pengetahuan faktual, konseptual, operasional dasar, dan metakognitif sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika pada tingkat teknis, spesifik, detil, dan kompleks, berkenaan dengan ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dalam konteks pengembangan potensi diri sebagai bagian dari keluarga, sekolah, dunia kerja, warga masyarakat nasional, regional, dan internasional. Melaksanakan tugas spesifik, dengan menggunakan alat, informasi, dan prosedur kerja yang lazim dilakukan serta menyelesaikan masalah sederhana sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika Menampilkan kinerja mandiri dengan mutu dan kuantitas yang terukur sesuai dengan standar kompetensi kerja. Menunjukkan keterampilan menalar, mengolah, dan menyaji secara efektif, kreatif, produktif, kritis, mandiri, kolaboratif, komunikatif, dan solutif dalam ranah abstrak terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Menunjukkan keterampilan mempersepsi, kesiapan, meniru, membiasakan gerak mahir, menjadikan gerak alami, sampai dengan tindakan orisinal dalam ranah konkret terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Kompetensi Dasar 3.13 Mengevaluasi debuging pada aplikasi sederhana 4.13 Menggunakan debuging pada aplikasi sederhana C. Indikator Pencapaian Kompetensi 3.13 Mengevaluasi debuging pada aplikasi sederhana 3.13.1 Menyimpulkan debuging aplikasi pada sederhana 3.13.2 Menilai debuging aplikasi pada sederhana

4.13 Menggunakan debuging pada aplikasi sederhana 4.13.1 Menerapkan debugging pada aplikasi sederhana 4.13.2 Menemukan debugging pada aplikasi sederhana

Tujuan Pembelajaran 1. Setelah kegiatan pembelajaran diharapkan peserta didik dapat menyimpulkan debuging aplikasi pada sederhana dengan benar 2. Setelah kegiatan pembelajaran diharapkan peserta didik dapat menilai debuging aplikasi pada sederhana dengan tepat 1. Setelah kegiatan pembelajaran diharapkan peserta didik dapat menerapkan debugging pada aplikasi sederhana dengan benar 2. Setelah kegiatan pembelajaran diharapkan peserta didik dapat menemukan debugging pada aplikasi sederhana dengan tepat

D. Materi Pembelajaran debugging pada aplikasi sederhana E. Pendekatan, Strategi, Metode Pendekatan berfikir

: Sientific

Model Pembelajaran

: Discovery Based Learning

Metode Pembelajaran

: Observasi, diskusi dan tanya jawab.

F. Kegiatan Pembelajaran Pertemuan ke 1 dan 2 No

Kegiatan

1

Pendahuluan

Langkah – langkah Pembejalaran Melakukan pembukaan dengan salam pembuka dan berdoa untuk memulai pembelajaran Melakukan pengkondisian peserta didik Menyampaikan tujuan pembelajaran yang akan dicapai. Menyampaikan teknik penilaian yang akan digunakan Menyampaikan metode pembelajaran yang akan digunakan Melakukan Pre test. Pemberian rangsangan 1. Guru meminta peserta didik untuk melihat materi di layar komputer debuging pada aplikasi sederhana 2. Guru meminta peserta didik untuk membaca buku panduan yang lainnya agar dapat mudah dipahami 3. Peserta didik dapat mengidentifikasi masalah dari materi yang disajikan oleh guru

2

Kegiatan Inti

Identifikasi masalah 1. Guru menugaskan peserta didik untuk menyimpulkan, menilai, menerapkan, menemukan debugging pada aplikasi sederhana 2. Pesera didik berusaha untuk dapat menyimpulkan, menilai, menerapkan, menemukan debugging pada aplikasi sederhana 3. Setelah peserta didik membaca buku panduan yang lainnya peserta didik dapat menyimpulkan, menilai, menerapkan, menemukan debugging pada aplikasi sederhana 4. Peserta didik mendiskusikan dengan kelompok yang lainnya tentang menyimpulkan, menilai, menerapkan, menemukan debugging pada aplikasi sederhana 5. Peserta didik menyampaikan hasil diskusi di depan kelas, kelompok yang lainnya memberikan tanggapan Pengumpulan data 1. Guru meminta peserta didik untuk mencari buku panduan atau informasi menyimpulkan, menilai, menerapkan, menemukan debugging pada aplikasi sederhana 2. Peserta didik mencoba menyimpulkan, menilai, menerapkan, menemukan debugging pada aplikasi sederhana petunjuk dari guru sebagai pembuktian pengujian hipotesis Pembuktian 1. Peserta didik menyimpulkan, menilai, menerapkan, menemukan debugging pada aplikasi sederhana 2. Guru meminta peserta didik untuk menilai hasil yang telah dibuat oleh peserta didik yang lainnya

Waktu

15 Menit

3.

3

Penutup

Peserta didik menilai berdasarkan format penilaian yang sudah ada

Menarik Simpulan 1. Guru menjelaskan kepada peserta didik tentang menyimpulkan, menilai, menerapkan, menemukan debugging pada aplikasi sederhana 2. Guru menugaskan peserta didik untuk menyimpulkan, menilai, menerapkan, menemukan debugging pada aplikasi sederhana 3. Peserta didik mengerjakan tugas dari guru untuk menyimpulkan, menilai, menerapkan, menemukan debugging pada aplikasi sederhana 4. Peserta didik yang lain menanggapi kesimpulan dari peserta didik yang sedang maju untuk mempresentasikan hasilnya 5. Peserta didik memperbaiki hasil presentasi berdasarkan tanggapan dari temannya 1. Secara bersama-sama peserta didik diminta untuk menyimpulkan tentang debugging pada aplikasi sederhana 2. Guru memberikan konfirmasi dan penguatan terhadap kesimpulan dari hasil pembelajaran. 3. Guru memberikan evaluasi (post test) dan menyuruh peserta didik secara individu untuk mengerjakannya. 4. Peserta didik diberi tugas untuk melakukan mengerjakan latihan tentang debugging pada aplikasi sederhana 5.Guru mengakhiri kegiatan belajar dengan memberikan pesan pada peserta didik untuk mempelajari materi berikutnya. 6. Guru menyuruh salah satu peserta didik untuk memimpin doa penutup

15 Menit

Alat/ bahan, Media Pembelajaran Daftar hadir Spidol Papan waith board Leptop LCD Lembar penilaian

Sumber Belajar Internet Buku – buku penunjang KBM Penilainan Pembelajaran Teknik

: Non Test dan Test

Bentuk

:



Penilaian pengetahuan : Tes tertulis uraian



Penilaian keterampilan : Praktek

URAIAN MATERI Istilah debugging dalam programming, artinya adalah mencari kesalahan algoritma dalam program yang sedang dibuat. Lho… bagaimana kita tahu ada algoritma yang salah? Algoritma yang salah ini akan mengakibatkan hasil atau output yang salah atau tidak seperti yang diharapkan. Istilah kesalahan ini sering disebut ‘algoritmic error’. Contoh sederhana dari algoritmic error ini adalah, misalkan kita akan membuat program untuk menjumlahkan dua buah bilangan bulat, katakanlah A dan B. Dan program yang dibuat adalah sebagai berikut (dalam Pascal): program jumlahkan; var a, b, hasil : integer; begin

write('Masukkan nilai A : '); readln(a); write('Masukkan nilai B : '); readln(b); hasil := a - b; write('Hasil penjumlahannya adalah : ',hasil); end. Apabila kita jalankan program di atas atau kita compile, maka tidak akan ada error yang muncul, dalam hal ini syntax error (error yang terkait dengan aturan penulisan program). Namun ketika dijalankan, dan misalkan kita masukkan nilai A = 5 dan B = 4, maka hasil yang muncul adalah 1 (bukannya 9). Nah… inilah yang dimaksud dengan algoritmic error, atau error yang disebabkan kesalahan dalam langkah penyelesaian masalah. Misalkan, diberikan algoritma untuk merebus mie instan sbb: 1. Buka bungkus mie 2. Siapkan panci dan taruh panci di atas kompor 3. Masukkan mie ke dalam panci 4. Nyalakan api kompor kira-kira 3 menit 5. Masukkan air mentah 2 gelas 6. Matikan kompor 7. Taruh mie ke dalam mangkuk Nah… bagaimana pendapat Anda tentang algoritma di atas? Ya… kita akan tetap mendapatkan output dari proses merebus mie, tapi tidak sesuai yang diharapkan, yaitu mienya gosong dan airnya masih mentah

Mengapa demikian? ya… hal ini karena ada langkah yang salah dalam merebus

mie. Inilah contoh algoritmic error. So… saya harap Anda sudah tahu maksud algoritmic error. Sekarang, bila Anda mendapatkan program yang Anda buat mengalami algoritmic error, apa yang harus dilakukan? Ya… langkah satusatunya adalah mencari letak proses yang salah dalam algoritmanya. Nah… proses pencarian ini dinamakan debugging. Mengapa disebut debugging?

Konon istilah tersebut muncul karena si penemu kata ini pada

waktu itu juga sedang mencari kesalahan program, namun saking jengkelnya karena gak ketemuketemu, trus dia menyebutnya si ‘kutu’ atau ‘bug’. Kemudian istilah mencari si kutu program ini, sering disebut ‘debugging’. Kalau kita mendapati syntax error, maka dapat dengan mudah dan cepat kita akan menemukannya. Hal ini karena biasanya akan muncul warning adanya penulisan yang salah dan biasanya akan disertai dengan nomor baris yang salah tersebut. Nah… kalau algoritmic error, proses pencariannya tidak mudah. So… bagi para mahasiswaku atau pengunjung setia blog ini, bila program Anda dicompile tidak ada error, jangan bersenang-senang dahulu, karena tujuan proses compile itu hanya mencari ada tidaknya syntax error. Siapa tahu program Anda menyimpan si kutu

OK… kita kembali ke laptop, eh salah… kembali ke teknik debugging Trus… sekarang bagaimana langkah debugging, bila program sudah jadi namun hasilnya salah? Ya… untuk proses ini, Anda harus mengeceknya step by step sesuai alur algoritma program yang Anda buat. Bagaimana cara mengeceknya? Kalau saya pribadi, atau yang sering saya lakukan adalah menampilkan output di setiap proses. Sedangkan proses setelah bagian yang sedang saya cek tersebut, saya nonaktifkan atau saya buat menjadi komentar. Perhatikan contoh berikut ini. Contoh ini baru saja saya gunakan untuk menjelaskan teknik debugging ketika perkuliahan. program cariKombinasi; var n, m : integer; kombinasi : real;

function faktorial(x : integer) : real; var i : integer; hasil : real; begin hasil := 1; for i:=1 to x do begin hasil := hasil * i; end; faktorial := hasil; end;

begin n := 3; m := 2; kombinasi := faktorial(n)/faktorial(n-m)*faktorial(m); write(kombinasi); end. Program di atas dibuat dengan tujuan untuk mencari hasil dari kombinasi n, m atau C(n, m). Dari contoh di atas, dipilih n = 3 dan m = 2. Menurut perhitungan kita, hasil yang benar dari kombinasi tersebut adalah 3. Namun apa yang terjadi bila program di atas dijalankan? Ya… dari sisi syntax error tidak ada, namun hasilnya adalah 12. Tentu hal ini salah. Lantas… bagaimana mengetahui letak kesalahannya? Ya… untuk melakukan hal ini, kita harus mengecek terlebih dahulu apakah function faktorial() sudah berfungsi dengan baik atau belum. Untuk mengeceknya, ya… kita tambahkan saja perintah write(faktorial(n)); begin n := 3; m := 2; write(faktorial(n));

{ kombinasi := faktorial(n)/faktorial(n-m)*faktorial(m); write(kombinasi);} end. Oya… untuk baris perintah setelah write(faktorial(n)) ini hendaknya kita jadikan komentar dahulu supaya tidak ada interfensi dalam proses. Apabila dijalankan, maka akan muncul output 6. Ya… hasil ini benar karena kita menampilkan n! atau dalam hal ini 3!. Sehingga function faktorial() tidak ada masalah dan berfungsi dengan baik. Selanjutnya akan kita cek untuk menghitung kombinasinya sendiri atau pada baris kombinasi := faktorial(n)/faktorial(n-m)*faktorial(m); Satu-satunya kemungkinan salah adalah di sini, karena proses inilah yang dilakukan tepat sebelum ditampilkan outputnya. Apabila kita perhatikan dengan benar, maka ada bagian yang salah yaitu pada pembagian. Ingat rumus mencari C(n, m). Rumus yang benar haruslah kombinasi := faktorial(n)/(faktorial(n-m)*faktorial(m)); sehingga baris programnya menjadi begin n := 3; m := 2; kombinasi := faktorial(n)/(faktorial(n-m)*faktorial(m)); write(kombinasi); end. Nah… setelah diperbaiki, barulah program di atas akan menghasilkan output yang benar yaitu 3. Sehingga kesimpulan dari teknik debug ini adalah ceklah output untuk setiap langkah proses dengan menampilkannya ke layar. Untuk menghindari interfensi dari baris program yang lain, hendaknya baris program di bawahnya atau selanjutnya, dibuat komentar (jangan dihapus) terlebih dahulu. Teknik ini bisa diterapkan untuk bahasa pemrograman yang lain. Debugging adalah sebuah metode yang dilakukan oleh para pemrogram dan pengembang perangkat lunak untuk mencari dan mengurangi bug, atau kerusakan di dalam sebuah program komputer atau perangkat keras sehingga perangkat tersebut bekerja sesuai dengan harapan. Debugging cenderung lebih rumit ketika beberapa subsistem lainnya terikat dengan ketat dengannya, mengingat sebuah perubahan di satu sisi, mungkin dapat menyebabkan munculnya bug lain di dalam subsistem lainnya. Bug dengan terjemahan langsung ke bahasa Indonesia adalah serangga atau kutu. Bug merupakan suatu kesalahan desain pada suatu perangkat keras komputer atau perangkat lunak komputer yang menyebabkan peralatan atau program itu tidak berfungsi semestinya. Bug umumnya lebih umum dalam dunia perangkat lunak dibandingkan dengan perangkat keras. Kenapa dinamakan bug? Tahun 1945 sewaktu ukuran komputer masih sebesar kamar, pihak militer Amerika Serikat menggunakan komputer yang bernama “Mark 1”. Suatu hari komputer ini tidak berfungsi dengan semestinya, setelah komputer itu diperiksa ternyata ada suatu bagian perangkat keras di mana terdapat serangga yang tersangkut. Setelah serangga itu diangkat dari perangkat keras, komputer dapat berfungsi dengan baik. Maka sejak saat itu kata bug lekat dengan masalah-masalah pada komputer. Debugging adalah proses menghilangkan bug dari suatu program.

Pengujian perangkat lunak adalah proses yang dapat direncanakan dan ditentukan secara sistematis. Desain test case dapat dilakukan, strategi dapat ditentukan, dan hasil dapat dievaluasi berdasarkan harapan-harapan yang ditentukan sebelumnya. Debugging terjadi sebagai akibat dari pengujian yang berhasil. Jika test case mengungkap kesalahan, maka debugging adalah proses yang menghasilkan penghilangan kesalahan. Perekayasa perangkat lunak yang mengevaluasi hasil suatu pengujian sering dihadapkan pada indikasi “simtomatis” dari suatu masalah pernagkat lunak, yaitu bahwa manisfestasi eksternaldari kesalahan dan penyebab internal kesalahan dapat tidak memiliki hubungan yang jelas satu dengan lainnya. Proses mental yang dipahami secara buruk yang menghubungkan sebuah symptom dengan suatu penyebab disebut debugging. Proses Debugging Debugging bukan merupakan pengujian, tetapi selalu terjadi sebagai bagian akibat dari pengujian. Proses debungging dimulai dengan eksekusi terhadap suatu test case. Hasilnya dinilai, dan ditemukan kurangnya hubungan antara harapan dan yang sesungguhnya. Dalam banyak kasus, data yang tidak berkaitan merupakan gejala dari suatu penyebab pokok tetapi masih tersembunyi, sehingga perlu ada koreksi kesalahan. Proses debugging akan selalu memiliki salah satu dari dua hasil akhir berikut: 1. Penyebab akan ditemukan, dikoreksi, dan dihilangkan, atau 2. Penyebab tidak akan ditemukan. Dalam kasus yang terakhir, orang yang melakukan debugging mungkin mencurigai suatu penyebab, mendesainsuatu test case untuk membantu kecurigaannya, dan bekerja untuk koreksi kesalahan dengan gaya yang iterative. Beberapa karakteristik bug memberi kunci : 1. Gejala dan penyebab dapat jauh secara geografis, dimana gejala dapat muncul didalam satu bagian dari suatu program, sementara penyebab dapat ditempatkan pada suatu sisi yang terlepas jauh. 2. Gejala dapat hilang (kadang-kadang) ketika kesalahan yang lain dibetulkan. 3. Gejala dapat benar-benar disebabkan oleh sesuatu yang tidak salah (misalnya pembulatan yang tidak akurat). 4. Simpton dapat disebabkan oleh kesalahan manusia yang tidak dapat dengan mudah ditelusuri. 5. Gejala dapat merupakan hasil dari masalah timing, dan bukan dari masalah pemrosesan. 6. Mungkin sulit untuk mereproduksi kondisi input secara akurat (misalnya aplikasi real time dimana pengurutan input tidak ditentukan). 7. Gejala dapat sebentar-sebentar. Hal ini sangat umum pada system yang embedded yang merangkai perangkat lunak dan perangkat keras yang tidak mungkin dilepaskan. 8. Gejala dapat berhubungan dengan penyebab yang didistribusikan melewati sejumlah tugas yang bekerja pada prosesor yang berbeda. Selama debugging, kita menemukan kesalahan-kesalahan mulai dari gangguan yang halus (missal format output yang tidak betul) sampai katrastropis (misalnya kegagalan system yang menyebabkan kerusakan fisik atau ekonomis).

Sebagai akibat dari peningkatan keslahan, jumlah tekanan untuk menemukan kesalahan juga bertambah. Sering kali tekanan memaksa seorang pengembang perangkat lunak untuk membetulkan keslahan dan pada saat yang sama memunculkan lagi dua kesalahan baru. Pertimbangan Psikologis Sayangnya muncul banyak bukti bahwa kekuatan debugging adalah sifat bawaan manusia. Banyak orang yang cakap dalam hal ini, sementara banyak juga yang tidak. Menanggapi aspek manusia dari debugging. Shneiderman [SHN80] menyatakan : Debugging merupakan salah satu dari berbagai bagian pemrograman yang membuat lebih frustasi. Debugging memiliki elemen pemecahan masalah atau pengganggu otak, yang bersama dengan penghindaran kesadaran bahwa Anda melakukan suatu kesalahan. Kekhawatiran yang meningkat dan keengganan untuk menerima, kesalahan akan meningkatkan kesulitan tugas. Sayangnya, ada keluhan yang sangat mendalam mengenai pembebasan dan pengurangan ketegangan ketika pada akhirnya bug ……… dikoreksi. Meskipun mungkin sulit untuk mempelajari debugging, sejumlah pendekatan terhadap masalah tersebut dapat diusulkan. Kita akan melihat dalam sub bab selanjutnya. Pendekatan-pendekatan Debugging Tanpa memperhatikan pendekatan yang diambil, debugging memiliki satu sasaran yang diabaikan, untuk menemukan dan mengkoreksi penyebab kesalahan perangkat lunak. Sasaran tersebut direalisasi dengan suatu kombinasi evaluasi yang sistematis, intuisi, dan keberuntungan. Bradley (BRA85) menggambarkan pendekatan Debugging dengan cara berikut : Debugging adalah sebuah aplikasi langsung dari metodekeilmuan yang telah dikembangkan selama 2500 tahun. Dasar dari debugging adalah meletakkan sumber-sumber masalah (penyebab) dengan partisi biner melalui hipotesis kerja yang memperkirakan nilai-nilai baru yang akan diuji. Ambillah contoh non-perangkat lunak sederhana, yaitu : Lampu dirumah saya tidak bekerja. Bila tidak ada yang bekerja didalam rumah itu, penyebabnya tentu pada pemutus rangkaian utama atau sebab dari luar. Saya melihat sekeliling untuk melihat apakah lampu para tetangga juga mati. Saya memasukkan lampu yang dicurigai kedalam soket yang bekerja dan menyelidiki lampu rangkaian yang dicurigai. Begitulah berbagai pilihan hipotesa dan pengujian. Secara umum, tiga kategoti pendekatan debugging dapat diusulkan (MYE79) : 1. 1. Gaya yang kasar (Brute force) Kategori debugging brute force mungkin merupakan yang paling umum dan metode yang paling efisien untuk mengisolasi penyebab kesalahan perangkat lunak. Kita mengaplikasikan metode debugging brute force bila semua yang lain telah gagal. Dengan menggunakan filosofi ”biarkan komputer menemukan kesalahan”, tempat sampah memori dipakai, penelusuran runtime dilakukan, dan program dibebani dengan statemen WRITE. Kita mengharapkan bahwa dimanapun didalam rawa informasi yang diproduksi, kita akan menemukan suatu kunci yang akan membawa kita kepada penyebab kesalahan. Meskipun banyaknya informasi yang dihasilkan pada akhirnya akan membawa kita meraih sukses, lebih sering dia menyebabkan kita menghambur-hamburkan usaha dan waktu. Kita harus memikirkannya terlebih dahulu. 1. 2. Penelusuran balik (backtracking)

Backtracking adalah pendekatan debugging yang sangat umum yang dapat digunakan secara sukses didalam program yang kecil. Mulai pada sisi dimana suatu gejala diungkap, kode sumber ditelusuri balik (secara manual) samapai sisi penyebab ditemukan. Sayangnya, bila jumlah baris sumber bertambah, maka jumlah jalur balik potensial dapat sangat banyak. 1. 3. Eliminasi penyebab Cause elimination dimanisfestasikan oleh induksi atau deduksi serta mengawali konsep partisi biner. Data yang berhubungan dengan kejadian kesalahan dikumpulkan untuk mengisolasi penyebab potensial. Hipotesis penyebab dibuat dan data digunakan untuk membuktikan penolakan hipotesis tersebut. Sebagai alternatif, daftar semua penyebab yang mungkin dikembangkan dan dilakukan pengujian untuk mengeliminasi masing-masing kesalahan. Jika pengujian awal menunjukkan bahwa suatu hipotesis penyebab memberikan gambaran hasil yang jelas, maka data itu disaring sebagai usaha untuk mengisolasi bug. Masing-masing pendekatan debugging tersebut dapat ditambah dengan piranti debugging. Kita dapat mengaplikasikan berbagai kompiler debugging yang luas, bantuan debugging yang dinamis (tracer), generator test case, ruang sisa memori dan peta cross-reference. Namun piranti bukanlah pengganti bagi evaluasi yang berhati-hati yang didasarkan atas dokumen desain perangkat lunak yang lengkap dan kode sumber yang jelas. Sekali bug ditemukan, bug harus dibetulkan. Tetapi seperti telah kita catat, koreksi terhadap suatu bug dapat memunculkan kesalahan lain sehingga lebih banyak merugikan daripada menguntungkan. Van Vleck (FAN89) mengusulkan tiga pertanyaan sederhana yang harus diajukan kepada perekayasa perangkat lunak sebelum melakukan koreksi yang menghilangkan penyebab suatu bug, yaitu : 1. 1. Apakah penyebab bug direproduksi didalam bagian lain program tersebut? Dalam berbagai situasi, kesalahan program disebabkan oleh sebuah contoh logika yang keliru yang dapat dibuat ulang ditempat lain. Pertimbangan eksplisit dari contoh logika tersebut akan menghasilkan penemuan kesalahan yang lain. 1. 2. Apa ”bug selanjutnya,” yang akan dimunculkan oleh perbaikan yang akan dibuat? Sebelum koreksi dibuat, kode sumber (atau lebih baik,desain) harus dievaluasi untuk memperkirakan pemasangan logika dan struktur data. Bila koreksi akan dilakukan pada bagian program yang akan dirangkai, maka harus ada perhatian khusus bila banyak perubahan dilakukan. 1. 3. Apa yang dapat kita lakukan untuk menghindari bug ini didalam tempat pertama? Pertanyaan ini merupakan langkah pertama untuk membangun pendekatan jaminan kualitas perangkat lunak statistik. Bila kita mengkoreksi proses dan produk, bug akan dihilangkan dari program yang ada dan dapat dieliminasi dari semua program selanjutnya.

Latihan soal 1. Apakah yang dimaksud dengan debugging? 2. Apakah fungsi dari debbuging? 3. Bagaimanakah proses debbuging? 4. Sebutkan dua hasil akhir debbuging! 5. Sebutkan beberapa karakteristik debbuging!

Jawaban 1. Sebuah metode yang dilakukan oleh para pemrogram dan pengembang perangkat lunak untuk mencari dan mengurangi bug, atau kerusakan di dalam sebuah program komputer atau perangkat keras sehingga perangkat tersebut bekerja sesuai dengan harapan 2. Untuk mencari kerusakan pada sistem komputer 3. Debugging bukan merupakan pengujian, tetapi selalu terjadi sebagai bagian akibat dari pengujian. Proses debungging dimulai dengan eksekusi terhadap suatu test case. Hasilnya dinilai, dan ditemukan kurangnya hubungan antara harapan dan yang sesungguhnya. Dalam banyak kasus, data yang tidak berkaitan merupakan gejala dari suatu penyebab pokok tetapi masih tersembunyi, sehingga perlu ada koreksi kesalahan. 4. Penyebab akan ditemukan, dikoreksi, dan dihilangkan, atau penyebab tidak akan ditemukan 5.

Gejala dan penyebab dapat jauh secara geografis, dimana gejala dapat muncul didalam satu bagian dari suatu program, sementara penyebab dapat ditempatkan pada suatu sisi yang terlepas jauh. Gejala dapat hilang (kadang-kadang) ketika kesalahan yang lain dibetulkan. Gejala dapat benar-benar disebabkan oleh sesuatu yang tidak salah (misalnya pembulatan yang tidak akurat).

Penskoran No 1 2 3 4 5 Jumlah

Skor 20 20 20 20 20 100 Nilai = Betul x 20

Gorontalo, Juli 2018 Mengetahui Kepala Sekolah

Guru Mapel

…………………..

…………………..

RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan Nama Sekolah

:

Mata Pelajaran

: Pemrograman Dasar

Komp. Keahlian : TKJ Kelas/Semester

: X / 1I (Dua)

Tahun Pelajaran : 2018 / 2019 Alokasi Waktu

: 8x 45 Menit

B. Kompetensi Inti dan Kompetensi Dasar Kompetensi Inti Memahami, menerapkan, menganalisis, dan mengevaluasi tentang pengetahuan faktual, konseptual, operasional dasar, dan metakognitif sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika pada tingkat teknis, spesifik, detil, dan kompleks, berkenaan dengan ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dalam konteks pengembangan potensi diri sebagai bagian dari keluarga, sekolah, duniakerja, warga masyarakat nasional, regional, dan internasional. Melaksanakan tugas spesifik, dengan menggunakan alat, informasi, dan prosedur kerja yang lazim dilakukan serta menyelesaikan masalah sederhana sesuai dengan bidang dan lingkup kerja Teknik Komputer dan Informatika Menampilkan kinerja mandiri dengan mutu dan kuantitas yang terukur sesuai dengan standar kompetensi kerja. Menunjukkan keterampilan menalar, mengolah, dan menyaji secara efektif, kreatif, produktif, kritis, mandiri, kolaboratif, komunikatif, dan solutif dalam ranah abstrak terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Menunjukkan keterampilan mempersepsi, kesiapan, meniru, membiasakan gerak mahir, menjadikan gerak alami, sampai dengan tindakan orisinal dalam ranah konkret terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik dibawah pengawasan langsung. Kompetensi Dasar 3.14 Mengevaluasi paket installer aplikasi sederhana 4.14 Memformulasikan paket installer aplikasi sederhana C. Indikator Pencapaian Kompetensi 3.14 Mengevaluasi paket installer aplikasi sederhana 3.14.1 Menyimpulkan paket installer aplikasi sederhana 3.14.2 Menilai paket installer aplikasi sederhana

4.14 Memformulasikan paket installer aplikasi sederhana 4.14.1 Menyimpulkan paket installer aplikasi sederhana 4.14.2 Menilai paket installer aplikasi sederhana

Tujuan Pembelajaran 1.

Setelah kegiatan pembelajaran diharapkan peserta didik dapat menyimpulkan paket installer aplikasi sederhana dengan benar

2.

Setelah kegiatan pembelajaran diharapkan peserta didik dapat menilai paket installer aplikasi sederhana dengan tepat

1.

Setelah kegiatan pembelajaran diharapkan peserta didik dapat menyimpulkan paket installer aplikasi sederhana dengan benar

2.

Setelah kegiatan pembelajaran diharapkan peserta didik dapat menilai paket installer aplikasi sederhana dengan tepat

D. Materi Pembelajaran Paket installer aplikasi sederhana E. Pendekatan, Strategi, Metode Pendekatan berfikir

: Sientific

Model Pembelajaran

: Discovery Based Learning

Metode Pembelajaran

: Observasi, diskusi dan tanya jawab.

F. Kegiatan Pembelajaran Pertemuan ke 1 dan 2 No

Kegiatan

1

Pendahuluan

Langkah – langkah Pembejalaran Melakukan pembukaan dengan salam pembuka dan berdoa untuk memulai pembelajaran Melakukan pengkondisian peserta didik Menyampaikan tujuan pembelajaran yang akan dicapai. Menyampaikan teknik penilaian yang akan digunakan Menyampaikan metode pembelajaran yang akan digunakan Melakukan Pre test. Pemberian rangsangan 1. Guru meminta peserta didik untuk melihat materi di layar komputer tentang paket installer aplikasi sederhana 2. Guru meminta peserta didik untuk membaca buku panduan yang lainnya agar dapat mudah dipahami 3. Peserta didik dapat mengidentifikasi masalah dari materi yang disajikan oleh guru Identifikasi masalah 1. Guru menugaskan peserta didik untuk menyimpulkan, menilai, paket installer aplikasi sederhana 2. Pesera didik berusaha untuk dapat menyimpulkan, menilai, paket installer aplikasi sederhana

2

Kegiatan Inti

3. Setelah peserta didik membaca buku panduan yang lainnya peserta didik dapat menyimpulkan, menilai, paket installer aplikasi sederhana 4. Peserta didik mendiskusikan dengan kelompok yang lainnya tentang menyimpulkan, menilai, paket installer aplikasi sederhana 5. Peserta didik menyampaikan hasil diskusi di depan kelas, kelompok yang lainnya memberikan tanggapan Pengumpulan data 1. Guru meminta peserta didik untuk mencari buku panduan atau informasi menyimpulkan, menilai, paket installer aplikasi sederhana 2. Peserta didik mencoba menyimpulkan, menilai, paket installer aplikasi sederhana petunjuk dari guru sebagai pembuktian pengujian hipotesis Pembuktian 1. Peserta didik berusaha menyimpulkan, menilai, paket installer aplikasi sederhana 2. Guru meminta peserta didik untuk menilai hasil yang telah dibuat oleh

Waktu

15 Menit

peserta didik yang lainnya 3. Peserta didik menilai berdasarkan format penilaian yang sudah ada Menarik Simpulan 1. Guru menjelaskan kepada peserta didik tentang menyimpulkan, menilai, paket installer aplikasi sederhana 2. Guru menugaskan peserta didik un tuk menyimpulkan, menilai, paket installer aplikasi sederhana 3. Peserta didik mengerjakan tugas dari guru untuk menyimpulkan, menilai, paket installer aplikasi sederhana 4. Peserta didik yang lain menanggapi kesimpulan dari peserta didik yang sedang maju untuk mempresentasikan hasilnya

3

Penutup

5. Peserta didik memperbaiki hasil presentasi berdasarkan tanggapan dari temannya 1. Secara bersama-sama peserta didik diminta untuk menyimpulkan tentang paket installer aplikasi sederhana 2. Guru memberikan konfirmasi dan penguatan terhadap kesimpulan dari hasil pembelajaran. 3. Guru memberikan evaluasi (post test) dan menyuruh peserta didik secara individu untuk mengerjakannya. 4. Peserta didik diberi tugas untuk melakukan mengerjakan latihan tentang paket installer aplikasi sederhana 5. Guru mengakhiri kegiatan belajar dengan memberikan pesan pada peserta didik untuk mempelajari materi berikutnya. 6. Guru menyuruh salah satu peserta didik untuk memimpin doa penutup

15 Menit

Alat/ bahan, Media Pembelajaran Daftar hadir Spidol Papan waith board Leptop LCD Lembar penilaian Sumber Belajar Internet Buku – buku penunjang KBM Penilainan Pembelajaran Teknik

: Non Test dan Test

Bentuk

:



Penilaian pengetahuan

: Tes tertulis uraian



Penilaian keterampilan

: Praktek

URAIAN MATERI Aplikasi web menjadi sebuah paket instalasi (installer) agar aplikasi web tersebut bisa didistribusikan dan diinstal dengan mudah oleh pengguna. Proses pengemasan aplikasi web tersebut adalah dengan menggunakan program Nullsoft Scriptable Install System (NSIS), yaitu sebuah program pembuat installer yang bersifat open source dan bebas digunakan tanpa biaya lisensi. Versi NSIS yang digunakan oleh penulis pada artikel ini adalah 2.46, walaupun Anda bebas menggunakan versi yang lebih baru. Karena sebuah sebuah aplikasi web membutuhkan web server atau application server atau bahkan database server untuk menjalankan aplikasi tersebut, maka aplikasi server yang

bersangkutan harus disertakan juga ke dalam installer. Pada pembahasan ini akan digunakan XAMPP yaitu sebuah kumpulan aplikasi-aplikasi server yang di dalamnya terdapat: 

Apache



MySQL



PHP



Mercury Mail Transport System



FileZilla FTP Server



Tomcat Dengan digunakannya XAMPP, maka tipe aplikasi web yang bisa diterapkan adalah aplikasi web yang berbasis PHP atau Java. Aplikasi web dengan platform yang lain seperti .NET yang dijalankan pada IIS adalah di luar ruang lingkup pembahasan ini. Sebelum melanjutkan uraian, pastikan pembaca telah menginstal program NSIS dan memiliki pengetahuan dasar NSIS. Untuk mengetahui prinsip kerja NSIS dan dasar-dasarnya dengan cepat, pembaca dipersilakan membaca terlebih dahulu dokumen sebelumnya yang berjudul “Mengenal Nullsoft Scriptable Install System“ yang dibuat oleh penulis. Jika pembaca telah cukup akrab dengan NSIS, silakan mengikuti langkah-langkah berikut ini.

1.

Membuat Aplikasi Web Langkah pertama pada pembuatan installer adalah mempersiapkan aplikasi web yang akan dikemas. Seperti yang dijelaskan sebelumnya, aplikasi web yang dimaksud pada artikel ini adalah aplikasi yang dapat dijalankan pada XAMPP, yaitu khususnya menggunakan Apache atau Tomcat. Jadi pastikan Anda telah memiliki XAMPP yang terinstal pada komputer kerja. Catatan: Distribusi XAMPP yang dianjurkan adalah yang berbentuk ZIP. Alasannya adalah karena distribusi dalam bentuk ini hanya membutuhkan file tersebut diekstrak ke dalam komputer kerja dan bisa langsung dijalankan tanpa membutuhkan proses instalasi. Hal ini sangat cocok dengan pembuatan installer yang sedang dijelaskan di sini. Untuk mendapatkan XAMPP dalam bentuk ZIP, silakan mengunduhnya dari: http://sourceforge.net/projects/xampp/files/ Sekarang kita akan membuat dua buah contoh aplikasi web untuk dikemas. Aplikasi yang pertama berbasis PHP dan yang satu lagi berbasis Java.

1.1. Aplikasi PHP dan MySQL Aplikasi yang pertama adalah sebuah aplikasi PHP yang akan mengakses sebuah table di dalam database MySQL. Hal ini untuk menunjukkan bahwa aplikasi yang dikemas dalam installer bukan hanya sebuah aplikasi yang statik tetapi bisa merupakan aplikasi database yang dinamis dengan operasi baca/tulis. Namun karena yang dijelaskan di sini adalah sebuah konsep, maka yang akan diperlihatkan di sini adalah sebuah aplikasi PHP sederhana. Pada prakteknya pembaca dapat mengembangkan ke tahap tingkat lanjut dengan menggunakan framework seperti CodeIgniter, JQuery, Bootstrap dan sebagainya. Silakan mengikuti langkah-langkah berikut ini: 1.

Nyalakan service XAMPP dengan menjalankan ..\xampp\xampp_start.exe.

2.

Buka XAMPP console dengan menggunakan sebuah browser dan ketikkan alamat:

http://localhost/xampp 3.

Masuk ke dalam MySQL melalui link phpMyAdmin, kemudian buat sebuah database bernama myDB.

4.

Buat sebuah table bernama MyGuests dengan skrip berikut ini dan masukkan beberapa data contoh. 1 2 3 4 5 6 7 8 9

CREATE TABLE IF NOT EXISTS myguests ( id int(11) NOT NULL, firstname varchar(50) NOT NULL, lastname varchar(50) NOT NULL ); INSERT INTO myguests VALUES (1, 'John', 'Doe'); INSERT INTO myguests VALUES (2, 'Mary', 'Moe'); INSERT INTO myguests VALUES (3, 'Julie', 'Dooley');

Buatlah sebuah folder bernama php-exercise01 di dalam folder..\xampp\htdocs, kemudian buat sebuah file bernama php.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT id, firstname, lastname FROM MyGuests"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { echo "
id: ". $row["id"]. " - Name: ". $row["firstname"]. " " . $row["lastname"] . "
"; } } else { echo "0 results"; } $conn->close(); ?>

Silakan menyesuaikan parameter koneksi database pada program di atas ($servername, $username, $password, $dbname) dengan konfigurasi database MySQL Anda.

Pembuatan aplikasi PHP yang pertama sudah selesai, silakan membuka sebuah browser ketikkan alamat berikut ini: http://localhost/php-exercise01/ Tampilan aplikasi PHP tersebut akan muncul seperti berikut ini. Tampak aplikasi ini telah berjalan baik dengan menampilkan data dari dalam database MySQL. 1.2. Aplikasi Java Aplikasi yang kedua adalah sebuah aplikasi Java yang berisi sebuah file JSP mengakses sebuah servlet sederhana. Aplikasi ini dibuat mengggunakan Eclipse dan hasil compile-nya berbentuk file WAR. Selanjutnya file WAR itu akan diinstal dan dijalankan pada Tomcat. Silakan mengikuti langkah-langkah berikut ini: 1.

Jalankan Eclipse dan buat sebuah projek baru dengan tipe “Dynamic Web Project” dan beri nama web-exercise01. Buat sebuah file JSP di dalam folder WebContent dan beri nama jsp. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

3.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> Insert title here
First Name:
Surname:



Buat sebuah servlet dengan package exercise01.web dan beri nama GreetingServlet. Ketikkan baris-baris kode berikut ini. 1 2 3 4 5 6 7 8 9 10 11 12 13

package org.exercise01.web; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class GreetingServlet

14 */ 15 @WebServlet("/GreetingServlet") 16 public class GreetingServlet extends HttpServlet { 17 private static final long serialVersionUID = 1L; 18 19 /** 20 * @see HttpServlet#HttpServlet() 21 */ 22 public GreetingServlet() { 23 super(); 24 // TODO Auto-generated constructor stub 25 } 26 27 /** 28 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 29 */ 30 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws 31 ServletException, IOException { 32 // TODO Auto-generated method stub 33 } 34 35 /** 36 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 37 */ 38 protected void doPost(HttpServletRequest request, HttpServletResponse response) 39 throws ServletException, IOException { 40 response.setContentType("text/html;charset=UTF-8"); 41 PrintWriter out = response.getWriter(); 42 String firstName = request.getParameter("firstName").toString(); 43 String surname = request.getParameter("surname").toString(); 44 out.println(""); 45 out.println(""); 46 out.println("Servlet GreetingServlet"); 47 out.println(""); 48 out.println(""); 49 out.println("

Servlet GreetingServlet at " + request.getContextPath () + "

"); 50 out.println("

Welcome " + firstName + " " + surname + "

"); 51 out.println(""); 52 out.println(""); 53 out.close(); 54 } } 5. 6.

Simpan semua file dan export projek tersebut menjadi sebuah file WAR. Untuk menginstal file WAR tersebut di dalam Tomcat, terlebih dahulu perlu dibuat sebuah user admin. Silakan masuk ke dalam folder ..\xampp\tomcat\conf dan edit file tomcat-users.xml.

Tambahkan beberapa baris berikut ini di bagian bawah file tersebut. 1 2 3 4 5 6 7

... <user username="admin" password="admin" roles="admin,manager,manager-gui"/>

Selanjutnya kita akan menggunakan user “admin” dengan password “admin” untuk melakukan administrasi Tomcat. Simpan perubahan dan tutup file tersebut.

7. 8.

Nyalakan service Tomcat dengan menjalankan ..\xampp\catalina_start.bat. Buka Tomcat console dengan menggunakan sebuah browser dan ketikkan alamat: http://localhost:8080 Klik tombol “Manager App” dan masukkan user dan password admin yang dibuat tadi.

9.

Lakukan deployment dari file WAR yang dibuat tadi. Pembuatan aplikasi yang ke-dua sudah selesai, silakan membuka sebuah browser ketikkan alamat berikut ini: http://localhost:8080/web-exercise01/ Tampilan aplikasi Java tersebut akan muncul seperti berikut ini. Pembuatan kedua aplikasi web sudah selesai dan kita sudah memastikan semua aplikasi web telah berjalan dengan baik pada instalasi asalnya. Sekarang kedua aplikasi tersebut akan dikemas ke dalam sebuah installer berikut semua aplikasi server yang dibutuhkan.

2.

Membuat Skrip NSIS

Urutan langkah-langkah instalasi aplikasi web di dalam skrip NSIS dijelaskan sebagai berikut: 1.

Masukkan folder XAMPP dan semua isinya (termasuk aplikasi PHP dan Java serta database MySQL di dalamnya) ke dalam installer. Pada contoh ini folder XAMPP diasumsikan berada di drive D, namun pada saat instalasi nanti pembuatan folder XAMPP akan dilakukan di drive C. Dari eksperimen yang dilakukan penulis, folder XAMPP tidak dapat diletakkan di dalam Program Files karena tidak bisa berjalan dengan baik. Itu sebabnya folder XAMPP harus diletakkan di folder terluar dari sebuah drive (pada contoh ini folder instalasinya ditetapkan c:\XAMPP, dan tidak bisa diubah).

2. 3.

Buat shortcut di Start à All Programs untuk menjalankan aplikasi PHP dan aplikasi Java Buat shortcut di folder Startup untuk menjalankan service XAMPP dan Tomcat secara otomatis ketika komputer dinyalakan. Telah dijelaskan sebelumnya bahwa service XAMPP dan Tomcat dinyalakan dengan menjalankan ..\xampp\xampp_start.exe dan ..\xampp\catalina_start.bat. Pada saat kedua file itu dijalankan maka shell windows-nya akan muncul di layar. Hal ini akan tampak kurang baik karena dapat membingungkan pengguna yang awam. Kedua window itu akan lebih baik jika berada dalam keadaaan minimize – walaupun sebetulnya masih tampak di taskbar namun keadaanya tidak terpampang jelas di layar. Untuk “mengakali” hal ini maka perlu dibuat sebuah file BAT yang berisi perintah: start /min c:\xampp\xampp_start.exe start /min c:\xampp\catalina_start.bat start /min adalah shell command yang akan menjalankan sebuah file dalam keadaan minimize. Silakan menyimpan skrip di atas menjadi file bernama webapp_start.bat dan tempatkan di dalam folder d:\XAMPP supaya nanti terbawa ke dalam installer.

Selanjutnya langkah-langkah di atas dituangkan ke dalam skrip NSIS berikut ini. 1 2 3 4 5

;-------------------------------;Include Modern UI !include "MUI2.nsh" ;--------------------------------

6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

!define PRODUCT_NAME "WebApp Example" !define PRODUCT_VERSION "1.0" !define PRODUCT_PUBLISHER "My Company" !define MUI_ABORTWARNING ; The name of the installer Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" ; The file to write OutFile "webapp-installer.exe" ; The default installation directory InstallDir "$PROGRAMFILES\WebApp Example" ShowInstDetails show ; Request application privileges for Windows Vista RequestExecutionLevel admin ;-------------------------------; Pages !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE "License.txt" !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES !insertmacro MUI_PAGE_FINISH ;-------------------------------;-------------------------------;Languages !insertmacro MUI_LANGUAGE "English" ;-------------------------------Section "Web Application" CreateDirectory "$SMPROGRAMS\WebApp Example" CreateShortCut "$SMPROGRAMS\WebApp Example\PHP WebApp.lnk" "http://localhost/php-exercise01/" CreateShortCut "$SMPROGRAMS\WebApp Example\Java WebApp.lnk" "http://localhost:8080/web-exercise01/" CreateShortCut "$SMPROGRAMS\WebApp Example\Uninstall.lnk" "$INSTDIR\uninstall.exe" CreateShortCut "$SMSTARTUP\WebApp start.lnk" "c:\xampp\webapp_start.bat" SetOutPath $INSTDIR WriteUninstaller "uninstall.exe" SetOutPath "c:\" SetOverwrite on File /r "d:\XAMPP" SectionEnd ; The uninstall section Section "Uninstall" # Remove Start Menu launcher Delete "$SMPROGRAMS\WebApp Example\*.*"

68 69 70

Delete "$SMSTARTUP\WebApp start.lnk" # Try to remove the Start Menu folder - this will only happen if it is empty RMDir "$SMPROGRAMS\WebApp Example" SectionEnd ; end the Uninstall section

Silakan compile skrip NSIS di atas menjadi sebuah file installer, dalam hal ini webapp-installer.exe. Setelah installer dijalankan berikut ini adalah hasilnya: 1.

Sebuah folder XAMPP terbentuk di drive C.

2.

Shortcut terbentuk di Start à All Programs à WebApp Example.

3.

Shortcut terbentuk di Start à All Programs –> Startup. Komputer harus di-reboot setelah instalasi selesai agar shortcut di Startup ini dinyalakan. Pada saat reboot dan service XAMPP dan Tomcat dinyalakan, perhatikan bagaimana shell window keduanya berada dalam keadaan minimize. Setelah kedua service menyala maka aplikasi PHP dan Java bisa dijalankan melalui shortcut di Start –> All Programs –> WebApp Example.

4.

Shortcut Uninstall pada Start à All Programs à WebApp Example dapat dijalankan untuk menghapus aplikasi namun folder c:\xampp sengaja dibiarkan tidak terhapus karena mengandung data. Folder itu dapat dihapus secara manual jika diinginkan.

Latihan soal 1. Apakah yang dimaksud dengan System (NSIS)? 2. Apakah fungsi database database server ? 3. Aplikasi apasajakah yang tersapat dalam XAMPP? 4. Apakah yang dimaksud dengan star min? 5. bagaimanakah cara menyalakan servis tomcat?

Jawaban 1.

Yaitu sebuah program pembuat installer yang bersifat open source dan bebas digunakan tanpa biaya lisensi

2.

Untuk menjalankan aplikasi

3.

Apache, MySQL, PHP, Mercury Mail Transport System, FireZilla FTP Server, Tomcat

4.

Start /min adalah shell command yang akan menjalankan sebuah file dalam keadaan minimize

5.

..\xampp\catalina_start.bat.

Penskoran No 1 2 3 4 5 Jumlah

Skor 20 20 20 20 20 100

Nilai = Betul x 20

Gorontalo, Juli 2018 Mengetahui Kepala Sekolah

Guru Mapel

…………………..

…………………..

Related Documents


More Documents from "agus"