0% menganggap dokumen ini bermanfaat (0 suara)
12 tayangan122 halaman

Pengantar Pemrograman Java oleh Vikas Singh

Dokumen ini adalah catatan kuliah tentang pemrograman dalam bahasa Java yang ditujukan untuk memperkenalkan konsep-konsep pemrograman berorientasi objek. Materi mencakup berbagai topik seperti OOP, penanganan pengecualian, multithreading, dan pemrograman GUI. Terdapat juga daftar buku teks dan referensi yang relevan untuk mendalami lebih lanjut tentang Java.

Diterjemahkan oleh

ScribdTranslations
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
12 tayangan122 halaman

Pengantar Pemrograman Java oleh Vikas Singh

Dokumen ini adalah catatan kuliah tentang pemrograman dalam bahasa Java yang ditujukan untuk memperkenalkan konsep-konsep pemrograman berorientasi objek. Materi mencakup berbagai topik seperti OOP, penanganan pengecualian, multithreading, dan pemrograman GUI. Terdapat juga daftar buku teks dan referensi yang relevan untuk mendalami lebih lanjut tentang Java.

Diterjemahkan oleh

ScribdTranslations
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

CATATAN KULIAH
pada
PEMOGRAMAN DALAM "C"

Oleh

Mr. Vikas Singh


(Msc Ilmu Komputer, Ph.D. Muncul)

Pendiri : Coding Seekho(VS Programming Institute)


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore
Bapak Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

PENGANTAR PEMROGRAMAN JAVA


Tujuan:
Subjek ini bertujuan untuk memperkenalkan siswa pada bahasa pemrograman Java. Setelah
setelah menyelesaikan mata pelajaran ini, siswa harus mampu membuat program Java yang
memanfaatkan fitur berorientasi objek dari bahasa Java, seperti enkapsulasi, pewarisan dan
polimorfisme; gunakan tipe data, array, dan koleksi data lainnya; terapkan penanganan kesalahan
teknik menggunakan penanganan pengecualian, buat dan GUI berbasis acara menggunakan komponen Swing.

UNIT-I
OOP Concepts:-Data abstraction, encapsulation, inheritance, Benefits of Inheritance,
Polimorfisme, kelas dan objek, paradigma pemrograman prosedural dan berorientasi objek.
Pemrograman Java - Sejarah Java, komentar, Tipe data, Variabel, Konstanta, Lingkup dan
Umur variabel, Operator, Hierarki Operator, Ekspresi, Konversi tipe dan casting,
Tipe data yang terenumerasi, Alur kontrol - ruang lingkup blok, pernyataan bersyarat, loop, break dan continue
pernyataan, program java mandiri sederhana, array, input dan output konsol, format output
konstruktor, metode, pengiriman parameter, field dan metode statis, kontrol akses, referensi ini
overloading metode dan konstruktor, rekurisi, pengumpulan sampah, membangun string, menjelajahi
kelas string.

UNIT–II
Inheritance–Inheritance hierarchies super and sub classes, Member access rules, super
kata kunci, mencegah pewarisan: kelas dan metode final, kelas Object dan metode-metodenya.
Polimorfisme–pengikatan dinamis, penggantian metode, kelas dan metode abstrak.
Antarmuka-Antarmuka Vs Kelas Abstrak, mendefinisikan antarmuka, mengimplementasikan antarmuka, mengakses
implementasi melalui referensi antarmuka, memperluas antarmuka.
Kelas dalam - Penggunaan kelas dalam, kelas dalam lokal, kelas dalam anonim, kelas dalam statis
kelas, contoh.
Packages-Defining, creating and accessing a package, Understanding CLASSPATH, importing
paket.

UNIT-III
Penanganan pengecualian - Menangani kesalahan, manfaat penanganan pengecualian, klasifikasi
eksepsi - hierarki eksepsi, eksepsi yang diperiksa dan eksepsi yang tidak diperiksa, penggunaan try,
catch, throw, throws and finally, rethrowing exceptions, exception specification, built in
eksepsi, membuat subclass eksepsi sendiri.
Multithreading–Perbedaan antara beberapa proses dan beberapa utas, status utas,
membuat thread, menginterupsi thread, prioritas thread, menyinkronkan thread, antar-thread
komunikasi, pola produsen konsumen, Menjelajahi [Link] dan java.

UNIT-IV
Applet–Konsep Applet, perbedaan antara applet dan aplikasi, siklus hidup sebuah applet,
jenis-jenis applet, membuat applet, mengirim parameter ke applet.
Penanganan Acara: Acara, Penanganan acara mouse dan keyboard, Kelas adaptor.
Files-Streams- Byte streams, Character streams, Text input/output.
Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

File-Aliran-Aliran byte, Aliran karakter, Input/output teks, Input/output biner, acak


operasi file akses, Manajemen file menggunakan kelas File.

UNIT-V
Pemrograman GUI dengan Java–hierarki kelas AWT, komponen, kontainer, panel, jendela, bingkai
grafis.
Kontrol AWT: Label, tombol, bidang teks, kotak centang, dan grafik.
Manajer Layout–Tipe manajer layout: border, grid, dan flow.
Swing–Pengenalan, keterbatasan AWT, Swing vs AWT.

BUKU TEKS:
1. Dasar-Dasar Java – Pengenalan yang Komprehensif, Herbert Schildt dan Dale Skrien
TMH.
REFERENCE BOOKS:
[Link] untuk Programmer, [Link] dan [Link], PEA (atau) Java: Cara Memprogram,
[Link] dan [Link], PHI
[Link] Berbasis Objek melalui Java, P. Radha Krishna, UniversitiesPress.
[Link] dalam Java, Bruce Eckel,PE
4. Pemrograman dalam Java, S. Malhotra dan S. Choudhary, Pers Universitas Oxford.

Course Outcomes:

• Pemahaman tentang prinsip dan praktik analisis dan desain berorientasi objek
pembangunan program yang kuat dan mudah dipelihara yang memenuhi persyaratan mereka;
• Kompetensi untuk merancang, menulis, mengompilasi, menguji, dan mengeksekusi program yang sederhana menggunakan
bahasa tingkat tinggi
• Sebuah penghargaan terhadap prinsip-prinsip pemrograman berorientasi objek;
• Sebuah kesadaran akan perlunya pendekatan profesional terhadap desain dan pentingnya
dokumentasi yang baik untuk program yang selesai.
• Be able to implement, compile, test and run Java programs comprising more thanone
kelas, untuk menangani masalah perangkat lunak tertentu.
• Tunjukkan kemampuan untuk menggunakan struktur data sederhana seperti array dalam program Java.
• Be able to make use of members of classes found in the Java API (such as the Mathclass).
Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

INDeks

S. No Unit Topik Halaman no

1 OOP Concepts:-Data abstraction, encapsulation inheritance 1


Saya

2 Manfaat Warisan 2
Saya

3 Saya Polimorfisme, kelas, dan objek 2

4 Saya Paradigma pemrograman prosedural dan berorientasi objek 3

5 Saya Pemrograman Java - Sejarah Java 4

6 Saya Comments, Data types, Variables, Constants 5-9

7 Aku Ruang Lingkup dan Masa Hidup Variabel 10

8 Saya Operator, Hirarki Operator, Ekspresi 11-12

9 Saya Konversi tipe dan casting, Tipe yang terenumerasi 12-13

Aliran kontrol - lingkup blok, pernyataan bersyarat, loop, break 13-14


10 Saya
dan pernyataan lanjutan

11 Saya Simple java stand alone programs, arrays 14-18

12 Saya Input dan output konsol, format output 18-19

13 Saya Konstruktor, metode, pengoperan parameter 19-20

14 Aku Bidang dan metode statis, kontrol akses, referensi ini, 21-30

Overloading metode dan konstruktor, rekursi, pengumpulan sampah


15 Saya 30-34
koleksi,
Membangun string, mengeksplorasi kelas string.
16 Saya 34-36
Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

No. S Unit Topik Halaman no

Pewarisan–Hierarki pewarisan kelas super dan sub 37-40


17 II
Aturan akses anggota
kata kunci super, mencegah pewarisan: kelas final dan
18 II 40-41
metode, kelas Object dan metodenya.

19 II Polimorfisme–pengikatan dinamis, penimpaan metode, 41-42

20 II kelas dan metode abstrak. 43

Antarmuka-Antarmuka Vs Kelas Abstrak, mendefinisikan sebuah


21 II 43-44
antarmuka, menerapkan antarmuka
Mengakses implementasi melalui referensi antarmuka, 45
22 II
memperluas antarmuka.

23 II Inner classes-Uses of inner classes, local inner classes 45-46

24 II Kelas dalam anonim, kelas dalam statis, contoh. 46

25 II Paket - Menentukan, membuat, dan mengakses paket 46-47

26 II Memahami CLASSPATH, mengimpor paket. 47

Penanganan pengecualian - Menangani kesalahan, manfaat pengecualian


27 III 48
penanganan
Klasifikasi pengecualian - hierarki pengecualian, diperiksa
28 III eksepsi dan eksepsi yang tidak terdeteksi
48-50

29 III Penggunaan try, catch, throw, throws dan finally 50-54

30 III Melempar kembali pengecualian, spesifikasi pengecualian, 54

31 III Pengecualian bawaan, membuat subkelas pengecualian sendiri. 54

Multithreading–Perbedaan antara beberapa proses dan


32 III 55-56
beberapa utas, keadaan utas
Membuat benang, menghentikan benang, prioritas benang,
33 III 56-59
menyelaraskan benang

34 III komunikasi antar utas, pola produsen konsumen 59

35 III Menjelajahi [Link] dan [Link]. 60


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

S. No Unit Topik Halaman no

36 IV Kerangka Koleksi di Java–Pendahuluan ke java 62


collections, Overview of java collection framework, Generics
Kelas koleksi yang umum digunakan - Daftar Array, Vektor, Hash
37 IV 63-71
table, Stack, Enumeration, Iterator

38 IV String Tokenizer, Random, Scanner, Calendar dan Properties. 71-76

Berkas-Aliran-Aliran byte, Aliran karakter, Teks


39 IV 77-82
input/output, Input/Output Biner
Operasi file akses acak, Manajemen file menggunakan File 83-84
40 IV
kelas.
Menghubungkan ke Basis Data – Driver JDBC Tipe 1 hingga 4
41 IV 85-88
Menghubungkan ke basis data,
Meminta database dan memproses hasilnya, memperbarui data
42 IV dengan JDBC. 89-94

Pemrograman GUI dengan Java - Hierarki kelas AWT


43 V 95-100
{"introduction_to_swing":"Pengenalan Swing","swing_vs_awt":"Swing Vs AWT","hierarchy_for_swing":"Hierarki untuk Swing"}
komponen

44 V Kontainer–Jframe, JApplet, JDialog, JPanel 100-104

Gambaran beberapa komponen Swing–JButton, JLabel, 104-108


45 V
JTextField, JTextArea, aplikasi Swing sederhana,
Manajemen tata letak–Tipe manajer tata letak–batas, grid dan
46 V 109-111
aliran
Penanganan Kejadian - Kejadian, Sumber kejadian, Kelas kejadian, Kejadian
47 V 111-112
Pendengar,
Hubungan antara Sumber Acara dan Pendengar, Delegasi
48 V 112-113
model acara
Menangani klik tombol, Menangani peristiwa Mouse, Adapter
49 V 114-116
kelas.

50 V Applet–Hierarki pewarisan untuk applet 118-119

{"differences_between_applets_and_applications":"Perbedaan antara applet dan aplikasi","life_cycle_of_an":"siklus hidup dari sebuah"}


51 V 120
applet,

52 V Meneruskan parameter ke applet, masalah keamanan applet. 121


Bapak Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Konsep OOP

Pemrograman Berorientasi Objek adalah sebuah paradigma yang menyediakan banyak konsep seperti

warisan,pembindan data,polimorfisme dll.

Simulasi dianggap sebagai bahasa pemrograman berorientasi objek pertama.


paradigma di mana semuanya diwakili sebagai objek dikenal sebagai benar-benar berorientasi objek
bahasa pemrograman.

Smalltalk dianggap sebagai bahasa pemrograman berorientasi objek yang pertama kali dan sejati.

OOP (Sistem Pemrograman Berorientasi Objek)

Objek berarti entitas dunia nyata seperti pena, kursi, meja, dll. Pemrograman Berorientasi Objek adalah
sebuah metodologi atau paradigma untuk merancang program menggunakan kelas dan objek. Ini menyederhanakan
pengembangan perangkat lunak dan pemeliharaan dengan memberikan beberapa konsep:

o Objek
o Kelas
o Warisan
o Polimorfisme
o Abstraksi
o Enkapsulasi

Objek

Setiap entitas yang memiliki keadaan dan perilaku dikenal sebagai objek. Misalnya: kursi, pena, tabel,
keyboard, sepeda, dll. Ini bisa bersifat fisik dan logis.

Kelas

Kumpulan objek disebut kelas. Itu adalah entitas logis.

Warisan

Ketika satu objek memperoleh semua sifat dan perilaku objek induk, yaitu dikenal sebagai
inheritance. It provides code reusability. It is used to achieve runtime polymorphism.

PEMROGRAMAN JAVA Page 1


Bapak Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Polimorfisme

Ketika satu tugas dilakukan dengan cara yang berbeda, itu dikenal sebagai polimorfisme. Sebagai contoh:
yakinkan pelanggan dengan cara yang berbeda, untuk menggambar sesuatu misalnya bentuk atau persegi panjang dll.

Dalam java, kita menggunakan overloading metode dan overriding metode untuk mencapai polimorfisme.

Contoh lain bisa jadi berbicara sesuatu misalnya kucing berbicara meow, anjing menggonggong woof

[Link]

Menyembunyikan rincian internal dan menampilkan fungsionalitas dikenal sebagai abstraksi. Contohnya: telepon
panggilan, kami tidak tahu pemrosesan internal.

Dalam java, kita menggunakan kelas abstrak dan antarmuka untuk mencapai abstraksi.

Pemusatan

Pengikatan (atau membungkus) kode dan data bersama-sama menjadi satu unit dikenal sebagai enkapsulasi.
Misalnya: kapsul, itu dibungkus dengan berbagai obat.

Sebuah kelas java adalah contoh dari enkapsulasi. Java bean adalah kelas yang sepenuhnya terenkapsulasi karena semua
Anggota data bersifat pribadi di sini.

Manfaat Warisan

• Salah satu manfaat utama dari pewarisan adalah meminimalkan jumlah kode duplikat dalam
aplikasi dengan membagikan kode yang umum di antara beberapa subclass. Di mana kode yang setara

ada dalam dua kelas terkait, hierarki biasanya dapat direfaktor untuk memindahkan yang umum
kode hingga superclass bersama. Ini juga cenderung menghasilkan organisasi kode yang lebih baik dan
unit kompilasi yang lebih kecil dan lebih sederhana.

• Pewarisan juga dapat membuat kode aplikasi lebih fleksibel terhadap perubahan karena kelas-kelas yang

mewarisi dari superclass yang sama dapat digunakan secara bergantian. Jika tipe kembalian dari a

metode issuperclass
• Pemakaian ulang - fasilitas untuk menggunakan metode publik dari kelas dasar tanpa menulis ulang yang sama.

• Extensibility- extending the base class logic as per business logic of the derivedclass.

PEMROGRAMAN JAVA Page 2


Bapak Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

• Penyembunyian data - kelas dasar dapat memutuskan untuk menyimpan beberapa data sebagai pribadi sehingga tidak dapat diakses.

diubah oleh kelas turunan


Paradigma pemrograman prosedural dan berorientasi objek

PEMROGRAMAN JAVA Page 3


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Pemrograman Java - Sejarah Java

Sejarah dari java dimulai dari Tim Hijau. Anggota tim Java (juga dikenal sebagai
Tim Hijau), memulai tugas revolusioner untuk mengembangkan bahasa untuk digital
perangkat seperti set-top box, televisi, dll.

Bagi anggota tim hijau, itu adalah konsep maju pada saat itu. Tapi, itu adalah
cocok untuk pemrograman internet. Kemudian, teknologi Java yang diintegrasikan oleh
Netscape.

Saat ini, Java digunakan dalam pemrograman internet, perangkat mobile, permainan, bisnis elektronik

solusi dll. Ada beberapa poin utama yang menggambarkan sejarah java.

1) James Gosling, Mike Sheridan, dan Patrick Naughton memulai Java


proyek bahasa pada Juni 1991. Tim kecil insinyur sinar matahari yang disebut Green
Tim.

2) Awalnya dirancang untuk sistem kecil yang tertanam dalam peralatan elektronika seperti set-
topboxes.

3) Pertama-tama, itu disebut "Greentalk" oleh James Gosling dan ekstensi file adalah .gt.

4) Setelah itu, ia disebut Oak dan dikembangkan sebagai bagian dari Green
proyek.

Sejarah Versi Java

Ada banyak versi Java yang telah dirilis. Rilis stabil Java saat ini
adalah Java SE 8.

1. JDK Alpha dan Beta (1995)


2. JDK 1.0 (23 Januari, 1996)
3. JDK 1.1 (19 Feb, 1997)
4. J2SE 1.2 (8 Des, 1998)
5. J2SE 1.3 (8 Mei, 2000)
J2SE 1.4 (6 Feb, 2002)
7. J2SE 5.0 (30 Sep, 2004)
8. Java SE 6 (11 Des, 2006)
9. Java SE 7 (28 Juli, 2011)
[Link] SE 8 (18 Maret 2014)

PEMROGRAMAN JAVA Page 4


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Features of Java
Ada banyak fitur dari java. Mereka juga dikenal sebagai buzzword java. Fitur Java
berikut adalah simple dan mudah dipahami.
[Link]

2. Berorientasi Objek

[Link]
[Link] tergantung platform

[Link]
Kuat
[Link] Arsitektur
[Link]
[Link]
[Link]
[Link]
[Link]

Komentar Java
Komentar java adalah pernyataan yang tidak dieksekusi oleh compiler dan interpreter.
comments can be used to provide information or explanation about the variable, method,class or
pernyataan apapun. Ini juga dapat digunakan untuk menyembunyikan kode program untuk waktu tertentu.

Types of Java Comments

Ada 3 jenis komentar di java.

1. Komentar Baris Tunggal


2. Komentar Beberapa Baris
[Link]

Java Single Line Comment

Komentar satu baris digunakan untuk mengomentari hanya satu baris.

Sintaksis:

//Ini adalah komentar satu baris

PEMROGRAMAN JAVA Page 5


Bapak Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Example:

public classCommentExample1 {
publik statis voidmain(String[] args) {
inti=10;//Here, i is a variable
[Link](i);
}
}

Output:

10

Komentar Multi Baris Java

Komentar multi baris digunakan untuk mengomentari beberapa baris kode.

Sintaksis:

/*
Ini
adalah
multi line
komentar
*/

Contoh:

