0% menganggap dokumen ini bermanfaat (0 suara)
100 tayangan154 halaman

Alur Logika Pemrograman Dasar

Rencana pelaksanaan pembelajaran mata pelajaran Pemrograman Dasar di SMK Pustek Serpong. Mencakup identitas program pendidikan, kompetensi inti dan dasar, indikator pencapaian kompetensi, materi pembelajaran tentang alur logika pemrograman komputer, pendekatan pembelajaran berbasis proyek, dan kegiatan pembelajaran meliputi pendahuluan, kegiatan inti, dan penutup.

Diunggah oleh

Rhipang Achmad
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
100 tayangan154 halaman

Alur Logika Pemrograman Dasar

Rencana pelaksanaan pembelajaran mata pelajaran Pemrograman Dasar di SMK Pustek Serpong. Mencakup identitas program pendidikan, kompetensi inti dan dasar, indikator pencapaian kompetensi, materi pembelajaran tentang alur logika pemrograman komputer, pendekatan pembelajaran berbasis proyek, dan kegiatan pembelajaran meliputi pendahuluan, kegiatan inti, dan penutup.

Diunggah oleh

Rhipang Achmad
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd

RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan


Nama Sekolah : SMK Pustek Serpong
Mata Pelajaran : Pemrograman Dasar
Komp. Keahlian : TKJ
Kelas/Semester : X / 1 (Satu)
Tahun Pelajaran : 2020 / 2021
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.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 dan 2
N Kegiatan Langkah – langkah Pembejalaran Waktu
o
Melakukan pembukaan dengan salam pembuka dan berdoa untuk
memulai pembelajaran
Melakukan pengkondisian peserta didik
1 Pendahuluan Menyampaikan tujuan pembelajaran yang akan dicapai. 15 Menit
Menyampaikan teknik penilaian yang akan digunakan
Menyampaikan metode pembelajaran yang akan digunakan
Melakukan Pre test.
2 Kegiatan Inti
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
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
pemrograman komputer
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 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
3 Penutup individu untuk mengerjakannya. 15 Menit
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

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 :
<?php
$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
berulang-ulang.
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
ketentuan-ketentuan 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, kadang-
kadang kita perlu merubah urutan pelaksanaan program dan menghendaki agar pelaksanaan
program meloncat ke baris tertentu. Peristiwa ini kadang disebut sebagai
percabangan/pemilihan atau keputusan.
    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
[Link] 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 Skor
1 20
2 20
3 20
4 20
5 20
Jumlah 100

Nilai = Betul x 20

Tangsel, Juli 2020


Mengetahui
Kepala Sekolah Guru Mapel

( Dr. H. Mathodah S., [Link] ) (Chandra Rama Nugroho, [Link])


RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan


Nama Sekolah : SMK Pustek Serpong
Mata Pelajaran : Pemrograman Dasar
Komp. Keahlian : TKJ
Kelas/Semester : X / 1 (Satu)
Tahun Pelajaran : 2020 / 2021
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.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 dan 2
N Kegiatan Langkah – langkah Pembejalaran Waktu
o
Melakukan pembukaan dengan salam pembuka dan berdoa untuk
memulai pembelajaran
Melakukan pengkondisian peserta didik
1 Pendahuluan Menyampaikan tujuan pembelajaran yang akan dicapai. 15 Menit
Menyampaikan teknik penilaian yang akan digunakan
Menyampaikan metode pembelajaran yang akan digunakan
Melakukan Pre test.
2 Kegiatan Inti
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
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 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
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
3 Penutup individu untuk mengerjakannya. 15 Menit
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

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 kata-kata 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 tipe-
tipe 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 Skor
1 20
2 20
3 20
4 20
5 20
Jumlah 100

Nilai = Betul x 20

Tangsel, Juli 2020


Mengetahui
Kepala Sekolah Guru Mapel

( Dr. H. Mathodah S., [Link] ) (Chandra Rama Nugroho,


[Link])
RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan


