0% menganggap dokumen ini bermanfaat (0 suara)
35 tayangan25 halaman

Dasar-Dasar Pemrograman Berorientasi Objek

Dokumen ini membahas pemrograman berorientasi objek (OOP) dan Java. Ini memberikan pengantar tentang konsep-konsep OOP seperti kelas, objek, pewarisan, enkapsulasi, dan polimorfisme. Ini juga membahas sejarah dan fitur Java, termasuk bagaimana ia diturunkan dari C dan C++ tetapi bersifat independen terhadap platform. Topik kunci yang dibahas termasuk bahasa prosedural vs bahasa berorientasi objek, aplikasi OOP seperti pengembangan web dan mobile, serta konsep Java seperti mesin virtualnya dan struktur pemrograman.

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)
35 tayangan25 halaman

Dasar-Dasar Pemrograman Berorientasi Objek

Dokumen ini membahas pemrograman berorientasi objek (OOP) dan Java. Ini memberikan pengantar tentang konsep-konsep OOP seperti kelas, objek, pewarisan, enkapsulasi, dan polimorfisme. Ini juga membahas sejarah dan fitur Java, termasuk bagaimana ia diturunkan dari C dan C++ tetapi bersifat independen terhadap platform. Topik kunci yang dibahas termasuk bahasa prosedural vs bahasa berorientasi objek, aplikasi OOP seperti pengembangan web dan mobile, serta konsep Java seperti mesin virtualnya dan struktur pemrograman.

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

1

Pengantar OOP, Bahasa Pemrograman Prosedural dan Bahasa Berorientasi Objek


Principles of OOP, Applicatons of OOP, History of Java, Java features, Java Virtual Machine
(JVM), Struktur Program Java, Variabel, Tipe data primitif, Identifier, Literals - Contoh,
Operator, ekspresi - Contoh, Aturan Prioritas dan Asosiasi, Tipe Primitif
Konversi dan Penuangan, Aliran Kontrol, Kelas dan objek, Deklarasi Kelas, Membuat
Objek, Metode, Overloading Metode.

Tujuan

Pemrograman berbasis objek bertujuan untuk mengimplementasikan entitas dunia nyata seperti pewarisan, penyembunyian,

polimorfisme dll dalam pemrograman. OOP adalah mengikat bersama data dan fungsi yang
operasikan pada mereka sehingga tidak ada bagian lain dari kode yang dapat mengakses data ini kecuali fungsi itu.

Q1. Pemrograman Berorientasi Objek


Q2. Bahasa Pemrograman Prosedural dan Bahasa Berorientasi Objek,
Q3. Aplikasi OOP
Q4. Sejarah dan fitur Java
Q5. Mesin Virtual Java (JVM),
Q6. Struktur Program Java
Q7. Kata Kunci yang Dipesan
Q8. Modifier (Spesifikasi Akses)
Q9. Pernyataan & Pernyataan Pengendalian Alur
Tipe data primitif
Ruang Lingkup dan Umur Variabel
Tipe Variabel
Fungsi utama
Sertakan Vs Impor
Q15. Pengidentifikasi dan Literal
Operator
Prioritas Operator
Konversi tipe primitif dan casting:
Pernyataan Kontrol
Q20. Overloading Metode
2

Pemrograman Berorientasi Objek

Oop’s dianggap sebagai bahasa Pemrograman Berorientasi Objek, yang didasarkan pada objek dan data. Semua
bahasa yang dikembangkan sejak 1990 dengan fitur berorientasi objek. Berorientasi objek
pemrograman adalah cara yang paling penting dan kuat untuk menciptakan perangkat lunak. C++, Object Pascal,
Java, Python adalahmult-bahasa pemrograman paradigma yang mendukung pemrograman berorientasi objek

pemrograman.

OOP memungkinkan dekomposisi suatu masalah menjadi sejumlah elemen yang disebut objek dan kemudian
mengikat data dan fungsi di sekitar objek-objek ini. Data yang terkait dengan fungsi akan menjadi
diakses oleh objek yang terkait dengan fungsi itu saja. Gambar berikut menggambarkan objek-objek tersebut
komunikasi

Fitur pemrograman berbasis objek adalah:

Fokus pada data daripada prosedur.


• Ini mengikuti pendekatan dari bawah ke atas.

• Fungsi Anggota beroperasi pada anggota data dari suatu objek yang terikat bersama.
• Data disembunyikan dan tidak dapat diakses oleh fungsi eksternal.
• Objek dapat berkomunikasi satu sama lain melalui fungsi.

Paradigma berorientasi objek menangani objek aktif daripada objek pasif. Sebuah file dalam sebuah
paradigma berbasis objek dapat dikemas dengan semua prosedur—disebut metode dalam objek-
paradigma yang berorientasi - untuk dilakukan oleh file: pencetakan, penyalinan, penghapusan, dan seterusnya. The

program dalam paradigma ini hanya mengirimkan permintaan yang sesuai ke objek.
3

Struktur program berorientasi objek ditunjukkan pada gambar di bawah ini:

. Dua objek dapat berkomunikasi melalui fungsi tanpa mengetahui data masing-masing.
lainnya.

Konsep Pemrograman Berorientasi Objek

1. Kelas
2. Objek
3. Pengikatan Dinamis
4. Pengiriman Pesan
5. Warisan.
6. Abstraksi
7. Enkapsulasi.
8. Polimorfisme

