buku informasi - wordpress.com

89

Upload: others

Post on 18-Jan-2022

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BUKU INFORMASI - WordPress.com
Page 2: BUKU INFORMASI - WordPress.com

BUKU INFORMASI

MENGIMPLEMENTASIKANPEMROGRAMAN BERORIENTASI OBJEK

J.620100.018.02

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN R.I.DIREKTORAT JENDERAL GURU DAN TENAGA KEPENDIDIKAN

LEMBAGA PENGEMBANGAN DAN PEMBERDAYAAN PENDIDIK DAN TENAGA KEPENDIDIKANBIDANG KELAUTAN, PERIKANAN,

DAN TEKNOLOGI INFORMASI DAN KOMUNIKASIGOWA

Page 3: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 2 dari 87

DAFTAR ISI

DAFTAR ISI ................................................................................................ 2DAFTAR GAMBAR........................................................................................ 4DAFTAR LISTING ........................................................................................ 6DAFTAR TABEL ........................................................................................... 7BAB I PENDAHULUAN ................................................................................. 8

A. TUJUAN UMUM ......................................................................... 8B. TUJUAN KHUSUS ...................................................................... 8

BAB II Membuat program berorientasi obyek dengan memanfaatkan class ... 9A. Pengetahuan yang Diperlukan dalam Membuat Program

Berorientasi Obyek dengan Memanfaatkan Class ........................... 91. Konsep Class dan Object ..................................................... 92. Method .............................................................................. 133. Data Variabel ...................................................................... 144. Modifier .............................................................................. 185. Implementasi Pembuatan Class dan Object........................... 25

B. Keterampilan yang Diperlukan dalam Membuat ProgramBerorientasi Obyek dengan Memanfaatkan Class .......................... 28

C. Sikap Kerja yang Diperlukan dalam Membuat Program

Berorientasi Obyek dengan Memanfaatkan Class........................... 28BAB III Menggunakan Tipe Data dan Control Program Pada Metode AtauOperasi Dari Suatu Kelas ............................................................................ 29

A. Pengetahuan yang Diperlukan dalam Tipe Data dan ControlProgram Pada Metode Atau Operasi Dari Suatu Kelas .................... 291. Variabel, tipe data dan konstanta ......................................... 302. Control Program..................................................................

B. Keterampilan yang Diperlukan dalam Tipe Data dan ControlProgram Pada Metode Atau Operasi Dari Suatu Kelas ............................ 37C. Sikap Kerja yang Diperlukan dalam Tipe Data dan ControlProgram Pada Metode Atau Operasi Dari Suatu Kelas ............................ 37

BAB IV Membuat Program Dengan Konsep Berbasis Obyek ........................... 38

Page 4: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 3 dari 87

A. Pengetahuan yang Diperlukan dalam Membuat ProgramDengan Konsep Berbasis Obyek ................................................... 38

1. Inheritance ....................................................................... 382. Constructor....................................................................... 433. Polymorphism dan Overriding ............................................ 45

B. Keterampilan yang Diperlukan dalam Membuat ProgramDengan Konsep Berbasis Obyek ................................................... 48

C. Sikap Kerja yang Diperlukan dalam Membuat ProgramDengan Konsep Berbasis Obyek ................................................... 48

BAB V Membuat Program Object Oriented Dengan Interface dan Paket .......... 49A. Pengetahuan yang Diperlukan dalam Program Object

Oriented Dengan Interface dan Paket........................................... 491. Interface .......................................................................... 492. Langkah Pembuatan Interface ........................................... 513. Membuat paket dengan program ....................................... 57

B. Keterampilan yang Diperlukan dalam Membuat Program ObjectOriented Dengan Interface dan Paket........................................... 72

C. Sikap Kerja yang Diperlukan dalam Membuat Program ObjectOriented Dengan Interface dan Paket ........................................... 73

BAB VI Mengkompilasi Program ................................................................... 74

A. Pengetahuan yang Diperlukan dalam Mengkompilasi Program ....... 741. Perbaikan Kesalahan ......................................................... 742. Program Debugging .......................................................... 78

B. Keterampilan yang Diperlukan dalam Mengkompilasi Program ....... 84C. Sikap Kerja yang Diperlukan dalam Mengkompilasi Program .......... 84

DAFTAR PUSTAKA ...................................................................................... 85A. Buku Referensi ........................................................................... 85B. Referensi Lainnya ....................................................................... 85

DAFTAR ALAT DAN BAHAN ......................................................................... 86A. DAFTAR PERALATAN/MESIN ....................................................... 86B. DAFTAR BAHAN ......................................................................... 86

DAFTAR PENYUSUN ................................................................................... 87

Page 5: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 4 dari 87

DAFTAR GAMBAR

Gambar 2.1 Analogi class dan object ........................................................... 9Gambar 2.2 Contoh diagram class ......................................................................... 11Gambar 2.3 Ruang lingkup .................................................................................. 11Gambar 2.4 Pembuatan class dan object ............................................................... 12Gambar 2.5 Ilustrasi class dan objek ..................................................................... 13Gambar 2.6 Bagian method .................................................................................. 13Gambar 2.7 Sintaks penulisan method ................................................................... 14Gambar 2.8 Member Variabel dan Local Variabel .................................................... 16Gambar 2.9 Tampilan IDE Netbeans...................................................................... 23Gambar 2.10 Penentuan jenis project .................................................................... 23Gambar 2.11 Pengisian parameter project ............................................................. 24Gambar 2.12 Pembuatan class .............................................................................. 25Gambar 2.13 Pengisian Class Name....................................................................... 25Gambar 4.1 Contoh Hierarki Class Sepeda ............................................................ 38Gambar 4.2 Hasil output program ......................................................................... 44Gambar 4.3 Hasil Output ...................................................................................... 48Gambar 5.1 Contoh interface ................................................................................ 50Gambar 5.2 Contoh class yang mengimplementasikan interface............................... 50Gambar 5.3 Tampilan IDE Netbeans...................................................................... 51Gambar 5.4 Penentuan jenis project...................................................................... 51Gambar 5.5 Pengisian parameter project Interface ................................................. 52Gambar 5.6 Pembuatan interface .......................................................................... 52Gambar 5.7 Pengisian Class Name ........................................................................ 53Gambar 5.8 Pembuatan Java Class........................................................................ 54Gambar 5.9 Pengisian nama Class......................................................................... 54Gambar 5.10 Hasil generate listing Netbeans ......................................................... 55Gambar 5.11 Hasil output program........................................................................ 56Gambar 5.12 Tampilan Dialog box Open Project ..................................................... 57Gambar 5.13 Menu Clean and Build Project............................................................ 58Gambar 5.14 Hasil dari Pembuatan file JAR............................................................ 58Gambar 5.15 Setup EXE4J .................................................................................... 59Gambar 5.16 Persetujuan Lisensi .......................................................................... 60Gambar 5.17 Pemilihan direktori instalasi............................................................... 60

Page 6: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 5 dari 87

Gambar 5.18 Tampilan awal EXE4J ....................................................................... 61Gambar 5.19 Pemilihan Tipe project ...................................................................... 62Gambar 5.20 Pengisian nama aplikasi dan output direktori ...................................... 62Gambar 5.21 Tipe executable ............................................................................... 63Gambar 5.22 Pengisian file JAR dan Main Class ...................................................... 64Gambar 5.23 Konfigurasi JRE................................................................................ 64Gambar 5.24 Persetujuan lisensi Inno Setup .......................................................... 65Gambar 5.25 Pemilihan folder instalasi .................................................................. 66Gambar 5.26 Pembuatan shortcut ......................................................................... 66Gambar 5.27 Instalasi Inno Setup Preprocessor...................................................... 67Gambar 5.28 Pemilihan Tipe installer..................................................................... 68Gambar 5.29 Dialog pengisian parameter aplikasi ................................................... 68Gambar 5.30 Spesifikasi folder hasil instalasi.......................................................... 69Gambar 5.31 Spesifikasi Aplikasi ........................................................................... 69Gambar 5.32 Spesifikasi shortcut aplikasi............................................................... 70Gambar 5.33 Dokumentasi Aplikasi ....................................................................... 70Gambar 5.34 Pemilihan Bahasa............................................................................. 71Gambar 5.35 Penentuan folder hasil pembuatan installer ........................................ 71Gambar 5.36 Dialog kompilasi script...................................................................... 72Gambar 6.1 Hasil output program pembagian ........................................................ 76Gambar 6.2 Output hasil pembagian dengan bilangan 0.......................................... 77Gambar 6.3 Pesan kesalahan dari sistem ............................................................... 77Gambar 6.4 Proses debugging .............................................................................. 83Gambar 6.5 Menu Debugging ............................................................................... 83Gambar 6.6 Tampilan debugger ............................................................................ 84

Page 7: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 6 dari 87

DAFTAR LISTING

Listing 2.1 Method berupa prosedur tanpa parameter ............................................. 15Listing 2.2 Method berupa fungsi dengan parameter dan return value integer........... 15Listing 2.3 Penggunaan modifier public.................................................................. 18Listing 2.4 Penggunaan dan pengaksesan modifier private ...................................... 19Listing 2.5 Penggunaan modifier protected ............................................................ 20Listing 2.6 Deklarasi Member Variabel ................................................................... 26Listing 2.7 Pembuatan Setter Method .................................................................... 26Listing 2.8 Getter Method ..................................................................................... 27Listing 2.9 Pembuatan object didalam main method ............................................... 27Listing 3.1 Penggunaan tipe data dan variabel........................................................ 31Listing 3.2 Struktur percabangan menggunakan IF ................................................. 34Listing 3.3 Struktur percabangan menggunakan switch ........................................... 35Listing 3.4 Contoh perulangan .............................................................................. 36Listing 4.1 Class Sepeda....................................................................................... 40Listing 4.2 Class SepedaGunung............................................................................ 40Listing 4.3 Class SepedaBalap ............................................................................... 41Listing 4.4 Class SepedaMotor............................................................................... 41Listing 4.5 Class Sepeda 2 Tak.............................................................................. 42Listing 4.6 Class Seped 4 Tak................................................................................ 42Listing 4.7 Super class Pesawat dengan 2 (dua) constructor method ........................ 43Listing 4.8 Sub class PesawatKomersil ................................................................... 44Listing 4.9 Super Class Guru ................................................................................. 45Listing 4.10 Sub Class Mapel................................................................................. 46Listing 4.11 Sub class Jam Mengajar ..................................................................... 47Listing 4.12 Class Sekolah .................................................................................... 47Listing 5.1 Interface Rumah.................................................................................. 53Listing 5.2 Kode program class RumahSewa........................................................... 55Listing 5.3 Class RumahSewa................................................................................ 56Listing 6.1 Contoh program sederhana .................................................................. 76Listing 6.2 Perbaikan kesalahan program ............................................................... 77