publik classCommentExample2 {
publik statis void utama(String[] args) {
/* Mari kita deklarasikan dan

mencetak variabel dalam java.


inti=10;
[Link](i);
}}

Keluaran:

10

PEMROGRAMAN JAVA Page 6


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Komentar Dokumentasi Java

The documentation comment is used to create documentation API. To create documentation API, you need
untuk menggunakan alat javadoc.

Sintaksis:

/**
Ini
adalah
dokumentasi
komentar
*/

Contoh:

/** Kelas Calculator menyediakan metode untuk mendapatkan penjumlahan dan pengurangan dari 2 angka yang diberikan.*/

public classCalculator {
/** Metode add() mengembalikan penjumlahan dari angka yang diberikan.*/

publik static int tambah(int a, int b) { return a + b; }

/** The sub() method returns subtraction of given numbers.*/


publik statis int sub(int a, int b) { return a - b; }

Kompilasi dengan alat javac:

javac [Link]

Buat Dokumentasi API dengan alat javadoc:

javadoc [Link]

Sekarang, akan ada berkas HTML yang dibuat untuk kelas Kalkulator Anda di direktori saat ini. Buka HTML
file-file dan lihat penjelasan tentang kelas Calculator yang disediakan melalui komentar dokumentasi.

PEMROGRAMAN JAVA Page 7


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Tipe Data
Tipe data mewakili nilai-nilai yang berbeda untuk disimpan dalam variabel. Di java, terdapat dua tipe data:

o Tipe data primitif


o Tipe data non-primitif

Tipe Data NilaiDefault Ukuran default

boolean Salah 1 bit

karakter 2 byte

byte 0 1 byte

short 0 2 byte

int 0 4 byte

panjang 0L 8 byte

mengambang 0.0f 4 bait

ganda 0.0d 8 byte

Contoh Variabel Java: Menambahkan Dua Angka


kelasSederhana{
publik statis void main(String[] args) {
inta=10;
intb=10;
intc=a+b;
[Link](c);
}}

Output:20

PEMROGRAMAN JAVA Page 8


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Variabel dan Tipe Data di Java


Variabel adalah nama lokasi memori. Ada tiga jenis variabel di java: lokal, instan
dan statis.

Ada dua jenis tipe data di Java: primitif dan non-primitif.

Jenis Variabel
Ada tiga jenis variabel di java:

o variabel lokal
o variabelinstans
o variabel statis

Variabel Lokal

Sebuah variabel yang dideklarasikan di dalam metode disebut variabel lokal.

2) Variabel Instance

Sebuah variabel yang dideklarasikan di dalam kelas tetapi di luar metode, disebut variabel instans. Itu
tidak dinyatakan sebagai statis.

Variabel Statis
Sebuah variabel yang dideklarasikan sebagai statis disebut variabel statis. Variabel ini tidak bisa bersifat lokal.

Kami akan mempelajari variabel-variabel ini secara mendetail di bab-bab berikutnya.

Contoh untuk memahami jenis variabel dalam java

classA{
intdata=50;//instance variable
static intm=100;//variabel statis
voidmetode(){
intn=90;//variabel lokal
}
}//akhir kelas

Konstanta di Java

Konstanta adalah variabel yang tidak dapat mengubah nilainya setelah dideklarasikan. Ini menggunakan 'final'
kata kunci.

Syntax
modifikator dataTipe final variabelNama = nilai;//konstanta global

modifier static final dataType namaVariabel = nilai;//konstanta dalam C

PEMROGRAMAN JAVA Page 9


Tuan Vikas Singh Download Coding Seekho App from Playstore

Cakupan dan Umur Variabel


Lingkup variabel mendefinisikan bagian kode di mana variabel tersebut terlihat. Sebagai sebuah
Aturan umum, variabel yang didefinisikan dalam suatu blok tidak dapat diakses di luar blok tersebut.
Umur sebuah variabel mengacu pada seberapa lama variabel tersebut ada sebelum dihancurkan.
Menghancurkan variabel mengacu pada pengalokasian kembali memori yang diberikan kepada variabel ketika
mendeklarasikannya. Kami telah menulis beberapa kelas hingga sekarang. Anda mungkin telah mengamati bahwa tidak semua

variabel adalah sama. Yang dinyatakan di dalam tubuh sebuah metode berbeda dari yang lainnya
yang dideklarasikan di dalam kelas itu sendiri. Ada tiga jenis variabel: variabel instans,
parameter formal atau variabel lokal dan variabel lokal.

Variabel instance

Variabel instance adalah yang didefinisikan di dalam kelas itu sendiri dan bukan di dalam metode mana pun.
konstruktor kelas. Mereka dikenal sebagai variabel instance karena setiap instance dari
kelas (objek) berisi salinan dari variabel-variabel ini. Ruang lingkup variabel instan ditentukan
oleh spesifikasi akses yang diterapkan pada variabel-variabel ini. Kami sudah melihat tentang itu sebelumnya.
Masa hidup variabel-variabel ini sama dengan masa hidup objek yang dimilikinya.
Objek yang sekali dibuat tidak ada selamanya. Mereka dihancurkan oleh pengumpul sampah Java.
ketika tidak ada lagi referensi ke objek tersebut. Kita akan membahas tentang pengumpulan sampah otomatis Java
kolektor nantinya.

Variabel argumen

Ini adalah variabel yang didefinisikan dalam konstruktor header oaf atau sebuah metode. Ruang lingkup
dari variabel-varian ini adalah metode atau konstruktor di mana mereka didefinisikan. Masa hidup adalah
dibatasi pada waktu di mana metode terus dieksekusi. Setelah metode selesai
eksekusi, variabel-variabel ini dihancurkan.

Variabel lokal

Variabel lokal adalah variabel yang dideklarasikan di dalam metode atau konstruktor (bukan di dalam
header). Lingkup dan masa hidup terbatas pada metode itu sendiri.

Satu perbedaan penting antara ketiga jenis variabel ini adalah bahwa spesifikasi akses dapat
hanya dapat diterapkan pada variabel instance dan bukan pada variabel argumen atau variabel lokal.

Selain variabel lokal yang didefinisikan dalam suatu metode, kami juga memiliki variabel yang didefinisikan
dalam kehidupan boks ada blok if dan blok else. Lingkup dan sama dengan blok tersebut
itu sendiri.

PEMOGRAMAN JAVA Page 10


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Operator di java

Operator dalam java adalah simbol yang digunakan untuk melakukan operasi. Contohnya: +, -, *, / dll.

Ada banyak jenis operator di java yang diberikan di bawah ini:

o UnaryOperator
o OperatorAritmatika
o shiftOperator,
o RelationalOperator,
o OperatorBitwise
o OperatorLogika
o Operator Ternary dan
o OperatorPenugasan.

Hierarki Operator

PEMROGRAMAN JAVA Page 11


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Expressions
Ekspresi adalah blok bangunan penting dari setiap program Java, biasanya dibuat untuk menghasilkan yang baru.
nilai, meskipun kadang-kadang sebuah ekspresi hanya menetapkan nilai ke sebuah variabel. Ekspresi adalah
dibangun menggunakan values,variabel, operator dan panggilan metode.

Jenis Ekspresi

Sementara sebuah ekspresi sering kali menghasilkan hasil, tidak selalu demikian. Ada tiga jenis
ekspresi dalam Java:

• Yang memproduksi nilai, yaitu hasil dari (1 + 1)


• Mereka yang menetapkan variabel, misalnya (v =10)
• Mereka yang tidak memiliki hasil tetapi mungkin memiliki "efek samping" karena sebuah ekspresi dapat mencakup

sejauh elemen yang luas seperti pemanggilan metode atau operator penambahan yang mengubah
status (yaitu memori) dari sebuah program.

Casting Tipe dan Konversi Tipe Java

Perluasan atau Konversi Tipe Otomatis


Konversi pelebaran terjadi ketika dua tipe data secara otomatis dikonversi. Ini terjadi
kapan:
▪ Dua tipe data tersebut kompatibel.
▪ Ketika kita memberikan nilai dari tipe data yang lebih kecil ke tipe data yang lebih besar.

Sebagai contoh, dalam Java tipe data numerik saling kompatibel satu sama lain tetapi tidak otomatis
konversi didukung dari tipe numerik ke char atau boolean. Juga, char dan boolean tidak
kompatibel dengan setiap lain.

Konversi yang Sempit atau Eksplicit


Jika kita ingin memberikan nilai tipe data yang lebih besar ke tipe data yang lebih kecil, kita melakukan konversi tipe secara eksplisit.
casting atau pemotongan.
▪ Ini berguna untuk tipe data yang tidak kompatibel di mana konversi otomatis tidak dapat dilakukan.
▪ Di sini, jenis-target menentukan jenis yang diinginkan untuk mengonversi nilai yang ditentukan.

PEMROGRAMAN JAVA Page 12


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Enum Java

Enum di Java adalah tipe data yang berisi sekumpulan konstanta tetap.

Ini dapat digunakan untuk hari-hari dalam seminggu (MINGGU, SENIN, SELASA, RABU,
KAMIS, JUMAT dan SABTU, arah (UTARA, SELATAN, TIMUR dan BARAT)
dll. Konstanta enum java bersifat statis dan final secara implisit. Ini tersedia sejak JDK 1.5.

Java Enums can be thought of as classes that have fixed set of constants.

Contoh sederhana enum java


classEnumExample1{
public enumSeason { WINTER, SPRING, SUMMER, FALL }

public static voidmain(String[] args) {


untuk(Season s : [Link]())
[Link](s);
}}
Output:
WINTER
SPRING
SUMMER
FALL

Pernyataan Alur Kontrol

Pernyataan alur kontrol di Java memungkinkan Anda untuk menjalankan atau melewatkan blok kode ketika khusus

syarat terpenuhi.

Pernyataan "jika"
Pernyataan "if" dalam Java bekerja persis seperti di sebagian besar bahasa pemrograman. Dengan bantuan dari
“jika” Anda dapat memilih untuk mengeksekusi blok kode tertentu ketika kondisi yang telah ditentukan terpenuhi. Yang

struktur pernyataan "if" dalam Java terlihat seperti ini:

jika(kondisi) {
// jalankan kode ini
}

PEMROGRAMAN JAVA Page 13


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Kondisinya adalah Boolean. Boolean berarti itu bisa benar atau salah. Misalnya, Anda bisa menempatkan sebuah
persamaan matematis sebagai syarat. Lihat contoh lengkap ini:

Membuat Aplikasi Java Mandiri


[Link] metode utama yang menjalankan program Anda. Anda bisa menulis metode ini di mana saja. Dalam ini
contoh, saya akan menulis metode utama saya dalam kelas yang disebut Main yang tidak memiliki metode lain.
contoh:
2. kelas publik Utama
3. {
4. public static void main(String[] args)
5. {
6. [Link]();
7. }}
[Link] kode Anda telah dikompilasi, dan bahwa Anda telah mengujinya dengan seksama.
[Link] Anda menggunakan Windows, Anda perlu mengatur jalur Anda untuk menyertakan Java, jika Anda belum melakukannya.
done so already. This is a delicate operation. Open Explorer, and look inside
C:\ProgramFiles\Java, dan Anda seharusnya melihat beberapa versi dari JDK. Buka folder ini, dan
kemudian buka folder bin. Pilih jalur lengkap dari bagian atas jendela Penjelajah, dan
tekan Ctrl-C untuk menyalinnya.

Selanjutnya, temukan ikon "Komputer Saya" (di menu Mulai atau desktop Anda), klik kanan padanya, dan pilih
properti. Klik pada tab Lanjutan, dan kemudian klik pada tombol variabel Lingkungan.
Lihat variabel yang terdaftar untuk semua pengguna, dan klik pada variabel Path. Jangan hapus
isi dari variabel ini! Sebagai gantinya, edit isi dengan memindahkan kursor ke ujung kanan,
masukkan titik koma (;), dan tekan Ctrl-V untuk menempelkan jalur yang Anda salin sebelumnya. Kemudian pergi
silakan simpan perubahan Anda. (Jika Anda memiliki jendela Cmd terbuka, Anda perlu menutupnya)
mereka.)

[Link] Anda menggunakan Windows, buka menu Mulai dan ketik "cmd" untuk menjalankan program yang
membuka jendela prompt perintah. Jika Anda menggunakan mesin Mac atau Linux, jalankan
Program terminal untuk membuka command prompt.
11. Di Windows, ketik dir di prompt perintah untuk mencantumkan isi dari direktori saat ini.
Di mesin Mac atau Linux, ketik ls untuk melakukannya.

PEMROGRAMAN JAVA Page 14


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

12. Sekarang kita ingin beralih ke direktori/folder yang berisi kode yang telah Anda kompilasi. Lihatlah
daftar sub-direktori dalam direktori ini, dan identifikasi mana yang berisi kode Anda.
Ketik cd diikuti dengan nama direktori tersebut, untuk berpindah ke direktori itu. Misalnya, untuk
beralih ke direktori yang disebut Desktop, Anda akan mengetik:

cd Desktop

Untuk berpindah ke direktori induk, ketik:

cd ..

Setiap kali Anda berpindah ke direktori baru, daftar isi direktori tersebut untuk melihat ke mana harus pergi.
selanjutnya. Lanjutkan untuk mencantumkan dan mengubah direktori sampai Anda mencapai direktori yang berisi
file .class Anda.

13. Jika Anda mengompilasi program Anda menggunakan Java 1.6, tetapi berencana untuk menjalankannya di Mac, Anda perlu
kompil ulang kode Anda dari baris perintah, dengan mengetik:

javac -target 1.5 *.java

[Link] kita akan membuat satu berkas JAR yang berisi semua berkas yang diperlukan untuk menjalankan program Anda.

Array
Java menyediakan struktur data, array, yang menyimpan koleksi berurutan dengan ukuran tetap dari
elemen dari jenis yang sama. Sebuah array digunakan untuk menyimpan koleksi data, tetapi sering kali lebih
berguna untuk memandang array sebagai kumpulan variabel dari tipe yang sama.

Alih-alih mendeklarasikan variabel individu, seperti number0, number1, ..., dan number99, Anda
deklarasikan satu variabel array seperti angka dan gunakan angka[0], angka[1], dan ...
numbers[99] untuk merepresentasikan variabel individu.

Tutorial ini memperkenalkan cara untuk mendeklarasikan variabel array, membuat array, dan memproses array menggunakan
variabel terindeks.

Mendeklarasikan Variabel Array:


Untuk menggunakan sebuah array dalam program, Anda harus mendeklarasikan sebuah variabel untuk mereferensikan array, dan Anda harus
spesifikasikan jenis array yang dapat direferensikan oleh variabel. Berikut adalah sintaks untuk mendeklarasikan sebuah array
variable:

dataType[] arrayRefVar; // cara yang disukai.


atau
dataType arrayRefVar[];// works but not preferred way.
Note:The styledataType[] arrayRefVaris preferred. The styledataType arrayRefVar[]
berasal dari bahasa C/C++ dan diadopsi di Java untuk mengakomodasi pemrogram C/C++.

Contoh:

PEMROGRAMAN JAVA Page 15


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Potongan kode berikut adalah contoh sintaks ini:

double[]myList; // cara yang diutamakan.

atau
doublemyList[]; // berfungsi tetapi bukan cara yang diutamakan.

Membuat Array:
Anda dapat membuat array dengan menggunakan operator baru dengan sintaks berikut:

arrayRefVar=newdataType[arraySize];
Pernyataan di atas melakukan dua hal:

• It creates an array using newdataType[arraySize];

• Ini menetapkan referensi dari array yang baru dibuat ke variablearrayRefVar.

Mendeklarasikan variabel array, membuat array, dan menetapkan referensi array tersebut ke
variabel dapat digabungkan dalam satu pernyataan, seperti yang ditunjukkan di bawah ini:

dataType[]arrayRefVar=newdataType[arraySize];
Anda juga bisa membuat array sebagai berikut:

dataType[]arrayRefVar= {nilai0,nilai1, ...,nilaiK};


Elemen array diakses melalui indeks. Indeks array dimulai dari 0; artinya, mereka mulai
dari 0 hingga [Link]-1.

Contoh:
Pernyataan berikut mendeklarasikan variabel array, myList, yang membuat array dengan 10 elemen dari
tipe double dan menetapkan referensinya ke myList:

double[] myList = new double[10];


Gambar berikut mewakili array myList. Di sini, myList memegang sepuluh nilai double dan indeksnya
dari 0 hingga 9.

PEMROGRAMAN JAVA Page 16


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Memproses Array:
Ketika memproses elemen array, kita sering menggunakan baik perulangan for atau perulangan untuk setiap karena semua dari
elemen dalam array memiliki tipe yang sama dan ukuran array diketahui.

Contoh:
Berikut adalah contoh lengkap tentang cara membuat, menginisialisasi, dan memproses array:

publik kelas TestArray


{
publik statis void utama(String[] args) {
double[]myList= {1.9,2.9,3.4,3.5};
// Mencetak semua elemen array
for(inti=0;i<[Link];i++){
[Link](myList[i] +" ");
}
Menjumlahkan semua elemen
doubletotal=0;
untuk(inti=0;i<[Link];i++) {
total+=myList[i];
}
[Link]("Total adalah " + total);
// Mencari elemen terbesar
doublemax=myList[0];
for(inti=1;i<[Link];i++) {if
(myList[i] > max) max = myList[i];
}
[Link]("Max adalah " + max);
}
}

PEMROGRAMAN JAVA Page 17


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Ini akan menghasilkan hasil berikut:

1.9
2.9
3.4
3.5
Totalis11.7
Maxis3.5
publik kelas TesArray{
publik statis void main(String[] args) {
double[] myList = {1.9, 2.9, 3.4, 3.5};
// Cetak semua elemen array
untuk(doubleelement:dalamDaftarSaya) {
[Link](element);
}}}

Kelas Konsol Java

Kelas Java Console digunakan untuk mendapatkan input dari konsol. Ini menyediakan metode untuk membaca teks dan
kata sandi.

Jika Anda membaca kata sandi menggunakan kelas Console, itu tidak akan ditampilkan kepada pengguna.

Kelas [Link] terhubung dengan konsol sistem secara internal. Kelas Console adalah
diperkenalkan sejak 1.5.

Mari kita lihat contoh sederhana untuk membaca teks dari konsol.

1. Stringtext=[Link]().readLine();
2. [Link]("Teks adalah:"+text);

Contoh Konsol Java

import [Link];
kelasBacaStringTes{
publik statis void utama(String args[]){
Console c=[Link]();
[Link]("Masukkan nama Anda: ");
String n=[Link]();
[Link]("Selamat datang"+n); } }

PEMROGRAMAN JAVA Page 18


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Keluaran

Masukkan nama Anda: Nakul Jain


Selamat Datang Nakul Jain

Konstruktor

Konstruktor dalam java adalah tipe metode khusus yang digunakan untuk menginisialisasi objek.

Konstruktor Java dipanggil pada saat pembuatan objek. Ia membangun nilai-nilai yaitu memberikan data.
untuk objek itulah ia dikenal sebagai konstruktor.

Pada dasarnya ada dua aturan yang ditetapkan untuk konstruktor.

Nama konstruktor harus sama dengan nama kelasnya


2. Konstruktor tidak boleh memiliki jenis pengembalian yang eksplisit

Jenis-jenis konstruktor java

Ada dua jenis konstruktor:

1. Konstruktor bawaan (konstruktor tanpa argumen)

[Link] Terparameter

Konstruktor Default Java

Sebuah konstruktor yang tidak memiliki parameter dikenal sebagai konstruktor default..

Sintaksis konstruktor default:


1.<nama_kelas>(){}

Contoh konstruktor default

Dalam contoh ini, kami sedang membuat konstruktor tanpa argumen di kelas Bike. Itu akan dipanggil pada
waktu pembuatan objek.
kelasSepeda1{
Bike1(){[Link]("Sepeda dibuat");}
publik statis void main(String args[]){
Bike1 b=newBike1();
}}
Sepeda dibuat

PEMROGRAMAN JAVA Page 19


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Contoh konstruktor terparameter


Dalam contoh ini, kami telah membuat konstruktor dari kelas Mahasiswa yang memiliki dua parameter. Kami
dapat memiliki jumlah parameter apa pun di konstruktor.
kelasSiswa4{
intid
NamaString;

Student4(inti,String n){
id = i;
name = n;
}
voiddisplay(){[Link](id+" "+name);}

publik statis void main(String args[]){


Student4 s1 = new Student4(111, "Karan");
Student4 s2 = new Student4(222,"Aryan");
[Link]();
[Link]();
}}

Output:

111Karan
222Aryan

Overloading Konstruktor di Java

Overloading konstruktor adalah teknik dalam Java di mana sebuah kelas dapat memiliki sejumlah yang tidak terbatas dari
konstruktor yang berbeda dalam daftar parameter. Kompilator membedakan konstruktor ini dengan
taking into account the number of parameters in the list and their type.

Contoh Overloading Konstruktor


classStudent5{
intid; String
name;
Vintage
Student5(inti,String n){
id = i;
name = n;
}
Student5(inti,String n,inta){
id = i;
name = n;
age=a;
}
void tampilkan(){[Link](id+" "+nama+" "+umur);}

publik statis void utama(String args[]){


Student5 s1 = newStudent5(111, "Karan");
Student5 s2 = new Student5(222, "Aryan", 25);
[Link]();

PEMROGRAMAN JAVA Page 20


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

[Link]();
}}

Output:

111 Karan 0
222 Aryan 25
CopyConstructor Java

Tidak ada konstruktor salinan di java. Tetapi, kita dapat menyalin nilai dari satu objek ke objek lainnya seperti
copy constructor di C++.

Ada banyak cara untuk menyalin nilai dari satu objek ke objek lain di java. Mereka adalah:

oOleh kontraktor
oDengan menetapkan nilai suatu objek ke objek lain
oDengan metode clone() dari kelas Object

Dalam contoh ini, kami akan menyalin nilai dari satu objek ke objek lain menggunakan java
konstruktor.
kelasSiswa6{
intid
NamaString;
Student6(inti,String n){
id = i;
name = n;
}

Student6(Student6 s){
id = [Link];
name =[Link];
}
void tampilkan(){[Link](id+" "+name);}

public static voidmain(String args[]){


Mahasiswa6 s1 = mahasiswa6 baru(111, "Karan");
Student6 s2 =newStudent6(s1);
[Link]();
[Link]();
}}

Output:

111Karan
111Karan

PEMROGRAMAN JAVA Page 21


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Java - Metode
Metode Java adalah kumpulan pernyataan yang dikelompokkan bersama untuk melakukan suatu operasi.
Ketika Anda memanggil metode [Link](), misalnya, sistem sebenarnya mengeksekusi
beberapa pernyataan untuk menampilkan pesan di konsol.

Sekarang Anda akan belajar bagaimana membuat metode Anda sendiri dengan atau tanpa nilai kembali, memanggil

metode dengan atau tanpa parameter, dan terapkan abstraksi metode dalam desain program.

Membuat Metode
Mempertimbangkan contoh berikut untuk menjelaskan sintaks sebuah metode −

Sintaksis

publik statis int namaMetode(int a, int b) {


// tubuh
}
Di sini,

• modifikator publik statis

• int−returntype

• methodName−name of the method

• a, b− parameter formal

• int a, int b−daftar parameter

Definisi metode terdiri dari header metode dan isi metode. Hal yang sama ditunjukkan di dalam
ikuti sintaksis −

Sintaksis

modifier returnType nameOfMethod (Parameter List) {


// tubuh metode
}
Sintaksis yang ditunjukkan di atas mencakup−

• modifier−Ini mendefinisikan jenis akses dari metode dan bersifat opsional untuk digunakan.

• returnType−Metode dapat mengembalikan nilai.

• nameOfMethod−This is the method name. The method signature consists of themethod


nama dan daftar parameter.

PEMROGRAMAN JAVA Page 22


Bapak Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

• Daftar Parameter−Daftar parameter, yaitu jenis, urutan, dan jumlah parameter


dari sebuah metode. Ini bersifat opsional, metode dapat berisi nol parameter.

• method body−The method body defines what the method does with thestatements.
Panggilan dengan Nilai dan Panggilan dengan Referensi di Java

Dalam Java hanya ada pemanggilan dengan nilai, bukan pemanggilan dengan referensi. Jika kita memanggil sebuah metode dengan mengoper sebuah nilai, itu

dikenal sebagai panggilan berdasarkan nilai. Perubahan yang dilakukan di metode yang dipanggil, tidak mempengaruhi di

memanggil metode.

Contoh pemanggilan dengan nilai di Java

Dalam kasus panggilan dengan nilai, nilai asli tidak berubah. Mari kita ambil contoh sederhana:

kelasOperasi{
intdata=50;
voidchange(intdata){
data=data+100;//perubahan hanya akan terjadi pada variabel lokal saja
}
publik statis void main(String args[]){
Operasi op=newOperation();
[Link]("sebelum perubahan " + [Link]);
[Link](500);
[Link]("setelah perubahan " + [Link]);
}
}
Output:before change 50
setelah perubahan 50

Di Java, parameter selalu diteruskan dengan nilai. Misalnya, program berikut mencetak
i = 10, j = 20.
// [Link]
kelas Uji {
// swap() tidak menukar i dan j
publik statis void tukar(Integer i, Integer j) {
Integer temp = new Integer(i);
i = j;
j = temp;
}
public static void main(String[] args) {
Integer i = new Integer(10);
Integer j = new Integer(20);
tukar(i, j);
[Link]("i = " + i + ", j = " + j);

PEMROGRAMAN JAVA Page 23


Tuan Vikas Singh Download Coding Seekho App from Playstore

}
}

Field dan Metode Statis

Kata kunci static dalam java digunakan terutama untuk manajemen memori. Kita dapat menerapkan static java

kata kunci dengan variabel, metode, blok, dan kelas bersarang. Kata kunci statis milik kelas
daripada instance kelas.

Statis dapat menjadi:

[Link] (also known as classvariable)


[Link] (juga dikenal sebagai classmethod)

[Link]
[Link] bersarang

Variabel statis Java

Jika Anda mendeklarasikan suatu variabel sebagai statis, itu dikenal sebagai variabel statis.

o Variabel statis dapat digunakan untuk merujuk pada properti umum dari semua objek (yang tidak unik untuk
setiap objek) misalnya nama perusahaan karyawan, nama perguruan tinggi mahasiswa dll.

o Variabel statis mendapatkan memori hanya sekali di area kelas pada saat pemuatan kelas.

Keuntungan dari variabel statis

Ini membuat program Anda efisien dalam penggunaan memori (yaitu, menghemat memori).

Memahami masalah tanpa variabel statis


[Link]{
2. introllno;
3. Stringname;
4. String college="ITS";
5.}

Contoh variabel statis


//Program variabel statis
kelasSiswa8{
introllno;

PEMROGRAMAN JAVA Page 24


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

String nama;
staticString college ="ITS";
Siswa8(intr,String n){
rollno =r;
name =n;
}
voidtampilkan (){[Link](rollno+" "+name+" "+kampus);}
publik statis void main(String args[]){
Siswa8 s1 = newSiswa8(111, "Karan");
Student8 s2 = new Student8(222, "Aryan");

[Link]();
[Link]();
}}
111 KaranITS
222 AryanITS

Metode statis Java

Jika Anda menerapkan kata kunci statis pada metode apa pun, itu dikenal sebagai metode statis.

o Metode statis milik kelas daripada objek dari kelas.


o Metode statis dapat dipanggil tanpa perlu membuat instance dari suatu kelas.
o metode statis dapat mengakses anggota data statis dan dapat mengubah nilainya.

Contoh metode statis


//Program mengubah properti umum dari semua objek (bidang statis).

kelasSiswa9{
introllno
String nama;
staticString perguruanTinggi ="ITS";
statik void perubahan(){
college ="BBDIT";
}
Siswa9(intr, String n){
rollno =r;
name =n;

PEMROGRAMAN JAVA Page 25


Bapak Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

}
void tampilkan (){[Link](nomorRoll + " " + nama + " " + perguruanTinggi);}
publik statis void utama(String args[]){
[Link]();
Student9 s1 = new Student9(111, "Karan");
Student9 s2 =newStudent9 (222,"Aryan");
Student9 s3 =newStudent9 (333,"Sonoo");
[Link]();
[Link]();
[Link]();
}}
Output:111 Karan BBDIT
222 Aryan BBDIT
333 Sonoo BBDIT

Java static block

o Digunakan untuk menginisialisasi anggota data statis.

o Ini dieksekusi sebelum metode utama pada saat pemuatan kelas.

Contoh dari blok statis


kelasA2{
static{[Link]("blok statis dipanggil");}
publik statis void main(String args[]){
[Link]("Halo main");
}}
blok statis dipanggil
Halo utama

Kontrol Akses

Modifikator Akses di Java

Ada dua jenis modifier di Java: modifier akses dan modifier non-akses.

The access modifiers in java specifies accessibility (scope) of a data member, method, constructor
atau kelas.

Ada 4 jenis modifier akses java:

PEMROGRAMAN JAVA Page 26


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

pribadi
2. default
3. dilindungi
publik

modifikator akses privat


Modifikator akses privat hanya dapat diakses di dalam kelas.

Contoh sederhana dari modifier akses privat


Dalam contoh ini, kami telah membuat dua kelas A dan Simple. Kelas A berisi data pribadi.
anggota dan metode privat. Kami mengakses anggota privat ini dari luar kelas,
jadi ada kesalahan waktu kompilasi.
kelasA{
private intdata=40;
private voidmsg(){[Link]("Hello java");}}
publik kelas Sederhana{
publik statis void main(String args[]){
A obj=newA();
[Link]([Link]);//Kesalahan Waktu Kompilasi
[Link]();//Kesalahan Waktu Kompilasi
}}

2)modifikator akses default


Jika Anda tidak menggunakan modifikator apa pun, itu dianggap sebagai default. Modifikator default adalah

hanya dapat diakses dalam paket.

Contoh modifier akses default


Dalam contoh ini, kami telah membuat dua paket pack dan mypack. Kami mengakses A
kelas dari luar paketnya, karena kelas A tidak publik, sehingga tidak dapat diakses dari luar
paket tersebut.
//simpan oleh [Link]
paketpak;
kelasA{
voidmsg(){[Link]("Halo");}
}

//simpan oleh [Link]


kemasankupack
importpack.*;

PEMROGRAMAN JAVA Page 27


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

classB{
publik statis void main(String args[]){
A obj = new A();//Kesalahan Waktu Kompilasi

[Link]();//Kesalahan Waktu Kompilasi}}

Dalam contoh di atas, lingkup kelas A dan metode msg() adalah default sehingga tidak dapat dilakukan
diakses dari luar paket.

3)modifier akses yang dilindungi

Modifier akses terlindungi dapat diakses di dalam paket dan di luar paket tetapi melalui
warisan hanya.

Modifikator akses yang dilindungi dapat diterapkan pada anggota data, metode, dan konstruktor. Itu tidak bisa
dapat diterapkan pada kelas.

Contoh modifier akses terlindungi

Dalam contoh ini, kami telah membuat dua paket pack dan mypack. Kelas A dari pack
paket ini bersifat publik, sehingga dapat diakses dari luar paket. Tetapi metode msg dari paket ini
dideklarasikan sebagai dilindungi, sehingga dapat diakses dari luar kelas hanya melalui pewarisan.

//simpan oleh [Link]


paketpak;
public classA{
protected void msg(){[Link]("Halo");} }
//simpan oleh [Link]
paketmyparcel;
importpack.*;
kelasBextendsA{
publik statis void main(String args[]){
B obj = new B();
[Link]();
}}
Halo

4) public accessmodifier
Modifikator akses publik dapat diakses di mana saja. Ini memiliki cakupan terluas di antara semua yang lainnya.

pemodifikasi.

PEMROGRAMAN JAVA Page 28


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Contoh dari modifier akses publik


//simpan oleh [Link]
paket
kelas publik A{
publik void msg() {[Link]("Halo");}}
//save by [Link]
kemasanpaketku;
importpack.*;
kelasB{
publik statis void utama(String args[]){
A obj = new A();
[Link]();
}}
Halo

Memahami semua modifier akses java

Mari kita memahami modifier akses dengan tabel sederhana.

Akses dalam dalam paket di luar oleh di luar


Pemodifikasi kelas paket hanya subclass paket

Pribadi Y N N N

Prabawa Y Y N N

Dilindungi Y Y Y N

Umum Y Y Y Y

kata kunci ini dalam java

Penggunaan kata kunci java ini

Berikut adalah 6 penggunaan kata kunci ini dalam java.

1. ini dapat digunakan untuk merujuk pada variabel instance kelas saat ini.
[Link] dapat digunakan untuk memanggil metode kelas saat ini (secara implisit)
[Link]() dapat digunakan untuk memanggil konstruktor kelas saat ini.

PEMOGRAMAN JAVA Page 29


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

4. ini dapat diteruskan sebagai argumen dalam pemanggilan metode.


5. ini dapat diteruskan sebagai argumen dalam pemanggilan konstruktor.
6. ini dapat digunakan untuk mengembalikan instance kelas saat ini dari metode.

kelasMahasiswa{
introllno;
String nama;
biaya terapung;
Mahasiswa(introllno,String nama,float biaya) {
[Link]=rollno;
[Link]=name;
[Link]=fee;
}
voiddisplay(){[Link](rollno+" "+name+" "+fee);}
}
classTestThis2{
publik statis void utama(String args[]){
Siswa s1=newStudent(111,"ankit",5000f);
Mahasiswa s2=newStudent(112,"sumit",6000f);
[Link]();
[Link]();
}}

Output:
111 ankit 5000
112 sumit 6000

Perbedaan antara konstruktor dan metode di Java

Konstruktor Java Metode Java

Konstruktor digunakan untuk menginisialisasi keadaan suatu objek. Metode digunakan untuk mengekspos perilaku
dari sebuah objek.

Constructor must not have return type. Metode harus memiliki tipe kembalian.

Constructor dipanggil secara implisit. Metode dipanggil secara eksplisit.

Kompiler java menyediakan konstruktor default jika Anda Metode tidak disediakan oleh kompilator di
tidak memiliki konstruktor. kasus apa pun.

Nama konstruktor harus sama dengan nama kelas. Nama metode mungkin ada atau tidak ada

PEMROGRAMAN JAVA Page 30


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

sama seperti nama kelas.

Ada banyak perbedaan antara konstruktor dan metode. Mereka diberikan di bawah ini.

Overloading Konstruktor di Java

Overloading konstruktor adalah teknik dalam Java di mana sebuah kelas dapat memiliki berbagai jumlah
pengontruksi yang berbeda dalam daftar parameter. Kompiler membedakan pengontruksi ini dengan
mempertimbangkan jumlah parameter dalam daftar dan jenisnya.

Contoh Overloading Konstruktor


kelasSiswa5{
intid; String
name;
vintage
Student5(inti,String n){
id = i;
name = n;
}
Mahasiswa5(inti,String n,inta){
id = i;
name = n;
age=a;
}
voiddisplay(){[Link](id+" "+name+" "+age);}

publik statis void main(String args[]){


Student5 s1 =newStudent5(111,"Karan");
Mahasiswa5 s2 = mahasiswa5 baru(222, "Aryan", 25);

[Link]();
[Link]();
}
}

Output:

PEMROGRAMAN JAVA Page 31


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

111 Karan 0
222 Aryan 25

Overloading Metode di java

Jika sebuah kelas memiliki beberapa metode yang memiliki nama yang sama tetapi berbeda dalam parameter, itu dikenal sebagai

overloadingMetode

Jika kita hanya perlu melakukan satu operasi, memiliki nama metode yang sama meningkatkan
keterbacaan program.

Overloading Metode: mengubah jumlah argumen

Dalam contoh ini, kami telah membuat dua metode, metode add() pertama melakukan penjumlahan dari dua
metode angka dan kedua menambahkan melakukan penjumlahan tiga angka.

Dalam contoh ini, kami membuat metode statis sehingga kami tidak perlu membuat instance untuk memanggilnya
metode.

classAdder{
statis int tambah(int a, int b) { return a + b; }

static int tambah(int a, int b, int c) { return a + b + c; }

}
classTesOverloading1{
publik statis void main(String[] args) {
[Link]([Link](11,11));
[Link]([Link](11,11,11));
}}

Output:

22
33
Overloading Metode: mengubah tipe data argumen

Dalam contoh ini, kami telah membuat dua metode yang berbeda dalam tipe data. Metode tambah pertama
menerima dua argumen integer dan metode tambah kedua menerima dua argumen double.

PEMROGRAMAN JAVA Page 32


Bapak Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Rekursi dalam Java


Rekursi dalam java adalah proses di mana sebuah metode memanggil dirinya sendiri secara terus-menerus. Sebuah metode dalam java yang
panggilan dirinya sendiri disebut metode rekursif.

Contoh Rekursi Java 1: Bilangan Faktorial

kelas ContohRekursi3 {
statik intfaktorial(intn){
jika(n ==1)
kembali1;
lain
kembali(n * faktorial(n-1));
}}
publik statis void main(String[] args) {
[Link]("Faktorial dari 5 adalah: " + faktorial(5));
}}

