Anda di halaman 1dari 41

MAKALAH

ALGORITMA PEMROGRAMAN
“JAVA CLASS”

DIBUAT OLEH :

AGUNG SETYADI (18.110.0001)


M.MACHFUDH (18.110.0026)

STMIK WIDYA PRATAMA


PEKALONGAN
KATA PENGANTAR

Puji syukur kami panjatkan kehadirat Tuhan Yang Maha Esa atas rahmatnya ,
maka kami dapat menyelesaikan penyusunan makalah yang berjudul “Java Class”.

Dalam penulisan makalah ini kami merasa masih banyak kekurangan-kekurangan,


baik pada teknik penulisan maupun materi, mengingat akan kemampuan yang
kami miliki. Oleh karena itu kami mengharapkan saran dan kritik yang
membangun guna menyempurnakan makalah ini.

Dalam penulisan makalah ini kami menucapkan terimaksih atas bantuan teman-
teman yang telah memberikan ide dan masukan sehingga tugas ini dapat
diselesaikan dengan baik dan benar.

Demikian, semoga makalah ini dapat bermanfaat bagi para pembaca. Terima
Kasih

Batang, Januari 2019

i
DAFTAR ISI

KATA PENGANTAR..............................................................................................i
DAFTAR ISI............................................................................................................ii
BAB I.......................................................................................................................1
PENDAHULUAN...................................................................................................1
1.1 Latar Belakang...............................................................................................1
1.2 Rumusan Masalah..........................................................................................1
1.3 Tujuan............................................................................................................2
1.4 Manfaat...........................................................................................................2
BAB II......................................................................................................................3
PEMBAHASAN......................................................................................................3
2.1 PENGERTIAN KELAS................................................................................3
2.2 DEKLARASI KELAS..................................................................................4
1. Variabel.........................................................................................................5
2. Metode..........................................................................................................5
3. Constructor...................................................................................................9
2.3 JAVA MODIFIER......................................................................................14
1.Pengelompokkan Modifer............................................................................15
2. Class modifier.............................................................................................22
3.Variabel modifier.........................................................................................23
CONTOH PROGRAM......................................................................................29
PROGRAM 1.................................................................................................29
PROGRAM 2.................................................................................................29
PROGRAM 3.................................................................................................34
BAB III..................................................................................................................35
PENUTUP..............................................................................................................35
3.1 Simpulan.......................................................................................................35
3.2 Saran.............................................................................................................36
DAFTAR PUSTAKA............................................................................................38

ii
BAB I

PENDAHULUAN

1.1 Latar Belakang


Dengan kondisi dunia yang semakin mengglobal, tak dapat
dipungkiri bahwa kemajuan perkembangan teknologi setiap tahunnya
sudah menjadi barang wajib untuk melakukan inovasi baru dari berbagai
variasi yang berbasis Teknologi Informasi (TI). Jika kita melihat realita
masa sekarang nampaknya pembaharuan teknologi yang sangat signifikan
dan semakin modern, selalu diikuti oleh penggemar bidang IT. Karena
terbukti di zaman sekarang teknologi komputer sudah menyusupi hampir
semua bidang kehidupan manusia, baik dari tingkat pemerintah pusat
sampai pemerintah desa, perusahaan, supermarket, mini market, maupun
lembaga pendidikan dari semua jenjang hampir semua mengenal
komputer. Komputer dapat dijadikan sarana belajar dengan konsep e-
learning yang melatih kita untuk belajar mandiri.

Saat ini, dengan perkembangan teknologi yang semakin


berkembang dengan lingkungan yang semakin luas dan banyak diminati,
dan mempunyai nilai ekonomi yang sangat tinggi yaitu dunia
pemrograman komputer. Seperti halnya dunia pemrograman komputer
dikenal banyak bahasa pemrograman komputer, seperti C, C++, Pascal
Basic, Java, dan lain-lain. di anatara bahasa pemrograman, java adalah
yang paling diminati, karena perannya yang sudah tidak diragukan lagi dan
ke eksisannya dalam perkembangan TI. Oleh karena itu yang akan dibahas
dalam makalah ini adalah bahasa pemrograman java, dan hal-hal menarik
yang ada dalam bahasa pemrograman java.

1.2 Rumusan Masalah

1. Apakah pengertian kelas?


2. Bagaimana deklarasi kelas?
3. Apakah yang dimaksud java objek?
1
4. Apakah yang dimaksud java modifier?

1.3 Tujuan

1. Mendeskripsikan pengertian kelas.


2. Mendeskripsikan deklarasi kelas.
3. Mendeskripsikan java objek.
4. Mendeskripsikan java modifier.

1.4 Manfaat

1. Sebagai sumber bacaan dan penambah wawasan mahasiswa tentang


materi Java Class.
2. Sebagai tugas makalah materi Java Class.

2
BAB II

PEMBAHASAN

2.1 PENGERTIAN KELAS


Penggunaan terpenting kelas adalah dalam pendefinisian type baru.
Kelas adalah template atau prototype yang mendefinisikan type objek.
Kelas merupakan sarana pengkapsulan kumpulan data dan metode-metode
yang beroperasi pada kumpulan data. Data dan metode untuk
mendefinisikan isi dan kemampuan objek. Kelas adalah cetakan objek.
Objek harus merupakan instan suatu kelas. Kelas digunakan untuk
menciptakan banyak objek. Objek-objek dari kelas yang sama mempunyai
data sendiri tapi berbagi implementasi metode dengan objek-objek lain di
satu kelas. Kelas dapat berupa realisasi atau implementasi abstraksi di
domain persoalan.

Objek pada java adalah sekumpulan software yang terdiri dari


variable dan method-method yang terkait. Objek juga merupakan benda
nyata yang di buat berdasarkan rancangan yang di definisikan di dalam
class. Object adalah instance dari class. Jika class secara umum
mepresentasikan (template) sebuah object, sebuah instance adalah
representasi nyata dari class itu sendiri. Contoh: Dari class Fruit kita dapat
membuat object Mangga, Pisang, Apel, dan lain-lain.

Ciri-ciri object :