Page 8: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 7 dari 87

DAFTAR TABEL

Tabel 2.1 Nilai atau isi dari masing-masing atribut .................................................. 10

Tabel 2.2 Scope akses modifier.................................................................... 22

Page 9: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 8 dari 87

BAB IPENDAHULUAN

A. TUJUAN UMUMSetelah mempelajari modul ini peserta diharapkan mampu membuatperangkat lunak aplikasi dalam bahasa pemrograman berorientasi objek

B. TUJUAN KHUSUS MENGIMPLEMENTASIKAN PEMROGRAMANBERBASIS OBYEK

Adapun tujuan mempelajari unit kompetensi melalui buku informasiMengimplementasikan Pemrograman Berorientasi Objek ini gunamemfasilitasi peserta sehingga pada akhir diklat diharapkan memilikikemampuan sebagai berikut:1. Membuat program berorientasi objek dengan memanfaatkan class2. Menggunakan tipe data dan control program pada metode atau operasi

dari suatu kelas3. Membuat program dengan konsep berbasis objek4. Membuat program object oriented dengan interface dan paket5. Mengkompilasi program

Page 10: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 9 dari 87

BAB IIMEMBUAT PROGRAM BERORIENTASI OBJEK

DENGAN MEMANFAATKAN CLASS

A. Pengetahuan yang Diperlukan dalam Membuat ProgramBerorientasi Objek dengan Memanfaatkan Class

1. Konsep Class dan ObjectParadigma pemrograman berorientasi objek adalah

merepresentasikan sebuah permasalahan kedalam bentuk class danobject. Seorang programmer diupayakan untuk membuat program lebihdekat dengan memodelkan cara orang berpikir seperti dunia nyata.Class dan object adalah sebuah konsep yang saling berkaitan erat dantidak dapat dipisahkan. Class merupakan cetak biru atau kerangkadalam pembuatan program, sedangkan object adalah hasil instanceatau penciptaan dari sebuah class. Class merupakan prototipe yangmendefinisikan attribute dan behavior secara umum. Saat implementasikedalam sebuah program attribute dimodelkan sebagai variabel danbehavior dimodelkan sebagai method. Sebagai analogi untukmempermudah memahami konsep tentang class dan object, perhatikan

contoh gambar 2.1

Gambar 2.1 Analogi class dan objek

Page 11: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 10 dari 87

Terdapat class dengan nama Animal, dimana didalam sebuahclass akan terdapat attribute (variabel) dan method (behavior) yang akan

dibahas pada poin berikutnya. Pada sebuah class didefinisikan beberapa halyang bersifat umum, sehingga akan dapat digunakan untuk penciptaanobject dari class tersebut. Sebagai contoh didalam class Animalmempunyai variabel nama, umur dan jenis_hidup. Ketiga variabel tersebutdigunakan karena bersifat umum, setiap Animal pasti mempunyai nama,umur dan jenis hidupnya di air, darat atau udara.

Selain itu didalam class terdapat beberapa method sepertisetNama, setUmur, setJenisHidup yang berfungsi untuk memberikannilai kepada variabel. Ketika sudah tercipta sebuah class yang merupakankerangka atau cetak biru, maka akan dapat dibuat sebuah object sepertijerapah, kijang, anjing, burung, gajah dan singa karena objek-objektersebut mempunyai nama, umur dan jenis hidup. Tiap-tiap object akanmemiliki nilai variabel yang berbeda-beda tergantung dengan nilai yangdilewatkan pada method seperti pada contoh tabel 2.1

Tabel 2.1 Nilai atau isi dari masing-masing atribut

Objek Nama Umur Jenis HidupObjek 1 Singa 10 tahun Darat

Objek 2 Gajah 7 tahun Darat

Objek 3 Burung 2 tahun Udara

Objek 4 Ikan 2 tahun Air

Pada pemrograman berorientasi objek maka setiap permasalahanakan dimodelkan dalam bentuk diagram class. Adapun contoh daripemodelannya seperti pada gambar 2.2

Page 12: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 11 dari 87

Gambar 2.2 Contoh diagram class

Ruang lingkup (scope) pembuatan class dan object adalah class sebagaipembungkus sebuah object dan method. Pembuatan sebuah object padaumumnya dilakukan didalam method. Untuk memudahkan pemahaman,perhatikanlah gambar 2.3

Gambar 2.3 Ruang lingkup

Deklarasi pembuatan class menggunakan kata kunci class,sedangkan penciptaan object dari sebuah class atau yang lebih dikenaldengan proses instantiate dalam sebuah program yaitu menggunakanoperator new dengan sintaks yaitu nameOfClass nameOfObject =

Page 13: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 12 dari 87

new nameOfClass(). Contoh penerapan pembuatan class dan objectmenggunakan bahasa pemrograman JAVA seperti pada gambar 2.4

Gambar 2.4 Pembuatan class dan object

Secara garis besar, susunan deklarasi class pada JAVA terdiri dari2 bagian utama yaitu class declaration dan class body. Class declarationmendefinisikan nama class beserta beberapa variabelnya, sedangkan classbody mendefinisikan method dan variabel yang ada didalamnya. Setiappenciptaan sebuah object, maka object tersebut akan memiliki semuavariabel dan method yang dimiliki oleh sebuah class sesuai denganvisibilitas akses modifier seperti public, private, protected ataupun defaultyang akan dibahas pada poin selanjutnya. Berdasarkan contoh gambar 2.4ketika diciptakan object jerapah dari class Animal dengan menggunakankode program Animal jerapah = new Animal() maka object jerapah akanmemiliki variabel nama, umur dan jenishidup. Selain itu object jerapahjuga memiliki method setNama, setUmur dan setJenisHidup. Caramengakses sebuah method yaitu dengan sintaksobjek.namaMethod([parameter]), misalnya jerapah.setNama(“Jerapah

Asia”) , begitu juga dengan objek-objek dan method lainnya. Perhatikan

Page 14: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 13 dari 87

ilustrasi gambar 2.5 untuk lebih memahami konsep pemrogramanberorientasi objek.

Gambar 2.5 Ilustrasi class dan objek

2. MethodElemen penting yang termasuk dalam pembuatan class dan

object adalah method. Pada umumnya method dapat berupa fungsiataupun prosedur yang digunakan untuk melakukan output, pengisianataupun mengambil nilai dari variabel. Perbedaan antara fungsi danprosedur adalah pada sebuah fungsi yang digunakan dalam programakan membutuhkan return value (nilai balik) untuk digunakan padaproses selanjutnya, sedangkan pada prosedur tidak membutuhkannya.Dalam istilah lain method terbagi menjadi Setter dan Getter. Method

Setter (prosedur) digunakan untuk memberikan nilai ataupun untukmenampilkan nilai dari variabel, sehingga tidak memerlukan returnvalue, sedangkan method getter (fungsi) digunakan untuk mengambilnilai dari variabel, sehingga membutuhkan return value. Sama halnyadengan class, method terdiri dari 2 bagian untuk membuatnya yaitumethod declaration dan method body seperti pada gambar 2.6

Gambar 2.6 Bagian method

Page 15: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 14 dari 87

Keyword this digunakan jika terdapat parameter yang namanyasama dengan nama variabel class. Seperti pada contoh gambar 2.4

terdapat atribut nama dengan tipe data String dan pada methodsetNama mempunyai parameter nama dan juga bertipe data String,sehingga untuk memberikan nilai variabel nama menggunakan keywordthis, yang berarti variabel nama diberi nilai oleh parameter nama.Sintaks umum untuk pembuatan method adalah seperti pada gambar2.7

Gambar 2.7 Sintaks penulisan method

Untuk pemahaman sintaks pembuatan method yaitu bagian yang ditulisdalam kurung siku [ ] adalah bersifat opsional, boleh digunakan maupuntidak, tergantung permasalahan yang akan diselesaikan.Penjelasan gambar 2.7:

1. Modifier bersifat opsional, boleh digunakan atau tidak sesuaipermasalahan. Modifier adalah keyword yang digunakan untukmengatur hak akses atau tingkat visibilitas yang dapat diterapkan

pada sebuah method, class, variabel ataupun object. Modifier dapatbernilai public, private, protected ataupun jika tidak digunakanberarti secara otomatis menggunakan modifier default.Pembahasan modifier akan terdapat pada poin selanjutnya.

2. returnType dapat diisikan tipe data dari return value yangdihasilkan oleh method. Jenis-jenis Tipe data tersebut adalah String(satu atau kumpulan dari beberapa karakter), int (angka bulat),float(angka pecahan), boolean( true atau false) dan lain-lain. Jika

Page 16: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 15 dari 87

method yang dibuat tidak menghasilkan return value, maka diisikandengan keyword void.

3. nameOfMethod diperlukan untuk menuliskan pengenal yaitu namadari method. Pemberian nama method mempunyai aturan yangsama dengan penamaan variabel diantaranya adalaha. Tidak diperbolehkan menggunakan keyword dari JAVA seperti

exit, return, switch, main dan lain-lain.b. Diperbolehkan menggunakan angka (0-9), garis bawah

(underscore), simbol dollar ($).4. dataType berisi tipe data yang bersifat opsional, diperlukan jika

sebuah method membutuhkan parameter untuk melewatkan nilaivariabel seperti String, int, float, Boolean dan lain-lainnya.