Output:

Faktorial dari 5 adalah: 120

Pengumpulan Sampah Java

Dalam java, sampah berarti objek yang tidak direferensikan.

Pengumpulan Sampah adalah proses mengembalikan memori yang tidak terpakai selama runtime secara otomatis. Di sisi lain
kata-kata, itu adalah cara untuk menghancurkan objek yang tidak terpakai.

Untuk melakukannya, kami menggunakan fungsi free() dalam bahasa C dan delete() dalam C++. Tetapi, dalam java itu adalah

dilakukan secara otomatis. Jadi, java menyediakan manajemen memori yang lebih baik.

Keuntungan dari Pengumpulan Sampah


o Ini membuat memori Java efisien karena pengumpul sampah menghapus yang tidak direferensikan
objek dari memori heap.
o Ini secara otomatis dilakukan oleh pengumpul sampah (bagian dari JVM) sehingga kita tidak perlu membuat.
usaha ekstra.

metode gc()

PEMROGRAMAN JAVA Page 33


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Metode gc() digunakan untuk memanggil pengumpul sampah untuk melakukan pemrosesan pembersihan. Yang
gc() ditemukan dalam kelas System dan Runtime.

publik statis void gc(){}

Contoh Sederhana pengumpulan sampah di java


publik kelas Uji Sampah 1 {
publik void finalisasi() { [Link]("objek telah dibersihkan"); }
publik statis void utama(String args[]){
TestGarbage1 s1=newTestGarbage1();
TestGarbage1 s2=newTestGarbage1();
s1=null;
s2=null;
[Link]();
}}
objek dikumpulkan sampah
objek dikumpulkan sebagai sampah
String Java
string pada dasarnya adalah objek yang mewakili urutan nilai karakter. Sebuah array karakter berfungsi
sama seperti string java. Misalnya:

[Link][] ch={'j','a','v','a','t','p','o','i','n','t'};
2. String s=newString(ch);

sama dengan:

[Link]="javatpoint";
Kelas String Java menyediakan banyak metode untuk melakukan operasi pada string seperti
compare(), concat(), equals(), split(), length(), replace(), compareTo(), intern(), substring()
dll.
[Link] [Link] kelas
mengimplementasikan antarmuka Serializable, Comparable, dan CharSequence.

Antarmuka CharSequence

PEMROGRAMAN JAVA Page 34


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Antarmuka CharSequence digunakan untuk merepresentasikan urutan karakter. Ini diimplementasikan oleh
Kelas String, StringBuffer, dan StringBuilder. Ini berarti, kita dapat membuat string di java dengan menggunakan
tiga kelas ini.

String java itu tidak dapat diubah yaitu tidak bisa diubah. Setiap kali kita mengubah apapun
string, a new instance is created. For mutable string, you can use StringBuffer and StringBuilder
kelas.
Ada dua cara untuk membuat objek String:
[Link] stringliteral
[Link] kata kunci baru

String Literal
Literal String Java dibuat dengan menggunakan tanda kutip ganda. Sebagai Contoh:

1. String s="selamat datang";

Each time you create a string literal, the JVM checks the string constant pool first. If the string
sudah ada dalam kolam, referensi ke instance yang dipool akan dikembalikan. Jika string tidak ada dalam
kolam, sebuah instance string baru dibuat dan ditempatkan di kolam. Misalnya:

1.Strings1="Welcome";
String s2="Selamat Datang";//tidak akan membuat instan baru

Dengan kata kunci baru


1. String s=newString("Welcome");//creates two objects and one reference variable

Dalam kasus seperti itu, JVM akan membuat objek string baru di memori heap normal (bukan kolam) dan
"Selamat datang" akan ditempatkan di kolam konstanta string. Variabel s akan merujuk ke objek
di tumpukan (bukan kolam).

Contoh String Java


publik kelasStringContoh{
publik statis void utama(String args[]){
String s1="java";//membuat string menggunakan literal string java
charch[]={'s','t','r','i','n','g','s'};
String s2=newString(ch);//mengkonversi array char menjadi string
String s3=new String("contoh");//membuat string java dengan kata kunci new
[Link](s1);
[Link](s2);
[Link](s3);
}}
java

PEMROGRAMAN JAVA Page 35


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

string
contoh
String Tak Berubah di Java

Dalam java, objek string bersifat tidak dapat diubah. Tidak dapat diubah berarti tidak dapat dimodifikasi atau diubah.

Setelah objek string dibuat, data atau statusnya tidak dapat diubah tetapi objek string baru dibuat.

Mari kita coba memahami konsep ketidakberubahan dengan contoh yang diberikan di bawah ini:

kelasUjiStringTakBerubah{
publik statis void main(String args[]){
String s="Sachin";
[Link](" Tendulkar"); //metode concat() menambahkan string di akhir
[Link](s);//akan mencetak Sachin karena string adalah objek yang tidak dapat diubah
}}
Sachin
kelasTestimmutablestring1{
publik statis voidmain(String args[]){
String s="Sachin";
s=[Link](" Tendulkar");
[Link](s);
Sachin Tendulkar

PEMROGRAMAN JAVA Page 36


Mr. Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Pewarisan di Java
Pewarisan dalam java adalah mekanisme di mana satu objek memperoleh semua sifat dan perilaku
dari objek induk. Pewarisan mewakili hubungan IS-A, juga dikenal sebagai induk-
hubungan anak

Mengapa menggunakan pewarisan di java


o Untuk Penggantian Metode (sehingga polimorfisme runtime dapat dicapai).
o Untuk Penggunaan Kode yang Dapat Digunakan Kembali.

Sintaksis Warisan Java


[Link]-namaekstendsSuperkelas-nama
2. {
3.//metode dan
fields4. }

Kata kunci extends menunjukkan bahwa Anda sedang membuat kelas baru yang diturunkan dari yang sudah ada
kelas. Arti dari "extends" adalah untuk meningkatkan fungsionalitas.

kelasKaryawan{
floatsalary=40000;
}
kelasProgrammermelanjutkanKaryawan{
intbonus=10000;
publik statis void main(String args[]) {
Programmer p=newProgrammer();
[Link]("Gaji programmer adalah:"+[Link]);
[Link]("Bonus Programmer adalah:" + [Link]);
}}

Programmer salary is:40000.0

PEMROGRAMAN JAVA Page 37


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Bonus pemrogram: 10000

Jenis-jenis pewarisan dalam java

Contoh Pewarisan Tunggal


File: [Link]

kelasHewan{
voideat(){[Link]("makan...");}
}
kelasAnjingmemperpanjangHewan{
voidbark(){[Link]("menggonggong...");}
}
kelasTesPewarisan{
publik statis void main(String args[]){
Anjing d=newAnjing();
[Link]();
[Link]();
}}
Output:
gonggongan...
makan...

Contoh Pewarisan Multilevel


File: [Link]

kelasHewan{
voideat(){[Link]("makan...");}
}
kelasAnjingMemperluasHewan{
voidbark(){[Link]("menggonggong...");}
}
kelasAnakAnjingmengambilAnjing{
voidweep(){[Link]("menangis...");}
}
classTestInheritance2{

PEMROGRAMAN JAVA Page 38


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

publik statis void utama(String args[]){


BabyDog d=newBabyDog();
[Link]();
[Link]();
[Link]();
}}

Output:

menangis...
menggonggong...
makan...

Contoh Pewarisan Hierarki


File: [Link]

kelasHewan{
voideat(){[Link]("makan...");}
}
kelasAnjingMemperpanjangHewan{
voidbark(){[Link]("menggonggong...");}
}
classCatextendsAnimal{
voidmeow(){[Link]("mendengung...");}
}
classTestInheritance3{
publik statis void main(String args[]){
Kucing c=newKucing();
[Link]();
[Link]();
//[Link]();//[Link]
}}

Output:

mengaung...
makan...

PEMROGRAMAN JAVA Page 39


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Akses anggota dan Pewarisan

Sebuah subclass mencakup semua anggota dari superclass-nya tetapi tidak dapat mengakses anggota-anggota tersebut.
kelas super yang telah dideklarasikan sebagai privat. Upaya untuk mengakses variabel privat akan
menyebabkan kesalahan kompilasi karena menyebabkan pelanggaran akses. Variabel yang dideklarasikan sebagai pribadi, hanya
dapat diakses oleh anggota lain dari kelasnya sendiri. Subkelas tidak memiliki akses ke itu.

kata kunci super di java

Kata kunci super dalam Java adalah variabel referensi yang digunakan untuk merujuk ke kelas induk langsung.
objek.

Setiap kali Anda membuat instansi dari subclass, instansi dari kelas induk dibuat secara implisit.
yang dirujuk oleh variabel referensi super.

Penggunaan kata kunci super dalam java

super dapat digunakan untuk merujuk pada variabel instan kelas induk langsung.

2. super dapat digunakan untuk memanggil metode kelas langsung dari kelas induk.

3. super() dapat digunakan untuk memanggil konstruktor kelas induk langsung.

super digunakan untuk merujuk pada variabel instan kelas induk yang langsung.

kelasHewan{
Stringcolor="white";
}
kelas Anjing memperluas Hewan{
Stringcolor="black";
voidprintColor(){ [Link](color);//prints
warna Dogclass
[Link]([Link]);//mencetak warna dari kelas Animal
}
}
classTestSuper1{
publik statis void utama(String args[]){
Anjing d=newAnjing();

PEMROGRAMAN JAVA Page 40


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

[Link]();
}}

Output:

hitam
putih
Kata Kunci Final di Java

Kata kunci final dalam java digunakan untuk membatasi pengguna. Kata kunci final java dapat digunakan dalam banyak konteks.
Akhir dapat berupa:

variabel

2. metode

3. kelas

Kata kunci final dapat diterapkan pada variabel, variabel final yang tidak memiliki nilai disebut kosong
variabel final atau variabel final yang belum diinisialisasi. Ini hanya bisa diinisialisasi di dalam konstruktor. Final kosong

Variabel juga bisa bersifat statis yang akan diinisialisasi hanya dalam blok statis.

Object class in Java

Kelas Object adalah kelas induk dari semua kelas di Java secara default. Dengan kata lain, itu adalah
kelas tertinggi dari java.

Kelas Object bermanfaat jika Anda ingin merujuk pada objek apa pun yang tipenya tidak Anda ketahui. Perhatikan
variabel referensi kelas induk dapat merujuk objek kelas anak, yang dikenal sebagai upcasting.

Mari kita ambil contoh, ada metode getObject() yang mengembalikan sebuah objek tetapi dapat berupa jenis apa pun.
seperti Karyawan, Siswa, dll, kita dapat menggunakan referensi kelas Objek untuk merujuk objek tersebut. Contohnya:

1. Objek obj = getObject(); // kita tidak tahu objek apa yang akan dikembalikan dari metode ini

Kelas Objek menyediakan beberapa perilaku umum untuk semua objek seperti objek dapat menjadi
dibandingkan, objek dapat dikloning, objek dapat diberi tahu, dll.

Penggantian Metode di Java


Jika subclass (kelas anak) memiliki metode yang sama seperti yang dideklarasikan dalam kelas induk, itu dikenal sebagai
penimpaan metode di java.

PEMROGRAMAN JAVA Page 41


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Usage of Java Method Overriding


o Penggantian metode digunakan untuk memberikan implementasi spesifik dari sebuah metode yang sudah ada.
disediakan oleh superclass-nya.
o Penggantian metode digunakan untuk polimorfisme waktu jalan

Aturan untuk Menimpa Metode Java


1. metode harus memiliki nama yang sama seperti di kelas induk
[Link] harus memiliki parameter yang sama seperti di kelas induk.
3. harus merupakan hubungan IS-A (pewarisan).

Contoh pengalihan metode


KelasKendaraan{
voidrun(){[Link]("Kendaraan sedang berjalan");}
}
classBike2extendsVehicle{
voidrun(){[Link]("Sepeda sedang berjalan dengan aman");}
publik statis void main(String args[]){
Bike2 obj = newBike2();
[Link]();
}

Sepeda berfungsi dengan aman

[Link]{
intgetRateOfInterest(){return0;}
}
kelas SBI memperluas Bank {
intgetRateOfInterest(){return8;}
}
classICICIextendsBank{
intgetRateOfInterest(){return7;}
}
kelas AXIS memperpanjang Bank {
intgetRateOfInterest(){kembali9;}
}
kelasUji2{
publik statis void utama(String args[]) {
SBI s=newSBI();
ICICI i=newICICI();
AXIS a=newAXIS();
[Link]("Suku Bunga SBI: " + [Link]());
[Link]("Tingkat Bunga ICICI: " + [Link]());
[Link]("Tingkat Bunga AXIS: " + [Link]());
}}

Output:
SBI Rate of Interest: 8

JAVA PROGRAMMING Page 42


Bapak Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

ICICI Rate of Interest: 7


Tingkat Bunga AXIS: 9

Kelas abstrak di Java

Sebuah kelas yang dinyatakan dengan kata kunci abstract dikenal sebagai kelas abstrak di java. Itu dapat memiliki

metode abstrak dan non-abstrak (metode dengan isi). Ini perlu diperluas dan metodenya
diimplementasikan. Itu tidak dapat diinstansiasi.

Contoh kelas abstrak


[Link] abstrakA{}

metode_abstrak
[Link] voidprintStatus();//no body and abstract

Contoh kelas abstrak yang memiliki metode abstrak


kelas abstrak Sepeda{
abstrak void run();
}
kelasHonda4extendsBike{
voidrun(){[Link]("berjalan dengan aman..");}
publik statis kosong utama(String args[]){
Sepeda obj = newHonda4();
[Link]();
}
1. }
berlari dengan aman..
Antarmuka di Java
Antarmuka di Java adalah cetak biru dari sebuah kelas. Ini memiliki konstanta statis dan metode abstrak.

Antarmuka di java adalah mekanisme untuk mencapai abstraksi. Hanya bisa ada metode abstrak.
di antarmuka java bukan tubuh metode. Ini digunakan untuk mencapai abstraksi dan pewarisan ganda dalam
Java.

Antarmuka Java juga mewakili hubungan IS-A.

Ini tidak dapat diinstansiasi seperti kelas abstrak.

Ada tiga alasan utama untuk menggunakan antarmuka. Mereka dijelaskan di bawah ini.
o Ini digunakan untuk mencapai abstraksi.
o Dengan antarmuka, kita dapat mendukung fungsionalitas pewarisan ganda.
o Ini dapat digunakan untuk mencapai loose coupling.

PEMROGRAMAN JAVA Page 43


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Penambahan internal oleh kompilator

Memahami hubungan antara kelas dan antarmuka

//Deklarasi antarmuka: oleh pengguna pertama


antarmukaDrawable{
voiddraw();
}
//Implementasi: oleh pengguna kedua
kelas Persegi Panjang mengimplementasikan Drawable {
publik void gambar(){[Link]("menggambar persegi panjang");}
}
classLingkaran menerapkan Drawable{
publik void gambar(){[Link]("menggambar lingkaran");}
}
//Menggunakan antarmuka: oleh pengguna ketiga
classTestInterface1{
publik statis void utama(String args[]){
Drawable d=newCircle();//Dalam skenario nyata, objek disediakan oleh metode misalnya getDrawable()
[Link]();
}}
menggambar lingkaran

Pewarisan ganda di Java melalui antarmuka

antarmukaPrintable{

PEMROGRAMAN JAVA Page 44


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

voidprint();
}
interfaceShowable{
voidshow();
}
kelasA7mengimplementasikanPrintable,Showable{
publik void print(){[Link]("Halo");}
publik void tampilkan(){[Link]("Selamat datang");}
public static voidmain(String args[]){
A7 obj = new A7();
[Link]();
[Link]();
}}

Halo
Selamat datang
Kelas abstrak Antarmuka
1) Kelas abstrak dapat memiliki abstrak Antarmuka hanya dapat memiliki metode abstrak. Karena
dan metode non-abstrak. Java 8, dapat memiliki default dan static
metode juga.
Kelas abstrak tidak mendukung Antarmuka mendukung pewarisan ganda.
multipleinheritance.
3) Kelas abstrak dapat memiliki final, non- Antarmuka hanya memiliki variabel statis dan final.
variabel final, statis, dan non-statis.
Kelas abstrak dapat menyediakan Antarmuka tidak dapat memberikan implementasi dari
implementasi antarmuka. kelas abstrak.
5) Kata kunci abstract digunakan untuk Kata kunci interface digunakan untuk mendeklarasikan
deklarasikan kelas abstrak. antarmuka.
6)Contoh: Contoh:
publik abstrak kelas Bentuk{ public antarmuka Dapat Digambar{
publik abstrak kosong gambar(); kosong gambar();
} }