Kelas: Kelas adalah cetak biru yang ditentukan pengguna dari mana objek dibuat. Ini mewakili
sekumpulan fungsi anggota dan variabel anggota yang umum untuk semua objek dari satu tipe.
figura ini Flower adalah nama kelas dan memiliki fungsi anggota seperti Turn(), Pick() dan anggota
variabel sebagai warna.
4

Objek: Instansi dari kelas disebut sebagai objek. Objek memiliki keadaan dan perilaku. Contoh: Seekor anjing
has states - color, name, breed as well as behaviors – wagging the tail, barking, eatng. In the
Diagram di atas d1 adalah objek dari kelas Anjing yang bertindak sebagai instansi dan mengakses variabel dan
metode kelas Dog

Kelas

Pengikatan Dinamis: Dalam bahasa pemrograman JAVA, objek-objek dialokasikan memori mereka pada
waktu eksekusi menggunakan operator baru. Setelah alokasi memori, variabel instansi adalah
mengikat dengan metode terkait mereka pada saat eksekusi. Jenis pengikatan data ini juga
disebut pengikatan dinamis atau pengikatan terlambat atau pengikatan waktu eksekusi atau pengikatan waktu berjalan.

Pengiriman Pesan : Pengiriman pesan adalah tipe komunikasi antara proses.


passing adalah bentuk komunikasi yang digunakan dalamparalelpemrograman danberorientasi objek
pemrograman.

Pewarisan: Ini didefinisikan sebagai memperoleh properti dari kelas dasar ke kelas turunan. Dengan ini
kita dapat mencapai keterpakgunaan kode. Kelas dasar dapat disebut sebagai kelas induk dan kelas turunan
dapat disebut sebagai kelas anak. Dalam gambar ini Kelas Mawar memperoleh properti dari data Bunga
anggota yang berwarna.
5

Abstraksi: Abstraksi didefinisikan sebagai menyembunyikan rincian latar belakang kepada dunia luar. Hanya
fungsi akan disediakan untuk pengguna. Mari kita pertimbangkan contoh nyata dari mesin ATM
pengguna memasukkan kartu dan memasukkan pin untuk transaksi dan melakukan transaksi tetapi dia tidak
mengetahui mekanisme kerja yang digunakan secara internal untuk membaca kartu dan bagaimana kartu tersebut telah
hubungkan nomor akun tersebut. Dalam pemrograman berorientasi objek, kita dapat mengabstraksikan data dan
proses.

Enkapsulasi: Penggabungan anggota data dan fungsi anggota menjadi satu kesatuan disebut
enkapsulasi. Enkapsulasi juga menyembunyikan data dari kelas lain. Pertimbangkan contoh nyata dari
enkapsulasi; di sebuah perusahaan terdapat berbagai bagian seperti bagian akuntansi, keuangan
bagian, bagian penjualan, dll. Bagian keuangan menangani semua transaksi keuangan dan menyimpan
catatan semua data terkait keuangan. Demikian pula, sektor penjualan menangani semua yang terkait dengan penjualan
aktivitas dan menjaga catatan semua penjualan. Kini mungkin muncul situasi ketika untuk beberapa
alasan seorang pejabat dari sektor keuangan perlu semua data tentang penjualan dalam bulan tertentu.
dalam kasus ini, dia tidak diizinkan untuk mengakses data bagian penjualan secara langsung. Dia harus terlebih dahulu
hubungi beberapa petugas lain di bagian penjualan dan kemudian minta dia untuk memberikan data tertentu.
Inilah yang dimaksud dengan enkapsulasi. Di sini adalah data dari seksi penjualan dan karyawan yang dapat
manipulasi mereka dibungkus di bawah satu nama "bagian penjualan".

Polimorfisme: Ini adalah kata Yunani yang berarti banyak bentuk. Ini didefinisikan sebagai satu
metode dapat diterapkan dalam berbagai bentuk yang berarti satu metode dapat melakukan hal yang berbeda
[Link] kita ambil contoh sebuah mobil. Sebuah mobil memiliki sistem transmisi gear. Mobil ini memiliki empat gigi depan
roda gigi dan satu roda gigi mundur. Ketika mesin dipercepat, maka tergantung pada roda gigi mana
terlibat jumlah daya dan gerakan yang berbeda disalurkan ke mobil. Tindakannya sama
menerapkan gear tetapi berdasarkan jenis gear. Polimorfisme dapat dicapai secara statis dan
dinamis

Keuntungan OOP: Penggunaan Kembali dan Daur Ulang Kode, Enkapsulasi, Manfaat Desain, Perangkat Lunak
Pemeliharaan.
6

Q2. Bahasa Pemrograman Prosedural dan Bahasa Berorientasi Objek,

Bahasa berorientasi objek: Bahasa pemrograman prosedural


OOP mengambil pendekatan dari bawah ke atas dalam POP mengikuti pendekatan top-down.
merancang sebuah program.

Program dibagi menjadi objek tergantung Program dibagi menjadi potongan-potongan kecil berdasarkan
tentang masalah tersebut. fungsi-fungsi.

Setiap objek mengontrol datanya sendiri. Setiap fungsi berisi data yang berbeda.
Fokus pada keamanan data Mengikuti pendekatan sistematis untuk menyelesaikan
tanpa memperhatikan algoritma. masalah.

Prioritas utama adalah data daripada Fungsi lebih penting daripada data dalam sebuah
fungsi dalam sebuah program. program

Fungsi-fungsi objek dihubungkan melalui Bagian-bagian yang berbeda dari sebuah program adalah

pengiriman pesan. terhubung melalui pengiriman parameter.