5. nameOfAttribute adalah nama dari variabel yang terdapat dalamparameter dan juga bersifat opsional jika sebuah methodmembutuhkan parameter.

6. return adalah keyword yang digunakan untuk menghasilkan nilaibalik. Dibutuhkan ketika method yang dibuat tidak menggunakanreturnType void (prosedur).

7. returnTypeValue adalah nilai yang akan di jadikan nilai balik.

Listing 2.1 dan 2.2 berikut ini adalah contoh untuk penulisan method yangberupa fungsi dan prosedur

Listing 2.1 Method berupa prosedur tanpa parameter

Listing 2.2 Method berupa fungsi dengan parameter dan return value integer

Page 17: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 16 dari 87

3. Data VariabelBerdasarkan scope atau ruang lingkupnya, maka data variabel

dibedakan menjadi 2 jenis yaitu:a. Member Variabel /Class Variabel

Yaitu variabel yang dimiliki oleh class, dimana deklarasinyadiletakkan didalam class, sehingga variabelnya akan dapat diaksesoleh semua method dan minimal didalam class yangmendefinisikannya.

b. Local VariabelYaitu variabel yang dimiliki oleh method, dimana deklarasinyadiletakkan didalam method, sehingga variabelnya hanya dapatdiakses didalam method yang mendeklarasikannya sendiri.

Untuk lebih memperjelas pengetahuan tentang Member Variabel danLocal Variabel, perhatikanlah contoh gambar 2.8 berikut ini:

Gambar 2.8 Member Variabel dan Local Variabel

Page 18: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 17 dari 87

Pada class Guru terdapat member variabel nip, nama, gender danalamat dimana ruang lingkupnya dapat diakses disemua method,sehingga ketika variabel nama diakses oleh method

setTitelNamaGuruRPL, maka kode program akan berjalan denganbenar. Sedangkan pada local variabel gaji3B yang didefinisikandidalam method setGajiGuru, maka variabel tersebut tidak dapatdiakses didalam method lain, terbukti ketika diakses didalam methodmain muncul garis merah yang menandakan kode program dalamkeadaan error.

4. ModifierDalam pemrograman berorientasi objek dikenal istilah modifier,

yaitu sebuah keywords yang digunakan untuk mengatur hak aksessebuah variabel, method ataupun class dengan tujuan untuk menjagaintegritas data ketika akan diakses oleh object lain. Sebagai analogibentuk nyata adalah ketika kita mempunyai sebuah barang, maka adabeberapa barang yang hanya boleh kita gunakan sendiri dan tidakboleh dipinjamkan kepada orang lain misalnya sikat gigi, berarti kalaudiimplementasikan kedalam bahasa pemrograman JAVA maka modifieryang digunakan adalah private. Selain itu ada barang-barang yangboleh dipinjamkan kepada orang lain misalnya buku, berartiimplementasinya menggunakan modifier public. Atau barang-barangyang kita punyai hanya dapat dipinjam oleh saudara-saudara dirumah

kita sendiri, maka disini menggunakan modifier protected.Modifier terbagi menjadi 2 yaitua. Access Modifier

Terdapat 4 macam access modifier yaitui. public yang berarti class, method maupun atribut yang

mempunyai access modifier public memungkinkan untukdiakses dari manapun dan oleh kelas apapun. Accessmodifier public mempunyai hak akses paling luas dibanding

Page 19: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 18 dari 87

yang lainnya. Penggunaan modifier public seperti pada listing2.3 berikut ini

Listing 2.3 Penggunaan modifier public

ii. private yang berarti class, method maupun variabel hanyadapat diakses secara langsung didalam class itu sendiri.Modifier private mempunyai akses tertutup, sesuai dengankonsep pemrograman berorientasi objek, setiap data harusdisembunyikan. Untuk mengaksesnya diperlukan methodsetter dan getter. Penggunaan modifier private seperti padalisting 2.4 berikut ini

Page 20: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 19 dari 87

Listing 2.4 Penggunaan dan pengaksesan modifier private

iii. protected yang berarti bahwa class, method maupun variabeltersebut dapat diakses oleh kelas yang sama, package yangsama, dan kelas turunannya (subclass). Access modifierprotected pada umumnya digunakan untuk mewariskanvariabel yang ada di super class terhadap child class.Penggunaan modifier protected seperti pada listing 2.5berikut ini

Page 21: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 20 dari 87

Listing 2.5 Penggunaan modifier protected

iv. default atau disebut juga no access modifier yaitu class,method dan variabel dapat diakses disemua class manapunasal masih dalam satu package yang sama. Penulisannyatanpa munggunakan keyword.

b. Non-Access Modifier

Java menyediakan beberapa macam Non-Access Modifier, yaitu:i. static

Static adalah salah satu jenis modifier di Java yang digunakanagar suatu atribut atau pun method dapat diakses oleh kelasatau objek tanpa harus melakukan instansiasi terhadap kelastersebut. Method main adalah salah satu contoh method yangmempunyai modifier static.

Page 22: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 21 dari 87

ii. finalFinal adalah salah satu modifier yang digunakan agar suatu

atribut atau method bersifat final atau tidak bisa diubah nilainya.Modifier ini digunakan untuk membuat konstanta di Java.

iii. abstractAbstract adalah modifier yang digunakan untuk membuat kelasdan method abstrak

iv. synchronizedSynchronized adalah modifier yang digunakan dalam aplikasiJava berbasis thread. Modifier ini menspesifikasikan bahwamethod merupakan thread safe. Artinya bahwa hanya ada satujalur eksekusi pada method yang menggunakan modifier jenis inidan memaksa thread thread lain menunggu giliran.

v. nativeModifier Native digunakan untuk spesifikasi method denganimplementasi di bahasa lain, seperti C, C++.

vi. transientModifier ini digunakan agar suatu variabel tidak bisa di serialisasi.Serialization adalah konsep dimana sebuah objek dapatditransfer dari suatu aplikasi ke aplikasi lainnya atau dari suatu

workstation ke workstation lainnya. Konsep ini sangat diperlukanketika membuat aplikasi client server. Salah satu tujuanserialization adalah bahwa tidak boleh ada perubahan terhadapatribut pada saat objek di transformasikan menjadi stream.

vii. volatileviii. implements

Digunakan untuk mengimplementasikan sebuah interface.ix. Extends

Digunakan untuk proses pewarisan class.

Page 23: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 22 dari 87

Tabel 2.2 berikut ini menyatakan scope akses modifierAccessModifier

Same Class SamePackage

Sub Class OtherPackage

public √ √ √ √protected √ √ √ Xdefault √ √ X Xprivate √ X X X

5. Implementasi Pembuatan Class dan ObjectPembuatan class dan object pada pembahasan ini adalah

menggunakan bahasa pemrograman JAVA dengan menggunakansoftware Netbeans. Sebagai contoh kasus permasalahan adalahprogram untuk melakukan operasi aritmatika penjumlahan,pengurangan, perkalian dan pembagian antara 2(dua) bilangan.Langkah-langkahnya adalah sebagai berikut:1. Bukalah editor software Netbeans yang telah terinstall di komputer.

Kemudian lanjutkan dengan melakukan klik File New Projectseperti pada gambar 2.9

Page 24: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 23 dari 87

Gambar 2.9 Tampilan IDE Netbeans

2. Jika berhasil maka akan muncul tampilan dialog untuk menentukanjenis project seperti pada gambar 2.10, lanjutkan dengan memilihJava Application dan klik Next

Gambar 2.10 Penentuan jenis project

Page 25: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 24 dari 87

3. Isikan parameter yang dibutuhkan dalam project seperti padagambar 2.11

Gambar 2.11 Pengisian parameter project

Pada contoh tersebut field Project Name diisikanOperatorAritmatika, kemudian tempat penyimpanan file di drive E:\sesuaikan dengan komputer masing-masing, dan hilangkan centang

pada field Create Main Class.4. Klik pada tab projects, kemudian klik kanan pada bagian source

packages dan pilih New Java Class seperti pada gambar 2.12

Page 26: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 25 dari 87

Gambar 2.12 Pembuatan class

5. Isikan class name yang akan dibuat, misal nama class Aritmatika,kemudian lanjutkan dengan klik next seperti pada gambar 2.13

Gambar 2.13 Pengisian Class Name

6. Setelah berhasil membuat Java Class, maka akan otomatis terbentuksebuah class dengan nama Aritmatika, kemudian lanjutkan denganmenambahkan Member Variabel bilangan1, bilangan2 dan hasildengan tipe data float menggunakan access modifier private sepertipada listing 2.6

Page 27: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 26 dari 87

Listing 2.6 Deklarasi Member Variabel

7. Tambahkan Setter Method setDataBilangan dengan 2(dua)parameter bilangan1 dan bilangan2, yang digunakan untukmemberikan nilai pada 2(dua) bilangan seperti pada listing 2.7

Listing 2.7 Pembuatan Setter Method

8. Tambahkan Getter Method getHasilJumlah, getHasilKurang,getHasilKali dan getHasilBagi dengan return type value adalahfloat seperti pada listing 2.8

Page 28: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 27 dari 87

Listing 2.8 Getter Method

9. Tambahkan main method dimana method tersebut akan dijalankanpertama kali oleh compiler program, kemudian didalamnyatambahkan proses pembuatan object dari dari class Aritmatika, danproses terakhir adalah object yang telah dibuat mengakses semuamethod yang terdapat dalam class, seperti pada listing 2.9

Listing 2.9 Pembuatan object didalam main method

10. Jalankan program dengan menekan tombol Shift + F6

Page 29: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 28 dari 87

B. Keterampilan yang diperlukan dalam Membuat ProgramBerorientasi Objek dengan Memanfaatkan Class1. Mengoperasikan software IDE (Integrated Development

Environment) untuk bahasa pemrograman JAVA seperti Netbeans,GEL, Eclipse dan lain-lain

2. Menyusun rancangan class, method dan variabel yang digunakandalam program.

3. Membuat method main, method setter dan getter, variabel besertatipe data yang digunakan.