Kelas Dalam Java


Kelas dalam Java atau kelas bersarang adalah kelas yang dideklarasikan di dalam kelas atau antarmuka.

Kami menggunakan kelas dalam untuk mengelompokkan kelas dan antarmuka secara logis di satu tempat agar dapat lebih
dapat dibaca dan mudah dirawat.

Sintaksis Kelas Dalam


1.kelasJava_Kelas_luar{
2.//kode
3.kelasJava_Kelas_Dalam{
4.//kode
5. } }

PEMROGRAMAN JAVA Page 45


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Keuntungan dari kelas dalam Java

Pada dasarnya ada tiga keuntungan dari kelas dalam di java. Mereka adalah sebagai berikut:

1) Kelas bersarang mewakili jenis hubungan khusus yang dapat mengakses semua anggota
(anggota data dan metode) dari kelas luar termasuk yang pribadi.

Kelas bersarang digunakan untuk mengembangkan kode yang lebih mudah dibaca dan dipelihara karena itu
kelompokkan kelas dan antarmuka secara logis di satu tempat saja.

3) Optimasi Kode: Itu memerlukan lebih sedikit kode untuk ditulis.

Perbedaan antara kelas bersarang dan kelas dalam di Java

Kelas dalam adalah bagian dari kelas bersarang. Kelas bersarang non-statis dikenal sebagai kelas dalam.

Jenis-jenis kelas bersarang

Ada dua jenis kelas bersarang, yaitu kelas bersarang non-statis dan kelas bersarang statis. Kelas bersarang non-statis
classes are also known as inner classes.

o Kelas bersarang non-statis (kelas dalam)


[Link] dalam anggota
[Link] dalam anonim
[Link] dalam lokal
o Kelas bersarang statis

Paket Java
Paket Java adalah sekumpulan kelas, antarmuka, dan sub-paket yang memiliki tipe serupa.

Paket dalam java dapat dikategorikan dalam dua bentuk, paket bawaan dan paket yang ditentukan oleh pengguna.

Ada banyak paket bawaan seperti java, lang, awt, javax, swing, net, io, util, sql

[Link] dari Paket Java

1) Paket Java digunakan untuk mengkategorikan kelas dan antarmuka sehingga mudah untuk
dipelihara.

Paket Java menyediakan perlindungan akses.

Paket Java menghilangkan tabrakan penamaan.

kemaslahpackmu;
publik kelas Sederhana{
publik statis void utama(String args[]){
[Link]("Selamat datang di paket");
}}

PEMROGRAMAN JAVA Page 46


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Cara mengompilasi paket java

Jika Anda tidak menggunakan IDE, Anda perlu mengikuti sintaks yang diberikan di bawah ini:

javac -d direktori namaFileJava


Cara menjalankan program paket java

Untuk Mengompilasi: javac -d . [Link]


Untuk Menjalankan: java [Link]

Menggunakan nama lengkap yang memenuhi syarat

Contoh paket dengan nama lengkap yang diimpor

//simpan oleh [Link]


paketpak;
publik kelas A{
publik void msg() { [Link]("Halo"); }
//simpan oleh [Link]
kemasanku
kelasB{
publik statis void main(String args[]){
pack.A obj = new pack.A();//menggunakan nama lengkap
[Link]();
}
}
Halo

PEMROGRAMAN JAVA Page 47


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

KOLLEGE TEKNIK DAN TEKNOLOGI MALLA REDDY


DEPARTEMEN EEE

UNIT-3
Penanganan Pengecualian

Penanganan pengecualian di Java adalah salah satu mekanisme yang kuat untuk menangani waktu jalannya
kesalahan sehingga alur normal aplikasi dapat dipertahankan.

What is exception

Dalam Java, pengecualian adalah suatu peristiwa yang mengganggu alur normal program. Ini adalah suatu objek yang
dilempar saat runtime.

Keuntungan Penanganan Pengecualian

Keuntungan utama dari penanganan pengecualian adalah untuk mempertahankan alur normal aplikasi.
Pengecualian biasanya mengganggu alur normal aplikasi, itulah sebabnya kita menggunakan pengecualian.
pengelolaan.

Jenis-jenis Pengecualian

Ada dua jenis pengecualian utama: yang diperiksa dan yang tidak diperiksa di mana kesalahan dianggap sebagai
eksepsi yang tidak terdeteksi. Sun Microsystems mengatakan ada tiga jenis eksepsi:

CheckedException
2. UncheckedException
3. Error

Perbedaan antara pengecualian yang diperiksa dan yang tidak diperiksa

1)Checked Exception:Kelas-kelas yang memperluas kelas Throwable kecuali RuntimeException dan Error
dikenal sebagai exception yang diperiksa misalnya IOException, SQLException, dll. Exception yang diperiksa diperiksa
pada waktu kompilasi.

2) Pengecualian yang Tidak Diperiksa:Kelas-kelas yang mewarisi RuntimeException dikenal sebagai unchecked
eksepsi misalnya ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException dll.
Pengecualian yang tidak terdeteksi tidak diperiksa saat waktu kompilasi, melainkan diperiksa saat waktu berjalan.

3)Kesalahan:Kesalahan tidak dapat dipulihkan misalnya OutOfMemoryError, VirtualMachineError, AssertionError, dll.

PERPROGRAMAN JAVA Page 48


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Hierarki kelas Exception Java

Pengecualian yang Diperiksa dan yang Tidak Diperiksa

PEMROGRAMAN JAVA Page 49


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Blok coba Java

Blok try di Java digunakan untuk membungkus kode yang mungkin melempar pengecualian. Ini harus digunakan dalam
metode tersebut.

Blok try Java harus diikuti oleh blok catch atau blok finally.

Sintaksis try-catch Java