Penyembunyian data dimungkinkan dalam OOP. Tidak ada cara yang mudah untuk menyembunyikan data.

Pewarisan diizinkan dalam OOP. Tidak ada konsep pewarisan dalam POP.
Pengisian operator diizinkan. Pengoperasian overload tidak diizinkan
C++, Java.
Pascal, Fortran.

Q3. Aplikasi OOP

Ada lebih dari 4 jenis aplikasi yang dapat dibuat menggunakan pemrograman java:
Aplikasi Mandiri

Q4. Sejarah dan fitur Java


7

Java diwariskan dari 2 bahasa yaitu C dan C++. Ini adalah bahasa pemrograman berorientasi objek murni.
Bahasa.. Sun Microsystems memulai untuk mengembangkan bahasa untuk perangkat digital. Itu ditemukan
oleh James Gosling pada bulan Juni 1991. Bahasa ini awalnya disebut Oak. Kemudian proyek ini diganti namanya
Java.

Fitur Java :

JAVA adalah Berorientasi Objek sementara C adalah prosedural.


Java adalah bahasa yang diinterpretasikan sementara C adalah bahasa yang dikompilasi.
C adalah bahasa tingkat rendah sementara JAVA adalah bahasa tingkat tinggi.
C menggunakan pendekatan top-down sementara JAVA menggunakan pendekatan bottom-up.

Sederhana: Java adalah bahasa yang sederhana untuk dipelajari karena semua sintaksisnya didasarkan pada C dan C++.

Berorientasi Objek: Java adalah bahasa pemrograman berorientasi objek. Segala sesuatu di Java adalah sebuah
objek.

Independen platform: Bahasa seperti C dan C++ bergantung pada platform yang berarti
tergantung pada sistem operasi tertentu. Java bersifat independen platform yang berarti disusun
ke mesin spesifik platform sementara Java adalah bahasa yang ditulis sekali, dijalankan di mana saja.

Aman: Java dikenal karena keamanannya. Dengan Java, kita dapat mengembangkan sistem yang bebas virus.
Java aman karena tidak ada pointer eksplisit, Program Java dijalankan di dalam mesin virtual.

Kuat: Kuat berarti tangguh. Java adalah tangguh karena menggunakan manajemen memori yang kuat.
Ada kekurangan petunjuk yang menghindari masalah keamanan. Ada pengumpulan sampah otomatis.
dalam java.

Arsitektur netral: Para perancang Java membuat beberapa keputusan sulit dalam bahasa Java dan
Java Virtual Machine dalam upaya untuk mengubah situasi ini. Tujuan mereka adalah "tulis sekali; jalankan
di mana saja, kapan saja, selamanya.” Sebagian besar, tujuan ini telah tercapai.

Portabel: Java bersifat portabel karena memungkinkan Anda untuk membawa kode byte Java ke platform mana pun.
Tidak memerlukan implementasi apapun.

Kinerja tinggi: Java lebih cepat daripada bahasa pemrograman terinterpretasi tradisional lainnya
karena byte code Java "dekat" dengan kode natif. Ini masih sedikit lebih lambat daripada yang dikompilasi
bahasa (misalnya, C++). Java adalah bahasa yang diinterpretasikan itulah sebabnya ia lebih lambat daripada yang dikompilasi
bahasa, misalnya, C, C++, dll

Terdistribusi: Java terdistribusi karena memudahkan pengguna untuk membuat aplikasi terdistribusi.
Java. Kita dapat menulis program yang menangkap informasi dan mendistribusikannya kepada klien. Ini adalah
mungkin karena java dapat menangani protokol TCP/IP.
8

Multithreaded: Java mendukung Multithreading. Sebuah thread seperti program terpisah,


menjalankan secara bersamaan. Kami dapat menulis program Java yang menangani banyak tugas sekaligus dengan
mendefinisikan beberapa benang. Keuntungan utama dari multithreading adalah bahwa itu tidak menghabiskan
memori untuk setiap utas. Ini berbagi area memori yang sama. Utas penting untuk mult-
media, aplikasi web, dll.

Dinamika: Java adalah bahasa yang dinamis. Ini mendukung pemuatan kelas secara dinamis. Itu berarti kelas-kelas
dimuat sesuai permintaan. Ini juga mendukung fungsi dari bahasa asalnya, yaitu C dan C++.

Skalabilitas: Platform Java dapat diterapkan pada berbagai jenis komputer dengan variasi yang berbeda.
tingkatan sumber daya. Ini mungkin karena Java kompak dan independen dari platform.

Q5. Mesin Virtual Java (JVM),

Java Virtual Machine adalah jantung dari proses eksekusi program Java. Ia mengambil .Class
file sebagai input dan mengubah byte code menjadi bahasa mesin yang dieksekusi oleh prosesor.
9

Class Loader: File Java yang ditulis oleh programmer akan dikompilasi oleh compiler Java yang
menghasilkan file Kelas yang disebut sebagai byte code, file kelas ini akan diberikan kepada pemuat kelas. Ini memuat .class
file ke dalam memori.

Memori JVM telah dibagi menjadi:

Area Metode: Area metode menyimpan kode variabel dan kode dalam metode (fungsi)

Heap: objek akan dibuat di memori heap. Setiap kali JVM memuat kelas, sebuah metode dan heap
area segera dibuat di dalamnya.

Tumpukan Java: Area metode digunakan untuk menyimpan metode. Jika program java membutuhkan lebih banyak memori untuk
menyimpan data dan hasil kemudian tumpukan java digunakan.