4. Menentukan access dan non access modifier5. Melakukan proses instantiate objek dari sebuah class.6. Memanggil method dari sebuah object atau lebih.

C. Sikap kerja yang diperlukan dalam Membuat ProgramBerorientasi Objek dengan Memanfaatkan ClassHarus bersikap secara:1. Cermat dan teliti dalam menganalisis data.2. Tekun dalam proses pemahaman sintaks.3. Sesuai dengan kaidah-kaidah bahasa pemrograman.

4. Berpikir analitis serta evaluatif ketika melakukan trial and error.

Page 30: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 29 dari 87

BAB IIIMenggunakan Tipe Data dan Control ProgramPada Metode Atau Operasi Dari Suatu Kelas

A. Pengetahuan yang diperlukan dalam Menggunakan Tipe Datadan Control Program pada Metode atau Operasi dari SuatuKelas1. Variabel, Tipe Data dan konstanta

Variabel merupakan container yang digunakan untukmenyimpan suatu nilai secara sementara pada sebuah programdengan tipe tertentu. Sementara berarti nilainya dapat diubahsesuai keperluan, dan ketika program dihentikan maka nilai darivariabel akan hilang. Pada dasarnya ada dua macam tipe datavariabel yaitu tipe primitive dan tipe reference.Tipe primitive meliputi:a. Tipe Boolean adalah tipe data logika yang hanya mempunyai 2

nilai yaitu true dan false.b. Tipe Numerik yang meliputi:

i. byte, adalah tipe data Integral 8-bit. Memiliki rentangnilai antara -27 sampai 27 – 1 atau dari -128 sampai 127

ii. short, adalah tipe data Integral 16-bit. Memiliki rentangnilai antara -215 sampai 215 – 1 atau dari -32768 sampai32768.

iii. int, adalah tipe data Integral 32-bit. Memiliki rentangnilai antara -231 sampai 231 –1 atau dari -2,147,483,648sampai 2,147,483,647.

iv. long, adalah tipe data Integral 64-bit. Memiliki rentangnilai antara -263 sampai 263 – 1 atau dari -9,223,372,036,854,775,808 sampai9,223,372,036,854,775,807.

Page 31: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 30 dari 87

v. char, adalah tipe data Textual, yang merepresentasikankarakter unicode 16-bit. Nilai literalnya harus diapit

dengan tanda petik tunggal (‘).vi. float, adalah tipe data Floating Point 32-bit. Nilai

literalnya mengandung pecahan (dipisahkan dengantanda titik ‘.’)

vii. double, adalah tipe data Floating Point 64-bit. Nilailiteral default untuk float dan double adalah double,kecuali diberi akhiran F

Sedangkan tipe data variabel berupa reference terdiri atas tipevariabel data:a. Tipe classb. Tipe arrayc. Tipe interfaceUntuk mendeklarasikan variabel dan tipe data menggunakan sintaks<tipe-data> <nama variabel>. Perhatikan contoh listing 3.1berikut ini untuk memahami penggunaan tipe data dan variabel.

Page 32: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 31 dari 87

Listing 3.1 Penggunaan tipe data dan variabel

2. Control ProgramStruktur control program terdiri dari 2(dua) jenis, yaitu

struktur percabangan dan perulangan. Percabangan digunakanuntuk memilih dan mengeksekusi blok kode ketika ada 2(dua) ataulebih kemungkinan kondisi. Kondisi diisikan dengan sebuahpernyataan yang melibatkan operator logika ==(sama dengan),!=(tidak sama dengan), !(negasi), >(lebih besar), >=(lebih besarsama dengan), <(lebih kecil), <=(lebih kecil sama dengan).Sedangkan perulangan digunakan untuk mengeksekusi programsecara berulang-ulang.

2.1. Struktur percabangan

Page 33: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 32 dari 87

a. Pernyataan IF satu kondisi. Sintaks penggunaanya adalahif (kondisi){

pernyataan

}

Jika kondisi bernilai true maka program akan mengeksekusipernyataan.

b. Pernyataan IF dua kondisi. Sintaks penggunaanya adalahif (kondisi){

pernyataan

}

else{

}

Jika kondisi bernilai true maka program akan mengeksekusipernyataan, jika bernilai false maka program akanmengeksekusi bagian blok else.

Page 34: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 33 dari 87

c. Pernyataan IF lebih dari 2 kondisi. Sintaks penggunaanyaadalahif (kondisi 1){

pernyataan 1

}

else if(kondisi 2){

Pernyataan 2

}

else{

Pernyataan 3

}

Jika kondisi 1 bernilai true, maka program akanmengeksekusi pernyataan 1, jika bernilai false, makaprogram akan beralih pada bagian blok else untukselanjutnya melakukan pengecekan pada kondisi 2. Jikakondisi 2 bernilai true maka program akan mengeksekusipernyataan 2, jika bernilai false maka program akanmengeksekusi pernyataan 3.

d. Pernyataan SWITCH, sintaks penggunaanya adalahswitch(kondisi){

case kondisi_1 :

pernyataan 1;

break;

case kondisi_2 :

pernyataan 2;

break;

case kondisi_n :

pernyataan n;

break;

}

Page 35: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 34 dari 87

Program akan melakukan pengecekan nilai kondisi,kemudian program akan menyesuaikan nilai tersebut

termasuk dalam case sesuai kondisi masing-masing, untukmengerjakan baris pernyataan sampai break

Contoh penggunaan struktur percabangan IF seperti padalisting 3.2

Listing 3.2 Struktur percabangan menggunakan IF

Contoh penggunaan struktur percabangan menggunakanswitch seperti pada listing 3.3

Page 36: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 35 dari 87

Listing 3.3 Struktur percabangan menggunakan switch

2.2. Struktur perulangana. Perulangan for, digunakan ketika permasalahan telah

diketahui batas awal dan batas akhirnya. Sintakspenggunaannya adalahfor(<nilai awal>;<nilai

akhir>;increment/decrement){

pernyataan

}

b. Perulangan do while, akan dikerjakan selama kondisinyamemenuhi persyaratan, minimal pernyataan akan dikerjakan1x meskipun tidak memenuhi persyaratan. Sintaksnyaadalah

Page 37: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 36 dari 87

do {

pernyataan

} while(kondisi);

c. Perulangan While, akan dikerjakan selama kondisinyamemenuhi persyaratan, minimal dikerjakan 0x. Sintakspenggunaannya adalahwhile(kondisi){

pernyataan

}

Contoh penggunaan perulangan seperti pada listing 3.4berikut ini

Listing 3.4 Contoh perulangan

Page 38: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 37 dari 87

B. Keterampilan yang diperlukan dalam Menggunakan Tipe Datadan Control Program pada Metode atau Operasi dari SuatuKelas1 Mengidentifikasi permasalahan yang akan dijadikan control

program2 Mengidentifikasi tipe data beserta variabel yang digunakan3 Menyusun percabangan dan perulangan pada sebuah method

C. Sikap kerja yang diperlukan dalam Menggunakan Tipe Data danControl Program pada Metode atau Operasi Suatu Kelas.Harus bersikap secara:1. Cermat dan teliti dalam mengidentifikasi jenis-jenis tipe data2. Sering melakukan percobaan dan analitis terhadap hasil program.3. Tekun dan mau berusaha untuk mencoba berkali-kali

Page 39: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 38 dari 87

BAB IVMEMBUAT PROGRAM DENGAN KONSEP BERBASIS OBJEK

A. Pengetahuan yang diperlukan dalam Membuat Program DenganKonsep Berbasis Objek1. Inheritance

Proses pewarisan merupakan pendefinisian sebuah classmenggunakan referensi class lain yang telah terdefinisikan terlebihdahulu, dengan kata lain pewarisan adalah proses untuk menurunkansifat dari semua variabel dan method yang dimiliki oleh Parent Class(Super Class) kepada Child Class (Sub Class). Pada konseppemrograman berbasis objek dikenal istilah hierarki class, yaitu setiapSuper Class menjadi parent dari Sub Class, dan setiap Sub Classmenjadi Super Class bagi Sub Class lainnya. Pada contoh kasus classsepeda, perhatikan gambar 4.1 berikut ini

Gambar 4.1 Contoh Hierarki Class Sepeda

Pada gambar 4.1 tersebut dimungkinkan penciptaan class barumenggunakan referensi class Sepeda (Super Class), seperti classSepeda Gunung, Sepeda Balap dan Sepeda Motor (Sub Class). Sub

Page 40: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 39 dari 87

Class akan mewarisi sifat-sifat dari atribut(variabel) dan behavior(method) dari Super Class, pewarisan itu misalnya class Sepeda

memiliki atribut roda, maka Sepeda Balap, Sepeda Gunung danSepeda Motor akan memiliki atribut roda juga. Setiap Sub Class dapatmenambahkan atribut dan method lain yang lebih spesifik sebagaibentuk perluasan dari Super Class, sehingga untuk membuat classpewarisan menggunakan keyword extends dengan sintaks<[modifier]> <class> <Nama Class> extends <Nama Super Class>.Keuntungan dari konsep pewarisan adalaha. Sub Class tidak perlu menuliskan fungsi yang berulang-ulang jika

bentuk fungsi nya mempunyai kesamaan dengan class lain, cukupdengan menggunakan method yang terdapat pada Super Classsehingga program akan lebih efisien.

b. Struktur program akan lebih tertata rapi, sehingga mudah untukdilakukan perawatan. Misal jika terdapat penambahan atauperubahan fitur program, maka cukup dilakukan modifikasi padaSuper Class.

Listing 4.1, 4.2, 4.3, 4.4, 4.5 dan 4.6 berikut ini adalah implementasidari konsep pewarisan class Sepeda, Sepeda Gunung, Sepeda Balapdan Sepeda Motor dengan menggunakan file yang terpisah satu sama

lain.

Page 41: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 40 dari 87

Listing 4.1 Class Sepeda

Listing 4.2 Class SepedaGunung

Page 42: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 41 dari 87

Listing 4.3 Class SepedaBalap

