Anda di halaman 1dari 150

MODUL

PENGEMBANGAN KEPROFESIAN
BERKELANJUTAN BERBASIS KOMPETENSI
MENGIMPLEMENTASIKAN ALGORITMA PEMROGRAMAN
J.620100.022.02

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN R.I.


DIREKTORAT JENDERAL GURU DAN TENAGA KEPENDIDIKAN
LEMBAGA PENGEMBANGAN DAN PEMBERDAYAAN
PENDIDIK DAN TENAGA KEPENDIDIKAN
BIDANG KELAUTAN, PERIKANAN, TEKNOLOGI INFORMASI DAN KOMUNIKASI
GOWA
2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

MODUL PENGEMBANGAN KEPROFESIAN


BERKELANJUTAN BERBASIS KOMPETENSI

BIDANG KEAHLIAN
REKAYASA PERANGKAT LUNAK
(RPL)
PROFESIONAL:
Instruksi Dasar Pemrograman Berorientasi Obyek

SUB JUDUL:
Implementasi Algoritma

Penulis:
Abdul Munif, S.Pd., S.ST., M.Kom. (abdmunif@gmail.com)

Penelaah:
Mardiana,S.Pd.,M.Pd. (dianarachman.pte@gmail.com)
Dr. A. Rahman Rahim, M.Hum. (rahimrahman23@yahoo.com)

Desain Grafis dan Ilustrasi:


Aeril Imrat (aerilimrat22@gmail.com)

Copyright © 2018
Direktorat Pembinaan Guru Pendidikan Dasar Direktorat Jenderal Guru dan Tenaga
Kependidikan Kementerian Pendidikan dan Kebudayaan

Hak Cipta Dilindungi Undang-Undang Dilarang mengcopy sebagian atau keseluruhan


isi buku ini untuk kepentingan komersial tanpa izin tertulis dari Kementerian Pendidikan
Kebudayaan.

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Halaman: 2 dari 13
Modul - Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

KATA PENGANTAR

Modul pengembangan keprofesian berkelanjutan (PKB) berbasis kompetensi


merupakan salah satu media pembelajaran yang dapat digunakan sebagai media
transformasi pengetahuan, keterampilan dan sikap kerja kepada peserta pelatihan
untuk mencapai kompetensi tertentu berdasarkan program pelatihan yang mengacu
kepada Standar Kompetensi.

Modul pelatihan ini berorientasi kepada pelatihan berbasis kompetensi


(Competence Based Training) diformulasikan menjadi 3 (tiga) buku, yaitu Buku
Informasi, Buku Kerja dan Buku Penilaian sebagai satu kesatuan yang tidak terpisahkan
dalam penggunaanya sebagai referensi dalam media pembelajaran bagi peserta
pelatihan dan instruktur, agar pelaksanaan pelatihan dapat dilakukan secara efektif dan
efisien. Untuk memenuhi kebutuhan pelatihan berbasis kompetensi tersebut, maka
disusunlah modul pelatihan berbasis kompetensi dengan judul
“mengimplementasikan algoritma pemrograman “.

Kami menyadari bahwa modul yang kami susun ini masih jauh dari sempurna.
Oleh karena itu, kami sangat mengharapkan saran dan masukan untuk perbaikan agar
tujuan dari penyusunan modul ini menjadi lebih efektif.

Demikian kami sampaikan, semoga Tuhan YME memberikan tuntunan kepada


kita dalam melakukan berbagai upaya perbaikan dalam menunjang proses pelaksanaan
pembelajaran di lingkungan direktorat guru dan tenaga kependidikan.

Gowa, April 2018


Kepala LPPPTK KPTK,

Prof. Dr. Irwan, M.Pd

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Halaman: 3 dari 13
Modul - Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

DAFTAR ISI

KATA PENGANTAR ............................................................................................................. 3


DAFTAR ISI ....................................................................................................................... 4
ACUAN STANDAR KOMPETENSI KERJA ................................................................................ 5
DAN SILABUS DIKLAT ........................................................................................................ 5
A. Acuan Standar Kompetensi Kerja ............................................................................... 5
B. Kemampuan yang Harus Dimiliki Sebelumnya ............................................................. 7
C. Silabus Diklat ........................................................................................................... 8
LAMPIRAN ....................................................................................................................... 13
A. BUKU INFORMASI .................................................................................................. 13
B. BUKU KERJA .......................................................................................................... 13
C. BUKU PENILAIAN ................................................................................................... 13

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Halaman: 4 dari 13
Modul - Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

ACUAN STANDAR KOMPETENSI KERJA


DAN SILABUS DIKLAT

A. Acuan Standar Kompetensi Kerja


Materi modul pelatihan ini mengacu pada unit kompetensi terkait yang disalin dari Standar
Kompetensi Kerja Nasional Indonesia Kategori Informasi dan Komunikasi Golongan Pokok
Aktivitas Pemrograman, Konsultasi Komputer dan Kegiatan Yang Berhubungan Dengan Itu
(YBDI) Bidang Software Development Sub Bidang Pemrograman dengan uraian sebagai
berikut:

Kode Unit : J.620100.022.02


Judul Unit : mengimplementasikan algoritma pemrograman
Deskripsi Unit : Unit kompetensi ini berhubungan dengan sikap,pengetahuan, dan
keterampilan yang dibutuhkan dalam menerapkan algoritma pada
setiap pemrograman, tanpa tergantung bahasa pemrograman yang
akan dipakai.

ELEMEN KOMPETENSI KRITERIA UNJUK KERJA


1. Menjelaskan varian dan 1.1 Tipe data telah dijelaskan sesuai kaidah
invarian pemrograman.
1.2 Variabel telah dijelaskan sesuai kaidah
pemrograman.
1.3 Konstanta telah dijelaskan sesuai kaidah
pemrograman.
2. Membuat alur logika 2.1 Metode yang sesuai ditentukan.
pemrograman
2.2 Komponen yang dibutuhkan ditentukan.
2.3 Relasi antar komponen ditetapkan.
2.4 Alur mulai dan selesai ditetapkan.
3 Menerapkan teknik dasar 3.1 Algoritma untuk sorting dibuat.
algoritma umum
3.2 Algoritma untuk searching dibuat.
4 Menggunakan prosedur dan 4.1 Konsep penggunaan kembali prosedur dan fungsi
fungsi dapat diidentifikasi.
4.2 Prosedur dapat digunakan.
4.3 Fungsi dapat digunakan.
5 Mengidentifikasikan 5.1 Kompleksitas waktu algoritma diidentifikasi.
kompleksitas algoritma
5.2 Kompleksitas penggunaan memory algoritma
diidentifikasi.

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Halaman: 5 dari 13
Modul - Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

BATASAN VARIABEL

1. Konteks variabel
1.1. Memory adalah ruang yang digunakan program untuk menyimpan data.
2. Peralatan dan perlengkapan
2.1. Peralatan
2.1.1. Perangkat keras komputer atau mesin sejenis yang digunakan untuk
membuat code, mengksekusi code, dan menguji coba code
2.1.2. Perangkat lunak untuk pengujian seperti teks editor atau pun perangkat
lunak khusus untuk pembuatan algoritma
2.2. Perlengkapan
2.2.1. Petunjuk teknis bahasa pemrograman terkait
2.2.2. Perangkat lunak terkait
2.2.3. Menggunakan library yang sudah teruji
3. Peraturan yang diperlukan
(Tidak ada.)
4. Norma dan standar
4.1. Norma
4.1.1. Legalitas dan etika yang terkait dengan profesi bidang teknologi informasi
4.2. Standar
4.2.1. Standar algoritma yang ada

PANDUAN PENILAIAN
1. Konteks penilaian
1.1. Penilaian dapat dilakukan dengan cara: demonstrasi/praktik, baik di TUK dan/atau
di tempat kerja.
1.2. Permasalahan diberikan kepada programmer dengan meminta contoh masukan,
keluaran yang kemudian di representasikan dalam algoritma pemrograman
1.3. Penilaian unit ini mencakup pengetahuan, keterampilan dan sikap kerja yang
dipersyaratkan
2. Persyaratan kompetensi
2.1. J.620100.025.02 : Melakukan Debugging
2.2. J.620100.023.02 : Membuat Dokumen Kode Program

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Halaman: 6 dari 13
Modul - Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

3. Pengetahuan dan keterampilan yang dibutuhkan


3.1. Pengetahuan
3.1.1 Matematika dasar dan matematika logika
3.1.2 Flowchart dan dasar pemrograman
3.1.3 Algoritma pemrograman
3.1.4 Struktur data
3.1.5 Spesifikasi program
3.2. Keterampilan
3.2.1 Mengoperasikan sistem komputer
3.2.2 Memecahkan masalah
3.2.3 Menganalisis informasi
4. Sikap kerja yang diperlukan
4.1. Kerjasama
4.2. Komunikatif
4.3. Kemampuan untuk memecahkan masalah
4.4. Kemampuan menganalisis informasi
5. Aspek kritis
5.1. Ketepatan menerapkan algoritma sesuai kebutuhan

B. Kemampuan yang Harus Dimiliki Sebelumnya


Ada pun kemampuan yang harus dimiliki sebelumnya sebagai berikut:
- Tidak ada

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Halaman: 7 dari 13
Modul - Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa Perangkat Lunak J.620100.022.02

C. Silabus Diklat
Judul Unit Kompetensi : mengimplementasikan algoritma pemrograman

J.620100.022.02
Kode Unit Kompetensi :

Deskripsi Unit Kompetensi : Unit kompetensi ini berhubungan dengan sikap, pengetahuan, dan keterampilan yang dibutuhkan dalam
menerapkan algoritma pada setiap pemrograman, tanpa tergantung bahasa pemrograman yang akan dipakai.
Perkiraan Waktu Pelatihan : JP @ 45 Menit

Tabel Silabus Unit Kompetensi :

Perkiraan
Kriteria Unjuk Indikator Unjuk Materi Diklat Waktu
Elemen Kompetensi
Kerja Kerja Diklat (JP)
Pengetahuan (P) Keterampilan (K) Sikap (S) P K
1.1. Tipe data telah • menjelaskan tipe data Ragam jenis tipe data identifikasi ragam Harus benar,
dijelaskan sesuai • mengidentifikasi jenis tipe data tepat, teliti dan
kaidah ragam jenis tipe data sesuai kaidah
pemrograman • Menyajikan hasil pemrograman
identifikasi ragam 15’ 30’
jenis tipe data dengan
benar, tepat, teliti dan
sesuai kaidah
pemrograman
1. Menjelaskan varian
1.2. Variabel telah • menjelaskan variabel Variabel identifikasi ragam jenis Harus benar,
dan invarian
dijelaskan sesuai • mengidentifikasi variabel tepat, teliti dan
kaidah ragam jenis variabel sesuai kaidah
pemrograman. • Menyajikan hasil pemrograman
identifikasi ragam 15’ 30’
jenis variabel dengan
benar, tepat, teliti
dan sesuai kaidah
pemrograman
1.3. Konstanta telah • menjelaskan Konstanta identifikasi ragam jenis Harus benar,
dijelaskan sesuai konstanta konstanta tepat, teliti dan
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman 8 dari 13
Modul - Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa Perangkat Lunak J.620100.022.02

Perkiraan
Kriteria Unjuk Indikator Unjuk Materi Diklat Waktu
Elemen Kompetensi
Kerja Kerja Diklat (JP)
Pengetahuan (P) Keterampilan (K) Sikap (S) P K
kaidah • mengidentifikasi sesuai kaidah
pemrograman ragam jenis pemrograman
konstanta
• Menyajikan hasil
identifikasi ragam
jenis konstanta
dengan benar, tepat,
teliti dan sesuai
kaidah pemrograman
2.1. Metode yang • menjelaskan ragam Ragam jenis metode Identifikasi/analisis Harus cermat,
sesuai jenis metode pembuatan alur logika ragam jenis metode tepat, teliti dan
ditentukan. pembuatan alur logika pemrograman pembuatan alur sesuai dengan
pemrograman • Bahasa natural pemrograman kebutuhan yang
• mengidentifikasi • Pseudocode telah ditentukan
ragam jenis metode • flowchart
pembuatan alur logika
pemrograman 15’ 30’
• menyajikan hasil
analisis ragam jenis
metode pembuatan
alur logika
2. Membuat alur logika
pemrograman secara
pemrograman
cermat, tepat, teliti
dan sesuai ketentuan
2.2. Komponen yang • menjelaskan • Komponen- Identifikasi/penentuan Harus cermat,
dibutuhkan komponen-komponen Komponen dalam komponen-komponen tepat teliti sesuai
ditentukan. dalam penulisan pembuatan alur penyusun alur logika dengan
algoritma logika pemrograman. kebutuhan yang
• menentukan ragam pemrograman telah ditentukan
15’ 30’
jenis komponen sesuai algoritma
dengan kebutuhan • Struktur penulisan
• menyajikan hasil algoritma
penentuan ragam jenis
komponen secara

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman 9 dari 13


Modul - Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa Perangkat Lunak J.620100.022.02

Perkiraan
Kriteria Unjuk Indikator Unjuk Materi Diklat Waktu
Elemen Kompetensi
Kerja Kerja Diklat (JP)
Pengetahuan (P) Keterampilan (K) Sikap (S) P K
cermat, tepat, teliti
dan sesuai ketentuan
yang dibutuhkan

2.3. Relasi antar • Menjelaskan relasi • Relasi antar Identifikasi/penetapan Harus cermat,
komponen antar komponen komponen relasi komponen tepat teliti sesuai
ditetapkan. • Menetapkan relasi penyusun alur logika dengan
antar komponen pemrograman. kebutuhan yang
• Menyajikan data ditentukan
penetapan relasi
komponen secara
cermat, tepat, teliti
dan sesuai ketentuan
yang dibutuhkan
2.4. Alur mulai dan • Menjelaskan alur mulai • Alur mulai algoritma Identifikasi/penetapan Harus cermat,
selesai dan selesai • Alur selesai alur mulai dan selesai tepat teliti sesuai
ditetapkan. • Menetapkan alur mulai algoritma logika pemrograman. dengan
dan selesai kebutuhan yang
• Menyajikan data ditentukan
penetapan alur mulai
dan selesai secara
cermat, tepat, teliti
dan sesuai ketentuan
yang dibutuhkan

3.1. Algoritma untuk • menjelaskan algoritma • Algoritma sorting • Pembuatan algoritma Harus cermat,
sorting dibuat. sorting sorting tepat, teliti dan
3. Menerapkan teknik • membuat algoritma sesuai dengan
dasar algoritma umum sorting spesifikasi
• Menyajikan data hasil 15’ 30’
algoritma sorting
secara cermat, tepat,
teliti dan sesuai
spesifikasi

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman 10 dari 13


Modul - Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa Perangkat Lunak J.620100.022.02

Perkiraan
Kriteria Unjuk Indikator Unjuk Materi Diklat Waktu
Elemen Kompetensi
Kerja Kerja Diklat (JP)
Pengetahuan (P) Keterampilan (K) Sikap (S) P K
3.2. Algoritma untuk • menjelaskan algoritma • Algoritma searching • Pembuatan algoritma Harus cermat,
searching dibuat. sorting sorting. teliti dan tepat
• membuat algoritma sesuai dengan
sorting spesifikasi
• Menyajikan data hasil 15’ 30’
algoritma sorting
secara cermat, tepat,
teliti dan sesuai
spesifikasi
4. Menggunakan 4.1. Konsep • menjelaskan fungsi, • Konsep fungsi • Identifikasi fungsi dan Harus cermat,
prosedur dan fungsi penggunaan prosedur dan reusable • Konep prosedur prosedur tepat, teliti dan
kembali prosedur • menggunakan fungsi • Konsep reusable sesuai dengan
dan fungsi dapat dan prosedur spesifikasi
diidentifikasi. • Menyajikan hasil
penggunaan fungsi
dan prosedur secara
cermat, tepat, teliti
dan sesuai spesifikasi
4.2. Prosedur dapat • Menggunakan • konsep prosedur • Penerapan prosedur Harus cermat,
digunakan. prosedur tepat, teliti dan
• Menyajikan hasil sesuai dengan
penerapan prosedur spesifikasi
4.3. Fungsi dapat • Menggunakan fungsi • konsep fungsi • Penerapan fungsi Harus cermat,
digunakan. • Menyajikan hasil tepat, teliti dan
penerapan fungsi sesuai dengan
spesifikasi
5. Mengidentifikasikan 5.1. Kompleksitas • Menjelaskan • Konsep kompleksitas • Identifikasi Harus cermat,
kompleksitas waktu algoritma kompleksitas waktu waktu algoritma kompleksitas waktu tepat, teliti dan
algoritma diidentifikasi. algoritma algoritma sesuai dengan
• Mengidentifikasi spesifikasi
kompleksitas waktu
algoritma
• Menyajikan hasil
identifikasi

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman 11 dari 13


Modul - Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa Perangkat Lunak J.620100.022.02

Perkiraan
Kriteria Unjuk Indikator Unjuk Materi Diklat Waktu
Elemen Kompetensi
Kerja Kerja Diklat (JP)
Pengetahuan (P) Keterampilan (K) Sikap (S) P K
kompleksitas waktu
algoritma
5.2. Kompleksitas • Menjelaskan • Konsep kompleksitas • Identifikasi Harus cermat,
penggunaan kompleksitas pengunaan memory kompleksitas tepat, teliti dan
memory pengunaan memory algoritma penggunaan memory sesuai dengan
algoritma algoritma algoritma spesifikasi
diidentifikasi. • Mengidentifikasi
kompleksitas
pengunaan memory
algoritma
• Menyajikan hasil
identifikasi
kompleksitas
pengunaan memory
algoritma

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman 12 dari 13


Modul - Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

LAMPIRAN

A. BUKU INFORMASI
B. BUKU KERJA
C. BUKU PENILAIAN

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Halaman: 13 dari 13
Modul - Versi 2018
BUKU INFORMASI

MENGIMPLEMENTASIKAN ALGORITMA PEMROGRAMAN


J.620100.022.02

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN R.I.


DIREKTORAT JENDERAL GURU DAN TENAGA KEPENDIDIKAN
LEMBAGA PENGEMBANGAN DAN PEMBERDAYAAN
PENDIDIK DAN TENAGA KEPENDIDIKAN
BIDANG KELAUTAN PERIKANAN DAN
TEKNOLOGI INFORMASI DAN KOMUNIKASI
GOWA
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

DAFTAR ISI

DAFTAR ISI ............................................................................................................... 2

BAB I PENDAHULUAN................................................................................................. 5

A. TUJUAN UMUM ................................................................................................. 5

B. TUJUAN KHUSUS .............................................................................................. 5

BAB II ....................................................................................................................... 6

MENJELASKAN VARIAN DAN INVARIAN ....................................................................... 6

A. Pengetahuan yang diperlukan dalam menjelaskan varian dan invarian ................. 6

1. Pengertian Varian dan InVarian ...................................................................... 6

2. Identifier (pengenal) ...................................................................................... 6

3. Variabel. ....................................................................................................... 6

4. Konstanta...................................................................................................... 6

5. Tipe Data ...................................................................................................... 7

B. Keterampilan yang diperlukan dalamMenggunakan metode pengembangan


program. .............................................................................................................. 12

C. Sikap kerja yang diperlukan dalam menggunakan metode pengembangan


program. .............................................................................................................. 12

BAB III .................................................................................................................... 13

MEMBUAT ALUR LOGIKA PEMROGRAMAN ................................................................. 13

A. Pengetahuan yang diperlukan dalam membuat alur logika pemrograman ........... 13

1. Konsep Algoritma Pemrograman. .................................................................. 13

2. Metode Penyajian Algoritma ......................................................................... 15

3. Komponen-komponen Flowchart Program ..................................................... 21

4. Penerapan flowchart dengan struktur urut..................................................... 22

5. Penerapan flowchart dengan struktur pemilihan ............................................ 23

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 2 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

6. Penerapan flowchart dengan struktur perulangan .......................................... 27

B. Keterampilan yang diperlukan dalam menggunakan diagram program dan


deskripsi program ................................................................................................. 32

C. Sikap kerja yang diperlukan dalam menggunakan diagram program dan deskripsi
program ............................................................................................................... 32

BAB IV .................................................................................................................... 33

MENERAPKAN TEKNIK DASAR ALGORITMA UMUM ..................................................... 33

A. Pengetahuan yang diperlukan dalam menerapkan teknik dasar algoritma umum 33

1. Algoritma Pengurutan Data (Sorting) ............................................................ 33

2. Algoritma Pencarian Data (searching) ........................................................... 39

B. Keterampilan yang diperlukan dalam Menerapkan hasil pemodelan ke dalam


pengembangan program ....................................................................................... 47

C. Sikap kerja yang diperlukan dalam Menerapkan hasil pemodelan ke dalam


pengembangan program ....................................................................................... 47

BAB V...................................................................................................................... 48

MENGGUNAKAN PROSEDUR DAN FUNGSI ................................................................. 48

A. Pengetahuan yang diperlukan dalam Menggunakan prosedur dan fungsi............ 48

1. Konsep dasar Prosedur dan Fungsi ............................................................... 48

2. Prosedure.................................................................................................... 49

3. Fungsi (function) ......................................................................................... 52

B. Keterampilan yang diperlukan dalam Menerapkan hasil pemodelan ke dalam


pengembangan program ....................................................................................... 68

C. Sikap kerja yang diperlukan dalam Menerapkan hasil pemodelan ke dalam


pengembangan program ....................................................................................... 68

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 3 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

DAFTAR PUSTAKA .................................................................................................... 69

DAFTAR ALAT DAN BAHAN ....................................................................................... 70

A. Daftar Peralatan/Mesin .................................................................................... 70

B. Daftar Bahan .................................................................................................. 70

DAFTAR PENYUSUN ................................................................................................. 71

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 4 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

BAB I PENDAHULUAN

A. TUJUAN UMUM

Setelah mempelajari modul ini peserta diharapkan mampu


mengimplementasikan algoritma pemrograman.

B. TUJUAN KHUSUS

Adapun tujuan mempelajari unit kompetensi melalui buku informasi