Register PC (Counter Program): Counter Program adalah register yang menyimpan alamat yang
metode Instruksi yang harus dijalankan.

Tumpukan Metode Natve: Metode natve seperti fungsi C dan C++ akan dieksekusi dalam natve
metode tumpukan. Untuk mengeksekusi metode asli, diperlukan perpustakaan metode asli yang terhubung.
ke JVM melalui antarmuka metode natif.

Mesin Eksekusi mengandung interpreter dan compiler JIT (Just In Time) yang bertanggung jawab untuk
mengonversi kode byte menjadi instruksi mesin. JVM menggunakan baik interpreter maupun compiler. Ini
teknik ini disebut penyesuaian pengoptimal.

Q6. Struktur Program Java


Karena Java adalah bahasa pemrograman yang sepenuhnya berorientasi objek, segalanya dalam program Java harus ditempatkan dalam kelas bahkan

main harus ditempatkan di dalam sebuah kelas.

program contoh

kelas Contoh
{
publik statc void main(String args[])
{
[Link]("Halo Dunia");
}}

C:/>javac [Link] C:/> java Contoh

Halo Dunia
10

komentar

Saat menulis program, penting agar program tersebut dapat dibaca dan dipahami.
Tujuan kita menggunakan komentar. Ketika kita menulis komentar dalam sebuah program, kita dapat memahami apa yang

program ini sedang dilakukan dan pengguna dapat memahami kodenya. Ada 3 jenis komentar

1) Komentar satu baris: ini memiliki satu baris sebagai komentar. Itu diwakili sebagai //
Sebagai contoh
//Ini adalah komentar satu baris java
2)Komentar Multiline: Jika kita ingin menulis beberapa baris deskripsi, maka kita dapat menggunakan
komentar multibarisan dimulai dengan /* dan diakhiri dengan */ contohnya

/* Ini adalah komentar multiline java.

Mana yang dapat memiliki beberapa baris?

3)Komentar dokumentasi Java: ini digunakan untuk memberikan deskripsi untuk setiap fitur
di dalam program java. Deskripsi ini sangat membantu dalam pembuatan file .html yang disebut API.
dimulai dengan /** dan diakhiri dengan */ misalnya
/** deskripsi tentang sebuah kelas */
Kode
/** deskripsi tentang metode */

Kata Kunci / Kata Cadangan

Modifikator (Spesifikasi Akses)


11

Sebuah spesifikasi akses adalah kata kunci yang memberi tahu kita cara mengakses anggota dari sebuah kelas. Kita bisa menggunakan
spesifikasi akses sebelum kelas dan anggotanya. Ada empat spesifikasi akses yang tersedia dalam
Java:

'private' anggota dari sebuah kelas tidak dapat diakses di luar kelas. Mereka adalah
hanya dapat diakses di dalam kelas oleh metode kelas tersebut. Dalam contoh ini, program
variabel a, metode msg() bersifat privat sehingga tidak dapat diakses di luar kelas.

kelasA{ publik kelas Simple{


private inta=40; publik statc voidmain(String args[]){
private voidmsg() A obj=newA();
{ [Link](obj.a);//Kesalahan Waktu Kompilasi
[Link]("Halo java"); [Link]();//Kesalahan Waktu Kompilasi
} }
} }

'public' anggota kelas dapat diakses di mana saja. Di luar kelas. Jadi anggota lainnya
program dapat membacanya dan menggunakannya.
kelasA{ kelasPublikSederhana{
publik inta=40; publik statc voidmain(String args[]){
publik voidmsg() A obj=newA();
{ [Link](obj.a);
[Link]("Halo java"); [Link]();
}} }}

Dilindungi: Modifikasi akses yang dilindungi dapat diakses di dalam paket dan di luar paket.
tetapi hanya melalui pewarisan. Modifikasi akses yang dilindungi dapat diterapkan pada data
anggota, metode dan konstruktor. Itu tidak dapat diterapkan pada kelas.

kelasA{ kelas Publik Sederhana {


40 publik statc voidmain(String args[]){
dilindungi void msg() A obj=newA();
{ [Link](obj.a);//Kesalahan Waktu Kompilasi
[Link]("Halo java") r
); [Link]();//Kesalahan Waktu Kompilasi
}} } }
12

default: Jika tidak ada spesifikasi akses yang diberikan, maka kompiler Java menggunakan spesifikasi akses 'default'.
'anggota' default dapat diakses dari luar kelas, tetapi dalam direktori yang sama.