Listing 4.4 Class SepedaMotor

Page 43: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 42 dari 87

Listing 4.5 Class Sepeda2Tak

Listing 4.6 Class Sepeda4Tak

Page 44: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 43 dari 87

2. ConstructorConstructor adalah sebuah method yang digunakan untuk

memberikan nilai default atau inisialisasi nilai pada sebuah objekketika diciptakan. Dalam sebuah class diperbolehkan terdapat satuataupun lebih Constructor. Sebagai ilustrasi, misalnya pembuatanobjek enemy pada sebuah game, maka objek tersebut akan memilikinilai default kekuatannya, kemampuannya seperti apa, kemudianseiiring berjalannya waktu pada game tersebut kekuatan enemy dapatbertambah ataupun berkurang. Constructor hanya dipanggil satu kaliyaitu saat penciptaan sebuah objek. Pada sub class yang memanggilconstructor dari super class nya dapat menggunakan keyword super,artinya sub class memanggil constructor dari super class nya. Ciri-cirisebuah method yaitu nama method nya sama dengan nama class,tidak memiliki return value dan tidak menggunakan keyword void.Listing 4.7 berikut ini adalah contoh implementasi constructor method.

Listing 4.7 Super class Pesawat dengan 2 (dua) constructor method

Page 45: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 44 dari 87

Pada class Pesawat terdapat 2(dua) buah contructor method, yaitutanpa parameter dan menggunakan parameter. Adapun pemanggilanconstructor tergantung pada objek pemanggilnya, seperti pada contoh

listing 4.8 berikut ini

Listing 4.8 Sub class PesawatKomersil

Jika kode program tersebut dijalankan maka akan tampil keluaranseperti pada gambar 4.2 berikut ini

Gambar 4.2 Hasil output program

Hasil jenis pesawat dan nama air line dari objek pesawatku adalah nulldikarenakan objek pesawatku memanggil constructor tanpa parameter

yang tidak mempunyai implementasi program, sehingga tidak ada nilaiyang diberikan pada constructor method. Sedangkan pada pesawatmumemanggil constructor dengan parameter, sehingga nilai BOEING danGARUDA AIRLINES diberikan pada masing-masing parameter.

Page 46: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 45 dari 87

3. Polymorphism dan OverridingSecara harfiah arti dari polymorphism adalah mempunyai

banyak bentuk. Polymorphism adalah sebuah konsep yang sangatpenting dari pemrograman berorientasi objek. Pada bahasapemrograman JAVA konsep ini dikenali dengan penggunaan lebih darisatu method yang memiliki nama yang sama. Sebagai contohmisalkan seorang guru mempunyai kewajiban untuk melakukanpengajaran, akan tetapi tiap-tiap guru tersebut mempunyai perbedaanmatakuliah apa yang diajarkan, begitu juga dengan jumlah jam matapelajaran, sehingga dapat diartikan bahwa satu method mengajarmempunyai banyak bentuk dalam implementasinya. Polymorphismberkaitan erat dengan proses pewarisan (inheritance), karena prosespembentukannya melalui super class dan sub class. Penggunaanmethod dengan nama yang sama dapat diimplementasikan denganmethod overriding. Overriding method adalah fungsi yang digunakanuntuk menimpa implementasi dari program dengan menggunakannama method yang sama. Berikut ini adalah contoh listing untuk lebihmemahami penggunaan polymorphism dan overriding.

Listing 4.9 Super Class Guru

Page 47: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 46 dari 87

Class Guru merupakan super class yang akan di extends pada classlainnya sehingga properti dan method yang terdapat didalam class

Guru dapat digunakan pada class lain yang menjadi turunan dari classGuru. Berikutnya adalah menambahkan kode pada class Mapel sepertipada listing 4.10 berikut ini

Listing 4.10 Sub Class Mapel

Pada class Mapel diatas terlihat bahwa properti yang terdapat padasuper class (Guru) yaitu nama_guru ikut dikonstruksi bersamaandengan properti dari class Mapel, selain itu terdapat pula penggunaanoverriding method, karena terdapat method yang sama dengan yangada pada super class yaitu infoGuru, perbedaannya method pada classMapel memiliki output yang akan ditampilkan ketika programdieksekusi. Selanjutnya adalah pembuatan class JamMengajar, seperti

pada listing 4.11 berikut ini

Page 48: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 47 dari 87

Listing 4.11 Sub class JamMengajar

Pada sub class JamMengajar, memiliki penjelasan yang sama denganclass Mapel. Hanya saja pada output menampilkan jumlah jammengajar. Kemudian diakhir adalah pembuatan class Sekolah dimanaterdapat method main yang merupakan fungsi untuk penciptaanbeberapa objek seperti pada listing 4.12 berikut ini

Listing 4.12 Class Sekolah

Page 49: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 48 dari 87

Gambar 4.3 adalah hasil output ketika program dijalankan

Gambar 4.3 Hasil Output

B. Keterampilan yang diperlukan dalam Membuat Program DenganKonsep Berbasis Objek1. Mengidentifikasi penggunaan Inheritance2. Menulis class 2 (dua) atau lebih pada file yang berbeda.3. Mengorganisasikan Super class dan Sub class.4. Mengimplementasikan polymorphism5. Mengimplementasikan overrding method dan overloading method.6. Menggunakan keyword super

C. Sikap kerja yang diperlukan dalam Membuat Program DenganKonsep Berbasis ObjekHarus bersikap secara:1. Cermat dan teliti dalam mengorganisasikan super class dan sub

class2. Sering melakukan uji coba kode program.3. Sesuai dengan kaidah penulisan sintaks bahasa pemrograman JAVA.4. Berpikir analitis serta evaluatif waktu melakukan uji coba kode

program.

Page 50: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 49 dari 87

BAB VMEMBUAT PROGRAM OBJECT ORIENTED DENGAN INTERFACE DAN

PAKET

A. Pengetahuan yang diperlukan dalam Membuat Program DenganKonsep Berbasis Objek1. Interface

Interface digunakan untuk membuat kesamaan pada namamethod ataupun variabel. Misal pada dunia nyata sebuah Mobilmempunyai cara untuk mengubah porsenelling, akan tetapi antaramobil manual dan mobil automatic akan berbeda cara penggunaanya.Interface terlihat seperti class, tapi bukan class, karena keyword yangdigunakan adalah Interface bukan class. Interface merupakankumpulan deklarasi method tanpa body program. Selain itu didalaminterface diperbolehkan mendeklarasikan variabel dan harus diberinilai awal sehingga mempunyai bentuk final (tidak dapat diubahnilainya).Interface diperlukan karena seperti dalam bahasa pemrogramanC/C++ terdapat konsep multiple inheritance, artinya satu sub classatau child class dapat memiliki banyak super class/parent class. Jadi

pada pemrograman C/C++ diijinkan sebuah class anak mempunyaibanyak class orang tua. Pada bahasa pemrograman JAVA hal tersebuttidak diperbolehkan karena bertentangan dengan konsep dunia nyatabahwa seorang anak pasti hanya mempunyai satu orang tua.Untuk mengatasi permasalahan tersebut maka digunakan konsepinterface. Sintaks penggunaan interface adalah <[modifier]> interface<nama interface>. Untuk class yang mengimplentasikan interfacediharuskan mengimplementasikan semua method yang terdapatdalam interface, jadi tidak diperbolehkan hanya mengimplementasikansebagian saja. Sintak untuk melakukan implementasi interface adalahmenggunakan keyword implements yaitu <[modifier]> class <namaclass> [extends <super class>] implements <nama interface>. Jika

Page 51: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 50 dari 87

mengimplementasikan banyak interface, maka tiap-tiap interfacedipisahkan dengan tanda koma(,). Gambar 5.1 dan 5.2 berikut adalah

contoh interface dan class yang mengimplementasikannya.

Gambar 5.1 Contoh interface

Gambar 5.2 Contoh class yang mengimplementasikan interface

Page 52: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 51 dari 87

2. Langkah Pembuatan Interface1. Bukalah editor software Netbeans yang telah terinstall di komputer.

Kemudian lanjutkan dengan melakukan klik File New Projectseperti pada gambar 5.3

Gambar 5.3 Tampilan IDE Netbeans

2. Jika berhasil maka akan muncul tampilan dialog untuk menentukanjenis project seperti pada gambar 5.4, lanjutkan dengan memilihJava Application dan klik Next

Gambar 5.4 Penentuan jenis project

Page 53: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 52 dari 87

3. Isikan parameter yang dibutuhkan dalam project seperti padagambar 5.5

Gambar 5.5 Pengisian parameter project Interface

Pada contoh tersebut field Project Name diisikan Belajar Interface,

kemudian tempat penyimpanan file di drive E:\ sesuaikan dengankomputer masing-masing, dan hilangkan centang pada field CreateMain Class.

4. Klik pada tab projects, kemudian klik kanan pada bagian sourcepackages dan pilih New Java Interface seperti pada gambar5.6

Gambar 5.6 Pembuatan interface

Page 54: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 53 dari 87

5. Isikan class name yang akan dibuat, misal nama class Rumah,kemudian lanjutkan dengan klik next seperti pada gambar 5.7

Gambar 5.7 Pengisian Class Name

6. Isikan file Rumah.java dengan listing program seperti pada listing5.1 berikut ini

Listing 5.1 Interface Rumah

7. Klik pada tab projects, kemudian klik kanan pada bagian sourcepackages dan pilih New Java Class seperti pada gambar 5.8

Page 55: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 54 dari 87

Gambar 5.8 Pembuatan Java Class

8. Isikan nama class dengan RumahSewa seperti pada gambar 5.9berikut ini

Gambar 5.9 Pengisian nama class

Page 56: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 55 dari 87

9. Isikan file RumahSewa.java seperti pada listing 5.2 berikut ini, hasildari kode program tersebut akan error dikarenakan class tersebut

belum mengimplementasikan semua method yang dimiliki olehinterface Rumah. Solusinya adalah melakukan klik pada tanda iconlampu disebelah kiri editor, dan pilih menu Implement all abstractmethods, sehingga akan muncul listing program yang di generateoleh Netbeans seperti pada gambar 5.10