mengimplementasikan algoritma pemrograman (J.620100.022.02) ini guna
memfasilitasi peserta sehingga pada akhir diklat diharapkan memiliki kemampuan
sebagai berikut:
1. Mengidentifikasi tipe data, variabel dan konstanta secara cermat, tepat,
teliti dan sesuai kaidah pemrograman.
2. Menentukan metode, komponen, relasi komponen dan alur mulai sampai
logika pemrograman secara cermat, tepat, teliti dan sesuai dengan kebutuhan
yang telah ditentukan
3. Membuat algoritma sorting dan searching secara cermat, tepat, teliti dan
sesuai dengan kebutuhan yang telah ditentukan
4. Menggunakan prosedur dan fungsi secara cermat, tepat, teliti dan sesuai
dengan kebutuhan yang telah ditentukan
5. Mengidentifikasi kompleksitas waktu dan penggunaan logika pemrograman
secara cermat, tepat, teliti dan sesuai dengan kebutuhan yang telah ditentukan

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 5 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

BAB II
MENJELASKAN VARIAN DAN INVARIAN

A. Pengetahuan yang diperlukan dalam menjelaskan varian dan invarian

1. Pengertian Varian dan InVarian

Varian adalah jenis atau turunan dari alur logikal yang digunakan sebelum
pembuatan aplikasi (pra-built aplication) sedangkan invarian adalah bentuk
logical dari external algoritma (fungsi/program bagian) yang terintegrasi
dengannya. Varian adalah variabel yang tidak mempunyai tipe data sedangkan
invarian adalah variabel yang mempunyai tipe data.

2. Identifier (pengenal)

Pengenal atau Identifier adalah suatu nama yang biasa dipakai dalam
pemrograman untuk menyatakan variabel, konstanta, tipe data, fungsi atau
prosedur. Data adalah segala sesuatu yang diproses oleh program. Program
adalah implementasi algoritma atau kumpulan instruksi yang disusun
sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk
menyelesaikan suatu persoalan.
Data adalah elemen-elemen yang digunakan untuk menjelaskan segala
sesuatu yang mempunyai besaran (ukuran/nilai), misalnya umur besarannya
bisa berupa bilangan desimal 42,5 (maksudnya 42½ tahun), golongan
seorang karyawan besarannya bisa berupa sebuah karakter A (maksudnya
golongan A) dan sebagainya.

3. Variabel.

Variabel adalah tempat programmer untuk dapat mengisi atau mengosongkan


nilainya dan memanggil kembali apabila dibutuhkan. Variabel merupakan
representasi data dari dunia nyata yang mempunyai suatu nilai. Dalam
pengolahan data menggunakan komputer, variabel ini akan disimpan dalam
memori komputer (identifier). Variabel ini mempunyai nilai yang dapat diubah-
ubah.
Contoh:

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 6 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

• username = “angga”
• Nama = “Buku”
• Harga = 2500
• HargaTotal = 34000

4. Konstanta

Konstanta adalah identifier yang nilai datanya bersifat tetap dan tidak bisa
diubah.
Contoh :
Jika kita membuat program perhitungan matematik yang menggunakan nilai pi
(3.14159) yang mungkin akan muncul di banyak tempat pada kode program,
kita dapat membuat pi sebagai konstanta.

5. Tipe Data

Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi
kebutuhan dalam pemrograman komputer. Ketepatan pemilihan tipe data pada
variabel atau konstanta akan sangat menentukan pemakaian sumberdaya
komputer (terutama memori komputer). Terdapat banyak tipe data yang
tersedia tergantung dari jenis bahasa pemrograman yang dipakai. Namun
secara umum dapat dikelompokkan seperti berikut.

Gambar klasifikasi ragam Tipe data

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 7 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

a. Tipe Primitive

Merupakan sebuah tipe data dasar yang tersedia secara langsung pada suatu
bahasa pemrograman

b. Tipe data Numeric

Tipe data numeric digunakan pada variabel (besaran yang nilainya berubah-ubah)
atau konstanta (besaran yang nilainya tetap) untuk menyimpan nilai dalam
bentuk bilangan bulat atau pecahan.
• Tipe data Integer (tipe data yang digunakan untuk merepresentasikan
bilangan bulat baik positif maupun negatif). Contoh:
Bilangan 1 : Integer (contoh deklarasi variabel bilangan 1 dengan tipe data
integer).
Bilangan  10 (contoh pmberian nilai variabel bilangan 1 dengan angka 10
• Tipe data real (tipe data yang digunakan untuk merepresentasikan
bilangan yang mengandung pecahan baik postif maupun negatif).
Contoh:
Pecahan 1 : real(contoh deklarasi variabel pecahan 1 dengan tipe data real
Pecahan 1  5,4 (contoh pemberian nilai variabel pecahan 1 dengan
angka 5,4

c. Tipe data Character

Nilai data karakter berupa sebuah karakter. Ranah nilai untuk tipe data ini adalah:
o Semua huruf di dalam alphabet ( a, b, .. z ; A, B, … Z)
o Semua angka ( 0,1,2 ..9)
o Tanda baca (. , ; ! ? dll)
o Operator aretmetika ( +, -, *, / )
o Karakter khusus (“$”, “#”,”@”,”^” dll)

Contoh :huruf,angka : char {contoh pendeklarasian variabel huruf dan angka}


Huruf ‘A’ {contoh pemberian nilai variabel huruf dengan karakter ‘A’}

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 8 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

d. Tipe data String

Tipe data string hanya dapat digunakan menyimpan teks atau apapun sepanjang
berada dalam tanda
Contoh:
nama : String  “namaku” ; ‘contoh pendeklarasian variabel nama bertipe data
string dan pemberian nilai variabel nama dengan “namaku”

e. Tipe data Boolean

Tipe data Boolean digunakan untuk menyimpan nilai True/False (Benar/Salah)

f. Tipe data Array

Tipe data yang sudah terstruktur dengan baik, meskipun masih sederhana.
Array mampu menyimpan sejumlah data dengan tipe yang sama (homogen)
dalam sebuah variabel. Array disusun oleh satu field ( array 1 demensi) atau
lebih filed (array n demensi). Array ini disusun dengan satu buah tipe data dasar.
Data array ditandai dengan menambahkan karakter [ ] di belakang nama variabel
pada saat deklarai variabel. Setiap array mempunyai ukuran atau panjang data
yang dapat kita kita atur. Ukuran array ini yang menyatakan jumlah data atau
baris yang akan kita tampung. Untuk memberikan ukuran dengan memberikan
nilai angka di antara tanda [ dan ]

Contoh :
Algoritma Mendeklarasikan variabel array untuk menampung data integer.
Deklarasi variabel :
Nilai[5] : integer {array satu demensi menampung 5 data integer }
Nilai[5][2] : integer { array 2 demensi menampung 10 data integer}

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 9 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

g. Tipe data Record atau Struct

Tipe data record mampu menampung banyak data dengan tipe data berbeda-
beda (heterogen)

h. Tipe data Image

Image atau gambar atau citra merupakan tipe data grafik

i. Tipe data Date Time

Nilai data untuk tanggal (Date) dan waktu (Time) secara internal disimpan dalam
format yang spesifik

j. Tipe data Lain

1) Subrange
Tipe data subrange merupakan tipe data bilangan yang mempunyai jangkauan
nilai tertentu
2) Enumerasi.
Tipe data ini merupakan tipe data yang mempunyai elemen-elemen yang
harus disebut satu persatu

k. Tipe Composite (tipe data bentukan)

Merupakan sebuah tipe data bentukan yang terdiri dari dua atau lebih tipe data
primitive.Tipe data bentukan dalah tipe data yang didefinisikan oleh pemrogram (
user defined type). Tipe ini disusun olah satu atau lebih tipe dasar. Terdapat dua
macam tipe data bentukan yaitu : 1) Tipe dasar yang diberi nama dengan tipe
baru dan 2) Rekaman / record / tipe terstruktur
1) Tipe dasar yang diberi nama dengan tipe baru
Kadang-kadang pemrogram ingin memberi nama baru terhadap tipe
dasar yang sudah dikenal. Alasan pemberian nama tipe baru mungkin agar
nama baru tersebut lebih akrab atau user friendly dan lebih mudah
diinterprestasikan oleh orang yang membaca teks algoritma. Kita dapat
memberi nama baru untuk tipe dasar tersebut dengan kata kunci type
Contoh :
type Bilangan Bulat : integer{ Deklarasi tipe data }

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 10 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

var1 : Bilangan Bulat {Deklarasi variabel var1 bertipe Bilangan Bulat }


BilanganBulat adalah tipe tipe data yang bilangan bulat yang sama
dengan tipe integer. Apabila kita mempunyai sebuah variabel yang
bernama var1 dan bertipe Bilangan Bulat. Variabel var1 tersebut saja
bertipe integer
2) Rekaman / record / tipe terstruktur
Rekaman disusun oleh satu atau lebih filed. Tipe field menyimpan
data dari tipe dasar teretntu atau tipe bentukan lain yang sudah
didefinisikan sebelumnya. Nama rekaman ditentukan oleh programmer.
Karena strukturnya tersusun oleh field-filed maka rekaman dinamakan
juga tipe stuktur (structures type)
Field 1 Field 2 Field 3 ........ Filed n

Contoh 1 :
Mendeklarasikan tipe data bentukan untuk menampung data titik
koordinat kartesian yang mempunyai dua variabel, dinyatakan sebagai
(x,y), dengan x adalah nilai absis dalam arah sumbu X dan y adalah nilai
ordinat dalam arah sumbu Y. x dan y adalah anggota himpunan bilangan
real ( y dan x € R ).
x y
Deklarasi tipe data
Type titik : record < x : real, y : real>
Type titik : struct< x : integer, y : integer>
Dekalrasi variabel
Posisi1 : titik
Akses variabel :
Jika dideklarasikan variebel dengan nama posisi1 bertipe titik maka cara
untuk mengakses tiap field pada rekaman posisi1 adalah :
posisi1.x (mengacu ke filed x)
posisi1.y (mengacu ke field y)
Contoh 2 :

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 11 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

Mendeklarasikan tipe data bentukan yang menampung data nilai siswa


untuk suatu mata pelajaran (MP). Data yang disimpan adalah nomer
Induk siswa (NIS : integer), Nama siswa (NamaSiswa : string), kode
mata Pelajaran (KodeMP : string) dan nilai Huruf (Nilai : char)
NIM NamaSiswa KodeMK Nilai

Deklarasi tipe data


Type NilMhs : struct
< NIM : integer,
NamaMhs : char[30],
KodeMK : char[10],
Nilai : real,
>

B. Keterampilan yang diperlukan dalam Menggunakan metode


pengembangan program.

1. Mengidentifikasi ragam jenis tipe data dalam algoritma pemrograman


2. Mengidentifikasi variabel dalam algoritma pemrograman
3. Mengidentifikasi konstanta dalam dalam algoritma pemrograman

C. Sikap kerja yang diperlukan dalam menggunakan metode


pengembangan program.

Harus bersikap secara:


1. Cermat, tepat, teliti dan sesuai kebutuhannya dalam mengidentifikasi ragam
jenis tipe data dalam algoritma pemrograman.
2. Cermat, tepat, teliti dan sesuai kebutuhannya dalam mengidentifikasi
variabel dalam algoritma pemrograman.
3. Cermat, tepat, teliti dan sesuai kebutuhannya dalam mengidentifikasi
konstanta dalam dalam algoritma pemrograman.

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 12 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

BAB III
MEMBUAT ALUR LOGIKA PEMROGRAMAN

A. Pengetahuan yang diperlukan dalam membuat alur logika


pemrograman

1. Konsep Algoritma Pemrograman.

a. Definisi Algoritma

Istilah Algoritma (algorithm) berasal dari seorang ilmuan terkenal dari


Persia yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi
dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis kitab atau buku yang
berjudul Al Jabr Wal-Muqabala atau The book of restoration and reduction. Dari
buku tersebut diperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari
Algorism menjadi Algorithm muncul karena kata Algorism sering dikelirukan
dengan Arithmetic, sehingga akhiran –ism berubah menjadi –ithm.Karena
perhitungan dengan angka Arab sudah menjadi hal yang biasa. Maka lambat laun
kata Algorithm berangsur-angsur dipakai sebagai metode perhitungan
(komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam
Bahasa Indonesia, kata Algorithm diserap menjadi Algoritma. Semula Algorism
diartikan sebagai proses menghitung dengan angka Arab, sehingga seseorang
dikatakan sebagai Algorist jika orang tersebut menghitung dengan menggunakan
angka Arab.
“Algoritma merupakan suatu prosedur, urutan langkah-langkah atau
tahapan-tahapan sistematis, jelas dan logis untuk menyelesaikan permasalahan.”
(Microsoft Press,”Computer and Internet Dictionary”, 1998). Langkah logis dalam
Algoritma harus dapat ditentukan, bernilai salah atau benar. Algoritma
merupakan alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan
secara tertulis. (Moh Sjukani, “Algoritma dan Struktur Data dengan C, C++, dan
Java”).
Menurut wikipedia, algoritma adalah metode efektif, diekspresikan
sebagai rangkaian terbatas dari instruksi-instruksi yang telah didefinisikan dengan
baik, untuk menghitung sebuah fungsi. Algoritma dimulai dari sebuah kondisi awal
dan input awal (mungkin kosong). Instruksi menjelaskan sebuah komputasi. Jika

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 13 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

instruksi dieksekusi/diproses melalui sejumlah urutan kondisi yang terbatas dan


terdefinisi dengan baik, akan menghasilkan "keluaran" dan berhenti di kondisi
akhir. Dalam sistem komputer, algoritma pada dasarnya adalah instansiasi dari
logika yang ditulis menggunakan perangkat lunak oleh pengembang perangkat
lunak supaya efektif yang "ditargetkan" untuk komputer atau mesin tertentu dan
akan menghasilkan keluaran dari suatu masukan yang telah diberikan
(kemungkinan nul).
Dari beberapa definisi di atas dapat disimpulkan bahwa: 1) Algoritma
harus mengikuti suatu urutan aturan tertentu dan tidak boleh melompat-lompat.
2) Algoritma seseorang dengan yang lain dapat berbeda-beda karena mempunyai
alur pikir yang berbeda-beda pula, meskipun untuk menyelesaikan permasalahan
yang sama. 3) Langkah demi langkah secara eksak harus dapat memecahkan
suatu masalah. 4) Algoritma dapat diwujudkan berupa kalimat, gambar atau tabel
tertentu.

b. Aspek Penting dari Algoritma

Menurut Donald E. Knuth,(.......) algoritma harus mempunyai lima ciri penting,


yaitu:
1. Finiteness. Algoritma harus berhenti setelah mengerjakan sejumlah
langkah tertentu atau terbatas.
2. Definiteness. Setiap langkah harus didefinisikan secara tepat, tidak boleh
membingungkan (ambiguous)
3. Input. Sebuah algoritma memiliki nol atau lebih input yang diberikan
kepada algoritma sebelum dijalankan
4. Output. Sebuah algoritma memiliki satu atau lebih output, yang biasanya
bergantung kepada input.
5. Effectiveness. Setiap algoritma diharapkan miliki sifat efektif. Setiap
langkah harus sederhana sehingga dapat dikerjakan dalam sejumlah
waktu yang masuk akal.

c. Ragam Struktur Algoritma

Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-


langkah tersebut dapat berupa runtunan aksi (sequence), pemilihan aksi

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 14 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

(selection), pengulangan aksi (iteration atau looping) atau kombinasi dari


ketiganya. Struktur dasar penyajian algoritma dibedakan menjadi tiga, yaitu:
1. Struktur runtunan (sequence), struktur algoritma yang mempunyai
pernyataan pernyataan secara berurutan sequential.
2. Struktur pemilihan atau percabangan (selection), struktur algoritma
atau program yang menggunakan pemilihan atau penyeleksian kondisi.
3. Struktur perulangan, struktur algoritma atau program yang
pernyataannya akan dieksekusi berulang-ulang sampai kondisi tertentu.
Dalam Algoritma, tidak dipakai simbol-simbol atau sintaks dari suatu bahasa
pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada
suatu bahasa pemrograman apapun juga. Notasi-notasi algoritma dapat
digunakan untuk seluruh bahasa pemrograman manapun.

2. Metode Penyajian Algoritma

Penyajian algoritma secara garis besar dapat dibedakan menjadi dua


yaitu: 1) berbentuk Tulisan dan 2) berbentuk Gambar. Algoritma yang disajikan
dengan bentuk tulisan dapat menggunakan aturan bahasa natural (alami) atau
pseudocode. Bahasa natural menggunakan struktur bahasa tertentu (misalnya
struktur bahasa Indonesia atau bahasa Inggris). Pseudocode adalah kode-kode
tertentu dan mirip dengan kode bahasa pemrograman (misal Pascal, C, C++)
sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan
dikomunikasikan kepada pemrogram (programmer). Sedangkan algoritma yang
disajikan dengan gambar dalam bentuk diagram alur (flowchart) atau struktogram
(Nassi Schneiderman, .......).
Tidak ada aturan atau kaidah secara khusus bagaimana menuliskan
algoritma. Jika algoritma dianalogikan sebagai kotak hitam, maka setidaknya
terdapat tiga komponen dalam kotak hitam tersebut yaitu input (masukan, bahan
mentah), proses (instruksi atau aksi, reaksi) dan output (keluaran, bahan jadi).

Gambar : Komponen-Komponen Algoritma

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 15 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

a. Penyajian Algoritma menggunakan bahasa natural (alami)

Pernyataan di bawah ini menjelaskan contoh penulisan algoritma


menggunakan bahasa natural (sruktur bahasa indonesia) dengan struktur
runtunan yang menjelaskan suatu proses tertentu untuk menyelesaikan
permasalahan.
Rumusan permasalahan: bagaimana mengubah beras menjadi nasi.
Penyelesaian masalah: menggunakan alat bantu penanak nasi elektronik (rice
cooker).
Judul Algoritma: Menanak nasi menggunakan rice cooker.
Langkah-langkah (deskripsi) algoritma:
1. Mengambil/menyiapkan panci penanak nasi.
2. Masukkan beras ke panci.
3. Masukkan air ke panci.
4. Mencuci beras dengan bersih.
5. Membuang air pencuci dari panci.
6. Masukkan air untuk memask secukupnya.
7. Membersihkan/lap luar panci sampai kering.
8. Menutup ricecooker.
9. Menyambungkan kabel ricecooker ke stop kontak
10. Menekan tombol ON di ricecooker sehingga lampu bewarna merah (cook)
menyala.
11. Menunggu beberapa menit sampai lampu di ricecooker berubah bewarna
hijau (warm) yang artinya nasi sudah masak.
12. Nasi siap untuk dimakan.

b. Penyajian Algoritma menggunakan Pseudocode.

Pseudocode adalah salah satu cara untuk menggambarkan algoritma


dalam bentuk tulisan, menggunakan beberapa notasi tulisan (code) yang
menyerupai kode program dalam bahasa pemrograman. Tidak ada aturan baku
untuk menuliskanan algoritma menggunakan pseudocede. Setiap algoritma
setidaknya terdiri dari tiga bagian yaitu: 1. Judul (Header), 2. Kamus (Deklarasi),
3. Algoritma (Deskripsi). Pada setiap bagian apabila akan diberikan sebuah

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 16 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

komentar atau penjelasan maka komentar dituliskan di antara tanda kurung


kurawa contoh { Komentar }. Pernyataan atau notasi algoritmis yang dituliskan di
antara tanda kurawa tidak akan dieksekusi oleh program.
Judul adalah bagian teks algoritma yang digunakan sebagai tempat
mendefinisikan nama dengan menentukan apakah teks tersebut adalah program,
prosedur atau fungsi. Setelah judul disarankan untuk menuliskan spesifikasi
singkat dari teks algoritma tersebut. Nama algoritma sebaiknya singkat namun
cukup menggambarkan apa yang akan dilakukan oleh algoritma tersebut
Kamus adalah bagian teks algoritma sebagai tempat untuk mendefinisikan
beberapa hal antara lain: 1) Nama type data. 2) Nama konstanta. 3) Nama
variable. 4) Nama fungsi. 5) Nama prosedur.Algoritma (deskripsi) adalah bagian
inti dari suatu algoritma yang berisi instruksi atau pemanggilan aksi yang telah
didefinisikan
Contoh:

Keterangan:
• Judul (header) dalam algoritma di atas adalah: Program Luas_segiEmpat.
• Kamus: mendeklarasikan beberapa variabel panjang, lebar dan luas yang
masing-masing bertipe float.
• Pernyataan lebar: Integer 4 terdiri dari dua pernyataan yaitu: “lebar :
Integer“ merupakan deklarasi varibel lebar bertipe Integer dan “lebar  4“
merupakan inisialisasi atau pemberian nilai variabel lebar dengan 4
• Panjang  5 mengisi variabel panjang dengan 5
• Luas  panjang * lebar adalah menghitung panjang dikalikan lebar dan
menyimpannya ke variabel Luas.

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 17 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

• Pernyataan constant phi : real  3.14159 terdiri dari dua pernyataan constant
phi : real merupakan deklarasi variabel phi bertipe pecahan dan phi 
3.14159 merupakan pemberian nilai konstanta dengan nilai 3.14159
• write(......) adalah notasi algoritmis dalam pseudocode yang berfungsi untuk
menampilkan atau mencetak string atau isi variabel yang berada pada tanda (
...) ke layar piranti keluaran atau monitor. Notasi write(......) dapat pula
dituliskan dengan notasi output(.......)
Contoh2:

Contoh 3:

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 18 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

c. Penyajian Algoritma menggunakan flowchart


Flowchart adalah suatu metode untuk menggambarkan tahap-tahap
pemecahan masalah (algoritma) dengan merepresentasikan simbol-simbol
tertentu yang mudah dimengerti dan digunakan. Tujuan utama dari penggunaan
flowchart adalah untuk menggambarkan algoritma secara sederhana terurai, rapi
dan jelas.
Flowchart merupakan penggambaran secara grafik dari langkah-langkah
dan urut-urutan prosedur dari suatu program. Flowchart dapat membantu analist
system dan programmer untuk memecahkan masalah ke dalam segmen-segmen
yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam
pengoperasian. Flowchart biasanya mempermudah penyelesaian suatu masalah
khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut. Terdapat
beberapa jenis atau model dalam penulisan flowchart, yang biasa digunakan
antara lain adalah:
1. Flowchart Sistem (System Flowchart)
2. Flowchart Paperwork / Flowchart Dokumen (Document Flowchart)
3. Flowchart Skematik (Schematic Flowchart)
4. Flowchart Program (Program Flowchart)
5. Flowchart Proses (Process Flowchart)
1) Flowchart Sistem
Flowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa
yang sedang dikerjakan di dalam sistem secara keseluruhan dan menjelaskan
urutan dari prosedur-prosedur yang ada di dalam sistem. Dengan kata lain,
flowchart merupakan deskripsi secara grafik dari urutan prosedur-prosedur yang
terkombinasi yang membentuk suatu sistem.
Flowchart sistem terdiri dari data yang mengalir melalui sistem dan proses
yang mentransformasikan data itu. Data dan proses dalam flowchart sistem dapat
digambarkan secara online (dihubungkan langsung dengan komputer) atau offline
(tidak dihubungkan langsung dengan komputer, misalnya mesin ketik, cash
register atau kalkulator). Salah satu contoh system flowchart berikut digunakan
untuk merepresentasikan bagian-bagain dari perangkat komputer yang terdiri dari

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 19 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