[Link]{
2.//code that may throwexception
3. }catch(Nama_Kelas_Exceptions

Sintaksis blok coba-akhir

[Link]{
2.//kode yang mungkin melempar pengecualian
3. }akhirnya{}

Blok catch Java

Blok catch Java digunakan untuk menangani Exception. Itu harus digunakan setelah blok try saja.

Anda dapat menggunakan beberapa blok catch dengan satu try.

Masalah tanpa penanganan pengecualian

Mari kita coba untuk memahami masalahnya jika kita tidak menggunakan blok try-catch.

public classTesttrycatch1{
publik statis kosong main(String args[]){
intdata=50/0;//mungkin melempar pengecualian
[Link]("sisa kode...");
}}
Output:
Pengecualian dalam utas utama [Link]:/ oleh nol

Seperti yang ditunjukkan dalam contoh di atas, sisa kode tidak dieksekusi (dalam kasus tersebut, sisa dari
kode... pernyataan tidak dicetak).

There can be 100 lines of code after exception. So all the code after exception will not be
dieksekusi.

Solusi dengan penanganan pengecualian

Mari kita lihat solusi dari masalah di atas dengan blok try-catch java.

publik kelas Testtrycatch2{

PEMROGRAMAN JAVA Page 50


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

public static voidmain(String args[]){


coba{
intdata=50/0;
}catch(ArithmeticException e){[Link](e);}
[Link]("sisa kode...");
}}
1. Output:
Pengecualian dalam utas utama [Link]: / dibagi nol
rest of the code...

Sekarang, seperti yang ditampilkan dalam contoh di atas, sisa kode dieksekusi yaitu sisa kode...
pernyataan dicetak.

Blok tangkap multi Java

Jika Anda harus melakukan tugas yang berbeda pada saat terjadinya berbagai Exception, gunakan java multi
blok catch.

Mari kita lihat contoh sederhana dari blok multi-catch java.

[Link] Publik TestMultipleCatchBlock {


[Link] static void main(String args[]) {
3. coba{
4. inta[]=new int[5];
5. a[5]=30/0;
6. }
[Link](ArithmeticException e){[Link]("tugas1 selesai");}
[Link](ArrayIndexOutOfBoundsException e){[Link]("tugas 2 selesai");
9. }
[Link](Exception e){[Link]("tugas umum selesai");
11. }
[Link]("sisa kode...");
13. } }

Tugas1 selesai
sisa dari kode...

Contoh try bertingkat di Java

Mari kita lihat contoh sederhana dari blok try bersarang dalam java.

classExcep6{
publik statis void utama(String args[]) {
coba{t
ry{
[Link]("akan membagi");
intb =39/0;
}catch(ArithmeticException e){[Link](e);}

coba{

PEMROGRAMAN JAVA Page 51


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

inta[]=new int[5];
a[5]=4;
}catch(ArrayIndexOutOfBoundsException e){[Link](e);}
[Link]("pernyataan lain);
}catch(Exception e){[Link]("ditangani");}
[Link]("aliran normal..");
}
1. }
Blok finally Java

Blok finally di Java adalah blok yang digunakan untuk menjalankan kode penting seperti menutup koneksi,
aliran dll.

Blok finally di Java selalu dieksekusi apakah pengecualian ditangani atau tidak.

Blok finally Java mengikuti blok try atau catch.

Penggunaan finally di Java

Case 1

Mari kita lihat contoh java finally di mana pengecualian tidak terjadi.

classTestFinallyBlock{
publik statis voidmain(String args[]){
cobalah{
intdata=25/5;
[Link](data);
}
catch(NullPointerException e){[Link](e);}
akhirnya{[Link]("blok akhirnya selalu dieksekusi");}
[Link]("sisa kode...");
}
}
5
blok finally selalu dieksekusi
sisa kode...

Kata kunci throw di Java

Kata kunci throw di Java digunakan untuk secara eksplisit melemparkan sebuah pengecualian.

Kita dapat melempar baik pengecualian yang terverifikasi maupun yang tidak terverifikasi di java dengan kata kunci throw. Kata throw
kata kunci terutama digunakan untuk melempar pengecualian kustom. Kami akan melihat pengecualian kustom nanti.

Sintaksis kata kunci throw dalam java diberikan di bawah ini.

[Link] pengecualian;

PEMROGRAMAN JAVA Page 52


Bapak Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Contoh kata kunci throw dalam Java

Dalam contoh ini, kami telah membuat metode validasi yang mengambil nilai integer sebagai parameter. Jika
usia kurang dari 18, kami melempar ArithmeticException jika tidak cetak pesan
selamat datang untuk memilih.

[Link] publik TestThrow1{


static void validasi(int umur) {
jika(usia<18)
lempar newArithmeticException("tidak valid");
lainnya
[Link]("selamat datang untuk memilih");
}
publik statis void main(String args[]){
validasi(13);
[Link]("sisa kode...");
}}

Output:

Pengecualian dalam benang utama [Link]: tidak valid


Kata kunci throws Java

Kata kunci throws di Java digunakan untuk mendeklarasikan sebuah pengecualian. Ini memberikan informasi kepada
programmer bahwa mungkin terjadi pengecualian jadi lebih baik bagi programmer untuk memberikan
kode penanganan pengecualian sehingga alur normal dapat dipertahankan.

Penanganan pengecualian terutama digunakan untuk menangani pengecualian yang diperiksa. Jika terjadi apa pun
eksepsi yang tidak diperiksa seperti NullPointerException, itu adalah kesalahan programmer karena dia tidak
melakukan pemeriksaan sebelum kode digunakan.

Sintaksis java throws


1.tipe_kembali nama_metode()melempar_kelas_pengecualian{
2.//metode
kode3. }
4.

Contoh melempar Java

Mari kita lihat contoh klausul throws pada java yang menggambarkan bahwa pengecualian yang diperiksa dapat
disebarkan oleh kata kunci throws.

import [Link];
classTestthrows1{
voidm()melemparIOException{
lempar IOException baru("kesalahan perangkat"); // pengecualian yang diperiksa

PEMROGRAMAN JAVA Page 53


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

}
voidn()throwsIOException{
m();
}
voidp(){
cobalah{
n();
}catch(Exception e){[Link]("pengecualian ditangani");}
}
publik statis void main(String args[]){
Testthrows1 obj=newTestthrows1();
obj.p();
[Link]("aliran normal..."); } }
Output:
pengecualian ditangani
aliran normal...

Pengecualian Kustom Java

Jika Anda sedang membuat Exception Anda sendiri yang dikenal sebagai exception kustom atau yang ditentukan pengguna
exception. Java custom exceptions are used to customize the exception according to user need.

Dengan bantuan pengecualian kustom, Anda dapat memiliki pengecualian dan pesan Anda sendiri.

Mari kita lihat contoh sederhana dari pengecualian khusus Java.

class InvalidAgeException extends Exception {


InvalidAgeException(String s){
super(s);
}}
classTestCustomException1{
static void validasi(int umur) throws PengecualianUmurTidakValid {
jika(umur<18)
lempar newInvalidAgeException("tidak valid");
lainnya
selamat datang untuk memilih
}
publik statis void main(String args[]){
coba{
validasi(13);
}catch(Exception m){[Link]("Pengecualian terjadi: " + m);}

[Link]("sisa kode...");
}}

Keluaran: Terjadi pengecualian: InvalidAgeException: tidak valid sisa dari kode...

PEMROGRAMAN JAVA Page 54


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Multithreading

Multithreading di java adalah proses menjalankan beberapa thread secara bersamaan.

Thread pada dasarnya adalah sub-proses ringan, unit terkecil dari pemrosesan. Pemrosesan paralel dan
multithreading, keduanya digunakan untuk mencapai multitasking.

Tapi kami menggunakan multithreading daripada multiprocessing karena thread berbagi area memori yang sama.
Mereka tidak mengalokasikan area memori terpisah sehingga menghemat memori, dan pengalihan konteks antara
benang membutuhkan waktu lebih sedikit dibandingkan proses.

Multithreading Java sebagian besar digunakan dalam permainan, animasi, dll.

Keunggulan Multithreading Java

Ini tidak memblokir pengguna karena thread bersifat independen dan Anda dapat melakukan beberapa
operasi pada saat yang bersamaan.

Anda dapat melakukan banyak operasi sekaligus sehingga menghemat waktu.

3) Utas bersifat mandiri sehingga tidak mempengaruhi utas lain jika terjadi pengecualian di satu utas.

Siklus hidup sebuah Thread (Status Thread)

Sebuah utas dapat berada dalam salah satu dari lima keadaan. Menurut Sun, hanya ada 4 keadaan dalam kehidupan utas.
siklus dalam javanew, runnable, non-runnable dan terminated. Tidak ada status running.

Tetapi untuk pemahaman yang lebih baik tentang utas, kami menjelaskannya dalam 5 keadaan.

Siklus hidup thread di Java dikendalikan oleh JVM. Status thread Java adalah sebagai berikut:
Baru
[Link] dijalankan

[Link]
[Link] Dapat Dijalankan(Terblokir)

[Link]

PEMROGRAMAN JAVA Page 55


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Cara membuat thread


Ada dua cara untuk membuat sebuah thread:

[Link] memperluas kelas Thread


[Link] mengimplementasikan antarmuka Runnable.

Kelas Thread:

Kelas Thread menyediakan konstruktor dan metode untuk membuat dan melakukan operasi pada sebuah
Kelas [Link] memperluas kelas Object dan mengimplementasikan antarmuka Runnable.

Konstruktor yang umum digunakan dari kelas Thread:

oThread()
oThread(String nama)
oThread(Runnable r)
oThread(Runnable r,String name)

PEMOGRAMAN JAVA Page 56


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Metode yang umum digunakan dari kelas Thread:

[Link] void run():digunakan untuk melakukan aksi untuk sebuah utas.


[Link] void mulai(): memulai eksekusi thread. JVM memanggil metode run() pada thread.
[Link] void sleep(long milisekon): Menyebabkan thread yang sedang dieksekusi untuk tidur (sementara
hentikan eksekusi) selama jumlah milidetik yang ditentukan.
[Link] void join():menunggu thread untuk mati.
[Link] void join(long milisecond): menunggu sebuah thread untuk mati selama milisecond yang ditentukan.
[Link] int getPriority():mengembalikan prioritas dari thread.
[Link] int setPriority(int priority):mengubah prioritas dari thread.
[Link] String getName():mengembalikan nama thread.
[Link] void setName(String name):mengubah nama benang.
10. publik Thread currentThread(): mengembalikan referensi dari thread yang sedang dieksekusi.
[Link] int getId():mengembalikan id dari thread.
12. public [Link] getState(): mengembalikan status thread.
[Link] boolean isAlive(): menguji apakah utas itu aktif.
[Link] void yield(): menyebabkan objek utas yang sedang dijalankan untuk sementara berhenti dan mengizinkan
benang lain untuk dieksekusi.
15. publik void suspend(): digunakan untuk menangguhkan thread (tidak lagi digunakan).
[Link] void resume():digunakan untuk melanjutkan thread yang ditangguhkan (tidak lagi digunakan).
[Link] void stop(): digunakan untuk menghentikan thread (tidak dianjurkan).
[Link] boolean isDaemon():menguji apakah thread tersebut adalah thread daemon.
[Link] void setDaemon(boolean b): menandai thread sebagai daemon atau thread pengguna.
[Link] void interrupt():menghentikan thread.
[Link] boolean isInterrupted(): menguji jika thread telah terputus.
22. publik statis boolean terinterupsi(): menguji apakah utas saat ini telah terinterupsi.

Antarmuka Runnable:

Antarmuka Runnable harus diimplementasikan oleh kelas mana pun yang instansinya dimaksudkan untuk menjadi
dieksekusi oleh sebuah utas. Antarmuka Runnable hanya memiliki satu metode bernama run().
[Link] void run(): digunakan untuk melakukan aksi untuk sebuah thread.

Memulai sebuah thread:

Metode start() dari kelas Thread digunakan untuk memulai sebuah thread yang baru dibuat. Ini melakukan hal-hal berikut
tasks:
oSebuah utas baru dimulai (dengan tumpukan panggilan baru).
oUtas bergerak dari keadaan Baru ke keadaan Dapat Dijalankan.
oKetika utas mendapatkan kesempatan untuk dieksekusi, metode run() yang ditargetkan akan dijalankan.

PROGRAMMING JAVA Page 57


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Contoh Thread Java dengan memperluas kelas Thread

classMultiex extends Thread{


publik voidrun(){
[Link]("utas sedang berjalan...");
}
publik statis void main(String args[]) {
Multi t1=newMulti();
[Link]();
}}
Output: utas sedang berjalan...

Contoh Thread Java dengan mengimplementasikan antarmuka Runnable

classMulti3implementsRunnable{
publik void jalankan(){
[Link]("thread is running...");
}
publik statis voidmain(String args[]){
Multi3 m1=newMulti3();
Thread t1 = new Thread(m1);
[Link]();
}}
Output: benang sedang berjalan...

Prioritas Sebuah Utas (Prioritas Utas):


Setiap utas memiliki prioritas. Prioritas diwakili oleh angka antara 1 dan 10. Di sebagian besar
kasus, penjadwal utas menjadwalkan utas sesuai dengan prioritas mereka (dikenal sebagai preemptive
penjadwalan). Namun itu tidak dijamin karena tergantung pada spesifikasi JVM yang mana
penjadwalan yang dipilih.

3 konstanta yang didefinisikan dalam kelas Thread:

[Link] static intMIN_PRIORITY


[Link] static int NORM_PRIORITY
[Link] static intMAX_PRIORITY

Prioritas default sebuah utas adalah 5 (NORM_PRIORITY). Nilai MIN_PRIORITY adalah 1 dan
nilai MAX_PRIORITY adalah 10.

Contoh prioritas dari sebuah Thread:


classTestMultiPriority1extends
Thread{publik void jalankan(){
[Link]("nama thread yang sedang berjalan adalah:" + [Link]().getName());
[Link]("prioritas utas yang berjalan adalah:" + [Link]().getPriority());
}
public static voidmain(String args[]){

PEMROGRAMAN JAVA Page 58


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

TestMultiPriority1 m1=newTestMultiPriority1();
TestMultiPriority1 m2=newTestMultiPriority1();
[Link](Thread.MIN_PRIORITY);
[Link](Thread.MAX_PRIORITY);
[Link]();
[Link]();
}}
Nama thread yang sedang berjalan adalah: Thread-0
prioritas utas yang sedang berjalan adalah: 10
nama utas yang berjalan adalah: Thread-1
prioritas thread yang berjalan adalah:1

Metode tersinkronisasi Java


Jika Anda mendeklarasikan metode apa pun sebagai sinkronisasi, itu dikenal sebagai metode sinkronisasi.

Metode yang disinkronkan digunakan untuk mengunci objek untuk setiap sumber daya yang dibagikan.

Ketika sebuah thread memanggil metode yang disinkronkan, itu secara otomatis memperoleh kunci untuk objek tersebut.
dan melepaskannya ketika utas menyelesaikan tugasnya.

Contoh komunikasi antar thread di Java


Mari kita lihat contoh sederhana dari komunikasi antar thread.

kelasPelanggan{
intamount=10000;
synchronized void withdraw(int amount) {
[Link]("akan menarik...");
jika([Link]<amount){
Saldo kurang; menunggu setoran...
coba{tunggu();}catch(Exception e){}
}
[Link]-=jumlah;
[Link]("penarikan selesai...");
}
synchronized void deposit(int amount) {
[Link]("akan melakukan setoran...");
[Link]+=jumlah;
[Link]("setoran selesai... ");
beritahu();
}
}
classTest{
publik statis void main(String args[]){
finalCustomer c=newCustomer();
newThread(){
publik voidrun(){[Link](15000);}
}.start();
newThread(){

PEMROGRAMAN JAVA Page 59


Bapak Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

publik void run(){[Link](10000);}


}
mulai();
}}
akan menarik diri...
Saldo kurang; menunggu deposit...
akan menyetor...
setoran selesai...
penarikan selesai
ThreadGroup di Java
Java menyediakan cara yang nyaman untuk mengelompokkan banyak thread dalam satu objek. Dengan cara ini, kita bisa
menangguhkan, melanjutkan, atau menghentikan kelompok utas dengan satu panggilan metode.

Catatan: Sekarang metode suspend(), resume() dan stop() sudah usang.

Grup utas Java diimplementasikan oleh [Link]

[Link] dari kelas ThreadGroup

Hanya ada dua konstruktor dari kelas ThreadGroup.

ThreadGroup(String nama)
ThreadGroup(ThreadGroup induk, String nama)

Mari lihat kode untuk mengelompokkan beberapa utas.

[Link] tg1 =newThreadGroup("GroupA");


[Link] t1 =newThread(tg1,newMyRunnable(),"satu");
[Link] t2 = newThread(tg1, newMyRunnable(), "dua");
[Link] t3 = newThread(tg1, newMyRunnable(), "tiga");

Sekarang semua 3 utas tergabung dalam satu grup. Di sini, tg1 adalah nama grup utas, MyRunnable adalah
kelas yang mengimplementasikan antarmuka Runnable dan "satu", "dua" dan "tiga" adalah nama-nama thread.

Sekarang kita dapat menghentikan semua utas dengan hanya satu baris kode.

1. [Link]().getThreadGroup().interrupt();

PEMROGRAMAN JAVA Page 60


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

KOLIAH TEKNIK & TEKNOLOGI MALLA REDDY


DEPARTEMEN EEE

UNIT 4

UNIT IV: Applet–Konsep Applet, perbedaan antara applet dan aplikasi,


life cycle of an applet, types of applets, creating applets, passing parameters to applets.
Penanganan Acara - Acara, Sumber Acara, Kelas Acara, Pendengar Acara, Delegasi
model acara, menangani peristiwa mouse dan keyboard, kelas Adapter.
Aliran - Aliran byte, Aliran karakter, Input/output teks.

APLETS:
Applet adalah program yang datang dari server ke klien dan dijalankan di sisi klien dan
menampilkan hasil.
Applet merupakan kode byte yang ter halaman html. (Applet = kode byte + html) dan dijalankan
dengan bantuan browser yang mendukung Java seperti Internet Explorer.
Applet adalah program Java yang berjalan di dalam browser. Berbeda dengan aplikasi Java, applet tidak memiliki
metode utama ()
Untuk membuat applet, kita dapat menggunakan kelas [Link] atau [Link]. Semua applet mewarisi
kelas super "Applet". Kelas Applet berisi beberapa metode yang membantu mengontrol
pelaksanaan sebuah applet.
Keuntungan:
 Applet memberikan sifat dinamis untuk sebuah halaman web.
 Applet digunakan dalam pengembangan permainan dan animasi.
 Menulis dan menampilkan grafik serta animasi (peramban) lebih mudah daripada
aplikasi.
 Dalam pengembangan GUI, konstruktor, ukuran bingkai, kode penutupan jendela, dll. tidak
diperlukan

Pembatasan Applet vs Aplikasi


Applet
 memerlukan kompilasi terpisah sebelum dibuka di browser.
Dalam
 lingkungan waktu nyata, bytecode dari applet akan diunduh dari server ke
mesin klien.

Applet dianggap tidak terpercaya (karena dikembangkan oleh orang yang tidak dikenal dan ditempatkan di
server yang tidak dikenal yang keandalannya tidak dijamin.
Kode  tambahan diperlukan untuk berkomunikasi antara applet menggunakan AppletContext.

PERBEDAAN ANTARA APPLET DAN APLIKASI


FITUR APLIKASI APLET
metode main() Metode main() Tersedia metode main() tidak ada

Eksekusi Dapat dijalankan secara mandiri Dulu menjalankan program di klien


sistem komputer. (JDK & JRE) Browser seperti Chrome.

Alam Dikenal sebagai mandiri Memerlukan beberapa alat pihak ketiga


aplikasi sebagai aplikasi dapat bantu seperti browser untuk menjalankan
dieksekusi dari perintah
PEMROGRAMAN AVA perintah
J Page 61
Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

JAVA PROGRAMMING Page 62


MRCET UNIT-IV JPNOTES III [Link]. I SEM

Pembatasan Dapat mengakses data atau perangkat lunak apapun Tidak


dapat mengakses apapun di
tersedia di sistem sistem kecuali browser
layanan

Keamanan Tidak memerlukan keamanan apapunRequires highest security for the


sistem karena mereka tidak tepercaya

Pemrograman program yang lebih besar program kecil

Platform independen platform independensi platform

Aksesibilitas Aplikasi java adalah Applet dirancang khusus untuk


dirancang untuk bekerja dengan menangani situs klien
klien serta server. masalah.

Bekerja Aplikasi dibuat oleh Applet dibuat oleh


menulis publik statis void memperluas [Link]
metode main(String[] s) kelas

Sisi Klien / Aplikasi tidak Applet dirancang untuk


Sisi server memiliki jenis kriteria seperti itu tujuan pemrograman situs klien

Metode Aplikasi memiliki satu permulaan Aplikasi Applet memiliki 5


poin yang merupakan metode utama metode yang akan
secara otomatis dipanggil.

Contoh
kelas publik MyClass impor [Link].*;
{ impor [Link].*;
publik statis void utama String
args[]) {} publik
} kelas Myclass melanjutkan Applet
{
public void init()
{
}
publik void mulai()
{
}
publik void berhenti()
{
}
publik void hancurkan() {}

public void paint(Graphics g) {}


}

JAVA PROGRAMMING Page 63


MRCET UNIT-IV JPNOTES III [Link]. I SEM

SIKLUS HIDUP SEBUAH APPLET


Biarkan kelas Applet memperluas kelas Applet atau JApplet.

Inisialisasi:
public void init(): Metode ini digunakan untuk menginisialisasi variabel, parameter untuk membuat
komponen. Metode ini dijalankan hanya sekali pada saat applet dimuat ke dalam memori.
publik void init()
{
//inisialisasi
}
Berlari

public void start (): Setelah metode init() dieksekusi, metode start dieksekusi
secara otomatis. Metode start dijalankan selama applet mendapatkan fokus. Di metode ini, kodenya
terkait dengan membuka file, menghubungkan ke database, mengambil data, dan memproses
data telah ditulis.
Idle / Runnable:

publik void stop (): Metode ini dijalankan ketika applet kehilangan fokus. Kode yang terkait dengan
menutup file dan database, menghentikan thread dan melakukan operasi pembersihan adalah
ditulis dalam metode berhenti ini.
Tewas/Hancur:
public void hancurkan (): Metode ini dijalankan hanya sekali ketika applet dihentikan
dari ingatan.
Melaksanakan metode di atas dalam urutan tersebut disebut siklus hidup applet.
Kita juga bisa menggunakan public void paint (Graphics g) dalam applet.

//Kerangka Applet.
impor [Link].*;
impor [Link].*;
/*
<applet code="AppletSkel" width=300 height=100>
</applet>
*/
public class AppletSkel extends Applet {
3 Dipanggil pertama.
publik void
init() {
4 inisialisasi
}

JAVA PROGRAMMING Page 64


MRCET UNIT-IV JPNOTES III [Link]. I SEM

/* Dipanggil kedua, setelah init(). Juga dipanggil setiap kali applet di-restart. */
publik void mulai() {
3 mulai atau melanjutkan eksekusi
}
4 Dipanggil ketika applet adalah
stopped. public void stop() {
5 menangguhkan pelaksanaan
}
/* Dipanggil ketika applet dihentikan. Ini adalah metode terakhir yang dijalankan. */
publik void hancurkan() {
5 lakukan aktivitas pemshutdownan
}
6 Dipanggil ketika jendela applet harus
dipulihkan. publik void catat(Graphics g) {
7 tampilkan kembali konten jendela
}
}
Setelah menulis sebuah applet, sebuah applet dikompilasi dengan cara yang sama seperti aplikasi Java tetapi menjalankannya
applet berbeda.
Ada dua cara untuk menjalankan sebuah applet.

Menjalankan applet di dalam browser web yang kompatibel dengan Java.
Menjalankan applet menggunakan „appletviewer‟. Ini menjalankan applet dalam sebuah jendela.

Untuk mengeksekusi sebuah applet menggunakan browser web, kita harus menulis file HTML kecil yang berisi
tag „APPLET‟ yang sesuai. Tag <APPLET> berguna untuk menyematkan sebuah applet ke dalam halaman HTML. Itu
memiliki bentuk berikut:
<APPLET CODE="nama file kelas applet" HEIGHT = tinggi maksimum dari applet di
pixels WIDTH = maximum width of applet in pixels ALIGN = alignment (LEFT, RIGHT,
TENGAH, ATAS, BAWAH
<PARAM NAME = nama parameter VALUE = nilainya
value> </APPLET>
Eksekusi: appletviewer [Link] atau appletviewer [Link]
Tag <PARAM> berguna untuk mendefinisikan variabel (parameter) dan nilainya di dalam halaman HTML
yang dapat diteruskan ke applet. Applet dapat mengakses nilai parameter menggunakan
metode getParameter (), sebagai: String value = getParameter("pname");
Contoh Program:
Berikut adalah sebuah applet sederhana bernama [Link]
impor [Link].*;
impor [Link].*;
publik kelas HelloWorldApplet memperluas Applet {
publik void menggambar (Grafis g) {
[Link] ("Halo Dunia", 25, 50);
}}

JAVA PROGRAMMING Page 65


MRCET UNIT-IV JPNOTES III [Link]. I SEM

Memanggil Applet- [Link]


<html>
<title>The Hello, World Applet</title>
<applet code = "[Link]" width = "320" height = "120">
</applet>
</html>

OUTPUT: javac [Link]


appletviewer [Link]
Menanamkan Applet
//[Link]
import [Link];
[Link];
/*
<applet code="[Link]" width="300" height="300">
</applet>
*/
publik kelas Pertama memperluas Applet
{
publik void paint(Graphics g){
[Link]("selamat datang di applet",150,150);
}
}
OUTPUT: javac [Link]
appletviewer [Link]

JENIS-JENIS APLIKASI
Applet terdiri dari dua jenis:
// Aplikasi Lokal
// Applet Jarak Jauh
Applet Lokal: Applet yang dikembangkan secara lokal dan disimpan dalam sistem lokal disebut applet lokal.
Jadi, sistem lokal tidak memerlukan internet. Kita dapat menulis applet kita sendiri dan menyematkannya ke dalam
halaman web.
Applet Jarak Jauh: Applet yang diunduh dari sistem komputer jarak jauh dan disematkan
applet ke dalam halaman web. Internet harus ada di sistem untuk mengunduh applet dan
jalankan itu. Untuk mengunduh applet kita harus mengetahui alamat applet di web yang dikenal sebagai Uniform
Penampil sumber (URL) dan harus ditentukan dalam dokumen HTML applet sebagai nilai dari
KODEBASIS.

JAVA PROGRAMMING Page 66


MRCET UNIT-IV JPNOTES III [Link]. I SEM

MEMBAWA PARAMETER KE SEBUAH APPLET


Applet Java memiliki fitur untuk mengambil nilai parameter yang dikirim dari halaman HTML. Jadi, Anda
Anda dapat mengirimkan parameter dari halaman HTML Anda ke applet yang dis dalam halaman Anda. Theparam
tag(<parma name="" value=""></param>) digunakan untuk mengirimkan parameter ke sebuah applet.
applet harus memanggil metode getParameter() yang disediakan oleh kelas induk [Link].

Ex1: Tulis program untuk mengirimkan nama karyawan dan nomor ID ke sebuah applet.
impor [Link].*;
impor [Link].*;
/* <applet code="[Link]" lebar = 600 tinggi= 450>
<param name = "t1" value="Hari Prasad"> <param name =
"t2" value ="101">
</applet> */

publik kelas MyApplet2 memperluas Applet


{
String n;
String id;
public void init()
{
n = getParameter("t1");
id = getParameter("t2");
}
public void paint(Graphics g)
{
rawString("Name is : "
+ n, 100,100);
Id adalah :
+ id, 100,150);
}
}
Ex2: Tulis program untuk melewatkan dua angka dan mengalihkan hasilnya ke sebuah applet.
impor [Link].*;
import [Link].*;
/*<APPLET code="Pp" width="300"
tinggi="250"> <PARAM nama="a" nilai="5">
<PARAM name="b" value="5">
</APPLET>*/
kelas publik Pp memperluas Applet
{
String str;
int a,b,hasil;
publik void init()
{
str=getParameter("a");
a=[Link](str);
str=getParameter("b");

JAVA PROGRAMMING Page 67


MRCET UNIT-IV JPNOTES III [Link]. I SEM

b=[Link](str);
result=a+b;
str=[Link](result);
}
public void paint(Graphics g)
{
[Link](" Hasil Penjumlahan adalah : " + str, 0, 15);
}
}

Ex3: [Link]
impor [Link].*;
impor [Link].*;
/*<Applet kode="hai" tinggi="250" lebar="250">
<PARAM name="Message" value="Hai friend how are you ..?"></APPLET>
*/
kelas hai diperluas Applet
{
private String defaultMessage = &quot;Hello!&quot;;
publik void paint(Graphics g) {

String inputFromPage = [Link](&quot;Message&quot;); if


(inputFromPage == null) inputFromPage = defaultMessage;
[Link](inputFromPage, 50, 55);
}
}
Output:

JAVA PROGRAMMING Page 68


MRCET UNIT-IV CATATAN JP III [Link]. I SEM

PENANGANAN ACARA
Penanganan acara adalah inti dari pemrograman applet yang sukses. Sebagian besar acara yang diterima oleh applet
akan merespons dihasilkan oleh pengguna. Peristiwa yang paling umum ditangani adalah yang dihasilkan
oleh mouse, keyboard, dan berbagai kontrol, seperti tombol tekan.
Acara didukung oleh paket [Link].

Model Acara Delegasi



Pendekatan modern untuk menangani peristiwa didasarkan pada model peristiwa delegasi, yang
merumuskan mekanisme standar dan konsisten untuk menghasilkan dan memproses peristiwa.

Konsepnya cukup sederhana: sebuah sumber menghasilkan sebuah peristiwa dan mengirimkannya ke satu atau lebih
pendengar. Dalam skema ini, pendengar hanya menunggu sampai menerima sebuah peristiwa. Setelah diterima,
pendengar memproses acara dan kemudian kembali.

Keuntungan dari desain ini adalah bahwa logika aplikasi yang memproses peristiwa adalah
dipisahkan dengan rapi dari logika antarmuka pengguna yang menghasilkan peristiwa tersebut. Antarmuka pengguna
elemen dapat "mendelegasikan" pemrosesan sebuah peristiwa kepada sepotong kode yang terpisah.

Dalam model peristiwa delegasi, pendengar harus mendaftar dengan sumber agar dapat
menerima pemberitahuan acara. Ini memberikan manfaat penting: pemberitahuan hanya dikirim jika
kepada pendengar yang ingin menerimanya.

EVENTS
Dalam model delegasi, sebuah peristiwa adalah objek yang menggambarkan perubahan keadaan pada sebuah sumber. Ini bisa jadi
dihasilkan sebagai konsekuensi dari seseorang berinteraksi dengan elemen dalam antarmuka grafis
antarmuka. Beberapa aktivitas yang menyebabkan peristiwa dihasilkan adalah menekan tombol, memasukkan
sebuah karakter melalui keyboard, memilih item dalam daftar, dan mengklik mouse.
Peristiwa juga dapat terjadi yang tidak secara langsung disebabkan oleh interaksi dengan antarmuka pengguna.
Misalnya, suatu peristiwa dapat dihasilkan ketika pengatur waktu habis, penghitung melebihi suatu nilai,
kegagalan perangkat lunak atau perangkat keras terjadi, atau suatu operasi selesai.

SUMBER ACARA
Sebuah sumber adalah objek yang menghasilkan sebuah peristiwa. Ini terjadi ketika keadaan internal objek tersebut
perubahan dengan cara tertentu. Sumber dapat menghasilkan lebih dari satu jenis peristiwa. Sumber harus mendaftar
pendengar dalam urutan agar pendengar menerima pemberitahuan tentang jenis acara tertentu. Setiap
jenis acara memiliki metode pendaftaran sendiri.
Berikut adalah bentuk umum:
public void tambahkan Pendengar Tipe( Pendengar Tipe el )

PENDENGAR ACARA
Pendengar adalah objek yang diberi tahu ketika sebuah peristiwa terjadi. Ia memiliki dua persyaratan utama. Pertama,
itu pasti telah terdaftar dengan satu atau lebih sumber untuk menerima pemberitahuan tentang khusus
jenis-jenis acara. Kedua, harus mengimplementasikan metode untuk menerima dan memproses pemberitahuan ini.
Metode yang menerima dan memproses peristiwa didefinisikan dalam satu set antarmuka yang ditemukan di
[Link].

JAVA PROGRAMMING Page 69


Sebagai contoh, antarmuka MouseMotionListener mendefinisikan dua metode untuk menerima pemberitahuan
ketika mouse diseret atau dipindahkan.

EVENT CLASSES
Kelas-kelas yang mewakili peristiwa berada di inti mekanisme penanganan peristiwa Java. Di akar
dari hierarki kelas acara Java adalah EventObject, yang terdapat di [Link]. Ini adalah superclass untuk semua
acara.
Satu konstruktor ditampilkan di sini:
EventObject(Object src )
EventObject memiliki dua metode: getSource() dan toString() .
Metode getSource( ) mengembalikan sumber dari peristiwa. Contoh: Objek getSource( )
toString( )mengembalikan nilai string yang setara dengan peristiwa tersebut.

Paket [Link] mendefinisikan beberapa jenis peristiwa yang dihasilkan oleh berbagai pengguna
elemen antarmuka.
Kelas Acara Deskripsi
AcaraAksi Generated when a button is pressed, a list item is double-clicked, or a menu
item terpilih.
AdjustmentEvent Dihasilkan saat bilah gulir dimanipulasi.
AcaraKomponen Generated when a component is hidden, moved, resized or becomes visible.
ContainerEvent Generated when a component is added to or removed from a container.
Peristiwa Fokus Generated when a component gains or loses keyboard focus.
InputEvent Kelas super abstrak untuk semua kelas peristiwa input komponen.
ItemEvent Dihasilkan ketika kotak centang atau item daftar diklik; jadi terjadi ketika ada pilihan
pemilihan dilakukan atau item menu yang dapat dicentang dipilih atau dibatalkan.
KeyEvent Dihasilkan ketika input diterima dari keyboard.
PeristiwaMouse Dihasilkan saat mouse diseret, dipindahkan, diklik, ditekan, atau dilepaskan;
also generated when the mouse enters or exits a component.
MouseWheelEvent dihasilkan ketika roda mouse digerakkan. (Ditambahkan oleh Java 2, versi 1.4)
AcaraTeks Dihasilkan ketika nilai area teks atau kolom teks diubah.
PeristiwaJendela Dihasilkan saat jendela diaktifkan, ditutup, dinonaktifkan, dideikonifikasi,
iconified, opened, or quit.

Kelas ActionEvent
Sebuah ActionEvent dihasilkan ketika sebuah tombol ditekan, sebuah item daftar diklik dua kali, atau sebuah menu
item dipilih. Kelas ActionEvent mendefinisikan empat konstanta integer yang dapat digunakan untuk
identify any modifiers associated with an action event: ALT_MASK , CTRL_MASK ,
META_MASK, dan SHIFT_MASK.
ActionEvent memiliki tiga konstruktor ini:
ActionEvent(Object src , int type , String cmd )
ActionEvent(Object src, int type, String cmd, int modifiers)
ActionEvent(Object src, int type, String cmd, long when, int modifiers)

JAVA PROGRAMMING Page 70


Kelas ComponentEvent
// ComponentEvent dihasilkan ketika ukuran, posisi, atau visibilitas dari sebuah komponen adalah
berubah. Ada empat jenis peristiwa komponen. Konstanta dan artinya adalah
ditunjukkan di sini:

COMPONENT_HIDDEN The component was hidden.


COMPONENT_MOVED The component was moved.
KOMPONEN_DIPERBESAR Komponen telah diperbesar.
COMPONENT_SHOWN The component became visible.
Kelas ContainerEvent
//ContainerEvent dihasilkan ketika suatu komponen ditambahkan ke atau dihapus dari sebuah wadah.
Ada dua jenis acara kontainer.

COMPONENT_ADDED and
Kelas KeyEvent
//KeyEvent dihasilkan ketika input dari keyboard terjadi. Ada tiga jenis peristiwa kunci,
yang diidentifikasi oleh konstanta integer ini: KEY_PRESSED, KEY_RELEASED,
dan KEY_TYPED.
Dua acara pertama terjadi ketika tombol apa pun ditekan atau dilepaskan. Acara terakhir terjadi
hanya ketika karakter dihasilkan.
Kelas MouseEvent
Ada delapan jenis peristiwa mouse. Kelas MouseEvent mendefinisikan berikut ini sebagai integer
konstanta yang dapat digunakan untuk mengidentifikasi mereka:
KLIK_TIKUS Pengguna mengklik mouse.
MOUSE_DRAGGED Pengguna menyeret mouse.
MOUSE_MASUK Mouse memasuki sebuah komponen.
MOUSE_EXITED Mouse keluar dari sebuah komponen.
MOUSE_MOVED Mouse bergerak.
MOUSE_PRESSED Tombol mouse telah ditekan.
MOUSE_DILEPAS Tikus itu dilepaskan.
MOUSE_WHEEL Roda mouse telah digerakkan (Java 2, v1.4).
The WindowEvent Class
Ada sepuluh jenis peristiwa jendela. Kelas WindowEvent mendefinisikan konstanta bilangan bulat yang
dapat digunakan untuk mengidentifikasi mereka. Konstanta dan artinya ditunjukkan di sini:

WINDOW_ACTIVATED Jendela telah diaktifkan.


WINDOW_CLOSED Jendela telah ditutup.
WINDOW_CLOSING Pengguna meminta agar jendela ditutup.
WINDOW_DEACTIVATED Jendela dinonaktifkan.
JENDELA_DEIKONIFIKASI Jendela telah dibuka kembali.
WINDOW_GAINED_FOCUS Jendela mendapatkan fokus input.
IKON_WINDOW Jendela tersebut diikonkan.
JENDELA_HILANG_FOKUS Jendela kehilangan fokus input.
WINDOW_OPENED Jendela dibuka.
STATUS_JENDELA_BERUBAH Keadaan jendela berubah.

JAVA PROGRAMMING Page 71


Ketika sebuah peristiwa terjadi, sumber peristiwa memanggil metode yang sesuai yang didefinisikan oleh pendengar
dan menyediakan objek acara sebagai argumennya
Antarmuka Description
ActionListener Mendefinisikan satu metode untuk menerima peristiwa tindakan.
Mendefinisikan satu metode untuk menerima peristiwa penyesuaian.
PemberitahuanPenyesuaian
PendengarKomponen Definesfour methodsto recognize when a component is hidden,
dipindahkan, diubah ukuran, atau ditampilkan.

PendengarWadah Tentukan dua metode untuk mengenali ketika sebuah komponen ditambahkan atau
dikeluarkan dari wadah.
FocusListener Definisikan dua metode untuk mengenali kapan sebuah komponen mengalami kenaikan atau penurunan
fokus keyboard.
PendengarItem Mendefinisikan satu metode untuk mengenali ketika keadaan suatu item berubah.
PendengarKunci Tentukan tiga metode untuk mengenali ketika sebuah kunci ditekan, dilepaskan,
atau ketik.
MouseListener Definesfive methodsto recognize when the mouse is clicked, enters a
komponen, keluar dari komponen, ditekan, atau dilepaskan.
Pendengar Gerakan Mouse
Tentukan dua metode untuk mengenali kapan mouse diseret atau
pindah.
Pendengar roda mouse Mendefinisikan satu metode untuk mengenali ketika roda mouse digerakkan.
PendengarTeks Menentukan satu metode untuk mengenali ketika nilai teks berubah.
PendengarJendela Mendefinisikan tujuh metode untuk mengenali ketika sebuah jendela diaktifkan,
ditutup, dinonaktifkan, dideikonifikasi, diikonifikasi, dibuka, atau keluar.
Model acara delegasi memiliki dua bagian: sumber dan pendengar. Pendengar dibuat oleh
mengimplementasikan satu atau beberapa antarmuka yang ditentukan oleh paket [Link].

Antarmuka ActionListener
Antarmuka ini mendefinisikan metode actionPerformed( ) yang dipanggil saat terjadi peristiwa aksi
terjadi.
Bentuk umumnya ditunjukkan di sini: void actionPerformed(ActionEvent ae)
Antarmuka ItemListener
Antarmuka ini mendefinisikan metode itemStateChanged( ) yang dipanggil ketika status suatu item
perubahan.
Bentuk umumnya ditunjukkan di sini: void itemStateChanged(ItemEvent ie)
Antarmuka KeyListener
Antarmuka ini mendefinisikan tiga metode. Metode keyPressed( ) dan keyReleased( ) dipanggil
ketika sebuah tombol ditekan dan dilepaskan, masing-masing. Metode keyTyped( ) dipanggil
ketika sebuah karakter telah dimasukkan. Misalnya, jika pengguna menekan dan melepaskankey, three
peristiwa dihasilkan dalam sebuah urutan: tombol ditekan, diketik, dan dilepaskan.

Bentuk umum dari metode ini ditunjukkan di sini:


void keyPressed(KeyEvent ke )
void keyReleased(KeyEvent ke )
void keyTyped(KeyEvent ke)

JAVA PROGRAMMING Page 72


Antarmuka MouseListener
Antarmuka ini mendefinisikan lima metode. Jika mouse ditekan dan dilepaskan di titik yang sama,
mouseClicked( ) dipanggil. Ketika mouse memasuki sebuah komponen, metode mouseEntered( )
disebut. Ketika keluar, mouseExited( ) dipanggil. mousePressed( ) dan mouseReleased( )
metode dipanggil saat mouse ditekan dan dilepaskan, masing-masing.
Bentuk umum dari metode-metode ini ditunjukkan di sini:
void mouseClicked(MouseEvent me)
void mouseEntered(MouseEvent me )
void mouseExited(MouseEvent me)
void mousePressed(MouseEvent me )
void mouseReleased(MouseEvent me )

Antarmuka MouseMotionListener
Antarmuka ini mendefinisikan dua metode. Metode mouseDragged() dipanggil beberapa kali saat ...
mouse is dragged. The mouseMoved( ) method is called multiple times as the mouse is moved.

Bentuk umum mereka ditunjukkan di sini:


void mouseDragged(MouseEvent me)
void mouseMoved(MouseEvent me )
Antarmuka TextListener
This interface defines the textChanged( ) method that is invoked when a change occurs in a text
area atau bidang teks.
Bentuk umumnya ditunjukkan di sini: void textChanged(TextEvent te)

Menangani Peristiwa Mouse


Untuk menangani peristiwa mouse, kita harus mengimplementasikan MouseListener dan MouseMotion Listener
antarmuka.
EX:// Demonstrasikan pengendali peristiwa mouse.
impor [Link].*;
import [Link].*;
impor [Link].*;
/*
<applet code="MouseEvents" width=300 height=100>
</applet>
*/
public class MouseEvents extends Applet implements MouseListener, MouseMotionListener
{ String msg = "";
int mouseX = 0, mouseY = 0; // koordinat mouse
publik void init() {
tambahkanMouseListener(this);
tambahkanMouseMotionListener(this);
}

JAVA PROGRAMMING Page 73


// Tangani klik mouse.
public void mouseClicked(MouseEvent me) {
mouseX = 0; // simpan koordinat
mouseY = 10;
msg = "Mouse clicked.";
cat ulang();
}
// Menangani mouse masuk.
public void mouseEntered(MouseEvent me) {
// simpan
koordinat
mouseX = 0;
mouseY = 10;
msg = "Mouse entered.";
cat ulang();
}

// Tangani mouse keluar.


public void mouseExited(MouseEvent me) {
// simpan
koordinat
s mouseX
= 0;
mouseY =
10
msg = "Mouse exited.";
cat ulang();
}
// Tangani tombol yang ditekan.
public void mousePressed(MouseEvent me) {
// simpan koordinat
mouseX =
[Link]();
mouseY =
[Link](); msg =
Turun; cat ulang();
}
// Tangani tombol dilepaskan.
public void mouseReleased(MouseEvent me) {
[Link]
koordinat
mouseX =
[Link]();
mouseY =
[Link](); pesan
Atas
cat ulang();
}

JAVA PROGRAMMING Page 74


[Link] mouse yang diseret.
publik void mouseDragged(MouseEvent me) {
simpan koordinat
mouseX =
[Link]();

JAVA PROGRAMMING Page 75


MRCET UNIT-IV JPNOTES III [Link]. I SEM

mouseY = [Link]();
msg = "*";
tampilkanStatus("Menyeret mouse di " + mouseX + ", " + mouseY);
cat ulang();
}
// Mengatasi pergerakan mouse.
publik void mouseMoved(MouseEvent me) {
// tampilkan status
tampilkanStatus("Memindahkan mouse di " + [Link]() + ", " + [Link]());
}
// Tampilkan pesan di jendela applet pada lokasi X,Y saat ini.
publik void paint(Grafik g) {
[Link](msg, mouseX, mouseY);
}
}
Menangani Peristiwa Keyboard
Ketika sebuah tombol ditekan, sebuah peristiwa KEY_PRESSED dihasilkan. Ini menyebabkan panggilan ke
penangan acara keyPressed( ). Ketika tombol dilepaskan, sebuah acara KEY_RELEASED dihasilkan
dan handler keyReleased() dijalankan. Jika karakter dihasilkan oleh penekanan tombol, maka sebuah
KEY_TYPEDevent dikirim dan pengolah keyTyped() dipanggil.
Dengan demikian, setiap kali pengguna menekan sebuah tombol, setidaknya dua dan sering tiga peristiwa dihasilkan.
Anda peduli tentang karakter sebenarnya, maka Anda bisa mengabaikan informasi yang dikirimkan oleh penekanan tombol
dan acara peluncuran.
EX:// Menunjukkan penangan acara kunci.
impor [Link].*;
impor [Link].*;
impor [Link].*;
/* <applet code="SimpleKey" width=300
tinggi=100> </applet> */
kelas publik SimpleKey memperluas Applet mengimplementasikan KeyListener
{
String msg = "";
int X = 10, Y = 20; // output koordinat
publik void init() {
tambahkanKeyListener(ini);
requestFocus(); // meminta fokus input
}
publik void keyPressed(KeyEvent ke)
{ showStatus("Key Down"); }

public void keyReleased(KeyEvent ke) {


tampilkanStatus("Tombol Naik");

JAVA PROGRAMMING Page 76


MRCET UNIT-IV JPNOTES III [Link]. I SEM

publik void keyTyped(KeyEvent ke) {


msg += [Link]();
cat ulang();
}
// Tampilkan penekanan tombol.
public void paint(Graphics g)
{ [Link](msg, X, Y); }

}
Kelas Adaptor
Java menawarkan fitur khusus, yang disebut kelas adapter, yang dapat menyederhanakan pembuatan acara.
kelas adaptor memberikan implementasi kosong dari semua metode
dalam antarmuka pendengar acara.
Kelas adaptor berguna ketika Anda ingin menerima dan memproses hanya beberapa peristiwa yang
ditangani oleh antarmuka pendengar acara tertentu.
Misalnya, kelas MouseMotionAdapter memiliki dua metode, mouseDragged() dan
mouseMoved( ). Tanda tangan dari metode kosong ini persis seperti yang didefinisikan dalam
Antarmuka MouseMotionListener. Jika Anda hanya tertarik pada peristiwa seret mouse, maka Anda
dapat dengan mudah memperpanjang MouseMotionAdapter dan mengimplementasikan mouseDragged( ). Yang kosong
implementasi mouseMoved( ) akan menangani peristiwa gerakan mouse untuk Anda.
Kelas Adaptor Antarmuka Pendengar
KomponenAdapter PendengarKomponen
PengadaptasiKontainer PendengarKontainer
FocusAdapter Listener Fokus
KeyAdapter Pendeteksi Kunci
MouseAdapter MouseListener
MouseMotionAdapter PendengarGerakanMouse
WindowAdapter WindowListener
Contohkan sebuah adaptor.
import [Link].*;
impor [Link].*;
import [Link].*;
/*
<applet code="AdapterDemo" width=300 height=100>
</applet>
*/
kelas publik AdapterDemo memperluas Applet
{
public void init() {
tambahkanMouseListener(new MyMouseAdapter(this));
addMouseMotionListener(new
MyMouseMotionAdapter(this)); }
}

JAVA PROGRAMMING Page 77


MRCET UNIT-IV JPNOTES III [Link]. I SEM

kelas MyMouseAdapter memperluas MouseAdapter


{
AdapterDemo adapterDemo;
publik MyMouseAdapter(AdapterDemo adapterDemo)
{
[Link] = adapterDemo;
}
// Tangani klik mouse.
public void mouseClicked(MouseEvent me) {
[Link]("Mouse diklik");
}
}

kelas MyMouseMotionAdapter memperluas


PenggeserMouse {
AdapterDemo adapterDemo;
publik MyMouseMotionAdapter(AdapterDemo adapterDemo)
{
[Link] = adapterDemo;
}
// Tangani mouse yang diseret.
public void mouseDragged(MouseEvent me)
{
[Link]("Mouse dragged");
}
}

File dan Aliran:


Kelas aliran teks untuk membaca data Kelas aliran teks untuk menulis data

JAVA PROGRAMMING Page 78


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Aliran
Sebuah stream dapat didefinisikan sebagai rangkaian data. Ada dua jenis Stream−
 InPutStream−InputStream digunakan untuk membaca data dari sumber.
 OutputStream−OutputStream digunakan untuk menulis data ke suatu tujuan.

Java menyediakan dukungan yang kuat tetapi fleksibel untuk I/O yang terkait dengan file dan jaringan.

Aliran Byte
Aliran byte Java digunakan untuk melakukan input dan output byte 8-bit. Meskipun ada banyak
kelas-kelas yang terkait dengan aliran byte tetapi kelas yang paling sering digunakan adalah, FileInputStream dan
FileOutputStream.
Contoh
import [Link].*;
public class SalinFile {
public static void main(String args[]) throws IOException {
FileInputStream in = null;
FileOutputStream keluar = null;
coba {
in = new FileInputStream("[Link]");
out = new FileOutputStream("[Link]");
int c;
sementara ((c = [Link]()) != -1) {
[Link](c);
}
}akhirnya {
jika (in != null) {
[Link]();
}
jika (out != null) {
[Link]();
} } } }
Sekarang mari kita memiliki file [Link] dengan konten berikut:
Ini adalah tes untuk menyalin file.

$javac [Link]
$java SalinFile
Aliran Karakter
JavaBytestreams digunakan untuk melakukan input dan output byte 8-bit, sedangkan
Aliran karakter Java digunakan untuk melakukan input dan output untuk unicode 16-bit. Meskipun
ada banyak kelas yang terkait dengan aliran karakter tetapi kelas yang paling sering digunakan
adalah, FileReader dan FileWriter.

JAVA PROGRAMMING Page 79


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Meskipun secara internal FileReader menggunakan FileInputStream dan FileWriter menggunakan FileOutputStream tetapi
di sini perbedaan utamanya adalah FileReader membaca dua byte sekaligus dan FileWriter menulis dua
byte per kali.
Contoh
impor [Link].*;
public class CopyFile {
publik statis void utama(String args[]) melempar IOException {
FileReader in = null;
FileWriter keluar = null;
coba {
in = new FileReader("[Link]");
out = new FileWriter("[Link]");
int c;
sementara ((c = [Link]()) != -1) {
[Link](c);
}
}akhirnya {
jika (in != null) {
[Link]();
}
jika (out != null) {
[Link]();
}
}
}
}

Membaca dan Menulis Berkas Input/Output teks


As described earlier, a stream can be defined as a sequence of data. TheInputStreamis used to
baca data dari sumber dan OutputStream digunakan untuk menulis data ke tujuan. Berikut adalah
sebuah hierarki kelas untuk mengatasi aliran Input dan Output.

JAVA PROGRAMMING Page 80


Tuan Vikas Singh Unduh Aplikasi Coding Seekho dari Playstore

Dua aliran penting adalah FileInputStream dan FileOutputStream (Penanganan Berkas)


Dalam Java, kelas FileInputStream dan FileOutputStream digunakan untuk membaca dan menulis data dalam file.
dengan kata lain, mereka digunakan untuk penanganan file di java.

Kelas FileOutputStream Java


Java FileOutputStream adalah aliran keluaran untuk menulis data ke sebuah file. Ini adalah kelas yang termasuk dalam byte
aliran. Ini dapat digunakan untuk membuat file teks.

Pertama kita harus membaca data dari kata kunci. Ini menggunakan kelas DataInputStream untuk membaca data dari
keyboard adalah:
DataInputStream dis=new DataInputStream([Link]);

FileOutputStream digunakan untuk mengirim data ke file dan melampirkan file ke FileOutputStream.
FileOutputStream fout=newFileOutputStream(“Nama_File”);

Langkah selanjutnya adalah membaca data dari DataInputStream dan menuliskannya ke dalam FileOutputStream. Ini berarti membaca data
dari objek dis dan tulis ke dalam objek fout. yaitu,
ch=(char)[Link](); //baca satu karakter ke dalam ch
[Link](ch);//tulis ch ke dalam file.

Akhirnya menutup file menggunakan: [Link]();
Membuat file Teks:

Contoh: Tulis program untuk membaca data dari keyboard dan menuliskannya ke file [Link].
impor [Link].*;
kelas Test{
publik statis void main(String args[])
{
DataInputStream dis=new DataInputStream([Link]);
FileOutputstream fout=new
FileOutputStream("[Link]"); [Link]("Masukkan ")
text @ di akhir:"); char ch;
sementara((ch=(char)[Link]())!='@')
[Link](ch);
[Link]();
}
}
Output:javac [Link]
Uji Java

JAVA PROGRAMMING Page 81


Kelas FileInputStream Java
Adalah berguna untuk membaca data dari file dalam bentuk urutan byte. Sangat mungkin untuk membaca data
dari file teks menggunakan FileInputStream. yaitu,
FileInputStream fin = new FileInputStream("[Link]");

Untuk membaca data dari
file tersebut adalah,ch=[Link]();

Ketika tidak ada lagi data yang tersedia untuk dibaca, maka akan mengembalikan -1.

Aliran Keluaran digunakan untuk mengirim data ke monitor. yaitu, PrintStream, untuk menampilkan data.
[Link].

[Link](ch);
Membaca data dari file teks menggunakan FileInputStream:

Kelas FileInputStream Java mengambil byte masukan dari sebuah file. Ini digunakan untuk membaca aliran data mentah.
byte seperti data gambar. Ini harus digunakan untuk membaca data yang berorientasi byte misalnya untuk membaca gambar,
audio, video, dll.

Contoh: Tulis program untuk membaca data dari [Link] menggunakan FileInputStream dan menampilkan
itu di monitor.
impor [Link].*;
kelas BacaFile
{
public static void main(String args[])
{

FileInputStream fin=new FileInputStream("[Link]");


[Link]("Isi File:"); int ch;
sementara((ch=[Link]())!=-1)
{
[Link]((char)ch);
}
[Link]();
}
}
Output:javac [Link]
java BacaFile

JAVA PROGRAMMING Page 82


UNIT V: Pemrograman GUI dengan Java–hierarki kelas AWT, komponen, kontainer,
panel, window, frame, graphics.
Kontrol AWT: Label, tombol, kolom teks, kotak centang, grup kotak centang, pilihan, daftar
gulungan, dan grafik.
Manajer Tata Letak–Jenis manajer tata letak: batas, grid, dan aliran.
Swing–Pengantar, keterbatasan AWT, Swing vs AWT.

PEMINDAHAN GUI DENGAN JAVA


ALAT JENDELA ABSTRAK (AWT)
Java AWT (Abstract Window Toolkit) adalah API untuk mengembangkan aplikasi GUI atau aplikasi berbasis jendela
dalam java. Komponen Java AWT tergantung pada platform yaitu komponen ditampilkan
menurut pandangan sistem operasi. AWT adalah berat, yaitu komponen-komponennya menggunakan
sumber daya sistem. Toolkit Jendela Abstrak (AWT) dukungan untuk applet. AWT
terdapat banyak kelas dan metode yang memungkinkan Anda untuk membuat dan mengelola jendela.
Paket [Link] menyediakan kelas-kelas untuk API AWT seperti TextField, Label, TextArea,
RadioButton, CheckBox, Pilihan, Daftar dll.
Kelas AWT
Kelas AWT terletak dalam paket [Link]. Itu adalah salah satu paket terbesar di Java.
Kelas Description
AWTEvent Mengenkapsulasi peristiwa AWT.
AWTEventMulticaster Mengirimkan acara ke beberapa pendengar.
BorderLayout Tata letak perbatasan menggunakan lima komponen:
Utara, Selatan, Timur, Barat, dan Pusat.
Tata Letak Kartu Tata letak kartu meniru kartu indeks.
Hanya yang di atas yang ditampilkan.
Kotak centang Membuat kontrol kotak centang.
CheckboxGroup Membuat sekelompok kontrol kotak centang.
ItemMenuCheckbox Membuat item menu hidup/mati.
Pilihan Membuat daftar pop-up.
Warna Mengelola warna dengan cara yang portabel dan tidak tergantung pada platform.
Komponen Sebuah superkelas abstrak untuk berbagai komponen AWT.
Wadah Sebuah subclass dari Komponen yang dapat menampung komponen lainnya.
Kursor Menyediakan pembungkus untuk kursor bitmap.
Dialog Membuat jendela dialog.
Dimension Menentukan dimensi sebuah objek. Lebar disimpan dalam
lebar, dan tinggi disimpan di tinggi.
Acara Mengenkapsulasi peristiwa.
Tata Letak Aliran Manajer tata letak aliran. Tata letak aliran memposisikan komponen ke kiri
ke kanan, dari atas ke bawah.
Kisi Membuat jendela standar yang memiliki bilah judul, sudut ukur ulang, dan
sebuah bilah menu.
Graphics Mengenkapsulasi konteks grafik.

JAVA PROGRAMMING Page 83


Dasar-dasar Kontrol
AWT mendukung jenis kontrol berikut:
[Link]
[Link] tekan
5. Kotak centang
[Link] pilihan
[Link]
[Link] gulir
[Link] teks

Interaksi pengguna dengan program ini terdiri dari dua jenis:


CUI (Antarmuka Pengguna Karakter): Dalam CUI, pengguna berinteraksi dengan aplikasi dengan
mengetik karakter atau perintah. Dalam CUI, pengguna harus mengingat perintah. Itu adalah
tidak ramah pengguna.
[Link] (Antarmuka Pengguna Grafis): Dalam GUI, pengguna berinteraksi dengan aplikasi melalui grafik.
Antarmuka grafis pengguna (GUI) ramah pengguna. GUI membuat aplikasi menarik. Adalah mungkin untuk mensimulasikan objek nyata di
Program GUI. Dalam java untuk menulis program GUI kita dapat menggunakan awt (Abstract Window Toolkit)
paket.

Hierarki Kelas Java AWT


Hierarki kelas Java AWT diberikan di bawah ini.

Kontainer
Container adalah komponen dalam AWT yang dapat mengandung komponen lain seperti tombol, bidang teks,
label dll. Kelas yang memperluas kelas Container dikenal sebagai kontainer seperti Frame, Dialog
dan Panel.

JAVA PROGRAMMING Page 84


Jendela
Jendela adalah wadah yang tidak memiliki batas dan bilah menu. Anda harus menggunakan bingkai, dialog atau
jendela lain untuk membuat jendela.
Panel
Panel adalah wadah yang tidak memiliki bilah judul dan bilah menu. Ini dapat memiliki yang lain
komponen seperti tombol, bidang teks, dll.
Bingkai
Frame adalah wadah yang berisi bilah judul dan dapat memiliki bilah menu. Ini bisa memiliki yang lain
components like button, textfield etc.
Metode Berguna dari kelas Komponen
Metode Deskripsi
public void add(Component c) menyisipkan sebuah komponen pada komponen ini.

public void setSize(int width,int height) mengatur ukuran (lebar dan tinggi) dari komponen.
public void setLayout(LayoutManager m) mendefinisikan manajer tata letak untuk komponen.
public void setVisible(boolean status) mengubah visibilitas komponen, dengan
default salah.

Pendengar dan Metode Pendengar:


Pendengar tersedia untuk komponen. Pendengar adalah antarmuka yang mendengarkan acara dari sebuah
komponen. Pendengar tersedia di paket [Link]. Metode dalam pendengar
antarmuka harus diimplementasikan, saat menggunakan pendengar itu.

Manajer Tata Letak

JAVA PROGRAMMING Page 85


Manajer tata letak mengatur komponen anak dari sebuah kontainer. Ia memposisikan dan menentukan ukuran dari
komponen di dalam area tampilan kontainer sesuai dengan skema tata letak tertentu.
Tugas pengelola tata letak adalah untuk menyesuaikan komponen ke dalam area yang tersedia, sambil mempertahankan
hubungan spasial yang tepat antara komponen. AWT dilengkapi dengan beberapa tata letak standar
managers that will collectively handle most situations; you can make your own layout managers
jika Anda memiliki persyaratan khusus.
LayoutManager di tempat kerja

Setiap kontainer memiliki manajer tata letak default; oleh karena itu, ketika Anda membuat kontainer baru, itu
dilengkapi dengan objek LayoutManager dari tipe yang sesuai. Anda dapat memasang tata letak baru
manajer kapan saja dengan metode setLayout(). Di bawah ini, kami mengatur manajer tata letak dari sebuah
wadah ke BorderLayout:
setLayout ( new BorderLayout( ) );
Setiap komponen menentukan tiga informasi penting yang digunakan oleh pengelola tata letak
dalam penempatan dan ukurannya: ukuran minimum, ukuran maksimum, dan ukuran yang disukai.

Ini dilaporkan oleh getMinimumSize(), getMaximumSize(), dan getPreferredSize(),


metode Komponen, masing-masing.
Ketika pengelola tata letak dipanggil untuk mengatur komponennya, ia bekerja dalam area tetap. Itu
biasanya dimulai dengan melihat dimensi wadahnya, dan ukuran yang diinginkan atau minimum dari
komponen anak.
Jenis pengelola tata letak
Tata Letak Alur
FlowLayout adalah pengelola tata letak yang sederhana yang mencoba mengatur komponen sesuai dengan preferensi mereka.
ukuran, dari kiri ke kanan dan dari atas ke bawah di tampilan. ATata Letak Alirandapat memiliki yang ditentukan
justifikasi dariKIRI, PUSAT, atau KANAN, dan padding horizontal dan vertikal yang tetap.
Secara default, tata letak aliran menggunakanPUSATpenyelarasan, yang berarti bahwa semua komponen berada di tengah
di dalam area yang dialokasikan kepada [Link] yang default untukPanelkomponen sepertiApplet.

JAVA PROGRAMMING Page 86


Applet berikut menambahkan lima tombol ke defaultFlowLayout.
impor [Link].*;
/*
<applet code="Flow" width="500" height="500">
</applet>
*/
publik kelas Aliran memperluas [Link]
{
publik void init()
{
//Default untuk Applet adalah FlowLayout
tambah( baru Tombol("Satu") );
tambah( new Button("Dua") );
tambah( baru Tombol("Tiga") );
tambah( new Tombol("Empat") );
tambah( new Tombol("Lima") );
}
}
Jika applet cukup kecil, beberapa tombol akan meluap ke baris kedua atau ketiga.
Tata Letak Grid
GridLayout mengatur komponen menjadi baris dan kolom yang teratur. Komponen
ukuran diubah secara sewenang-wenang untuk cocok di area yang dihasilkan; ukuran minimum dan ukuran yang diinginkan mereka adalah
akibatnya diabaikan.
GridLayout sangat berguna untuk mengatur objek yang sangat teratur dan memiliki ukuran yang sama.
mengalokasikan ruang untuk Panel untuk menampung tata letak lain di setiap wilayah kontainer.

GridLayout mengambil jumlah baris dan kolom dalam konstruktornya. Jika Anda selanjutnya
memberikan terlalu banyak objek untuk dikelola, itu menambahkan kolom ekstra untuk membuat objek cocok. Anda juga bisa
atur jumlah baris atau kolom menjadi nol, yang berarti bahwa Anda tidak peduli berapa banyak elemen
manajer tata letak mengemas dalam dimensi itu.
Misalnya, GridLayout(2,0) meminta tata letak dengan dua baris dan jumlah yang tidak terbatas
kolom; jika Anda menempatkan sepuluh komponen ke dalam tata letak ini, Anda akan mendapatkan dua baris masing-masing lima kolom.
Applet berikut mengatur aGridLayout dengan tiga baris dan dua kolom sebagai tata letaknya
manajer
impor [Link].*;
/*
<applet code="Grid" width="500"
height="500"> </applet>
*/
publik kelas Grid diperluas [Link]
{
publik void init()
{
setLayout( new GridLayout( 3, 2 ));

JAVA PROGRAMMING Page 87


tambahkan( tombol baru("Satu") );
tambah( new Button("Dua") );
tambah( new Button("Tiga") );
tambah( new Button("Empat") );
tambah( baru Tombol("Lima") );
}
}

Lima tombol ditempatkan, berurutan, dari kiri ke kanan, atas ke bawah, dengan satu tempat kosong.
Tata Letak Perbatasan

BorderLayoutsedikit lebih menarik. Ini mencoba mengatur objek dalam salah satu dari lima geografis
locations: "North," "South," "East," "West," and "Center," possibly with some padding between.
BorderLayoutapakah tata letak default untukJendeladanKuda-kuda objek. Karena masing-masing
komponen terkait dengan arah,BorderLayoutdapat mengelola paling banyak lima komponen; itu
memampatkan atau meregangkan komponen-komponen tersebut untuk sesuai dengan batasannya.

Ketika kita menambahkan komponen ke dalam tata letak border, kita perlu menentukan baik komponen maupun
posisi di mana untuk menambahkannya. Untuk melakukannya, kami menggunakan versi yang overloaded daritambah()metode yang
mengambil argumen tambahan sebagai batasan.
Applet berikut menetapkan sebuahBorderLayouttata letak dan menambahkan lima tombol kami lagi, dinamai untuk mereka
locations;

import [Link].*;
/*
<applet code="Border" width="500" height="500">
</applet>
*/
kelas publik Border memperluas [Link]
{
publik void init()
{
setLayout( new [Link]() );
tambahkan( tombol baru("Utara"), "Utara" ); tambahkan(
Tombol baru("Timur"), "Timur" );
tambahkan( new Button("Selatan"), "Selatan" );
tambahkan( tombol baru("Barat"), "Barat" );
tambah( new Tombol("Tengah"), "Tengah" );
}
}

Kompilasi: javac [Link]


Lari appletviewer [Link]

JAVA PROGRAMMING Page 88


Contoh Java AWT
Untuk membuat contoh AWT yang sederhana, Anda memerlukan sebuah frame. Ada dua cara untuk membuat frame di AWT.
// Dengan memperluas kelas Frame (pewarisan)
[Link] membuat objek dari kelas Frame (asosiasi)

Contoh sederhana AWT dengan pewarisan


import [Link].*;
kelasPertamaMemperluasKerangka{
Pertama(){
Tombol b=newButton("klik saya");
[Link](30,100,80,30);// mengatur posisi tombol
tambahkan(b);//menambahkan tombol ke dalam bingkai

setSize(300,300);//ukuran frame 300 lebar dan 300


height setLayout(null);//no layout manager
setVisible(true);//sekarang frame akan terlihat }

public static voidmain(String args[]){


Pertama f=newFirst();
}
}
Contoh sederhana AWT dengan asosiasi
impor [Link].*;
classFirst2{
First2(){
Frame f=newFrame();
Tombol b=newButton("klik saya");
[Link](30,50,80,30);
[Link](b);
[Link](300,300);
[Link](null);
[Link](true);
}
publik statis void main(String args[]) {
First2 f=newFirst2();
}
}

JAVA PROGRAMMING Page 89


Kontrol AWT
Labels:
Kontrol yang paling mudah digunakan adalah label. Sebuah label adalah objek tipe Label, dan itu berisi sebuah string.
yang ditampilkan. Label adalah kontrol pasif yang tidak mendukung interaksi dengan pengguna.
// Menunjukkan
Impor label
[Link].*; mengimpor
[Link].*; /*
<applet code="LabelDemo" width=300 height=200>
</applet> */
kelas Publik LabelDemo memperluas Applet
{
publik void init()
{
Label satu = new Label("Satu");
Label dua = new Label("Dua");
Label tiga = new Label("Tiga");
tambahkan label ke jendela applet
tambah(satu);
tambah(dua);
tambah(tiga);
}
}
Buttons:
Kontrol yang paling banyak digunakan adalah tombol tekan. Tombol tekan adalah komponen yang mengandung sebuah
label dan yang menghasilkan sebuah acara ketika ditekan. Tombol tekan adalah objek dari jenis Button.
Kelas tombol berguna untuk membuat tombol tekan. Tombol tekan memicu serangkaian peristiwa.
Untuk membuat tombol tekan: Button b1 = new Button("label");
Untuk mendapatkan label tombol: String l = [Link]();
Untuk mengatur label tombol: [Link]("label");
To get the label of the button clicked: String str = [Link]();

Demonstrasikan Tombol
import [Link].*;
impor [Link].*;
impor [Link].*;
/* <applet kode="ButtonDemo" lebar=250 tinggi=150>
</applet> */

kelas Publik ButtonDemo memperluas Applet menerapkan ActionListener


{
String msg = "";
Button yes, no, maybe;

JAVA PROGRAMMING Page 90


publik void init()
{
ya = new Button("Ya");
no = new Button("No");
maybe = new Button("Undecided");
tambahkan(ya);
tambah(tidak);
tambahkan(mungkin);
[Link](this);
[Link](this);
[Link](this);
}

public void actionPerformed(ActionEvent ae)


{
String str = [Link]();
jika([Link]("Ya"))
{
msg = "You pressed Yes.";
}
jika tidak ([Link]("Tidak"))
{
msg = "You pressed No.";
}
lainnya
{
msg = "You pressed Undecided.";
}
melukis ulang();
}
public void paint(Graphics g)
{
[Link](msg, 6, 100);
}
}

Kotak Centang:
Kotak centang adalah kontrol yang digunakan untuk mengaktifkan atau menonaktifkan sebuah opsi. Ini terdiri dari sebuah kotak kecil yang
dapat berisi tanda centang atau tidak. Ada label yang terkait dengan setiap kotak centang yang
menjelaskan opsi apa yang diwakili oleh kotak tersebut. Anda mengubah keadaan kotak centang dengan mengklik pada
Kotak centang dapat digunakan secara individu atau sebagai bagian dari grup.

Demonstrasikan kotak centang.


impor [Link].*;
impor [Link].*;
impor [Link].*;

JAVA PROGRAMMING Page 91


/*
<applet code="CheckboxDemo" width=250 height=200>
</applet>
*/
kelas CheckboxDemo memperluas Applet mengimplementasikan ItemListener
{
String msg = "";
kotak centang Win98, winNT, solaris, mac;

public void init()


{
win98 = new Checkbox("Windows 98/XP", null, true);
winNT = new Checkbox("Windows NT/2000");
solaris = new Checkbox("Solaris"); mac = new
Kotak centang (MacOS)
tambahkan(Win98);
tambahkan(winNT);
tambah(solaris);
tambah(mac);
[Link](this);
[Link](this);
[Link](this);
[Link](this);
}
publik void itemStateChanged(ItemEvent ie)
{
cat ulang();
}
// Tampilkan keadaan terkini dari kotak centang.

publik void catat(Graphics g)


{
msg = "Current state: ";
[Link](msg, 6, 80);
msg = " Windows 98/XP: " + [Link]();
[Link](msg, 6, 100);
msg = " Windows NT/2000: " + [Link]();
[Link](msg, 6, 120);
msg = " Solaris: " + [Link]();
[Link](msg, 6, 140);
msg = " MacOS: " + [Link]();
[Link](msg, 6, 160);
}
}

JAVA PROGRAMMING Page 92


TextField:
Kelas TextField mengimplementasikan area entri teks satu baris, yang biasanya disebut kontrol edit.
Bidang teks memungkinkan pengguna untuk memasukkan string dan mengedit teks menggunakan tombol panah, memotong dan
tempel kunci, dan pemilihan mouse.
// Tampilkan kolom teks.
impor [Link].*;
impor
[Link].*;
impor [Link].*;
/*
<applet code="TextFieldDemo" width=380 height=150>
</applet>
*/
public class TextFieldDemo extends Applet implements ActionListener
{
Nama TextField, kata sandi;

publik void init()


{
Label namep = new Label("Nama: ", [Link]);
Label passp = new Label("Kata Sandi: ", [Link]);
name = new TextField(12);
pass = new TextField(8);
[Link]('?');
tambahkan(namaP);
tambahkan(nama);
tambahkan(passp);
tambahkan(pass);
// daftar untuk menerima peristiwa tindakan
[Link](this);
[Link](this);
}
// Pengguna menekan Enter.
public void actionPerformed(ActionEvent ae)
{
cat ulang();
}
public void paint(Graphics g)
{
[Link]("Name: " + [Link](), 6, 60);
[Link]("Teks yang dipilih dalam nama: " + [Link](), 6, 80);
[Link]("Kata Sandi: " + [Link](), 6, 100);
}
}

JAVA PROGRAMMING Page 93


TextArea:
Terkadang satu baris input teks tidak cukup untuk suatu tugas tertentu. Untuk menangani ini
dalam situasi, AWT mencakup editor multiline sederhana yang disebut TextArea.

Demonstrasikan
AreaTeks. impor
[Link].*; impor
[Link].*;
/*
<applet code="TextAreaDemo" width=300
height=250> </applet>
*/
kelas publik TextAreaDemo memperluas Applet
{
public void init()
{
Ada dua cara untuk membangun desain perangkat lunak. Salah satu cara adalah untuk
buatlah sesederhana mungkin bahwa jelas tidak ada kekurangan. Dan cara lainnya adalah untuk
buatlah sedemikian rumit sehingga tidak ada kekurangan yang jelas. -C.A.R. Hoare
Ada cerita lama tentang seseorang yang berharap komputernya bisa digunakan dengan mudah seperti
teleponnya. " + "Keinginan itu telah menjadi kenyataan, " + "karena saya tidak lagi tahu cara menggunakan saya
telepon. " -Bjarne Stroustrup, AT&T, (penemu C++)"
TextArea teks = new TextArea(val, 10, 30);
tambah(teks);
}
}

GrupKotakCentang
Dimungkinkan untuk membuat satu set kotak centang yang saling eksklusif di mana satu dan hanya satu
kotak centang dalam grup hanya dapat dicentang satu kali. Kotak centang ini sering disebut
tombol radio. Tombol radio mewakili tombol berbentuk bulat sehingga hanya satu yang dapat dipilih
dipilih dari sebuah panel. Tombol radio dapat dibuat menggunakan kelas CheckboxGroup dan
Kelas kotak centang.

JAVA PROGRAMMING Page 94


· Untuk membuat tombol radio: CheckboxGroup cbg = new CheckboxGroup ();
Checkbox cb = new Checkbox ("label", cbg, true);
· Untuk mengetahui kotak centang yang dipilih: Checkbox cb = [Link]();
·Untuk mengetahui label kotak centang yang dipilih: String label = [Link]().getLabel ();

Tunjukkan kelompok kotak centang.


impor [Link].*;
impor [Link].*;
impor [Link].*;

/*
<applet code="CBGroup" width=250 height=200>
</applet>
*/

kelas publik CBGroup memperluas Applet menerapkan ItemListener


{
String msg = "";
Kotak centang Win98, winNT, solaris, mac;
CheckboxGroup cbg;
publik void init() {
cbg = new CheckboxGroup();
Win98 = new Checkbox("Windows 98/XP", cbg, true);
winNT = new Checkbox("Windows NT/2000", cbg, false);
solaris = new Checkbox("Solaris", cbg, false); mac = new
Checkbox("MacOS", cbg, false);
tambah(Win98);
tambahkan(winNT);
tambah(solaris);
tambah(mac);
[Link](this);
[Link](this);
[Link](this);
[Link](this);
}
publik void itemStateChanged(ItemEvent ie) {
cat ulang();
}
Tampilkan status terkini dari cek
boxes. public void paint(Graphics g) {
msg = "Current selection: ";
msg += [Link]().getLabel();
[Link](msg, 6, 100);
}
}

JAVA PROGRAMMING Page 95


Kontrol Pilihan
Kelas Choice digunakan untuk membuat daftar item pop-up dari mana pengguna dapat memilih.
Dengan demikian, kontrol Pilihan adalah bentuk menu. Menu pilihan adalah daftar item yang muncul ketika diturunkan. Hanya
Satu item dapat dipilih.
· Untuk membuat menu pilihan: Choice ch = new Choice();
· Untuk menambahkan item ke menu pilihan: [Link] ("teks");
· Untuk mengetahui nama item yang dipilih dari menu pilihan:
String s = [Link]();
· Untuk mengetahui indeks item yang sedang dipilih: int i = [Link]();
Metode ini mengembalikan -1, jika tidak ada yang dipilih.
//Tunjukkan Pilihan
daftar. impor
[Link].*; mengimpor
[Link].*;
impor [Link].*;
/*
<applet code="ChoiceDemo" width=300
tinggi=180> </applet>
*/
kelas Publik ChoiceDemo memperluas Applet menerapkan ItemListener
{ Choice os, browser;
String msg = ""; public
void init() { os = new
Pilihan(); peramban = yang baru
Pilihan();
//menambahkan item ke daftar os
[Link]("Windows 98/XP");
[Link]("Windows NT/2000");
[Link]("Solaris");
[Link]("MacOS");
\{ add items to browser list
[Link]("Netscape 3.x");
[Link]("Netscape 4.x");
[Link]("Netscape 5.x");
[Link]("Netscape 6.x");
[Link]("Internet Explorer"
4.0"); [Link]("Internet
Jelajah 5.0"
[Link]("Internet Explorer")
6.0"); [Link]("Lynx 2.4");
[Link]("Netscape 4.x");
tambahkan daftar pilihan ke
jendela tambahkan(os);
tambahkan(browser);
daftar untuk menerima barang
acara
[Link](this);
[Link](
this);

JAVA PROGRAMMING Page 96


}

JAVA PROGRAMMING Page 97


public void itemStateChanged(ItemEvent ie) {}
cat ulang();
}
// Tampilkan pilihan saat ini.
public void paint(Graphics g)
{ msg = "Current OS: ";
msg += [Link]();
[Link](msg, 6, 120);
msg = "Current Browser: ";
msg += [Link]();
[Link](msg, 6, 140);
}
}

Daftar
Kelas List menyediakan daftar pilihan bergulir yang kompak dan memilih banyak. Tidak seperti theChoice
objek, yang hanya menunjukkan satu item yang dipilih di menu, objek Daftar dapat berupa
dibangun untuk menunjukkan sejumlah pilihan di jendela yang terlihat. Itu juga dapat dibuat untuk
izinkan pemilihan ganda. Daftar menyediakan konstruktor ini: Daftar( )
Daftar(int numRows)
Daftar(int jumlahBaris, boolean pilihBanyak)
Kotak daftar mirip dengan kotak pilihan, ini memungkinkan pengguna untuk memilih beberapa item.

· Untuk membuat kotak daftar: List lst = new List();


(atau)
List lst = new List (3, true);
Kotak daftar ini awalnya menampilkan 3 item. Parameter berikutnya true menunjukkan bahwa pengguna dapat
pilih lebih dari satu item dari item yang tersedia. Jika itu salah, maka pengguna hanya dapat memilih
satu item.
= Untuk menambahkan item ke dalam kotak daftar: [Link]("teks");
= Untuk mendapatkan item yang dipilih: String x[] = [Link]();
= Untuk mendapatkan indeks yang dipilih: int x[] = [Link] ();

// Tunjukkan Daftar.
import [Link].*; import
[Link].*; import
[Link].*; /*
<applet code="ListDemo" width=300 height=180>
</applet>
*/
kelas Publik ListDemo memperluas Applet menerapkan ActionListener
{ Daftar os, penelusur;
String msg = "";
publik void init() { os
= new List(4, true);

JAVA PROGRAMMING Page 98


browser = new List(4, false);
} tambahkan item ke daftar os
[Link]("Windows 98/XP");
[Link]("Windows ")
NT/2000" );
[Link]("Solaris");
[Link]("MacOS");
} tambahkan item ke daftar browser
[Link]("Netscape 3.x");
[Link]("Netscape 4.x");
[Link]("Netscape 5.x");
[Link]("Netscape 6.x");
[Link]("Internet Explorer")
4.0"); [Link]("Internet
Penjelajah 5.0";
[Link]("Internet Explorer")
6.0"); [Link]("Lynx 2.4");
[Link](1);
} tambahkan daftar ke jendela
tambah(os);
tambahkan(browser);
// daftar untuk menerima acara aksi
[Link](this);
[Link](this);
}
public void actionPerformed(ActionEvent ae)
{ repaint();
}
// Tampilkan pilihan saat ini.
public void paint(Graphics g)
{
int idx[];
msg = "Current OS: ";
idx = [Link]();
for(int i=0; i<[Link]; i++)
msg += [Link](idx[i]) + " ";
[Link](msg, 6, 120);
msg = "Current Browser: ";
msg += [Link]();
[Link](msg, 6, 140);
}
}
Gulungan Bilah
Gulungan digunakan untuk memilih nilai-nilai kontinu antara nilai minimum dan maksimum yang ditentukan.
Gulungan dapat diposisikan secara horizontal atau vertikal. Kelas gulungan berguna untuk membuat
gulungan yang dapat dilampirkan ke bingkai atau area teks. Gulungan dapat diatur secara vertikal atau
secara horizontal.

JAVA PROGRAMMING Page 99


\{ Untuk membuat scrollbar : Scrollbar sb = new Scrollbar (penyelarasan, awal, langkah, min, max);
alignment: [Link], [Link]
start: starting value (e.g. 0)
step: step value (e.g. 30) // represents scrollbar length
min: minimum value (e.g. 0)
max: maximum value (e.g. 300)
· Untuk mengetahui lokasi dari scrollbar: int n = [Link]();
· Untuk memperbarui posisi scrollbar ke posisi baru: [Link] (int posisi);
· Untuk mendapatkan nilai maksimum dari gulir: int x = [Link] ();
· Untuk mendapatkan nilai minimum dari scrollbar: int x = [Link] ();
· Untuk mendapatkan penyelarasan dari scrollbar: int x = getOrientation ();
Metode ini mengembalikan 0 jika gulungan vertikal sejajar HORIZONTAL, 1 jika sejajar VERTICAL.
// Demonstrasikan bilah gulir.
impor [Link].*;
impor [Link].*;
impor [Link].*;
/*
<applet code="SBDemo" width=300 height=200>
</applet>
*/
publik kelas SBDemo memperluas Applet
mengimplementasikan AdjustmentListener, MouseMotionListener
{ String msg = "";
Gulungan vertSB, horzSB;
public void init() {
int lebar = [Link](getParameter("lebar")); int
tinggi = [Link](getParameter("tinggi"));
vertSB = new Scrollbar([Link], 0, 1, 0, tinggi);
horzSB = new Scrollbar([Link], 0, 1, 0, width);
tambahkan(vertSB);
tambahkan(horzSB);
// daftar untuk menerima peristiwa penyesuaian
[Link](this);
[Link](this);
tambahkanPendengarGerakanMouse(this);
}
publik void adjustmentValueChanged(AdjustmentEvent ae) {
cat ulang();
}
// Perbarui bilah gulir untuk mencerminkan seret mouse.
publik void mouseDragged(MouseEvent me) {
int x = [Link]();
int y = [Link]();
[Link](y);
[Link](x);

JAVA PROGRAMMING Page


cat ulang();
}
// Diperlukan untuk MouseMotionListener
public void mouseMoved(MouseEvent me) {
}
// Tampilkan nilai saat ini dari bilah gulir.
public void paint(Graphics g) {
msg = "Vertical: " + [Link]();
msg += ", Horizontal: " + [Link]();
[Link](msg, 6, 160);
} tunjukkan posisi seret mouse saat ini
[Link]("*", [Link](),
[Link]());
}
}
Grafik
AWT mendukung berbagai metode grafik yang kaya. Semua grafik digambar relatif terhadap
sebuah jendela.
Kelas Grafik dan diperoleh dengan dua cara:
Itu diteruskan ke applet ketika salah satu dari berbagai metodenya, seperti paint() atau update(),
disebut.
Itu dikembalikan oleh metode getGraphics( ) dari Komponen.
Menggambar Garis
Garis digambar menggunakan metode drawLine( ), yang ditunjukkan di sini:
void gambarGaris(int mulaiX, int mulaiY, int akhirX, int akhirY)
drawLine( ) menampilkan garis dalam warna gambar saat ini yang dimulai dari startX, startY dan berakhir
di akhirX, akhirY.
Applet berikut menggambar beberapa garis:
// Menggambar garis import
[Link].*; import
[Link].*; /*

<applet code="Lines" width=300


tinggi=200> </applet>
*/
publik kelas Garis memperluas Applet
public void paint(Graphics g) {
[Link](0, 0, 100, 100);
[Link](0, 100, 100, 0);
[Link](40, 25, 250, 180);
[Link](75, 90, 400, 400);
[Link](20, 150, 400, 40);
[Link](5, 290, 80, 19);
}}