Nama Sekolah : SMK Pustek Serpong
Mata Pelajaran : Pemrograman Dasar
Komp. Keahlian : TKJ
Kelas/Semester : X / 1 (Satu)
Tahun Pelajaran : 2020 / 2021
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.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 de
bahasa pemrograman komputer dengan benar
2. Setelah kegiatan pembelajaran diharapkan peserta didik dapat mempraktekkan alur pemrograman de
bahasa pemrograman komputer dengan tepat
1. Setelah kegiatan pembelajaran diharapkan peserta didik dapat mengubah kode pemrograman sesuai d
sintaks bahasa pemrograman dengan benar
2. Setelah kegiatan pembelajaran diharapkan peserta didik dapat memodifikasi kode pemrograman sesuai
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 dan 2
N Kegiatan Langkah – langkah Pembejalaran Waktu
o
Melakukan pembukaan dengan salam pembuka dan berdoa untuk
memulai pembelajaran
Melakukan pengkondisian peserta didik
1 Pendahuluan Menyampaikan tujuan pembelajaran yang akan dicapai. 15 Menit
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 alur pemrograman dengan struktur bahasa pemrograman
komputer
2. Guru meminta peserta didik untuk membaca buku panduan yang lainnya
2 Kegiatan Inti agar dapat mudah dipahami
3. Peserta didik dapat mengidentifikasi masalah dari materi yang disajikan
oleh guru
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
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
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
3 Penutup individu untuk mengerjakannya. 15 Menit
4. Peserta didik diberi tugas untuk melakukan mengerjakan latihan tentang
kode dan alur bahasa pemrograman [Link] 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

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 :
<?php
$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
berulang-ulang.

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
ketentuan-ketentuan 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,
kadang-kadang kita perlu merubah urutan pelaksanaan program dan menghendaki agar
pelaksanaan program meloncat ke baris tertentu. Peristiwa ini kadang disebut sebagai
percabangan/pemilihan atau keputusan.
      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
[Link] 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 Skor
1 20
2 20
3 20
4 20
5 20
Jumlah 100

Nilai = Betul x 20

Tangsel, Juli 2020


Mengetahui
Kepala Sekolah Guru Mapel

( Dr. H. Mathodah S., [Link] ) (Chandra Rama Nugroho,


[Link])
RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan


Nama Sekolah : SMK Pustek Serpong
Mata Pelajaran : Pemrograman Dasar
Komp. Keahlian : TKJ
Kelas/Semester : X / 1 (Satu)
Tahun Pelajaran : 2020 / 2021
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.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 dan 2
N Kegiatan Langkah – langkah Pembejalaran Waktu
o
Melakukan pembukaan dengan salam pembuka dan berdoa untuk
memulai pembelajaran
Melakukan pengkondisian peserta didik
1 Pendahuluan Menyampaikan tujuan pembelajaran yang akan dicapai. 15 Menit
Menyampaikan teknik penilaian yang akan digunakan
Menyampaikan metode pembelajaran yang akan digunakan
Melakukan Pre test.
2 Kegiatan Inti
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
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
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
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
3 Penutup individu untuk mengerjakannya. 15 Menit
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

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.

Operator
Logika I Lgika II Hasil Akhir
Boolean
FALSE FALSE FALSE
FALSE AND TRUE FALSE
TRUE 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 Operator
Lgika II Hasil Akhir
I Boolean
FALSE FALSE FALSE
FALSE OR TRUE TRUE
TRUE FALSE TRUE
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 OPERATOR ARTI
1 Not Hasil ouput akan bernilai 1 apabila semua masukan bernilai
0
2 And Hasil output akan bernilai 1 apabila semua masukan bernilai
1
3 Or 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 Operasi Tipe Operand Tipe Hasil
* perkalian real, realinteger, integerreal, integer realintegerreal
Div pembagian bulat integer,integer integer
/ pembagian real real,realinteger,integerreal,integer Realrealreal
Mod sisa pembagian integer,integer integer
+ pertambahan real,realinteger,integerreal,integer realintegerreal
- pengurangan real,realinteger,integerreal,real realintegerreal

Contoh :
15*5   hasilnya     75
20/3   hasilnya       6.6666666667E+00
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
nilai-nilai 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 Operator Keterangan
I () Tanda kurung
II ++    -- Increment, Decrement
III *  /  % Kali, bagi dan sisa
IV +  - Tambah dan kurang
V =  +=   -=   *=   /=   %= Operator pemberi nilai aritmatika
VI ! Operator logika NOT
VII <   >   <=   >= Operator relasional
VIII &&   || 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 Skor
1 20
2 20
3 20
4 20
5 20
Jumlah 100

Nilai = Betul x 20
Tangsel, Juli 2020
Mengetahui
Kepala Sekolah Guru Mapel

( Dr. H. Mathodah S., [Link] ) (Chandra Rama Nugroho,


[Link])
RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan


Nama Sekolah : SMK Pustek Serpong
Mata Pelajaran : Pemrograman Dasar
Komp. Keahlian : TKJ
Kelas/Semester : X / 1 (Satu)
Tahun Pelajaran : 2020 / 2021
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
N Kegiatan Langkah – langkah Pembejalaran Waktu
o
Melakukan pembukaan dengan salam pembuka dan berdoa untuk
memulai pembelajaran
Melakukan pengkondisian peserta didik
1 Pendahuluan Menyampaikan tujuan pembelajaran yang akan dicapai. 15 Menit
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
2 Kegiatan Inti 4. Peserta didik mengajukan pertanyaan dari materi yang telah dicatat untuk
acuan dalam mempraktekkan Membuat kode program dengan operasi
aritmatika dan logika
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,,
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
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
3 Penutup individu untuk mengerjakannya. 15 Menit
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

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
[Link] 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 DEC?
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 Skor
1 20
2 20
3 20
4 20
5 20
Jumlah 100
Nilai = Betul x 20

Tangsel, Juli 2020


Mengetahui
Kepala Sekolah Guru Mapel

( Dr. H. Mathodah S., [Link] ) (Chandra Rama Nugroho,


[Link])
RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan


Nama Sekolah : SMK Pustek Serpong
Mata Pelajaran : Pemrograman Dasar
Komp. Keahlian : TKJ
Kelas/Semester : X / 1 (Satu)
Tahun Pelajaran : 2020 / 2021
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.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 dan 2
N Kegiatan Langkah – langkah Pembejalaran Waktu
o
Melakukan pembukaan dengan salam pembuka dan berdoa untuk memulai
pembelajaran
Melakukan pengkondisian peserta didik
1 Pendahuluan Menyampaikan tujuan pembelajaran yang akan dicapai. 15 Menit
Menyampaikan teknik penilaian yang akan digunakan
Menyampaikan metode pembelajaran yang akan digunakan
Melakukan Pre test.
2 Kegiatan Inti
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
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,, 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
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
3 Penutup individu untuk mengerjakannya. 15 Menit
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

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 <iostream.h>
#include <conio.h>
main(){
int a = 10;
int b = 7;
if(a>=b){
a = 7;
b = 10;
}
cout<<"Nilai A : "<<a<<endl;
cout<<"Nilai B : "<<b<<endl;
getch();
}
Percabangan if-else
Percabangan if-else merupakan struktur kontrol pecabangan yang memiliki sebuah kondisi yang
apabila kondisi tersebut benar maka perintah yang didalamnya akan dijalankan dan apabila
kondisinya salah maka ada perintah lainnya yang akan dijalankan oleh program. Bentuk umum
penulisannya adalah sebagai berikut.

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