keyboard sebagai unit input, monitor sebagai unit keluaran, CPU sebagai unit
pemroses dan disket sebagai unit penyimpan data.
2) Flowchart Paperwork/Flowchart Dokumen
Flowchart Paperwork adalah flowchart yang digunakan untuk menelusuri alur dari
data yang ditulis melalui sistem. Flowchart Paperwork sering disebut juga dengan
Flowchart Dokumen. Kegunaan utamanya adalah untuk menelusuri alur form dan
laporan sistem dari satu bagian ke bagian lain baik bagaimana alur form dan
laporan diproses, dicatat dan disimpan.
3) Flowchart Skematik
Flowchart Skematik mirip dengan Flowchart Sistem yang menggambarkan
suatu sistem atau prosedur. Flowchart Skematik ini bukan hanya menggunakan
simbol-simbol flowchart standar, tetapi juga menggunakan gambar-gambar
komputer, peripheral, form-form atau peralatan lain yang digunakan dalam
sistem.
Flowchart Skematik digunakan sebagai alat komunikasi antara analis sistem
dengan seseorang yang tidak familiar dengan simbol-simbol flowchart yang
konvensional. Pemakaian gambar sebagai ganti dari simbol-simbol flowchart akan
menghemat waktu yang dibutuhkan oleh seseorang untuk mempelajari simbol
abstrak sebelum dapat mengerti flowchart.
Gambar-gambar ini mengurangi kemungkinan salah pengertian tentang
sistem, hal ini disebabkan oleh ketidak-mengertian tentang simbol-simbol yang
digunakan. Gambar-gambar juga memudahkan pengamat untuk mengerti segala
sesuatu yang dimaksudkan oleh analis, sehingga hasilnya lebih menyenangkan
dan tanpa ada salah pengertian.
4) Flowchart Program
Flowchart Program dihasilkan dari Flowchart Sistem. Flowchart Program
merupakan keterangan yang lebih rinci tentang bagaimana setiap langkah
program atau prosedur sesungguhnya dilaksanakan. Flowchart ini menunjukkan
setiap langkah program atau prosedur dalam urutan yang tepat saat terjadi.
Programmer menggunakan flowchart program untuk menggambarkan urutan
instruksi dari program komputer. Analis Sistem menggunakan flowchart program
untuk menggambarkan urutan tugas-tugas pekerjaan dalam suatu prosedur atau

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 20 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

operasi. Untuk menggambarkan program flowchart ini dapat dibedakan menjadi


dua jenis atau model yaitu sebagai berikut :
1. Conceptual program flowchart, digunakan untuk menggambarkan alur
dari suatu pemecahan masalah secara global saja.
2. Detail program flowchart, digunakan untuk menggambarkan alur
pemecahan secara terperinci.
5) Flowchart Proses
Flowchart Proses merupakan teknik penggambaran rekayasa industrial
yang memecah dan menganalisis langkah-langkah selanjutnya dalam suatu
prosedur atau sistem. Flowchart Proses digunakan oleh perekayasa industrial
dalam mempelajari dan mengembangkan proses-proses manufacturing. Dalam
analisis sistem, flowchart ini digunakan secara efektif untuk menelusuri alur suatu
laporan atau form.

3. Komponen-komponen Flowchart Program

Terdapat beberapa hal yang harus diperhatikan agar algoritma mudah


ditranslasikan ke bahasa pemrograman, yaitu: 1) Dibutuhkan pendeklarasian
variabel agar data tidak tergantung pada nilai masukan. 2) Jika menggunakan
variabel perlu dipertimbangkan pemilihan tipe data. 3) Pemilihan instruksi yang
tepat karena beberapa instruksi mempunyai kegunaan yang sama tetapi memiliki
kelebihan dan kekurangan yang berbeda. 4) Aturan sintaksis dalam bahasa
pemrograman yang akan digunakan. 5) Tidak perlu memikirkan bagaimana
tampilan hasil disajikan.
Tabel Ragam Simbol yang sering dipakai dalam Program flowchart
Notasi/Simbol/Ko Nama Keterangan
mponen Notasi/Simbol

Terminal Point untuk memulai dan mengakhiri proses

Input-Output untuk memberikan nilai data dari perangkat


masukan atau menampilkan data ke perangkat
keluaran
Processing untuk melakukan proses atau instruksi.

Preparation untuk memberikan nilai awal variabel,menyiapkan

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 21 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

penyimpanan di dalam storage biasanya


menggunakan kode program)
Decision/keputusan untuk memilih proses atau keputusan berdasarkan
kondisi yang ada. Simbol ini biasanya ditemui pada
flowchart program
Predefined Process / untuk menunjukkan pelaksanaan suatu bagian
Simbol Proses prosedur (sub-proses). Dengan kata lain, prosedur
Terdefinisi yang terinformasi di sini belum detail dan akan dirinci
di tempat lain
Flow Direction Symbol untuk menghubungkan antara simbol yang satu
/ Simbol Arus dengan simbol yang lain (connecting line). Simbol ini
juga berfungsi untuk menunjukkan garis alir dari
proses.
Connector (On-page) untuk menyederhanakan hubungan antar simbol
yang letaknya berjauhan atau rumit bila dihubungkan
dengan garis dalam satu halaman
Connector (Off-page) Sama seperti on-page connector, untuk
menghubungkan simbol dalam halaman berbeda.
label dari simbol ini dapat menggunakan huruf atau
angka

4. Penerapan flowchart dengan struktur urut

Contoh1 (algritma dalam bentuk bahasa natural)


Rumusan masalah: Bagaimana menukar isi dua buah gelas A berisi teh dan gelas
B berisi kopi.
Penyelesaian masalah: membutuhkan satu gelas untuk menampung sementara.
Algoritma tukar isi gelas.
{Diberikan dua Gelas A dan B. GelasA berisi teh, gelas B berisi kopi. Tukarkan
kedua gelas tersebut sehingga gelas A berisi kopi dan gelas B berisi teh. Untuk
menyelesaikan masalah tersebut dibutuhkan gelas X untuk menampung
sementara larutan teh atau kopi}.
1. Mula-mula isi gelas A berisi teh, gelas B berisi kopi dan gelas X kosong
2. Tuangkan teh dari gelas A ke gelas X
3. Tuangkan kopi dari gelas B ke ke gelas A
4. Tuangkan teh dari gelas X ke Gelas B

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 22 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

5. Gelas A berisi kopi, gelas B berisi teh, dan gelas X kosong

Gambar…. flowchart tukar isi gelas a) label komponen menggunakan kalimat. b)


label komponen menggunakan notasi

5. Penerapan flowchart dengan struktur pemilihan

a. Struktur Pemilihan atau Percabangan Satu Kasus

Algoritma menggunakan -flowchart satu kasus ini hanya terdiri satu


ekspresi kondisi dan satu pernyataan atau instruksi (aksi). Notasi yang
digunakan untuk menyatakan struktur pemilihan satu kasus ini adalah satu
buah belah ketupat dengan satu buah masukan dan dua buah keluaran.
Sementara itu pernyataan atau instruksi yang akan dilakukan menempati
pada satu keluaran pemilihan yaitu untuk kondisi terpenuhi (hasil ekspresi
kondisi benar) atau kondisi tidak terpenuhi (hasil ekspresi kondisi salah).
Struktur flowchart satu kasus diperlihatkan dalam gambar dibawah ini :

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 23 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

Gambar …Struktur Pemilihan dengan Satu Kasus

“Kondisi” yang ada pada simbol belah ketupat merupakan ekspresi kondisi
yang terdiri dari operator yang meliputi: operator perbandingan (<, >, ==, …..),
logika (OR, AND…), operand dapat berupa variabel atau nilai variabel. Tabel
dibawah ini menjelaskan ragam contoh ekspresi kondisi:
Operand Operand Operator Ekspresi Hasil
1 2 kondisi keluaran
1 4 < 1<4 false
4 2 > 5>2 true
A=5 B=5 == A == B true

b. Struktur Pemilihan atau Percabangan Dua Kasus

Algoritma menggunakan Flowchart dua kasus ini hanya terdiri satu


ekspresi kondisi dan duapernyataan atau instruksi (aksi). Notasi yang
digunakan untuk menyatakan struktur pemilihan satu kasus ini adalah satu
buah belah ketupat dengan satu buah masukan dan dua buah keluaran.
Pernyataan atau instruksi yang akan dilakukan menempati pada dua
keluaran pemilihan yaitu satu pernyataan pada kondisi terpenuhi (hasil
ekspresi kondisi benar). Satu pernyataan lainnya menempati pada kondisi
tidak terpenuhi (hasil ekspresi kondisi salah). Pernyataan atau instruksi
yang akan dieksekusi tergantung dari data masukan dan hasil ekspresi
kondisi. Struktur flowchart dua kasus diperlihatkan dalam gambar dibawah
ini:

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 24 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

Gambar ...Struktur Pemilihan dengan Dua Kasus


Gambar di atas menjelaskan bahwa pernyataan 1 akan dieksekusi jika hasil
ekpresi kondisi bernilai true atau benar dan pernyataan 2 akan dieksekusi jika
hasil ekspresi kondisi bernilai false atau salah.
Contoh kasus: Tulislah algoritma untuk menentukan ketuntasan atau kelulusan
dari suatu nilai dengan nilaidimasukkan dari keyboard dan ketentuan sebagai
berikut:
Nilai Grade
< 60 “Maaf anda belum lulus“
>60 “Anda Lulus“

Gambar ….Flowchart Penentuan Kelulusan dengan Dua Grade


Gambar diatas menjelaskan flowchart yang digunakan untuk menentukan
kelulusan dengan kriteria jika nilai Grade < 60 maka algoritma akan menampilkan
”Maaf anda belum lulus.“ Jika nilai grade > 60 maka program akan
menampilkan ”Anda Lulus.“

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 25 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

c. Struktur Pemilihan atau Percabangan Tiga Kasus

Algoritma menggunakan Flowchart dengan tiga kasus ini terdiri dua


ekspresi kondisi dan tiga pernyataan atau instruksi (aksi). Notasi yang digunakan
untuk menyatakan struktur pemilihan tiga kasus ini adalah dua buah belah
ketupat dengan satu buah masukan pada satu kondisi 1, satu keluaran kondisi A
dan dua keluaran pada kondisi 2 tiga pertamadan dua buah keluaran. Masing-
masing keluaran memiliki satu pernyataan-pernyataan atau instruksi yang akan
dieksekusi tergantung dengan hasil ekspresi kondisi 1 dan 2. Struktur flowchart
tiga kasus diperlihatkan dalam gambar dibawah ini:

Gambar... Struktur Pemilihan dengan Tiga Kasus


Gambar diatas menjelaskan pernyataan 1 akan dieksekusi jika hasil ekpresi
kondisi 1 bernilai true atau benar. Pernyataan 2 akan dieksekusi jika hasil
ekspresi kondisi 1 bernilai false atau salah dan hasil ekspresi kondisi 2 bernilai
benar. Pernyataan 3 akan dieksekusi jika hasil ekspresi kondisi 1 bernilai false
atau salah dan hasil ekspresi kondisi 2 bernilai salah.
Contoh kasus: Tulislah algoritma untuk menentukan ketuntasan atau kelulusan
dari suatu nilai dengan nilai diinputkan dari keyboard dan ketentuan sebagai
berikut:
Nilai Grade
>90 ”Anda lulus dengan nilai sangat bagus“
60 – 90 “Anda Lulus dengan nilai cukup“
<60 ” Maaf anda belum lulus“

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 26 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

Gambar … Flowchart Penentuan Kelulusan dengan Tiga Grade


Gambar di atas menjelaskan flowchart yang digunakan untuk menentukan
kelulusan dengan kriteria jika nilai Grade > 90 maka algoritma akan
menampilkan ”Anda lulus dengan nilai sangat bagus.“ Jika nilai grade
antara 60 dan 90 maka program akan menampilkan ” Anda lulus dengan
nilai cukup.“ Jika nilai grade antara < 60 maka program akan menampilkan ”
maaf Anda belum lulus.“

6. Penerapan flowchart dengan struktur perulangan

a. Struktur perulangan mengunakan instruksi do .... while

Struktur perulangan digunakan untuk mengulang suatu perintah sebanyak


yang diinginkan tanpa harus menulis ulang. Instruksi perulangan yang umum
digunakan dalam bahasa pemrograman antara lain adalah: while, do-while, for.
Perintah while digunakan untuk mengulangi suatu perintah sampai kondisi
tertentu. Perulangan akan terus berjalan selama kondisi masih bernilai benar.
Perulangan akan berhenti jika kondisi ekspresi bernilai salah. Bedanya dengan
perintah do – while, untuk instruksi while kondisi akan dicek dahulu selanjutnya
pernyataan dikerjakan kemudian. Penulisan dengan notasi flowchartnya adalah
sebagai berikut :

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 27 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

Gambar ...Struktur flowchart menggunakan instruksi while

Gambar… Flowchart mencetak deret angka 1 sampai 9 menggunakan struktur


instruksi while

b. Struktur perulangan mengunakan instruksi do .... while


Sebagai mana instriksi while instruksi do-while merupakan proses
perulangan yang akan berjalan jika ekspresi-boolean masih bernilai benar dan
perulangan akan dihentikan jika kondisinya sudah bernilai salah. Perbedaannya
dengan instruksi while adalah terletak pada kondisi yang diperiksa, yaitu :
• Pada perintah while, kondisi yang diperiksa terletak diawal perulangan,
sehingga sebelum masuk ke dalam perulangan while kondisi harus bernilai
benar.

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 28 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

• Sedangkan pada perintah do … while, kondisi diperiksa di akhir perulangan.


Ini berarti bahwa paling sedikit sebuah perulangan akan dilakukan oleh
perintah do … while, karena untuk masuk ke dalam perulangan tidak ada
kondisi yang harus dipenuhi.

Gambar... Struktur flowchart menggunakan instruksi do...while

Gambar ….Flowchart mencetak deret angka 1 sampai 9 menggunakan struktur


instruksi do … while

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 29 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

c. Struktur perulangan mengunakan instruksi for


Struktur perulangan menggunakan for digunakan untuk mengulangi
perintah dengan jumlah perulangan yang sudah diketahui. Pada flowchart dengan
struktur ini ini perlu dituliskan nilai awal dari variabel, suatu kondisi untuk diuji
yang berupa ekspresi boolean, dan dan perintah yang dipakai untuk penghitung
(counter). Nilai variabel penghitung akan secara otomatis bertambah atau
berkurang tiap kali sebuah perulangan dilaksanakan tergantung perintah yang
akan diberikan.

Gambar .... Struktur flowchart menggunakan instruksi for

Gambar …. Flowchart mencetak deret angka 1 sampai 9 menggunakan struktur


instruksi for

d. Struktur perulangan dalam perulangan.


Didalam suatu perulangan bisa terdapat perulangan yang lain. Suatu
struktur Perualangan (inner loop) yang terdapat dalam perulangan lainnya (outer

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 30 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

loop) ini sering disebut dengan istilah nested loop. Salah satu contoh penerapan
algoritma nested loop adalah algoritma untuk tabel perkalian sebagai berikut :
Tabel 1. Tabel perkalian bilangan
1 2 3 4 5 6 7 8
1 1 2 3 4 5 6 7 8
2 2 4 6 8 10 12 14 16
3 3 3 9 12 15 18 21 24
4 4 8 12 16 20 24 28 32
5 5 10 15 20 25 30 35 40
6 6 12 18 24 30 36 42 48
7 7 14 21 28 35 42 49 56
8 8 16 24 32 40 48 56 64

Mulai

baris, kolom, hasil_kali : integer

baris = 1, baris <=8

kolom = 1, kolom <=8

True

hasil_kali = baris * kolom

Cetak hasil kali


False

Cetak

kolom = kolom + 1

Pindah baris

baris = baris + 1

Selesai

Gambar ….Flowchart mencetak tabel perkalian 1 sampai 8

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 31 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

B. Keterampilan yang diperlukan dalam menggunakan diagram program


dan deskripsi program

1 Mengidentifikasi/menganalisis ragam jenis metode pembuatan alur


pemrograman
2 mengidentifikasi/menenentukan komponen-komponen penyusun alur logika
pemrograman
3 mengIdentifikasi/menetapkan relasi komponen penyusun alur logika
pemrograman.
4 mengidentifikasi/menetapkan alur mulai dan selesai logika pemrograman.

C. Sikap kerja yang diperlukan dalam menggunakan diagram program dan


deskripsi program

Harus bersikap secara:


1. Harus cermat, tepat, teliti dan sesuai dengan kebutuhan yang telah ditentukan
dalam mengidentifikasi/menganalisis ragam jenis metode pembuatan alur
pemrograman
2. Harus cermat, tepat teliti sesuai dengan kebutuhan yang telah ditentukan
dalam mengidentifikasi/menenentukan komponen-komponen penyusun alur
logika pemrograman
3. Harus cermat, tepat teliti sesuai dengan kebutuhan yang ditentukan dalam
mengidentifikasi/menetapkan relasi komponen penyusun alur logika
pemrograman.
4. Harus cermat, tepat teliti sesuai dengan kebutuhan yang ditentukan dalam
mengidentifikasi/menetapkan alur mulai dan selesai logika pemrograman

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 32 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

BAB IV
MENERAPKAN TEKNIKDASAR ALGORITMA UMUM

A. Pengetahuan yang diperlukan dalam menerapkan teknik dasar


algoritma umum

1. Algoritma Pengurutan Data (Sorting)

Pengurutan (sorting) adalah proses mangatur sekumpulan obyek menurut


urutan atau susunan tertentu. Urutan obyek tersebut dapat manaik (ascending)
atau menurun (descending). Bila N buah obyek atau data disimpan dalam larik L
maka pengurutan menaik berarti menyusun elemen larik sedemikian sehingga :
L[1]<=L[2]<=L[3]…<=L[n]
Sedangkan pengurutan menurun berarti menyusun elemen larik sedemikian
hingga
L[1]>=L[2]>=L[3]…>=L[n]
Data yang diurutkan dapat berupa data tipe dasar atau tipe rekaman. Jika
data bertipe rekaman maka harus dijelaskan berdasarkan field apa data tersebut
diurutkan. Field yang dijadikan dasar pengurutan dikenal sebagai fieldkey.
Berdasarkan media pengurutannya sorting dibedakan menjadi :
1. Pengurutan internal : yaitu pengurutan terhadap sekumpulan data yang
disimpan di dalam memori utama komputer. Umumnya struktur internal
yang dipakai pada pengurutan internal adalah larik sehingga pengurutan
internal dikenal juga sebagai pengurutan larik.
2. Pengurutan eksternal : yaitu pengurutan yang disimpan di dalam memori
sekunder, biasanya data berukuran besar sehingga tidakmampu dimuat
semuanya dalam memorikomputer. Model ini disebut juga sebagai
pengurutan arsip (file) karena struktur eksternal yang dipakai adalah arsip.
Berdasakan algoritmanya dikenal beberapa metoda sorting yaitu :1) Bubble sort,
2) Selection sort (maximumsort dan minimum sort), 3) Insertion sort, 4) Quick
short, 5) Merge sort, 6) Heap sort, 7) Shell short, 8) Radix sort, 9) Tree sort

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 33 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

a. Pengurutan Gelembung (bubble sort)

Pengurutan gelembung ini diinspirasikan oleh gelembung sabun yang berada di


atas permukaan air. Karena berat jenis gelembung sabun lebih ringan dari berat
jenis air maka gelembung sabun tersebut akan terapung ke atas dan benda-
benda yang berat akan terbenam.
Prinsip pengurutan ini adalah : jika menginginkan terurut naik maka
elemen larik yang berharga paling kecil diapungkan atau diangkat ke atas atau
digeser ke ujung paling kiri melaluiproses pertukaran. Proses pertukaran ini
dilakukan sebanyak N-1 langkah (pass) dengan N adalah ukuran larik. Pada setiap
langkah larik L[1..N] akan terdiri atas dua bagian yang terurut yaitu L[1..I] dan
dua bagian yang belumterurut L[I+1..N]
1 I I+1
N
Sudah terurut Belum terurut

Pada algoritma pengurutan gelembung akan dibandingkan elemen


sekarang dengan elemen berikutnya. Pada pengurutan naik Jika elemen sekarang
lebih besar dari elemen berikutnya maka data akan ditukar sehingga data yang
paling kecil berada di sebelah kiri atau atas. Begitu seterusnya sampai data
terurut seluruhnya. Pengecekan atau pertukaran data dapat dimulai dari data
yang paling awal atau paling akhir.
Contoh :
Pengurutan 6 buah data secara naik (ascending) pada suatu larik yang dimulai
dari data paling akhir:
22 10 15 3 8 2

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 34 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

Langkah-langkah Pengurutan naik menggunakan metode bubble sort

Gambar algoritma (pseudoce) pengurutan naik metoda bubble soft

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 35 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

b. Pengurutan pilih (selection sort)

Prinsip pengurutan pilih adalah memilih elemen maksimum (pengurutan


ascending) atau minimum (pengurutan descending) dari suatu larik kemudian
menempatkan elemen maksimum/minimum tersebut pada awal (ascending) atau
akhir (descending) dari larik. Selanjutnya elemen terujung tersebut diisolasi dan
tidak disertakan pada proses selanjutnya. Proses yang sama diulang untuk
elemen larik yang tersisa yakni dengan memilih elemen maksimum/minimum
berikutnya dan mempertukarkan dengan elemen terujung larik sisa.
Ditinjau dari pemilihan eleman maksimum/minimum pengurutan pilih dibedakan
menjadi 2 varian yaitu :
1. Algoritma pengurutan pilih maksimum : memilih eleman maksium sebagai
baisi pengurutan.
2. Algoritma pengurutan pilih Minimum : memilih elmen minimum sebagai
basis pengurutan

