-
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
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek
Modul - Versi 2018 Halaman: 2 dari 13
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. ([email protected])
Penelaah:
Mardiana,S.Pd.,M.Pd. ([email protected])
Dr. A. Rahman Rahim, M.Hum. ([email protected])
Desain Grafis dan Ilustrasi:
Aeril Imrat ([email protected])
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.
-
Modul Pelatihan Berbasis Kompetensi
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek
Modul - Versi 2018 Halaman: 3 dari 13
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
-
Modul Pelatihan Berbasis Kompetensi
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek
Modul - Versi 2018 Halaman: 4 dari 13
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
-
Modul Pelatihan Berbasis Kompetensi
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek
Modul - Versi 2018 Halaman: 5 dari 13
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 invarian
1.1 Tipe data telah dijelaskan sesuai kaidah pemrograman.
1.2 Variabel telah dijelaskan sesuai kaidah
pemrograman.
1.3 Konstanta telah dijelaskan sesuai kaidah
pemrograman.
2. Membuat alur logika pemrograman
2.1 Metode yang sesuai ditentukan.
2.2 Komponen yang dibutuhkan ditentukan.
2.3 Relasi antar komponen ditetapkan.
2.4 Alur mulai dan selesai ditetapkan.
3 Menerapkan teknik dasar
algoritma umum
3.1 Algoritma untuk sorting dibuat.
3.2 Algoritma untuk searching dibuat.
4 Menggunakan prosedur dan
fungsi
4.1 Konsep penggunaan kembali prosedur dan fungsi
dapat diidentifikasi.
4.2 Prosedur dapat digunakan.
4.3 Fungsi dapat digunakan.
5 Mengidentifikasikan
kompleksitas algoritma
5.1 Kompleksitas waktu algoritma diidentifikasi.
5.2 Kompleksitas penggunaan memory algoritma diidentifikasi.
-
Modul Pelatihan Berbasis Kompetensi
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek
Modul - Versi 2018 Halaman: 6 dari 13
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
-
Modul Pelatihan Berbasis Kompetensi
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek
Modul - Versi 2018 Halaman: 7 dari 13
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
-
Modul Pelatihan Berbasis Kompetensi
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa Perangkat Lunak Kode Modul
J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Modul - Versi 2018
Halaman 8 dari 13
C. Silabus Diklat
Judul Unit Kompetensi : mengimplementasikan algoritma pemrograman
Kode Unit Kompetensi : J.620100.022.02
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 :
Elemen Kompetensi Kriteria Unjuk
Kerja Indikator Unjuk
Kerja
Materi Diklat Perkiraan
Waktu
Diklat (JP)
Pengetahuan (P) Keterampilan (K) Sikap (S) P K
1. Menjelaskan varian
dan invarian
1.1. Tipe data telah dijelaskan sesuai
kaidah pemrograman
• menjelaskan tipe data
• mengidentifikasi
ragam jenis tipe data
• Menyajikan hasil identifikasi ragam
jenis tipe data dengan benar, tepat, teliti dan
sesuai kaidah pemrograman
Ragam jenis tipe data
identifikasi ragam jenis tipe data
Harus benar, tepat, teliti dan
sesuai kaidah pemrograman
15’ 30’
1.2. Variabel telah
dijelaskan sesuai kaidah
pemrograman.
• menjelaskan variabel
• mengidentifikasi ragam jenis variabel
• Menyajikan hasil
identifikasi ragam jenis variabel dengan
benar, tepat, teliti
dan sesuai kaidah pemrograman
Variabel identifikasi ragam jenis
variabel
Harus benar,
tepat, teliti dan sesuai kaidah
pemrograman
15’ 30’
1.3. Konstanta telah dijelaskan sesuai
• menjelaskan
konstanta
Konstanta identifikasi ragam jenis konstanta
Harus benar, tepat, teliti dan
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Modul - Versi 2018
Halaman 9 dari 13
Elemen Kompetensi Kriteria Unjuk
Kerja
Indikator Unjuk
Kerja
Materi Diklat Perkiraan
Waktu
Diklat (JP)
Pengetahuan (P) Keterampilan (K) Sikap (S) P K
kaidah
pemrograman
• mengidentifikasi ragam jenis
konstanta
• Menyajikan hasil
identifikasi ragam jenis konstanta
dengan benar, tepat, teliti dan sesuai
kaidah pemrograman
sesuai kaidah
pemrograman
2. Membuat alur logika pemrograman
2.1. Metode yang sesuai
ditentukan.
• menjelaskan ragam
jenis metode pembuatan alur logika
pemrograman
• mengidentifikasi ragam jenis metode
pembuatan alur logika
pemrograman
• menyajikan hasil analisis ragam jenis
metode pembuatan alur logika
pemrograman secara
cermat, tepat, teliti dan sesuai ketentuan
Ragam jenis metode pembuatan alur logika
pemrograman
• Bahasa natural
• Pseudocode
• flowchart
Identifikasi/analisis ragam jenis metode
pembuatan alur pemrograman
Harus cermat, tepat, teliti dan
sesuai dengan kebutuhan yang
telah ditentukan
15’ 30’
2.2. Komponen yang dibutuhkan
ditentukan.
• menjelaskan
komponen-komponen dalam penulisan
algoritma
• menentukan ragam
jenis komponen sesuai dengan kebutuhan
• menyajikan hasil
penentuan ragam jenis komponen secara
• Komponen-
Komponen dalam pembuatan alur
logika
pemrograman algoritma
• Struktur penulisan
algoritma
Identifikasi/penentuan komponen-komponen
penyusun alur logika
pemrograman.
Harus cermat, tepat teliti sesuai
dengan
kebutuhan yang telah ditentukan
15’ 30’
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Modul - Versi 2018
Halaman 10 dari 13
Elemen Kompetensi Kriteria Unjuk
Kerja
Indikator Unjuk
Kerja
Materi Diklat Perkiraan
Waktu
Diklat (JP)
Pengetahuan (P) Keterampilan (K) Sikap (S) P K
cermat, tepat, teliti
dan sesuai ketentuan
yang dibutuhkan
2.3. Relasi antar
komponen ditetapkan.
• Menjelaskan relasi
antar komponen
• Menetapkan relasi
antar komponen
• Menyajikan data penetapan relasi
komponen secara cermat, tepat, teliti
dan sesuai ketentuan yang dibutuhkan
• Relasi antar
komponen
Identifikasi/penetapan
relasi komponen penyusun alur logika
pemrograman.
Harus cermat,
tepat teliti sesuai dengan
kebutuhan yang ditentukan
2.4. Alur mulai dan
selesai ditetapkan.
• Menjelaskan alur mulai dan selesai
• Menetapkan alur mulai
dan selesai
• Menyajikan data penetapan alur mulai
dan selesai secara
cermat, tepat, teliti dan sesuai ketentuan
yang dibutuhkan
• Alur mulai algoritma
• Alur selesai algoritma
Identifikasi/penetapan
alur mulai dan selesai logika pemrograman.
Harus cermat,
tepat teliti sesuai dengan
kebutuhan yang
ditentukan
3. Menerapkan teknik dasar algoritma umum
3.1. Algoritma untuk
sorting dibuat.
• menjelaskan algoritma
sorting
• membuat algoritma
sorting
• Menyajikan data hasil algoritma sorting
secara cermat, tepat, teliti dan sesuai
spesifikasi
• Algoritma sorting
• Pembuatan algoritma
sorting
Harus cermat,
tepat, teliti dan sesuai dengan
spesifikasi
15’ 30’
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Modul - Versi 2018
Halaman 11 dari 13
Elemen Kompetensi Kriteria Unjuk
Kerja
Indikator Unjuk
Kerja
Materi Diklat Perkiraan
Waktu
Diklat (JP)
Pengetahuan (P) Keterampilan (K) Sikap (S) P K
3.2. Algoritma untuk
searching dibuat. • menjelaskan algoritma
sorting
• membuat algoritma
sorting
• Menyajikan data hasil
algoritma sorting secara cermat, tepat,
teliti dan sesuai spesifikasi
• Algoritma searching • Pembuatan algoritma sorting.
Harus cermat,
teliti dan tepat
sesuai dengan spesifikasi
15’ 30’
4. Menggunakan
prosedur dan fungsi
4.1. Konsep
penggunaan kembali prosedur
dan fungsi dapat diidentifikasi.
• menjelaskan fungsi,
prosedur dan reusable
• menggunakan fungsi
dan prosedur
• Menyajikan hasil penggunaan fungsi
dan prosedur secara cermat, tepat, teliti
dan sesuai spesifikasi
• Konsep fungsi
• Konep prosedur
• Konsep reusable
• Identifikasi fungsi dan
prosedur
Harus cermat,
tepat, teliti dan sesuai dengan
spesifikasi
4.2. Prosedur dapat digunakan.
• Menggunakan
prosedur
• Menyajikan hasil penerapan prosedur
• konsep prosedur • Penerapan prosedur Harus cermat, tepat, teliti dan
sesuai dengan
spesifikasi
4.3. Fungsi dapat
digunakan.
• Menggunakan fungsi
• Menyajikan hasil
penerapan fungsi
• konsep fungsi • Penerapan fungsi Harus cermat,
tepat, teliti dan sesuai dengan
spesifikasi
5. Mengidentifikasikan kompleksitas
algoritma
5.1. Kompleksitas waktu algoritma
diidentifikasi.
• Menjelaskan
kompleksitas waktu algoritma
• Mengidentifikasi
kompleksitas waktu algoritma
• Menyajikan hasil
identifikasi
• Konsep kompleksitas
waktu algoritma
• Identifikasi
kompleksitas waktu algoritma
Harus cermat, tepat, teliti dan
sesuai dengan spesifikasi
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Modul - Versi 2018
Halaman 12 dari 13
Elemen Kompetensi Kriteria Unjuk
Kerja
Indikator Unjuk
Kerja
Materi Diklat Perkiraan
Waktu
Diklat (JP)
Pengetahuan (P) Keterampilan (K) Sikap (S) P K
kompleksitas waktu
algoritma
5.2. Kompleksitas penggunaan
memory
algoritma diidentifikasi.
• Menjelaskan
kompleksitas pengunaan memory
algoritma
• Mengidentifikasi
kompleksitas pengunaan memory
algoritma
• Menyajikan hasil identifikasi
kompleksitas pengunaan memory
algoritma
• Konsep kompleksitas
pengunaan memory algoritma
• Identifikasi
kompleksitas penggunaan memory
algoritma
Harus cermat, tepat, teliti dan
sesuai dengan
spesifikasi
-
Modul Pelatihan Berbasis Kompetensi
Sektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek
Modul - Versi 2018 Halaman: 13 dari 13
LAMPIRAN
A. BUKU INFORMASI
B. BUKU KERJA
C. BUKU PENILAIAN
-
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 Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 2 dari 71
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
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 3 dari 71
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
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 4 dari 71
DAFTAR PUSTAKA .................................................................................................... 69
DAFTAR ALAT DAN BAHAN ....................................................................................... 70
A. Daftar Peralatan/Mesin .................................................................................... 70
B. Daftar Bahan .................................................................................................. 70
DAFTAR PENYUSUN ................................................................................................. 71
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 5 dari 71
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
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 6 dari 71
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:
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 7 dari 71
• 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
https://2.bp.blogspot.com/-R5rLg67fTPw/WK6kj-zXYNI/AAAAAAAAAQM/2q9kefIwcbQnFNFGees_YVKdaBrRH0eiACLcB/s1600/1.png
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 8 dari 71
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’}
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 9 dari 71
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}
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 10 dari 71
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 }
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 11 dari 71
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 :
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 12 dari 71
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.
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 13 dari 71
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
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 14 dari 71
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
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 15 dari 71
(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
https://andikafisma.files.wordpress.com/2010/02/5.jpg
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 16 dari 71
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
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 17 dari 71
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.
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 18 dari 71
• 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:
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 19 dari 71
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
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 20 dari 71
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
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 21 dari 71
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
mponen
Nama
Notasi/Simbol
Keterangan
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
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 22 dari 71
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 /
Simbol Proses
Terdefinisi
untuk menunjukkan pelaksanaan suatu bagian
prosedur (sub-proses). Dengan kata lain, prosedur
yang terinformasi di sini belum detail dan akan dirinci
di tempat lain
Flow Direction Symbol
/ Simbol Arus
untuk menghubungkan antara simbol yang satu
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
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 23 dari 71
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 :
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 24 dari 71
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
1
Operand
2
Operator Ekspresi
kondisi
Hasil
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:
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 25 dari 71
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.“
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 26 dari 71
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“
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 27 dari 71
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 :
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 28 dari 71
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.
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 29 dari 71
• 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
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 30 dari 71
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
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 31 dari 71
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
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 32 dari 71
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
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 33 dari 71
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[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
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 34 dari 71
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
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 35 dari 71
Langkah-langkah Pengurutan naik menggunakan metode bubble sort
Gambar algoritma (pseudoce) pengurutan naik metoda bubble soft
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 36 dari 71
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
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 37 dari 71
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
j I
m
a
k
s
Imaks j
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 38 dari 71
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
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 39 dari 71
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.
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 40 dari 71
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.
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 41 dari 71
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
-
Modul Pelatihan Berbasis Kompetensi Sektor Teknologi Informasi dan Komunikasi Sub Sektor
Rekayasa Perangkat Lunak
Kode Modul J.620100.022.02
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Buku Informasi – Versi 2018 Halaman: 42 dari 71
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 t