kelasA{ kelas Publik Sederhana{


40 publik statc voidmain(String args[]{
voidmsg() A obj=newA();
{ [Link](obj.a);
[Link]("Halo java"); [Link]();
} }
} }

Q9. Pernyataan & Pernyataan Aliran Kontrol

Pernyataan menentukan suatu tindakan dalam program Java, seperti menetapkan jumlah x dan y ke z.
mencetak pesan ke keluaran standar, menulis data ke sebuah file, dll.

Pernyataan dalam Java dapat diklasifikasikan secara luas ke dalam tiga kategori:

Pernyataan deklarasi
Pernyataan ekspresi
Pernyataan aliran kontrol

Pernyataan deklarasi: Pernyataan deklarasi digunakan untuk mendeklarasikan sebuah variabel.


Misalnya int num; int num2 = 100; String str;

Pernyataan Ekspresi: Ekspresi yang diakhiri dengan titik koma disebut sebagai ekspresi
pernyataan. Misalnya,

/Ekspresi increment dan decrement

num++; ++num; num--; --num;

//Ekspresi penugasan

num = 100; num *= 10;

//Ekspresi pemanggilan metode


13

[Link]("Ini adalah sebuah pernyataan");

someMethod(param1, param2);

Pernyataan Alur Kontrol

Secara default, semua pernyataan dalam program Java dijalankan dalam urutan di mana mereka muncul di
program. Terkadang Anda mungkin ingin mengeksekusi sekumpulan pernyataan secara berulang untuk sejumlah
waktu atau selama kondisi tertentu benar.

Q10. Tipe data primitif

Dalam Java, kita memiliki delapan tipe data primitif: byte, short, int, long, char, float, double, dan
boolean. Tipe primitif juga biasanya disebut sebagai tipe sederhana; ini dapat dimasukkan ke dalam
empat kelompok:
•Bilangan bulat: Ini memiliki byte, short, int, dan long, yang digunakan untuk angka bulat bernilai positif dan negatif.
•Titik mengapung: Ini memiliki float dan double, yang mewakili angka dengan presisi fraksional.
•Karakter ini memiliki char, yang mewakili simbol dalam rangkaian karakter
•Boolean: Ini adalah tipe khusus untuk mewakili nilai benar/salah.

Tipe integer:
Angka tanpa bagian pecahan dan bagian desimal disebut bilangan bulat

Tipe Data Ukuran rentang


byte 1 byte 128 hingga +127
Panjang 8 bait -9223372036854775808
ke
+9223372036854775807
Int 4 byte -2147483648 ke
+2147483647
singkat 2 byte -32768 hingga +32767

Sebagai contoh, long adalah tipe 64-bit yang ditandatangani dan berguna untuk situasi di mana tipe int adalah
tidak cukup besar untuk menampung nilai yang diinginkan. Rentang dari alongi cukup besar. Ini membuatnya
berguna ketika angka bulat besar diperlukan.
14

Tipe Bilangan Desimal: Bilangan desimal, yang juga dikenal sebagai bilangan riil, digunakan ketika
menilai ekspresi yang memerlukan presisi fraksional

Tipe Data Ukuran rentang


Mengapung 4 byte 1.4e–045 hingga 3.4e+038
Ganda 8 byte 4.9e–324 hingga 1.8e+308

perbedaan antara float dan double: Float dapat mewakili hingga 7 digit dengan akurat setelah
titik desimal, sedangkan ganda dapat merepresentasikan hingga 15 digit secara akurat setelah titik desimal.

float a=5.7F

variabel 'a' memiliki nilai 5.7F jika F tidak ditulis di akhir, secara default JVM akan memiliki
menganggapnya sebagai double dan mengalokasikan 8 byte dengan menempatkan F atau f di akhir nilai yang dapat kita tanyakan
JVM menganggapnya sebagai nilai float dan hanya mengalokasikan 4 byte.

Karakter
Tipe data ini mewakili satu karakter
Jenis Data Ukuran rentang
Karakter 2 byte 0 hingga 65536

Karakter direpresentasikan sebagai char di java. Di C/C++ char memiliki lebar 8 bit. Ini bukan kasus di
Java. Java menggunakan Unicode untuk merepresentasikan karakter. Unicode mendefinisikan karakter internasional yang sepenuhnya.
himpunan yang dapat mewakili semua karakter yang ditemukan dalam semua bahasa manusia. Ini adalah penyatuan dari
puluhan set karakter, seperti Latn, Yunani, Arab, Sirilik, Ibrani, Katakana, Hangul, dan
jauh lebih banyak. Untuk tujuan ini, dibutuhkan 16 bit.

Boolean: Java memiliki tipe primitif, yang disebut boolean, yang memiliki dua nilai yaitu benar atau salah
Ini adalah jenis yang dikembalikan oleh semua operator relasional, seperti dalam kasus a < b. boolean juga adalah
tipe yang diperlukan oleh ekspresi kondisional yang mengatur pernyataan kontrol seperti if dan
untuk. Benar atau salah diwakili sebagai 0 (salah) atau 1 (benar)

Ruang Lingkup dan Umur Variabel

Lingkup dan Umur Variabel: Lingkup variabel didefinisikan sebagai dalam blok atau
di luar blok. Blok dimulai dengan tanda kurung kurawal buka dan diakhiri dengan tanda kurung kurawal tutup. A
blok menentukan sebuah ruang lingkup. Jadi, setiap kali Anda memulai blok baru, Anda sedang menciptakan ruang lingkup baru.

lingkup menentukan objek apa yang terlihat oleh bagian lain dari program Anda. Umur variabel
didefinisikan sebagai seberapa lama variabel ada sebelum dihancurkan. Menghancurkan variabel mengacu pada
15

menghapus alokasi memori yang diberikan kepada variabel yang telah dideklarasikan. Ini juga menentukan
masa kehidupan objek-objek tersebut.

Bahasa seperti C dan C++ mendefinisikan lingkup dengan dua cara yaitu variabel lokal dan variabel global.
variabel adalah variabel yang didefinisikan di dalam metode main() variabel global adalah yang
didefinisikan di luar metode main(). Namun dalam Java, ada dua ruang lingkup utama yaitu yang didefinisikan
oleh sebuah kelas dan yang didefinisikan oleh sebuah metode.

//contoh tentang cakupan variabel


kelas ScopDemo
{
publik statc void main(String args[])
{
int a; // terlihat untuk seluruh blok utama
a = 1;
jika(a >= 0)
{
// memulai ruang lingkup baru
int b = 4; // hanya terlihat di blok ini
// a dan b terlihat di sini
[Link]("a dan b: " + a + " " + b);
}
[Link]( "b:"+b) //Pernyataan ini memicu Kesalahan karena b tidak
dikenal di sini
// a masih dikenal di sini.
[Link]("a adalah " + a);
}
}

Tipe Variabel

Tipe Variabel Java: Java memiliki berbagai jenis variabel yang berbeda tergantung pada mereka
dinyatakan.

Variabel Lokal: Lingkup variabel lokal berada di dalam blok atau tubuh metode.
Variabel lokal dibuat ketika kendali masuk ke dalam blok atau
konstruktor dari badan metode dan dihancurkan setelah kontrol keluar dari blok.
Variabel lokal hanya terlihat dalam blok di mana mereka dideklarasikan; mereka tidak
dapat diakses dari blok luar.
16

Variabel Instansi atau Bidang Non-Statis: Variabel yang tidak statis dan dinyatakan di luar blok
atau konstruktor atau metode disebut variabel instance. Variabel instance dibuat ketika seorang
objek dari sebuah kelas dibuat dengan menggunakan kata kunci new. Objek menyimpan keadaan mereka dalam non-statc
variabel instans.

Variabel Kelas atau Field Statik: Variabel kelas dalam Java adalah field yang dideklarasikan dengan stakata kunci tc.
Modifier statc menginformasikan kompilator bahwa akan ada hanya satu salinan variabel semacam itu yang dibuat
terlepas dari berapa banyak objek dari kelas ini yang dibuat. Variabel statis dibuat ketika a
kelas dimuat ke dalam memori oleh pemuat kelas dan dihancurkan ketika kelas dihancurkan atau
tidak dimuat. Visibilitas bidang statis akan tergantung pada pengubah akses. Nilai default diberikan kepada
anggota statis akan mengikuti aturan yang sama seperti yang dilakukan pada variabel instance.

Fungsi utama

Metode main(): Jika metode main tidak ditulis dalam program java, JVM tidak akan mengeksekusi.
itu, main () adalah titik awal bagi JVM untuk memulai eksekusi program java. Selanjutnya adalah kelas

publik statc void main (String args[]) :

JVM adalah program yang ditulis oleh pengembang perangkat lunak Java dan main() ditulis oleh kita. Karena main()
metode harus tersedia untuk JVM, harus dideklarasikan sebagai publik. Karena main() adalah sebuah metode dan
sebuah metode dijalankan dengan memanggil metode.

panggil sebuah metode: Buat sebuah objek dari kelas tempat metode tersebut berada. Sintaks dari
membuat objek adalah:

Classname objectname=new classname();

Maka metode tersebut dipanggil sebagai [Link]();

Kami memanggil metode main() tanpa membuat objek. Metode seperti itu disebut statik.
metode dan harus dinyatakan sebagai statis. Jika sebuah metode tidak mengembalikan nilai apapun maka
harus didefinisikan sebagai void sebelum nama metode. void berarti tidak ada nilai yaitu main()
metode tidak mengembalikan apa-apa. metode main () diikuti oleh String args[] metode main () juga
menerima beberapa data dari kami. Misalnya, ini menerima kumpulan string, yang juga disebut
sebagai array tipe stng.

publik statc void main (string args[])


17

args[] adalah array dari tipe string yang menyimpan kumpulan string, juga menyimpan angka tetapi
menyimpannya dalam bentuk string saja. Nilai-nilai yang diberikan ke main disebut sebagai argumen
argumen ini disimpan dalam args[].

Apa yang terjadi jika args[] Stng tidak ditulis dalam metode main(): Ketika metode main()
ditulis tanpa String args[] sebagai Public statc void main (). Kode akan dikompilasi tetapi JVM
tidak dapat menjalankan kode karena tidak dapat mengenali metode utama () sebagai metode
dari mana seharusnya eksekusi program java dimulai. JVM mencari metode main() dengan
tipe string sebagai parameter.

Sertakan Vs Impor

Jika kita menulis program C atau C++, awalnya kita menyertakan file header dengan menggunakan
#include<stdio.h>. Ini berarti permintaan kepada kompiler C/C++ untuk menyertakan berkas header

berkas header: Berkas header adalah berkas yang berisi kode fungsi dari fungsi dalam sebuah
program. Misalnya <stdio.h> berisi fungsi seperti print(), scanf() dll., jadi jika kita ingin
gunakan fungsi ini kami telah menyertakan <stdio.h>. Tapi di java untuk menyertakan file header dengan menggunakan
pernyataan impor.

Contoh:
[Link];

Perbedaan antara import dan include:

Ketika kita menggunakan pernyataan include, compiler pergi ke pustaka dan mencari bagian tertentu itu.
file header. Jika ditemukan, ia menyalin konten file header ke dalam program di mana # include
pernyataan ini ditulis. Jadi jika program memiliki 3 baris dan file header memiliki 100 baris, akhirnya memiliki
103 baris yang memakan memori program yang terbuang dan prosesor yang terbuang. Tapi
di java kita menggunakan pernyataan import sebagai pengganti include dengan menggunakan import Java JVM pergi ke perpustakaan

jalankan kode di sana dan substitusi hasilnya ke dalam program. sehingga penyimpanan penambahan untuk
file header disimpan dan waktu prosesor tidak terbuang.

Pernyataan impor digunakan untuk mengimpor kelas atau antarmuka dalam paket. Sebuah paket adalah semacam
direktori yang berisi kumpulan kelas dan antarmuka. Java memiliki beberapa paket seperti itu di dalamnya
perpustakaan.
18

Perpustakaan Java
|
Paket
|
Kelas | antarmuka
|
Metode

Pernyataan pertama harus diimpor yaitu


[Link];
Itu berarti Sistem adalah kelas yang ada di sub paket bahasa (lang) tersebut.
sub paket terletak di paket root yang disebut java. Dalam pernyataan di atas
pernyataan impor hanya mengimpor kelas sistem dalam paket lang jika kita ingin mengimpor semua
kelas dan antarmuka dalam paket kita menggunakan ‘ *’ yaitu
[Link].*//* menunjukkan semua kelas dan antarmuka

Q15. Pengenal dan Literals

Identifikator: Identifikator digunakan untuk nama kelas, nama metode, dan nama variabel. Sebuah
identifikasi dapat berupa huruf besar dan kecil, angka, atau garis bawah dan tanda dolar
karakter. Mereka tidak boleh dimulai dengan angka, agar tidak bingung dengan literal numerik.
Sekali lagi, Java peka huruf besar-kecil, jadiVALUEadalah pengenal yang berbeda dariValue.

Literal: Aliteral mewakili nilai yang disimpan ke dalam variabel secara langsung dalam program.
Contoh : boolean a= true ; short s = 1;

Literalku integer
Literal float
Literal karakter
Literar string
Literal Boolean
19

Q16. Operator

Operator adalah simbol yang melakukan operasi, operator harus diletakkan di antara operand. yaitu.

Ada tiga jenis operator: Operator Unary, Biner, dan Ternary.

Unary: Dalam Java, operator aritmatika unari digunakan untuk meningkatkan atau mengurangi nilai dari
operand. Operator increment menambahkan 1 ke nilai sebuah variabel, sedangkan operator dekrement
mengurangi nilai. Operator unary increment dan decrement bekerja sebagai berikut:
Sintaksis:
val++;
val--;
Kedua operator ini memiliki dua bentuk: Postfix dan Prefix. Keduanya melakukan increment atau decrement dalam
variabel yang sesuai. Kedua operator ini dapat ditempatkan sebelum atau sesudah variabel. Ketika itu
ditempatkan sebelum variabel, itu disebut prefix. Dan ketika ditempatkan setelahnya, itu disebut postfix.
Tabel contoh berikut menunjukkan kerja operator increment dan decrement dengan
postfix dan prefix
Contoh Deskripsi
val = a++; Simpan nilai "a" di "val" kemudian tambahkan.
val = a--; Simpan nilai "a" di "val" lalu kurangi.
val = ++a; Menambah "a" kemudian menyimpan nilai baru dari "a" di "val".
val = --a; Mengurangi "a" kemudian menyimpan nilai baru dari "a" di "val".

Operator ternary: operator ternary juga dikenal sebagai operator kondisional. Operator ini
terdiri dari tiga operand dan digunakan untuk mengevaluasi ekspresi Boolean. Tujuan dari operator
adalah untuk memutuskan, nilai mana yang harus diberikan pada variabel. Operator tersebut ditulis sebagai −
variabel x = (ekspresi) ? nilai jika benar : nilai jika salah

Operator Aritmatika +,-,*,/,%,++,--


Operator Penugasan =,+=,-=,*=,/=,%=,&=,|=,^=,>>=,<<=
Operator Pembanding ==,!=,>,<,>=,>=
Operator logika &&,||,!
Lainnya , baru
20

Operator Bitwise :

Bitwise OR (|) : Operator ini adalah operator biner, dilambangkan dengan '|'. Ini mengembalikan OR bit demi bit dari input.
nilai, yaitu, jika salah satu dari bit tersebut adalah 1, maka akan menghasilkan 1, jika tidak akan menghasilkan 0.
Sebagai contoh,
a = 5 = 0101 (Dalam Biner)
b = 7 = 0111 (Dalam Biner)

Operasi Bitwise OR dari 5 dan 7


0101
| 0111
________
0111 = 7 (Dalam desimal)

AND bitwise (&) : Operator ini adalah operator biner, dilambangkan dengan '&'. Ini mengembalikan AND bit demi bit dari
nilai input, yaitu, jika kedua bit adalah 1, maka memberikan 1, jika tidak memberikan 0.
Sebagai contoh,
a = 5 = 0101 (Dalam Biner)
b = 7 = 0111 (Dalam Biner)

Operasi AND Bitwise dari 5 dan 7


0101
& 0111
________
0101 = 5 (Dalam desimal)

XOR Bitwise (^) :Operator ini adalah operator biner, dilambangkan dengan '^'. Ini mengembalikan XOR bit per bit dari
nilai input, yaitu, jika bit yang sesuai berbeda, itu memberi 1, jika tidak memberi 0.
Misalnya,
a = 5 = 0101 (Dalam Biner)
b = 7 = 0111 (Dalam Biner)

Operasi XOR Bitwise dari 5 dan 7


0101
^ 0111
________
0010 = 2 (Dalam desimal)

Komplemen Bitwise (~) : Operator ini adalah operator unari, dilambangkan dengan '~'. Ini mengembalikan satu's
komplemen representasi dari nilai input, yaitu, dengan semua bit dibalik, berarti menjadikan setiap 0
ke 1, dan setiap 1 ke 0.
Sebagai contoh,
a = 5 = 0101 (Dalam Biner)

Operasi Komplemen Bitwise dari 5


21

~ 0101

1010 = 10 (Dalam desimal)


Catatan – Kompiler akan memberikan komplemen 2 dari angka tersebut, yaitu, komplemen 2 dari 10 adalah -6.

// Program Java untuk menggambarkan // atau bitwise


// operator bitwise // 0101 | 0111=0111 = 7
kelas publik operator { [Link]("a|b = " + (a | b));
public static void main(String[] args)
{ // xor bitwise
//Nilai awal // 0101 ^ 0111=0010 = 2
int a = 5; [Link]("a^b = " + (a ^ b));
int b = 7;
// dan bitwise
// dan bitwise // ~0101=1010
// 0101 & 0111=0101 = 5 // akan memberikan komplemen dua dari 1010 = -6
[Link]("a&b = " + (a & b)); ~a =

// juga dapat digabungkan dengan


// operator penugasan untuk memberikan
shorthand
// penugasan
// a=a&b
a &= b;
[Link]("a= " + a);
}
}

translatedText

a&b = 5
a|b = 7
a^b = 2
~a = -6
a= 5

Operator Geser: Operator ini digunakan untuk menggeser bit dari sebuah angka ke kiri atau ke kanan sehingga
mengalikan atau membagi angka dengan dua masing-masing.

Operator geser kanan bertanda (>>) : Menggeser bit angka ke kanan dan mengisi 0 pada ruang kosong
tersisa sebagai akibat. Bit paling kiri tergantung pada tanda angka awal. Efek serupa seperti dari
membagi angka dengan beberapa pangkat dua.
22

Sebagai contoh,
Contoh 1:
a = 10
a>>1 = 5

Contoh 2:
a = -10
a>>1 = -5

Operator pergeseran kanan tanpa tanda (>>>) : Menggeser bit dari angka ke kanan dan mengisi 0 di
ruang kosong yang ditinggalkan sebagai akibatnya. Bit paling kiri diatur ke 0. (>>>) adalah pergeseran tanpa tanda; itu akan menyisipkan 0. (>>) adalah
ditandatangani, dan akan memperpanjang bit tanda.
Sebagai contoh,
Contoh 1:
a = 10
a>>>1 = 5

Contoh 2:
a = -10
a>>>1 = 2147483643
TIDAK mempertahankan bit tanda.

Operator pergeseran kiri (<<) : Menggeser bit angka ke kiri dan mengisi 0 pada kekosongan yang ditinggalkan sebagai
hasil. Efek yang mirip dengan mengalikan angka dengan beberapa pangkat dua.
Sebagai contoh,
a = 5 = 0000 0101
b = -10 = 1111 0110

a << 1 = 0000 1010 = 10


a << 2 = 0001 0100 = 20

b << 1 = 0000 1010 = -20


b << 2 = 0001 0100 = -40
23

Operator pergeseran kiri tanpa tanda (<<<) : Tidak seperti pergeseran kanan tanpa tanda, tidak ada operator '<<<'
di Java, karena operasi pergeseran logika (<<) dan pergeseran kiri aritmetika (<<<) adalah identik.

// Program Java untuk mengilustrasikan


// operator pergeseran
kelas publik operator {
publik statis void utama(String[] args)
{

int a = 5;
int b = -10;

// operator pergeseran kiri


// 0000 0101<<2 =0001 0100(20)
// mirip dengan 5*(2^2)
[Link]("a<<2 = " + (a << 2));
// operator geser kanan
// 0000 0101 >> 2 =0000 0001(1)
// mirip dengan 5/(2^2)
[Link]("b>>2 = " + (b >> 2));

// operator pergeseran kanan tidak bertanda


[Link]("b>>>2 = " + (b >>>
2));
}
}
Output

a<<2 = 20
b>>2 = -3
b>>>2 = 1073741821
24

Prioritas Operator

Urutan prioritas untuk operator Java, dari yang tertinggi hingga terendah. operator: tanda kurung,
bracket persegi, dan operator titik. Secara teknis, ini disebut pemisah.

Konversi tipe primitif dan pencastan:

Satu jenis nilai ditetapkan ke jenis lain. Jika kedua jenis tersebut kompatibel, maka Java akan
lakukan konversi secara otomatis (ini juga disebut sebagai konversi tipe implisit). Menggunakan cast
operator yang melakukan konversi eksplisit.

int a; //membutuhkan 32 bit

byte b=45; // membutuhkan 8 bit

a=b; // di sini data 8 bit ditempatkan dalam penyimpanan 32 bit. Jadi perluasan terjadi.

//konversi tipe otomatis

long l = i;

//konversi tipe otomatis

float f = l;
25

Pemasangan Tipe yang Tidak Kompatibel

Destinasi-variable= (tipe-data-target) nilai Di sini, tipe-data-target menentukan jenis yang diinginkan


untuk mengonversi nilai yang ditentukan ke. Misalnya,

int a=1234;

byte b=(byte) a;

int a=258;

byte b;

b=(byte) a;

Pernyataan Kontrol

[Link] pemilihan
[Link] iterasi
[Link] lompat

Q20. Overloading Metode

Dalam Java, adalah mungkin untuk mendefinisikan dua atau lebih metode dalam kelas yang sama yang berbagi yang sama
nama, selama deklarasi parameter mereka berbeda. Ketika ini terjadi, metode
dikatakan kelebihan beban, dan proses ini disebut sebagai overloading metode. Metode
penumpukan adalah salah satu cara yang didukung Java untuk polimorfisme. Ketika sebuah metode yang ditumpuk
dihadirkan,

Anda mungkin juga menyukai