Contoh: pengurutan data manaik menggunakan metode maximum selection sort

Langkah 1.
Cari elemen maksimum dalam larik L[1..6] diperoleh nilai Maks → L[5] = 76
Tukar maks (L[5] dengan L[6], sehinga diperoleh :
29 27 10 8 21 76
1 2 3 4 5 6

Langkah 2
Berdasarkan susunan larik hasil langkah 1
Cari elemen maksimum dalam larik L[1..5]
Maks → L[1] = 29
Tukar maks (L[1]) dengan L[5], diperoleh :
21 27 10 8 29 76

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 36 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

1 2 3 4 5 6

Langkah 3
Berdasarkan susunan larik hasil langkah 2
Cari elemen maksimum dalam larik L[1..4] diperoleh nilai Maks → L[2] = 27
Tukar maks (L[2]) dengan L[4], diperoleh :
21 8 10 27 29 76
1 2 3 4 5 6

Langkah 4
Berdasarkan susunan larik hasil langkah 3
Cari elemen maksimum dalam larik L[1..3] diperoleh nilai Maks → L[1] = 21
Tukar maks (L[1]) dengan L[3], diperoleh :
10 8 21 27 29 76
1 2 3 4 5 6

Langkah 5
Berdasarkan susunan larik hasil langkah 4
Cari elemen maksimum dalam larik L[1..2] diperoleh nilai Maks → L[1] = 10
Tukar maks (L[1]) dengan L[2], diperoleh :
8 10 21 27 29 76
1 2 3 4 5 6

Selesai. Larik L: sudah terurut menaik

Contoh : Pengurutan data secara menurun (descending) menggunakan selection


sort
29 27 10 8 76 21
1 2 3 4 5 6

Imaks I j j
m
a
Judul Modul: Instruksi Dasar
k Pemrograman Berorientasi Obyek
Buku Informasi – Versi 2018 Halaman: 37 dari 71
s
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

Langkah 1.
Cari elemen maksimum dalam larik L[1..6] diperoleh nilai Imaks = 5→ L[Imaks] =
76
Tukar L[Imaks] dengan L[1], diperoleh :
76 27 10 8 29 21
1 2 3 4 5 6

Langkah 2.
{Berdasarkan susunan larik hail langkah 1 )
Cari elemen maksimum dalam larik L[2..6] diperoleh nilai Imaks = 5→ L[Imaks] =
29
Tukar L[Imaks] dengan L[2], diperoleh :
76 29 10 8 27 21
1 2 3 4 5 6
Langkah 3.
{Berdasarkan susunan larik hail langkah 2 )
Cari elemen maksimum dalam larik L[3...6] diperoleh nilai Imaks = 5→ L[Imaks]
= 27
Tukar L[Imaks] dengan L[3], diperoleh :
76 29 27 8 10 21
1 2 3 4 5 6

Langkah 4.
{Berdasarkan susunan larik hail langkah 3 )
Cari elemen maksimum dalam larik L[4...6] diperoleh nilai Imaks = 6→ L[Imaks]
= 21
Tukar L[Imaks] dengan L[4], diperoleh :
76 29 27 21 10 8
1 2 3 4 5 6

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 38 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

Langkah 5.
Berdasarkan susunan larik hail langkah 4 )
Cari elemen maksimum dalam larik L[4...6] diperoleh nilai Imaks = 5→ L[Imaks]
= 10
Tukar L[Imaks] dengan L[5], sebenarnya tidak perlu dilakukan sebab 10 sudah
berada pada posisi yang tepat, diperoleh :
76 29 27 21 10 8
1 2 3 4 5 6
Selesai, larik L sudah terurut menaik.

2. Algoritma Pencarian Data (searching)

Pencarian (searching) merupakan proses yang fundamental dalam


pemrograman. Proses pencarian adalah menemukan data atau nilai tertentu di
dalam sekumpulan nilai yang bertipe sama (tipe dasar atau tipe bentukan).
Terdapat beberapa macam metoda algoritma pencarian di antaranya adalah :
1. Pencarian berurutan (sequenctial search)
2. Pencarian bagidua (binary search)
Dalam proses pencarian biasanya data tersimpan dalam suatu variable
array atau larik. Sebelum kegiatan proses pencarian, terlebih dahulu dilakukan
definisi terhadap persoalan pencarian dalam larik. Di bawah ini diberikan contoh
pendefinisian persoalan pencarian dalam array.
Suatu variable array L yang sudah terdefinisi elemen-elemennya. X adalah
elemen yang bertipe sama dengan array L. Carilah apakah X terdapat didalam
larik L. Hasil atau keluaran dari persoalan pencarian dapat bermacam-macam
tergantung dari kebutuhan yang diinginkan : misalnya.
1. Memberikan pesan bahwa x ditemukan didalam larik L. Misalnya :
Write( X, ‘ditemukan.. !’) atau
Write( X, ‘Tidak ditemukan… !’)
2. Menggunakan Indeks elemen larik.

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 39 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

Jika X ditemukan maka simpan indeks larik tempat X ditemukan ke dalam


variable IDX. Jika X tidak terdapat didalamlarik L maka IDX diisi dengan
harga nol (0)
Contoh :

Misalkan X =68, maka IDX = 7 dan bila X = 100 maka IDX = 0


Untuk keputusan hasil pencarian kita dapat menuliskan :
If IDX  0 then
Write( X, ‘tidak ditemukan.. !’)
Else
Write( X, ‘ditemukan.. pada elemen ke-’, IDX)
Endif
3. Menggunakan Variable Boolean
Jika X ditemukan maka sebuah variable bertipe Boolean, misalnya :
“ketemu” diisi dengan true, sebaliknya “ketemu” diisi dengan false jika X
tidak ditemukan
Contoh ;
Misalkan X = 69 maka ketemu = true dan bila X = 100 maka ketemu =
false
Untuk keputusan hasil pencarian kita dapat menuliskan :
If ketemu the { ketemu = true }
Write( X, ‘ditemukan.. !’)
Else
Write( X, ‘tidak ditemukan.. !’)
Endif

a. Pencarian beruntun

Pada dasarnya pencarian beruntun adalah proses membandingkan setiap


eleman larik satu persatu secara berurutan. Pencarian dimulai dari elemen
pertama sampai seluruh elemen sudah diperiksa atau ditemukan.
Contoh berikut menjelaskan proses pencarian data untuk mendapatkan
hasil dengan menggunakan referensi indeks larik tempat x berada.

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 40 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

Algoritma berikut menjelaskan pencarian data beruntun dimana untuk


mendapatkan hasil menggunakan referensi indeks larik tempat x berada dan
variable Boolean (true) yang menyatakan data ditemukan dan false untuk data
tidak ditemukan

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 41 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

b. Pencarian Bagi dua (Binary search)

Pencarian bagidua ataupencarian binary search adalah metode pencarian


yang diterapkan pada sekumpulan data yang sudah terurut baik terurut naik atau
turun. Metoda ini digunakan untuk kebutuhan pencarian dengan waktu yang
cepat. Prinsip pencarian bagidua ialah dengan membagi data menjadi dua bagian
kiri dan kanan. Jika data ada disebelah kiri maka tidak memerlukan pencarian
disebelah kanan. Kalau data masih banyak maka dapat dilakukan pembelahan
lagi begitu seterusnya sampai data ditemukan.
Misalnya untuk data yang telah terurut menurun, selama proses pencarian
memerlukan dua buah indexs larik yaitu indeks terkecil (ujung kiri larik) dan
indeks terbesar (ujung kanan larik). Kanan dan kiri dinyatakan dengan
membayangkan elemen terlentang secara horizontal. Algoritma pencarian data
menggunakan metodebagi dua adalah sebagai berikut :
1. Misalkan indeks kiri adalah i dan indeks kanan adalah j, mulamula i=0, j=N.
2. Langkah1 : bagi dua elemen larik pada elemen tengah. Elemen tengah
adalah elemen dengan indeks k =(i+j) div 2. Elemen tengah L[k],membagi
larik menjadi dua bagian yaitu bagian kiri L[i … j] dan bagian kanan L[k+1 …
j]
3. Langkah 2 : periksa apakah L[k]= X. jika sama maka pencarian dihentikan
berarti data X yang dicari sudah ditemukan. Jika L[k] tidak sama dengan X
makaharus ditentukan apakah pencarian akan dilakukan dilarik bagian kiri
atau bagian kanan. Jika L[k] < X maka pencarian disebelah kiri. Sebaliknya
jika L[k] > X maka pencarian disebelah kanan.
4. Langkah 3. ulangi langkah 1 sampai X ditemukan atau i > j (ukuran larik
sudah nol)
Contoh :
Diketahui sebuah larik L dengan 8 buah data seperti berikut:
81 76 21 18 16 13 10 7

I=1 2 3 4 5 6 7 J=8
Misalkan data yang dicari adalah x = 18

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 42 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

Langkah 1 :
I =1, j=8
Indeks elemen tengah k = (1 + 8) div 2 = 4 diarsir
81 76 21 18 16 13 10 7

I=1 2 3 4 5 6 7 J=8
Kiri Kanan

Langkah 2 :
Apakah L[4] = 18 ya ( x ditemukan maka pencarian dihentikan)

Misalkan elemen yang dicari x = 16


Langkah 1
I =1, j=8
Indeks elemen tengah k = (1 + 8) div 2 = 4 diarsir
81 76 21 18 16 13 10 7

I=1 2 3 4 5 6 7 J=8
Kiri Kanan

Langkah 2 :
Apakah L[4] = 16 tidak ? harus diputuskan apakah pencarian akan dilakukan
disebelah kiri atau dibagian kanan dengan pemeriksaan sebagai berikut :
L[4] > 16 ? ya, maka lakukan pencarian pada larik sebelah kanan dengan I = k +
1=5 dan j =8 (tetap)
16 13 10 7

5 6 7 J=8
Kanan

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 43 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

Langkah 1’
I=5, j =8
Indeks elemen tengah k = (5 + 8) DIV 2 = 6 (diarsir)
16 13 10 7

5 6 7 J=8
kiri kanan
Langkah 2’:
L[6] = 16 ? tidak . harus diputuskan pencarian disebelah kanan atau kiri
L[6] > 16 ? tidak ,lakukan pencarian disebelah kiri dengan I = 5 (tetap) dan j = k
-1 = 5

Langkah 1’’ : dengan I = 5, j =5 maka


Indeks elemen tengah = k = 5 + 5 DIV 2 = 5

16

5
kiri
Langkah 2’’ :
L[5] = 16 ? ya ( x ditemukan pencarian dihentikan)

Misalnya elemen yang akan dicari adalah 100


Langkah 1
I =1, j=8
Indeks elemen tengah k = (1 + 8) div 2 = 4 diarsir
81 76 21 18 16 13 10 7

I=1 2 3 4 5 6 7 J=8
kiri Kanan

Langkah 2 :
Apakah L[4] = 100 tidak ? harus diputuskan apakah pencarian akan dilakukan
disebelah kiri atau dibagian kanan dengan pemeriksaan sebagai berikut :

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 44 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

L[4] > 100 ? tidak,


lakukan pencarian pada larik sebelah kiri dengan i=1 (tetap) dan j= k-1=3
81 76 21

I=1 2 3=j
Kiri

Langkah 1’:
i=1 j=3
indeks elemen tengah k = (1+3) DIV 2 = 2 (diarsir)
81 76 21

I=1 2 3=j
Kiri

Langkah 2’
L[2] = 100 ? tidak . harus diputuskan pencarian disebelah kanan atau kiri
L[6] > 100 ? tidak ,lakukan pencarian disebelah kiri dengan I = 1 (tetap) dan j =
k -1 = 2 – 1 = 1
81

I=1

Langkah 1’’
i=1, j=1
indeks elemen tengah k = 1 + 1 DIV 2 = 2 DIV 2 = 1
81

I=1

Langkah 2’’
L[1] = 100 ? tidak
Harus diputuskan apakah pencarian akan dilakukan disebelah kiri atau
kanandengan pemeriksaan sebagai berikut :
L[1] > 100 ? tidak
Lakukan pencarian pada larik baigian kiri dengan i=1 dan j=k-1 = 1-1 =0

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 45 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

Karena I > j maka tidakada bagian larik yang tersisa, dengan demikian x tidak
ditemukan didalam larik dan proses pencarian dihentikan.

Algoritma pencarian menggunakan indexs larik


DEKLARASI
const Nmaks  100
type larik : array [1..Nmaks] of integer
x, Jumdata , i, ,j,IDX : integer
A : larik
Ketemu : boolean
DISKRIPSI
Write(‘Masukkan jumlah data : ‘, Jumdata); Read(Jumdata);
For i 1 to Jumdata do
Write(‘masukkan data ke-‘, i); read(A[i]);
Endfor
Write(‘masukkan data yang akan dicari = ‘); read(x)
i=1;
j=jumdata;
ketemu=false;
While (not ketemu) and (i<=j)) do
k(i+j) div 2
if (L[k] = x) then
ketemu  true
else
if ( L[k] > x ) then
ik+1
else
jk-1
endif
endif
endwhile
If ketemu then
IDX = k
Else
IDX = 0
endif
If IDX  0 then
Write(‘data tidak ditemukan ... !’);
Else
Write(‘data yang dicari = %d, tidak ditemukan.. !’, A[k]);
endif

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 46 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

B. Keterampilan yang diperlukan dalam Menerapkan hasil pemodelan ke


dalam pengembangan program

1. Membuat algoritma pengurutan data (sorting)


2. Membuat algoritma pencarian data (searching)

C. Sikap kerja yang diperlukan dalam Menerapkan hasil pemodelan ke


dalam pengembangan program

Harus bersikap secara:


1. Cermat, tepat, teliti dan sesui dengan spesifikasi kebutuhan dalammembuat
algoritma pengurutan data (sorting)
2. Cermat, tepat, teliti dan sesui dengan spesifikasi kebutuhan dalammembuat
algoritma pengurutan data (sorting)

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 47 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

BAB V
MENGGUNAKAN PROSEDUR DAN FUNGSI

A. Pengetahuan yang diperlukan dalam Menggunakan prosedur dan fungsi.

1. Konsep dasar Prosedur dan Fungsi

Sering kali dalam membuat algoritma dan program yang besar,


programmer perlu memecah program tersebut menjadi beberapa program bagian
(sub program /modul) yang lebih kecil. Tiap sub program kadangkala cukup
independent dari program utama sehingga programnya dapat dirancang tanpa
mempertimbangkan konteks tempat yang digunakan. Modul yang dibuat oleh
programmer ini dapat dipasang ke program lain yang membutuhkannya
(reusable). Teknik pemrograman ini disebut Teknik pemrograman moduler.
Keuntungan teknik pemrograman moduler :
1. untuk aktifitas yang harus dilakukan lebih dari satu kali modularisasi
2. menghindari penulisan teks program yang sama secara berulang
3. penggunaan modul program dapat mengurangi panjang program
Dalam beberapa bahasa pemrograman program bagian atau modul ini
dikenal dengan beberapa istilah seperti rutin, sub rutin, prosedur atau fungsi.
Pada dasarnya modul adalah sebuah kotak hitam yang memiliki beberapa
masukan atau tanpa masukan, mengerjakan suatu proses yang hasilnya akan
ditampilkan di piranti keluaran. Ada tiga kemungkinan pada sebuah modul yaitu :
1. Modul tidak memiliki parameter masukan (nilai masukan )
2. Modul memiliki parameter masukan tapi tidak mempunyai nilai yang
dikembalikan (return value). Modul ini dikenal dengan nama prosedure
3. Modul mempunyai parameter masukan dan nilai pengembalian (return
value). Modul ini dikenal dengan nama fungsi.

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 48 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

Gambar Struktur modul dalam konsep pemrograman Modular

Gambar …. Blok Diagram ( a ) Prosedur dan ( b ) fungsi

2. Prosedure

Prosedur adalah program yang mengerjakan tugas/aktifitas yang spesifik


dan menghasilkan suatu efek netto. Dalam beberapa bahasa pemrograman
prosedur sering diistilahkan dengan subroutin. Suatu efek netto diketahui dengan
membandingkan keaadan awal dan keadaan akhir pada pelaksanaan sebuah
prosedur. Oleh karena itu prosedur harus mendefinisikan dua hal yaitu :
1. keaadan awal (K.Awal) yaitu kondisi sebelum rangkaian instruksi
dilaksanaakan
2. keaadaan akhir (K.Akhir) kondisi yang diharapkan setelah rangkaian
instruksi dilaksanakan
Penulisan algoritma yang mendefinisikan prosedur sama persis dengan penulisan
algoritma pada umumnya. Gambar berikut menjelaskan format penulisan
algoritma dalam prosedur.

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 49 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

Gambar struktur penulisan algoritma prosedur


contoh1 : prosedur tanpa paramater
Tulislah algoritma program utama dan prosedur untuk menghitung luas segitiga
dengan rumus L = (alas X tinggi) / 2

contoh 2 : prosedure dengan parameter masukan


Tuislah algoritma untuk menghitung luas segitiga dengan variabel alas dan tinggi
dimasukkan dari keybord

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 50 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 51 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

3. Fungsi (function)

Prosedure fungsi merupakan modul program yang mempunyai tujuan


spesifik. Bedanya dengan prosedur, fungsi adalah modul program yang
memberikan atau mengembalikan (return) sebuah nilai daritipe data tertentu (tipe
dasar atau bentukan). Di dalam bahasa pemrograman C, C++ tidakmengenal
istilah prosedur. Prosedur dan fungsi diartikan sama sebagai function. Dengan
demikian dalam bahasa pemrograman C, C++ dikenal:
1. function yang tidak mempunyai return value disebut void function
2. function yang mempunyai return value
Definisi fungsi di dalam program bersesuaian dengan definisi fungsi di dalam
matematika
1. f(X) = 2x2 + 5x -8
2. H(x,y) = 3x – y + xy
Pada contoh diatas f dan H adalah nama fungsi sedangkan x dan y adalah
parameter fungsi yang bersangkutan nilai yang diberikan oleh fungsi bergantung
pada parameter masukan contoh :
1. X=2, maka f(2) = 2.22 + 5.2 -8 = 10
2. X=1, y=2, maka H(1,2) = 3.1 -2 + 1.2 = 3
Nilai f(2) = 10 dan nilai H(1,2) = 3 nilai 10 dan 3 tersebut adalah nilaiyang
diberikan (return value) oleh masing-masing fungsi f dan fungsi H
Adapun notasi untuk mendefinisakan fungsi adalah sebagai berikut :

Fungsi diakses dengan cara memanggil namanya dari program pemanggil diikuti
dengan parameter aktual (bila ada). Karena fungsi menghasilkan nilai maka nilai

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 52 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

tersebut dapat ditampung dalam sebuah variabel yang bertipe sama dengan tipe
fungsi. Beberapa cara untuk memanggil fungsi :
1. nama_variabel  namaFungsi(daftar parameter aktual);
2. write(nama_fungsi(daftar parameter aktual))
3. if nama_fungsi(daftar parameter aktual) < 0 then ......
4. z  2*nama_fungsi(dafatar parameter aktual) – x + y;

contoh : algoritma mengitung luas segitiga menggunakan fungsi:

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 53 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

B. Keterampilan yang diperlukan dalam Menerapkan hasil pemodelan ke


dalam pengembangan program

1. Mengidentifikasi penggunaaan kembali prosedur dan fungsi


2. Menggunakan prosedur
3. Menggunakan fungsi.

C. Sikap kerja yang diperlukan dalam Menerapkan hasil pemodelan ke


dalam pengembangan program

Harus bersikap secara:


1. Cermat, tepat, teliti dan sesui dengan spesifikasi kebutuhan
dalamMengidentifikasi penggunaaan kembali prosedur dan fungsi
2. Cermat, tepat, teliti dan sesui dengan spesifikasi kebutuhan
dalamMenggunakan prosedur
3. Cermat, tepat, teliti dan sesui dengan spesifikasi kebutuhan
dalamMenggunakan fungsi

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 54 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

BAB IV
MENGIDENTIFIKASIKAN KOMPLEKSITAS ALGORITMA

A. Pengetahuan yang diperlukan dalam mengidentifikasikan kompleksitas


algoritma

1. Kompleksitas Algoritma

Sebuah algoritma tidak saja harus menghasilkan keluaran yang benar, tetapi
juga harus mangkus (efisien). Kebenaran suatu algoritma harus diuji dengan
jumlah masukan tertentu untuk melihat kinerja algoritma berupa waktu yang
diperlukan untuk menjalankan algoritmanya dan ruang memori yang diperlukan
untuk struktur datanya.
Algoritma yang bagus adalah algoritma yang mangkus (efisien).
Kemangkusan algoritma diukur dari berapa jumlah waktu dan ruang memori yang
dibutuhkan untuk menjalankan algoritma tersebut. Algoritma yang mangkus
adalah algoritma yang meminimumkan kebutuhan waktu dan ruang.
Implementasi sebuah algoritma dapat dikatakan baik atau efisien adalah
memerlukan kriteria formal yang digunakan untuk menilai algoritma tersebut yaitu
kemangkusan algoritma dengan kompleksitasnya. Besaran yang dipakai untuk
menerangkan model penilaian waktu/ruang algoritma adalah dengan
menggunakan kompleksitas algoritma. Ada dua macam kompleksitas algoritma,
yaitu kompleksitas waktu dan kompleksitas ruang.

2. Kompleksitas waktu

Kompleksitas waktu dari algoritma adalah mengukur jumlah perhitungan