Listing 5.2 Kode program class RumahSewa

Gambar 5.10 Hasil generate listing Netbeans

Tanda icon berwarna hijau disebelah kiri editor adalah menandakanbahwa method tersebut melakukan override dari interface Rumah.Hapus listing program “throw newUnsupportedOperationException(“Not supported yet.”);”

Page 57: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 56 dari 87

10. Kemudian tambahkan kode program seperti pada listing 5.3berikut ini

Listing 5.3 Class RumahSewa

11. Jalankan program dengan menekan tombol Shift + F6, dan hasiloutput nya adalah seperti gambar 5.11 berikut ini

Gambar 5.11 Hasil output program

Page 58: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 57 dari 87

3. Membuat Paket dengan ProgramSebuah program yang telah siap pakai, maka harus di

distribusikan dalam bentuk paket. Fungsi dari pembuatan paket iniadalah agar program tersebut dapat dijalankan di semua komputer,tanpa melalui editor pemrograman seperti Netbeans. Bentukdistribusinya berupa paket installer dimana fungsinya adalahmelakukan registrasi setiap library yang digunakan dalam programseperti pada program menggunakan JAVA, maka setiap komputeryang menjalankannya memerlukan JRE (Java Runtime Environment) .Terdapat beberapa tahapan dalam pembuatan paket yaitu

1. Membuat aplikasi berbentuk JAR (Java Archieve) kusus untukaplikasi yang dibuat menggunakan Bahasa pemrograman JAVA.Cara untuk membuatnya adalah jalankan editor Netbeans,kemudian pilih menu File Open Project maka akan tampil

dialog box dan kemudian pilih project program yang akandijadikan JAR menggunakan, seperti pada gambar 5.12 berikut ini

Gambar 5.12 Tampilan Dialog box Open Project

Pilihlah lokasi folder penyimpanan project yang telah dibuat. Jikabelum mempunyai project yang akan dibuat, dapat mengunduhcontoh program pada alamat url http://bit.ly/2EQlhc0,

Page 59: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 58 dari 87

lakukan pengekstrakan file tersebut menggunakan programarchiever seperti Win Rar atau Winzip, kemudian buka project

melalui netbeans. Proses selanjutnya adalah membuat file JARdengan memilih menu Run Clean and Build Project sepertipada gambar 5.13 berikut ini

Gambar 5.13 Menu Clean and Build Project

Jika proses berhasil, maka perhatikan pada tampilan output disisibawah editor terdapat keterangan bahwa file JAR telah suksesdibuat, beserta letak lokasi, pada umumnya file tersebut akanberada pada folder dist, seperti pada gambar 5.14 berikut ini

Gambar 5.14 Hasil dari Pembuatan file JAR

Page 60: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 59 dari 87

2. Mengkonversi file JAR (Java Archieve) menjadi file exe(executable)

Pada proses ini, dibutuhkan software tambahan yang mungkinsangat banyak di internet, akan tetapi pada modul inimenggunakan produk EXE4J yang dapat anda unduh di alamat urlhttp://bit.ly/2GpCqq5 . Lakukan pengunduhan dan sesuaikandengan sistem operasi pada komputer masing-masing, kemudianjalankan software EXE4J dengan melakukan double klik pada fileyang telah diunduh, maka akan tampil seperti pada gambar 5.15berikut ini dan klik Next

Gambar 5.15 Setup EXE4J

Proses berikutnya adalah tampil dialog konfirmasi persetujuanuntuk menyatakan bahwa pengguna telah menyetujui aturanlisensi yang telah ditetapkan oleh pembuat software EXE4J.Centang pilihan “I accept the agreement” seperti padagambar 5.16

Page 61: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 60 dari 87

Gambar 5.16 Persetujuan Lisensi

Kemudian tampil pilihan lokasi folder untuk hasil instalasi,kemudian pilih tombol Next seperti pada gambar 5.17

Gambar 5.17 Pemilihan direktori instalasi

Page 62: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 61 dari 87

Tunggu sejenak untuk menyelesaikan proses instalasi, setelahselesai lakukan klik Run dan akan tampil seperti pada gambar

5.18 berikut ini

Gambar 5.18 Tampilan awal EXE4J

Kemudian klik tombol Next, maka akan tampil seperti padagambar 5.19

Page 63: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 62 dari 87

Gambar 5.19 Pemilihan Tipe project

Pilihlah opsi JAR in EXE mode, dan lanjutkan dengan melakukanklik pada tombol Next dan akan tampil seperti pada gambar 5.20berikut ini

Gambar 5.20 Pengisian nama aplikasi dan output direktori

Page 64: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 63 dari 87

Isikan nama dari aplikasi yang akan dibuat beserta lokasi direktori

hasil pembuatan installer, kemudian lanjutkan menekan tombolNext dan akan tampil seperti gambar 5.21 berikut ini

Gambar 5.21 Tipe executable

Proses berikutnya adalah pemilihan file JAR yang telah dibuat

pada tahapan sebelumnya dengan cara melakukan klik padatombol +, kemudian isikan lokasi dari file JAR dan isikan mainmethod untuk setting Class path, lanjutkan dengan klik padatombol Next seperti pada gambar 5.22 berikut ini

Page 65: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 64 dari 87

Gambar 5.22 Pengisian file JAR dan Main Class

Tahapan berikutnya adalah untuk konfigurasi JRE, isikan nilaiminimum = 1 dan maximum =2 dan lanjutkan dengan klik padatombol Next seperti pada gambar 5.23 berikut ini

Gambar 5.23 Konfigurasi JRE

Selanjutnya adalah hanya melakukan klik Next jika tanpa gambarsplash screen, tetapi jika akan menggunakan isikan file gambaryang akan digunakan, kemudian klik Next sekali lagi dan prosesakan berjalan membuat file executable.

Page 66: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 65 dari 87

3. Pembuatan installer menggunakan programPada tahapan ini menggunakan software Inno Setup, yang

dapat diunduh pada alamat urlhttp://www.jrsoftware.org/isdl.php . Setelah berhasilmelakukan pengunduhan maka jalankan file tersebut maka akantampil persetujuan lisensi, pilih I accept the agreement dan kliktombol Next seperti pada gambar 5.24 berikut ini

Gambar 5.24 Persetujuan lisensi Inno Setup

Proses selanjutnya adalah menentukan letak direktori hasilinstalasi Inno Setup dan lanjutkan klik tombol Next seperti padagambar 5.25 berikut ini

Page 67: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 66 dari 87

Gambar 5.25 Pemilihan folder instalasi

Proses berikutnya adalah pembuatan shortcut untuk ditampilkanpada start menu folder, pada tahapan ini biarkan semua diatursecara default, lanjutkan dengan klik tombol Next seperti padagambar 5.26 berikut ini

Page 68: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 67 dari 87

Gambar 5.26 Pembuatan shortcut

Langkah selanjutnya adalah melakukan uncheck pada pilihanInstall Inno Setup Preprocessor dan klik tombol Next, artinyasaat ini belum diperlukan untuk menambahkan plugin tambahan

seperti pada gambar 5.27 berikut ini

Gambar 5.27 Instalasi Inno Setup Preprocessor

Kemudian lewatkan bagian Additional task dan langsungmelakukan klik tombol Next, kemudian aplikasi Inno Setup akansiap untuk di install dan lakukan klik tombol install. Setelah semuaproses instalasi selesai, jalankan program Inno Setup maka akantampil program seperti pada gambar 5.28 dan pilih opsi Create anew script file using the script wizard

Page 69: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 68 dari 87

Gambar 5.28 Pemilihan Tipe installer

Setelah melakukan klik pada tombol OK maka akan muncul dialog

wizard, pada tahapan ini cukup dengan klik tombol Next danakan muncul dialog pengisian parameter seperti nama aplikasi,versi, penerbit dan alamat website seperti pada gambar 5.29berikut ini

Gambar 5.29 Dialog pengisian parameter aplikasi

Page 70: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 69 dari 87

Setelah melakukan klik tombol Next, proses selanjutnya adalahpemilihan spesifikasi folder hasil instalasi file executable seperti

pada gambar 5.30 berikut ini

Gambar 5.30 Spesifikasi folder hasil instalasi

Tahapan selanjutnya adalah pemilihan file executable hasil darikonversi JAR yang telah dibuat pada tahapan sebelumnya denganmelakukan klik pada tombol Browse dan lanjutkan dengan kliktombol Next seperti pada gambar 5.31 berikut ini

Gambar 5.31 Spesifikasi Aplikasi

Page 71: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 70 dari 87

Proses selanjutnya adalah melakukan klik pada dialog pemilihan

shortcut dan klik tombol Next seperti pada gambar 5.32 berikutini

Gambar 5.32 Spesifikasi shortcut aplikasi

Tahapan berikutnya adalah pengisian dokumentasi aplikasi jikamempunyai lisensi, informasi file sebelum instalasi dan sesudahinstalasi, untuk tahapan saat ini dikosongkan terlebih dahulu danlanjutkan dengan klik tombol Next seperti pada gambar 5.33berikut ini

Page 72: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 71 dari 87

Gambar 5.33 Dokumentasi Aplikasi

Proses berikutnya adalah pemilihan Bahasa yang dipakai padasaat proses instalasi, sebagai bahasa default adalahmenggunakan Bahasa Inggris, dan lanjutkan dengan klik tombol

Next seperti pada gambar 5.34 berikut ini

Gambar 5.34 Pemilihan Bahasa

Tahapan selanjutnya adalah menentukan letak hasil daripembuatan installer dan lanjutkan dengan klik tombol Nextseperti pada gambar 5.35 berikut ini

Gambar 5.35 Penentuan folder hasil pembuatan installer

Page 73: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 72 dari 87

Kemudian lanjutkan dengan klik tombol Yes untuk melakukanproses kompilasi script untuk pembuatan file installer seperti padagambar 5.36 berikut ini

Gambar 5.36 Dialog kompilasi script

