modul · 2019. 7. 28. · modul - versi 2018 halaman 9 dari 13 kriteria unjuk kerja indikator unjuk...

150

Upload: others

Post on 30-Jan-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

  • 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