(komputasi) yang dikerjakan oleh komputer ketika menyelesaikan suatu masalah
dengan menggunakan algoritma. Ukuran yang dimaksud mengacu ke jumlah
langkah-langkah perhitungan dan waktu tempuh pemrosesan. Kompleksitas
waktu merupakan hal penting untuk mengukur efisiensi suatu algoritma.
Kompleksitas waktu dari suatu algoritma yang terukur sebagai suatu fungsi
ukuran masalah.
Kompleksitas waktu (T(n)dari algoritma berisi ekspresi bilangan dan jumlah
langkah yang dibutuhkan sebagai fungsi dari ukuran masukan permasalahan.

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 55 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

Kompleksitas waktu diukur dari jumlah tahapan komputasi yang dibutuhkan untuk
menjalankan algoritma sebagai fungsi dari ukuran masukan n. Kompleksitas
ruang berkaitan dengan sistem memori yang dibutuhkan dalam eksekusi program.
Kompleksitas ruang diukur dari memori yang digunakan oleh struktur data yang
terdapat di dalam algoritma sebagai fungsi dari ukuran masukan n.Pada tabel di
bawah diperlihatkan kelompok algoritma berdasarkan kompleksitas waktu
asimptotiknya.
Tabel
Kelompok Algoritma Nama

O(1) Konstan

O(log n) Logaritmik

O(n) Linear

O(n log n) n log n

O(n2) Kuadratik

O(n3) Kubik

O(2n) Eksponensial

O(n!) Faktorial

Berdasarkan tabel di atas, maka dapat digambarkan grafik kelompok


algoritma dengan kompleksitas waktu asimptotiknya seperti yang terlihat pada
gambar berikut:

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 56 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

Gambar
Kebutuhan waktu dan ruang suatu algoritma bergantung pada ukuran
masukan, yang secara khas adalah jumlah data yang diproses. Ukuran masukan
itu disimbolkan dengan n. Setelah menetapkan ukuran masukan, maka langkah
selanjutnya dalam mengukur kompleksitas waktu adalah menghitung banyaknya
operasi yang dilakukan algoritma sehingga didapatkan notasi kompleksitas
waktunya dalam fungsi n yaitu f(n).
Untuk mengukur kebutuhan waktu sebuah algoritma yaitu dengan
mengeksekusi langsung algoritma tersebut pada sebuah komputer, lalu dihitung
berapa lama durasi waktu yang dibutuhkan untuk menyelesaikan sebuah
persoalan dengan n yang berbeda-beda. Kemudian dibandingkan hasil komputasi
algoritma tersebut dengan notasi kompleksitas waktunya untuk mengetahui
efisiensi algoritmanya.

3. Kompleksitas Ruang

Kompleksitas ruang berkaitan dengan sistem memori yang dibutuhkan


dalam menjalankan program. Kompleksitas ruang diukur dari memori yang
digunakan oleh struktur data yang terdapat di dalam algoritma sebagai fungsi dari
ukuran masukan n. Perhatikan contoh dibawah ini:
Algorithm hitung(x,y,z)
{

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 57 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

return x+y*z+(x+y-z)/(y+z) +13


}
Algorithm jumlah(a,n)
//a adalah array dengan ukuran n
{
s:=0.0;
for i=1 to n do
s:=s+a[i];
return s;
}
Memori yang dibutuhkan untuk menjalankan algoritma diatas bergantung pada
jumlah dari:
i. Bagian yang konstan dan tidak tergantung pada masukan dan keluaran.
Bagian ini biasanya terdiri dari memori yang dibutuhkan untuk sourcecode,
variable aggregate dan konstanta.
ii. Bagian variabel yang kebutuhan memorinya bergantung pada instance
permasalahan yang akan diselesaikan. Bagian ini sering disebut sebagai
karakteristik instans.
Kompleksitas ruang (penggunaan memori) dapat diringkas dalam persamaan:
S(P) = c + Sp, dimana c adalah konstanta dan Sp adalah karakteristik instans.
Dalam analisis kompleksitas ruang hanya akan diperhitungkan nilai Sp dan
tidak terlalu memperhatikan nilai konstanta c. Pada algoritma hitung diatas,
karakteristik instans ditentukan oleh x,y dan z. Dengan asumsi masing masing
x,y,z dan return value bisa disimpan dalam 1 word (16 bits), maka dapat dilihat
bahwa memori yang dibutuhkan oleh algoritma hitung tidak tergantung pada
karakteristik instans x,y dan z, sehingga nilai Sp = 0.
Pada algoritma jumlah, karakteristik instans ditentukan oleh n (jumlah
elemen yang akan dipanggil). Karena variabel a harus mampu menampung data
berjenis float sejumlah n elemen, maka memori yang dibutuhkan adalah n word.
Variable s, i dan n masing-masing membutuhkan 1 word. Dengan demikian dapat
didapatkan pertidaksamaan Sp[jumlah](n) >= (n+3).

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 58 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

4. Model Perhitungan Kebutuhan Waktu/Ruang

Pengukuran waktu yang diperlukan oleh sebuah algoritma dapat dilakukan


dengan cara menghitung banyaknya operasi/instruksi yang dieksekusi. Jika telah
diketahui besaran waktu (dalam satuan detik) untuk melaksanakan sebuah
operasi tertentu, maka dapat menghitung berapa waktu sesungguhnya untuk
melaksanakan algoritma tersebut.
Contoh 1. Menghitung rerata
a1 a2 a3 … an
Larik bilangan bulat
procedure HitungRerata(input a1, a2, ..., an : integer, output r : real)
{ Menghitung nilai rata-rata dari sekumpulan elemen larik integer a1, a2, ..., an.
Nilai rata-rata akan disimpan di dalam peubah r.
Masukan: a1, a2, ..., an
Keluaran: r (nilai rata-rata)
}
Deklarasi
k : integer
jumlah : real
Algoritma
jumlah0
k1
while k  n do
jumlahjumlah + ak
kk+1
endwhile
{k>n}
r  jumlah/n { nilai rata-rata }

Keterangan
1. Operasi pengisian nilai (jumlah0, k1, jumlahjumlah+ak, kk+1, dan r
 jumlah/n). Jumlah seluruh operasi pengisian nilai adalah
t1 = 1 + 1 + n + n + 1 = 3 + 2n
2. Operasi penjumlahan (jumlah+ak, dan k+1). Jumlah seluruh operasi
penjumlahan adalah
t2 = n + n = 2n

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 59 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

3. Operasi pembagian (jumlah/n)Jumlah seluruh operasi pembagian adalah


t3 = 1
4. Total kebutuhan waktu algoritma HitungRerata:
t = t1 + t2 + t3 = (3 + 2n)a + 2nb + c detik
Model perhitungan kebutuhan waktu seperti di atas kurang dapat diterima:
1. Dalam praktek kita tidak mempunyai informasi berapa waktu
sesungguhnya untuk melaksanakan suatu operasi tertentu
2. Komputer dengan arsitektur yang berbeda akan berbeda pula lama waktu
untuk setiap jenis operasinya.
Selain bergantung pada komputer, kebutuhan waktu sebuah program juga
ditentukan oleh compiler bahasa yang digunakan. Model abstrak pengukuran
waktu/ruang harus independen dari pertimbangan mesin dan compiler apapun.
Besaran yang dipakai untuk menerangkan model abstrak pengukuran
waktu/ruang ini adalah kompleksitas algoritma.
Operasi yang mendasar pada algoritma diatas adalah operasi penjumlahan
elemen-elemen ak (yaitu jumlahjumlah+ak). Kompleksitas waktu HitungRerata

adalah T(n) = n.

Contoh 2. Algoritma untuk mencari elemen terbesar di dalam sebuah larik ( array)
yang berukuran n elemen.
procedure CariElemenTerbesar(input a1, a2, ..., an : integer, output maks : integer)
{ Mencari elemen terbesar dari sekumpulan elemen larik integer a1, a2, ..., an.
Elemen terbesar akan disimpan di dalam maks.
Masukan: a1, a2, ..., an
Keluaran: maks (nilai terbesar)
}
Deklarasi
k : integer
Algoritma
maksa1
k2
while k  n do
if ak> maks then
maksak
endif

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 60 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

ii+1
endwhile
{k>n}

Kompleksitas waktu algoritma dihitung berdasarkan jumlah operasi


perbandingan elemen larik (A[i] > maks).
Kompleksitas waktu CariElemenTerbesar : T(n) = n – 1.
Kompleksitas waktu dibedakan atas tiga macam :
1. Tmax(n) : kompleksitas waktu untuk kasus terburuk (worst case),→
kebutuhan waktu maksimum.
2. Tmin(n) : kompleksitas waktu untuk kasus terbaik (best case),→ kebutuhan
waktu minimum.
3. Tavg(n): kompleksitas waktu untuk kasus rata-rata (average case)→
kebutuhan waktu secara rata-rata
Contoh 3. Kompleksitas Algoritma sequential search.
procedure PencarianBeruntun(input a1, a2, .., an : integer,x: integer,output idx: integer)
Deklarasi
k : integer
ketemu : boolean{ bernilai true jika x ditemukan atau false jika x tidak ditemukan }
Algoritma:
k1
ketemu false
while (k  n) and (not ketemu) do
if ak = x then
ketemutrue
else
kk+1
endif
endwhile
{ k > n or ketemu }

if ketemu then{ x ditemukan }


idxk
else
idx 0 { x tidak ditemukan }

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 61 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

endif

Jumlah operasi perbandingan elemen tabel:


1. Kasus terbaik: ini terjadi bila a1 = x.
Tmin(n) =1
2. Kasus terburuk: bila an = x atau x tidak ditemukan.
Tmax(n) = n
3. Kasus rata-rata: Jika x ditemukan pada posisi ke-j, maka operasi
perbandingan (ak = x)akan dieksekusi sebanyak j kali.

1
n(1 + n)
(1 + 2 + 3 + ... + n) 2 (n + 1)
Tavg(n) = = =
n n 2

Cara lain: asumsikan bahwa P(aj = x) = 1/n. Jika aj = x maka Tj yang


dibutuhkan adalah Tj = j. Jumlah perbandingan elemen larik rata-rata:
n n 1 1 n
Tavg(n) =  T P( A[ j ] = X ) =  T
j j
= Tj
j =1 j =1 n n j =1
1 n 1 n(n + 1) n +1
=  j= ( )=
n j =1 n 2 2
5. Kompleksitas Waktu Asimptotik

Suatu kompleksitas algoritma dinyatakan dalam suatu fungsi sebagai berikut: T(n)
= 2n2 + 6n + 1
Perbandingan pertumbuhan T(n) dengan n2diperlihatkan dalam tabel berikut
n T(n) = 2n2 + 6n + 1 n2
10 261 100
100 2061 1000
1000 2.006.001 1.000.000
10.000 1.000.060.001 1.000.000.000

Untuk n yang besar, pertumbuhan T(n) sebanding dengan n2. Pada kasus ini,
T(n) tumbuh seperti n2 tumbuh. T(n) tumbuh seperti n2 tumbuh saat n
bertambah. Kita katakan bahwa T(n) berorde n2 dan kita tuliskan

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 62 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

T(n) = O(n2)
Notasi “O” disebut notasi “O-Besar” (Big-O) yang merupakan notasi
kompleksitas waktu asimptotik.
DEFINISI.T(n) = O(f(n)) (dibaca “T(n) adalah O(f(n)” yang artinya T(n)
berorde paling besar f(n) ) bila terdapat konstanta C dan n0 sedemikian sehingga

T(n) C(f (n))

untuk nn0.

Beberapa aturan untuk penentuan kompleksitas asimptotik yang didasarkan


kepada penghitungan O-Besar untuk setiap instruksi di dalam algoritmakemudian
menerapkan teorema O-Besar, adalah sebagai berikut:
a. Pengisian nilai (assignment), perbandingan, operasi aritmetik, read, write
membutuhkan waktu O(1).
b. Pengaksesan elemen larik atau memilih field tertentu dari sebuah record
membutuhkan waktu O(1).
Contoh:
read(x); O(1)
x:=x + a[k]; O(1) + O(1) + O(1) = O(1)
writeln(x); O(1)
Kompleksitas waktu asimptotik = O(1) + O(1) + O(1) = O(1)
Penjelasan: O(1) + O(1) + O(1) = O(max(1,1)) + O(1)
= O(1) + O(1) = O(max(1,1)) = O(1)
c. Pernyataan if C then S1 else S2; membutuhkan waktu
TC + max(TS1,TS2)
Contoh:
read(x); O(1)
if x mod 2 = 0 then O(1)
begin
x:=x+1; O(1)
writeln(x); O(1)
end

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 63 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

else
writeln(x); O(1)

Kompleksitas waktu asimptotik:


= O(1) + O(1) + max(O(1)+O(1), O(1))
= O(1) + max(O(1),O(1))
= O(1) + O(1)
= O(1)
d. Kalang for. Kompleksitas waktu kalang for adalah jumlah pengulangan
dikali dengan kompleksitas waktu badan (body) kalang.
Contoh:
for i:=1 to n do
jumlah:=jumlah + a[i]; O(1)
Kompleksitas waktu asimptotik = n . O(1)
= O(n .1)
= O(n)
Contoh: kalang bersarang
for i:=1 to n do
for j:=1 to n do
a[i,j]:=0; O(1)
Kompleksitas waktu asimptotik:
nO(n) = O(n.n) = O(n2)

Contoh: kalang bersarang dengan dua buah instruksi


for i:=1 to n do
for j:=1 to i do
begin
a:=a+1; O(1)
b:=b-2 O(1)
end;

• waktu untuk a:=a+1 : O(1)


• waktu untuk b:=b-2 : O(1)

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 64 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

• total waktu untuk badan kalang = O(1) + O(1) = O(1)


• kalang terluar dieksekusi sebanyak n kali
• kalang terdalam dieksekusi sebanyak i kali, i = 1, 2, …, n
• jumlah pengulangan seluruhnya = 1 + 2 + … + n
= n(n + 1)/2

• kompleksitas waktu asimptotik = n(n + 1)/2 .O(1)


= O(n(n + 1)/2) = O(n2)

e. while C do S; dan repeat S until C; Untuk kedua buah kalang, kompleksitas


waktunya adalah jumlah pengulangan dikali dengan kompleksitas waktu
badan C dan S.
Contoh: kalang tunggal sebanyak n-1 putaran
i:=2; O(1)
while i <= n do O(1)
begin
jumlah:=jumlah + a[i]; O(1)
i:=i+1; O(1)
end;

Kompleksitas waktu asimptotiknya adalah


= O(1) + (n-1) { O(1) + O(1) + O(1) }
= O(1) + (n-1) O(1)
= O(1) + O(n-1)
= O(1) + O(n)
= O(n)

Contoh: kalang yang tidak dapat ditentukan panjangnya:


ketemu:=false;
while (p <> Nil) and (not ketemu) do
if p^.kunci = x then
ketemu:=true
else
p:=p^.lalu
{ p = Nil or ketemu }

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 65 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

Di sini, pengulangan akan berhenti bila x yang dicari ditemukan di dalam


senarai. Jika jumlah elemen senarai adalah n, maka kompleksitas waktu
terburuknya adalah O(n) -yaitu kasus x tidak ditemukan.
f. Prosedur dan fungsi. Waktu yang dibutuhkan untuk memindahkan kendali ke
rutin yang dipanggil adalah O(1).

6. Pengelompokan Algoritma Berdasarkan Notasi O-Besar

Tabel pengelompokan algoritma berdasarkan O-besar


Kelompok Algoritma Nama
O(1) konstan
O(log n) logaritmik
O(n) lanjar
O(n log n) n log n
O(n2) kuadratik
O(n )
3
kubik
O(2n) eksponensial
O(n!) faktorial

O(1): Kompleksitas O(1) berarti waktu pelaksanaan algoritma adalah tetap,


tidak bergantung pada ukuran masukan.
O(log n): Kompleksitas waktu logaritmik berarti laju pertumbuhan
waktunya berjalan lebih lambat daripada pertumbuhan n. Algoritma yang
termasuk kelompok ini adalah algoritma yang memecahkan persoalan besar
dengan mentransformasikannya menjadi beberapa persoalan yang lebih kecil
yang berukuran sama (misalnya algoritma pencarian_biner). Di sini basis
algoritma tidak terlalu penting sebab bila n dinaikkan dua kali semula, misalnya,
log n meningkat sebesar sejumlah tetapan.

O(n): Algoritma yang waktu pelaksanaannya lanjar atau berulang-ulang


umumnya terdapat pada kasus yang setiap elemen masukannya dikenai proses
yang sama, misalnya algoritma pencarian_beruntun. Bila n dijadikan dua kali
semula, maka waktu pelaksanaan algoritma juga dua kali semula.
O(n log n): Waktu pelaksanaan n log n terdapat pada algoritma yang
memecahkan persoalan menjadi beberapa persoalan yang lebih kecil,

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 66 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

menyelesaikan tiap persoalan secara independen, dan menggabung solusi


masing-masing persoalan. Algoritma yang diselesaikan dengan teknik bagi dan
gabung mempunyai kompleksitas asimptotik jenis ini. Bila n = 1000, maka n log n
mungkin 20.000. Bila n dijadikan dua kali semual, maka n log n menjadi dua kali
semula (tetapi tidak terlalu banyak).
O(n2) Algoritma yang waktu pelaksanaannya kuadratik hanya praktis
digunakan untuk persoalana yang berukuran kecil. Umumnya algoritma yang
termasuk kelompok ini memproses setiap masukan dalam dua buah kalang
bersarang, misalnya pada algoritma urut_maks. Bila n = 1000, maka waktu
pelaksanaan algoritma adalah 1.000.000. Bila n dinaikkan menjadi dua kali
semula, maka waktu pelaksanaan algoritma meningkat menjadi empat kali
semula.
O(n3) Seperti halnya algoritma kuadratik, algoritma kubik memproses
setiap masukan dalam tiga buah kalang bersarang, misalnya algoritma perkalian
matriks. Bila n = 100, maka waktu pelaksanaan algoritma adalah 1.000.000. Bila
n dinaikkan menjadi dua kali semula, waktu pelaksanan algoritma meningkat
menjadi delapan kali semula.
O(2n) Algoritma yang tergolong kelompok ini mencari solusi persoalan
secara "brute force", misalnya pada algoritma mencari sirkuit Hamilton (lihat Bab
9). Bila n = 20, waktu pelaksanaan algoritma adalah 1.000.000. Bila n dijadikan
dua kali semula, waktu pelaksanaan menjadi kuadrat kali semula!
O(n!) Seperti halnya pada algoritma eksponensial, algoritma jenis ini
memproses setiap masukan dan menghubungkannya dengan n - 1 masukan
lainnya, misalnya algoritma Persoalan Pedagang Keliling (Travelling Salesperson
Problem - lihat bab 9). Bila n = 5, maka waktu pelaksanaan algoritma adalah 120.
Bila n dijadikan dua kali semula, maka waktu pelaksanaan algoritma menjadi
faktorial dari 2n.

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 67 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

B. Keterampilan yang diperlukan dalam Menerapkan hasil pemodelan ke


dalam pengembangan program

1. mengidentifikasi kompleksitas waktu algoritma


2. mengidentifikasi kompleksitas penggunaan memory algoritma

C. Sikap kerja yang diperlukan dalam Menerapkan hasil pemodelan ke


dalam pengembangan program

Harus bersikap secara:


1. Cermat, tepat, teliti dan sesui dengan spesifikasi kebutuhan dalam
engidentifikasi kompleksitas waktu algoritma
2. Cermat, tepat, teliti dan sesui dengan spesifikasi kebutuhan dalam
mengidentifikasi kompleksitas penggunaan memory algoritma

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 68 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

DAFTAR PUSTAKA

A. BukuReferensi
a. Renaldi Munir, 2009. Algoritma dan Pemrograman dalam bahasa pascal dan C,
Bandung: informatika.
b. Abdul Kadir, Pengenalan Algoritma, Pendekatan Secara Visual Dan Interaktif,
Penerbit Andi, 2013.
c. -------------, Algoritma Pemrograman, Modul Diklat Kompetensi Tingkat Dasar
Program Keahlian Teknik Komputer Dan Informatika Algoritma Pemrograman,
PPPPTK BOE, 2014
B. Referensi Lainnya
a. http://www.informatika.stei.itb.ac.id/~rinaldi.munir/Matdis/Kompleksitas%20A
lgoritma.doc kompleksitas algoritma

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 69 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

DAFTAR ALAT DAN BAHAN

A. Daftar Peralatan/Mesin

No. Nama Peralatan/Mesin Keterangan

1. Komputer atau Laptop, infocus, laserpointer, Speaker Untuk di ruang teori/praktek


aktif, Printer
2. Komputer atau Laptop Untuk setiap peserta
3. Alat bantu (Tools) softwareMicrosoft Visio, microsoft
word, Raptor
4. Perangkat lunak aplikasi perkantoran (Word processor,
spreed sheet, presentation)

B. Daftar Bahan

No. Nama Bahan Keterangan

1. Alat tulis kantor (pensil, ballpoint, penggaris, Setiap peserta


penghapus, stabilo)
2. Kertas A4
3. Tinta (Tonner)
4. Isolasi kertas, Gunting, spidol non permanen
5. Kertas buffalo tiga warna

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 70 dari 71
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor J.620100.022.02
Rekayasa Perangkat Lunak

DAFTAR PENYUSUN

No. Nama Profesi

1. Widyaiswara/Instruktur …
1. Abdul Munif, S.Pd.,S.St.,M.Kom 2. Asesor …
3. Anggota …

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Informasi – Versi 2018 Halaman: 71 dari 71
BUKU KERJA

MENGIMPLEMENTASIKAN ALGORITMA PEMROGRAMAN


J.620100.022.02

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN R.I.


DIREKTORAT JENDERAL GURU DAN TENAGA KEPENDIDIKAN
LEMBAGA PENGEMBANGAN DAN PEMBERDAYAAN
PENDIDIK DAN TENAGA KEPENDIDIKAN
BIDANG KELAUTAN PERIKANAN DAN
TEKNOLOGI INFORMASI DAN KOMUNIKASI
GOWA
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

PENJELASAN UMUM

Pengembangan Keprofesian Berkelanjutan berbasis kompetensi mengharuskan


proses pelatihan memenuhi unit kompetensi secara utuh yang terdiri atas
pengetahuan, keterampilan, dan sikap kerja. Dalam buku informasi “menggunakan
spesifikasi program”telah disampaikan informasi apa saja yang diperlukan sebagai
pengetahuan yang harus dimiliki untuk melakukan praktik/keterampilan terhadap
unit kompetensi tersebut. Setelah memperoleh pengetahuan dilanjutkan dengan
latihan-latihan guna mengaplikasikan pengetahuan yang telah dimiliki tersebut.
Untuk itu diperlukan buku kerja“menggunakan spesifikasi program” ini sebagai media
praktik dan sekaligus mengaplikasikan sikap kerja yang telah ditetapkan karena sikap
kerja melekat pada keterampilan. Adapun tujuan dibuatnya buku kerja ini adalah:

1. Prinsip pelatihan berbasis kompetensi dapat dilakukan sesuai dengan konsep


yang telah digariskan, yaitu pelatihan ditempuh elemen kompetensi per elemen
kompetensi, baik secara teori maupun praktik

2. Prinsip praktik dapat dilakukan setelah dinyatakan kompeten teorinya dapat


dilakukan secara jelas dan tegas

3. Pengukuran unjuk kerja dapat dilakukan dengan jelas dan pasti.

Ruang lingkup buku kerja ini meliputi pengerjaan tugas-tugas teori dan praktik per
elemen kompetensi dan kriteria unjuk kerja berdasarkan SKKNI kategori Informasi dan
Komunikasi Bidangsoftware development sub bidang pemrograman Ruang lingkup
buku kerja ini meliputi pengerjaan tugas-tugas teori dan praktik per elemen kompetensi
dan kriteria unjuk kerja berdasarkan SKKNI kategori Informasi dan Komunikasi Bidang
software development sub bidang pemrograman.

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 2 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

DAFTAR ISI

DAFTAR ISI ............................................................................................................... 3


PENJELASAN UMUM ................................................................................................... 5
BAB I TUGAS TEORI DAN PRAKTIK ............................................................................. 5
A. Elemen Kompetensi-1(menjelaskan varian dan invarian) .................................. 5
1. Tugas Teori I (menjelaskan variabel, tipe data dan konstanta) ...................... 5
2. Lembar Evaluasi Tugas Teori : menjelaskan variabel, tipe data dan konstanta 7
3. Tugas Praktik I – mengidentifikasi tipe data variabel dan konstanta sesuai
kebutuhan .......................................................................................................... 9
4. Daftar Cek Unjuk Kerja Tugas I ................................................................. 12
B. Elemen Kompetensi-2 (membuat alur logika pemrograman) ........................... 13
1. Tugas Teori II Menjelaskan metode pembuatan alur logika pemrograman.... 13
2. Lembar Evaluasi Tugas Teori Menjelaskan metode pembuatan alur logika
pemrograman ................................................................................................... 14
3. Tugas Praktik II Membuat alur logika pemrograman ................................... 15
4. Daftar Cek Unjuk Kerja Tugas II Membuat alur logika pemrograman ........... 18
C. Elemen Kompetensi-3 (Menerapkan teknik dasar algoritma umum )................ 20
1. Tugas Teori III membuat algoritma pengurutan data (sorting) dan pencarian
data (searching) ................................................................................................ 20
2. Lembar Evaluasi Tugas Teori membuat algoritma pengurutan data
(sorting)dan pencarian data (searching) ............................................................. 21
3. Tugas Praktik III membuat algoritma pengurutan data (sorting) dan pencarian
data (searching) ................................................................................................ 22
4. Daftar Cek Unjuk Kerja Tugas III membuat algoritma pengurutan data
(sorting) dan pencarian data (searching) ............................................................ 24
D. Elemen Kompetensi-4 (Menggunakan prosedur dan fungsi) ............................ 25
1. Tugas Teori IV Menggunakan prosedur dan fungsi ..................................... 26
2. Lembar Evaluasi Tugas Teori Menggunakan prosedur dan fungsi ................. 27

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 3 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

3. Tugas Praktik IV Menggunakan prosedur dan fungsi program ..................... 28


4. Daftar Cek Unjuk Kerja Tugas IV Menggunakan prosedur dan fungsi program
30
E. Elemen Kompetensi-5 (Mengidentifikasikan kompleksitas algoritma) ............... 32
1. Tugas Teori V Mengidentifikasikan kompleksitas algoritma ......................... 32
2. Lembar Evaluasi Tugas Teori Mengidentifikasikan kompleksitas algoritma .... 33
3. Tugas Praktik V Mengidentifikasikan kompleksitas algoritma ........................ 34
4. Daftar Cek Unjuk Kerja Tugas V Mengidentifikasikan kompleksitas algoritma 36
BAB II CEK LIS TUGAS ............................................................................................. 38

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 4 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

PENJELASAN UMUM

BAB I . TUGAS TEORI DAN PRAKTIK


A. Elemen Kompetensi-1(menjelaskan varian dan invarian)
1. Tugas Teori I (menjelaskan variabel, tipe data dan konstanta)
Perintah : Jawablah soal di bawah ini
Waktu Penyelesaian : 100 menit
Soal :
1. a. Jelaskan secara singkat definisi tipe data!
b. Uraikan empat jenis tipe data beserta kegunaannya!
Jawaban:
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
2. a. Jelaskan secara singkat definisi variabel!
b. Kemukakan contoh penulisan algoritma untuk pendeklarasian dan pemberian nilai
empat jenis variabel yang berbeda beserta tipe datanya!
Jawaban:
……………………………………………………………………………………………………

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 5 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
3. a. Jelaskan secara singkat definisi konstanta!
b. Kemukakan contoh penulisan algoritma untuk pendeklarasian dan pemberian nilai
empat jenis konstanta yang berbeda beserta tipe datanya .
Jawaban:
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 6 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………

2. Lembar Evaluasi Tugas Teori : menjelaskan variabel, tipe data dan konstanta
Semua kesalahan harus diperbaiki terlebih dahulu sebelum ditandatangani.

No. Benar Salah

1.
2.
3.

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 7 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

Apakah semua pertanyaan Tugas Teori “Menggunakan metode


pengembangan program”dijawab dengan benar dengan waktu yang telah
ditentukan?

YA TIDAK

NAMA TANDA TANGAN

PESERTA .............................................. ...................................

PENILAI .............................................. ...................................

Catatan Penilai:

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 8 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

3. Tugas Praktik I–mengidentifikasi tipe data variabel dan konstanta sesuai


kebutuhan

a. Elemen Kompetensi : Menjelaskan Varian dan Invarian


b. Waktu Penyelesaian : 30 menit
c. Capaian Unjuk Kerja :
Setelah menyelesaikan tugas menggunakan metode pengembangan
program peserta mampu:

1. Mengidentifikasi ragam jenis tipe data sesuai kebutuhan

2. Mengidentifikasi variabel sesuai kebutuhan

3. Mengidentifikasi konstanta sesuai kebutuhan

4. Menyajikan data identifikasi tipe data, variabel dan konstanta secara


cermat, tepat, teliti dan sesuai kebutuhan.

d. Daftar Alat/Mesin dan Bahan :


NO NAMA BARANG SPESIFIKASI KETERANGAN
A. ALAT
1. Komputer / Laptop
2. Perangkat lunak MS Word MS office 2013
3 Pensil, ballpoint Pensil 2B, ballpoin
warna hitam

B. BAHAN
1. Materi/buku informasi
2. Lembar kerja / instrumen
3 Lembar jawaban Kertas HVS A4 bertas
folio bergaris

e. Indikator Unjuk Kerja (IUK):


1. Mengidentifikasi ragam jenis tipe data sesuai kebutuhan

2. Mengidentifikasi variabel sesuai kebutuhan

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 9 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

3. Mengidentifikasi konstanta sesuai kebutuhan

4. Menyajikan data identifikasi tipe data, variabel

f. Keselamatan dan Kesehatan Kerja


Keselamatan dan kesehatan kerja yang perlu dilakukan pada waktu
melakukan praktik kerja ini adalah:

1. Bertindak berdasarkan sikap kerja yang sudah ditetapkan sehingga


diperoleh hasil seperti yang diharapkan, jangan sampai terjadi
kesalahan karena ketidak-telitian dan tidak taat asas.

2. Waktu menggunakan komputer, printer, dan alat lainnya mengikuti


petunjuknya masing-masing yang sudah ditetapkan

g. Standar Kinerja

1. Dikerjakan selesai tepat waktu, waktu yang digunakan tidak lebih dari
yang ditetapkan.

2. Toleransi kesalahan 5% dari hasil yang harus dicapai, tetapi bukan pada
kesalahan kegiatan kritis.

h. Tugas

Abstraksi Tugas Praktik I


Perhatikan dan amati Gambar dibawah ini. Gambar tersebut merupakan
sebuah interface yang digunakan untuk memanipulasi data mahasiswa.

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 10 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

i. Instruksi Kerja
Setelah membaca abstraksi nomor h selanjutnya ikuti instruksi kerja sebagai
berikut:
1) Identifikasi ragam jenis tipe data sesuai kebutuhan !
2) Identifikasi variabel sesuai kebutuhan !
3) Identifikasi konstanta sesuai kebutuhan !
Lembar Kerja 1(LK-1)Identifikasi variabel, type data dan Konstanta :
Nama variabel Type data Ukuran Nama Konstanta Type data Ukuran
Variabel minimal Konstanta Konstanta
variabel

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 11 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