Jika proses berhasil maka pada folder output yang telah diisikanakan terbuat file secara otomatis file setup.exe. Double klik filetersebut untuk melakukan instalasi program.

B. Keterampilan yang diperlukan dalam Membuat Program ObjectOriented Dengan Interface Dan Paket1. Mengidentifikasi penggunaan Inheritance2. Menulis class 2 (dua) atau lebih pada file yang berbeda.3. Mengorganisasikan Super class dan Sub class.4. Mengimplementasikan polymorphism

5. Mengimplementasikan overrding method dan overloading method.6. Menggunakan keyword super7. Mengoperasikan software IDE (Integrated Development

Environment) untuk bahasa pemrograman JAVA seperti Netbeans,GEL, Eclipse dan lain-lain

8. Melakukan instalasi dan menjalankan software EXE4J.9. Melakukan instalasi dan menjalankan software Inno Setup.

Page 74: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 73 dari 87

C. Sikap kerja yang diperlukan dalam Membuat Program ObjectOriented Dengan Interface Dan PaketHarus bersikap secara:1. Cermat dan teliti dalam mengorganisasikan super class dan sub

class2. Sering melakukan uji coba kode program.3. Sesuai dengan kaidah penulisan sintaks bahasa pemrograman JAVA.4. Berpikir analitis serta evaluatif waktu melakukan uji coba kode

program.

Page 75: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 74 dari 87

BAB VIMENGKOMPILASI PROGRAM

A. Pengetahuan yang Diperlukan dalam Mengkompilasi Program1. Perbaikan Kesalahan

Sebuah program yang muncul pesan kesalahan atau erroradalah hal yang wajar pada dunia pemrograman. Semakin kompleks danbesar skala program maka akan semakin banyakj kemungkinanterjadinya error. Hampir tidak ada satupun program yang tidak memilikierror, semua dikarenakan keterbatasan manusia sebagai pembuatnya.Melihat kenyataan tersebut yang dapat dilakukan oleh seorangprogrammer adalah berusaha untuk mencari kesalahan-kesalahantersebut baik kesalahan besar ataupun kecil untuk diperbaiki terusmenerus, melakukan update program dengan tujuan untukmeminimalisir sebuah error pada program. Bayangkan jika kesalahanmenuliskan hasil output 1000 menjadi 100, sudah pasti hal tersebutakan mengganggu kinerja dari penggunanya. Untuk mengenalikesalahan-kesalahan tersebut maka setidaknya seorang programmermengetahui jenis-jenis kesalahan program. Secara garis besar errorpada program dibagi menjadi 3 (tiga) yaitu

a. Syntax ErrorKesalahan yang paling sering ditemukan pada saat membuatprogram adalah kesalahan sintaks atau Syntax Error, dimanaperintah atau statement yang diketikkan menyalahi aturanpengkodean yang dimiliki oleh bahasa pemrograman yangdigunakan.Sebuah bahasa pemrograman memiliki aturan pengkodeantersendiri yang harus dipatuhi, sebagai contoh pada bahasapemrograman JAVA, setiap statement diwajibkan diakhiri dengantanda titik koma (;). Jika tidak dituliskan, maka program akanmenampilkan pesan Syntax Error pada saat dijalankan. Setiap

Page 76: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 75 dari 87

bahasa pemrograman memiliki keyword, yaitu perintah-perintahbaku yang digunakan. Sebagai contoh, keyword yang umum

adalah kondisi if, perulangan for atau while, penulisan fungsi danlambang aritmatika seperti modulus, pangkat, dan lain-lain.Kesalahan penulisan keyword juga merupakan Syntax Error.Kesalahan penulisan parameter pada sebuah function atauprocedure juga termasuk dalam kategori Syntax Error, misalnyajika function yang digunakan memerlukan parameter sementaraprogrammer lupa menuliskan parameter tersebut. Syntax Errormerupakan jenis kesalahan yang paling sering ditemui, tetapi jugapada umumnya paling mudah untuk ditanggulangi. Syntax Errorcukup mudah diketahui karena setiap bahasa pemrograman yangdigunakan akan menampilkan pesan kesalahan dan menunjukkanbaris kesalahan dengan tepat. Pada beberapa bahasapemrograman, disediakan fasilitas Auto Syntax Check, dimanaakan muncul sebuah pesan peringatan ketika mengetikkan sintaksyang salah.

b. Run-time ErrorJenis kesalahan Run-time Error terjadi ketika kode program

melakukan sesuatu yang tidak dimungkinkan. Contohnya padasaat sebuah aplikasi mencoba mengakses file yang tidak terdapatdalam media penyimpanan, atau terjadi kesalahan alokasi ruangmemori. Terkadang Run-time Error terjadi karena berbagai aspekdan tidak selalu karena kesalahan pemrograman, sebagai contohjika programmer sengaja menghapus beberapa file penting yangdigunakan oleh suatu aplikasi, maka terdapat kemungkinan akanterjadi Run-time Error pada saat aplikasi tersebut dijalankan. Run-time Error menyebabkan sebuah pogram akan langsung berhenti.Walaupun demikian, pencegahan semaksimal mungkin denganmemberikan validasi dan pesan yang user-friendly saat terjadikesalahan pada aplikasi, akan sangat membantu untuk

Page 77: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 76 dari 87

mengetahui mengapa aplikasi tidak berjalan dengan semestinya.Salah satu cara mengatasi Run-time error dalam bahasa

pemrograman JAVA yaitu menggunakan blok kode try catch danfinally, jadi jika terdapat kesalahan maka akan muncul dialog boxsesuai dengan apa yang akan diinformasikan mengenai kesalahantersebut. Contoh penggunaanya seperti pada listing program 6.1berikut ini

Listing 6.1 Contoh program sederhana

Contoh program sederhana pada listing 6.1 adalah berfungsiuntuk menghitung pembagian 2(dua) bilangan. Program tersebuttidak mengalami kesalahan sintaks, karena terbukti bahwaprogram tersebut dapat dikompilasi dan dijalankan, selain itu jugatidak terdapat kesalahan logika (logical error), karena ketikaprogram diisikan bilangan1 dengan nilai 60 dan bilangan2 dengannilai 5 maka hasil output yang tampil adalah 12 seperti padagambar 6.1 berikut ini

Gambar 6.1 Hasil output program pembagian

Page 78: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 77 dari 87

Akan tetapi program tersebut mengalami Run-time Error ketikanilai pada bilangan2 diisikan dengan angka 0(nol), seperti pada

gambar 6.2, karena dalam operasi aritmatika tidak diijinkanmelakukan pembagian dengan 0(nol)

Gambar 6.2 Output hasil pembagian dengan bilangan 0

Untuk mengatasi hal tersebut seorang programmer perlumemperbaiki Runtime Error dengan menggunakan blok try catch

dan finally seperti pada listing 6.2 berikut ini

Listing 6.2 Perbaikan kesalahan program

Program tersebut ketika dijalankan dan bilangan2 diisikan dengannilai 0(nol) maka akan muncul pesan kesalahan “/ by zero”seperti pada gambar 6.3 berikut ini

Gambar 6.3 Pesan kesalahan dari sistem

Page 79: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 78 dari 87

Ataupun dapat digantikan pesan kesalahan sesuai apa yangdiinginkan dengan menuliskan program pada bagian catch.

c. Logical ErrorLogical Error merupakan jenis kesalahan yang cukup sulit untukditemukan penyebabnya. Karena aplikasi yang mengandungLogical Error berjalan tanpa pesan kesalahan, tetapimengeluarkan hasil yang tidak diharapkan, misalnya jika aplikasiprogram menghasilkan perhitungan yang salah. Logical Error barudapat diketahui setelah dilakukan testing dan meninjau hasilnya.Logical Error dapat diperbaiki dengan memeriksa alur programdan nilai variabel yang dihasilkan.

2. Program DebuggingSebuah error pada aplikasi disebut dengan istilah bug, atau

dalam Bahasa Inggris berarti kutu atau binatang kecil. Konon istilah bugmuncul karena ditemukannya binatang kecil yang menyebabkankerusakan pada sebuah komputer tabung pada tahun 1945. Bug aplikasiterdapat pada kode program, yang dapat mengganggu kenyamananpengguna aplikasi. Pada tingkat tertentu, keberadaan bug cukupmemberikan efek yang besar.

Mungkin belum melupakan saat dimana orang ramai membicarakan“Y2K Bug” atau bug tahun 2000, atau munculnya istilah “Blue screenof Death” pada sistem operasi Windows, atau “Kernel Panic” padasistem operasi Linux, semua contoh tersebut menunjukkan sebuah bugserius dapat mengakibatkan dampak negatif yang cukup besar.Proses mencari penyebab bug disebut dengan debugging, yang jugamerupakan tugas programer setelah menerima laporan bug. Walaupundemikian, jangan menjadikan pekerjaan sebagai pencari bug, untuk ituhanya ada satu cara, minimalkan bug pada aplikasi yang dibuat. Apayang harus dilakukan untuk menghindari jenis-jenis kesalahan yang

Page 80: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 79 dari 87

telah disebutkan di atas. Bisa jadi tidak ada program yang sempurna,tetapi selalu ada cara untuk mengatasi atau menghindari kesalahan

semaksimal mungkin.a. Selalu Deklarasikan Variabel

Syntax Error, bahkan Logical Error, mungkin terjadi jika terdapatpenulisan variabel yang salah. Sebaiknya mendeklarasikan variabelyang digunakan walaupun bisa jadi bahasa pemrograman yangdigunakan mengijinkan untuk tidak melakukan deklarasi variabel.Visual Basic merupakan salah satu bahasa pemrograman yangmengijinkan penggunaan variabel tanpa deklarasi, walaupundemikian disarankan tetap menggunakan deklarasi variabel. Haltersebut akan memperkecil kesalahan penulisan variabel. Masihdengan contoh Visual Basic yang dapat menambahkan perintahOption Explicit pada program untuk mencegah kesalahan tulispada variabel, jika terdapat variabel yang belum dideklarasikan,maka Visual Basic akan menampilkan pesan kesalahan. Sebaiknyamemiliki suatu skema standard untuk pemberian nama variabel dankonsisten dengan penggunaannya. Contohnya berikan nama variabeldiawali dengan huruf s jika bertipe data string, misalnya sResult,sTemp, dan lain-lain. Pada Visual Basic maupun beberapa bahasa