1. Objek memiliki status (state) dan tingkah laku (behavior).

2. Status (state) disebut juga dengan atribut.

Contoh objek : objek mobil x

 Atribut : merek, warna, bahan bakar.

 Method : maju, mundur, pindah persnelling, kecepatan bertambah, dll

Pada OOP : status disimpan dalam variabel, dan tingkah laku


disimpan dalam method.
3
Untuk membuat object, kita menggunakan perintah new dengan
sebuah nama class yang akan dibuat sebagai instance dari class tersebut.

Struktur dasar pendeklarasian object yang mereferensikan suatu


class.

[modifier] TipeData NamaObjek = new TipeData();

String Str = new String();

Random rand = new Random();

Pegawai pgw = new Pegawai();

Date tanggal = new Date();

2.2 DEKLARASI KELAS


Sebelum kata kunci class, kita dapat memberi modifier. Modifier
mempengaruhi makna deklarasi. Modifier yang berlaku untuk kelas antara
lain modifier ketampakan (visibility modifier), juga disebut modifier
pengaksesan (acces modifier). Modifier ini mengatur ijin pengaksesan
kelas oleh kelas-kelas lain. Selain itu, modifier untuk mengatur apakah
kelas tersebut dapat diwarisi atau tidak, final akan membuat kelas itu tidak
dapat diwarisi. Modifier lainnya adalah abstract untuk mengatakan apakah
kelas merupakan kelas abstrak yang belum diimplementasi serta
mengharapkan kelas turunannya yang harus mengimplementasikan
metode-metode di dalamnya.

Identifier menspesifikasikan nama kelas baru. Deklarasi kelas yang


tidak menyertakan nama kelas induk, serta otomatis kelas mewarisi kelas
object. Pasangan kurung kurawal buka dan tutup menyatakan badan kelas,
class body.

Class body terdiri dari deklarasi:

a. Variable data

b. Metode

c. Constructor

4
1. Variabel
Variabel pada Java class berarti variabel yang merupakan anggota
dari sebuah objek.

2. Metode
Method adalah kumpulan program yang mempunyai nama. Method
merupakan sarana bagi programmer untuk memecah program menjadi
bagian-bagian yang kecil agar jadi lebih kompleks sehingga dapat di
gunakan berulang-ulang.

Method merupakan suatu operasi berupa fungsi-fungsi yang dapat


dikerjakan oleh suatu object. Method didefinisikan pada class akan tetapi
dipanggil melalui object. Contoh, pada object pear: terdapat method
ambilRasa , kupasKulit dan lain-lain.

Deklarasi Metode

Format umum pendeklarasian dan pendefinisian metode adalah:

a. Baris pertama adalah deklarasi metode, disebut header metode


(method header).

b. Diikuti oleh badan, yang dimuat di dalam pasangan kurung


kurawal.

