Modul Pemrograman Berbasis Object - Evita Fitri
Modul Pemrograman Berbasis Object - Evita Fitri
Demikianlah penugasan ini agar dapat dilaksanakan sebagaimana mestinya. Atas perhatian dan
kerjasamanya kami mengucapkan terima kasih.
Tembusan :
1. Divisi SDM
2. Wakil Rektor I Bidang Akademik
3. Wakil Rektor II Bidang Non Akademik
4. Ka. Prodi
5. Ybs
DAFTAR ISI
Table of Contents
COVER ....................................................................................... Error! Bookmark not defined.
DAFTAR ISI.............................................................................................................................ii
BAB I LANDASAN TEORI DASAR PEMROGRAMAN BAHASA JAVA ............. Error!
Bookmark not defined.
1.1. Pemrograman Java ........................................................ Error! Bookmark not defined.
1.2. Sifat dan Karakteristik Pemrograman Java ................... Error! Bookmark not defined.
1.3. Konsep-Konsep Pemrograman Berbasis Object ............................................................. 3
1.4. Karakteristik Pemrograman Berbasis Object .................................................................. 5
1.5. Jenis-Jenis Pemrograman Java ........................................................................................ 8
1.6. Pengenalan Program Java Netbeans ............................................................................... 8
BAB II PERINTAH DASAR PADA PEMROGRAMAN JAVA ...................................... 12
2.1. Pengenalan Tipe Data ................................................. 1Error! Bookmark not defined.
2.2. Penerapan Perintah Tipe Data Dasar Pada Java Netbeans............................................ 15
BAB III TEORI & KONSEP PEMROGRAMAN BEBRBASIS OBJECT ............. 2Error!
Bookmark not defined.
3.1. Penerapan Karakteristik Berorientasi Object Pada Java ............................................... 24
BAB IV OPERATOR PADA BAHASA JAVA ................................................................... 32
4.1. Operator Aritmatika Pada Java ..................................................................................... 32
4.2. Operator Pemberi Nilai ................................................................................................. 33
4.3. Operator Penambah dan Pengurang .............................................................................. 34
4.4. Operator Pembanding ................................................................................................... 35
4.5. Operator Logika ............................................................................................................ 36
BAB V PERINTAH MASUKAN, PENYELEKSI KONDISI, PERULANGAN DAN
ARRAY PADA PEMROGRAMAN JAVA ......................................................................... 38
5.1. Perintah Masukan Pada Program Java .......................................................................... 38
5.2. Perintah Seleksi Kondisi ............................................................................................... 41
5.3. Perintah Perulangan Pada Pemrograman Java .............................................................. 43
5.4. Perintah Array Pada Pemrograman Java....................................................................... 47
BAB VI CONTOH LATIHAN STUDI KASUS ................................................................. 53
DAFTAR PUSTAKA ............................................................................................................. 60
ii
BAB I
LANDASAN TEORI DASAR PEMROGRAMAN BAHASA JAVA
Pada Java, terdapat beberapa tipe karakteristik Pemrograman Java, daintaranya berbass
object, terdistibusi, multi platform dan multithread.
1
a. Dinamis
Java dibuat dengan mempertimbangkan fleksibilitas untuk lingkungan
pengembangan. Hal ini menyiratkan bahwa menambahkan properti atau metode ke
sebuah kelas cukup sederhana dan tidak akan mempengaruhi program yang
menggunakan kelas tersebut.
b. Beroriantasi Object
Pemrograman berorientasi objek adalah gagasan mengembangkan program dengan
mengelompokkan masalah ke dalam objek-objek berbeda, sederhananya. Setiap
objek tampak ada di dunianya sendiri, yang dapat memuat atribut dan metode (istilah
lain untuk variabel dan operasi internal objek). Bersama-sama, berbagai komponen
ini membentuk satu program. Pemrograman berorientasi objek sering disebut
dengan singkatan bahasa Inggrisnya, OOP (Object Oriented Programming), atau
dengan singkatan PBO (Programming Based on Objects). Proses penulisan program
dengan menggunakan ide "objek" yang berisi data dan kode dikenal sebagai
pemrograman berorientasi objek (OOP). Informasi ini tersedia dalam bentuk field
(juga dikenal sebagai atribut atau properti dalam konteks yang lebih informal) dan
kode dalam bentuk prosedur (juga dikenal sebagai metode).
c. Architectural Neutral
Program Java tidak bergantung pada platform karena kompiler java menghasilkan
format file objek yang tidak bergantung pada arsitektur yang berbeda, sehingga dapat
dijalankan di berbagai platform yang sudah memiliki JVM hanya dengan satu versi.
2
d. Multithreaded.
Java memiliki fitur interaktif yang memungkinkan untuk membuat program yang
dapat melakukan beberapa aktivitas sekaligus tanpa harus bertempur dengan langkah
berikutnya.
e. Performa Tinggi
Program Java menggunakan kompiler secara langsung, yang berkontribusi pada
kinerja tinggi. Namun, ada berbagai kompiler Java dari Inprise, Microsoft, atau
Symantec yang dapat Anda gunakan untuk meningkatkan kinerja Java.
f. Platform Independen
Sebagai bytecode yang tidak bergantung pada platform, Java dapat dijalankan di
berbagai sistem operasi, termasuk Microsoft Windows, Linux, BSD, Macintosh, dan
lain-lain. Sebagai hasilnya, Java tidak bergantung pada satu platform saja.
g. Terinterpretasi
Agar dapat diterjemahkan oleh sistem apa pun yang berisi program Java, kode bit
Java segera diterjemahkan ke perintah mesin. JVM dan Java Api membentuk Java
sebagai sebuah platform.
h. Terdistribusi
Sebuah aplikasi Java dapat dikirimkan dengan cepat berkat pustaka jaringan karena
bahasa Java dibuat untuk konteks distribusi internet.
i. Portabel
Sebuah aplikasi Java dapat dikirimkan dengan cepat berkat pustaka jaringan karena
bahasa Java dibuat untuk konteks distribusi internet.
j. Sturdy And Secure
kuat dan amanPenanganan eksepsi runtime dalam pemrograman Java
memungkinkan untuk menghilangkan kesalahan dengan melakukan pengecekan
pada saat kompilasi dan selama eksekusi. Java dibuat agar mudah digunakan dan
mudah dipelajari. Tata bahasa Java sebanding dengan C++ tetapi telah ditingkatkan
secara substansial, terutama dalam pewarisan berganda.
Java memiliki banyak fitur keamanan yang memungkinkan Anda untuk
mengembangkan sistem dan aplikasi yang kuat dan bebas dari virus.
3
a. Object dan Class
Pemrograman berorientasi objek mendasarkan persepsinya tentang dunia pada
objek. Dalam kehidupan sehari-hari, objek berfungsi sebagai cerminan pola kerja
manusia. Ada dua (2) hal yang dapat dilihat dalam sebuah objek, yaitu:
Attribut : Apa pun yang terkait dengan Objek disebut sebagai atribut. Atribut
adalah Variabel atau Anggota dalam aplikasi atau perangkat lunak. Objek Burung,
sebagai ilustrasi. Paruh, ekor, sayap, kaki, mata, dan fitur-fitur lainnya merupakan
atribut dari burung tersebut.
Behaviour : Perilaku adalah pola tingkah laku atau tingkah laku yang dimiliki oleh
suatu objek. Sebagai contoh, objek Burung dapat berjalan, mengepakkan sayap, dan
terbang, dan lain-lain. Behavior adalah sebuah Method atau Fungsi dalam aplikasi
program. Bentuk penulisan class, sebagai berikut :
4
//membuat objek
burung burung_elang = new burung();
......
......
}
b. Method
Metode adalah kumpulan pernyataan di dalam kelas yang menangani tugas tertentu.
Menggunakan metode adalah cara objek berkomunikasi satu sama lain. Method
adalah implementasi operasi yang bisa dilakukan oleh Class dan Object. Operasi
operasi yang dilakukan oleh Methode, diantaranya, yaitu :
1. Sebuah Metode dapat menerima dan memodifikasi data atau bidang di dalam
Metode.
2. Nilai sebuah objek dapat dipengaruhi oleh sebuah metode.
Berikut bentuk penulisan deklarasi Method:
Tipe_Akses Tipe_Return NamaMethod(Argumen1, Argumen2,...,Argumen-N)
{
... Badan / Tubuh Method ..
}
Berikut penjelasan deklarasi Methode diatas :
Tipe Akses, menyatakan tingkatan akses untuk memproteksi akses terhadap
data-data didalam Method, tipe akses ini bersifat opsional.
Tipe Return, menyatakan nilai hasil yang diolah oleh Method akan
dikembalkan atau akan mengirimkan kepada objek yang memanggil
Method. Bentuk Tipe Return, bisa berupa tipe data primitive yaitu integer,
float, double dan lain-lain.
5
pengkodean, yang juga berkontribusi pada modularitas, memungkinkan satu kelas
untuk berintegrasi dengan kelas lainnya (Hartono 2023). Enkaksulasi merupakan
proses membundel data dengan metode adalah proses yang dikenal sebagai
enkapsulasi, dan ini efektif untuk mengaburkan detail implementasi dari pengguna.
Enkapsulasi berfungsi untuk mencegah akses sewenang-wenang atau intervensi
dalam proses program oleh program lain. Ide enkapsulasi sangat penting untuk
mempertahankan program sambil menjaga agar tuntutan program tetap dapat diakses
setiap saat. Kita ambil contoh, pada saat anda mengganti chanel TV menggunakan
remote TV, apakah anda mengetahui proses yang terjadi didalam TV tersebut ?, maka
jawabannya tidak tau, dan anda pun sebagai pembeli TV tidak mau dipusingkan
dengan proses yang terjadi. Maka hal tersebut menyederhakan sistem.
Contoh dalam program :
Belajar.Java
class belajar{
public String x =”Pintar”;
private String y = “Java”;
}
Pintar.Java
public class Pintar{
public static void main(String[]args){
Coba panggil = new Belajar();
System.out.println(“Panggil X : “+panggil.x);
System.out.println(“Panggil Y : “+panggil.y);
}}
b. Pewarisan (Inheritance)
Ide pewarisan dalam pemrograman memungkinkan untuk 'mewariskan' properti dan
metode sebuah kelas ke kelas lain. Memanfaatkan kemampuan "penggunaan ulang
kode" untuk mencegah duplikasi kode komputer membutuhkan ide pewarisan.
Dalam kode perangkat lunak, ide pewarisan mengatur kelas-kelas dalam sebuah
hirarki. Kelas yang akan "diwarisi" dapat disebut sebagai kelas dasar, kelas induk,
atau kelas super. Kelas yang 'menerima warisan' dapat disebut sebagai kelas anak,
subkelas, kelas turunan, atau kelas pewaris. Sebagai contoh, pada saat kita bicara
6
mengenai bus, maka bus tersebut bisa mewarsikan kepada bus yang lain berupa,
nomor trayek, body besar, jumlah penumpang banyak dan lain sebagainya.
c. Polymorphism
Sebuah kelas dapat 'mewariskan' atribut dan fungsinya kepada kelas lain dengan
menggunakan konsep pemrograman pewarisan. Untuk mencegah duplikasi kode
program, ide pewarisan digunakan untuk memanfaatkan fitur "penggunaan ulang
kode".
Dalam kode perangkat lunak, sebuah hirarki atau struktur kelas dibuat dengan
menggunakan ide pewarisan. Kelas induk, kelas super, atau kelas dasar dapat
digunakan untuk mendeskripsikan kelas yang akan "diwarisi". Sedangkan kelas yang
'menerima warisan' dapat disebut sebagai kelas anak, subkelas, kelas turunan, atau
kelas pewaris.
Pada polymorphism kita akan sering menjumpai 2 (dua) istilah yang sering
digunakan dalam pemrograman berbasis objek, istilah tersebut yaitu :
a) Overloading.
Overloading yaitu menggunakan 1 (satu) nama objek untuk beberapa Method
yang berbeda ataupun bisa juga beda parameternya.
b) Overriding
Overriding akan terjadi apabila ketika pendeklarasian suatu Method subClass
dengan nama objek dan parameter yang sama dengan Method dari
superClassnya.
d. Abstrak
Abstrak, yang dimaksudkan untuk melihat sebuah sistem, menjadi lebih sederhana
atau lebih sederhana dalam pemrograman berbasis objek. Jika kita memeriksa sebuah
sistem, seperti sepeda motor, kita dapat melihat bahwa sepeda motor pasti memiliki
sistem pengapian, sistem rem, sistem persneling, dan sistem lainnya. Ketika kita
menggabungkan semua sistem ini menjadi satu, yaitu sistem sepeda motor, maka
akan menjadi lebih mudah.
e. Modularity
Kemampuan untuk menulis atau membuat sebuah objek secara independen dari objek
lain merupakan fitur pemrograman berbasis objek. Agar lebih mudah dalam
7
mendesain dan memodifikasi aplikasi. Mari kita gunakan sistem sepeda motor
sebagai contoh. Jika sistem rem terintegrasi langsung ke dalam komponen utama
sepeda motor, setiap perbaikan atau modifikasi akan membutuhkan pembongkaran
komponen utama sebelum mencapai komponen sekunder, yang akan memakan
banyak waktu. Untuk memperbaiki atau memodifikasi sebuah objek, cukup lakukan
perjalanan ke objek yang dituju berkat modularitas.
b. Implementasi
Aplikasi adalah program serba guna yang dibuat dengan Java. Tidak ada persyaratan
untuk perangkat lunak browser untuk meluncurkan aplikasi; mereka dapat dijalankan
secara langsung. Aplikasi dapat dibandingkan dengan program yang ditulis dalam
bahasa C atau Pascal. Anda dapat langsung menjalankannya setelah kompilasi.
8
Gambar 1. Tampilan Awal NetBeans 8.1
1. Pembuatan File Baru Pada Java NetBeans
Langkah awal pada pembuatan file atau project baru klik New pada bagian File –
New Project.
9
Gambar 3. Pemilihan type Project Baru
Setelah itu akan tampil Jendela New Java Application, tentukan nama Project dan
juga Folder penyimpanannya, kemudian klik Finish.
Selanjutnya akan tampil detail project baru yang kita buat dan terdapat jendela project,
pada tampilan tersebut, kita dapat membuat class, package, jpanel, jframe dan juga
lainnya sesuai kebutuhan dalam membuat project.
10
Gambar 5. Detail Pembuatan Type File-File Project Java
11
BAB II
PERINTAH DASAR PADA PEMROGRAMAN JAVA
12
Berikut penjelasan dari masing tipe data diantaranya:
1. Character
pe data karakter (character data type) dalam pemrograman mengacu pada jenis data
yang digunakan untuk menyimpan karakter tunggal seperti huruf, angka, tanda baca,
atau simbol lainnya. Dalam berbagai bahasa pemrograman, tipe data karakter sering
kali disebut sebagai "char" atau serupa. Berikut contoh cara tipe data karakter
digunakan dalam bahasa pemrograman java script:
Ketika Anda perlu menyimpan, mengelola, atau memproses data teks atau karakter,
Anda memanfaatkan tipe data karakter. Tipe data karakter sangat membantu dalam
pengembangan perangkat lunak untuk tugas-tugas seperti pemrosesan string, membaca
dan menulis file teks, dan berbagai tindakan yang berhubungan dengan karakter dan
teks.
2. Tipe Data Boolean
Tipe data boolean adalah tipe data dasar dalam pemrograman yang hanya memiliki dua
nilai mungkin: true (benar) atau false (salah). Tipe data ini digunakan untuk
merepresentasikan kondisi atau keadaan yang hanya memiliki dua kemungkinan,
seperti hasil perbandingan, pengujian kondisi, atau variabel yang digunakan untuk
mengendalikan alur program. Contoh penggunaan tipe data boolean dalam bahasa
pemrograman java sebagai berikut:
Tipe data boolean sangat berguna dalam pengambilan keputusan dalam program. Anda
dapat menggunakan operasi perbandingan seperti "sama dengan" (==), "tidak sama
dengan" (!=), "lebih besar dari" (>), "kurang dari" (<), dan lainnya untuk menghasilkan
nilai boolean. Selanjutnya, nilai boolean ini dapat digunakan dalam struktur
pengkondisian (misalnya, if, else if, dan else) untuk mengatur alur program
berdasarkan kondisi yang diberikan.
13
3. Tipe Data Variabel
Variabel adalah wadah penampung data sementara dalam memori komputer yang
memiliki nilai dari sebuah proses pada suatu pemrograman (Yeyi et. all, 2022).
Variabel merupakan sebuah simbol atau nama yang digunakan dalam pemrograman
untuk menyimpan dan merepresentasikan data dalam suatu program. Setiap variabel
memiliki tipe data yang menentukan jenis data yang dapat disimpan di dalamnya,
seperti angka, teks, karakter, atau nilai boolean. Variabel juga memiliki nilai yang
dapat berubah selama eksekusi program. Dalam pemrograman, variabel digunakan
untuk:
a. Menyimpan Data: Variabel digunakan untuk menyimpan data yang akan
digunakan atau dimanipulasi oleh program. Contohnya, Anda dapat menggunakan
variabel untuk menyimpan angka, teks, atau hasil perhitungan.
b. Memberikan Nama pada Data: Variabel memberikan nama pada data sehingga
Anda dapat merujuknya dengan mudah dalam kode program. Ini membuat kode
lebih mudah dibaca dan dimengerti.
c. Mengelola State: Variabel digunakan untuk melacak keadaan (state) dalam
program. Misalnya, Anda dapat menggunakan variabel untuk melacak apakah
pengguna sudah masuk atau belum.
Tipe data variabel menentukan jenis data yang dapat disimpan di dalamnya dan operasi
yang dapat dilakukan pada variabel tersebut. Hal ini membantu memastikan integritas
data dan menghindari kesalahan penggunaan data yang salah dalam program Anda.
4. Konstanta
Nilai tetap yang tidak dapat dimodifikasi saat program berjalan dikenal sebagai tipe
data konstan atau konstanta dalam pemrograman. Konstanta digunakan untuk
menunjukkan nilai tetap yang tidak boleh berubah saat program berjalan. Konstanta
dapat dinyatakan dengan berbagai cara yang mengikuti norma bahasa atau
menggunakan kata kunci khusus dalam bahasa pemrograman.
14
Ketika Anda memiliki nilai yang tidak boleh berubah ketika aplikasi Anda berjalan,
Anda menggunakan konstanta. Sebagai hasil dari mencegah modifikasi yang tidak
disengaja pada nilai-nilai penting, hal ini meningkatkan keamanan dan kejelasan kode
Anda. Untuk membuat kode lebih mudah dipelihara dan dimodifikasi di masa depan,
konstanta juga dapat digunakan untuk mengganti nilai yang umum digunakan dalam
kode.
5. Membuat Sebuah Komentar
Dalam bahasa pemrograman, komentar adalah teks atau catatan yang disertakan ke
dalam kode program untuk tujuan penjelasan atau dokumentasi. Komputer tidak akan
menjalankan komentar, oleh karena itu komentar tidak berpengaruh terhadap fungsi
aplikasi. Tujuan mendasar dari komentar adalah untuk membantu pengembang-baik
pengembang yang menulis kode maupun pengembang lain yang mungkin akan
memahami atau mengeditnya. Contoh penulisan komentar pada java:
15
mendeklarasikan variabel dengan tipe data char dan String, serta menampilkan
hasilnya di konsol.
Berikut adalah langkah-langkah untuk menjalankan contoh di atas dalam
lingkungan pengembangan NetBeans:
1. Buka NetBeans atau buat proyek baru jika Anda belum memiliki satu.
2. Buat kelas Java baru dengan mengklik kanan pada proyek Anda, pilih "New"
(Baru), dan kemudian "Java Class" (Kelas Java). Beri nama kelas sesuai
keinginan, misalnya "CharVariableExample."
3. Ketik kembali kode script ke dalam kelas yang baru dibuat.
4. Jalankan program dengan mengklik tombol "Run" (Jalankan) atau dengan
menggunakan pintasan keyboard (biasanya Ctrl + F5).
Gambar 9. Implementasi Tipe Data Character dan Variabel Pada Java NetBeans
Menggunakan Java Class.
16
// Deklarasi dan inisialisasi variabel string
String kata = "Hello, World!";
// Menampilkan karakter dan string ke konsol
System.out.println("Karakter pertama: " + hurufPertama);
System.out.println("Karakter kedua: " + hurufKedua);
System.out.println("String: " + kata);
}
}
Hasilnya akan ditampilkan di konsol NetBeans, dan Anda akan melihat keluaran
yang mencetak karakter pertama, karakter kedua, dan string ke layar konsol.
Source code di atas adalah contoh program Java yang menggunakan tipe data
karakter (char) dan variabel string (String) dalam suatu kelas bernama
CharVariableExample. Berikut penjelasan dari setiap bagian kode tersebut:
17
3. char hurufPertama = 'A'; dan char hurufKedua = 'B';: Ini adalah deklarasi
dan inisialisasi dua variabel karakter (char). Variabel hurufPertama
diinisialisasi dengan karakter 'A', dan variabel hurufKedua diinisialisasi
dengan karakter 'B'.
4. String kata = "Hello, World!";: Ini adalah deklarasi dan inisialisasi sebuah
variabel string (String). Variabel kata diinisialisasi dengan string "Hello,
World!".
5. System.out.println("Karakter pertama: " + hurufPertama);: Ini adalah
pernyataan yang mencetak karakter pertama (variabel hurufPertama) ke
konsol. Pernyataan ini menggunakan metode println untuk mencetak teks ke
layar, dan hasilnya adalah "Karakter pertama: A".
6. System.out.println("Karakter kedua: " + hurufKedua);: Ini adalah
pernyataan yang mencetak karakter kedua (variabel hurufKedua) ke konsol.
Hasilnya adalah "Karakter kedua: B".
7. System.out.println("String: " + kata);: Ini adalah pernyataan yang mencetak
variabel string (kata) ke konsol. Hasilnya adalah "String: Hello, World!".
18
Gambar 11. Implementasi Sorce Code Tipe Data Boolean Pada Java Class
Berikut Source Coding dari java class diatas :
public class BooleanExample {
public static void main(String[] args) {
// Deklarasi variabel boolean
boolean benar = true;
boolean salah = false;
if (!salah) {
System.out.println("Ini akan ditampilkan karena salah adalah false.");
}
19
Gambar 12. Hasil Running Sorce Code Boolean pada Java di layar Output
Source code di atas adalah contoh program Java yang menggunakan tipe data
boolean untuk mendeklarasikan variabel boolean, menggambarkan penggunaan
tipe data boolean dalam struktur pengkondisian (if), dan melakukan operasi logika
dengan tipe data boolean. Berikut adalah penjelasan dari setiap bagian kode
tersebut:
20
operasi logika benar && !salah. Karena benar adalah true dan !salah juga true,
maka hasil operasi logika adalah true.
7. System.out.println("Hasil operasi logika: " + hasilLogika);: Ini adalah
pernyataan yang mencetak hasil operasi logika (hasilLogika) ke konsol.
Hasilnya akan mencetak "Hasil operasi logika: true."
Gambar 13. Implementasi Sorce Code Tipe Data Konstanta pada Java NetBeans
Berikut Source Code dari gambar diatas:
21
Public class ConstantExample {
public static void main(String[] args) {
// Deklarasi konstanta dengan kata kunci final
final double PI = 3.14159;
final int ANGKA_MAX = 100;
final String NAMA_SITUS = "Contoh.com";
Gambar 14. Hasil Running Sorce Code Konstanta pada Java di layar Output
22
2. public static void main(String[] args) {: Ini adalah metode main, yang
merupakan titik awal eksekusi program Java. Semua pernyataan dalam
program akan dieksekusi dari sini.
3. final double PI = 3.14159;, final int ANGKA_MAX = 100;, dan final String
NAMA_SITUS = "Contoh.com";: Ini adalah deklarasi konstanta dengan kata
kunci final. Konstanta ini dideklarasikan dengan tipe data yang sesuai dan
memiliki nilai tetap yang tidak dapat diubah selama eksekusi program. Contoh
konstanta yang dideklarasikan di sini adalah PI (nilai π), ANGKA_MAX
(angka maksimum), dan NAMA_SITUS (nama situs web).
4. double jariJari = 5.0;: Ini adalah deklarasi dan inisialisasi variabel jariJari
yang digunakan dalam perhitungan untuk menghitung luas lingkaran.
5. double luasLingkaran = PI * jariJari * jariJari;: Ini adalah perhitungan
yang menggunakan konstanta PI dan variabel jariJari untuk menghitung luas
lingkaran. Hasilnya disimpan dalam variabel luasLingkaran.
6. System.out.println("Luas lingkaran dengan jari-jari 5: " +
luasLingkaran);: Ini adalah pernyataan yang mencetak hasil perhitungan (luas
lingkaran) ke konsol. Hasilnya akan mencetak pesan "Luas lingkaran dengan
jari-jari 5: ..." dengan nilai luas yang dihitung.
7. int angka = 75;: Ini adalah deklarasi dan inisialisasi variabel angka yang
digunakan dalam struktur pengkondisian.
8. if (angka <= ANGKA_MAX) { ... }: Ini adalah contoh penggunaan konstanta
ANGKA_MAX dalam struktur pengkondisian if. Pernyataan dalam blok if
akan dieksekusi jika nilai angka kurang dari atau sama dengan nilai konstanta
ANGKA_MAX. Dalam contoh ini, pesan akan dicetak jika kondisinya benar.
9. System.out.println("Selamat datang di " + NAMA_SITUS);: Ini adalah
pernyataan yang mencetak teks yang menggabungkan konstanta
NAMA_SITUS ke konsol. Hasilnya akan mencetak pesan "Selamat datang di
Contoh.com".
23
BAB III
24
Source Code Sample Enkapsulasi:
25
Pada metode getNilai(), nilai dari atribut "nilai" dikembalikan kepada pemanggil
metode ini.
e) public void setNilai(int nilai) {
Ini adalah metode mutasi (setter) yang digunakan untuk mengubah nilai atribut "nilai".
Metode ini memiliki parameter berupa nilai integer yang akan digunakan untuk
mengganti nilai atribut.
f) if (nilai >= 0) {
Pada metode setNilai(), terdapat pengecekan apakah nilai yang ingin diubah adalah
nilai positif atau nol.
g) this.nilai = nilai;
Jika nilai yang diberikan adalah non-negatif, maka nilai atribut "nilai" akan diubah
dengan nilai baru yang diberikan melalui parameter.
h) System.out.println("Nilai tidak valid");
Jika nilai yang diberikan kurang dari nol, maka pesan "Nilai tidak valid" akan dicetak
ke layar.
Dengan mengembangkan metode akses (getter) dan metode mutasi (setter) untuk mengakses
dan mengubah nilai atribut dengan aman, kelas "Contoh Enkapsulasi" menyelesaikan
enkapsulasi untuk atribut "nilai". Metode-metode ini adalah satu-satunya cara untuk mengakses
dan mengubah properti "value", yang memiliki akses pribadi. Hal ini memberikan Anda
kontrol yang lebih baik terhadap data dan implementasi pemrograman berorientasi objek yang
lebih terorganisir.
2. Pewarisan (Inheritance)
Pewarisan (Inheritance) adalah salah satu konsep utama dalam pemrograman berorientasi
objek (OOP) yang memungkinkan sebuah kelas untuk mewarisi sifat dan perilaku dari kelas
lain. Konsep ini memungkinkan penciptaan hierarki kelas, di mana sebuah kelas yang baru
dapat dibangun berdasarkan kelas yang sudah ada, mengambil karakteristik atau atribut serta
metode yang telah didefinisikan dalam kelas yang sudah ada. Ada beberapa konsep penting
terkait pewarisan:
a. Kelas Induk (Superclass atau Parent Class): Kelas yang sudah ada dan memberikan
karakteristik (atribut dan metode) kepada kelas anak. Kelas ini juga disebut kelas super
atau kelas induk.
26
b. Kelas Anak (Subclass atau Child Class): Kelas yang dibangun berdasarkan kelas induk.
Kelas anak mewarisi atribut dan metode dari kelas induk, dan juga dapat menambahkan
atau mengubah perilaku tersebut.
c. Pewarisan Atribut: Kelas anak mewarisi atribut (variabel) dari kelas induk. Ini berarti
bahwa atribut yang sudah ada dalam kelas induk juga dapat digunakan dalam kelas anak.
d. Pewarisan Metode: Kelas anak mewarisi metode (fungsi) dari kelas induk. Metode ini
dapat digunakan dalam kelas anak, dan kelas anak juga dapat menambahkan metode
tambahan atau mengganti (override) metode yang sudah ada.
e. Override (Penggantian): Kelas anak dapat mengganti (override) metode yang sudah ada
dalam kelas induk dengan implementasi yang sesuai untuk kelas anak tersebut. Ini
memungkinkan perilaku yang berbeda antara kelas anak dan kelas induk.
Class Induk :
27
Source Code :
28
this.nim = nim;
}
public void info() {
super.info(); // Memanggil metode info() dari kelas Orang
System.out.println("NIM: " + nim);
}
}
Kemudian, buat kelas Main sebagai pengujian pewarisan :
3. Polymorphism
Salah satu ide dasar pemrograman berorientasi objek (OOP) adalah polimorfisme, yang
menggambarkan kapasitas objek untuk mengadopsi berbagai bentuk atau bertindak dalam
berbagai situasi. Dengan kata lain, polimorfisme memungkinkan objek dari berbagai kelas
bereaksi terhadap metode dengan cara yang sesuai untuk setiap jenis.
Ada dua jenis polimorfisme dalam OOP:
29
a. Polimorfisme Kompilasi (Compile-time Polymorphism atau Static Polymorphism):
Polimorfisme kompilasi terjadi saat pengikatan metode terjadi selama kompilasi
program.
Ini juga dikenal sebagai "metode overloading."
Metode overloading terjadi ketika dua atau lebih metode dalam sebuah kelas memiliki
nama yang sama tetapi memiliki parameter yang berbeda.
Pemilihan metode yang akan dipanggil tergantung pada tipe parameter saat
pemanggilan metode dilakukan.
Contoh polimorfisme kompilasi (overloading) dalam Java:
30
Polimorfisme runtime terjadi saat pengikatan metode terjadi selama eksekusi program.
Ini juga dikenal sebagai "metode overriding."
Metode overriding terjadi ketika sebuah kelas anak (subclass) memberikan
implementasi yang sesuai untuk metode yang telah didefinisikan dalam kelas induk
(superclass).
Pemilihan metode yang akan dipanggil tergantung pada objek yang digunakan pada
saat runtime.
Contoh polimorfisme runtime (overriding) dalam Java:
class Hewan {
void suara() {
System.out.println("Beberapa hewan bersuara.");
}
}
class Kucing extends Hewan {
void suara() {
System.out.println("Kucing bersuara: Meong!");
}
}
public class Main {
public static void main(String[] args) {
Hewan hewan1 = new Hewan();
Hewan hewan2 = new Kucing();
hewan1.suara(); // Output: Beberapa hewan bersuara.
hewan2.suara(); // Output: Kucing bersuara: Meong!
}
}
Dalam contoh di atas, metode suara() di kelas Kucing melakukan overriding terhadap metode
yang sama di kelas Hewan. Hasil pemanggilan metode suara() akan bergantung pada tipe
objek yang digunakan pada saat runtime.
31
BAB IV
2. Pengurangan (-): Operator ini digunakan untuk mengurangkan dua nilai. Contoh:
3. Perkalian (*): Operator ini digunakan untuk mengalikan dua nilai. Contoh:
4. Pembagian (/): Operator ini digunakan untuk membagi dua nilai. Ini menghasilkan
nilai desimal jika salah satu atau kedua operan adalah desimal. Contoh:
5. Modulus (%): Operator ini mengembalikan sisa dari hasil pembagian dua nilai.
Contoh:
6. Inkremen (++) dan Dekremen (--): Operator ini digunakan untuk meningkatkan atau
mengurangi nilai satu unit.
32
Operator aritmatika ini digunakan dalam berbagai operasi matematika dalam
pemrograman untuk melakukan perhitungan dan manipulasi nilai numerik.
Operator pemberi nilai adalah bagian penting dari pemrograman karena memungkinkan Anda
untuk mengelola dan memanipulasi data dalam program Anda dengan mengubah nilai variabel
sesuai kebutuhan.
33
4.3. Operator Penambah dan Pengurang
Operator penambah dan pengurang dalam Java adalah operator yang digunakan untuk
meningkatkan (inkrement) atau mengurangi (dekrement) nilai variabel bilangan bulat (seperti
`int`) sebanyak satu. Operator penambah menambahkan satu ke nilai variabel, sedangkan
operator pengurang mengurangkan satu dari nilai variabel. Operator ini sering digunakan
dalam loop atau dalam situasi di mana Anda perlu mengubah nilai variabel dengan jumlah
tertentu. Dalam Java, ada dua operator penambah dan pengurang yang umum digunakan:
1. **Operator Penambah (++)**: Operator ini digunakan untuk menambah satu ke nilai
variabel. Anda dapat menggunakannya sebagai postfix (ditempatkan setelah variabel) atau
prefix (ditempatkan sebelum variabel). Contoh penggunaan operator penambah sebagai
postfix:
2. Operator Pengurang (--): Operator ini digunakan untuk mengurangkan satu dari nilai
variabel. Seperti operator penambah, Anda juga dapat menggunakannya sebagai postfix
atau prefix. Contoh penggunaan operator pengurang sebagai postfix:
34
Operator penambah dan pengurang sering digunakan dalam perulangan (looping) untuk
mengatur indeks atau perhitungan. Mereka juga dapat digunakan dalam ekspresi
matematika yang melibatkan peningkatan atau pengurangan nilai variabel.
35
5. <= (kurang dari atau sama dengan): Memeriksa apakah nilai di sebelah kiri lebih kecil
dari atau sama dengan nilai di sebelah kanan. Contoh:
int angka1 = 5;
int angka2 = 5;
boolean hasil = (angka1 <= angka2); // Hasilnya akan true karena angka1 kurang dari atau
sama dengan angka2
6. >= (lebih dari atau sama dengan): Memeriksa apakah nilai di sebelah kiri lebih besar
dari atau sama dengan nilai di sebelah kanan. Contoh:
int angka1 = 10;
int angka2 = 5;
boolean hasil = (angka1 >= angka2); // Hasilnya akan true karena angka1 lebih besar dari
atau sama dengan angka2
Operator-operator pembanding ini digunakan dalam pernyataan kondisional (seperti if, else if,
dan switch) untuk membuat keputusan berdasarkan hasil perbandingan nilai-nilai yang
berbeda. Hasil dari operator pembanding adalah nilai boolean yang menentukan apakah
perbandingan tersebut benar (true) atau salah (false).
36
3. ! (NOT Logika): Operator ini mengganti nilai boolean menjadi sebaliknya. Jika suatu
ekspresi adalah true, maka dengan operator ! akan menjadi false, dan sebaliknya. Contoh:
boolean x = true;
boolean hasil = !x; // Hasilnya akan false karena NOT x adalah false
Operator logika digunakan dalam pernyataan kondisional (seperti if, else, dan while) dan
ekspresi logika yang kompleks untuk mengontrol alur program. Dengan operator logika, Anda
dapat membuat keputusan yang kompleks berdasarkan berbagai kondisi yang bergantung satu
sama lain.
37
BAB V
Di atas, kita mengimpor kelas Scanner dan kemudian membuat objek Scanner untuk
mengambil masukan dari pengguna melalui System.in (keyboard). Selanjutnya, kita
menggunakan metode nextLine() untuk membaca sebuah baris masukan sebagai string dan
nextInt() untuk membaca bilangan bulat.
Berikut penjelasan Script pada Gambar 20:
38
1. `import java.util.Scanner;`: Ini adalah pernyataan impor yang mengimpor kelas
`Scanner` dari paket `java.util`, yang digunakan untuk membaca masukan dari
pengguna.
2. `public class InputExample {`: Ini adalah deklarasi kelas Java utama yang bernama
`InputExample`.
3. `public static void main(String[] args) {`: Ini adalah metode `main` yang merupakan
titik masuk program. Metode ini akan dieksekusi ketika program dijalankan.
4. `Scanner scanner = new Scanner(System.in);`: Ini adalah pembuatan objek `Scanner`
yang digunakan untuk membaca masukan dari keyboard. Objek ini dibuat dengan
menggunakan `System.in` sebagai sumber masukan.
5. `System.out.print("Masukkan nama Anda: ");`: Ini adalah pernyataan cetak yang
meminta pengguna untuk memasukkan nama mereka.
6. `String nama = scanner.nextLine();`: Ini adalah pernyataan yang membaca sebuah baris
masukan sebagai string yang dimasukkan oleh pengguna dan menyimpannya dalam
variabel `nama`.
7. `System.out.print("Masukkan umur Anda: ");`: Ini adalah pernyataan cetak yang
meminta pengguna untuk memasukkan umur mereka.
8. `int umur = scanner.nextInt();`: Ini adalah pernyataan yang membaca sebuah bilangan
bulat (integer) yang dimasukkan oleh pengguna dan menyimpannya dalam variabel
`umur`.
9. `System.out.println("Halo, " + nama + "! Anda berusia " + umur + " tahun.");`: Ini
adalah pernyataan yang mencetak pesan sambutan kepada pengguna, mencantumkan
nama dan umur yang telah dimasukkan oleh pengguna.
10. `scanner.close();`: Ini adalah pernyataan yang menutup objek `Scanner` setelah selesai
digunakan. Hal ini penting untuk menghindari kebocoran sumber daya.
Dengan kode ini, program akan menunggu masukan dari pengguna, kemudian membaca
masukan tersebut, baik sebagai string (nama) atau bilangan bulat (umur), dan kemudian
mencetak pesan sambutan dengan informasi yang dimasukkan oleh pengguna. Jadi, ini adalah
contoh sederhana pengambilan dan pengolahan masukan pengguna dalam Java menggunakan
kelas `Scanner`.
Anda juga dapat menggunakan kelas BufferedReader untuk membaca masukan dari
keyboard. Berikut adalah contoh sederhana menggunakan BufferedReader:
39
Gambar 21. Contoh lanjutan perintah masukkan.
Dalam kedua contoh di atas, program akan menunggu masukan dari pengguna, kemudian
membaca masukan tersebut dan menggunakannya dalam program. Input yang dibaca dapat
digunakan untuk berbagai macam tugas dalam program, seperti perhitungan, pengambilan
keputusan, dan sebagainya.
Penjelasan Source Coding:
1. `import java.io.BufferedReader;`: Ini adalah pernyataan impor yang mengimpor kelas
`BufferedReader` dari paket `java.io`, yang digunakan untuk membaca masukan dari
keyboard.
2. `import java.io.IOException;`: Ini adalah pernyataan impor yang mengimpor kelas
`IOException` dari paket `java.io`, yang berkaitan dengan penanganan kesalahan
masukan/keluaran.
3. `import java.io.InputStreamReader;`: Ini adalah pernyataan impor yang mengimpor kelas
`InputStreamReader` dari paket `java.io`, yang digunakan untuk membungkus `System.in`
sehingga dapat digunakan oleh `BufferedReader` untuk membaca masukan dari keyboard.
4. `public class InputExample {`: Ini adalah deklarasi kelas Java utama yang bernama
`InputExample`.
5. `public static void main(String[] args) throws IOException {`: Ini adalah metode `main`
yang merupakan titik masuk program. Metode ini mendeklarasikan bahwa ia dapat
melemparkan pengecualian `IOException`, yang dapat terjadi saat membaca masukan.
40
6. `BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));`: Ini
adalah pembuatan objek `BufferedReader` yang digunakan untuk membaca masukan dari
keyboard. Objek ini dibuat dengan menggunakan `System.in` sebagai aliran masukan.
7. `System.out.print("Masukkan nama Anda: ");`: Ini adalah pernyataan cetak yang meminta
pengguna untuk memasukkan nama mereka.
8. `String nama = reader.readLine();`: Ini adalah pernyataan yang membaca sebuah baris
masukan sebagai string yang dimasukkan oleh pengguna dan menyimpannya dalam
variabel `nama`.
9. `System.out.print("Masukkan umur Anda: ");`: Ini adalah pernyataan cetak yang meminta
pengguna untuk memasukkan umur mereka.
10. `int umur = Integer.parseInt(reader.readLine());`: Ini adalah pernyataan yang membaca
sebuah baris masukan sebagai string, kemudian mengonversinya menjadi bilangan bulat
(integer) dan menyimpannya dalam variabel `umur`.
11. `System.out.println("Halo, " + nama + "! Anda berusia " + umur + " tahun.");`: Ini adalah
pernyataan yang mencetak pesan sambutan kepada pengguna, mencantumkan nama dan
umur yang telah dimasukkan.
12. `reader.close();`: Ini adalah pernyataan yang menutup objek `BufferedReader` setelah
selesai digunakan. Hal ini penting untuk menghindari kebocoran sumber daya.
Dengan kode ini, program akan menunggu masukan dari pengguna, kemudian membaca
masukan tersebut, mengonversi umur menjadi bilangan bulat, dan mencetak pesan sambutan
dengan informasi yang dimasukkan oleh pengguna. Jadi, ini adalah contoh sederhana
pengambilan dan pengolahan masukan pengguna dalam Java.
41
2. Pernyataan if-else: Pernyataan if-else digunakan untuk menjalankan blok kode dalam if
jika kondisi yang diuji benar (true) atau blok kode dalam else jika kondisi salah (false).
Contoh:
3. Pernyataan if-else if-else: Pernyataan ini digunakan untuk menguji beberapa kondisi
berturut-turut dan menjalankan blok kode yang sesuai dengan kondisi yang pertama yang
benar (true). Contoh:
4. Pernyataan switch: Pernyataan switch digunakan untuk membuat seleksi berdasarkan nilai
dari ekspresi tertentu. Contoh:
42
Pernyataan kondisional ini memungkinkan Anda untuk mengontrol jalannya program
berdasarkan kondisi tertentu, sehingga Anda dapat melakukan perhitungan, pengambilan
keputusan, dan alur program yang berbeda tergantung pada kondisi saat menjalankan
program Java Anda.
43
2. **Perulangan `while`**: Digunakan ketika Anda tidak tahu berapa kali kode harus
diulang, tetapi kode akan terus diulang selama kondisi tertentu benar. Contoh penggunaan
perulangan `while`:
```java
int i = 0;
while (i < 5) {
System.out.println("Iterasi ke-" + i);
i++;
}
```
3. **Perulangan `do-while`**: Sama seperti `while`, namun memastikan bahwa setidaknya
satu iterasi akan dijalankan bahkan jika kondisinya salah dari awal. Contoh penggunaan
perulangan `do-while`:
```java
int i = 0;
do {
System.out.println("Iterasi ke-" + i);
i++;
} while (i < 5);
```
Perulangan memungkinkan Anda untuk mengotomatisasi tugas-tugas repetitif dalam
pemrograman Java, dan pemilihan jenis perulangan yang tepat akan bergantung pada
kebutuhan dan kondisi kode Anda.
44
b. `public static void main(String[] args) {`: Ini adalah metode utama dalam kelas. Setiap
program Java harus memiliki metode `main` yang merupakan titik awal eksekusi
program. Dalam kasus ini, metode `main` menerima argumen dalam bentuk array
string (`String[] args`).
c. `for (int i = 0; i < 5; i++) {`: Ini adalah deklarasi perulangan `for`. Di dalam tanda
kurung, Anda memiliki tiga bagian:
o `int i = 0;`: Inisialisasi variabel `i` dengan nilai awal 0. Variabel `i` akan
digunakan sebagai penghitung iterasi.
o `i < 5;`: Kondisi yang akan dievaluasi setiap kali perulangan dilakukan.
Perulangan akan terus berlanjut selama kondisi ini benar (nilai `i` kurang dari 5).
o `i++`: Ekspresi yang dieksekusi setiap kali iterasi selesai. Ini meningkatkan nilai
`i` sebanyak 1 setiap kali perulangan selesai.
d. `{`: Kurung kurawal membuka untuk menandai awal dari blok kode yang akan diulang.
e. `System.out.println("Iterasi ke-" + i);`: Ini adalah perintah yang akan dijalankan pada
setiap iterasi perulangan. Ini mencetak teks "Iterasi ke-" diikuti oleh nilai `i` saat ini ke
konsol.
f. `}`: Kurung kurawal penutup menandai akhir dari blok kode perulangan.
Jadi, kode ini akan mencetak pesan "Iterasi ke-0", "Iterasi ke-1", "Iterasi ke-2", "Iterasi ke-3",
dan "Iterasi ke-4" ke konsol, karena variabel `i` akan meningkat dari 0 hingga 4 dalam
perulangan. Setelah `i` mencapai 5, kondisi `i < 5` menjadi salah, dan perulangan akan berhenti.
45
b. `public static void main(String[] args) {`: Ini adalah metode utama dalam kelas. Setiap
program Java harus memiliki metode `main` yang merupakan titik awal eksekusi
program. Dalam kasus ini, metode `main` menerima argumen dalam bentuk array
string (`String[] args`).
c. `int i = 0;`: Ini adalah inisialisasi variabel `i` dengan nilai awal 0. Variabel `i` akan
digunakan sebagai penghitung iterasi.
d. `while (i < 5) {`: Ini adalah deklarasi perulangan `while`. Di dalam tanda kurung, Anda
memiliki kondisi `i < 5`. Perulangan ini akan terus berlanjut selama kondisi ini benar
(nilai `i` kurang dari 5).
e. `{`: Kurung kurawal membuka untuk menandai awal dari blok kode yang akan diulang.
f. `System.out.println("Iterasi ke-" + i);`: Ini adalah perintah yang akan dijalankan pada
setiap iterasi perulangan. Ini mencetak teks "Iterasi ke-" diikuti oleh nilai `i` saat ini ke
konsol.
g. `i++;`: Ini adalah perintah yang meningkatkan nilai `i` sebanyak 1 pada setiap iterasi.
Ini diperlukan agar kondisi perulangan (`i < 5`) akhirnya menjadi salah dan perulangan
berhenti.
h. `}`: Kurung kurawal penutup menandai akhir dari blok kode perulangan.
Dengan demikian, kode ini akan mencetak pesan "Iterasi ke-0", "Iterasi ke-1", "Iterasi ke-2",
"Iterasi ke-3", dan "Iterasi ke-4" ke konsol karena nilai `i` mulai dari 0 dan ditingkatkan setiap
kali perulangan selesai. Setelah `i` mencapai 5, kondisi `i < 5` menjadi salah, dan perulangan
berhenti.
46
Berikut penjelsan dari source code diatas:
a. `public class ContohPerulanganDoWhile {`: Ini adalah awal dari definisi kelas Java
yang dinamai "ContohPerulanganDoWhile". Semua kode Java harus berada dalam
kelas, dan nama kelas harus sesuai dengan nama file Java yang disimpan dalam.
b. `public static void main(String[] args) {`: Ini adalah metode utama dalam kelas. Setiap
program Java harus memiliki metode `main` yang merupakan titik awal eksekusi
program. Dalam kasus ini, metode `main` menerima argumen dalam bentuk array
string (`String[] args`).
c. `int i = 0;`: Ini adalah inisialisasi variabel `i` dengan nilai awal 0. Variabel `i` akan
digunakan sebagai penghitung iterasi.
d. `do {`: Ini adalah awal dari blok perulangan `do-while`. Perbedaan utama antara `do-
while` dan `while` adalah bahwa blok kode di dalam `do` akan dijalankan sekali
setidaknya sebelum kondisi dicek.
e. `System.out.println("Iterasi ke-" + i);`: Ini adalah perintah yang akan dijalankan pada
setiap iterasi perulangan. Ini mencetak teks "Iterasi ke-" diikuti oleh nilai `i` saat ini ke
konsol.
f. `i++;`: Ini adalah perintah yang meningkatkan nilai `i` sebanyak 1 pada setiap iterasi.
Ini diperlukan agar kondisi perulangan (`i < 5`) akhirnya menjadi salah dan perulangan
berhenti.
g. `} while (i < 5);`: Ini adalah bagian akhir dari perulangan `do-while`. Pada titik ini,
kondisi `i < 5` dicek. Jika kondisi masih benar, perulangan akan kembali ke awal blok
`do` dan melanjutkan eksekusi. Jika kondisi tersebut salah, perulangan akan berhenti.
Kode tersebut akan mencetak pesan "Iterasi ke-0", "Iterasi ke-1", "Iterasi ke-2", "Iterasi ke-3",
dan "Iterasi ke-4" ke konsol karena blok `do` dijalankan sekali, dan kemudian kondisi `i < 5`
dicek. Setelah itu, perulangan akan terus berlanjut selama kondisi tetap benar, dan nilai `i` akan
terus ditingkatkan. Setelah `i` mencapai 5, kondisi `i < 5` menjadi salah, dan perulangan
berhenti.
47
a. Tipe Data Sama: Semua elemen dalam array harus memiliki tipe data yang sama.
Misalnya, Anda dapat memiliki array bilangan bulat, array string, atau array objek tertentu,
tetapi semua elemennya harus memiliki tipe data yang sama.
b. Ukuran Tetap: Setelah sebuah array dibuat, ukurannya tetap dan tidak dapat diubah. Ini
berarti Anda harus menentukan ukuran array saat deklarasi, dan array tersebut akan
memiliki jumlah elemen yang tetap.
c. Indeks Berurutan: Elemen-elemen dalam array diindeks secara berurutan, dimulai dari 0.
Ini berarti Anda dapat mengakses elemen tertentu dengan menggunakan indeksnya.
d. Deklarasi dan Inisialisasi: Anda dapat mendeklarasikan dan menginisialisasi array dengan
berbagai cara. Misalnya, Anda bisa langsung menyebutkan elemen-elemennya saat
deklarasi atau mengisi array setelah deklarasi menggunakan loop atau nilai-nilai tertentu.
48
Gambar 25. Contoh Source Coding Array Satu Dimensi.
a. Membuat array ‘angka’ dengan ukuran 5 menggunakan deklarasi int[] angka = new
int[5];.
b. Mengisi array ‘angka’ dengan nilai-nilai menggunakan pernyataan seperti angka[0] =
10;.
c. Mengakses dan mencetak elemen-elemen array menggunakan loop ‘for’ untuk
mengunjungi setiap indeks array dan mencetak nilainya.
a. `public class ContohArraySatuDimensi {`: Ini adalah awal dari definisi kelas Java yang
dinamai "ContohArraySatuDimensi". Semua kode Java harus berada dalam kelas, dan
nama kelas harus sesuai dengan nama file Java yang disimpan dalam.
b. `public static void main(String[] args) {`: Ini adalah metode utama dalam kelas. Setiap
program Java harus memiliki metode `main` yang merupakan titik awal eksekusi program.
Dalam kasus ini, metode `main` menerima argumen dalam bentuk array string (`String[]
args`).
c. `int[] angka = new int[5];`: Ini adalah deklarasi dan inisialisasi array integer satu dimensi
dengan nama `angka` dan ukuran 5. Ini berarti array `angka` akan memiliki lima elemen
bertipe data integer.
d. Mengisi array dengan nilai-nilai:
`angka[0] = 10;`
`angka[1] = 20;`
`angka[2] = 30;`
49
`angka[3] = 40;`
`angka[4] = 50;`
e. `System.out.println("Elemen-elemen array angka:");`: Ini adalah perintah yang mencetak
pesan "Elemen-elemen array angka:" ke konsol sebagai label sebelum mencetak elemen-
elemen array.
f. Loop `for` digunakan untuk mengakses dan mencetak elemen-elemen array:
`for (int i = 0; i < angka.length; i++) {`: Ini adalah loop `for` yang akan mengulangi
sebanyak elemen yang ada dalam array `angka`.
`System.out.println("angka[" + i + "] = " + angka[i]);`: Ini adalah perintah yang
mencetak setiap elemen array dengan menggunakan indeks `i`. Misalnya, untuk
indeks 0, ini akan mencetak "angka[0] = 10" ke konsol.
50
Pada source code diatas:
a. Kita membuat sebuah matriks dua dimensi matriks dengan ukuran 3x3. Ini berarti
matriks ini memiliki 3 baris dan 3 kolom.
b. Kita mengisi matriks dengan nilai-nilai.
c. Kemudian, kita menggunakan loop bersarang (nested loop) untuk mencetak isi
matriks. Loop pertama mengontrol baris, dan loop kedua mengontrol kolom. Setelah
mencetak semua elemen dalam satu baris, kita memasukkan baris baru menggunakan
System.out.println(); sehingga matriks tercetak dengan format yang benar.
Kode yang Anda berikan adalah contoh penggunaan array dua dimensi (2D array) dalam
bahasa pemrograman Java. Berikut adalah penjelasan baris per barisnya:
a. `public class ContohArrayDuaDimensi {`: Ini adalah awal dari definisi kelas Java yang
dinamai "ContohArrayDuaDimensi". Semua kode Java harus berada dalam kelas, dan
nama kelas harus sesuai dengan nama file Java yang disimpan dalam.
b. `public static void main(String[] args) {`: Ini adalah metode utama dalam kelas. Setiap
program Java harus memiliki metode `main` yang merupakan titik awal eksekusi program.
Dalam kasus ini, metode `main` menerima argumen dalam bentuk array string (`String[]
args`).
c. `int[][] matriks = new int[3][3];`: Ini adalah deklarasi dan inisialisasi array dua dimensi
(matriks) dengan ukuran 3x3. Ini berarti matriks ini memiliki 3 baris dan 3 kolom, dan
semua elemennya diinisialisasi dengan nilai 0 karena ini adalah nilai default untuk tipe
data int.
d. Mengisi matriks dengan nilai-nilai menggunakan indeks baris dan kolom, seperti
`matriks[0][0] = 1;`, `matriks[0][1] = 2;`, dan seterusnya.
e. `System.out.println("Isi matriks:");`: Ini adalah perintah yang mencetak pesan "Isi
matriks:" ke konsol sebagai label sebelum mencetak isi matriks.
f. Loop bersarang (nested loop) digunakan untuk mencetak isi matriks:
`for (int i = 0; i < 3; i++) {`: Ini adalah loop luar yang mengontrol baris matriks.
Ini akan berjalan dari 0 hingga 2 (indeks baris).
`for (int j = 0; j < 3; j++) {`: Ini adalah loop dalam yang mengontrol kolom
matriks. Ini juga akan berjalan dari 0 hingga 2 (indeks kolom).
51
`System.out.print(matriks[i][j] + " ");`: Ini mencetak elemen matriks pada posisi
(i, j) dengan spasi sebagai pemisah antara elemen-elemen dalam satu baris.
g. `System.out.println();`: Ini mencetak baris baru setelah mencetak semua elemen dalam
satu baris matriks.
Dalam contoh ini, matriks 3x3 diisi dengan nilai-nilai dan kemudian dicetak ke konsol dalam
format yang sesuai dengan baris dan kolom.
52
BAB VI
Pada bab ini, akan dibahas studi kasus atau latihan-latihan mengenai penggunaan dan
penerapan konsep OOP dana Java khsuusnya menggunakan NetBeans. Berikut beberapa studi
kasus yang dapat diuji coba pada project masing-masing.
53
b. Class MainApp
Kelas MainApp akan berfungsi sebagai aplikasi utama untuk mengelola objek
mahasiswa. Berikut source code pada class MainApp:
import java.util.ArrayList;
import java.util.List;
Dalam MainApp, kita membuat sebuah ArrayList daftarMahasiswa untuk menyimpan objek
mahasiswa. Kemudian, kita menambahkan beberapa mahasiswa ke dalam list, menampilkan
seluruh daftar mahasiswa, dan mencari mahasiswa berdasarkan NIM.
Jalankan program ini dalam NetBeans, dan Anda akan melihat bagaimana konsep OOP
digunakan untuk mengorganisasi kode dan data dalam sebuah aplikasi. Dalam contoh ini, kita
menggunakan kelas Mahasiswa sebagai abstraksi untuk objek mahasiswa dan MainApp
sebagai pengelola aplikasi utama.
54
Berikut adalah contoh sederhana studi kasus penjualan menggunakan konsep
Pemrograman Berorientasi Objek (OOP) dalam Java dengan NetBeans. Dalam contoh ini,
kita akan membuat beberapa kelas yang merepresentasikan produk, pelanggan, dan
pesanan penjualan. Selain itu, kita juga akan membuat kelas utama (MainApp) untuk
menjalankan aplikasi penjualan.
a. Class Produk
Kelas Produk akan merepresentasikan produk yang akan dijual, dengan atribut seperti
ID produk, nama produk, harga, dan stok. Berikut Source Code pada Class Produk:
public class Produk {
private int id;
private String nama;
private double harga;
private int stok;
@Override
55
public String toString() {
return "Produk{" + "id=" + id + ", nama=" + nama + ", harga=" + harga + ", stok="
+ stok + '}';
}
}
b. Class Pelanggan
Kelas Pelanggan akan merepresentasikan pelanggan yang melakukan pembelian,
dengan atribut seperti ID pelanggan, nama, dan alamat. Berikut source code class
Pelanggan:
public class Pelanggan {
private int id;
private String nama;
private String alamat;
@Override
public String toString() {
return "Pelanggan{" + "id=" + id + ", nama=" + nama + ", alamat=" + alamat +
'}';
}
}
56
public class PesananPenjualan {
private int nomorPesanan;
private Pelanggan pelanggan;
private List<Produk> produkDibeli;
private List<Integer> jumlahProduk;
private double totalHarga;
@Override
public String toString() {
return "PesananPenjualan{" + "nomorPesanan=" + nomorPesanan + ",
pelanggan=" + pelanggan +
", totalHarga=" + totalHarga + '}';
}
}
d. Class MainApp
Kelas MainApp adalah kelas utama yang akan menjalankan aplikasi penjualan.
Berikut source code Class MainApp:
public class MainApp {
public static void main(String[] args) {
// Membuat beberapa produk
Produk produk1 = new Produk(1, "Laptop", 1000.0, 10);
Produk produk2 = new Produk(2, "Smartphone", 500.0, 20);
// Membuat pelanggan
57
Pelanggan pelanggan1 = new Pelanggan(101, "John", "Jalan ABC No. 123");
public Karyawan(int id, String nama, String jabatan, double gajiPokok, int jamKerja) {
this.id = id;
this.nama = nama;
this.jabatan = jabatan;
this.gajiPokok = gajiPokok;
this.jamKerja = jamKerja;
}
58
}
return gaji;
}
@Override
public String toString() {
return "Karyawan{" + "id=" + id + ", nama=" + nama + ", jabatan=" + jabatan +
", gajiPokok=" + gajiPokok + ", jamKerja=" + jamKerja + '}';
}
}
b. Class MainApp
Kelas MainApp adalah kelas utama yang akan menjalankan aplikasi penggajian. Berikut
source code pada Class MainApp:
import java.util.ArrayList;
import java.util.List;
59
DAFTAR PUSTAKA
Enterprise, Jubilee. 2016. Belajar Java, Database, Dan NetBeans Dari Nol. Elex Media
Komputindo.
Hartono, Budi. 2023. Pemrograman Berorientasi Objek Dengan Java BlueJ. Yayasan Prima
Agus Teknik Bekerjasama Dengan Universitas STEKOM.
Solichin, Achmad. 2016. Pemrograman Web Dengan PHP Dan MySQL. Penerbit Budi
Luhur.
Yeyi Gusla Nengsih, S.Kom., M.Kom, Jamaludin, M.Kom., CBPA, Nani Krisnawaty
Tachjar, S.Kom., M.T., Bella Hardiyana, S.Kom, M.Kom, Yulizar Widiatama, M.Eng,
Mohammad Ridwan, S. Kom, M. Kom, Sitti Aisa, S.Kom., M.T, Nurul Aini, S.Kom.,
M.T, Sukisno, S. Kom, M. Kom. 2022. Konsep Algoritma Dan Pemrograman :
Mengenal Konsep Dasar Dan Praktis Dalam Bahasa Pascal Dan C. Indie Press.
60