pemrograman lain yang berorientasi object, kita dapatmendeklarasikan variabel dengan tipe data object. Terdapat berbagaijenis macam object yang dikenal, dan sebaiknya menuliskannyadengan lengkap object yang dimaksud. Misalnya object ListBox,Label, dan lain-lain.b. Gunakan Variabel Lokal

Sangat disarankan agar selalu menggunakan variabel lokal. Salahsatu manfaatnya adalah jika terjadi kesalahan program (terutamaLogical Error), maka penyebab kesalahan dan solusinya akanlebih mudah ditemukan. Hal ini dikarenakan variabel lokalmemiliki ruang lingkup penggunaan yang lebih kecil dibandingkanvariabel global, yang dapat diakses oleh procedure yang mana

Page 81: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 80 dari 87

saja. Penggunaan variabel global, sering menimbulkan kerancuandan memperbesar kemungkinan terjadinya kesalahan tanpa

disadari.c. Kenali Jenis Bug

Bug yang timbul pada sebuah aplikasi memiliki karateristik.Karena itu selalu baca dan perhatikan baik-baik pesan kesalahanyang timbul. Beberapa jenis bug berdasarkan karakteristiknyaadalah sebagai berikut:i. Divide By Zero.

Jika pada sebuah pembagian, pembagi bernilai 0, makaprogram akan terhenti dan mengalami error.

ii. Infinite Loop.Pengertian loop adalah perulangan, yang sering digunakandalam teknik pemrograman. Penggunaan loop yang salahdapat mengakibatkan program menjalankan sebuah proceduretanpa akhir.

iii. Arithmatic overflow or Underflow.Overflow terjadi saat sebuah perhitungan menghasilkan nilaiyang lebih besar daripada nilai yang dapat ditampung olehmedia/variabel penyimpan. Sementara underflow merupakan

kebalikannya. Pada perhitungan aritmatik, hal ini seringditemukan dan menjadi masalah.

iv. Exceeding Array Bounds.Array merupakan variabel berdimensi yang memiliki indeks.Saat program mengakses indeks diluar array yang ditentukan,maka akan mengakibatkan error.

v. Access Violation.Hal yang terjadi saat sebuah proses mencoba melewati batasyang diijinkan oleh sistem. Misalnya menulis sebuah nilaipada alamat memory, segmen, atau media yang diproteksi.

vi. Memory Leak.

Page 82: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 81 dari 87

Penggunaan memory yang tidak diinginkan, dapat terjadikarena program gagal melepaskan memory yang sudah tidak

digunakan.vii. Stack Overflow or Underflow.

Stack merupakan struktur data dengan prinsip LIFO (Last InFirst Out), pada program dapat mengimplementasikan logikastack untuk suatu tujuan. Tetapi jika stack melebihi ataudibawah nilai yang diijinkan oleh program, maka akan timbulkesalahan Stack Overflow/Underflow.

viii. Buffer Overflow.Buffer merupakan tempat penyimpanan sementara dalamteknik pemrograman. Buffer Overflow terjadi jika menyimpanterlalu banyak data yang tidak dapat ditampung oleh bufferyang disediakan.

ix. Deadlock.Merupakan suatu kondisi dimana dua atau lebih proses salingmenunggu satu sama lain untuk menyelesaikan prosesnya,dan tidak satupun dari proses tersebut yang selesai. Problemdeadlock sering ditemukan pada multiprocessing.

x. Off By One Error.

Merupakan istilah untuk menggambarkan perulangan yangterlalu banyak atau terlalu sedikit. Misalnya perulangan yangdikehendaki adalah lima kali, tetapi kenyataan yang terjadiaplikasi mengulang proses tersebut sebanyak empat kali atauenam kali. Kesalahan ini pada umumnya terjadi karenakesalahan logika penulisan kode pada proses perulangan.

xi. Berikan KomentarJangan kuatir kode program dipenuhi oleh komentar. Karenaakan lebih mudah bagi programmer untuk mempelajari lagikode-kode program yang pernah dibuat dengan membacakomentar. Dengan mengerti kode program dengan baik,maka akan menjadi lebih mudah jika pada suatu saat

Page 83: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 82 dari 87

terdapat Logical Error yang membutuhkan analisa ulang kodeprogram.

xii. Gunakan Log FileInformasi proses yang dijalankan aplikasi dan tersimpan padasebuah log file (dapat berupa file text atau table) dapatmenjadi informasi yang sangat berguna untuk menganalisabug yang mungkin terjadi. Terutama informasi yangmenjelaskan apa yang terjadi sebelum, selama, dan sesudahbug terjadi. Untuk menghindari log file yang terlalu besar,yaitu dapat memisahkan log file terbagi menjadi log untukkomponen-komponen utama pada aplikasi. Jangan lupa untukselalu mencatat waktu (timestamp) pada setiap record, danpastikan dapat menghapus atau melakukan backup pada logfile secara periodik.

xiii. ValidasiTidak semua orang mematuhi aturan yang diterapkan padaaplikasi, karena itu programmer harus melakukan validasiuntuk data yang dimasukkan oleh pengguna. Misalnya padasuatu form pendaftaran, sebaiknya melakukan validasi untukinput yang tidak boleh kosong (mandatory/required fields),

melakukan pembatasan karakter, dan validasi huruf/angkayang diperlukan.

xiv. Mengenal EnvironmentSaat mengetikkan kode program, menjalankannya, ataumelakukan debug pada program, maka terdapat environmentyang berbeda-beda. Terdapat 3 environment yang umumdikenal, yaitu:a. Design Time.

Aplikasi yang dikerjakan dilakukan pada saat design time.b. Run Time.

Saat menjalankan aplikasi.c. Break Mode.

Page 84: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 83 dari 87

Environment saat melakukan proses debug atau melihatkode program saat program tersebut dijalankan, dapat

melihat alur program dan perubahan nilai pada variabel,sehingga dapat menelusuri kesalahan yang terjadi. BreakMode terletak diantara Design Time dan Run Time.

Untuk melakukan debugging pemrograman JAVA menggunakan editorNetbeans yaitu dengan melakukan double klik pada baris kode yangdicurigai terdapat kesalahan, sehingga akan muncul tanda kotakberwarna merah, seperti pada gambar 6.4 berikut ini

Gambar 6.4 Proses debugging

Kemudian pilih menu Debug Step Into/Step Over atau dengan

menggunakan shortcut F7 atau F8 seperti pada gambar 6.5 berikut ini

Gambar 6.5 Menu Debugging

Kemudian perhatikan tampilan output program dibagian bawah editor,dari tampilan tersebut dapat mengetahui perubahan nilai variabel,method, stack, watch dan lain-lain untuk membantu proses debuggingseperti pada gambar 6.6 berikut ini

Page 85: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 84 dari 87

Gambar 6.6 Tampilan debugger

B. Keterampilan yang diperlukan dalam Mengkompilasi Program1. Identifikasi jenis-jenis kesalahan pada program.2. Mengoperasikan software IDE (Integrated Development

Environment) untuk bahasa pemrograman JAVA seperti Netbeans,GEL, Eclipse dan lain-lain

3. Melakukan instalasi dan menjalankan software EXE4J.4. Melakukan instalasi dan menjalankan software Inno Setup.

C. Sikap kerja yang diperlukan dalam Mengkompilasi ProgramHarus bersikap secara:1. Cermat dan teliti dalam menganalisis kode program.2. Tekun dalam proses pemahaman sintaks.3. Sesuai dengan kaidah-kaidah bahasa pemrograman.4. Berpikir analitis serta evaluatif ketika melakukan trial and error.5. Giat dalam mencari bugs dan memperbaikinya.

Page 86: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 85 dari 87

DAFTAR PUSTAKA

A. Buku Referensia. Eck, David dan Smith, Introduction to Programming Using Java,

Geneva New York, Seventh Edition Version 7.0 August 2014b. Downey and Mayfield, Think Java ,Green Tea Press, Needham USA,

2016c. Wicaksono, Seri Penuntun praktis Dasar-dasar Pemrograman Java 2,

Penerbit PT Elex Media Komputindo Kelompok Gramedia JAKARTA,2002

B. Referensi Lainnya

a. Netbeans Documentaion, alamat url :https://netbeans.org/kb/,diakses pada tanggal 18 Februari 2018

Page 87: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 86 dari 87

DAFTAR ALAT DAN BAHAN

A. Daftar Peralatan/Mesin

No. Nama Peralatan/Mesin Keterangan1. Laptop, infocus, laserpointer Untuk di ruang teori2. Laptop Untuk setiap peserta3. Software JDK (Java Development Kit) 1.8 Untuk setiap peserta4. IDE Netbeans 7.0 Untuk setiap peserta5. Software EXE4J Untuk setiap peserta6. Software Inno Setup Untuk setiap peserta

B. Daftar Bahan

No. Nama Bahan Keterangan1. Kertas A4 Setiap peserta2. Alat Tulis Setiap peserta

Page 88: BUKU INFORMASI - WordPress.com

Modul Pelatihan Berbasis KompetensiSektor Teknologi Informasi dan Komunikasi Sub Sektor Rekayasa

Perangkat Lunak

Kode ModulJ.620100.018.02

Judul Modul: Mengimplementasikan Pemrograman Berorientasi ObjekBuku Informasi - Versi 2018 Halaman: 87 dari 87

DAFTAR PENYUSUN

No. Nama Profesi

1. Alun Sujjada, S.Kom.,M.T

1. Dosen STT Atlas Nusantara Malang ProdiTeknik Informatika

2. Asesor LSP STT Atlas Nusantara Malang3. Anggota APTIKOM (Asosiasi Perguruan Tinggi

Komputer)

Page 89: BUKU INFORMASI - WordPress.com