4. Daftar Cek Unjuk Kerja Tugas I


PENCAPAIAN PENILAIAN
NO DAFTAR TUGAS/INSTRUKSI POIN YANG DICEK
YA TIDAK K BK
1. Identifikasi ragam jenis tipe data Ragam jenis tipe data
sesuai kebutuhan !
2. Identifikasi variabel sesuai Ragam jenis variabel
kebutuhan ! Ukuran variabel

3. Identifikasi konstanta sesuai Ragam jenis Konstanta


kebutuhan Ukuran konstanta

Apakah semua instruksi kerja tugas praktik mengidentifikasi tipe data variabel
dan konstanta sesuai kebutuhan dilaksanakan dengan benar dengan waktu
yang telah ditentukan?

YA TIDAK

NAMA TANDA TANGAN

PESERTA .............................................. ...................................

PENILAI .............................................. ...................................

Catatan Penilai:

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 12 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

B. Elemen Kompetensi-2 (membuat alur logika pemrograman)


1. Tugas Teori IIMenjelaskan metode pembuatan alur logika pemrograman
Perintah : Jawablah soal di bawah ini
Waktu Penyelesaian : 90 menit
Soal :
1. Jelaskan secara singkat dua metode pembuatan alur logika pemrograman! (KUK 2.1)
Jawaban:
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………

2. Jelaskan secara singkat komponen-komponen yang ada dalam dua metode pembuatan alur logika
pemrograman jawaban soal nomor 1 (KUK 2.2)
Jawaban:
……………………………………………………………………………………………………
……………………………………………………………………………………………………
………………………………………………………………………………………………………………………
…………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 13 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

2. Lembar Evaluasi Tugas Teori Menjelaskan metode pembuatan alur logika


pemrograman
Semua kesalahan harus diperbaiki terlebih dahulu sebelum ditandatangani.

No. Benar Salah

1.

2.

3.

4.

5.

Apakah semua pertanyaan Tugas Teori Menjelaskan metode pembuatan alur


logika pemrogramandijawab dengan benar dengan waktu yang telah
ditentukan?

YA TIDAK

NAMA TANDA TANGAN

PESERTA .............................................. ...................................

PENILAI .............................................. ...................................

Catatan Penilai:
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 14 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
3. Tugas Praktik II Membuat alur logika pemrograman
a. Elemen Kompetensi : Membuat alur logika pemrograman
b. Waktu Penyelesaian : 30 menit
c. Capaian Unjuk Kerja :
Setelah menyelesaikan tugas menggunakan diagram program dan deskripsi
program peserta mampu:

1. Mengidentifikasi/menganalisis ragam jenis metode pembuatan alur


pemrograman

2. mengidentifikasi/menenentukan komponen-komponen penyusun alur


logika pemrograman

3. mengIdentifikasi/menetapkan relasi komponen penyusun alur logika


pemrograman.

4. mengidentifikasi/menetapkan alur mulai dan selesai logika pemrograman.

e. Daftar Alat/Mesin dan Bahan :


NO NAMA BARANG SPESIFIKASI KETERANGAN
A. ALAT
1. Komputer / Laptop Setiap peserta
2. Perangkat lunak tools pemodelan Setiap peserta
3. Printer Ink jet A4 Untuk satu kelas
4. Tonner Tinta ink jet
B. BAHAN Setiap peserta
1. Materi/buku informasi Setiap peserta

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 15 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

2. Lembar kerja / instrumen Setiap peserta


3. Kertas A4, satu rim Untuk satu
kelas

i. Indikator Unjuk Kerja (IUK):

1. Mengidentifikasi/menganalisis ragam jenis metode pembuatan alur


pemrograman

2. mengidentifikasi/menenentukan komponen-komponen penyusun alur


logika pemrograman

3. mengIdentifikasi/menetapkan relasi komponen penyusun alur logika


pemrograman.

4. mengidentifikasi/menetapkan alur mulai dan selesai logika


pemrograman.

5. mengidentifikasi/menetapkan alur mulai dan selesai logika pemrograman

j. Keselamatan dan Kesehatan Kerja

Keselamatan dan kesehatan kerja yang perlu dilakukan pada waktu


melakukan praktik kerja ini adalah:
1. Bertindak berdasarkan sikap kerja yang sudah ditetapkan sehingga
diperoleh hasil seperti yang diharapkan, jangan sampai terjadi
kesalahan karena ketidak-telitian dan tidak taat asas.

2. Waktu menggunakan komputer, printer, dan alat lainnya mengikuti


petunjuknya masing-masing yang sudah ditetapkan.

k. Standar Kinerja
1. Dikerjakan selesai tepat waktu, waktu yang digunakan tidak lebih dari
yang ditetapkan.

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 16 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

2. Toleransi kesalahan 5% dari hasil yang harus dicapai, tetapi bukan


pada kesalahan kegiatan kritis.

l. Tugas
Abstraksi Tugas Praktik II
Seorang programmer ingin menampilkan sederetan bilangan di piranti
keluaran. Bilangan tersebut mempunyai siifat yang spesifik, yaitu jika dibagi
dengan 3 maka sisanya adalah Nol. Deretan bilangan tersebut dibatasi dalam
suatu jangkauan nilai tertentu dengan batas bawah dan batas bawah. Nilai
batas bawah dan batas atas bersifat dinamis yang dimasukkan dari
keyboard.Dengan batas bawah=10 dan batas atas =25.Sebelum membuat
kode program programmer tersebut akan membuat algoritma menggunakan
suatu metode dengan karakteristik sebagai berikut:
1. merupakan keterangan yang lebih rinci tentang bagaimana setiap langkah
tau prosedur sesungguhnya dilaksanakan.

2. menunjukkan setiap langkah atau prosedur dalam urutan yang tepat saat
terjadi.

3. menggambarkan alur dari suatu pemecahan masalah baik secara global


dan alur pemecahan secara terperinci.

4. menggambarkan urutan instruksi dari program komputer

5. Penulisan deksripsi algoritma menggunakan notasi/simbol berupa gambar

6. Menggunakan garis pengarah yang menghubungkan antar komponen


dalam algoritma

j. Instruksi Kerja
Setelah membaca abstraksi nomor h selanjutnya ikuti instruksi kerja
sebagai berikut:
1. Identifikasi metode pembuatan alur pemrograman apa yang tepat
digunakan oleh programmer untuk menyelesaikan kasus tersebut.

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 17 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

2. Tentukan komponen-komponen penyusun alur logika pemrograman yang


sesui dengan metode diatas
3. Tetapkan hubungan antar komponen yang sesui dengan metode diatas
4. Tetapkan alur mulai dan selesai logika pemrograman dan Jelaskan proses-
prosesnya atau prinsip kerja algoritma dari awal hingga akhir !

Lembar Kerja LK-2Identifikasi metode pembuatan alur pemrograman:


Karakteristik metode pembuatan alur pseudocode System Program Struktogram ………..
logika pemrograman flowchart flowchart
(sesuai dengan abstraksi Tugas Beri tanda (  ) jika memenuhi karakteristik/sifatnya
praktek 2)
1. .…………………………….

2. …………………………….

3. …………………………….

4. …………………………….

5. …………………………….

6. …………………………..

Jumlah:

Prosentase

4. Daftar Cek Unjuk Kerja Tugas IIMembuat alur logika pemrograman


PENCAPAIAN PENILAIAN
NO DAFTAR TUGAS/INSTRUKSI POIN YANG DICEK
YA TIDAK K BK
1. Identifikasi metode pembuatan Jenis metode
alur pemrograman apa yang tepat pembuatan alur
digunakan oleh programmer logika pemrograman
untuk menyelesaikan kasus yang sesuai
tersebut.(KUK 2.1)
2. Tentukan komponen-komponen
penyusun alur logika Komponen-komponen
pemrograman yang sesui dengan besrta label penyusun
metode diatas (KUK 2.2) algoritma yang sesuai
3. Tetapkan hubungan antar Relasi/hubungan
komponen yang sesui dengan antar komponen

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 18 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

metode diatas (KUK 2.3)


4. Tetapkan alur mulai dan selesai Alur logika dari mulai
logika pemrograman dan Jelaskan sampai selesai
proses-prosesnya atau prinsip Langkah-langkah
kerja algoritma dari awal hingga proses
akhir ! (KUK 2.4)

Apakah semua instruksi kerja tugas praktik membuat alur logika pemrograman
dilaksanakan dengan benar dengan waktu yang telah ditentukan?

YA TIDAK

NAMA TANDA TANGAN

PESERTA .............................................. ...................................

PENILAI .............................................. ...................................

Catatan Penilai:

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 19 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

C. Elemen Kompetensi-3(Menerapkan teknikdasar algoritma umum )


Kriteria Unjuk Kerja:
1.1. Algoritma untuk sorting dibuat.
1.2. Algoritma untuk searching dibuat.
1. Tugas Teori III membuat algoritma pengurutan data (sorting) dan pencarian
data (searching)
Perintah : Jawablah soal di bawah ini
Waktu Penyelesaian : 15 menit
Soal :
1. Jelaskan secara singkat definisi dan prinsip dasar pengurutan data (sorting) menggunakan metode
bubble sort ? (KUK 3.1)
Jawaban:
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………

2. Jelaskan secara singkat definisi dan prinsip dasar pencarian data menggunakan metode squence search
? (KUK 3.2)
Jawaban:
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 20 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

2. Lembar Evaluasi Tugas Teori membuat algoritma pengurutan data (sorting)


dan pencarian data (searching)
Semua kesalahan harus diperbaiki terlebih dahulu sebelum ditandatangani.

No. Benar Salah

1.

2.

Apakah semua pertanyaan Tugas Teori Menerapkan teknik dasar algoritma


umum dijawab dengan benar dengan waktu yang telah ditentukan?

YA TIDAK

NAMA TANDA TANGAN

PESERTA .............................................. ...................................

PENILAI .............................................. ...................................

Catatan Penilai:
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 21 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

3. Tugas Praktik IIImembuat algoritma pengurutan data (sorting) dan


pencarian data (searching)

a. Elemen Kompetensi : Menerapkan teknik dasar algoritma umum


b. Waktu Penyelesaian: 60 menit
c. Capaian Unjuk Kerja:
Setelah menyelesaikan tugas Menerapkan hasil pemodelan ke dalam
pengembangan programpeserta mampu:
1) membuat algoritma sorting
2) menyajikan data hasil algoritma sorting secara cermat, tepat, teliti dan
sesuai spesifikasi
3) membuat algoritma searching
4) menyajikan data hasil algoritma searching secara cermat, tepat, teliti
dan sesuai spesifikasi

f. Daftar Alat/Mesin dan Bahan :


NO NAMA BARANG SPESIFIKASI KETERANGAN
A. ALAT
1. Komputer / Laptop Setiap peserta
2. Perangkat lunak tools pemodelan Microsoft word, Setiap peserta
microsoft visio, Raptor
3. Printer Ink jet A4 Untuk satu kelas
4. Tonner Tinta ink jet
B. BAHAN Setiap peserta
1. Materi/buku informasi Setiap peserta
2. Lembar kerja / instrumen Setiap peserta
3. Kertas A4, satu rim Untuk satu kelas

d. Indikator Unjuk Kerja (IUK):


1) membuat algoritma sorting

2) menyajikan data hasil algoritma sorting secara cermat, tepat, teliti dan
sesuai spesifikasi

3) membuat algoritma searching

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 22 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

4) menyajikan data hasil algoritma searching secara cermat, tepat, teliti


dan sesuai spesifikasi

e. Keselamatan dan Kesehatan Kerja


Keselamatan dan kesehatan kerja yang perlu dilakukan pada waktu
melakukan praktik kerja ini adalah:

1. Bertindak berdasarkan sikap kerja yang sudah ditetapkan sehingga


diperoleh hasil seperti yang diharapkan, jangan sampai terjadi
kesalahan karena ketidak-telitian dan tidak taat asas.

2. Waktu menggunakan komputer, printer, dan alat lainnya mengikuti


petunjuknya masing-masing yang sudah ditetapkan.

f. Standar Kinerja

1. Dikerjakan selesai tepat waktu, waktu yang digunakan tidak lebih dari
yang ditetapkan.

2. Toleransi kesalahan 5% dari hasil yang harus dicapai, tetapi bukan pada
kesalahan kegiatan kritis.

g. Tugas: Abstraksi Tugas Praktik III


Diberikan suatu kumpulan data bilangan yang terdiri dari lima bilangan
bertipe integer. Susunan kelima bilangan tersebut diperlihatkan dalam gambar
berikut:
Data 15 5 45 35 25
No indeks 0 1 2 3 4

h. Instruksi Kerja
Setelah membaca abstraksi tugas praktek pada nomor h selanjutnya ikuti
instruksi kerja sebagai berikut:
1. Buatlah algoritma untuk melakukan pengurutan data diatas secara
menurun dengan menggunakan metoda bubble sort dan jelaskan langkah
langkah proses pengurutannya. Kelima data tersebut harus diinputkan

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 23 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

secara langsung pada program. Algoritma harus dapat menampilkan data


sebelum diurutkan dan setelah data diurutkan (KUK 3.1)

2. Buatlah algoritma untuk melakukan pencarian data menggunakan metoda


squence search dan jelaskan langkah-langkah proses pencarian untuk
data X=45 dan X =30. Algoritma harus dapat :

• menampilkan pesan ke piranti keluaran, “data ditemukan, berada pada


indek ke-2”, Untuk pencarian data X=45,

• menampilkan pesan ke piranti keluaran “Data tidak ditemukan”, untuk


pencarian data X=30.

4. Daftar Cek Unjuk Kerja Tugas IIImembuat algoritma pengurutan data