JAVA PROGRAMMING Page


Menggambar Persegi Panjang
Metode drawRect() dan fillRect() menampilkan persegi panjang yang berbingkai dan terisi, masing-masing.
Mereka ditampilkan di sini:
void gambarPersegiPanjang(int atas, int kiri, int lebar, int tinggi)
void fillRect(int atas, int kiri, int lebar, int tinggi)
Tepi kiri atas dari persegi panjang terletak di atas,kiri. Dimensi dari persegi panjang
ditentukan oleh lebar dan tinggi.
Untuk menggambar persegi panjang bulat, gunakan drawRoundRect() atau fillRoundRect(), keduanya ditunjukkan
void drawRoundRect(int atas, int kiri, int lebar, int tinggi, int xDiam, int yDiam)
void isiRoundRect(int atas, int kiri, int lebar, int tinggi, int xDiam, int yDiam)
// Gambar persegi panjang
import [Link].*;
impor [Link].*;
/*
<applet code="Rectangles" width=300
tinggi=200> </applet>
*/
kelas Publik Rectangles memperluas Applet {
publik void lukis(Graphics g) {
[Link](10, 10, 60, 50); [Link](100,
10, 60, 50); [Link](190, 10,
60, 50, 15, 15); [Link](70, 90,
140, 100, 30, 40);
}
}
Menggambar Elips dan Lingkaran
Untuk menggambar elips, gunakan drawOval( ). Untuk mengisi elips, gunakan fillOval( ). Metode ini
ditunjukkan di sini:
void gambarOval(int atas, int kiri, int lebar, int tinggi)
void fillOval(int atas, int kiri, int lebar, int tinggi)
// Gambar
Elips
impor
[Link].*
; impor
[Link]
t.*; /*
<applet code="Ellipses" width=300
tinggi=200> </applet>
*/
kelas Publik Ellipses memperluas Applet
{ public void catat(Graphics g) {
[Link](10, 10, 50, 50);
[Link](100, 10, 75, 50);
[Link](190, 10, 90, 30);
[Link](70, 90, 140, 100);
}}

