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
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. (abdmunif@gmail.com)
Penelaah:
Mardiana,S.Pd.,M.Pd. (dianarachman.pte@gmail.com)
Dr. A. Rahman Rahim, M.Hum. (rahimrahman23@yahoo.com) Desain Grafis dan Ilustrasi:
Aeril Imrat (aerilimrat22@gmail.com)
Copyright © 2018
Direktorat Pembinaan Guru Pendidikan Dasar Direktorat Jenderal Guru dan Tenaga Kependidikan Kementerian Pendidikan dan Kebudayaan
Hak Cipta Dilindungi Undang-Undang Dilarang mengcopy sebagian atau keseluruhan isi buku ini untuk kepentingan komersial tanpa izin tertulis dari Kementerian Pendidikan Kebudayaan.
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek
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,
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
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.
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
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:
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
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Modul - Versi 2018
Halaman 9 dari 13
Elemen Kompetensi Kriteria Unjuk Kerja Indikator Unjuk Kerja Materi Diklat Diklat (JP) Waktu 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
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
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek Modul - Versi 2018
Halaman 11 dari 13
Elemen Kompetensi Kriteria Unjuk Kerja Indikator Unjuk Kerja Materi Diklat Diklat (JP) Waktu 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
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
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
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 ... 6MENJELASKAN 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
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
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
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
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.
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.
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’}
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}
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 :
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 :
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.
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
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
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).
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
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.
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:
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
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
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.
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
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 :
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:
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.“
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“
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 :
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.
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
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
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 <=8
kolom = 1, kolom <=8
hasil_kali = baris * kolom
Cetak hasil kali
Cetak baris = baris + 1 kolom = kolom + 1 Pindah baris False True Selesai
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
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[2]<=L[3]…<=L[n]
Sedangkan pengurutan menurun berarti menyusun elemen larik sedemikian hingga
L[1]>=L[2]>=L[3]…>=L[n]
Data yang diurutkan dapat berupa data tipe dasar atau tipe rekaman. Jika data bertipe rekaman maka harus dijelaskan berdasarkan field apa data tersebut diurutkan. Field yang dijadikan dasar pengurutan dikenal sebagai fieldkey.
Berdasarkan media pengurutannya sorting dibedakan menjadi :
1. Pengurutan internal : yaitu pengurutan terhadap sekumpulan data yang disimpan di dalam memori utama komputer. Umumnya struktur internal yang dipakai pada pengurutan internal adalah larik sehingga pengurutan internal dikenal juga sebagai pengurutan larik.
2. Pengurutan eksternal : yaitu pengurutan yang disimpan di dalam memori sekunder, biasanya data berukuran besar sehingga tidakmampu dimuat semuanya dalam memorikomputer. Model ini disebut juga sebagai pengurutan arsip (file) karena struktur eksternal yang dipakai adalah arsip. Berdasakan algoritmanya dikenal beberapa metoda sorting yaitu :1) Bubble sort, 2) Selection sort (maximumsort dan minimum sort), 3) Insertion sort, 4) Quick short, 5) Merge sort, 6) Heap sort, 7) Shell short, 8) Radix sort, 9) Tree sort
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek
Buku Informasi – Versi 2018 Halaman: 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:
Judul Modul: Instruksi Dasar Pemrograman Berorientasi Obyek
Buku Informasi – Versi 2018 Halaman: 35 dari 71 Langkah-langkah Pengurutan naik menggunakan metode bubble sort
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 :
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
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
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.