(sorting) dan pencarian data (searching)
DAFTAR PENCAPAIAN PENILAIAN
NO POIN YANG DICEK
TUGAS/INSTRUKSI YA TIDAK K BK
1. Buatlah algoritma untuk • Komponen header
melakukan pengurutan • komponendeklarasi
data menggunakan metoda • Menginputkan data
bubble sort • Definisi Tampil data sblm
diurutkan
• Definisi Pengurutan data
• Definisi Tampil data stlh
diurutkan
2. Buatlah algoritma untuk • Komponen header
melakukan pencarian data • Komponen deklarasi
menggunakan metoda • Definisi Menginputkan data
squence search • Definisi Tampil data
• Definisi Pencarian data
• Definisi Tampil pesan

Apakah semua instruksi kerja tugas praktik III membuat algoritma pengurutan
data (sorting) dan pencarian data (searching)dilaksanakan dengan benar
dengan waktu yang telah ditentukan?

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 24 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

YA TIDAK

NAMA TANDA TANGAN

PESERTA .............................................. ...................................

PENILAI .............................................. ...................................

Catatan Penilai:
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….

D. Elemen Kompetensi-4 (Menggunakan prosedur dan fungsi)


Kriteria Unjuk Kerja:
4.1. Konsep penggunaan kembali prosedur dan fungsi dapat diidentifikasi.
4.2. Prosedur dapat digunakan.
4.3. Fungsi dapat digunakan.

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 25 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

1. Tugas Teori IVMenggunakan prosedur dan fungsi


Perintah : Jawablah soal di bawah ini
Waktu Penyelesaian : 15 menit
Soal :
1. Dalam paradigma pemrograman prosedural terdapat istilah reusable . jelaskan pengertian istilah
tersebut dan berikan contoh! (KUK 4.1)
Jawaban:
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………

2. Jelaskan secara singkat tepat definisi prosedur buatlah ilustrasi (teks dan atau gambar) dan berikan
salah satu contoh sederhana ? (KUK 4.2)
Jawaban:
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………

3. a. Jelaskan secara singkat dan tepat definisi fungsi.


b. Bbuatlah ilustrasi (teks dan atau gambar) dan berikan salah satu contoh.(KUK 4.3)
Jawaban:
…………………………………………………………………………………………………………………

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 26 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………

2. Lembar Evaluasi Tugas Teori Menggunakan prosedur dan fungsi


Semua kesalahan harus diperbaiki terlebih dahulu sebelum ditandatangani.

No. Benar Salah

1.

2.

3.

Apakah semua pertanyaan Tugas Teori Menerapkan teknik dasar algoritma


umum dijawab dengan benar dengan waktu yang telah ditentukan?

YA TIDAK

NAMA TANDA TANGAN

PESERTA .............................................. ...................................

PENILAI .............................................. ...................................

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 27 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

Catatan Penilai:
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….

3. Tugas Praktik IV Menggunakan prosedur dan fungsi program


a. Elemen Kompetensi: Menerapkan teknik dasar algoritma umum
b. Waktu Penyelesaian: 30 menit
c. Capaian Unjuk Kerja :
Setelah menyelesaikan tugas menggunakan prosedur dan fungsipeserta
mampu:
1) Mengidentifikasi penggunaaan kembali prosedur dan fungsi
2) Menggunakan prosedur
3) Menggunakan fungsi.
4) menyajikan data hasil algoritma searching secara cermat, tepat, teliti
dan sesuai spesifikasi
d. Daftar Alat/Mesin dan Bahan :
NO NAMA BARANG SPESIFIKASI KETERANGAN
A. ALAT
1. Komputer / Laptop Setiap peserta
2. Perangkat lunak tools pemodelan Microsoft word, Setiap peserta
microsoft visio, Raptor
3. Printer Ink jet A4 Untuk satu kelas
4. Tonner Tinta ink jet
B. BAHAN Setiap peserta
1. Materi/buku informasi Setiap peserta
2. Lembar kerja / instrumen Setiap peserta
3. Kertas A4, satu rim Untuk satu kelas

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 28 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

e. Indikator Unjuk Kerja (IUK):

1) Mengidentifikasi penggunaaan kembali prosedur dan fungsi


2) Menggunakan prosedur
3) Menggunakan fungsi.

f. Keselamatan dan Kesehatan Kerja


Keselamatan dan kesehatan kerja yang perlu dilakukan pada waktu
melakukan praktik kerja ini adalah:
1. Bertindak berdasarkan sikap kerja yang sudah ditetapkan sehingga
diperoleh hasil seperti yang diharapkan, jangan sampai terjadi kesalahan
karena ketidak-telitian dan tidak taat asas.
2. Waktu menggunakan komputer, printer, dan alat lainnya mengikuti
petunjuknya masing-masing yang sudah ditetapkan.

g. Standar Kinerja
1. Dikerjakan selesai tepat waktu, waktu yang digunakan tidak lebih dari
yang ditetapkan.
2. Toleransi kesalahan 5% dari hasil yang harus dicapai, tetapi bukan pada
kesalahan kegiatan kritis.

h. Tugas: Abstraksi Tugas Praktik III


Diberikan dua buah data bilangan pecahan A dan B. data tersebut akan
dikelola menggunakan program komputer. system designer akan merancang
algritma yang akan mengelola data tersebut dengan ketentuan sebagai
berikut:
1. Menggunakan pendekatan modular dengan memecah progam menjadi
beberapa bagian.
2. Masing-masing bagian mempunya tugas-tugas yang spesifik.
3. Modul InputData digunakan untuk membaca dua bilangan pecahan
tersebut yang diinputkan dari keyboard dan menyimpannya dalam
variabel.

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 29 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

4. Modul TampilData digunakan untuk menampilkan data ke piranti keluaran


yang telah dimasukkan.
5. Modul NilaiTerbesar digunakan untuk menganalisis dengan menentukan
nilai terbesar dari kedua data tersebut dan menampilkan ke piranti
keluaran data nilai terbesar dari dua data tersebut.

i. Instruksi Kerja
Setelah membaca abstraksi tugas praktek pada nomor h selanjutnya ikuti
instruksi kerja sebagai berikut:
1. Buatlah algoritma untuk menyelesaikan masalah yang dihadapi system
designer diatas dengan menggunakan prosedur. Buat pula struktur modul
dan keterkaitan antar modul.

2. Buatlah algoritma untuk menyelesaikan masalah yang dihadapi system


designer diatas menggunakan fungsi dengan cara memodifikasi hasil
algoritma soal Nomor 1 dan pastikan setidaknya satu modul menggunakan
fungsi. Buat pula struktur modul dan keterkaitan antar modul.

4. Daftar Cek Unjuk Kerja Tugas IVMenggunakan prosedur dan fungsi program
DAFTAR PENCAPAIAN PENILAIAN
NO POIN YANG DICEK
TUGAS/INSTRUKSI YA TIDAK K BK
1. Buatlah algoritma untuk • Struktur dan keterkaitan
menyelesaikan masalah modul
yang dihadapi system • Modul main
designer diatas dengan • Modul InputData
menggunakan prosedur • Modul TampilData
• Modul NilaiTerbesar

2. Buatlah algoritma untuk • Struktur dan keterkaitan


menyelesaikan masalah modul
yang dihadapi system • Modul main
designer diatas dengan • Modul InputData
menggunakan fungsi. • Modul TampilData
• Modul NilaiTerbesar

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 30 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

Apakah semua instruksi kerja tugas praktik IVMenggunakan prosedur dan


fungsi)dilaksanakan dengan benar dengan waktu yang telah ditentukan?

YA TIDAK

NAMA TANDA TANGAN

PESERTA .............................................. ...................................

PENILAI .............................................. ...................................

Catatan Penilai:
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 31 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

E. Elemen Kompetensi-5 (Mengidentifikasikan kompleksitas algoritma)


Kriteria Unjuk Kerja:
5.1. Kompleksitas waktu algoritma diidentifikasi.
5.2. Kompleksitas penggunaan memory algoritma diidentifikasi.
1. Tugas Teori V Mengidentifikasikan kompleksitas algoritma
Perintah : Jawablah soal di bawah ini
Waktu Penyelesaian : 15 menit
Soal :
1. Jelaskan secara singkat definisi kompleksitas waktu algoritma dan berikan contoh cara menghitungnya?
(KUK 5.1)
Jawaban:
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………

2. Jelaskan secara singkat definisi kompleksitas ruang (penggunaan memory) algoritma dan berikan
contoh cara menghitungnya ? (KUK 5.1)
Jawaban:
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 32 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

2. Lembar Evaluasi Tugas Teori Mengidentifikasikan kompleksitas algoritma


Semua kesalahan harus diperbaiki terlebih dahulu sebelum ditandatangani.

No. Benar Salah

1.

2.

Apakah semua pertanyaan Tugas Teori Menerapkan teknik dasar algoritma


umum dijawab dengan benar dengan waktu yang telah ditentukan?

YA TIDAK

NAMA TANDA TANGAN

PESERTA .............................................. ...................................

PENILAI .............................................. ...................................

Catatan Penilai:
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 33 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

3. Tugas Praktik V Mengidentifikasikan kompleksitas algoritma


a. Elemen Kompetensi: Menerapkan teknik dasar algoritma umum
b. Waktu Penyelesaian : 60 menit
c. Capaian Unjuk Kerja :
Setelah menyelesaikan tugas Menerapkan hasil pemodelan ke dalam
pengembangan program peserta mampu:
1. mengidentifikasi kompleksitas waktu algoritma
2. mengidentifikasi kompleksitas penggunaan memory algoritma
g. Daftar Alat/Mesin dan Bahan :
NO NAMA BARANG SPESIFIKASI KETERANGAN
A. ALAT
1. Komputer / Laptop Setiap peserta
2. Perangkat lunak tools pemodelan Microsoft word, Setiap peserta
3. Printer Ink jet A4 Untuk satu kelas
4. Tonner Tinta ink jet
B. BAHAN Setiap peserta
1. Materi/buku informasi Setiap peserta
2. Lembar kerja / instrumen Setiap peserta
3. Kertas A4, satu rim Untuk satu kelas

d. Indikator Unjuk Kerja (IUK):


1. Menjelaskan kompleksitas waktu algoritma
2. Mengidentifikasi kompleksitas waktu algoritma
3. Menyajikan hasil identifikasi kompleksitas waktu algoritma
4. Menjelaskan kompleksitas pengunaan memory algoritma
5. Mengidentifikasi kompleksitas pengunaan memory algoritma
6. Menyajikan hasil identifikasi kompleksitas pengunaan memory algoritma

e. Keselamatan dan Kesehatan Kerja


Keselamatan dan kesehatan kerja yang perlu dilakukan pada waktu
melakukan praktik kerja ini adalah:

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 34 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

i. Bertindak berdasarkan sikap kerja yang sudah ditetapkan sehingga


diperoleh hasil seperti yang diharapkan, jangan sampai terjadi
kesalahan karena ketidak-telitian dan tidak taat asas.
ii. Waktu menggunakan komputer, printer, dan alat lainnya mengikuti
petunjuknya masing-masing yang sudah ditetapkan.

f. Standar Kinerja
i. Dikerjakan selesai tepat waktu, waktu yang digunakan tidak lebih dari
yang ditetapkan.
ii. Toleransi kesalahan 5% dari hasil yang harus dicapai, tetapi bukan
pada kesalahan kegiatan kritis.

g. Tugas: Abstraksi Tugas Praktik III


