BUKU INFORMASI - WordPress.com
Transcript of 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
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
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
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
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
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
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
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
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
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
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 =
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
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
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
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
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
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
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
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
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.
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.
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
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
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
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
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
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
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.
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.
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.
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
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.
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;
}
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
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
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
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
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
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.
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
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
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
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
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.
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
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
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
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.
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
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
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
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
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
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
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.”);”
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
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,
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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.
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.
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
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
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
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
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
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
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.
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
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.
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
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.
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
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
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)