JAVA PROGRAMMING Page


JAVA PROGRAMMING Page
Menggambar Busur
Busur dapat digambar dengan drawArc() dan fillArc(), seperti yang ditunjukkan di sini:

void drawArc(int atas, int kiri, int lebar, int tinggi, int sudutAwal, int sudutRentang)
void fillArc(int atas, int kiri, int lebar, int tinggi, int sudutAwal, int sudutGulung)
Busur dibatasi oleh persegi panjang yang sudut kiri atasnya ditentukan oleh atas,kiri dan yang
width and height are specified by width and height. The arc is drawn from startAngle through
jarak sudut yang ditentukan oleh sweepAngle. Sudut dinyatakan dalam derajat.
Nol derajat berada di horizontal, di posisi jam tiga. Busur digambar
berlawanan arah jarum jam jika sweepAngle positif, dan searah jarum jam jika sweepAngle negatif.
Oleh karena itu, untuk menggambar busur dari pukul dua belas hingga pukul enam, sudut awalnya adalah 90
dan sudut sapuan 180.
Menggambar Poligon
It is possible to draw arbitrarily shaped figures using drawPolygon( ) and fillPolygon(
) yang ditunjukkan di sini:

void drawPolygon(int x[ ], int y[ ], int numPoints)


void fillPolygon(int x[], int y[], int numPoints)
Titik akhir poligon ditentukan oleh pasangan koordinat yang terdapat dalam x dan y
array. Jumlah titik yang ditentukan oleh x dan y ditentukan oleh numPoints. Ada
bentuk alternatif dari metode ini di mana poligon ditentukan oleh objek Poligon.
Applet berikut menggambar beberapa busur: Applet berikut menggambar sebuah
//Gambar Busur bentuk jam pasir
impor
[Link].*; // Gambar Poligon
impor impor
[Link].*; [Link].*;
/* impor
[Link].*;
<applet code="Arcs" /*
lebar=300 tinggi=200> <applet code="HourGlass"
</applet> lebar=230 tinggi=210>
*/ </applet>
kelas Publik Arcs memperluas Applet { */
public void paint(Graphics g) { publik kelas HourGlass memperluas Applet {
[Link](10, 40, 70, 70, 0, 75); public void paint(Graphics g) {
[Link](100, 40, 70, 70, 0, 75); int xpoints[] = {30, 200, 30, 200, 30};
[Link](10, 100, 70, 80, 0, 175); int ypoints[] = {30, 30, 200, 200, 30};
[Link](100, 100, 70, 90, 0, 270); int num = 5; [Link](xpoints,
[Link](200, 80, 80, 80, 0, 180); ypoints, num);
} }
}

JAVA PROGRAMMING Page


JAVA PROGRAMMING Page
AYUNAN
Swing adalah sekumpulan kelas yang menyediakan komponen yang lebih kuat dan fleksibel dibandingkan dengan
mungkin dengan [Link] adalah toolkit widget GUI untuk Java. Ini adalah bagian dari Java Oracle
Kelas Fondasi Java (JFC) yang digunakan untuk membuat aplikasi berbasis jendela. Ini dibangun di atas
puncak dari AWT (Abstract Windowing Toolkit) API dan sepenuhnya ditulis dalam java.

Selain komponen yang sudah dikenal, seperti tombol, kotak centang, dan label, Swing
menyediakan beberapa tambahan menarik, termasuk panel ber-tab, panel gulir, pohon, dan tabel.
Bahkan komponen yang sudah dikenal seperti tombol memiliki lebih banyak kemampuan di Swing. Sebagai contoh, sebuah
tombol dapat memiliki gambar dan string teks yang terkait dengannya. Juga, gambar dapat berupa
berubah seiring dengan perubahan keadaan tombol.

Tidak seperti komponen AWT, komponen Swing tidak diimplementasikan oleh spesifik platform
kode. Sebaliknya, mereka ditulis sepenuhnya dalam Java dan, oleh karena itu, tidak bergantung pada platform.
Istilah ringan digunakan untuk menggambarkan elemen-elemen tersebut.


Paket [Link] menyediakan kelas untuk API java swing seperti JButton, JTextField, JTextArea,
JRadioButton, JCheckbox, JMenu, JColorChooser etc.

Perbedaan antara AWT dan Swing

AWT Ayunan

Komponen AWT disebut Berat Ayunan disebut komponen ringan


komponen. karena komponen swing berada di atas
Komponen AWT dan lakukan pekerjaan.

Komponen AWT bergantung pada platform. Komponen Swing dibuat murni dalam java dan
mereka independen platform.

Komponen AWT memerlukan paket [Link]. Ayunan komponen yang diperlukan [Link]
paket.

AWT adalah lapisan tipis kode di atas sistem operasi. Swing jauh lebih besar. Swing juga memiliki sangat
fungsi yang jauh lebih kaya.

AWT adalah singkatan dari alat jendela abstrak. Swing juga disebut sebagai JFC (Java Foundation)
kelas).