Diberikan suatu algoritma dalam bentuk pseudocode sebagai berikut:
Program Cetak_deret_Bilangan_habis_bagi_tiga
{ menampilakan deretan bilangan yang habis dibagi 3 antara 10 sampai 30. Bilangan yang
habis dibagi dengan 3 adalah bilangan yang jika dibagi dengan 3 sisanya adalah nol}
Deklarasi :
bil, sisa : integer
Diskripsi
bil  10
sisa  0
while bil <= 30
sisa  bil Modulo 3
if bil == 0
write(bil); {instruksi mencetak isi variable bilangan}
write(“ ”) {instruksi mencetak karakter kosong atau spasi}
n  n + 1 {tambahkan n dengan satu dan simpan ke variable n
endwhile
{ bil > 30 } { kondisi setelah pengulangan berhenti

h. Instruksi Kerja
Setelah membaca abstraksi tugas praktek pada nomor h selanjutnya ikuti
instruksi kerja sebagai berikut:
1. Identifikasi dan hitunglah kompleksitas penggunaan waktu algoritma di
atas (T(n) dan O(n) (KUK 5.1) !
2. Identifkasi dan hitunglah kompleksitas penggunaan memory algoritma di
atas (S(p)). (KUK 5.2) !

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 35 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

4. Daftar Cek Unjuk Kerja Tugas V Mengidentifikasikan kompleksitas algoritma


DAFTAR PENCAPAIAN PENILAIAN
NO POIN YANG DICEK
TUGAS/INSTRUKSI YA TIDAK K BK
1. Identifkasi dan hitunglah • Nilai kompleksitas waktu
kompleksitas penggunaan T(n)
waktu algoritma di atas ( • Nilai kompleksitas waktu
T(n) dan O(n) ) (KUK 5.1) ! O(n)

2. Identifkasi dan hitunglah • Nilai kompleksitas ruang
kompleksitas penggunaan S(P)
memory algoritma diatas
(KUK 5.2) !

Apakah semua instruksi kerja tugas praktik V Mengidentifikasikan


kompleksitas algoritma dilaksanakan dengan benar dengan waktu yang telah
ditentukan?

YA TIDAK

NAMA TANDA TANGAN

PESERTA .............................................. ...................................

PENILAI .............................................. ...................................

Catatan Penilai:
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 36 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 37 dari 38
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

BAB II CEK LIS TUGAS


PENILAIAN
NO TUGAS UNJUK KERJA TANGGAL
K BK
1. menjelaskan varian dan invarian
2. membuat alur logika pemrograman
3. Menerapkan teknik dasar algoritma
umum
4. Menggunakan prosedur dan fungsi
Mengidentifikasikan kompleksitas
algoritma

Apakah semua tugas unjuk kerja mengimplementasikan algoritma


pemrograman (j.620100.022.02) telah dilaksanakan dengan benar dan dalam
waktu yang telah ditentukan?

YA TIDAK

NAMA TANDA TANGAN

PESERTA .............................................. ...................................

PENILAI .............................................. ...................................

Catatan Penilai:
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………….

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek


Buku Kerja – Versi 2018 Halaman: 38 dari 38
BUKU PENILAIAN

MENGIMPLEMENTASIKAN ALGORITMA PEMROGRAMAN


J.620100.022.02

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN R.I.


DIREKTORAT JENDERAL GURU DAN TENAGA KEPENDIDIKAN
LEMBAGA PENGEMBANGAN DAN PEMBERDAYAAN
PENDIDIK DAN TENAGA KEPENDIDIKAN
BIDANG KELAUTAN PERIKANAN
TEKNOLOGI INFORMASI DAN KOMUNIKASI
GOWA
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

PENJELASAN UMUM

Buku penilaian untuk unit kompetensi mengimplementasikan algoritma pemrograman


dibuat sebagai konsekuensi logis dalam pelatihan berbasis kompetensi yang telah
menempuh tahapan penerimaan pengetahuan, keterampilan, dan sikap kerja melalui
buku informasi dan buku kerja. Setelah latihan-latihan (exercise) dilakukan
berdasarkan buku kerja maka untuk mengetahui sejauh mana kompetensi yang
dimilikinya perlu dilakukan uji komprehensif secara utuh per unit kompetensi dan
materi uji komprehensif itu ada dalam buku penilaian ini.

Adapun tujuan dibuatnya buku penilaian ini, yaitu untuk menguji kompetensi peserta
pelatihan setelah selesai menempuh buku informasi dan buku kerja secara
komprehensif dan berdasarkan hasil uji inilah peserta akan dinyatakan kompeten
atau belum kompeten terhadap unit kompetensi mengimplementasikan algoritma
pemrograman. Metoda Penilaian yang dilakukan meliputi penilaian dengan opsi
sebagai berikut:
1. Metoda Penilaian Pengetahuan
a. Tes Tertulis
Untuk menilai pengetahuan yang telah disampaikan selama proses pelatihan
terlebih dahulu dilakukan tes tertulis melalui pemberian materi tes dalam
bentuk tertulis yang dijawab secara tertulis juga. Untuk menilai pengetahuan
dalam proses pelatihan materi tes disampaikan lebih dominan dalam bentuk
obyektif tes, dalam hal ini jawaban singkat, menjodohkan, benar-salah, dan
pilihan ganda. Tes essay bisa diberikan selama tes essay tersebut tes essay
tertutup, tidak essay terbuka, hal ini dimaksudkan untuk mengurangi faktor
subyektif penilai.
b. Tes Wawancara
Tes wawancara dilakukan untuk menggali atau memastikan hasil tes tertulis
sejauh itu diperlukan. Tes wawancara ini dilakukan secara perseorangan antara
penilai dengan peserta uji/peserta pelatihan. Penilai sebaiknya lebih dari satu
orang.

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman: 2 dari 30


Buku Penilaian – Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

2. Metoda Penilaian Keterampilan


a. Tes Simulasi
Tes simulasi ini digunakan untuk menilai keterampilan dengan menggunakan
media bukan yang sebenarnya, misalnya menggunakan tempat kerja tiruan
(bukan tempat kerja yang sebenarnya), obyek pekerjaan disediakan atau
hasil rekayasa sendiri, bukan obyek kerja yang sebenarnya.

b. Aktivitas Praktik
Penilaian dilakukan secara sebenarnya, di tempat kerja sebenarnya dengan
menggunakan obyek kerja sebenarnya.

3. Metoda Penilaian Sikap Kerja


a. Observasi
Untuk melakukan penilaian sikap kerja digunakan metoda observasi terstruktur,
artinya pengamatan yang dilakukan menggunakan lembar penilaian yang
sudah disiapkan sehigga pengamatan yang dilakukan mengikuti petunjuk
penilaian yang dituntut oleh lembar penilaian tersebut. Pengamatan dilakukan
pada waktu peserta uji/peserta pelatihan melakukan keterampilan kompetensi
yang dinilai karena sikap kerja melekat pada keterampilan tersebut.

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman: 3 dari 30


Buku Penilaian – Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

DAFTAR ISI

PENJELASAN UMUM ................................................................................................... 2


DAFTAR ISI ............................................................................................................... 4
BAB I PENILAIAN TEORI ............................................................................................ 5
A. Lembar Penilaian Teori ................................................................................... 5
B. Ceklis Penilaian Teori ................................................................................... 10
BAB II PENILAIAN PRAKTIK ...................................................................................... 10
A. Lembar Penilaian Praktik .............................................................................. 11
B. Daftar Cek Unjuk Kerja Tugas Praktek........................................................... 17
BAB III PENILAIAN SIKAP KERJA .............................................................................. 19
A. CEKLIS PENILAIAN SIKAP KERJA .................................................................. 19
B. Catatan : ..................................................................................................... 20
LAMPIRAN-LAMPIRAN .............................................................................................. 21
A. Lampiran 1 Kunci Jawaban Penilaian Teori .................................................... 21
B. Lampiran 2 Kunci Jawaban Penilaian Praktek .... Error! Bookmark not defined.

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman: 4 dari 30


Buku Penilaian – Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

BAB I

PENILAIAN TEORI

A. Lembar Penilaian Teori

Unit Kompetensi : …………………………………………


Diklat : …………………………………………
Waktu : 60 menit

PETUNJUK UMUM
1. Jawablah materi tes ini pada lembar jawaban/kertas yang sudah disediakan.
2. Modul terkait dengan unit kompetensi agar disimpan.
3. Bacalah materi tes secara cermat dan teliti.

Isian
Lengkapilan kalimat di bawah ini dengan cara mencari jawabannya pada kolom sebelah
kanan dan tuliskan jawabannya saja pada kertas yang tersedia.

1. Tipe data yang digunakan untuk merepresentasikan a. Header


bilangan bulat baik positif atau negatif (KUK 1.1) b. string
2. Berikut sebuah variabel beserta nilainya c. Integer
USERNAME = “Angga@gmail.com” Tipe variabel d. Terminal point
yang tepat adalah…..(KUK 1.2) e. Fungsi
3. Variabel yang mampu menyimpan sejumlah data f. Bubble search
dengan tipe yang sama (homogen) (KUK 1.2) g. Array
4. Algoritma harus berhenti setelah mengerjakan h. Prosedur
sejumlah langkah tertentu atau terbatas (KUK 2.1) i. Finiteness.
5. Bagian teks algoritma yang digunakan sebagai j. Internal sort
tempat mendefinisikan nama dengan menentukan k. Predefined Process
apakah teks tersebut adalah program, prosedur l. Binary search
atau fungsi (KUK 2.2) m. Eksternal sort
6. Komponen yang digunakan untuk menunjukkan n. Kompleksitas ruang

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman: 5 dari 30


Buku Penilaian – Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

pelaksanaan suatu bagian prosedur (sub-proses). o. Character


(KUK 2.2 p. Input output
7. Komponen untuk memulai dan mengakhiri proses q. Kompleksitas waktu
(KUK 2.4)
8. pengurutan terhadap sekumpulan data yang
disimpan di dalam memori utama komputer (KUK
3.1)
9. Proses pencarian data dengan membandingkan
setiap eleman larik satu persatu untuk semua
elemen (KUK 3.2)
10. program yang mengerjakan tugas/aktifitas yang
spesifik dan menghasilkan suatu efek netto dan
tidak mempunyai return value (KUK 4.2)
11. program yang mengerjakan tugas/aktifitas yang
spesifik dan menghasilkan suatu efek netto dan
mempunyai return value (KUK 4.3)
12. Metode mengukur jumlah perhitungan (komputasi)
yang dikerjakan oleh komputer ketika
menyelesaikan suatu masalah dengan
menggunakan algoritma.(KUK 5.1)
13. Metode mengukur suatu algoritma dengan cara
mengformulasikan penggunaan memori yang
dibutuhkan dalam menjalankan program.(KUK 5.2)

Pilihan Ganda
Jawablah pertanyaan/pernyataan di bawah ini dengan cara memilih pilihan jawaban
yang tepat dan menuliskan huruf A/B/C/D yang sesuai dengan pilihan tersebut.
1. Merupakan sebuah tipe data dasar yang tersedia secara langsung pada suatu
bahasa pemrograman: (1.1)
a. Tipe Bentukan c. Tipe composite
b. Tipe Primitive d. Tipe inheritancel

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman: 6 dari 30


Buku Penilaian – Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

2. Tipe data yang hanya dapat digunakan untuk menyimpan dua nilai saja yaitu nilai
True/False (Benar/Salah) adalah (1.1)
a. Boolean c. String
b. Character d. Integer

3. Perhatikan dua pernyataan berikut: (KUK 1.2)


Nilai : Integer
Nilai  5
Pernyataan berikut mana yang tidak tepat untuk menjelaskan sintak algoritma
diatas
a. deklarasi variabel c. deklarasi Konstanta
b. Nilai identifier adalah 5 d. Inisialisasi variabel

4. Perhatikan dua pernyataan berikut: (KUK 1.3)


constant bobot : real  5,5
Pernyataan berikut mana yang tidak tepat untuk menjelaskan sintak algoritma
diatas
a. Deklarasi konstanta c. Nilai bobot adalah 5,5
b. Tipe data bobot adalah pecahan d. Deklarasi variabel

5. bagian teks algoritma sebagai tempat untuk mendefinisikan beberapa hal antara
lain: Nama type data adalah : (2.2)
a. header c. kamus
b. deskrepsi d. Algoritma

6. komponen untuk memberikan nilai awal variabel, menyiapkan penyimpanan di


dalam storage biasanya menggunakan kode program): (2.2)
a. Preparation c. Predefined Process
b. processing d. Terminal point

7. untuk menyederhanakan hubungan antar simbol yang letaknya berjauhan atau


rumit bila dihubungkan dengan garis dalam satu halaman: (2.4)
a. Flow direction c. Terminal connector

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman: 7 dari 30


Buku Penilaian – Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

b. Connector off page d. Connector one page

8. Pengurutan untuk data berukuran besar dan data disimpan didalam memori
hardisk: (3.1)
a. Internal sort c. Bubble sort
b. External sort d. Selection sort

9. Pencarian yang diterapkan pada sekumpulan data yang sudah terurut baik terurut
naik atau turun, dapat memberikan waktu pencarian yang cepat.(KUK 3.2)
a. Squence search c. Binary search
b. Tree search d. Bubble search

10. Perhatikan pernyataan dalam notasi algoritmik dibawah ini : (4.1)


1. main();
2. { program utama memasukkan data dan menghitung Luas segi empat}
3. Procedure HitungLuasLingkaran();
4. HitungLuasLingkaran();
Pernyataan berikut menjelaskan makna yang paling tepat tentang notasi algoritmik
pada baris ke-tiga, yaitu:
a. Dituliskan dalam komponen Deskripsi
b. Definisi prosedure HitungLuasLingkaran()
c. Mengakses prosedure HitungLuasLingkaran()
d. Deklarasi sebuah prosedur HitungLuasLingkaran() 

11. Perhatikan pernyataan dalam notasi algoritmik dibawah ini : (4.1)


1. main();
2. { program utama memasukkan data dan menghitung Luas segi empat}
3. Function HitungLuasLingkaran(input p, l :real)→real ;
4. Luas : real
5. LuasHitungLuasLingkaran(5.5,10.5);
Pernyataan berikut menjelaskan makna yang tepat tentang notasi algoritmik pada
baris ke-lima, kecuali:

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman: 8 dari 30


Buku Penilaian – Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

a. Dituliskan dalam komponen Deskripsi


b. Deklarasi function HitungLuasLingkaran()
c. Mengakses function HitungLuasLingkaran()
d. Luas diisi dengan return value pemanggilan fungsi

12. Berikut merupakan notasi-notasi yang berkaitan dengan formulasi kompleksitas


waktu algoritma, kecuali : (5.1)
a. T(n) c. O(n)
b. n d. S(p) 

13. Berikut merupakan notasi-notasi yang berkaitan dengan formulasi kompleksitas


penggunaan memori algoritma, kecuali : (5.2)
a. c c. N
b. T(n)  d. S(p)

Essay
Jawablah pertanyaan-pertanyaan di bawah ini dengan jelas dan benar!
1. ………….
2. ………..

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman: 9 dari 30


Buku Penilaian – Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

B. Ceklis Penilaian Teori

NO. NO. JAWABAN PENILAIAN


KUNCI JAWABAN KETERANGAN
KUK SOAL PESERTA K BK

Isian (menjodohkan)
1.1 1. Integer ( c )
1.2 2. string
1.2 3. Array ( g )
2.1 4. Finiteness. ( I )
2.1 5. Header (a)
2.2 6. Predefined Process ( k )
2.4 7. Terminal point (d)
3.1 8. Internal sort (j )
3.2 9. Bubble search ( f )
4.2 10. Prosedur ( h )
4.3 11. Fungsi ( e )
5.1 12 Kompleksitas waktu (Q)
5.2 13 Kompleksitas ruang (n)
Pilihan Ganda (PG)
1.1 1. B
1.1 2. B
1.2 3. c.
1.3 4. D
2.2 5. c
2.2 6. a
2.3 7. D
3.1 8. B
3.2 9. c
4.1 10. D
4.2 11. B
5.1 12. D
5.2 13. B

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman: 10 dari 30


Buku Penilaian – Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

BAB II

PENILAIAN PRAKTIK

A. Lembar Penilaian Praktik

a. Unit Kompetensi : mengimplementasikan algoritma pemrograman


b. Waktu Penyelesaian : 180 menit
c. Daftar Alat/Mesin dan Bahan :
a. Alat/Mesin: Komputer/Laptop, Microsoft word, Microsoft visio, raptor
b. Bahan: materi/buku Informasi, Lembar kerja/Instrumen, Pensil,
Peghapus Bollpint, Kertas
d. Indikator Unjuk Kerja (IUK):
1. Mengidentifikasi ragam jenis tipe data dalam algoritma pemrograman
2. Mengidentifikasi variabel dalam algoritma pemrograman
3. Mengidentifikasi konstanta dalam dalam algoritma pemrograman
4. Mengidentifikasi/menganalisis ragam jenis metode pembuatan alur
pemrograman
5. mengidentifikasi/menenentukan komponen-komponen penyusun alur
logika pemrograman
6. mengIdentifikasi/menetapkan relasi komponen penyusun alur logika
pemrograman.
7. mengidentifikasi/menetapkan alur mulai dan selesai logika pemrograman.
8. Membuat algoritma pengurutan data (sorting)
9. Membuat algoritma pencarian data (searching)
10. Mengidentifikasi penggunaaan kembali prosedur dan fungsi
11. Menggunakan prosedur
12. Menggunakan fungsi.
13. Mengidentifikasi kompleksitas waktu algoritma
14. Mengidentifikasi kompleksitas penggunaan memori algoritma

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman: 11 dari 30


Buku Penilaian – Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

e. Standar Kinerja

1) Dikerjakan selesai tepat waktu, waktu yang digunakan tidak lebih dari
yang ditetapkan.

2) Toleransi kesalahan 5% dari hasil yang harus dicapai, tetapi bukan pada
kesalahan kegiatan kritis.
f. Tugas- Abstraksi Tugas Praktik
Tugas Sesi 1
Perhatikan dan amati Gambar dibawah ini. Gambar tersebut merupakan
sebuah interface yang digunakan untuk memanipulasi data mahasiswa.

Tugas Sesi 2
Seorang programmer ingin menampilkan sederetan bilangan di piranti
keluaran. Bilangan tersebut mempunyai siifat yang spesifik, yaitu jika dibagi
dengan 3 maka sisanya adalah Nol. Deretan bilangan tersebut dibatasi dalam
suatu jangkauan nilai tertentu dengan batas bawah dan batas bawah. Nilai
batas bawah dan batas atas bersifat dinamis yang dimasukkan dari keyboard.
Dengan batas bawah=10 dan batas atas =25. Sebelum membuat kode
program programmer tersebut akan membuat algoritma menggunakan suatu
metode dengan karakteristik sebagai berikut:

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman: 12 dari 30


Buku Penilaian – Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

• merupakan keterangan yang lebih rinci tentang bagaimana setiap langkah


tau prosedur sesungguhnya dilaksanakan.
• menunjukkan setiap langkah atau prosedur dalam urutan yang tepat saat
terjadi.
• menggambarkan alur dari suatu pemecahan masalah baik secara global
dan alur pemecahan secara terperinci.
• menggambarkan urutan instruksi dari program komputer
• Penulisan deksripsi algoritma menggunakan notasi/simbol berupa gambar
• Menggunakan garis pengarah yang menghubungkan antar komponen
dalam algoritma

Tugas Sesi 3
Diberikan suatu kumpulan data bilangan yang terdiri dari lima bilangan
bertipe integer. Susunan kelima bilangan tersebut diperlihatkan dalam gambar
berikut:
Data 15 5 45 35 25
No indeks 0 1 2 3 4

Tugas Sesi 4
Diberikan dua buah data bilangan pecahan A dan B. data tersebut akan
dikelola menggunakan program komputer. system designer akan merancang
algritma yang akan mengelola data tersebut dengan ketentuan sebagai
berikut:
• Menggunakan pendekatan modular dengan memecah progam menjadi
beberapa bagian.
• Masing-masing bagian mempunya tugas-tugas yang spesifik.
• Modul InputData digunakan untuk membaca dua bilangan pecahan
tersebut yang diinputkan dari keyboard dan menyimpannya dalam variabel.
• Modul TampilData digunakan untuk menampilkan data ke piranti keluaran
yang telah dimasukkan.

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman: 13 dari 30


Buku Penilaian – Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

• Modul NilaiTerbesar digunakan untuk menganalisis dengan menentukan


nilai terbesar dari kedua data tersebut dan menampilkan ke piranti
keluaran.

Tugas Sesi 5
Diberikan suatu algoritma dalam bentuk pseudocode sebagai berikut:

Program Cetak_deret_Bilangan_habis_bagi_tiga
{ menampilakan deretan bilangan yang habis dibagi 3 antara 10 sampai 30.
Bilangan yang habis dibagi dengan 3 adalah bilangan yang jika dibagi dengan
3 sisanya adalah nol}
Deklarasi :
bil, sisa : integer
Diskripsi
bil  10
sisa  0
while bil <= 30
sisa  bil Modulo 3
if bil == 0
write(bil); {instruksi mencetak isi variable bilangan}
write(“ ”) {instruksi mencetak karakter kosong atau spasi}
n  n + 1 {tambahkan n dengan satu dan simpan ke variable n
endwhile
{ bil > 30 } { kondisi setelah pengulangan berhenti

i. Instruksi Kerja

Setelah membaca abstraksi nomor h selanjutnya ikuti instruksi kerja sebagai


berikut:
Sesi 1:
1. Identifikasikan ragam jenis tipe data sesuai kebutuhan !
2. Identifikasikan variabel sesuai kebutuhan !
3. Identifikasikan konstanta sesuai kebutuhan !

Sesi 2:
4. Identifikasi metode pembuatan alur pemrograman apa yang tepat
digunakan oleh programmer untuk menyelesaikan kasus tersebut !
5. Tentukan komponen-komponen penyusun alur logika pemrograman yang
sesui dengan metode diatas !

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman: 14 dari 30


Buku Penilaian – Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

6. Tetapkan hubungan antar komponen yang sesuai !


7. Tetapkan alur mulai dan selesai logika pemrograman ! danJelaskan proses-
prosesnya atau prinsip kerja algoritma dari awal hiingga akhir !

Sesi 3:
8. Buatlah algoritma untuk melakukan pengurutan data diatas secara menurun
dengan menggunakan metoda bubble sort dan jelaskan langkah langkah
proses pengurutannya. Kelima data tersebut harus diinputkan secara
langsung pada program. Algoritma harus dapat menampilkan data sebelum
diurutkan dan setelah data diurutkan (KUK 3.1)
9. Buatlah algoritma untuk melakukan pencarian data menggunakan metoda
squence search dan jelaskan langkah-langkah proses pencarian untuk data
X=45 dan X =30. Algoritma harus dapat :
• menampilkan pesan ke piranti keluaran, “data ditemukan, berada pada
indek ke-2”, Untuk pencarian data X=45,
• menampilkan pesan ke piranti keluaran “Data tidak ditemukan”, untuk
pencarian data X=30.

Sesi 4
10. Buatlah algoritma untuk menyelesaikan masalah yang dihadapi system
designer diatas dengan menggunakan prosedur. Buat pula struktur modul
dan keterkaitan antar modul.
11. Buatlah algoritma untuk menyelesaikan masalah yang dihadapi system
designer diatas menggunakan fungsi dengan cara memodifikasi hasil
algoritma soal Nomor 1 dan pastikan setidaknya satu modul menggunakan
fungsi. Buat pula struktur modul dan keterkaitan antar modul.

Sesi 5
12. Identifikasi dan hitunglah kompleksitas penggunaan waktu algoritma di atas
(T(n) dan O(n) (KUK 5.1) !
13. Identifkasi dan hitunglah kompleksitas penggunaan memory algoritma di
atas (S(p)). (KUK 5.2) !

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman: 15 dari 30


Buku Penilaian – Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

Lembar Kerja 1(LK-1)Identifikasi variabel, type data dan Konstanta :


Nama variabel Type data Ukuran Nama Konstanta Type data Ukuran
Variabel minimal Konstanta Konstanta
variabel

Lembar Kerja LK-2 Identifikasi metode pembuatan alur pemrograman:


Karakteristik metode pembuatan alur pseudocode System Program Struktogram ……….
logika pemrograman flowchart flowchart
(sesuai dengan abstraksi Tugas Beri tanda (  ) jika memenuhi karakteristik/sifatnya
praktek 1)
1. .…………………………….

2. …………………………….

3. …………………………….

4. …………………………….

5. …………………………….

6. …………………………..

Jumlah:

Prosentase

• Metode pembuatan/penulisan alur logika program yang komendasikan/dipilih dan


alasan pemilihannya:
…………………………………………………………………………………………………………………….

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman: 16 dari 30


Buku Penilaian – Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

…………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………….

B. Daftar Cek Unjuk Kerja Tugas Praktek


PENCAPAIAN PENILAIAN
NO DAFTAR TUGAS/INSTRUKSI POIN YANG DICEK
YA TIDAK K BK
1. Identifikasi ragam jenis tipe
data sesuai kebutuhan ! (KUK Ragam jenis tipe data
1.1)
2. Identifikasi variabel sesuai Ragam jenis variabel
kebutuhan ! (KUK 1.21) Ukuran variabel

3. Identifikasi konstanta sesuai Ragam jenis Konstanta


kebutuhan (KUK 1.3) Ukuran konstanta

4. Identifikasi metode pembuatan Jenis metode pembuatan


alur pemrograman apa yang alur logika pemrograman
tepat digunakan oleh yang sesuai
programmer untuk
menyelesaikan kasus
tersebut.(KUK 2.1)
5. Tentukan komponen-komponen Komponen-komponen
penyusun alur logika besrta label penyusun
pemrograman yang sesui algoritma yang sesuai
dengan metode diatas (KUK
2.2)
6. Tetapkan hubungan antar Relasi/hubungan antar
komponen yang sesui dengan komponen
metode diatas (KUK 2.3)
7. Tetapkan alur mulai dan selesai • Alur logika dari mulai
logika pemrograman dan sampai selesai
Jelaskan proses-prosesnya atau • Langkah-langkah proses
prinsip kerja algoritma dari awal
hingga akhir ! (KUK 2.4)
8. Buatlah algoritma untuk • Komponen header
melakukan pengurutan data • komponendeklarasi
menggunakan metoda bubble • Menginputkan data
sort(KUK 3.1) • Definisi Tampil data sblm
diurutkan
• Definisi Pengurutan data
• Definisi Tampil data stlh
diurutkan
9 Buatlah algoritma untuk • Komponen header
melakukan pencarian data • Komponen deklarasi
menggunakan metoda squence • Definisi Menginputkan data
search(KUK 3.2) • Definisi Tampil data
• Definisi Pencarian data
• Definisi Tampil pesan
10 Buatlah algoritma untuk • Struktur dan keterkaitan
menyelesaikan masalah yang modul
dihadapi system designer diatas • Modul main
dengan menggunakan prosedur • Modul InputData
(KUK 4.1) • Modul TampilData
• Modul NilaiTerbesar

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman: 17 dari 30


Buku Penilaian – Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

PENCAPAIAN PENILAIAN
NO DAFTAR TUGAS/INSTRUKSI POIN YANG DICEK
YA TIDAK K BK

11 Buatlah algoritma untuk • Struktur dan keterkaitan


menyelesaikan masalah yang modul
dihadapi system designer diatas • Modul main
dengan menggunakan fungsi. • Modul InputData
(KUK 4.2) • Modul TampilData
• Modul NilaiTerbesar

12 Identifkasi dan hitunglah • Nilai kompleksitas waktu


kompleksitas penggunaan T(n)
waktu algoritma di atas ( T(n)
dan O(n) ) (KUK 5.1) !
13 Identifkasikan dan hitunglah • Nilai kompleksitas ruang
kompleksitas penggunaan S(P)
memory algoritma diatas (KUK
5.2) !

Apakah semua instruksi kerja tugas praktik mengimplementasikan algoritma


pemrograman dilaksanakan dengan benar dengan waktu yang telah
ditentukan?

YA TIDAK

NAMA TANDA TANGAN

PESERTA .............................................. ...................................

PENILAI .............................................. ...................................

Catatan Penilai:
…………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………….
Tanda Tangan Perserta Pelatihan : ………………………………………

Tanda Tangan Instruktur : ………………………………………

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman: 18 dari 30


Buku Penilaian – Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

BAB III. PENILAIAN SIKAP KERJA

A. CEKLIS PENILAIAN SIKAP KERJA


Judul Unit Kompetensi : MENGGUNAKAN SPESIFIKASI PROGRAM J.620100.009.02
INDICATOR UNJUK KERJA NO. KUK K BK KETERANGAN
1. Mengidentifikasi ragam jenis tipe data dalam algoritma 1.1
pemrograman secara Cermat, tepat, teliti dan sesuai
kebutuhannya
2. Mengidentifikasi variabel dalam algoritma 1.2
pemrograman secara Cermat, tepat, teliti dan sesuai
kebutuhannya.
3. Mengidentifikasi konstanta dalam dalam algoritma 1.3
pemrograman secara Cermat, tepat, teliti dan sesuai
kebutuhannya dalam
4. Harus cermat, tepat, teliti dan sesuai dengan 2.1
kebutuhan yang telah ditentukan dalam
mengidentifikasi/menganalisis ragam jenis metode
pembuatan alur pemrograman
5. Harus cermat, tepat teliti sesuai dengan kebutuhan 2.2
yang telah ditentukan dalam
mengidentifikasi/menenentukan komponen-komponen
penyusun alur logika pemrograman
6. Harus cermat, tepat teliti sesuai dengan kebutuhan 2.3
yang ditentukan dalam mengidentifikasi/menetapkan
relasi komponen penyusun alur logika pemrograman.
7. Harus cermat, tepat teliti sesuai dengan kebutuhan 2.4
yang ditentukan dalam mengidentifikasi/menetapkan
alur mulai dan selesai logika pemrograman
8. Cermat, tepat, teliti dan sesui dengan spesifikasi 3.1
kebutuhan dalam membuat algoritma pengurutan data
(sorting)
9. Cermat, tepat, teliti dan sesui dengan spesifikasi 3.2
kebutuhan dalam membuat algoritma pengurutan data
(sorting)
10. Cermat, tepat, teliti dan sesui dengan spesifikasi 4.1
kebutuhan dalam Mengidentifikasi penggunaaan
kembali prosedur dan fungsi
11. Cermat, tepat, teliti dan sesui dengan spesifikasi 4.2
kebutuhan dalam Menggunakan prosedur
12. Cermat, tepat, teliti dan sesui dengan spesifikasi 5.1
kebutuhan dalam mengidentifikasi kompleksitas waktu
algoritma
13. Cermat, tepat, teliti dan sesui dengan spesifikasi 5.2
kebutuhan dalam mengidentifikasi kompleksitas
penggunaan memory algoritma

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman: 19 dari 30


Buku Penilaian – Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

B. Catatan:

……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………

Tanda Tangan Peserta : ……………………………………

Tanda Tangan Instruktur : …………………………………

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman: 20 dari 30


Buku Penilaian – Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

LAMPIRAN-LAMPIRAN

A. Lampiran 1Kunci Jawaban Penilaian Teori

NO. NO. JAWABAN PENILAIAN


KUNCI JAWABAN KETERANGAN
KUK SOAL PESERTA K BK

Isian (menjodohkan)
1.1 11. Integer ( c )
1.2 12. string
1.2 13. Array ( g )
2.1 14. Finiteness. ( I )
2.1 15. Header (a)
2.2 16. Predefined Process ( k )
2.4 17. Terminal point (d)
3.1 18. Internal sort (j )
3.2 19. Bubble search ( f )
4.2 20. Prosedur ( h )
4.3 11. Fungsi ( e )
5.1 12 Kompleksitas waktu (Q)
5.2 13 Kompleksitas ruang (n)
Pilihan Ganda (PG)
1.1 14. B
1.1 15. B
1.2 16. c.
1.3 17. D
2.2 18. c
2.2 19. a
2.3 20. D
3.1 21. B
3.2 22. c
4.1 23. D
4.2 24. B
5.1 25. D
5.2 26. B

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman: 21 dari 30


Buku Penilaian – Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

B. Lampiran 2 Kunci Jawaban Penilaian Praktek

Lembar Kerja 1(LK-1) Identifikasi variabel, type data dan Konstanta :


Nama variabel Type data Ukuran Nama Konstanta Type data Ukuran
Variabel minimal Konstanta Konstanta
variabel

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman: 22 dari 30


Buku Penilaian – Versi 2018
Modul Pelatihan Berbasis Kompetensi Kode Modul
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa J.620100.022.02
Perangkat Lunak

Lembar Kerja LK-2 Identifikasi metode pembuatan alur pemrograman:


Karakteristik metode pembuatan alur pseudocode System Program Struktogram Flowchart
logika pemrograman flowchart flowchart Skematik
(sesuai dengan abstraksi Tugas Beri tanda (  ) jika memenuhi karakteristik/sifatnya
praktek 1)
7. .…………………………….

8. …………………………….

9. …………………………….

10. …………………………….

11. …………………………….

12. …………………………..

Jumlah:

Prosentase

• Metode pembuatan/penulisan alur logika program yang komendasikan/dipilih dan


alasan pemilihannya:
…………………………Program flowchart…………………………………………………………….
…………………………………………………………………………………………………………………….

Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Halaman: 23 dari 30


Buku Penilaian – Versi 2018

Anda mungkin juga menyukai