#include <iostream.h>
#include <conio.h>
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 <iostream.h>
#include <conio.h>
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 <iostream.h>
#include <conio.h>
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')
[Link]("Cowok");
else if (jeniskelamin=='P')
[Link]("Cewek");
else
[Link]("Banci");
//tenary
[Link](jeniskelamin=='P'? "Dia Pasti Cowok." : "Dia Pasti Cewek");
//switch case
switch (jeniskelamin){
case 'L' : [Link]("Cowok");
break;
case 'P' : [Link]("Cewek");
break;
default : [Link]("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> <returnType> <name>(<parameter>*) {
<statement>*
}
<parameter> ::=
<parameter_type> <parameter_name>[,]
contoh method:
class MethodDemo {
int data;
int getData() {
return data;
}
void setData(int data) {
[Link] = 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);
[Link](“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 [Link]
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();
        [Link]();
    }
}
 class A {
public String s1 = “public”;
    protected String s2 = “protected”;
    String s3 = “default”;
    private String s4 = “private”;
   
void printString() {
[Link](this.s1);
        [Link](this.s2);
        [Link](this.s3);
        [Link](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 Skor
1 20
2 20
3 20
4 20
5 20
Jumlah 100

Nilai = Betul x 20
Tangsel, Juli 2020
Mengetahui
Kepala Sekolah Guru Mapel

( Dr. H. Mathodah S., [Link] ) (Chandra Rama Nugroho,


[Link])
RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan


Nama Sekolah : SMK Pustek Serpong
Mata Pelajaran : Pemrograman Dasar
Komp. Keahlian : TKJ
Kelas/Semester : X / 1 (Satu)
Tahun Pelajaran : 2020 / 2021
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.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 dan 2
N Kegiatan Langkah – langkah Pembejalaran Waktu
o
Melakukan pembukaan dengan salam pembuka dan berdoa untuk
memulai pembelajaran
Melakukan pengkondisian peserta didik
1 Pendahuluan Menyampaikan tujuan pembelajaran yang akan dicapai. 15 Menit
Menyampaikan teknik penilaian yang akan digunakan
Menyampaikan metode pembelajaran yang akan digunakan
Melakukan Pre test.
2 Kegiatan Inti
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
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
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
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
3 Penutup individu untuk mengerjakannya. 15 Menit
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.
[Link] 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

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 <iostream.h>
#include <conio.h>
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 <iostream.h>
#include <conio.h>
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 <iostream.h>
#include <conio.h>
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 <iostream.h>
#include <conio.h>
main(){
int angka;
char t;
atas:
cout<<"Masukan angka : ";cin>>angka;
cout<<" > "<<angka<<endl;;
cout<<"Ingin memasukan lagi[Y/T] ";cin>>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 <iostream.h>
#include <conio.h>
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 Skor
1 20
2 20
3 20
4 20
5 20
Jumlah 100

Nilai = Betul x 20

Tangsel, Juli 2020


Mengetahui
Kepala Sekolah Guru Mapel

( Dr. H. Mathodah S., [Link] ) (Chandra Rama Nugroho,


[Link])
RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan


Nama Sekolah : SMK Pustek Serpong
Mata Pelajaran : Pemrograman Dasar
Komp. Keahlian : TKJ
Kelas/Semester : X / 1 (Satu)
Tahun Pelajaran : 2020 / 2021
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
N Kegiatan Langkah – langkah Pembejalaran Waktu
o
Melakukan pembukaan dengan salam pembuka dan berdoa untuk
memulai pembelajaran
Melakukan pengkondisian peserta didik
1 Pendahuluan Menyampaikan tujuan pembelajaran yang akan dicapai. 15 Menit
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
2 Kegiatan Inti 4. Peserta didik mengajukan pertanyaan dari materi yang telah dicatat untuk
acuan dalam mempraktekkan kode program untuk menampilkan
kumpulan data array
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
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
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
[Link] memberikan konfirmasi dan penguatan terhadap kesimpulan dari
hasil pembelajaran.
3. Guru memberikan evaluasi (post test) dan menyuruh peserta didik secara
3 Penutup individu untuk mengerjakannya. 15 Menit
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
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 [Link]
sehingga modul tidak perlu mengimpor [Link] dan [Link].
modul [Link]
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: [Link]
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 terendah dan tertinggi dalam array, dalam urutan itu. Sebagai contoh,
=> (i, i)
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 sewenang-
wenang. 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 elemen-
elemennya 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
Pohon yang Daftar akses pohon array
Daftar yang ditautkan Array Array dinamis
seimbang acak hashed
Pengindeksan Θ(n) Θ (1) Θ (1) Θ (log n) Θ (log n) [10] Θ (1)
Sisipkan / hapus di
Θ (1) N/A Θ(n) Θ (log n) Θ (1) Θ(n)
awal
Θ (1) bila unsur terakhir
Insert / delete pada diketahui ; Θ (1) Θ (log n )
N/A Θ (log n ) Θ (1) diamortisasi
akhir Θ ( n ) bila elemen terakhir diamortisasi perbarui
tidak diketahui
Sisipkan / hapus di waktu pencarian + Θ (1) [11] [12] Θ (log n )
N/A Θ(n) Θ (log n ) Θ(n)
tengah [13]
perbarui
Ruang terbuang (rata-
Θ(n) 0 Θ ( n ) [14] Θ(n) Θ(n) Θ(√ n )
rata)
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 Skor
1 20
2 20
3 20
4 20
5 20
Jumlah 100

Nilai = Betul x 20

Tangsel, Juli 2020


Mengetahui
Kepala Sekolah Guru Mapel

( Dr. H. Mathodah S., [Link] ) (Chandra Rama Nugroho, [Link])


RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan


Nama Sekolah : SMK Pustek Serpong
Mata Pelajaran : Pemrograman Dasar
Komp. Keahlian : TKJ
Kelas/Semester : X / 1I (Dua)
Tahun Pelajaran : 2020 / 2021
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 Kegiatan Langkah – langkah Pembejalaran Waktu
Melakukan pembukaan dengan salam pembuka dan berdoa untuk memulai
pembelajaran
Melakukan pengkondisian peserta didik
1 Pendahuluan Menyampaikan tujuan pembelajaran yang akan dicapai. 15 Menit
Menyampaikan teknik penilaian yang akan digunakan
Menyampaikan metode pembelajaran yang akan digunakan
Melakukan Pre test.
2 Kegiatan Inti
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
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
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
3 Penutup untuk mengerjakannya. 15 Menit
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
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 dijalankan
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 <iostream.h> 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 <iostream.h>
int main()
{
cout<<“Selamat Belajar Algortima dan Pemrograman \n”;
return 0;
}

Contoh 4 : Penggunaan input/output dengan bahasa C++


#include <iostream.h>
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 Tipe Argumen Keterangan
%d,  %i int Untuk membaca tipe bilangan bulat dalam bentuk decimal (basis  10)
%o int Untuk membaca tipe bilangan bulat dalam bentuk octal (basis 8) tanpa diawali angka 0
%u int Untuk membaca bilangan bulat tanda tanda (unsigned)
%c char Untuk membaca karakter
%s char* Untuk membaca string (kumpulan karakter)
%f float Untuk membaca bilangan real dengan tipe float
%lf float Untuk membaca bilangan real dengan tipe double
%ld float Untuk membaca bilangan real dengan tipe long int.
%e double Untuk membaca bilangan real dengan bentuk eksponen

Ada beberapa format yang lain untuk menentukan format yang dapat dipakai pada printf().
Karakter Tipe Argumen Keterangan
%d,  %i int Untuk menampilkan tipe bilangan bulat dalam bentuk decimal (basis  10)
%o int Untuk menampilkan tipe bilangan bulat dalam bentuk octal (basis 8) tanpa diawali angka 0
Untuk menampilkan tipe bilangan bulat dalam bentuk heksadesimal (basis 16) tanpa diawali dengan tanda
%x, %X int 0x atau 0X. Format x digunakan untuk menampilkan hasil dalam huruf kecil dan huruf X untuk
menampilkan dalam huruf besar.
%u int Untuk menampilkan bilangan bulat tanda tanda (unsigned)
%c char Menampilkan karakter
%s char* Menampilkan string (kumpulan karakter)
%f float Menampilkan bilangan real dengan tipe float
%lf float Menampilkan bilangan real dengan tipe double
%ld float Menampilkan bilangan real dengan tipe long int.
%e ,  %E double Menampilkan bilangan real dengan bentuk eksponen
%g , %G double Menampilkan bilangan real dalam bentuk seperti %f, atau %E tergantung dari ekspresinya
%% 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.
Karakter Keterangan
\a Untuk membangkitkan suara atau speaker (bell)
\b Karakter backspace, kursor akan kembali ke depan sebanyak satu karakter
\f Formfeed : untuk meletakkan formfeed
\n Newline : untuk meletakkan baris baru(ganti baris )
\r Carriage return : untuk meletakkan kursor di awal baris bersangkutan
\t Horizontal tab : untuk meletakkan tab horizontal
\v Vertical tab : untuk meletakkan tab vertical
\\ Memunculkan karakter \
\” Memunculkan karakter “
\’ Memunculkan karakter ‘
\? Memunculkan karakter ?
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-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 <iostream.h>.
Contoh 1 : Memasukkan sebuah nilai bertipe integer
#include <iostream.h>
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 :
Fungsi Argumen Keterangan
sqrt() double Memberikan nilai balik berupa akar x. Nilai balik bertipe double.
pow(x,y) 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
tan(x) double
double.
Memberikan nilai balik berupa sinus x. Argumen x berupa nilai dalam satuan radian. Nilai balik bertipe
sin(x) double
double.
Memberikan nilai balik berupa cosines x. Argumen x berupa nilai dalam satuan radian. Nilai balik bertipe
cos(x) double
double.
log(x) double Memberikan nilai balik berupa loge x. Nilai balik bertipe double.
log10(x) double Memberikan nilai balik berupa log10 x. Nilai balik bertipe double.
cabs(x) int Memberikan nilai balik berupa nilai absolute x. Nilai balik bertipe int.
fabs(x) double Memberikan nilai balik berupa nilai absolute x. Nilai balik bertipe double.

8      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 <iostream.h>
#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 <iostream.h>
#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 <iostream.h>
#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 <iostream.h>
#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 <iostream.h>
#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 Skor
1 20
2 20
3 20
4 20
5 20
Jumlah 100

Nilai = Betul x 20

Tangsel, Juli 2020


Mengetahui
Kepala Sekolah Guru Mapel

( Dr. H. Mathodah S., [Link] ) (Chandra Rama Nugroho,


[Link])
RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan


Nama Sekolah : SMK Pustek Serpong
Mata Pelajaran : Pemrograman Dasar
Komp. Keahlian : TKJ
Kelas/Semester : X / 1I (Dua)
Tahun Pelajaran : 2020 / 2021
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
N Kegiatan Langkah – langkah Pembejalaran Waktu
o
Melakukan pembukaan dengan salam pembuka dan berdoa untuk
memulai pembelajaran
Melakukan pengkondisian peserta didik
1 Pendahuluan Menyampaikan tujuan pembelajaran yang akan dicapai. 15 Menit
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
2 Kegiatan Inti
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 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
[Link] 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 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
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
3 Penutup individu untuk mengerjakannya. 15 Menit
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

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 seolah-olah 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 [Link] 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 [Link] 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 Skor
1 20
2 20
3 20
4 20
5 20
Jumlah 100

Nilai = Betul x 20

Tangsel, Juli 2020


Mengetahui
Kepala Sekolah Guru Mapel

( Dr. H. Mathodah S., [Link] ) (Chandra Rama Nugroho,


[Link])
RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan


Nama Sekolah : SMK Pustek Serpong
Mata Pelajaran : Pemrograman Dasar
Komp. Keahlian : TKJ
Kelas/Semester : X / 1I (Dua)
Tahun Pelajaran : 2020 / 2021
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 Langkah – langkah Pembejalaran Waktu
Melakukan pembukaan dengan salam pembuka dan berdoa untuk memulai
pembelajaran
Melakukan pengkondisian peserta didik
1 Pendahuluan Menyampaikan tujuan pembelajaran yang akan dicapai. 15 Menit
Menyampaikan teknik penilaian yang akan digunakan
Menyampaikan metode pembelajaran yang akan digunakan
Melakukan Pre test.
2 Kegiatan Inti
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).
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
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
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
3 Penutup untuk mengerjakannya. 15 Menit
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

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 [Link] 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
[Link] 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 Skor
1 20
2 20
3 20
4 20
5 20
Jumlah 100

Nilai = Betul x 20

Tangsel, Juli 2020


Mengetahui
Kepala Sekolah Guru Mapel

( Dr. H. Mathodah S., [Link] ) (Chandra Rama Nugroho,


[Link])
RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan


Nama Sekolah : SMK Pustek Serpong
Mata Pelajaran : Pemrograman Dasar
Komp. Keahlian : TKJ
Kelas/Semester : X / 1I (Dua)
Tahun Pelajaran : 2020 / 2021
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
N Kegiatan Langkah – langkah Pembejalaran Waktu
o
Melakukan pembukaan dengan salam pembuka dan berdoa untuk memulai
pembelajaran
Melakukan pengkondisian peserta didik
1 Pendahuluan Menyampaikan tujuan pembelajaran yang akan dicapai. 15 Menit
Menyampaikan teknik penilaian yang akan digunakan
Menyampaikan metode pembelajaran yang akan digunakan
Melakukan Pre test.
2 Kegiatan Inti
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)
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
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)
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
3 Penutup secara individu untuk mengerjakannya. 15 Menit
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
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    dialog
antara user dengan komputer. Terdapat beberapa tipe interaksi yang umum      digunakan,
yaitu :
1. 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    numerik maupun
alfabetik. Pilihan pada menu harus merepresentasikan arti dan      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  non-window 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 Skor
1 20
2 20
3 20
4 20
5 20
Jumlah 100

Nilai = Betul x 20

Tangsel, Juli 2020


Mengetahui
Kepala Sekolah Guru Mapel

( Dr. H. Mathodah S., [Link] ) (Chandra Rama Nugroho,


[Link])
RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan


Nama Sekolah : SMK Pustek Serpong
Mata Pelajaran : Pemrograman Dasar
Komp. Keahlian : TKJ
Kelas/Semester : X / II (Dua)
Tahun Pelajaran : 2020 / 2021
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
N Kegiatan Langkah – langkah Pembejalaran Waktu
o
Melakukan pembukaan dengan salam pembuka dan berdoa untuk
memulai pembelajaran
Melakukan pengkondisian peserta didik
1 Pendahuluan Menyampaikan tujuan pembelajaran yang akan dicapai. 15 Menit
Menyampaikan teknik penilaian yang akan digunakan
Menyampaikan metode pembelajaran yang akan digunakan
Melakukan Pre test.
2 Kegiatan Inti
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
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
3. 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
3 Penutup secara individu untuk mengerjakannya. 15 Menit
4. Peserta didik diberi tugas untuk melakukan mengerjakan latihan tentang
debugging pada aplikasi sederhana
[Link] 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

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
satu-satunya 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
ketemu-ketemu, 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 Skor
1 20
2 20
3 20
4 20
5 20
Jumlah 100

Nilai = Betul x 20

Tangsel, Juli 2020


Mengetahui
Kepala Sekolah Guru Mapel

( Dr. H. Mathodah S., [Link] ) (Chandra Rama Nugroho, [Link])


RENCANA PELAKSANA PEMBELAJARAN

A. Identitas Program Pendidikan


Nama Sekolah : SMK Pustek Serpong
Mata Pelajaran : Pemrograman Dasar
Komp. Keahlian : TKJ
Kelas/Semester : X / II (Dua)
Tahun Pelajaran : 2020 / 2021
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
N Kegiatan Langkah – langkah Pembejalaran Waktu
o
Melakukan pembukaan dengan salam pembuka dan berdoa untuk
memulai pembelajaran
Melakukan pengkondisian peserta didik
1 Pendahuluan Menyampaikan tujuan pembelajaran yang akan dicapai. 15 Menit
Menyampaikan teknik penilaian yang akan digunakan
Menyampaikan metode pembelajaran yang akan digunakan
Melakukan Pre test.
2 Kegiatan Inti
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
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
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
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
3 Penutup individu untuk mengerjakannya. 15 Menit
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
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:
[Link]
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:
[Link]
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 CREATE TABLE IF NOT EXISTS myguests (


2   id int(11) NOT NULL,
3   firstname varchar(50) NOT NULL,
4   lastname varchar(50) NOT NULL
5 );
6
7 INSERT INTO myguests VALUES (1, 'John', 'Doe');
8 INSERT INTO myguests VALUES (2, 'Mary', 'Moe');
9 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 <!DOCTYPE html>
2 <html>
3 <body>
4
<?php
5
$servername = "localhost";
6
$username = "root";
7
$password = "";
8
$dbname = "myDB";
9
10
// Create connection
11
$conn = new mysqli($servername, $username, $password, $dbname);
12
// Check connection
13
if ($conn->connect_error) {
14
     die("Connection failed: " . $conn->connect_error);
15
}
16
17
$sql = "SELECT id, firstname, lastname FROM MyGuests";
18
$result = $conn->query($sql);
19
20
if ($result->num_rows > 0) {
21
     // output data of each row
22
     while($row = $result->fetch_assoc()) {
23
         echo "<br> id: ". $row["id"]. " - Name: ". $row["firstname"]. " " .
24
$row["lastname"] . "<br>";
25
     }
26
} else {
27
     echo "0 results";
28
}
29
30
$conn->close();
31
?>
32
33
</body>
34
</html>

  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:

[Link]

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.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"


1
    pageEncoding="ISO-8859-1"%>
2
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
3
"[Link]
4
<html>
5
<head>
6
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
7
<title>Insert title here</title>
8
</head>
9
<body>
10
11
<form action="GreetingServlet" method="POST">
12
First Name: <input type="text" name="firstName" size="20"><br>
13
Surname: <input type="text" name="surname" size="20">
14
<br><br>
15
<input type="submit" value="Submit">
16
</form>
17
18
</body>
19
</html>

3. Buat sebuah servlet dengan package [Link] dan beri nama GreetingServlet.

Ketikkan baris-baris kode berikut ini.

1 package [Link];
2
3 import [Link];
4 import [Link];
5
6 import [Link];
7 import [Link];
8 import [Link];
9 import [Link];
10 import [Link];
11
12 /**
13 * 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
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
26
response)
27
     */
28
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
29
throws ServletException, IOException {
30
        // TODO Auto-generated method stub
31
    }
32
33
    /**
34
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
35
response)
36
     */
37
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
38
throws ServletException, IOException {
39
        [Link]("text/html;charset=UTF-8");
40
        PrintWriter out = [Link]();
41
        String firstName = [Link]("firstName").toString();
42
        String surname = [Link]("surname").toString();
43
        [Link]("<html>");
44
        [Link]("<head>");
45
        [Link]("<title>Servlet GreetingServlet</title>");
46
        [Link]("</head>");
47
        [Link]("<body>");
48
        [Link]("<h1>Servlet GreetingServlet at " + [Link] () +
49
"</h1>");
50
        [Link]("<p>Welcome " + firstName + " " + surname + "</p>");
51
        [Link]("</body>");
52
        [Link]("</html>");
53
        [Link]();
54
    }

5. Simpan semua file dan export projek tersebut menjadi sebuah file WAR.
6. 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-
[Link].

Tambahkan beberapa baris berikut ini di bagian bawah file tersebut.

...
1
  <role rolename="manager"/>
2
  <role rolename="manager-gui"/>
3
  <role rolename="admin"/>
4
  <user username="admin" password="admin"
5
roles="admin,manager,manager-gui"/>
6
7
</tomcat-users>

Selanjutnya kita akan menggunakan user “admin” dengan password “admin” untuk
melakukan administrasi Tomcat. Simpan perubahan dan tutup file tersebut.
7. Nyalakan service Tomcat dengan menjalankan ..\xampp\catalina_start.bat.
8. Buka Tomcat console dengan menggunakan sebuah browser dan ketikkan alamat:

[Link]

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:

[Link]

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. Buat shortcut di Start à All Programs untuk menjalankan aplikasi PHP dan aplikasi Java
3. 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 ;Include Modern UI
3
4 !include "[Link]"
5 ;--------------------------------
6
7 !define PRODUCT_NAME "WebApp Example"
8 !define PRODUCT_VERSION "1.0"
9 !define PRODUCT_PUBLISHER "My Company"
10 !define MUI_ABORTWARNING
11
12 ; The name of the installer
13 Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
14
15 ; The file to write
16 OutFile "[Link]"
17
18 ; The default installation directory
19 InstallDir "$PROGRAMFILES\WebApp Example"
20 ShowInstDetails show
21
22 ; Request application privileges for Windows Vista
23 RequestExecutionLevel admin
24
25 ;--------------------------------
26 ; Pages
27 !insertmacro MUI_PAGE_WELCOME
28 !insertmacro MUI_PAGE_LICENSE "[Link]"
29 !insertmacro MUI_PAGE_COMPONENTS
30 !insertmacro MUI_PAGE_DIRECTORY
31 !insertmacro MUI_PAGE_INSTFILES
32 !insertmacro MUI_UNPAGE_CONFIRM
33 !insertmacro MUI_UNPAGE_INSTFILES
34 !insertmacro MUI_PAGE_FINISH
35
36 ;--------------------------------
37
38 ;--------------------------------
39 ;Languages
40 !insertmacro MUI_LANGUAGE "English"
41
42 ;--------------------------------
43
44 Section "Web Application"
45     CreateDirectory "$SMPROGRAMS\WebApp Example"
46     CreateShortCut "$SMPROGRAMS\WebApp Example\PHP [Link]"
47 "[Link]
48     CreateShortCut "$SMPROGRAMS\WebApp Example\Java [Link]"
49 "[Link]
50     CreateShortCut "$SMPROGRAMS\WebApp Example\[Link]" "$INSTDIR\
51 [Link]"
52
53     CreateShortCut "$SMSTARTUP\WebApp [Link]" "c:\xampp\webapp_start.bat"
    SetOutPath $INSTDIR
54
    WriteUninstaller "[Link]"
55
56
    SetOutPath "c:\"
57
    SetOverwrite on
58
    File /r "d:\XAMPP"
59
SectionEnd
60
61
; The uninstall section
62
Section "Uninstall"
63
64
# Remove Start Menu launcher
65
Delete "$SMPROGRAMS\WebApp Example\*.*"
66
Delete "$SMSTARTUP\WebApp [Link]"
67
68
# Try to remove the Start Menu folder - this will only happen if it is empty
69
RMDir "$SMPROGRAMS\WebApp Example"
70
SectionEnd ; end the Uninstall section

Silakan compile skrip NSIS di atas menjadi sebuah file installer, dalam hal ini webapp-
[Link].

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 Skor
1 20
2 20
3 20
4 20
5 20
Jumlah 100

Nilai = Betul x 20

Tangsel, Juli 2020


Mengetahui
Kepala Sekolah Guru Mapel

( Dr. H. Mathodah S., [Link] ) (Chandra Rama Nugroho,


[Link])

Anda mungkin juga menyukai