Fitur ini tidak didukung di AWT. Kita dapat memiliki tampilan dan nuansa yang berbeda di Swing.

Menggunakan AWT, Anda harus mengimplementasikan banyakSwing memiliki mereka yang terintegrasi.
hal-hal sendiri.

JAVA PROGRAMMING Page


Fitur ini tidak tersedia di AWT. Swing memiliki banyak fitur canggih seperti JTabel,
JTabbed pane yang tidak tersedia di AWT.
[Link] komponen adalah dipanggil
"ringan" karena mereka tidak memerlukan
objek OS asli untuk menerapkan mereka
fungsionalitas. JDialog dan JFrame adalah
berat, karena mereka memiliki rekan.
komponen seperti JButton, JTextArea, dll., adalah
ringan karena mereka tidak memiliki sistem operasi
teman sebaya.

Kelas komponen Swing adalah:


Kelas Deskripsi
TombolAbstrak Kelas abstrak super untuk tombol Swing.
GrupTombol Mengenkapsulasi sekumpulan tombol yang saling eksklusif.
IkonGambar Encapsulates an icon.
JApplet Versi Swing dari Applet.
JButton Kelas tombol dorong Swing.
JCheckBox Kelas kotak centang Swing.
JComboBox Mengenkapsulasi kotak kombo (kombinasi antara daftar drop-down & kolom teks).
JLabel Versi Swing dari sebuah label.
JRadioButton Versi Swing dari tombol radio.
JScrollPane Encapsulates a scrollable window.
JTabbedPane Mencakup jendela berlabel.
JTable Mengenkapsulasi kontrol berbasis tabel.
JTextField Versi Swing dari bidang teks.
JTree Mengenkapsulasi kontrol berbasis pohon.
Hierarki untuk komponen Swing:

JAVA PROGRAMMING Page


JApplet
Fundamental untuk Swing adalah kelas JApplet, yang memperluas Applet. Applet yang menggunakan Swing harus
menjadi subclass dari JApplet. JApplet kaya akan fungsionalitas yang tidak ditemukan dalam Applet.
Panel konten dapat diperoleh melalui metode yang ditunjukkan di sini:
Kontainer getContentPane()
Metode add( ) dari Container dapat digunakan untuk menambahkan komponen ke dalam panel konten. Bentuknya adalah
ditunjukkan di sini:
void tambah(comp)
Di sini, komponen yang akan ditambahkan ke panel konten.
JFrame
Buat objek untuk JFrame: JFrame ob = new JFrame("judul");
Buat kelas sebagai subclass dari kelas JFrame: MyFrame memperluas JFrame
Buat objek untuk kelas itu: MyFrame ob = new MyFrame();
Contoh: Tulis program untuk membuat bingkai dengan membuat objek untuk JFrame
kelas.//Sebuah Kerangka Ayunan
impor [Link].*;
kelas MyFrame
{
public static void main (String agrs[])
JFrame jf = new JFrame ("Kanvas Swing Saya...");
[Link] (400,200);
[Link] (true);
[Link] (JFrame.EXIT_ON_CLOSE);
}
}

Note:To close the frame, we can take the help of getDefaultCloseOperation () method of
Kelas JFrame, seperti yang ditunjukkan di sini: getDefaultCloseOperation (konstanta);

di mana konstanta dapat berupa salah satu dari yang berikut:


◼ JFrame.EXIT_ON_CLOSE: Ini menutup aplikasi saat mengklik tombol tutup.
◼ JFrame.DISPOSE_ON_CLOSE: Ini membuang frame saat ini yang terlihat pada
layar. JVM juga dapat berhenti.
◼ JFrame.DO_NOTHING_ON_CLOSE: Ini tidak akan melakukan operasi apa pun saat diklik
pada tombol tutup.
◼ JFrame.HIDE_ON_CLOSE: Ini menyembunyikan bingkai saat mengklik tombol tutup.

Kaca Jendela: Dalam ayunan, komponen terpasang hanya pada kaca jendela. Sebuah jendela
pane mewakili area bebas di jendela di mana beberapa teks atau komponen dapat ditampilkan. Untuk
misalnya, kita dapat membuat sebuah bingkai menggunakan kelas JFrame di [Link] yang berisi area kosong
di dalamnya, area gratis ini disebut 'kisi jendela'. Empat jenis kisi jendela tersedia di
paket [Link].

JAVA PROGRAMMING Page


Kaca Panel:Ini adalah panel pertama dan sangat dekat dengan layar monitor. Komponen apa pun untuk
ditampilkan di latar depan terpasang pada kaca ini. Untuk mencapai kaca ini, kami menggunakan
metode getGlassPane() dari kelas JFrame.
Pane Akar: Pane ini berada di bawah pane kaca. Komponen apa pun yang akan ditampilkan di dalamnya
latar belakang ditampilkan di panel ini. Panel root dan panel kaca juga digunakan dalam animasi.
Misalnya, anggap kita ingin menampilkan pesawat terbang di langit. Pesawat terbang bisa menjadi
ditampilkan sebagai file .gif atau .jpg di panel kaca sedangkan langit biru dapat ditampilkan di akar
pane di latar belakang. Untuk mencapai pane akar ini, kita menggunakan metode getRootPane () dari kelas JFrame.

Layered Pane:This pane lies below the root pane. When we want to take several components
sebagai sebuah grup, kami melampirkan mereka di panel berlapis. Kami dapat mengakses panel ini dengan memanggil
metode getLayeredPane() dari kelas JFrame.
Content Pane:This is the bottom most pane of all. Individual components are attached to this
pane. Untuk mencapai pane ini, kita bisa memanggil metode getContentPane() dari kelas JFrame.

Menampilkan Teks di Dalam Frame:


metode paintComponent (Graphics g) dari kelas JPanel digunakan untuk melukis bagian dari sebuah komponen
dalam swing. Kita harus mengoverride metode ini dalam kelas kita. Dalam contoh berikut, kita sedang menulis
kelas kami MyPanel sebagai subclass dari JPanel dan menimpa metode painComponent().

Tulis program untuk menampilkan teks di dalam bingkai


import [Link].*;
impor [Link].*;
kelas MyPanel memperluas JPanel
{ public void paintComponent (Grafik g)
[Link](g); //panggil metode JPanel
setBackground ([Link]);
[Link] ([Link]);
etFont (new Font("Courier New",[Link],30));

JAVA PROGRAMMING Page


rawString ("Hello Readers!", 50, 100);
}
}
kelas FrameDemo memperluas JFrame
{ FrameDemo ()
{
Container c = ambilContentPane();
MyPanel mp = baru MyPanel();
[Link] (mp);
setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
}
publik statis void utama(String args[])
FrameDemo ob = new FrameDemo();
[Link] (600, 200);
[Link] (true);
}
}

KOTAK TEKS
Field teks Swing dikapsulasi oleh kelas JTextComponent, yang memperluas JComponent.
Ini menyediakan fungsionalitas yang umum untuk komponen teks Swing. Salah satu subclass-nya adalah
JTextField, yang memungkinkan Anda untuk mengedit satu baris teks. Beberapa konstruktor nya ditunjukkan di sini:

JTextField( )
JTextField(int kolom)
JTextField(String s, int cols)
JTextField(String s)
impor [Link].*;
impor [Link].*;
/*
<applet code="JTextFieldDemo" width=300 height=50>

JAVA PROGRAMMING Page


</applet>
*/
kelas publik JTextFieldDemo memperluas JApplet {
JTextField jtf;
public void init()
{
// Ambil panel konten
Kontainer contentPane = dapatkanContentPane();
[Link](new FlowLayout());
// Tambahkan bidang teks ke konten
pane jtf = baru
JTextField(15);
[Link](jtf);
}
}

BUTTONS
Tombol swing menyediakan fitur yang tidak ditemukan di kelas Button yang ditentukan oleh AWT. Untuk
misalnya, Anda dapat mengaitkan ikon dengan tombol Swing. Tombol Swing adalah subclass dari
Kelas AbstractButton, yang mengextends JComponent. AbstractButton содержит banyak metode yang
memungkinkan Anda untuk mengontrol perilaku tombol, kotak centang, dan tombol radio.
Kelas JButton
Kelas JButton menyediakan fungsi tombol tekan. JButton memungkinkan sebuah ikon, sebuah string, atau
keduanya dikaitkan dengan tombol dorong. Beberapa konstruktornya ditunjukkan di sini:
· Untuk membuat JButton dengan teks: JButton b = new JButton("OK");
· Untuk membuat JButton dengan gambar: JButton b = new JButton (ImageIcon ii);
· Untuk membuat JButton dengan teks & gambar: JButton b = new JButton ("OK", ImageIcon ii);
Dimungkinkan untuk membuat komponen di swing dengan gambar di atasnya. Gambar ditentukan oleh
Objek kelas ImageIcon.
impor [Link].*;
impor [Link].*;
mengimpor [Link].*;
/*
<applet code="JButtonDemo" width=250 height=300>
</applet>
*/
public class JButtonDemo extends JApplet implements ActionListener {
JTextField jtf;
publik void init() {
// Dapatkan panel konten
Kontainer contentPane = getContentPane();
[Link](new FlowLayout());
// Tambahkan tombol ke panel konten

JAVA PROGRAMMING Page


ImageIcon prancis = new ImageIcon("[Link]");
JButton jb = new JButton(prancis);
[Link]("France");
[Link](this); [Link](jb);

ImageIcon jerman = new ImageIcon("[Link]");


jb = new JButton(jerman);
[Link]("Jerman");
[Link](this);
[Link](jb);
ImageIcon italia = newImageIcon("[Link]");
jb = new JButton(itlia);
[Link]("Italia");
[Link](this);
[Link](jb);
ImageIcon jepang = newImageIcon("[Link]");
jb = new JButton(jepang);
[Link]("Jepang");
[Link](this);
[Link](jb);
// Tambahkan kolom teks ke
panel konten jtf = baru
JTextField(15);
[Link](jtf);
}
public void actionPerformed(ActionEvent ae)
{ [Link]([Link]());
}
}
KOTAK CENTANG
Kelas JCheckBox, yang menyediakan fungsionalitas dari kotak centang, adalah sebuah konkret
implementasi AbstractButton. Superkelas langsungnya adalah JToggleButton, yang menyediakan
dukungan untuk tombol dua keadaan. Beberapa konstruktor nya ditampilkan di sini:
JCheckBox(Icon i)
JCheckBox(Icon i, boolean state)
JCheckBox(String s)
JCheckBox(String s, boolean state)
JCheckBox(String s, Ikon i)
JCheckBox(String s, Ikon i, boolean state)
impor [Link].*;
impor [Link].*;
import [Link].*;
/*
<applet code="JCheckBoxDemo" width=400 height=50>
</applet>
*/

JAVA PROGRAMMING Page


publik kelas JCheckBoxDemo memperluas JApplet menerapkan ItemListener {
JTextField jtf;
publik void init()
{
// Dapatkan panel konten
Kontainer contentPane = getContentPane();
[Link](new FlowLayout());
// Buat ikon
ImageIcon normal = new ImageIcon("[Link]");
ImageIcon rollover = new ImageIcon("[Link]");
ImageIcon terpilih = new ImageIcon("[Link]");
// Tambahkan kotak centang ke panel konten
JCheckBox cb = new JCheckBox("C", normal);
[Link](rollover);
[Link](selected);
[Link](this); [Link](cb);

cb = new JCheckBox("C++",
normal); [Link](rollover);
[Link](selected);
[Link](this);
[Link](cb);
cb = new JCheckBox("Java",normal);
[Link](rollover);
[Link](selected);
[Link](this);
[Link](cb);
cb = new JCheckBox("Perl",normal);
[Link](rollover);
[Link](selected);
[Link](this);
[Link](cb);
Tambahkan field teks ke panel konten
jtf = new JTextField(15);
[Link](jtf);
}
publik void itemStateChanged(ItemEvent ie) {
JCheckBox cb = (JCheckBox)[Link]();
[Link]([Link]());
}
}

TOMBOL RADIO
Tombol radio didukung oleh kelas JRadioButton, yang merupakan implementasi konkret dari
AbstractButton. Kelas induknya yang langsung adalah JToggleButton, yang memberikan dukungan untuk dua-
tombol status. Beberapa konstruktor nya ditunjukkan di sini:

JAVA PROGRAMMING Page


JRadioButton(Ikon i)
JRadioButton(Icon i, boolean state)
JRadioButton(String s)
JRadioButton(String s, boolean keadaan)
JRadioButton(String s, Ikon i)
JRadioButton(String s, Icon i, boolean state)
impor [Link].*;
impor [Link].*;
import [Link].*;
/*
<applet code="JRadioButtonDemo" width=300 height=50>
</applet>
*/
kelas publik JRadioButtonDemo memperluas JApplet mengimplementasikan ActionListener {
JTextField tf;
publik void init() {
// Dapatkan panel konten
Container contentPane = getContentPane();
[Link](new FlowLayout());
[Link] tombol radio ke panel konten
JRadioButton b1 = new JRadioButton("A");
[Link](this);
[Link](b1);
JRadioButton b2 = new JRadioButton("B");
[Link](this);
[Link](b2);
JRadioButton b3 = newJRadioButton("C");
[Link](this);
[Link](b3);
2. Definisikan kelompok tombol
ButtonGroup bg = new ButtonGroup();
[Link](b1);
[Link](b2);
[Link](b3);
// Create a text field and add it
// ke panel konten
tf = new JTextField(5);
[Link](tf);
}
public void actionPerformed(ActionEvent ae) {
[Link]([Link]());
}
}

JAVA PROGRAMMING Page


Keterbatasan AWT:
AWT mendefinisikan seperangkat kontrol, jendela, dan kotak dialog dasar yang mendukung antarmuka grafis yang dapat digunakan, tetapi terbatas.
antarmuka. Satu alasan untuk sifat terbatas dari AWT adalah bahwa ia menerjemahkan berbagai komponen visualnya menjadi
padanan atau rekan mereka yang spesifik untuk platform masing-masing. Ini berarti bahwa tampilan dan nuansa suatu komponen adalah
ditentukan oleh platform, bukan oleh java. Karena komponen AWT menggunakan sumber daya kode asli, mereka disebut
sebagai berat badan.
Penggunaan rekan asli menyebabkan beberapa masalah.
Pertama, karena variasi antara sistem operasi, sebuah komponen mungkin terlihat, atau bahkan bertindak, berbeda di
berbagai platform. Variabilitas ini mengancam filosofi java: tulis sekali, jalankan di mana saja.
Kedua, tampilan dan nuansa setiap komponen telah diperbaiki dan tidak dapat diubah. Ketiga, penggunaan yang berat
komponen menyebabkan beberapa batasan yang menjengkelkan. Karena keterbatasan ini, Swing muncul dan diintegrasikan ke dalam java.
Swing dibangun di atas AWT. Dua fitur utama Swing adalah: Komponen Swing adalah ringan, Swing mendukung a
penampilan dan nuansa yang dapat dipasang

PEMROGRAMAN JAVA Halaman

Anda mungkin juga menyukai