Header_Metode {

Badan metode

Badan metode terdiri dari:

a. Deklarasi-deklarasi.

b. Kalimat-kalimat.

Badan metode membentuk satu blok. Variable dapat


dideklarasikan di manapun di dalam blok, blok-blok dapat bersarang.

Metode tidak dapat dideklarasikan di dalam metode lain. Format


dasar pendeklarasian metode adalah sebagai berikut:

Tipe-nilai-kiriman nama-metode(parameter1, parameter2, …, parameterN) {

5
Deklarasi-deklarasi dan kalimat-kalimat

a. Nama-nama metode harus nama identifier yang sah.

b. Tipe-nilai-kiriman adalah tipe yang dikirim ke pemanggil, tipe


void mengindikasikan metode tidak mengirim nilai. Metode hanya
mengirim paling banyak satu nilai.

c. Parameter-parameter dideklarasikan sebagai deretan yang dipisah


dengan koma di dalam pasangan kurung kurawal. Dalam hal ini
masing-masing berisi tipe dan nama parameter. Jika metode tidak
menerima satu argumenpun, daftar parameter kosong.

Terdapat tiga cara melepas kendali ke kalimat yang memanggil


metode, yaitu:

 Jika metode tidak mengirim hasil, kendali lepas ketika


aliran metode mencapai akhir metode yang ditantadi kurung
kurawal tutup, atau

 Ketika kalimat return dieksekusi.

 Jika metode mengirim hasil, kalimat return ekspresi,


kemudian mengirim nilai yang dihasilkan ke pemanggil.

Ada 4 (Empat) bagian dasar yang dimiliki metode antara lain:

a. Nama metode.

b. Tipe Objek atau tipe primitive yang dikembalikan metode.

c. Daftar parameter.

d. Badan atau isi metode.

Tiga bagian pertama mengindikasikan informasi penting tentang


metode itu sendiri. Dengan kata lain, nama metode tersebut=metode lain
dalam program. Dalam java kita dapat memiliki metode-metode berbeda
yang memiliki nama sama tetapi berbeda tipe kembalian atau daftar
argumennya, sehingga bagian-bagian definisi metode ini menjadi penting.

6
Ini disebut overloading metode(proses yang berlebihan pada suatu
metode).

Untuk menjalankan program yang memiliki sifat polymorphism


tersebut, diperlukan suatu kemampuan overloading, yaitu suatu
kemampuan untuk menentukan fungsi yang mana yang harus digunakan
atau dijalankan jika terdapat nama fungsi yang sama. Polimorfisme bisa
diartikan seperti kemampuan suatu variable untuk mengubah perangai
sesuai dengan objek hasil instansiasi yang digunakan. Polimorfisme
membiarkan lebih dari 1 objek dari sub class sub class dan diperlakukan
sebagai objek dari super class tunggal.

Contoh:

Mahasiswa cowok = new anakSI();

cowok.methodKU( Bernaz );

Mahasiswa cewek = new anakTI();

cewek.mothodKU( Amelia );

Parameter adalah Data yang dapat ditambahkan dari luar Method,


contoh : ketika kita membuat sebuah Method untuk mengubah nama pada
kelas Orang, Oleh karena itu kita kita membutuhkan sebuah Parameter
baru untuk menggantikan nama tersebut. Contoh Parameter sebagai
berikut:

public class Orang {

String nama ;

//Method dengan Parameter

void UbahNama(String NamaBaru) {

nama = NamaBaru ;

String AmbilNama() {

return nama ;

void HapusNama() {

nama = "" ;

}
7
}

Contoh penggunaanya:
Orang orang = new Orang() ;

orang.UbahNama("Idriez Gienanjar") ;

String nama = orang.AmbilNama();

Saat kode diatas dieksekusi maka variabel nama akan bernilah


"Idriez Gienanjair", sesuai nama baru yang telah ditambahkan melalui
Method UbahNama(NamaBaru) ;

Dalam sebuah Method dapat memiliki satu atau lebih Parameter,


dan untuk menambahkan Parameter, Pisahkan Parameter menggunakan
koma ( , ). Berikut Contohnya:

public class Orang {

String nama,kota ;

//Method dengan 2 Parameter

void UbahData(String NamaBaru, String KotaBaru ) {

nama = NamaBaru ;

kota = KotaBaru ;

String AmbilNama() {

return nama ;

void HapusNama() {

nama = "" ;

Contoh Penggunaannya:

Orang orang = new Orang() ;

orang.UbahData("Idriez Gienanjar" , "Cirebon") ;

Jika kode diatas di eksekusi, maka variabel nama akan bernilai "Idriez Gienanjair" dan
variabel kota akan bernilai "Cirebon".

8
3. Constructor
Construktor adalah Constructor merupakan suatu method yang
akan memberikan nilai awal pada saat suatu objek dibuat. Pada saat
program dijalankan, constructor akan bekerja dengan constructor, hal
mendasar yang perlu diperhatikan, yaitu:

a. Nama Constructor sama dengan nama Class.

b. Tidak ada return type yang diberikan kedalam Constructor Signature.

c. Tidak ada return stetement, di dalam tubuh constructor.

Deklarasi Constructor

Format umum pendeklarasian dan pendefinisian constructor


adalah:

a. Nama constructor sama dengan nama kelas.

b. Sebelum itu dapat diberi access modifier untuk mengatur


ketampakan constructor.

Potongan program

public class CircleClass {

public static final double PI = 3.14159265358979323846;

public double x, y, r;

//…dan seterusnya…//

Potongan program di atas mendefinisikan kelas CircleClass. Java


tidak mengenal file deklarasi seperti file header HPP dan file pendefinisian
CPP seperti di C++. Di java, kelas dideklarasikan di satu tempat (di file)
yang sama secara langsung. Pendekatan ini dilakukan karena pengelolaan
dua file untuk menyatakan satu kelas dapat merumitkan aktivitas
perawatan perangkat lunak.

Contoh programnya dengan menghitung volum kotak.


class Kotak {

double panjang;

9
double lebar;

double tinggi;

//Mendefenisikan constructor dengan parameter

kotak(double p, double l, double t) {

panjang = p;

lebar = l;

tinggi = t;

double hitungVolume() {

return (panjang * lebar * tinggi)

class DemoConstructor2 {

public static void main(String[] args) {

kotak k1, k2;

k1 = new kotak(4, 3, 2)

k2 = new kotak (6, 5, 4)

system.out.println(“volume k1 = “ + k1.hitungVolume() }

system.out.println(“volume k2 = “ + k2.hitungVolume() }

1. Deklarasi Anggota Data

Potongan program

String name;

String addressLine1;

String addressLine2;

String city;

Bagian itu memdeklarasikan data anggota kelas PersonToy. Cara


deklarasi data anggota serupa C++ kecuali memberikan modifier per
variable.

10
1. Contoh Mendefinisikan Kelas Dan Menciptakan Objek

Bagian ini menyajikan dua contoh dalam mendefinisikan kelas


dan menggunakan kelas untuk menciptakan objek. Kode 8.1 merupakan
suatu program yang mendefinisikan kelas Lingkaran dan
menggunakannya untuk menciptakan objek-objek. Untuk menghindari
konflik penamaan dengan beberapa versi terperbaiki dari kelas
Lingkaran, maka pada contoh ini diberi nama Lingkaran1.

Program mengkonstruksi tiga objek lingkaran dengan radius 1.0,


25, dan 125, serta menampilkan radius dan luas tiap objek lingkaran.

Kode8.1 UjiLingkaran1,java
public class UjiLingkaran1 {

/**Metode Utama*/

public static void main (String[] args) {

//Menciptakan suatu objek lingkaran dengan radius 1.0//

Lingkaran1 lingkaran1 = new Lingkaran1();

System.out.println(“Luas Lingkaran dengan radius ”+lingkaran1.radius + “adalah


”+Lingkaran1.dapatLuas());

//Menciptakan suatu objek kingkaran2 dengan radius 25//

Lingkaran1 lingkaran2 = new lingkaran1 (25);

System.out.println(“Luas Lingkaran dengan radius ”+lingkaran2.radius + “adalah


”+Lingkaran2.dapatLuas());

//Menciptakan suatu objek lingkaran dengan radius 125//

Lingkaran1 lingkaran3 = new Lingkaran1(125);

System.out.println(“Luas Lingkaran dengan radius ”+lingkaran3.radius + “adalah


”+Lingkaran3.dapatLuas());

//Modifikasi radius lingkaran//

lingkaran2.radius = 100;

System.out.println(“Luas Lingkaran dengan radius ”+lingkaran2.radius + “adalah


”+Lingkaran2.dapatLuas());

//Mendefinisikan kelas Lingkaran1 dengan dua konstruktor//

class Lingkaran1 {

double radius;

11
/** Mengkonstruksi suatu objek Lingkaran1 dengan radius 1 */

Lingkaran1() {

radius = 1.0;

/** Mengkonstruksi suatu objek Lingkaran1 dengan radius tertentu */

Lingkaran1 (double radiusBaru);

/** Mengembalikan luas lingkaran */

double dapatLuas() {

return radius * radius * Math.PI;

Keluaran:

Luas lingkaran dengan radius 1.0 adalah 3.141592653589793

Luas lingkaran dengan radius 25.0 adalah 1963.4954084936207

Luas lingkaran dengan radius 125.0 adalah 49087.385212340516

Luas lingkaran dengan radius 100.0 adalah 31415.92653589793

Program memuat dua kelas. Yang pertama yaitu, UjiLingkaran1,


adalah kelas utama. Satu-satunya tujua kelas ini adalah untuk mrnguji
kelas kedua, Lingkaran1. Ketika Anda menjalankan program ini, sistrm
runtime java akan memanggil metode main dalam kelas utama.

Anda bisa menempatkan dua kelas dalam satu file, tetapi hanya
boleh satu kelas yang public. Seperti yang telah Anda ketahui, bahwa
nama kelas public harus sama dengan nama file. Oleh karena itu, nama file
adalah UjiLingkaran1.java, karena UjiLingkaran1 merupakan kelas public.

Kelas utama memuat metode main (baris ke-3) yang menciptakan


tiga objek. Sama seperti array, operator new digunakan untuk
mendapatkan suatu objek dari konstruktor. new Lingkaran1() menciptakan

12
suatu objek dengan radius 1.0 (baris ke-5), new Lingkaran1(25)
menciptakan suatu objek dengan radius 25 (baris ke-10), dan new
Lingkaran1(125) menciptakan suatu objek dengan radius 125 (Baris ke-
15).

Ketiga objek (yang direferensikan oleh lingkaran, lingkaran2, dan


lingkaran3) memiliki data yang berbeda tetapi metode yang sama. Oleh
karena itu, Anda bisa menghitung masing-masing luas lingkaran
menggunakan metode dapatLuas(). Bidang-bidang data dengan diakses
lewat referensi objek lingkaran1.radius, lingkaran2.radius, dan
lingkaran3.radius. Objek dapat memanggil metodenya lewat referensi
objek menggunakan lingkaran1.dapatLuas(), lingkaran1.dapatLuas(),
lingkaran1.dapatLuas().

Ketiga objek independen satu sama lain. Radius lingkaran2 diubah


menjadi 100 pada baris ke-20. Radius baru objek tersebut dan luas
lingkaran ditampilkan pada baris ke-21 dan 22.

Ada banyak cara dalam menulis program Java. Sebagai contoh,


Anda bisa mengkombinasikan dua kelas menjadi satu, seperti yang
ditunjukkan pada kode 8.2.

Kode8.2 Lingkaran1.java
public class UjiLingkaran1 {

/** Metode utama */

public static void main(String[] args) {

//Menciptakan suatu objek lingkaran1 dengan radius 1.0//

Lingkaran1 lingkaran1 = new Lingkaran1();

System.out.println(“Luas Lingkaran dengan radius ”+lingkaran1.radius + “adalah


”+Lingkaran1.dapatLuas());

//Menciptakan suatu objek lingkaran2 dengan radius 25//

Lingkaran1 lingkaran2 = new lingkaran1 (25);

System.out.println(“Luas Lingkaran dengan radius ”+lingkaran2.radius + “adalah


”+Lingkaran2.dapatLuas());

//Menciptakan suatu objek lingkaran dengan radius 125//

Lingkaran1 lingkaran3 = new Lingkaran1(125);

13
System.out.println(“Luas Lingkaran dengan radius ”+lingkaran3.radius + “adalah
”+Lingkaran3.dapatLuas());

//Modifikasi radius lingkaran//

lingkaran2.radius = 100;

System.out.println(“Luas Lingkaran dengan radius ”+lingkaran2.radius + “adalah


”+Lingkaran2.dapatLuas());

double radius;

/** Mengkonstruksi suatu objek Lingkaran1 dengan radius 1 */

Lingkaran1() {

radius = 1.0;

/** Mengkonstruksi suatu objek Lingkaran1 dengan radius tertentu */

Lingkaran1 (double radiusBaru);

/** Mengembalikan luas lingkaran */

double dapatLuas() {

return radius * radius * Math.PI;

2.3 JAVA MODIFIER

Modifier adalah kata, phrase, atau clause yang berfungsi sebagai


adjective atau adverb yang menerangkan kata atau kelompok kata lain.
Sebagai adjective dan adverb ketika berfungsi sebagai adjective (dapat
berupa simple adjective, adjective phrase, clause participle, infinitive),
modifier menerangkan noun, sedangkan ketika berfungsi sebagai adverb
(dapat berupa simple adverb, adverb phrase, clause, preposition phrase,
infinitive), kata ini menerangkan verb, adjective atau adverb lain.

1.Pengelompokkan Modifer
Modifer memberi dampak tertentu pada kelas, interface, metode, dan
variable. Java modifier terbagi menjadi kelompok berikut:

14
a. Modifer ketampakan (visibility modifer), disebut juga modifier
pengaksesan (access modifer) berlaku untuk kelas interface, metode
dan variable yaitu default, public, protected, private.

b. Final modifier berlaku untuk kelas, variable dan metode, yaitu final.

c. Static modifier berlaku untuk variable dan metode, yaitu static.

d. Abstract modifier berlaku untuk kelas dan metode, yaitu abstract.

e. Synchronized modifier berlaku untuk metode, yaitu synchronized.

f. Native modifier berlaku untuk metode, yaitu native.

g. Storage modifier berlaku untuk variable, yaitu transient

Access modifier

N Modifer Kelas dan Metode dan Variabel


O Interface
1 Default (tak ada Tampak di Diwarisi oleh subkelasnya di
modifer) paketnya paket yang sama dengan
kelasnya. Dapat diakses oleh
metode-metode di kelas-kelas
yang sepaket.
2 Public Tampak di Diwarisi oleh semua
manapun subkelasnya. Dapat diakses di
manapun.
3 Protected Tidak dapat Diwarisi oleh semua
diterapkan subkelasnya. Dapat diakses
oleh metode-metode dikelas-
kelas yang sepaket
4 Private Tidak dapat Tidak diwarisi oleh
diterapkan subkelasnya. Tidak dapat
diakses oleh kelas lain.

15
No Nama Kata Kelas Interface Metode Variabel
Kunci
1 Abstract Abstract Kelas dapat Optional Tidak ada Tidak dapat
modifier berisi metode untuk bahan metode diterapkan.
abstrak. diberikan di yang
Kelas tidak interface didefinisikan.
dapat karna Metode
diinstaniasi interface memerlukan
secara kelas kongret
inheren yang
Tidak adalah merupakan
mempunyai abstract. subkelas yang
constructor akan
mengimpemen
tasikan metode
abstrak.
2 Final Final Kelas Tidak dapat Metode tidak Berperilaku
modifier menjadi tidak diterapkan. dapat ditimpa sebagai
dapat oleh metode di konstanta.
digunakan subkelas-
untuk subkelasnya.
menurunkan
kelas yang
baru.
3 Static Static Tidak dapat Tidak dapat Mendefinisika Mendefinisi
modifer diterapkan diterapkan n metode kan variabel
(milik) kelas. (milik)
Dengan kelas.
demikian tidak Dengan
memerlukan demikian,
instan objek tidak
untuk memerlukan
menjalankanny instan objek
16
a. Metode ini untuk
tidak dapat mengacuny
menjalankan a. Variable
metode yang ini dapat
bukan static digunakan
serta tidak bersamaan
dapat mengacu oleh semua
variable yang instan
bkan static. objek.
4 Synchro Synchro Tidak dapat Tidak dapat Eksekusi dari Tidak dapat
nized nized diterapkan. diterapkan. metode adalah diterapkan
modifier. secara mutual pada
exclusive deklarasi.
diantara semua Diterapkan
thread. Hanya pada
satu thread instruksi
pada satu saat untuk
yang dapat menjaga
menjalankan hanya satu
metode. thread yang
mengacu
variabel
pada satu
saat.
5 Native Native Tidak dapat Tidak dapat Tidak ada Tidak dapat
modifier diterapkan. diterapkan. bahan metode diterapkan.
yang
diperlukan
karena
implementasi
dilakukan
dengan
menggunakan
17
Bahasa lain
misalnya C/C+
+
6 Transient Transient Tidak dapat Tidak dapat Tidak dapat Variable
modifier diterapkan. diterapkan. diterapkan. tidak akan
diserialisasi.
7 Volatie Volatile Tidak dapat Tidak dapat Tidak dapat Variable
modifier diterapkan. diterapkan. diterapkan. diubah
secara
asinkron,
Kompilator
tidak pernah
melakukan
optimasi
atasnya.

a. Access Modifier

Access modifier terdiri dari default, public, protected, dan private.

1) Default

Modifier default menspesifikasiakan kelas-kelas sepaket yang dapat


mengakses. Anggota kelas dengan default access dapat dilihat kelas lain
yang sepaket. Tidak ada keyword khusus untuk mendeklarasikan default
access modifier, bila tidak ada access modifier pada deklarasi variable
atau metode berarti default.

2) Public

Modifier public menspesifikasikan variable dan metode itu


dapat diakses oleh siapa pun, baik di dalam atau diluar kelas. Hal ini
berarti anggota public tampak dan dapat diakses oleh sembarang objek
lain.

3) Protected
18
Modifier protected menspesifikasikan anggota hanya dapat
diakses metode-metode dikelas itu dan subkelas-subkelas turunan kelas
itu. Ini berarti anggota protected hanya terbatas pada kelas itu dan
subkelas-subkelasnya.

4) Private

Modifier private adalah paling terbatas; menspesifikasikan


anggota kelas hanya dapat diakses oleh kelas dimana anggota itu
didefinisikan. Ini berarti tidak ada kelas lain yang dapat mengakses
anggota private, sekalipun subkelas-nya.

b. Final Modifier

Modifer final berarti konstan/tetap dan tidak dapat dimodifikasi


(diubah). Variabel final harus diinisialisasi saat dideklarasikan. Apabila
diterapkan pada metode berarti metode tidak dapat ditimpa. Metode yang
diberi modifier final tidak dapat lagi digandakan dan ditimpa (override) di
subkelas- subkelasnya. Modifier final berarti anggota kelas itu versi akhir
(final version).

Variabel final serupa dengan variable const di C ++. Variabel ini


harus selalu telah diinisialisasi saat deklarasi dan selanjutnya nilainya tidak
dapat diubah.

c. Static Modifier

Modifier static berarti variable diasosiasikan dengan kelas dan


dipakai bersama objek-objek kelas itu. Variable static disebut variabel
kelas (class variable). Kita memanggilnya pada kelas, bukan pada satu
objek.

Serupa dengan data statis, kita juga dapat membuat metode yang
hanya bertindak pada kelas, jadi hanya dapat mengakses variable static
saja bukan data milik instan tertentu. Kita mendeklarasikan dengan
memberi modifier: static.

19
Terdapat kebutuhan variable atau metode yang common (dipakai
bersama) untuk semua objek kelas tertentu. Modifier static
menspesifikasikan bahwa variabel atau metode sama untuk semua objek
kelas itu. metode atau variabel yang memiliki modifier static adalah milik
kelas. Metode static hanya dapat mengakses variabel static. Metode
nonstatis dapat mengakses variabel instan dan variabel static. Metode kelas
(class method, yaitu dengan modifier static) hanya diizinkan mengakses
variabel static. Metode static adalah final.

Metode static yang public dapat diakses tanpa perlu menciptakan


instan kelas. Metode System.out.println() adalah static sehingga dapat
dipanggil tanpa melakukan instanisasi objek System. Variabel out adalah
anggota static kelas System, akibatnya untuk mengaksesnya kita tidak
perlu melakukan instanisasi objek out.

d. Abstract Modifier

Modifier abstract berarti mengidentifikasi metode yang tidak dapat


dijalankan dan harus didefinisikan subkelas tidak abstrak dari kelas yang
dideklarasikan. Metode abstract tidak mempunyai bahan metode, jadi
langsung diakhiri dengan titik koma (;).

e. Synchronized Modifer

Modifier synchronized berarti metode harus memperoleh lock di


satu objek atau kelas sebelum dapat dieksekusi.

Modifier synchronized untuk menspesifikasikan bahwa metode


adalah thread safe. Ini berarti hanya satu jalur eksekusi yang diizinkan di
metode synchronized pada satu waktu. Pada lingkungan multithreaded
seperti Java, dimungkinkan lebih dari satu jalur eksekusi berjalan di kode
yang sama. Modifier synchronized mengubah aturan ini dengan hanya
mengizinkan satu pengakses thread tunggal pada satu saat, memaksa
thread-thread lain menunggu giliran.

f. Native Modifier

20
Modifier native berarti metode ditulis dibahasa selain Bahasa Java.
Seperti pada metode abstract, badan metode diganti atau diakhiri dengan
titik koma (;).

Modifier native untuk menspesifikasikan metode dengan


implementasi dibahasa lain. Modifier native menginformasikan ke
kompilator Java bahwa implementasi metode di file C/C++ eksternal. Hal
ini menjadi alasan kenapa deklarasi metode native terlihat berbeda dari
metode-metode lain, yaitu tanpa badan metode.

g. Storage Modifier

Modifier transient mengacu ke objek dan nilai primitive di Java


virtual machine. Modifier ini untuk menyatakan bahwa variabel tidak
menjadi sasaran serialisasi.

h. Volatile modifier

Modifier volatile mengacu ke objek dan nilai primitif yang dapat


dimodifikasikan secara asinkron. Variabel-variabel ini diperlakukan secara
spesial oleh kompilator untuk mengendalikan cara variabel-variabel itu
diperbarui.

2. Class modifier
Keyword public, abstract, dan final dapat digunakan sebagai
modifier kelas. Modifier ini mempunyai arti sebagai berikut:

Kelas hanya dapat diterapkan access modifier berupa default


(tanpa modifier) atau public yang mengatur apakah kelas dapat diakses
kelas-kelas lain di luar paket.

Public. Modifier public menspesifikasikan kelas terlihat kelas-


kelas lain yang tidak sepaket sekalipun.

Abstract. Pada kelas ini, tidak ada instan kelas yang dapat
diciptakan. Kelas ini dapat berisi metode abstract. Kelas yang
dideklarasikan sebagai abstract tidak boleh berisi metode abstract dan
harus melakukan penimpaan semua metode abstract yang diwarisi dari
kelas abstract moyangnya dengan metode bukan abstract.
21
Final. Kelas ini tidak boleh diturunkan lagi.

a. Kelas public

Kelas dapat diacu sembarangan kelas di paket-paket manapun. Jika


modifier public tidak digunakan, maka kelas hanya dapat diacu kelas-kelas
lain yang sepaket.

b. Kelas abstract

Kelas abstract adalah kelas yang diimplementasikan secara persial


dan tujuannya untuk kenyamanan perancangan. Kelas-kelas abstract
disusun dari satu metode abstract atau lebih di mana metode-metode
dideklarasikan tapi tanpa badan (tidak diimplementasikan).

Terdapat batasan-batasan penggunaan abstract:

1) Kita tidak dapat membuat constructor yang abstract.

2) Kita tidak dapat membuat metode static yang abstract. Batasan ini
menyatakan bahwa metode static dideklarasikan untuk seluruh
kelas, maka tidak aka nada implementasi turunan untuk metode
static yang abstract.

3) Kita tidak diizinkan membuat metode private yang abstract. Ketika


kita menurunkan kelas dari superkelas dengan metode abstract,
maka kita harus melakukan penimpaan dan mengimplementasikan
semua metode abstract di kelas itu atau kita tidak akan dapat
melakukan intansiasi kelas baru dan itu akan menyebabkan kelas
masih tetap abstract karena kita tidak dapat melakukan penimpaan
terhadap metode private yang abstract.

c. Kelas final

Ketika kelas dideklarasikan dengan modifier final, maka kelas


tidak dapat diperluas atau tidak membuat subkelas dari kelas itu.
contoh kelas final adalah java.lang.System. Pendeklarasian kelas final
mencegah perluasan yang tidak diinginkan. Kelas final memungkinkan

22
kompilator melakukan optimasi dalam menjalankan metode di kelas
itu.

3.Variabel modifier
Variabel modifier berguna untuk melakukan modifier terhadap
variabel yang dideklarasikan sehingga mempunyai properti tertentu.
Variabel modifier misalnya access modifier berguna untuk menentukan
level pengaksesan terhadap variabel, selain itu terdapat variabel modifier
lain.

Terdapat tujuh variabel modifier, yaitu:

 Public,

 Protected,

 Private,

 Final,

 Static,

 Transient,

 Volatile.

a. Variabel final (Final Variable): Konstanta

Saat kita menghitung sesuatu, kita sering menggunakan nilai


tertentu yang konstan. Misalnya pada geometri lingkaran dan bola, kita
sering menggunakan konstanta PI. Kita tentu tidak ingin setiap saat
menulis 3.14159 setip ingin mengacu nilai PI. Kita lebih nyaman menulis
konstanta itu sebagai PI. Kita dapat mendefinisikan variabel kelas (static)
PI yang bernilai 3.14159.

Contoh:

Potongan program

public class Circle {

23
public static final double PI = 3.14159265358979323846;

public double x, y, r;

//…dan seterusnya…//

Kita tahu nilai PI tidak akan berubah sepanjang jalannya program,


bahkan kita dapat menghendaki adanya perubahan itu. Untuk kebutuhan
itu, kita gunakan keyword final yang berarti variabel tidak pernah dapat
diubah nilainya. Hal ini mencegah kita melakukan hal bodoh semacam ini:

Circle PI = 4;

Kompilator java cukup cerdas sehingga bila variabel


dideklarasikan menggunakan modifier static dan final maka kompilator
akan mengetahui variabel itu adalah konstanta sehingga mencegah adanya
kode yang mengubahnya.

Penulisan kode program menjadi sebagai berikut:

Double circumference = 2 * Circle.PI * radius;

Kompilator melakukan perhitungan dulu terhadap terhadap 2 *


Circle.PI. Hal ini akan mempercepat proses interpretasi/eksekusi program
oleh java virtual machine.

Konvensi

Nama variabel konstanta sebaiknya menggunakan huruf capital


seluruhnya seperti konvensi penulisan konstanta di C/C++ atau Pascal.

b. Variabel static (Static Variable): Milik kelas

Kita kadang menghendaki hanya mempunyai satu kopian variabel,


seperti variabel global di Bahasa C/C++ atau Pascal.

Contoh variabel ini misalnya variabel numOfPerson yang berisi


jumlah objek PersonToy. Persoalan Java tidak memungkinkan variabel
global. Setiap variabel di Java harus dideklarasikan di dalam kelas. Untuk
maksud itu, java menggunakan keyword static untuk mengindikasikan
variabel adalah variabel kelas (class variable) bukan variabel instan

24
(instance variable), yaitu hanya terdapat satu kopian variabel yang
diasosiasikan dengan kelas, bukan banyak kopian sebanyak instan kelas.

Variabel yang dideklarasikan dengan keyword static juga disebut


variabel static selain disebut variabel kelas.

Contoh:

Potongan program

class PersonToy {

static int numOfPerson = 0;

String name;

String addressLine1;

String addressLine2;

String city;

int age;

Pengaksesan variabel

Karena variabel static diasosiasikan dengan kelas bukan instan


kelas (objek), maka kita mengaksesnya lewat kelas.

Contoh:

System.out.println(“Jumlah Person” + Person.numOfPerson);

PersonToy.java

/*

* PersonToy.java

* Created on May 26, 2003, 3:27 AM

*/

package toy;

/**

*
25
* @author Bambang Hariyanto,Ir.MT

*/

public class PersonToy {

String name;

String addressLine1;

String adressLine2;

String city;

Int age;

/** Created a new instance of PersonToy */

public PersonToy()

name = “ ”;

addressLine1 = “ ”;

addressLine2 = “ ”;

city = “ ”;

age = 0;

public PersonToy(String newName, String newAddressLine1, String newAddressLine2,


String newCity, int newAge) {

name = newName;

addressLine1 = newAddressLine1;

addressLine2 = newAddressLine2;

city = newCity;

age = newAge;

public void setName (String newName) {

name = newName;

public void setAddressLine1 (String newAddressLine1) {

addressLine1 = newAddressLine1;

public void setAddressLine2 (String newAddressLine2) {

addressLine2 = newAddressLine2;

public void setCity (String newCity) {

26
city = newCity;

public void setAge (int newAge) {

age = newAge;

public String getName () {

return name;

public String getAddressLine1 () {

return addressLine1;

public String getAddressLine2 () {

return addressLine2;

public String getCity () {

return city;

public int getAge () {

return age;

public String toString () {

String str =

“Nama :” + name + “\n”+

“Alamat 1 :” + addressLine1 + “\n”+

“Alamat 2 :” + addressLine2 + “\n”+

“Kota :” + city + “\n”+

“Umur :” + age + “\n”;

return str;

static void test () {

PersonToy t = new PersonToy (“Bambang Hariyanto”,”Jalan Setiabudi


194”,”Ledeng”,”Bandung”,”30);

System.out.println(“Bambang Hariyanto sebagai Person:”);

System.out.println(t.getName());

27
System.out.println(t.getAddressLine1());

System.out.println(t.getAddressLine2());

System.out.println(t.getCity());

System.out.println(t.getAge());

System.out.println(t);

public static void main (String[] args) {

test();

28
CONTOH PROGRAM
PROGRAM 1
Java string class program

class StringMethods
{
public static void main(String args[])
{
int n;
String s = "Java programming", t = "", u = "";

System.out.println(s);

// Find length of string

n = s.length();
System.out.println("Number of characters = " + n);

// Replace characters in string

t = s.replace("Java", "C++");
System.out.println(s);
System.out.println(t);

// Concatenating string with another string

u = s.concat(" is fun");
System.out.println(s);
System.out.println(u);
}
}

PROGRAM 2
package pkg1p11;

import java.util.Scanner;

public class NASGOR69 {

29
public static void main(String []args){

Scanner input= new Scanner(System.in);

int pilih, jumlah, harga,diskon;

String y="Y";

while (y.equals("y")|| y.equals ("Y")){

System.out.println("********************************
***");

System.out.println("===TOKO PAK AGUNG===");

System.out.println("===MENYEDIAKAN KEBUTUHAN
SEHARI-HARI==");

System.out.println("---------------------------------------");

System.out.println("Menyediakan");

System.out.print("1. Beras\n2. Telur\n3. Gula\n");

System.out.println("4. Minyak\n5. Tepung\n");

System.out.println(" Masukkan Pilihan = ");

pilih = input.nextInt();

switch (pilih) {

case 1:System.out.println(" Anda membeli beras ");

System.out.print("Masukkan jumlah barang yang dibeli =


");

jumlah=input.nextInt();

harga=10000*jumlah;
30
if (jumlah>=5);

jumlah=jumlah+(jumlah/5);

System.out.println("Barang yang didapat= "+jumlah);

System.out.println(" Total yang dibayar= Rp. "+


harga);

if(jumlah>=20);

harga=harga-((harga*10)/100);

System.out.println(" Tambah Diskon 10%\nCukup


dengan membayar = Rp."+harga);

break;

case 2: System.out.println(" Anda membeli Telur ");

System.out.print("Masukkan jumlah barang yang


dibeli = ");

jumlah=input.nextInt();

harga=10000*jumlah;

if (jumlah>=5);

jumlah=jumlah+(jumlah/5);

System.out.println("Barang yang didapat= "+jumlah);

System.out.println(" Total yang dibayar= Rp. "+


harga);

if(jumlah>=10);

harga=harga-((harga*5)/100);

System.out.println(" Tambah Diskon 5%\nCukup


dengan membayar = Rp."+harga);

break;

31
case 3: System.out.println("Anda membeli Gula");

System.out.print("Masukkan jumlah barang yang


dibeli = ");

jumlah=input.nextInt();

harga=10000*jumlah;

if (jumlah>=5);

jumlah=jumlah+(jumlah/5);

System.out.println("Barang yang didapat= "+jumlah);

System.out.println(" Total yang dibayar= Rp. "+ harga);

if(jumlah>=20);

harga=harga-((harga*15)/100);

System.out.println(" Tambah Diskon 15%\nCukup dengan


membayar = Rp."+harga);

break ;

case 4: System.out.println("Anda membeli minyak");

System.out.print("Masukkan jumlah barang yang dibeli = ");

jumlah=input.nextInt();

harga=10000*jumlah;

if (jumlah>=5);

jumlah=jumlah+(jumlah/5);

System.out.println("Barang yang didapat= "+jumlah);

System.out.println(" Total yang dibayar= Rp. "+ harga);

if(jumlah>=10);

harga=harga-((harga*5)/100);

32
System.out.println(" Tambah Diskon 10%\nCukup dengan
membayar = Rp."+harga);

break;

case 5: System.out.println(" Anda membeli tepung ");

System.out.print("Masukkan jumlah barang yang dibeli = ");

juml jumlah=jumlah+(jumlah/5);

System.out.println("Barang yang didapat= "+jumlah);

System.out.println(" Total yang dibayar= Rp. "+ harga);

if(jumlah>=5);

harga=harga-((harga*10)/100);

System.out.println(" Tambah Diskon 10%\nCukup dengan


membayar = Rp."+harga);

System.out.println("**************************************");

System.out.println("*****Terima Kasih*********");

System.out.println("**************************************");

ah=input.nextInt();

harga=10000*jumlah;

if (jumlah>=5);

33
PROGRAM 3
package yt;

import java.util.Scanner;

public class TUGAS2 {

public static void main (String [] args){

int Awal, Akhir;

Scanner input= new Scanner(System.in);

System.out.print("Angka Awal = "); Awal=input.nextInt();

System.out.print("Angka Akhir = ");


Akhir=input.nextInt();

while (Awal < Akhir){

Awal++;

if (Awal%2==1 && Awal%3!=0){

System.out.print(Awal + " ");}

}}}

34
BAB III

PENUTUP

3.1 Simpulan
Kelas merupakan suatu template objek kelas mendefinisikan watak
objek dan menyediakan konstruktor untuk menciptakan objek dn metode
untuk memanipulasi objek. Kelas juga merupakan suatu tipe. Anda bisa
menggunakannya untuk mendeklarasikan variabel referensi objek. Suatu
variabel referensi objek memuat suatu referensi yang menunjuk ke objek
tersebut

Objek merupakan suatu instans dari suatu kelas. Anda dapat


menggunakan operator new untuk menciptakan suatu objek, dan operator
dot (.) untuk mengakses anggota-anggota objek melalui variabel
referensinya suatu variabel atau metode instans adalah milik dari suatu
instans kelas tertentu. Suatu variabel statik merupakan variabel yang
dipakai bersama oleh semua instans dalam kelas yang sama. Suatu metode
statis merupakan metode yang dapat dipanggil tanpa menggunakan
instans. Setiap imstans dari suatu kelas dapat mengakses variabel dan
metode statis. Tetapi, demi kemudahan pembacaan program, variabel dan
metode statis lebih baik dipanggil dengan sintaks NamaKelas.variabel dan
NamaKelas.metode.

Variabel pada Java class berarti variabel yang merupakan anggota


dari sebuah objek.

Method adalah kumpulan program yang mempunyai nama. Method


merupakan sarana bagi programmer untuk memecah program menjadi
bagian-bagian yang kecil agar jadi lebih kompleks sehingga dapat di
gunakan berulang-ulang.

Method merupakan suatu operasi berupa fungsi-fungsi yang dapat


dikerjakan oleh suatu object. Method didefinisikan pada class akan tetapi
dipanggil melalui object.

35
Parameter adalah Data yang dapat ditambahkan dari luar Method,
contoh : ketika kita membuat sebuah Method untuk mengubah nama pada
kelas Orang, Oleh karena itu kita kita membutuhkan sebuah Parameter
baru untuk menggantikan nama tersebut.

Construktor adalah Constructor merupakan suatu method yang


akan memberikan nilai awal pada saat suatu objek dibuat.

Modifier adalah kata, phrase, atau clause yang berfungsi sebagai


adjective atau adverb yang menerangkan kata atau kelompok kata lain.
Sebagai adjective dan adverb ketika berfungsi sebagai adjective (dapat
berupa simple adjective, adjective phrase, clause participle, infinitive),
modifier menerangkan noun, sedangkan ketika berfungsi sebagai adverb
(dapat berupa simple adverb, adverb phrase, clause, preposition phrase,
infinitive), kata ini menerangkan verb, adjective atau adverb lain.

Modifer memberi dampak tertentu pada kelas, interface, metode,


dan variable. Java modifier terbagi menjadi kelompok berikut:

h. Modifer ketampakan (visibility modifer), disebut juga modifier


pengaksesan (access modifer) berlaku untuk kelas interface, metode
dan variable yaitu default, public, protected, private.

i. Final modifier berlaku untuk kelas, variable dan metode, yaitu final.

j. Static modifier berlaku untuk variable dan metode, yaitu static.

k. Abstract modifier berlaku untuk kelas dan metode, yaitu abstract.

l. Synchronized modifier berlaku untuk metode, yaitu synchronized.

m. Native modifier berlaku untuk metode, yaitu native.

n. Storage modifier berlaku untuk variable, yaitu transient.

3.2 Saran
Bagi pembaca makalah ini, diharapkan setelah membacanya dapat
memilah-milah sampah atau limbah mana saja yang dapat digunakan dan
di daur ulang. Serta dapat membuat manisan kulit buah dari kulit
semangka, sehingga bahan limbah dapat memiliki nilai guna yang tinggi .
36
Demikian karya tulis yang dapat penulis buat, apabila ada kekurangan dan
kesalahan mohon di maafkan.

DAFTAR PUSTAKA

37
Hariyanto, Bambang, 2014. Esensi-esensi Bahasa Pemprograman Java.
Bandung: Informatika Bandung.

Sianipar, R.H, 2013. Teori dan Implementansi Java. Bandung: Informatika


Bandung.

BUKU CATATAN ,AGUNG SETYADI,2018.BATANG

38

Anda mungkin juga menyukai