Java Program Language
Java Program Language
Versi 1.0
Bahasa JAVA adalah bahasa pemrograman yang telah digunakan secara luas di berbagai
bidang aplikasi, seperti aplikasi desktop, aplikasi web, aplikasi mobile, aplikasi untuk robot,
bahkan smartcard. Mahasiswa yang memiliki penguasaan bahasa JAVA yang baik, tentu akan
memberikan nilai tambah tersendiri. Namun untuk menguasainya setiap mahasiswa perlu
mempelajarinya dengan cermat, karena karakteristiknya yang unik. Selain itu tentu diperlukan
banyak latihan, latihan, dan latihan.
Modul ini membahas tentang pengenalan dasar pemrograman bahasa JAVA. Pembahasan
pada modul ini diawali dengan materi mengenai konsep pemrograman berorientasi objek, yang
merupakan salah satu konsep kunci untuk dapat menggunakan bahasa ini secara optimal. Setelah
itu diperkenalkan materi lain untuk dapat membuat aplikasi berbasis teks maupun berbasis
window. Modul ini merupakan seri pertama dari 3 seri yang direncanakan.
Semoga dengan mempelajari modul ini, mahasiswa dapat menguasai dasar-dasar
pemrograman bahasa JAVA, agar berikutnya dapat mengembangkan kemampuan pemrograman
yang baik.
Kritik dan saran senantiasa terbuka untuk ditujukan kepada kami. Semoga dapat menjadi
acuan dalam menyempurnakan modul ini di masa mendatang. Dan untuk edisi pertama, modul
pendahuluan ini disusun oleh Lembaga Pengembangan Komputerisasi Universitas Gunadarma
dengan bantuan tim yang bekerja secara penuh, yaitu H. Widjadi, Ricky Agus T., Ihsan Jatnika,
Arick Anjasmara, Elyna Fazriyati, Rhama Alamanda, Surahma Jaya.
Page 2
DAFTAR ISI
Page 3
Pertemuan 1
Objektif:
Page 4
1.1 Paradigma Pemrograman Berorientasi Objek
Dalam pemrograman tradisional atau prosedural, seluruh data dan kode digabung
menjadi satu bagian dalam satu program. Untuk membuat program-program sederhana,
penggunaan jenis pemrograman procedural tidak menjadi masalah. Namun masalah akan muncul
ketika program yang dibuat berkembang lebih besar dan kompleks. Hal inilah yang menjadi awal
dibuatnya model pemrograman berorientasi objek.
Pada pemrograman berorientasi objek, komponen-komponen penyusun program secara
konseptual akan dipecah menjadi bagian-bagian tersendiri yang disebut dengan objek.
Dalam pemrograman berorientasi objek, setiap objek akan memiliki data berupa variable
maupun konstanta, dan memiliki method berupa fungsi. Sehingga objek dapat didefinisikan
sebagai suatu entitas yang memiliki data dan method.
Page 5
Beberapa keuntungan yang didapat dengan menggunakan pemrograman berorientasi
objek adalah :
Nilai Keterangan
South Letak di bawah
West Letak di kiri
North Letak di atas
East Letak di kanan
Gambar 1.2. Hewan sebagai contoh sebuah objek
Hewan adalah suatu objek yang memiliki data-data berupa nama jenis hewan, jenis
kelamin hewan, berat badan, jenis makanan dan yang lainnya. Sedangkan untuk methodnya,
hewan memiliki cara berkembangbiak, cara mencari makanan, cara bertahan hidup dan
sebagainya. Contoh lainnya adalah manusia sebagai objek dengan data-data berupa nama, jenis
kelamin, tinggi badan, berat badan, usia dan yang lainnya. Untuk methodnya manusia memiliki
cara bicara, cara berjalan, cara tertawa dan yang lainnya.
Objek dalam pemrograman berorientasi objek diabstraksikan menjadi sebuah kelas. Kelas
dapat didefinisikan sebagai blueprint atau kerangka yang mendefinisikan variable-variabel dan
method umum dari sebuah objek tertentu. Karena kelas bersifat abstrak, ketika membuat sebuah
kelas baru maka kita telah mendefinisikan tipe data baru. Sekali didefinisikan, tipe data baru
tersebut dapat digunakan untuk membuat suatu objek dari tipe tersebut. Dengan kata lain, kelas
merupakan pola (template) untuk pembuatan objek, dan objek adalah wujud nyata (instance) dari
sebuah kelas. Sebagai contoh, sebuah kelas manusia memiliki instance berupa nama-nama atau
wujud dari manusia, seperti Udin, Kabayan, Iteung dan yang lainnya.
1.3 Modifier
Modifier adalah sifat yang dimiliki oleh setiap atribut, method maupun kelas dalam java.
Modifier akses adalah modifier yang selalu digunakan. Modifier akses terdiri dari private,
Page 6
default, protected, public. Selain itu ada pula modifier final, static, abstract, synchronized, native,
dan storage (transient, volatile).
[deklarasi_atribut]
[deklarasi_konstruktor]
[deklarasi_metode]
}
class PersegiPanjang{
Kode diatas menjelaskan bahwa kita telah mendefinisikan sebuah tipe data baru dengan nama
PersegiPanjang yang memiliki data-data berupa panjang dan lebar.
Page 7
Contoh pendeklarasian atribut :
- Atribut tanpa inisialisasi :
}
- Method fungsi menggunakan parameter :
Page 8
- Method prosedur tanpa parameter :
void nama_method () {
Method body;
…
}
- Method prosedur menggunakan parameter :
void LuasPersegi() {
System.out.println(“Luas Persegi = ” + (sisi *
sisi));
}
Page 9
- Method prosedur menggunakan parameter :
void LuasPersegi(int s) {
sisi = s;
}
get namaInstanceVariabel
set namaInstanceVariabel
Page 10
Contoh pendeklarasian mutator method :
1.7 Object
Object adalah instance atau representasi nyata dari sebuah kelas. Sebuah kelas bisa
memiliki banyak object, setiap object mempunyai sifat yang sama persisi seperti yang
didefinisikan dalam kelas tersebut. Untuk pemberian nama sebuah object diawali dengan huruf
kecil.
nama_class nama_object;
Kotak k;
k = new Kotak();
Page 11
this.namaInstanceVariabel
Class PersegiPanjang{
double panjang, lebar;
Class PersegiPanjang{
double panjang, lebar;
Java tidak mengizinkan pendeklarasian variable dengan nama yang sama didalam satu
blok tertentu. Disisi lain, java memperbolehkan untuk mendeklarasikan nama parameter yang
sama dengan nama data yang terdapat didalam kelas. Namun nama variable local secara otomatis
akan menimpa nama data yang terdapat didalam kelas yang bersangkutan. Untuk menghindari
penimpaan variable tersebut, maka digunakanlah kata kunci this. Akan tetapi programmer akan
menghindari penggunaan kata kunci this karena lebih membingungkan, sehingga untuk
kesamaan nama parameter dan data didalam kelas juga akan dihindari.
Page 12
Pertemuan 2
Objektif:
1. Mahasiswa dapat mengetahui definisi dari overloading method, constructor dan access
modifier pada Java
2. Mahasiswa dapat memahami cara pendeklarasian dari overloading method, constructor
dan access modifier pada Java
3. Mahasiswa dapat membuat program sederhana mengenai overloading method,
constructor dan memanfaatkan access modifier pada Java
Page 13
2.1 Overloading Method
Dalam satu class dapat mendefinisikan lebih dari satu method dengan nama yang sama
tetapi parameter yang dideklarasikan harus berbeda baik itu jumlahnya ataupun tipe
parameternya.
Syarat-syarat overloading:
1. Dalam sebuah kelas diperbolehkan lebih dari satu method dengan nama yang sama dengn
catatan method dapat dibedakan berdasarkan banyaknya parameter atau tipe data parameter.
2. Overloading tidak bisa dilakukan dengan membedakan nilai kembaliannya.
3. Overloading juga bisa dilakukan pada sub kelasnya.
Page 14
Jumlah argument sama, urut-
myMethod(String x, int y, float z) urutan tipe data sama.
Yang haru diperhatikan dari
contoh ini adalah, nama variabel
yang berbada tidak lantas
menyebabkan argument list
menjadi berbeda.
Overloading method terjadi pada objek yang sama. Ketika overloading method dipanggil, Java
mencari kesamaan antara argumen yang digunakan untuk memanggil method dan parameter dari
method. tetapi, kesamaan ini tidak mutlak karena pada Java ada otomatisasi konversi tipe yang
berbeda.
class OverloadMetode
{
//konversi tujuan bertipe integer
void test(int a)
{
System.out.println("Hasil konversi byte ke integer :"+a);
}
}
class OverloadKonversi
{
public static void main(String args[])
{
OverloadMetode ob = new OverloadMetode();
//variabel asal yang akan dikonversi bertipe byte
byte i=88;
ob.test(i);//memanggil test(integer)
}
}
Konversi otomatis pada java seperti program diatas, hanya dapat dilakukan jika kedua aturan ini
dipenuhi:
1. Kedua tipe data (data asal dan tujuan) memiliki kompatibilitas(compatible).
2. Tipe tujuan mempunyai range lebih besar daripada tipe asal.
Selain itu Java juga mengerjakan konversi secara otomatis ketika menyimpan konstanta integer
literal menjadi variable bertipe byte, short, atau long.
Page 15
2.2 Deklarasi Constructor
Constructor adalah method khusus yang didefinisikan didalam kelas dan akan dipanggil
secara otomatis setiap kali terjadi instansiasi objek. Jika dalam suatu kelas kontruktor tidak
didefinisikan, maka secara otomatis Java akan membuat sebuah constructor, yaitu null
constructor. Constructor tersebut dinamakan sebagai default constructor.
Namun jika kita mendefiniskan sebuah constructor baru untuk kelas yang dibuat, maka
default constructor sudah tidak berfugsi atau tidak digunakan lagi.
public StudentRecord()
{
//area penulisan kode
}
Sifat-sifat constructor:
1. Nama constructor sama dengan nama class
2. Tidak memiliki tipe data termasuk void
3. Tidak memiliki return value.
4. Dieksekusi ketika terjadi instansiasi.
5. Dapat mempunyai akses modifier, biasanya public namun dapat berupa private
6. Tidak dapat dipanggil secara langsung, namun harus dipanggil dengan menggunakan
operator new pada pembentukan sebuah class.
[modifier] nama_class ()
{
//statement
}
Page 16
[modifier] nama_class (parameter)
{
//statement
}
2.2.1 Overloading Constructor
Sama halnya dengan method, constructor dapat melakukan overloading. Bedanya
overloading constructor terjadi pada objek yang berbeda-beda, nilai argument berbeda, sehingga
method bisa lebih dari satu. Penerapan overloading pada kelas Java akan menjadi suatu norma
tanpa perkecualian.
class Kotak {
double panjang;
double lebar;
double tinggi;
double hitungVolume() {
return (panjang * lebar * tinggi);
}
}
class Over {
public static void main(String[] args) {
k1 = new Kotak(10);
k2 = new Kotak(4, 3, 2);
Page 17
Pada kode program diatas didefinisikan ada dua buah constructor dengan nama Kotak.
Constructor pertama memiliki satu buah parameter dimana parameter sisi sama dengan nilai
panjang, lebar dan tinggi. Constructor kedua memiliki tiga buah parameter dengan nilai panjang,
lebar dan tinggi yang berbeda.
No. Access Modifier Pada class dan Interface Pada Method & Variable
1. Default
Access Modifier ini hanya menspesifikasikan kelas-kelas (classes) di paket yang sama
yang bisa mengakses variable dan method suatu kelas. Anggota kelas dengan default
access bisa melihat kelas lain dipaket yang sama. Tidak ada keyword khusus untuk
mendeklarasikan modifier default access. Sehingga apabila tidak ada access modifier
pada pendeklarasian tersebut, berarti yang dimaksud adalah default access.
Page 18
2. Public
Suatu anggota kelas (class member) dideklarasikan sebagai public, maka anggota tersebut
akan bisa digunakan oleh siapa saja, yaitu baik oleh kelas yang sama, kelas lain maupun
lingkungan luar kelas. Sehingga anggota kelas (class member) yang dideklarasikan
sebagai public akan bisa diakses oleh sembarang object lain.
3. Protected
4. Private
Access modifier private merupakan tingkatan akses yang sangat terbatas. Kemudian
seperti modifier-modifier lain, modifier private menspesifikasikan anggota kelas (class
member) yang hanya bisa diakses oleh kelas dimana anggota-anggota kelas tersebut
dideklarasikan. Keadaan ini mengakibatkan bahwa tidak ada kelas lain yang bisa
mengakses anggota kelas private, sekaligus termasuk subkelas-subkelas (subclassess)-
nya. Access modifier private adalah yang paling terbatas, menspesifikasikan anggota
kelas(variable dan method) hanya dapat diakses oleh kelas dimana anggota itu
didefinisikan.
Page 19
Pertemuan 3
Objektif :
Page 20
3.1 Inheritance
Inheritance merupakan salah satu fitur inti dari pemrograman berorientasi objek karena
mekanisme ini memampukan penciptaan klasifikasi hirarkis. Dengan Inheritance, Anda dapat
menciptakan kelas umum yang mendefinisikan sifat/watak umum. Kelas ini kemudian dapat
diwarisi oleh kelas-kelas lain, yang merupakan kelas-kelas yang lebih spesifik, dengan
menambahkan hal-hal unik. Dalam terminologi java, sebuah kelas yang diwarisi dikenal dengan
superkelas. Kelas yang mewarisi dikenal dengan subkelas. Oleh karena itu, subkelas merupakan
versi terspesialisasi dari superkelas. Subkelas mewarisi semua variabel dan metode instans yang
didefinisikan oleh superkelas. Pada konsep Inheritance ada beberapa istilah yang perlu diketahui,
yaitu :
Sub class, digunakan untuk menunjukkan class anak atau turunan secara hirarkis dari super
class
Super class, digunakan untuk menunjukkan class induk secara hirarkis dari sub class (class
anak)
Extends, digunakan untuk menunjukkan, bahwa suatu class merupakan turunan dari class
lain. Misal A extends B, berarti class A adalah turunan dari class B. A merupakan subclass,
sedangkan B merupakan superclass.
Super, digunakan untuk memanggil konstruktor dari super class atau memanggil variable
yang mengacu pada super class. Misal super(x,y,z), berarti atribut x,y,z diambil dari atribut
pada class induk
Overriding
Overriding adalah suatu cara untuk mendefinisikan ulang method yang ada pada class induk
apabila class anak menginginkan adanya informasi yang lain. Overriding dilakukan dengan cara
menulis ulang method yang ada pada class induk dengan syarat bahwa nama dan parameter
Page 21
fungsi tersebut harus sama (tidak boleh diubah). Meskipun fungsi telah ditulis ulang oleh class
anak, fungsi yang asli pada class induk masih dapat dipanggil di class anak dengan
menggunakan class super.
Overloading
Overloading fungsi adalah penulisan beberapa fungsi (dua atau lebih) yang memiliki nama yang
sama. Pada bahasan overloading dikenal istilah signature. Signature sebuah fungsi adalah
parameter lengkap dengan tipe datanya yang terdapat dalam fungsi tersebut.Misal terdapat
fungsi:
public int jumlahMahasiswa (int laki2, int perempuan, String kelas);
maka signature dari fungsi tersebut adalah (int, int, String). Suatu fungsi dikatakan
dioverloadmanakala terdapat beberapa fungsi dengan nama yang sama namun memiliki signature
yang berbeda-beda, sebagai contoh
Menunjukkan hirarki kelas dosen., memiliki turunan berupa kelas rektor, kelas dekan dan kelas
kalab. class induk (class dosen) memiliki atribut nama, nik dan jurusan. Method yang dimiliki
oleh class dosen adalah view(). Class turunan dari class dosen ada tiga class. Pada class rektor,
Page 22
terdapat tambahan atribut berupa th_mulai dan jabatan_ke, serta method viewRektor(). Pada
class dekan terdapat tambahan atribut fakultas, dan method viewDekan(). Pada class kalab
terdapat tambahan atribut laboratorium, dan method viewKalab().
public Rektor
}}
}}
Page 23
Metode Keterangan private
Kalab
SetIcon(Icon
Untuk mengubah gambar pada ikon
gambar)
Metode Keterangan
Mengganti teks pada JTextArea dimulai dari
replaceRange(String str , int posisi awal hingga sebelum posisi akhir
awal , int akhir ) dengan string str . Perlu diketahui, posisi teks
int
berbasis nol
Menghasilkan nilai bertipe int yang
getRows()
menyatakan jumlah baris dalam JTextArea
Membuat jumlah basris pada JTextArea
setRows(int n )
sebesar n baris
getText() Menghsailkan teks pada JTextArea
setText(String teks ) Mengubah isi JTextArea dengan teks
Jika argument bernilai true maka pelipatan
SetWrapStylWord(boolean kata ) akan didasarkan akan didasarkan pada satu
kata
Menambahkan string di akhir objek
append(String st )
JTextArea
Page 24
Metode Keterangan
Mengganti teks pada TextArea dimulai dari posisi
replaceRange(String str,
awal hingga sebelum posisi akhir dengan string str.
int awal, int akhir )
Perlu diketahui, posisi teks berbasis nol
Menghasilkan nilai bertipe int yang menyatakan
getRows()
jumlah baris dalam TextArea
Membuat jumlah baris pada TextArea sebesar n
setRows(int n )
baris
Menghasilkan nilai bertipe int yang menyatakan
getColumns()
jumlah kolom dalam TextField.
Menghasilkan nilai bertipe int yang menyatakan
getColumns()
jumlah kolom dalam TextField.
Membuat jumlah kolom pada TextArea sebesar n
setColumns(int n)
kolom
setText(String teks ) Mengubah isi TextArea dengan teks
3.2 Polimorfisme
Polimorfisme adalah kemampuan mengungkap suatu hal yang berbeda melalui satu cara yang
sama. Apabila mempunyai objek yang bertipe superkelas, variable objek ini bisa diisi dengan
objek superkelas ataupun objek subkelas tanpa perlu melakukan perubahan tipe.
Pada polimorfisme kondisi yang harus terpenuhi supaya fungsi dapat dijalankan yaitu:
1. Semua kelas diturunkan dari suatu kelas yang sama
2. Method yang dipanggil harus melalui variabel dari super class.
3. Method yang dipanggil juga harus merupakan method yang ada pada super class.
4. Signature method harus sama baik yang ada pada super class maupun di subclass.
5. Method access attribute pada subclass tidak boleh lebih terbatas daripada yang ada
pada super class.
Page 25
Page 26
Polimorfisme untuk alat-alat transportasi
Pada program utama dilakukan pemanggilan terhadap ketiga class tersebut, masing-masing
dengan parameter yang bersesuaian
3.3 Interface
Interface adalah class yang hanya mengandung deklarasi method tanpa memiliki implementasi
dan semua property yang dimilikinya bersifat final. Interface mirip dengan class abstrak, tetapi
interface tidak terikat dengan class hierarki.
Page 27
Berikut ini adalah aturan yang harus kita ingat tentang pendeklarasian interface:
1. Modifier yang digunakan hanya public atau tidak sama sekali. Jika tidak menggunakan
modifier maka interface tersebut hanya dapat diakses dalam package yang sama.
2. Semua variabel yang dideklarasikan dalam interface secara otomatis adalah static final.
Karena itu waktu pendeklarasian harus diberikan nilai.
3. Semua method adalah abstrak. Bedanya dengan class abstrak adalah kita tidak perlu
menuliskan keyword abstract pada saat mendeklarasikan method dalam interface.
4. Kita dapat mengimplementasikan lebih dari satu interface (multiple inheritance) dengan
memisahkan nama dari setiap interface dengan tanda koma.
5. Dapat terjadi saat kita mengimplementasikan lebih dari satu interface ternyata interface –
interface tersebut memiliki method yang sama. Dalam hal ini method yang akan
diimplementasi adalah method yang berada pada posisi pertama.
6. Semua method yang diimplemetasikan harus public.
7. Jika kita tidak mengimplementasikan semua method yang ada pada interface, maka class
tersebut harus dideklarasikan sebagai abstract class.
Untuk lebih jelasnya kita akan mengambil contoh pada dunia nyata. Misalnya pembuat
remote control dan pembuat TV. Seorang pembuat remote control tentunya tidak perlu tahu merk
TV dan siapa yang membuat TV tersebut untuk dikontrol menggunakan remote control tersebut.
Yang perlu diketahui adalah Interface apa yang digunakan oleh TV tersebut agar dapat dikontrol.
Demikian pulu si pembuat TV tidak perlu tahu bagaimana remote control tersebut dibuat.
Pembuat TV hanya perlu tahu interface apa yang akan digunakan agar Tvnya dapat dikontrol
oleh remote control tersebut. Perhatikan implementasinya dalam kode berikut ini.
Page 28
public class TVSamsung implements Control{
String[] channel = {"RCTI","SCTV","INDOSIAR","ANTV","TV7"};
rc.kirimPerintahKeTv(1,tvp,1);
}
}
Page 29
public interface Control {
public void pindahChannel(int channel);
public void perbesarVolume(int intensitas);
public void perkecilVolume(int intensitas);
}
public class TVPolitron implements Control{
String[] channel = {"RCTI","SCTV","INDOSIAR","ANTV","TV7"};
public void pindahChannel(int channel) {
System.out.println("Pindah channel pada TV Politron ke "+
this.channel[channel]);
}
Page 30
Pertemuan 4
Penanganan Eksepsi
Objektif :
Page 31
Eksepsi
Eksepsi adalah keadaan tidak normal yang muncul pada suatu bagian program pada saat
dijalankan. Penanganan eksepsi pada java membawa pengelolaan kesalahan program saat
dijalankan ke dalam orientasi-objek. Eksepsi java adalah objek yang menjelaskan suatu keadaan
eksepsi yang muncul pada suatu bagian program.
Saat suatu keadaan eksepsi muncul, suatu objek exception dibuat dan dimasukkan ke
dalam method yang menyebabkan eksepsi. Method tersebut dapat dipilih untuk menangani
eksepsi berdasarkan tipe tertentu. Method ini juga menjaga agar tidak keluar terlalu dini melalui
suatu eksepsi, dan memiliki suatu blok program yang dijalankan tepat sebelum suatu eksepsi
menyebabkan metodenya kembali ke pemanggil.
Penanganan eksepsi pada java diatur dengan lima kata kunci, yaitu:
Try
Catch
Throw
Throws
Finally
Pada dasarnya, try digunakan untuk mengeksekusi suatu bagian program, dan jika
muncul kesalahan, sistem akan melakukan throw suatu eksepsi yang dapat anda catch
berdasarkan tipe eksepsinya, atau anda berikan finally dengan penanganan default.
Menangkap Eksepsi
Agar kesalahan karena eksepsi dapat dikendalikan, eksepsi perlu “ditangkap”. Untuk
keperluan menangkap eksepsi, Java menyediakan pernyataan try. Pernyataan ini mempunyai dua
bentuk, yang pertama:
Try{
//blok yang akan ditangkap jika terjadi eksepsi
}
Catch(parameter){
//blok yang akan dijalankan jika terjadi eksepsi
}
Try{
//blok yang akan ditangkap jika terjadi eksepsi
}
Finally{
//blok yang akan dijalankan jika terjadi eksepsi
Page 32
}
Pada bentuk di atas, bagian finally akan dijalankan, tidak tergantung apakah bagian blok
try mengalami eksepsi atau tidak.
Dari bentuk umum pertama, terdapat Catch(parameter). Parameter ini terdiri dari
bermacam-macam fungsi eksepsi. Diantaranya IOException, yang berarti mengatasi kesalahan
dalam Input atau Output, ArithmeticException, yang berarti kesalahan dalam operasi aritmatika,
NumberFormatException, yang berarti kesalahan dalam penginputan nilai ke dalam variabel.
Tipe Eksepsi
Di puncak hirarki class eksepsi terdapat satu class yang disebut throwable. Class ini
digunakan untuk merepresentasikan semua keadaan eksepsi. Setiap tipe eksepsi pada bentuk
umum di atas adalah subclass dari throwable.
Dua subclass throwable didefnisikan untuk membagi class throwable menjadi dua cabang
yang berbeda. Pertama, class exception, digunakan untuk keadaan eksepsi yang harus ditangkap
oleh program yang dibuat. Cabang kedua throwable adalah class error, yang mendefinisikan
keadaan yang tidak diharapkan untuk ditangkap dalam lingkungan normal. Berikut adalah hirarki
tentang kategori exception.
Page 33
IndexOutOfBoundsException,
NegativeArraySizeException,
NullPointerException,
SecurityException,
...
Objek eksepsi secara otomatis dihasilkan oleh runtime java untuk menanggapi suatu
keadaan eksepsi. Perhatikan contoh berikut:
Class aritmatika{
Public staticvoid main(String
args[]){ Int a =0;
Int b =42/ a;
}
}
Saat runtime java mencoba mengeksekusi pembagian, akan terlihat bahwa pembaginya
adalah 0 dan akan membentuk objek eksepsi baru yang menyebabkan program terhenti dan harus
berurusan dengan keadaan kesalahan tersebut. Kita belum mengkodekan suatu penanganan eksepsi,
sehingga penanganan eksepsi standar akan dijalankan saat terjadi kesalahan.
Output dari kode program di atas:
Exception in thread "main" java.lang.ArithmeticException:/ by zero
at belajareksepsi.BelajarEksepsi.main(BelajarEksepsi.java:9)
Java Result:1
BUILD SUCCESSFUL (total time:1 second)
Kata kunci try digunakan untuk menentukan suatu blok program yang harus dijaga
terhadap semua eksepsi, setelah blok try masukkan bagian catch, yang menentukan tipe eksepsi
yang akan ditangkap. Perhatikan contoh berikut
Class aritmatika{
Public staticvoid main(String
args[]){ Try{
Int a =0;
Int b =42/ d;
}
Catch(ArithmeticException
e){ System.out.println(“Pembagi adalah
0”);
}
}
Page 34
Outputnya:
pembagi adalah 0
BUILD SUCCESSFUL (total time:0 seconds)
Throw
Java menyediakan pernyataan yang digunakan untuk melontarkan eksepsi, yaitu berupa
pernyataan throw. Bentuk pernyataan ini:
Throw variableObject;
Dalam hal ini variableObject menyatakan variabel objek yang merujuk ke suatu kelas eksepsi.
Untuk melihat efek throw, perhatikan program berikut:
Outputnya:
Ini baris sebelum ada throw
Exception in thread "main" java.lang.RuntimeException: Ini eksepsi punya
RuntimeExceptionat cobathrow.cobathrow.main(cobathrow.java:7)
Java Result:1
BUILD SUCCESSFUL (total time:1 second)
Throws
Contoh:
Class kumpul{
//metode tanpa throws
Public void metodeA(){
System.out.println(“Metode A”);
}
//metode dengan throws
Page 35
Public void metodeB()throws
IOException{ System.out.println(“M
etode B”);
}
}
Public class cobaThrows{
Public staticvoid main(String[]
args){ kumpul coba =new kumpul();
coba.metodeA();
try{
coba.metodeB();
}
Catch(IOException e){}
}
}
Outputnya:
Metode A
Metode B
BUILD SUCCESSFUL (total time:0 seconds)
Page 36
Java For BeginnerACTIVITY 1
Pengenalan Java
1. Bagaimanakah ciri –ciri dari pemrograman procedural yang anda ketahui? Poin 6
2. Bagaimanakah ciri –ciri dari pemrograman berorientasi objek yang anda ketahui? Poin 6
3. Sebutkan keuntungan menggunakan pemrograman berorientasi objek! Poin 6
4. Jelaskan apa yang anda ketahui tentang modifier! Poin 6
5. Apa yang anda ketahui tentang class? Poin 6
6. Berikan contoh pendeklarasian method berupa prosedur yang menggunakan parameter!
Poin 10
7. Setelah melihat video tentang membuat class sederhana, buatlah program java denganoutput sebagai
berikut : (Poin 15)
8. Setelah melihat video tentang membuat program java menggunakan class, atribut danobject, Buatlah
program java untuk menghitung volume balok dengan output sebagai berikut : (Poin 15)
9. Setelah melihat video tentang membuat program java menggunakan method berupafungsi, buatlah
program java dengan nilai input sebagai berikut : (Poin 15)
10. Setelah melihat video tentang penggunaan kata kunci This pada java, buatlah programjava untuk
menghitung luas segitiga dengan input nilai sebagai berikut (Poin 15)
Jawaban :
1. Ciri – Ciri Pemrograman Prosedural menurut Module :
Seluruh data dan kode digabung menjadi satu bagian dalam satu program (Lebih
rapih dan mudah diatur)
Untuk memudahkan programmer dalam membuat program-program sederhana
Praktis dan penggunaan jenis pemrograman procedural tidak menjadi masalah
Masalah akan muncul ketika program yang dibuat berkembang lebih besar dan
kompleks
Terdiri dari objek (komponen-komponen penyusun program secara konseptual akan
dipecah menjadi bagian – bagian tersendiri yang disebut dengan objek.
Setiap objeknya memiliki variabel dan konstanta
Objek diidentifikasikan sebagai entitas yang memiliki data dan method
Tanggapan brainly (source link : https://brainly.co.id/tugas/24550967)
Ciri – ciri Pemrograman Prosedural :
- Serangkaian tugas diselesaikan dalam bentuk fungsi atau prosedure.
- Cara pandang -> program adalah suatu urutan instruksi.
- Programer harus me-break down suatu problem (problem solving) menjadi sub
problem yang lebih simple.
- Fungsi dan prosedure menjadi fokus utama.
- Fungsi dan prosedure digunakan untuk memanipulasi data.
- Data bersifat pasif.
Sifat – sifat Pemrograman Prosedural :
- Memuat teknik pemecahan masalah yang logis dan matematis.
- Memuat Algoritma yang efisien, efektif dan sederhana.
- Tidak menggunakan perintah GOTO.
- Biaya pengujian program relatif rendah.
- Memiliki dokumentasi yang baik.
- Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah.
Ciri – Ciri yang saya pelajari dari Pemrograman Prosedural :
Efektif dan Efesiensi
Lebih Terstruktur dari pemrograman lain, karena mengurutkan data dari awal hingga
akhir data.
Biaya lebih murah karena tidak banyak yang membelinya.
Memiliki pengklasifikasi data yang rapih.
Memiliki fitur lebih sederhana.
Sulit untuk dipelajari.
2. Terdapat 3 ciri mendasar dari Pemrograman Berorientasi Objek (PBO) :
Encapsulation
Proses pengelompokan property dan method dengan memberikan hak akses
kepada property dan method sehingga property hanya dapat diakses melalui
method accessor dan tidak dapat di rubah tanpa melalui prosedur yang
seharusnya yang diatur pada method mutator. Untuk lebih jelas tentang
Encapsulation ...
Inheritance (Pewarisan)
Cara untuk membangun hubungan antar object. Di dalam inheritance klas
dimana sebuah objek ditentukan oleh class – class, class – class dapat mewarisi
semua attribute dan behavior dari class yang sudah ada sebelumnya yang
biasa disebut sebagai class dasar, superclasses, atau class induk. Class – class
yang melakukan inheritance disebut sebagai derived class, subclass, atau class
rank. Hubungan antar class melalui inheritance memberikan efek kepada
hierarki class. Untuk lebih jelas tentang Encapsulation ...
Polymorphisme
Dari segi bahasa, polymorphisme berarti banyak bentuk. Di dalam
pemrograman berorientasi objek, polymorphisme adalah cara dimana sebuah
class dapat memiliki banyak method dengan nama sama dengan syarat
memiliki struktur type data dari parameternya harus berbeda. Untuk lebih
jelas tentang Polymorphisme ...
Info penting : Objek dalam pemrograman berorientasi objek diabstraksikan menjadi sebuah
kelas(class)
3. Beberapa keuntungan yang didapat dengan menggunakan pemrograman berorientasi
objek adalah :
Objek – objeknya dapat digunakan ulang (reuseable) untuk program-program
lain.
Programnya lebih terstruktur dan lebih mudah untuk dikembangkan.
Bersifat natural karena perilaku dan sifat-sifat objek didalam program akan
disesuaikan dengan objek – objek nyata yang ada di dalam sekitar kita.
4. Modifier adalah sifat yang dimiliki oleh setiap atribut, method maupun kelas dalam
java. Modifier akses adalah modifier yang selalu digunakan. Modifier akses terdiri
dari private, default, protected, public. Selain itu ada pula modifier final, static,
abstract, synchronized, native dan storage (transient, volatile).
Modifier merupakan pola (template) untuk pembuatan objek(object)
5. Kelas didefinisikan dengan kata kuncu class. Untuk menyimpan file, simpan dengan
nama file yang sama seperti class yang digunakan dalam file tersebut. Kemudian
didalam java ada aturan tersendiri untuk pemberian nama class, yaitu harus diawali
dengan huruf besar untuk membedakan antara class dan object. Nama class harus
diawali dengan huruf besar.
[deklarasi_atribut]
[deklarasi_konstruktor]
[deklarasi_metode]
Class PersegiPanjang{
Kode diatas menjelaskan bahwa kita telah mendefinisikan sebuah tipe data baru
dengan nama PersegiPanjang yang memiliki data – data berupa panjang(P) dan
lebar(L).
Object adalah instance atau representasi nyata dari sebuah kelas. Sebuah kelas bisa
memiliki banyak object, setiap object mempunyai sifat yang sama persisi seperti yang
didefinisikan dalam kelas tersebut. Untuk pemberian nama sebuah object diawali
dengan huruf kecil.
nama_class nama_object;
Kotak k;
k = new Kotak();
void nama_method () {
Method body;
…
}
Terdapat Method lain selain Procedure. Didalam java terdapat dua buah method, yaitu :
a. Fungsi. Merupakan method yang memiliki nilai balik jika method tersebut dipanggil. Cara pembuatan sebuah
fungsi adalah dengan cara menentukan nilai baliknya, kemudian nama methodnya.
- Method fungsi tanpa parameter :
}
- Method fungsi menggunakan parameter :
void LuasPersegi() {
System.out.println(“Luas Persegi = ” + (sisi *sisi));
}
Method merupakan tingkah laku yang dimiliki oleh objek. Method yang memiliki nilai balik jika method
tersebut dipanggil. Method yang menggunakan kata kunci void dan tidak mengembalikan nilai. This
digunakan didalam method untuk mewakili nama kelas yang bersangkutan.
Accessor Method
Ada kalanya object lain ingin dapat mengakses data private, untuk itu digunakanlah accessor method.
Accessor method digunakan untuk membaca nilai variable pada class, baik berupa instance maupun static.
get namaInstanceVariabel
Contoh pendeklarasian accessor method :
}
Mutator Method
Mutator method digunakan untuk memberi atau mengubah variable dalam class oleh objek (object) lain.
set namaInstanceVariabel
7.
Bentuk Umum :
class Biodata {
String Nama;
String Kelas;
String NPM;
}
class Sebut {
public static void main(String[] args){
8.
class Balok
{
int panjang;
int lebar;
int tinggi;
}
}
9.
class Nilai{
double kuis;
double tugas;
double Hitung;
}
}
}
double alas;
double tinggi;
double luas;
void isiData(double a, double t){
this.alas = a;
this.tinggi = t;
}
public static void main(String[] args) {
Segitiga sg=new Segitiga();
sg.isiData(11.5, 5);
sg.luas=(sg.alas*sg.tinggi)/2;
System.out.println("Alas: "+sg.alas);
System.out.println("Tinggi: "+sg.tinggi);
System.out.println("Luas: "+sg.luas);
}
}
ACTIVITY 2
8. Setelah melihat video tentang contoh overloading method pada java, buatlah program
java untuk menghitung hasil dari a*b, dengan ketentuan:
Nilai yang dimasukkan:
Untuk a = 5 dan 4
Untuk b = 5.5 dan 4
Print screen kode program dan output program, masukkan kedalam Microsoft Word.
*video dapat dilihat di folder 2.1 overloading method
(20 POIN)
9. Setelah melihat video tentang contoh overloading method bagian kedua pada java, buatlah
program java dengan nilai yang dimasukkan adalah:
“Tidak ada parameter”
“Dengan satu parameter bernilai : 8.5”
Print screen kode program dan output program, masukkan kedalam Microsoft Word.
*video dapat dilihat di folder 2.2 overloading method2
(20 POIN)
10. Setelah melihat video tentang contoh overloading constructor pada java, buatlah program
java dengan nilai yang dimasukkan adalah:
a) Untuk constructor tanpa parameter input nilai panjang = 2, lebar = 3, tinggi = 5
b) Untuk constructor dengan 1 parameter nilai yang diinput 15
c) Untuk constructor dengan 3 parameter nilai yang diinput adalah 3, 5, 4
*video dapat dilihat di folder 2.3 overloading constructor
(20 POIN)
Jawaban :
1. Overloading pada method static. Method static dapat memiliki lebih dari satu static method
dengan nama yang sama, tetapi berbeda pada input parameternya.
2. Syarat-syarat overloading:
1. Dalam sebuah kelas diperbolehkan lebih dari satu method dengan nama yang sama
dengncatatan method dapat dibedakan berdasarkan banyaknya parameter atau tipe
data parameter.
2. Overloading tidak bisa dilakukan dengan membedakan nilai kembaliannya.
3. Overloading juga bisa dilakukan pada sub kelasnya.
Overloading itu mendeklarasikan lebih dari satu kali dengan syarat-syarat tertentu. baik
overloading method ataupun
konstruktor(https://bernazlionk.wordpress.com/2009/01/21/overloadding-method/)
3. Deklarasi constructor
Constructor adalah method khusus yang didefinisikan didalam kelas dan akan dipanggil
secara otomatis setiap kali terjadi instansiasi objek. Jika dalam suatu kelas kontruktor tidak
didefinisikan, maka secara otomatis Java akan membuat sebuah constructor, yaitu null
constructor. C onstructor tersebut dinamakan sebagai default constructor.
Namun jika kita mendefiniskan sebuah constructor baru untuk kelas yang dibuat, maka
default constructor sudah tidak berfugsi atau tidak digunakan lagi.
(http://efazriyati.staff.gunadarma.ac.id/Downloads/files/51914/PBO_Lanjut.pdf)
Contoh default constructor :
public StudentRecord()
{
//area penulisan kode
}
4. Sifat-sifat constructor:
1. Nama constructor sama dengan nama class
2. Tidak memiliki tipe data termasuk void
3. Tidak memiliki return value.
4. Dieksekusi ketika terjadi instansiasi.
5. Dapat mempunyai akses modifier, biasanya public namun dapat berupa private
6. Tidak dapat dipanggil secara langsung, namun harus dipanggil dengan menggunakan
operator new pada pembentukan sebuah class.
[modifier] nama_class ()
{
//statement
}
(http://efazriyati.staff.gunadarma.ac.id/Downloads/files/51914/PBO_Lanjut.pdf)
6. Overload Konstruktor di Java
Overloading Konstruktor Java adalah teknik di mana suatu kelas dapat memiliki
sejumlah konstruktor yang berbeda dalam daftar parameter. Kompiler membedakan
konstruktor ini dengan memperhitungkan jumlah parameter dalam daftar dan
tipenya.
(https://www.guru99.com/java-constructors.html)
Overloading Constructor
Sama halnya dengan method, constructor dapat melakukan overloading. Bedanya
overloading constructor terjadi pada objek yang berbeda-beda, nilai argument
berbeda, sehingga method bisa lebih dari satu. P enerapan overloading pada kelas
Java akan menjadi suatu norma tanpa perkecualian.
Berikut contoh overloading pada constructor:
import java.awt.*;
import java.awt.event.*;
import java.text.*;
import java.util.*;
import java.util.ArrayList;
import java.util.regex.*;
import java.util.Date.*;
import java.lang.*;
import java.applet.*;
import java.net.*;
import java.util.Scanner;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.math.RoundingMode;
double hitungVolume() {
return (panjang * lebar * tinggi);
}
}
class Over {
public static void main(String[] args) { Kotak k1, k2;
k1 = new Kotak(10);
k2 = new Kotak(4, 3, 2);
(http://efazriyati.staff.gunadarma.ac.id/Downloads/files/51914/PBO_Lanjut.pdf)
No. Access Modifier Pada class dan Interface Pada Method & Variable
1. Default
Suatu anggota kelas (class member) dideklarasikan sebagai public, maka anggota
tersebut akan bisa digunakan oleh siapa saja, yaitu baik oleh kelas yang sama,
kelas lain maupun lingkungan luar kelas. Sehingga anggota kelas (class member)
yang dideklarasikan sebagai public akan bisa diakses oleh sembarang object lain.
3. Protected
int a = k.kali(5,4);
double b = k.kali(5.5, 4);
c.type();
c.type(8.5);
}
}
Output PowerShell !
Output dengan C ommand Prompt atau C ommand Line Interface (C LI) !
k1 = new Kotak(15);
k2 = new Kotak();
k3 = new Kotak(3,5,4);
System.out.println("Volume k1 = "+k1.hitungVolume());
System.out.println("Volume k2 = "+k2.hitungVolume());
System.out.println("Volume k3 = "+k3.hitungVolume());
}
}
}
ACTIVITY 3
# Print screen Listing dan Output Program yang anda kerjakan pada ms. word
# Baca dan pahami soal secara seksama, Simpan pada folder yang telah dibuat
SOAL :
1. Ketikan kembali script seperti gambar di bawah ini, Dan jelaskan kegunaan class
Mamalia didalam program ini ! simpan dengan nama Mamalia.java. Bobot(5)
2. Ketikan kembali script seperti gambar di bawah ini, Jelaskan kegunaan script extends
pada script di bawah ini ! Simpan dengan nama Paus.java. (Bobot 5).
3. Ketikan kembali script seperti gambar di bawah, Apa kegunaan dari script class
Cheetah extends Mamalia ? Simpan dengan nama Cheetah.java. (Bobot 10).
4. Ketikan kembali script seperti gambar di bawah, Apa yang akan terjadi jika String x
= "Sapi " dihapus ? Simpan dengan nama Sapis.java. (Bobot 10).
5. . Ketikan kembali script seperti gambar di bawah, Jelaskan kegunaa class Turunan yang
adadi bawah ini? Simpan dengan nama Turunans.java. (Bobot 60).
Untuk menjalankan program , complie file java Turunan.java kemudian lihat hasilnya
# Print screen Listing dan Output Program yang anda kerjakan pada ms. word
# Baca dan pahami soal secara seksama, Simpan pada folder yang telah dibuat
SOAL :
Untuk menjalankan program , complie file java suarahewan.java kemudian lihat hasilnya
# Print screen Listing dan Output Program yang anda kerjakan pada ms. word
# Baca dan pahami soal secara seksama, Simpan pada folder yang telah dibuat
SOAL :
Untuk menjalankan program , complie file java Tester.java kemudian lihat hasilnya
Belum ada output program, dikarenakan kelas Mamalia hanya sebagai penampung file dari file lainnya.
Beralih ke file Paus.java
Bentuk umum Pewarisan Kelas :
Belum ada output program, dikarenakan kelas Mamalia hanya sebagai penampung file Paus yang akan
diwariskan ke file lainnya. Beralih ke file Cheetah.java
Nama class Cheetah dengan cara
3. “extends” / pewarisan kelas dari
a. Kode program dalam bentuk file Cheetah.java class Mamalia
Belum ada output program, dikarenakan kelas Mamalia hanya sebagai penampung file Paus yang akan
diwariskan ke file Cheetah dan diwariskan lagi ke file Sapis. Beralih ke file Turunans.java
Kesimpulannya dalam pembuatan inheritance (pewarisan) diperlukan sebuah switch-case yang memiliki
kekurangan. Hanya bisa memilih satu class saja. Tidak memerlukan perulangan pada program.
1. ACTIVITY 3.2 POLIMORFISME
Semua program disimpan dalam satu folder
(C:\Users\DELL\OneDrive\Desktop\Javaprogram\Sekelompok Hewan)
Command Prompt / Commmand Line Interface
cd C:\Users\DELL\OneDrive\Desktop\Javaprogram\Sekelompok Hewan
javac suarahewan.java
java suara hewan
Belum ada output program, dikarenakan kelas hewan hanya sebagai penampung file dari file lainnya.
Beralih ke file kuda.java
2.
Nama class kuda dengan cara
a. Kode program dalam bentuk file kuda.java
“extends” / pewarisan kelas dari
class hewan
public class kuda extends hewan{
public void suara(){
System.out.println("Kuda mengikik..."); Overloading method
} tanpa parameter
} Overloading void
suara();
Digunakan untuk mencetak
Method view public void
program bertipe data string
suara();
Superclass :hewan
Subclass : kucing
Belum ada output program, dikarenakan kelas hewan hanya sebagai penampung file kuda yang akan
diwariskan ke file kucing. Beralih ke file ayam.java
Nama class ayam dengan cara
4.
“extends” / pewarisan kelas dari
a. Kode program dalam bentuk file ayam.java
class hewan
public class ayam extends hewan{
public void suara(){ Overloading method
System.out.println("Ayam berkokok..."); tanpa parameter
}
} Method view public void
Overloading void Digunakan untuk mencetak
suara(); program bertipe data string suara();
Belum ada output program, dikarenakan kelas hewan hanya sebagai penampung file kuda yang akan
diwariskan ke file kucing dan diwariskan lagi ke file ayam. Beralih ke file suarahewan.java
Method ada 4
HEWAN.suara();
5.
a. Kode program dalam bentuk file suarahewan.java
public class suarahewan{
Nama class suarahewan
public static void main(String[] args){
hewan HEWAN = new hewan();
kuda KUDA = new kuda();
kucing KUCING = new kucing(); Run || debug untuk seluruh
ayam AYAM = new ayam(); program dari 1 – 4 tanpa
harus memiliki sebuah paket
HEWAN.suara();
Konstruktor ada empat
HEWAN = KUDA; hewan HEWAN = new hewan();
HEWAN.suara(); kuda KUDA = new kuda();
kucing KUCING = new kucing(); hewan dideklarasikan sebagai objek baru
ayam AYAM = new ayam(); yaitu “HEWAN”
HEWAN = KUCING; kuda dideklarasikan sebagai objek baru yaitu
HEWAN.suara(); “KUDA”
kucing dideklarasikan sebagai objek baru
HEWAN = AYAM; yaitu “KUCING”
HEWAN.suara(); HEWAN sebagai superclass dan suara ayam dideklarasikan sebagai objek baru yaitu
sebagai subclass (KUDA, KUCING, dan “AYAM”
}
AYAM). Selalu diakhiri dengan
}
HEWAN.suara();
Kesimpulan : perbedaan dari inheritance(pewarisan) lebih memilih satu class pilihan saja,
sedangkan polimorfisme semua class dipilh dan dicetak di satu layar output. Tanpa adanya
perulangan dan dicetak di satu dalam jumlah yang banyak. Mengambil beberapa objek tanpa
harus menduplikasi objek lainnya.
Tampilan output dari ACTIVITY 3.2 POLIMORFISME
Compile file
suarahewan.java
Belum ada output program, dikarenakan kelas OpsiSenjata hanya sebagai penampung. Beralih ke file
Senjata.java
Superclass :OpsiSenjata
Subclass : Senjata
2.
a. Kode program dalam bentuk file Senjata.java
Nama class Senjata dengan cara
public class Senjata implements OpsiSenjata { mrngimplementasikan interface dari
class OpsiSenjata
int pelor= 0;
String[] senjata = {"M532", "Magnum", "M16", "AK47", "Panzerfaust"};
Senjata(int pelor){
this.pelor = pelor; Pilihan array dimulai dari
} [0..7]
Belum ada output program, dikarenakan kelas OpsiSenjata hanya sebagai penampung diimplementasikan
sebagai kelas Senjata. Beralih ke file Tester.java
3.
a. Kode program dalam bentuk file Tester.java Nama class Tester{}
public class Tester{
public static void main (String[] args){
Senjata Gun1 = new Senjata(7); Run | debug
Gun1.tembakSenjata();
Gun1.tembakSenjata();
Gun1.reloadSenjata(); 1 konstruktor dengan
Gun1.tukarSenjata(2); parameter
} Senjata Gun1 = new
method dengan parameter : Senjata(7);
} Gun1.tukarSenjata(2);
3 method tanpa parameter :
b. Kode program dalam bentuk listing program Gun1.tembakSenjata();
Gun1.tembakSenjata();
Gun1.reloadSenjata();
}
//Sapis.java dan Extends berguna sebagai pewarisan class dari Mamalia.java
}
}
//Turunans.java dan menggunakan IOexception sebagai alat input / output suatu program
import java.awt.*;
import java.awt.event.*;
import java.text.*;
import java.util.*;
import java.util.ArrayList;
import java.util.regex.*;
import java.util.Date.*;
import java.lang.*;
import java.applet.*;
import java.net.*;
import java.util.Scanner;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.math.RoundingMode;
import java.io.*;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import java.io.Console;
import java.io.InputStreamReader;
class Turunan {
public static void main(String[] args) throws IOException
{
String sInput=null;
System.out.println("====JENIS MAMALIA====");
System.out.println("1. Ikan Paus");
System.out.println("2. Cheetah");
System.out.println("3. Sapi");
System.out.println("Masukkan Pilihan [1..3] : ");
Mamalia generalx = new Mamalia();
Paus turunan1 = new Paus();
Cheetah turunan2 = new Cheetah();
Sapi turunan3 = new Sapi();
}
}
//suarahewan.java
public class suarahewan{
public static void main(String[] args){
hewan HEWAN = new hewan();
kuda KUDA = new kuda();
kucing KUCING = new kucing();
ayam AYAM = new ayam();
HEWAN.suara();
HEWAN = KUDA;
HEWAN.suara();
HEWAN = KUCING;
HEWAN.suara();
HEWAN = AYAM;
HEWAN.suara();
}
}
int pelor= 0;
String[] senjata = {"M532", "Magnum", "M16", "AK47", "Panzerfaust"};
Senjata(int pelor){
this.pelor = pelor;
}
}
}
}
Java For Beginner
ACTIVITY 4
Berikut kode program yang harus dianalisa oleh anda. Ketik kode program berikut pada
notepad atau notepad++ kemudian simpan dengan nama belajar_eksepsi.java setelah itu
compile dan jalankan
Tentukan jenis exception yang terdapat pada kode program di atas dan berikan try- catchfinally
sehingga output menjadi sebagai berikut (Poin 20)
Setelah kode program di atas ditambahkan try-catch-finally. Tambahkan kode program berikut
di bawah finally
Kemudian compile dan jalankan, jika terdapat error, berikan try-catch-finally yang sesuai
dengan error exception yang dihasilkan kode program di atas. Sehingga output menjadiseperti
berikut (Poin 20)
kemudian compile dan jalankan kembali. Jika terdapat error, buat try-catch-finally nya sesuai
dengan jenis error sehingga output menjadi seperti berikut. (Poin 20)
Pertanyaan
1. Jenis exception apa saja yang terdapat pada kasus di atas? (Poin 20)
2. Jelaskan masing masing jenis exception yang terdapat pada kasus di atas! (Poin 20)
Jawaban : public class belajar_eksepsi{//class utama
1. public static void main (String[] args) //compiler
{
String nilai[] = new String [3]; //tipe data string berindeks array
}
}
// program dijalankan pada CommandPrompt
// menuju ke C:\Users\DELL\OneDrive\Desktop\program eksepsi
// dengan mengetikkan cd C:\Users\DELL\OneDrive\Desktop\program eksepsi
// javac belajar_eksepsi.java
// java belajar_eksepsi
// hasil output berupa Macam Exception (ArrayIndexOutOfBoundsException)
}
catch(ArrayIndexOutOfBoundsException e)//blok program antisipasi error yang
terjadi pada try
{
System.out.println("ini blok program catch karena try mengalami error");
}
finally //blok program default yang akan dijalankan baik program error atau tidak
{
System.out.println("kode program try dilewati");
}
}
}
// program dijalankan pada CommandPrompt
// menuju ke C:\Users\DELL\OneDrive\Desktop\program eksepsi
// dengan mengetikkan cd C:\Users\DELL\OneDrive\Desktop\program eksepsi
// javac belajar_eksepsi.java
// java belajar_eksepsi
// hasil output berupa Macam Exception (ArrayIndexOutOfBoundsException)
Hasil Output Menggunakan try-catch-finally :
3.
}
catch(ArrayIndexOutOfBoundsException e)//blok program antisipasi error yang
terjadi pada try
{
System.out.println("ini blok program catch karena try mengalami error");
//mencetak kalimat 1
}
finally //blok program default yang akan dijalankan baik program error atau tidak
{
System.out.println("kode program try dilewati"); //mencetak kalimat 2
}
try //blok program yang akan dijalankan
{
String nilai[] = new String [3]; //tipe data string berindeks array
int hasil = Integer.parseInt(nilai[2]);// indeks 2 didefinisikan menjadi
pembacaaan integer pada hasil
}
catch (NumberFormatException e)//blok program antisipasi error yang terjadi pada
try
{
System.out.println("try kedua juga gagal"); //mencetak kalimat 3
}
finally //blok program default yang akan dijalankan baik program error atau tidak
{
System.out.println("kode program try kedua dilewati"); //mencetak kalimat 4
}
}
}
// program dijalankan pada CommandPrompt
// menuju ke C:\Users\DELL\OneDrive\Desktop\program eksepsi
// dengan mengetikkan cd C:\Users\DELL\OneDrive\Desktop\program eksepsi
// javac belajar_eksepsi.java
// java belajar_eksepsi
// hasil output berupa Macam Exception (ArrayIndexOutOfBoundsException)
}
catch(ArrayIndexOutOfBoundsException e)//blok program antisipasi error yang
terjadi pada try dengan jenis ArrayIndexOutofBoundsException
{
System.out.println("ini blok program catch karena try mengalami error");
//mencetak kalimat 1
}
finally //blok program default yang akan dijalankan baik program error atau tidak
{
System.out.println("kode program try dilewati"); //mencetak kalimat 2
}
try //blok program yang akan dijalankan
{
String nilai[] = new String [3]; //tipe data string berindeks array
int hasil = Integer.parseInt(nilai[2]);// indeks 2 didefinisikan menjadi
pembacaaan integer pada hasil
}
catch (NumberFormatException e)//blok program antisipasi error yang terjadi pada
try dengan jenis NumberFormatException
{
System.out.println("try kedua juga gagal"); //mencetak kalimat 3
}
finally //blok program default yang akan dijalankan baik program error atau tidak
{
System.out.println("kode program try kedua dilewati"); //mencetak kalimat 4
}
try //blok program yang akan dijalankan
{
String nilai[] = new String [3]; //tipe data string berindeks array
int a = Integer.parseInt(nilai[0]); //indeks 0 didefinisikan menjadi
pembacaaan integer pada a
int b = Integer.parseInt(nilai[1]); //indeks 1 didefinisikan menjadi
pembacaaan integer pada b
Pertanyaan :
1. Jenis Exception yang terdapat pada kasus diatas adalah :
-ArrayIndexOutofBoundsException.
- NumberFormatException.
- NumberFormatException.
NO KATA PENJELASAN
1. Try Blok program yang akan
dijalankan.
2. Catch Blok program antisipasi error
yang terjadi pada try.
3. Finally Blok program default yang
akan dijalankan baik program
error atau tudak.
4. ArithmeticException Kesalahan Aritmatik.
5. IndexOutofBoundsException Indeks di luar batas.
6. ArrayIndexOutBoundsException Indeks array di luar batas.
7. NullPointerException Penggunaan null yang tidak
sah.
8. ArrayStoreException Pemberian nilai ke elemen
array tidak sesuai dengan
tipenya.
9. NumberFormatException Konversi yang tidak sah dari
String ke format Numerik.
1 public class belajar_eksepsi{//class utama
2 public static void main (String[] args)
3 { //Compiler
4 try //blok program yang akan dijalankan
5 {
6 String nilai[] = new String [3]; //tipe data string berindeks array
7
8 nilai[0] = "0"; //indeks 0 didefinisikan menjadi 0 bertipe String
9 nilai[1] = "1"; //indeks 1 didefinisikan menjadi 1 bertipe String
10 nilai[2] = "dua"; //indeks 2 didefinisikan menjadi dua bertipe String
11 nilai[3] = "tiga"; //indeks 3 didefinisikan menjadi tiga bertipe String
12
13 }
14 catch(ArrayIndexOutOfBoundsException e)//blok program antisipasi error yang terjadi
pada try dengan jenis ArrayIndexOutOfBoundsException
15 {
16 System.out.println("ini blok program catch karena try mengalami error");
//mencetak kalimat 1
17 }
18 finally //blok program default yang akan dijalankan baik program error atau tidak
19 {
20 System.out.println("kode program try dilewati"); //mencetak kalimat 2
21 }
22 try //blok program yang akan dijalankan
23 {
24 String nilai[] = new String [3]; //tipe data string berindeks array
25 int hasil = Integer.parseInt(nilai[2]); //indeks 2 didefinisikan menjadi
pembacaaan integer pada hasil
26 }
27 catch (NumberFormatException e)//blok program antisipasi error yang terjadi pada
try dengan jenis NumberFormatException
28 {
29 System.out.println("try kedua juga gagal"); //mencetak kalimat 3
30 }
31 finally //blok program default yang akan dijalankan baik program error atau tidak
32 {
33 System.out.println("kode program try kedua dilewati"); //mencetak kalimat 4
34 }
35 try //blok program yang akan dijalankan
36 {
37 String nilai[] = new String [3];
38 int a = Integer.parseInt(nilai[0]); //indeks 0 didefinisikan menjadi pembacaaan
integer pada a
39 int b = Integer.parseInt(nilai[1]); //indeks 1 didefinisikan menjadi pembacaaan
integer pada b
40
41 int hasil = b / a; //perhitungan hasil didefinisikan sebagai b dibagi a
42 }
43 catch (NumberFormatException e)//blok program antisipasi error yang terjadi pada
try dengan jenis NumberFormatException
44 {
45 System.out.println ("try ketiga gagal"); //mencetak kalimat 5
46 }
47 finally //blok program default yang akan dijalankan baik program error atau tidak
48 {
49 System.out.println("semuanya try gagal"); //mencetak kalimat 6
50 }
51 }
52 }
53 // program dijalankan pada CommandPrompt
54 // menuju ke C:\Users\DELL\OneDrive\Desktop\program eksepsi
55 // dengan mengetikkan cd C:\Users\DELL\OneDrive\Desktop\program eksepsi
56 // javac belajar_eksepsi.java
57 // java belajar_eksepsi
58 // hasil output berupa Macam Exception (ArrayIndexOutOfBoundsException)
Jika nama parameter dan nama data didalam kelas memiliki nama yang sama, dapat digunakan kata
kunci :
Select one:
a. Return
b. Class
c. Void
d. This
Feedback
Select one:
a. Fungsi
b. Class
c. Prosedur
d. Object
Feedback
Select one:
a. Class
b. This
c. Void
d. Return
Feedback
Nama harus diawali dengan huruf besar merupakan aturan untuk penamaan :
Select one:
a. Atribut
b. Modifier
c. Class
d. Object
Feedback
Didalam java terdapat dua buah method, yaitu fungsi dan prosedur. Fungsi adalah :
Select one:
Select one:
a. Atribut
b. Instance
c. Modifier
d. Method
Feedback
Nama harus diawali dengan huruf kecil merupakan aturan untuk penamaan :
Select one:
a. Modifier
b. Atribut
c. Class
d. Object
Feedback
Dibawah ini merupakan data yang dimiliki oleh objek manusia, kecuali :
Select one:
a. Cara bicara
b. Tinggi badan
c. Nama
d. Jenis kelamin
Feedback
Select one:
a. Atribut
b. Method
c. Class
d. This
Feedback
Select one:
a. Modifier
b. Object
c. Atribut
d. This
Feedback
Select one:
b. Cara berkembangbiak
Feedback
Dibawah ini adalah keuntungan yang didapat dengan menggunakan pemrograman berorientasi objek,
kecuali :
Select one:
a. Reuseable
Feedback
Select one:
a. Public
b. Final
c. Default
d. Private
Feedback
The correct answer is: Final
Select one:
a. Modifier
b. Class
c. Object
d. This
Feedback
Select one:
b. Tumbuhan
d. Hewan
Feedback
Select one:
Select one:
Select one:
a. Tidak bisa diterapkan pada class, interface, method dan variabel manapun
Acces Modifier yang diwarisi oleh subkelasnya dan dapat diakses oleh method-method yang sepaket
adalah :
Select one:
a. Protected
b. Public
c. Default
d. Private
Select one:
Acces Modifier yang tidak dapat diakses di class dan method manapun adalah :
Select one:
a. Public
b. Private
c. Protected
d. Default
Pendefinisian method yang lebih dari satu dalam satu class disebut :
Select one:
a. Overloading Constructor
b. Overloading Method
c. Modifier
d. Object
Keyword yang digunakan untuk menentukan spesifikasi tingkat akses suatu variabel atau method
disebut :
Select one:
a. Konstruktor
b. Overloading Method
c. Overriding Method
d. Access Modifier
Acces Modifier yang dapat diwarisi oleh subkelas dipaket yang sama dan dapat diakses oleh method-
method yang sepaket adalah :
Select one:
a. Default
b. Public
c. Protected
d. Private
Select one:
a. [modifier] nama_class(){//parameter}
b. [modifier] nama_class(parameter)
c. [modifier] nama_class()
d. [modifier] nama_class(){//statement}
Select one:
Select one:
Acces Modifier yang diwarisi oleh subkelasnya dan dapat diakses dimanapun adalah :
Select one:
a. Private
b. Protected
c. Public
d. Default
Yang merupakan syarat-syarat overloading adalah :
Select one:
Method khusus yang didefinisikan didalam kelas dan akan dipanggil secara otomatis setiap kali terjadi
instansiasi objek disebut :
Select one:
a. Object
b. Constructor
c. Method
d. Class
Suatu cara untuk mendefinisikan ulang method yang ada pada class induk apabila class anak
menginginkan adanya informasi yang lain :
Select one:
a. Overriding
b. Overfunction
c. Overloading
d. Overcode
Berikut ini pernyataan yang benar mengenai Inheritance dalam java, kecuali :
Select one:
Select one:
Penulisan beberapa fungsi (dua atau lebih) yang memiliki nama yang sama :
Select one:
a. Overcode
b. Overloading
c. Overfunction
d. Overriding
Select one:
a. nm_metode( )
b. superclass.nm_metode( )
c. super.nm_metode( )
d. super nm_metode( )
Keyword yang digunakan untuk memanggil konstruktor dari super class atau memanggil variable yang
mengacu pada super class :
Select one:
a. Extends
b. Import
c. Implements
d. Super
Pada polimorfisme kondisi yang harus terpenuhi supaya fungsi dapat dijalankan yaitu kecuali :
Select one:
a. Method access attribute pada subclass boleh lebih terbatas daripada yang ada
b. Method yang dipanggil juga harus merupakan method yang ada pada super class
Select one:
a. Child Class
b. Sub Class
c. Mini Class
d. Lower Class
Select one:
b. Customer
c. TowerOfHanoy
d. Scanner
Keyword yang digunakan untuk menunjukkan, bahwa suatu class merupakan turunan dari class lain :
Select one:
a. Inheritance
b. Child
c. Parent
d. Extends
Pemrograman berorientasi objek mencakup keaneka ragaman objek yang menjamin terhimpunnya
perpaduan keaneka ragaman antara data dengan prosedur atau fungsi, adalah :
Select one:
a. Inheritance
b. Polymorphism
c. Enkapsulasi
Dalam konsep OO, setiap object memiliki behaviour. Apa yang dimaksud behaviour ?
Select one:
b. Method
c. Identifier
Select one:
Select one:
a. Super Class
b. Upper Class
c. Derived Class
d. High Class
Class yang hanya mengandung deklarasi method tanpa memiliki implementasi dan semua property yang
dimilikinya bersifat final adalah :
Select one:
a. final method
b. void final
c. Interfaces
Select one:
a. Return
b. Class
c. Void
d. This
Feedback
Select one:
a. Fungsi
b. Class
c. Prosedur
d. Object
Feedback
Select one:
a. Class
b. This
c. Void
d. Return
Feedback
Nama harus diawali dengan huruf kecil merupakan aturan untuk penamaan :
Select one:
a. Atribut
b. Modifier
c. Class
d. Object
Feedback
Didalam java terdapat dua buah method, yaitu fungsi dan prosedur. Fungsi adalah :
Select one:
Select one:
a. Atribut
b. Instance
c. Modifier
d. Method
Feedback
Nama harus diawali dengan huruf besar merupakan aturan untuk penamaan :
Select one:
a. Modifier
b. Atribut
c. Class
d. Object
Feedback
Dibawah ini merupakan data yang dimiliki oleh objek manusia, kecuali :
Select one:
a. Cara bicara
b. Tinggi badan
c. Nama
d. Jenis kelamin
Feedback
Select one:
a. Atribut
b. Method
c. Class
d. This
Feedback
Select one:
a. Modifier
b. Object
c. Atribut
d. This
Feedback
Select one:
b. Cara berkembangbiak
Feedback
Dibawah ini adalah keuntungan yang didapat dengan menggunakan pemrograman berorientasi objek,
kecuali :
Select one:
a. Reuseable
c. Bersifat natural
Feedback
Select one:
a. Public
b. Final
c. Default
d. Private
Feedback
The correct answer is: Final
Select one:
a. Modifier
b. Class
c. Object
d. This
Feedback
Select one:
a. Singa
b. Tumbuhan
c. Manusia
d. Hewan
Feedback
Select one:
Feedback
Select one:
Feedback
Acces Modifier yang diwarisi oleh subkelas dipaket yang sama dan dapat diakses oleh method-method
yang sepaket adalah :
Select one:
a. Protected
b. Public
c. Private
d. Default
Feedback
Keyword yang digunakan untuk menentukan spesifikasi tingkat akses suatu variabel atau method
disebut :
Select one:
a. Access Modifier
b. Object
c. Overloading Method
d. Class
Feedback
Select one:
a. Object
b. Method
c. Constructor
d. Class
Feedback
Select one:
a. Class
b. Object
c. Method
d. Modifier
Feedback
Select one:
Feedback
Select one:
Feedback
The correct answer is: Overloading tidak bisa dilakukan pada sub kelas
Acces Modifier yang tidak dapat diakses di class dan method manapun adalah :
Select one:
a. Protected
b. Private
c. Public
d. Default
Feedback
Select one:
a. Semua benar
Feedback
Select one:
a. Default
b. Public
c. Protected
d. Private
Feedback
Select one:
Feedback
Acces Modifier yang diwarisi oleh subkelasnya dan dapat diakses oleh method-method yang sepaket
adalah :
Select one:
a. Private
b. Protected
c. Public
d. Default
Feedback
Select one:
Feedback
The correct answer is: Tidak bisa diterapkan pada class dan interface
Select one:
a. [modifier] nama_class()
b. [modifier] nama_class(){//statement}
c. [modifier] nama_class(parameter)
d. [modifier] nama_class(){//parameter}
Feedback
Select one:
a. Derived Class
b. Child Class
c. Lower Class
d. Super Class
Feedback
Select one:
Feedback
Suatu cara untuk mendefinisikan ulang method yang ada pada class induk apabila class anak
menginginkan adanya informasi yang lain :
Select one:
a. Overhead
b. OverrRead
c. Overriding
d. Overloading
Feedback
Dalam konsep OO, setiap object memiliki behaviour. Apa yang dimaksud behaviour ?
Select one:
a. Variabel
b. Semua Benar
c. Method
d. Identifier
Feedback
Select one:
a. Child
b. Extends
c. Parent
d. Inheritance
Feedback
Penulisan beberapa fungsi (dua atau lebih) yang memiliki nama yang sama :
Select one:
a. Overloading
b. Overriding
c. Overhead
d. OverrRead
Feedback
Class yang digunakan untuk menunjukkan class anak atau turunan secara hirarkis dari super class :
Select one:
a. Child Class
b. Sub Class
c. Super
d. Super Class
Feedback
Select one:
a. Semua Salah
b. Interfaces
c. void final
d. final method
Feedback
Select one:
a. Customer
b. Scanner
c. TowerOfHanoy
d. Semua Benar
Feedback
Keyword yang digunakan untuk memanggil konstruktor dari super class atau memanggil variable yang
mengacu pada super class :
Select one:
a. Import
b. Super
c. Extends
d. Implements
Feedback
Select one:
b. Method yang dipanggil juga harus merupakan method yang ada pada super class
c. Method access attribute pada subclass boleh lebih terbatas daripada yang ada
Feedback
The correct answer is: Method access attribute pada subclass boleh lebih terbatas daripada yang ada
Class yang digunakan untuk menunjukkan class induk secara hirarkis dari sub class :
Select one:
a. Sub Class
b. Child Class
c. Super
d. Super Class
Feedback
Select one:
a. Child Class
b. Sub Class
c. Super Class
d. Derived Class
Feedback
Select one:
Feedback
The correct answer is: public interfaces [namainterfaces] {//beberapa method tanpa isi}
CONTOH SOAL
4. Meningkatkan extensibilitas dan penggunaan kembali perangkat lunak merupakan tujuan dari :
a. Penggunaan satu nama untuk beberapa method yang berbeda (beda parameter)
b. Penggunaan satu nama untuk beberapa method yang sama
c. kemampuan suatu method untuk bekerja dengan lebih dari satu tipe argumen
d. ketika deklarasi method subclass dengan nama dan parameter sama
6. Terjadi ketika deklarasi method subclass dengan nama dan parameter yang sama dengan method
dari superclassnya. Merupakan penjelasan dari
a. Override c. Overloading
b. Overtime d. Oversize
c. Menghindari duplikasi object,kita dapat menciptakan class baru dari class yang sudah ada
a. Penggunaan satu nama untuk beberapa method yang berbeda (beda parameter)
b. function overloading (penggunaan kembali nama fungi yang sama tapi dgn argumen yang
berbeda)
c. deklarasi method subclass dengan nama dan parameter yang sama dengan method dari
superclassnya.
d. function overriding (sebuah fungsi dalam class turunan yang memiliki nama, return type
argumen function yang sama dengan fungsi dalam class induk).
class Bangun {
public double hitungLuas() {
System.out.println("Method belum terdefinisi");
return 0;
}
}
class BujurSangkar extends Bangun {
private double sisi;
public double hitungLuas(double sisi) {
double luas = sisi * sisi; return luas;
}
}
class overloadBangun {
public static void main(String[] args) {
BujurSangkar b;
System.out.println("Luas BujurSangkar = " + b.hitungLuas(6)); }
}
a class Bangun {
public double hitungLuas() {
System.out.println("Method belum terdefinisi");
return 0;
d class overloadBangun {
public static void main(String[] args) {
BujurSangkar b;
System.out.println("Luas BujurSangkar = " + b.hitungLuas(6)); }
Fakultas Teknologi Informasi
UNIVERSITAS BUDI LUHUR
SOAL – JAWAB
Mata Kuliah : Pemrograman Berorientasi Objek
Jika penggalan program diatas diubah dengan menggunakan operator kondisi maka hasilnya
akan menjadi …
a. System.out.println( ? grade > 70 “Passed” : “Failed” )
b. System.out.println( grade > 70 ? “Passed” : “Failed” )
c. System.out.println( grade > 70 : “Passed” ? “Failed” )
d. System.out.println( grade > 70 ? “Passed” ? : “Failed” )
21. Berikut adalah cara inisialisasi variabel bertipe class string, kecuali:
a. String me = new String(“Inisialisasi 1”);
b. String me;
me = new String “inisialisasi 1” ;
c. String me;
me = new String(“inisialisasi 1”);
d. String me;
me = “inisialisasi 1”;
22. Method yang digunakan untuk membandingkan dua buah data string adalah …
a. equal() c. length()
b. concat() d. equals()
23. Method yang digunakan untuk mengubah seluruh huruf dalam string menjadi huruf
besar/kapital adalah …
a. UpperCase() c. toUpperCase()
b. toUperCase() d. isUpperCase()
Untuk soal no. 24 dan 25, Perhatikan potongan program berikut :
1. public class Substring {
2. public static void main( String args[] ) {
3. String str = new String("MahaDewa");
4. System.out.println(str.substring(2));
5. System.out.println(str.substring(3,7));
6. }
7. }
24. Jika program di atas dijalankan maka pada baris ke 4 akan menghasilkan keluaran …
a. ahaDewa c. aDewa
b. h d. haDewa
25. Sedangkan hasil keluaran pada baris ke 5 adalah …
a. aDewa c. aDew
b. haDewa d. haDe
26. Statement yang digunakan untuk mengkonversi nilai string ke double dalam Java adalah :
a. parsedouble( ) c. parseDouble( )
b. DoubleValue( ) d. ChangeDouble( )
27. Method yang digunakan untuk mengubah panjang data StringBuffer adalah …
a. length() c. Changelength()
b. setLength() d. reverse()
28. Method yang digunakan untuk mengambil suatu karakter berdasarkan lokasi yang kita berikan
adalah …
a. toCharAt() c. charAt()
b. toCharArray () d. valueOf()
Untuk soal no. 29 dan 30, Perhatikan potongan program berikut :
1. public class Increment {
2. public static void main( String args[] ) {
3. int x = 3, y = 0;
4. y = x++ + 3 * x * x--;
5. System.out.println(y);
6. System.out.println(x);
7. }
8. }
33. Jika program di atas dijalankan maka pada baris ke 8 akan menghasilkan keluaran …
a. 1 * 1 = 1 b. 1 * 1 = 1 c. 1 * 1 = 1 d. 1 * 1 = 1
1*2=2 1*2=2 1*3=3 2*1=2
1*3=3 2*1=2 3*1=3
2*3=6
34. Jika baris ke-7 dari program diubah dengan perintah continue; maka akan menghasilkan
keluaran.....
a. 1 * 1 = 1 b. 1*1=1 c. 1*1=1 d. 1*1=1
1*2=2 1*3=3 1*2=2 2*2=4
1*3=3 3*1=3 1*3=3 3*3=9
3*3=9 3*1=3
3*2=6
3*3=9
35. Istilah untuk melindungi data dari usaha modofikasi, perusakan dan penggandaan data oleh
pihak yang tidak berwenang adalah ...
a. Inheritance c. Constructor
b. Polymorphisme d. Encapsulation
Untuk soal no. 36 dan 37, Perhatikan potongan program berikut :
1. public class While {
2. public static void main(String[] args) {
3. int x, All;
4. x = 1; All=1;
5. while( x<=4); {
6. All *=x;
7. System.out.println(All);
8. x ++;
9. }
10. }
11. }
39. Jika penggalan program diatas diubah dengan menggunakan struktur perulangan do while maka
hasilnya akan menjadi …
a. int i=1; c. int i=1;
do do
{ System.out.print(i + " "); i<=10; } { System.out.print(i + " "); i=+2; }
while(i+=2) while(i<=10);
b. switch(n){ d. switch(n){
case 1: System.out.print(“Value 1”); case 1: System.out.print(“Value 1”);
break; break;
case 2: System.out.print(“Value 2”); case 2: System.out.print(“Value 2”);
break; break;
default: System.out.print(“Value 1”);} default: System.out.print(“Value 1”);
break; }
41. Berikut ini adalah editor yang dapat digunakan untuk menuliskan program Java, kecuali...
a. JCreator c. EClipse
b. Notepad d. JavaBeans
42. Berikut ini adalah keyword yang terdapat dalam Java, kecuali...
a. Goto c. If
b. Break d. String
44. Untuk menyimpan data nim mahasiswa, tipe data yang paling tepat digunakan adalah...
a. int c. char
b. short d. String
45. Berikut ini pernyataan yang benar berhubungan dengan class dan object dalam Java, kecuali...
a. Setiap class dapat mengandung beberapa method sekaligus
b. Object merupakan instance dari class
c. Object terdiri dari keyword dan method
d. Class merupakan pendefinisian dari object
46. Suatu method yang dapat dijalankan otomatis pada saat object dari class dibuat, dikenal dengan ...
a. Constructor c. Garbage Collector
b. Initializer d. Inheritance
47. Berikut ini adalah pernyataan yang benar berhubungan dengan break dan continue, kecuali...
a. Break digunakan untuk keluar dari blok perulangan
b. Continue digunakan untuk melanjutkan ke proses perulangan berikutnya
c. Statement setelah continue tidak akan dijalankan
d. Statement setelah break tetap akan dijalankan
48. Blok dalam perintah for berikut ini akan dijalankan sebanyak 10 kali, yaitu...
a. For(int x=1; x<=9; x++) { } c. For(int x=10; x>=1; x--) { }
b. For(int x=0; x<=10; x++) { } d. For(int x=10; x>0; x--) { }
49. Berikut ini adalah hak akses yang dapat ditambahkan didepan method Java, kecuali...
a. Static c. Private
b. Public d. Protected
51. Pernyataan yang benar berhubungan dengan method dalam java, yaitu...
a. Parameter (argument) method dapat berupa object dari suatu class
b. Semua method dalam java harus memiliki return type
c. Method dengan tipe double berarti method akan menghasilkan nilai bilangan bulat
d. Method dengan tipe void merupakan method yang tidak menampilkan dan mengeluarkan
apa pun
53. Dalam konsep OO, setiap object memiliki behaviour. Apa yang dimaksud dengan behaviour?
a. Identifier c. Method
b. Variable d. Semua Benar
54. Method yang digunakan untuk menggabungkan beberapa data string menjadi satu menggunakan...
a. append() c. equals()
b. insert() d. concat()
55. Method yang digunakan untuk mengambil seluruh karakter lalu menyimpannya kedalam variabel
bertipe array-of-char yaitu…
a. charAt() c. toCharArray()
b. setCharArray() d. GetCharAt()
56. Method yang digunakan untuk mengambil sub-string yang dimulai dari posisi tertentu sampai akhir
string adalah…
a. charAt(int1,Int2) c. substring(int1, int2)
b. substring(int) d. charAt(int)
57. Method yang digunakan untuk memeriksa apakah karakter yang tersimpan berjenis huruf besar atau
tidak pada class Character adalah…
a. isUppercase() c. toUppercase()
b. toUpperCase() d. isUpperCase()
59. Berikut ini adalah method-method yang dimiliki oleh class StringBuffer, kecuali...
a. append() c. indexOf()
b. setLength() d. concat()
60. Berikut ini adalah method-method yang dimiliki oleh class String, kecuali...
a. substring() c. equals()
b. setCharAt() d. concat()
Untuk soal no. 61, 62, 63 dan 64, Perhatikan potongan program berikut :
1. int score = 0;
2. Char answer = ‘a’;
3. score = (answer == 'a') ? 10 : 0;
4. System.out.println("Score"+ answer+ “=”+ score );
63. Jika penggalan program diatas diubah menjadi operator logika (||), maka hasilnya adalah...
a. true false false
false b. true true
true false c. true
false false true d. false
true false true
64. Jika penggalan program diatas diubah menjadi operator logika (&&), maka hasilnya adalah...
a. true b. true c. true d. false
false false true true
true false false false
false false true true
65. Berikut adalah struktur pernyataan operator kondisi yang benar yaitu..
a. exp1;exp2?exp3 b. exp1:exp2?exp3
c. exp1?exp2:exp3 d. exp1?exp2;exp3
66. Berikut merupakan pernyataan yang benar mengenai tipe data reference, yaitu…
a. Menyimpan data dalam lokasi memori yang sebenarnya
b. Berisi nilai tunggal dengan format dan ukuran yang sesuai tipenya
c. Menyimpan alamat dalam lokasi memori yang menunjuk ke lokasi memori dimana data
sebenarnya berada
d. Sebuah tipe data berjenis metode yang memiliki class.
Untuk soal no. 67, 68, 69 dan 70, Perhatikan program berikut :
1. public class OutputVariable {
2. public static void main(String [] args){
3. int value;
4. value = 10;
5. char C;
6. C = ‘C’;
7. System.out.print(value++);
8. System.out.println(“The value of C=”+ C);
9. }
10. }
71. Method yang digunakan untuk mengkonversi data integer ke bentuk biner dalam Java adalah :
a. toIntBinary() c. parseInt()
b. toBinaryString() d. getBinaryString()
72. Method yang digunakan untuk mengkonversi data pada objek Boolean menjadi String dalam Java
adalah :
a. toStringBoolean() c. toString()
b. toBooleanValue() d. parseBoolean()
74. Beberapa method dengan nama yang sama tetapi berbeda parameternya merupakan ciri dari…
a. Method Constructor c. Method Rekursif
b. Method Overloading d. Method Factorial
75. Modifier yang hanya dikenal oleh dirinya dan kelas turunannya adalah…
a. protected c. public
b. private d. final
76. Modifier yang digunakan bila suatu unsure (kelas/metode/variable) memiliki nilai yang tetap
adalah…
a. protected c. public
b. private d. final
77. Yang tidak termasuk syarat dalam pembuatan konstruktor adalah ...
a. Namanya harus sama dengan nama kelas
b. Dipanggil saat objek diciptakan
c. Dalam kelas hanya boleh ada satu konstruktor
d. Konstruktor dapat tidak memiliki parameter
Untuk soal no. 80, 81, 82, 83 dan 84, Perhatikan program berikut ini :
1. class ini{
2. void anak( ) {
3. String a = ‘ini redo’;
4. System.out.println(a);
5. }
6. }
7. class itu extends ini {
8. public static void main(String args[ ]) {
9. int a=6; int b=2;
10. itu no=new itu( );
11. no.anak( );
12. System.out.println((a+b));
13. }
14. }
80. Jika program tersebut disimpan maka nama programnya adalah ...
a. ini.java c. anak.java
b. itu.java d. no.java
85. Untuk mengunci metode info agar tidak dapat di override jika dipanggil pada kelas lain adalah
dengan syntax…..
a. protected void info( ) c. public void info( )
b. final void info( ) d. private void info( )
86. Dibawah ini adalah sifat dan definisi dari package kecuali ……….
a. Suatu unit yang berisikan sejumlah kelas yang dikelompokkan menjadi Satu
b. mampu mengenali member dari kelas yang tidak memiliki penentu akses bawaan
c. Package dideklarasikan sekali dalam sebuah berkas
d. Package yang tidak dapat digunakan oleh kelas yang lainnya
89. Jika pada baris ke 6 perintahnya diganti dengan System.arraycopy(x,1,y,1,7), maka hasilnya menjadi…
a. 99607070 c. 9960707
b. 9607070 d. 09607070
91. Dari penggalan program diatas, pendeklarasian variabel array berada pada baris…
a. 1 c. 3
b. 2 d. 4
94. Method yang memiliki nama yang sama dengan nama kelasnya disebut dengan…
a. Overriding c. Polymorphism
b. Constructor d. Overloading
96. Kemampuan suatu subkelas untuk memodifikasi data dan method dari kelas induknya disebut
dengan …
a. Overriding c. Polymorphism
b. Inheritance d. Encapsulation
Untuk soal no. 98, 99 dan 100, Perhatikan program berikut ini :
1. class Empat{
2. Empat(){
3. System.out.print(“22”); }
4. void cetak() {
5. System.out.print(“33”); }
6. public static void main(String [] me) {
7. Empat a = new Empat();
8. System.out.print(“11”);
9. a.cetak();
10. }
11. }
98. Hasil program diatas adalah….
a. 11 22 33 c. 11 33 22
b. 22 33 11 d. 22 11 33
99. Pembentukan objek pada program diatas terjadi pada baris ke…
a. 1 c. 7
b. 2 d. 9
Untuk soal no. 102, 103 dan 104, Perhatikan program berikut ini:
103. Jika program tersebut disimpan maka nama programnya adalah ...
a. Turunan.java c. Utama.java
b. Cetak.java d. CetakNilai.java
105. Berikut adalah beberapa hal yang perlu ditimbangkan pada saat mewariskan method, kecuali…
a. Method yang dideklarasikan public pada superclass harus bersifat public untuk semua
subclass
b. Method yang dideklarasikan protected pada superclass dapat menjadi protected/public untuk
subclass, namun tidak bisa menjadi private
c. Method yang dideklarasikan tanpa akses(default), tidak dapat dideklarasikan sebagai private
untuk subkelas
d. Method yang dideklarasikan private tidak dapat diwariskan
107. Pada pemrograman java, file dengan ekstensi class (nama_file.class) sebenarnya berisikan:
a. Statement program c. Instruksi program
b. Logika program d. Bytecode program
108. Berikut adalah beberapa platform java yang berkembang pada saat ini kecuali
a. J2SE c. J2XE
b. J2ME d. J2EE
109. Pada pemrograman berorientasi objek terdapat beberapa istilah yang kita ketahui kecuali:
a. Polymer c. Inheritance
b. Method d. Encapsulation
110. Jika sebuah class memiliki private method, maka yang dapat menggunakan method tersebut
adalah:
a. sub class c. outer class
b. class tersebut d. super class
111. Untuk mengelompokkan class, kita dapat mengetikkan perintah pada program java sebagai
berikut:
a. packaged nama_package c. package nama_package
b. packages nama_package d. packaging nama_package
112. Dari program diatas jika kita menginginkan agar class uji2 dapat memiliki method void data(),
maka kita harus menambahkan perintah:
a. extend c. extended
b. extends d. ekstend
113. Berikut ini yang bukan merupakan ciri bahasa pemrograman java adalah:
a. compiler c. interpreter
b. translator d. architecture neutral
114. Berikut ini merupakan contoh tipe data yang menangani bilangan bulat, kecuali:
a. int c. float
b. long d. short
Untuk soal no. 115 dan 116, Perhatikan penggalan program berikut:
class uji
{ void data()
{ statement…}
}
class uji2 extends uji
{ void info()
{ statement…}
}
116. Pada program diatas jika method void data() ditambahkan perintah protected, maka yang dapat
mengakses method tersebut adalah:
a. sub class c. super class
b. outer class d. tidak ada
117. Berikut ini manakah jenis operator yang biasa digunakan dalam bahasa pemrograman java,
kecuali:
a. Operator logika c. Operator bitwise
b. Operator relasi d. Operator increment
118. Operator yang terdapat pada kurung berikut ( %= ) adalah operator yang digunakan untuk
a. Penjumlahan c. pembagian
b. sisa pembagian d. perkalian
class uji
{ int x;
void data()
{ statement…}
public static void main(String []args)
{ statement…}
}
119. Jika pada program diatas method void data() ditambahkan perintah static maka untuk
pemanggilannya pada method main dapat dilakukan sebagai berikut kecuali:
a. uji x = new uji(); x.data(); c. uji.data();
b. data(); d. void data();
120. Jika program tersebut dijalankan maka akan menghasilkan tampilan sebagai berikut:
a. 0, 3, 6, 9, 12, 15 c. 0, 3, 6, 9
b. 0, 3, 6, 9, 12 d. semua salah
121. Berikut ini mana method yang biasa digunakan pada class String:
a. Length() c. delete()
b. insert() d. setCharAt()
Untuk soal no. 122 dan 123, Perhatikan penggalan program berikut:
122. Jika program tersebut dijalankan maka akan menghasilkan tampilan sebagai berikut:
a. Met Mabok Ya c. Met Mab
b. Met Mabok d. Met Mabokji
124. Yang menyebabkan java menjadi bahasa pemrograman yang multiplatform adalah karena java
memiliki:
a. JVC c. KVM
b. JVM d. KTM
125. Jika program tersebut dijalankan maka akan menghasilkan tampilan sebagai berikut:
a. 10 c. 12
b. 8 d. 40
126. Jika program tersebut dijalankan maka akan menghasilkan tampilan sebagai berikut:
a. 44 c. 12
b. 42 d. 40
127. Berikut ini pernyataan mana yang benar menurut saudara:
a. if(srt1 == “budi”) {System.out.println(“budi”);}
b. if(srt1 == ‘budi’) {System.out.println(“budi”);}
c. if(srt1.equals(“budi”)) {System.out.println(“budi”);}
d. if(srt1.equals(‘budi’)) {System.out.println(“budi”);}
128. Untuk menghasilkan gabungan string buffer sebagai berikut “Oncom Dijero120096.5 FM”dapat
digunakan fungsi:
a. Concat() c. toString()
b. Trim() d. Append()
129. Manakah dari beberapa jawaban berikut yang tidak melakukan return value:
a. int Jumlah() c. float Bagi()
b. double Kali() d. void Kurang()
130. Berikut ini mana yang bukan merupakan cara pendeklarasian array pada java:
a. int nomor[][]; c. String nama[];
b. float pecah[10]; d. double nilai = new double[5];
131. Untuk mengurutkan isi array kita dapat memanfaatkan method sort yang terdapat pada package:
a. java.io c. java.util
b. java.lang d. javax.swing
133. Mengelompokkan kelas-kelas yang saling berelasi menggunakan perintah di java yaitu….
a. Private c. Import
b. Package d. Public
137. Yang tidak termasuk operator matematika dalam ekspresi java adalah...
a. + c. %
b. – d. Mod
138. Dari pilihan dibawah ini, cari yang urutan superioritas operatornya paling benar…
a. a % (b * (c + (d - e))) c. a %(b * (c + (d - e)))
1 2 3 4 3 1 4 2
b. a % (b * (c + (d - e))) d. a / (b * (c + (d - e)))
4 3 2 1 2 1 4 3
140. Konversi data dari tipe data besar ke tipe data yang lebih kecil adalah..
a. Widening
b. Narrowing
c. toString
d. valueOf
Perhatikan program di bawah ini untuk menjawab pertanyaan nomor 10,11,12
public class TestIncrement {
public static void main(String[] args) {
int a = 3, b = 0,c=0;
a = ++a;
b = --a + 2 * a * a ++;
System.out.println( “a = “ + a );
System.out.println( “b= “ + b);
c = ++a + 2 * a * a--;
System.out.println( “c= “ + c );
}
}
153. Dibawah ini adalah method yang terdapat di class StringBuffer yang berguna untuk mengambil
beberapa string, kecuali…
a. substring(int) c. indexof(string)
b. substring(int,int) d. valueof(int)
154. Method untuk mengganti satu karakter pada posisi tertentu adalah..
a. setCharAt c. deleteCharAt
b. charAt d. char
155. Method untuk mengembalikan nilai integer saat ini kedalam bentuk pecahan, adalah…
a. intValue c. intDouble
b. doubleValue d. doubleInteger
157. Method untuk konversi data dari objek data Boolean menjadi data boolean klasik adalah
a. BooleanString c. booleanValue
b. toString d. salah semua
158. Method yang memanggil dirinya sendiri baik secara langsung maupun secara tidak langsung,
adalah...
a. Rekursif c. Overloading
b. Factorial d. Salah semua
159. Metode yang memiliki nama sama, namun memiliki parameter yang berbeda-beda, adalah..
a. Overloading c. Rekursif
b. Factorial d. Import
162. Dibawah ini adalah cara mendeklarasikan array 1 Dimensi sebanyak 10 elemen data, kecuali :
a. int aku = new int[5]; c. int aku = {1,4,5,6,7,8,9,10,11,12};
b. int aku [ ] = new aku[10]; d. benar semua
164. Perintah untuk mendeklarasikan variabel array 2 dimensi untuk 3 baris 2 kolom adalah…
a. Int [][] angka = new int [2][3]; c. Int angka[][] = new int [2][3];
b. Int [][] angka = {1,2,3,4,5,6}; d. Int [][] angka = new int [3][2];
2
3
Agar keluaran dari program di atas untuk a[i] adalah 50,60,70,80,90,100. Maka syntak yg perlu
diganti adalah …
a. 1 c. 3
b. 2 d. Salah semua
166. Metode khusus yang memiliki nama sama dengan nama kelas disebut...
a. Variabel c. Method
b. Konstruktor d. Kelas dalam Java
167. Package yang digunakan untuk kelas komponen GUI, adalah ...
a. Java.io c. Javax.swing
b. Java.lang d. Java.applet
168. sebuah kelas dapat berisi lebih dari 1 constructor yang mempunyai argument berbeda-beda,
disebut ..
a. overloading c. package
b. modifier d. final
170. Atribut kelas hanya dapat diakses oleh metode dalam kelas disebut ...
a. Private c. Public
b. Protected d. default
“ INHERITANCE”
A. Tujuan
B. Dasar Teori
1. Pewarisan
Inheritance merupakan pewarisan atribut dan method pada sebuah class yang
diperoleh dari class yang telah terdefinisi tersebut. Setiap subclass akan mewarisi state
(variabel-variabel) dan behaviour (method-method) dari superclass-nya. Subclass
kemudian dapat menambahkan state dan behaviour baru yang spesifik dan dapat pula
memodifikasi (override) state dan behaviour yang diturunkan oleh superclass-nya.
4. Overriding
Method overriding adalah mendefinisikan kembali method yang sama, baik nama
method maupun signature atau parameter yang diperlukan dalam subclass.
C. Latihan
Latihan 1
class Satu{
private int a = 5;
private int b = 7;
terprotek();
info();
class TestSatuDua{
D2.BacaSuper ();
D2.info ();
S1.terprotek ();
S1.info ();
}
b. Kompilasi ketiga program secara berurutan :
class TestSatuDua{
D2.BacaSuper ();
D2.info ();
S1.info ();
Latihan 2
class Person {
// Konstruktor
this.nama = nama;
this.usia = usia;
// Method
//Konstruktor
this.noPegawai = noPegawai;
// Methode
super.info();
programmer1.info();
class B extends A{
private int b;
class DemoOverride2{
public static void main (String [] args){
obj.setA(100);
obj.setB(200);
Latian 5
B. DASAR TEORI
Pemahaman Dasar
Eksepsi (exeption) adalah suatu mekanisme yang digunakan oleh beberapa bahasa
pemrograman untuk mendeskripsikan apa yang harus dilakukan jika ada suatu kondisi
yang tidak diinginkan terjadi. Eksepsi dapat dijumpai saat:
• Mengakses method dengan argumen yang tidak sesuai.
• Membuka file yang tidak ada.
• Koneksi jaringan yang terganggu.
• Manipulasi operand yang nilainya keluar dari batasan yang didefinisikan.
• Pemanggilan class yang tidak ada.
Java menyediakan dua kategori besar untuk eksepsi yang disebut sebagai checked
exception dan unchecked exception.
• Checked Exception adalah eksepsi yang diantisipasi oleh programmer untuk
ditangani dalam program dan terjadi karena kondisi luar yang siap muncul saat
program berjalan. Misalnya membuka file yang tidak ada atau gangguan jaringan.
• Unchecked Exception bisa muncul dari kondisi yang merepresentasikan adanya
bug atau situasi yang secara umum dianggap terlalu sulit bagi program untuk
menanganinya. Disebut sebagai unchecked karena kita tidak perlu mengeceknya
atau melakukan sesuatu jika kondisi ini terjadi. Eksepsi yang muncul dari
kategori situasi yang merepresentasikan bug ini disebut sebagai runtime
exception. Misalnya mengakses array melebihi size yang dimilikinya.
Praktikum Dasar Programming 2 34
Sedangkan eksepsi yang muncul sebagai akibat dari isu environment software – yang ini
jarang sekali atau sulit sekali untuk ditangani- disebut sebagai error, misalnya running
out memory.
Exception Class adalah sebuah class dasar yang merepresentasikan checked exception.
Dalam hal ini, bukannya membiarkan terjadinya penghentian program, sebaliknya harus
menuliskan beberapa kode untuk menangani eksepsi dan berikutnya melanjutkan
program.
Error Class adalah class dasar yang digunakan untuk kondisi error serius yang tidak
terdeteksi. Dalam banyak kasus, harus dibiarkan program diterminasi.
RuntimeException Class adalah class dasar yang digunakan untuk unchecked exception
yang bisa muncul sebagai akibat dari bug program. Pada banyak kasus, harus dibiarkan
program dihentikan.
Jadi, exception class mendefinisikan kondisi error ringan yang dijumpai oleh
program. Sedangkan untuk kondisi error berat didefinisikan dengan error.
Ketika dalam program terjadi eksepsi, method yang menemukan error tersebut bisa
menangani sendiri atau melemparkannya ("throw") kembali kepada pemanggilnya untuk
memberi sinyal bahwa telah terjadi suatu masalah. Sebagai contoh, coba jalankan
program ini. Apa hasilnya?
while (i < 4) {
System.out.println (myarray[i]);
i++; Menghandle Eksepsi (Exception Handling)
}
} Jika tidak diberikan kode untuk menghandle situasi, maka
}
Program akan diterminasi dengan sebuah pesan kesalahan sebagai contoh hasil runtime
program di atas sebagai berikut:
try {
//code that might throw a particular exception
} catch(MyExceptionType myExcept) {
//code to execute if MyExceptionType exception is thrown
} catch(Exception otherExcept) {
//code to execute if a general Exception exception is thrown
}
Dimungkinkan ada beberapa blok catch setelah sebuah blok try, yang masing-masing
akan menangani tipe eksepsi yang berbeda.
Pernyataan finally
Pernyatan finally digunakan untuk mendefinisikan sebuah blok kode yang akan
senantiasa dieksekusi jika eksepsi berhasil ditangkap dalam blok catch. Perhatikan
contoh berikut,
Kategori Eksepsi
Gambar 6.1 adalah hirarki class yang merepresentasikan penggolongan eksepsi.
catch (ArrayIndexOutOfBoundsException e)
merupakan jenis RuntimeException. Jika tidak hafal jenis eksepsinya secara pasti, bisa
mengambil parent classnya.
Eksepsi Umum
Java menyediakan beberapa eksepsi yang telah didefinisikan. Beberapa eksepsi
yang umum diantaranya adalah :
• ArithmeticException hasil dari operasi divide-by-zero terhadap integer.
Contoh : int i = 12 / 0;
• NullPointerException mengakses membernya (atribut atau method) ketika
reference-nya masih menunjuk ke null, misalnya ketika belum dibuat obyek
instannya.
Contoh : Date d = null; //tanpa membuat instance object
System.out.println(d.toString());
• NegativeArraySizeException membuat array dengan size yang diset negatif.
• ArrayIndexOutOfBoundsException mengakses array melebihi indeks
terbesarnya.
• SecurityException biasanya terjadi pada sebuah browser, ketika class
SecurityManager melempar eksepsi kepada applet yang melakukan operasi
yang membahayakan host atau file-filenya (tidak berhak mengaksesnya), misalnya
mengakses file sistem lokal, membuka soket ke sebuah host yang berbeda dengan
host yang melayani applet, dan lain-lain.
C. TUGAS PENDAHULUAN
1. Apa perbedaan antara error dan eksepsi!
2. Apakah try dapat mengandung except dan finally sekaligus? Beri contoh
programnya!
D. PERCOBAAN
1. Tulislah program berikut. Coba compile dan eksekusi.
3. Tulislah program berikut. Coba compile dan eksekusi. Apa yang terjadi?
5. Tulislah program berikut. Coba compile dan eksekusi. Apa yang terjadi?
Select one:
a. Return
b. Class
c. Void
d. This
Feedback
Select one:
a. Fungsi
b. Class
c. Prosedur
d. Object
Feedback
Select one:
a. Class
b. This
c. Void
d. Return
Feedback
Nama harus diawali dengan huruf kecil merupakan aturan untuk penamaan :
Select one:
a. Atribut
b. Modifier
c. Class
d. Object
Feedback
Didalam java terdapat dua buah method, yaitu fungsi dan prosedur. Fungsi adalah :
Select one:
Select one:
a. Atribut
b. Instance
c. Modifier
d. Method
Feedback
Nama harus diawali dengan huruf besar merupakan aturan untuk penamaan :
Select one:
a. Modifier
b. Atribut
c. Class
d. Object
Feedback
Dibawah ini merupakan data yang dimiliki oleh objek manusia, kecuali :
Select one:
a. Cara bicara
b. Tinggi badan
c. Nama
d. Jenis kelamin
Feedback
Select one:
a. Atribut
b. Method
c. Class
d. This
Feedback
Select one:
a. Modifier
b. Object
c. Atribut
d. This
Feedback
Select one:
b. Cara berkembangbiak
Feedback
Dibawah ini adalah keuntungan yang didapat dengan menggunakan pemrograman berorientasi objek,
kecuali :
Select one:
a. Reuseable
c. Bersifat natural
Feedback
Select one:
a. Public
b. Final
c. Default
d. Private
Feedback
The correct answer is: Final
Select one:
a. Modifier
b. Class
c. Object
d. This
Feedback
Select one:
a. Singa
b. Tumbuhan
c. Manusia
d. Hewan
Feedback
Select one:
Feedback
Select one:
Feedback
Acces Modifier yang diwarisi oleh subkelas dipaket yang sama dan dapat diakses oleh method-method
yang sepaket adalah :
Select one:
a. Protected
b. Public
c. Private
d. Default
Feedback
Keyword yang digunakan untuk menentukan spesifikasi tingkat akses suatu variabel atau method
disebut :
Select one:
a. Access Modifier
b. Object
c. Overloading Method
d. Class
Feedback
Select one:
a. Object
b. Method
c. Constructor
d. Class
Feedback
Select one:
a. Class
b. Object
c. Method
d. Modifier
Feedback
Select one:
Feedback
Select one:
Feedback
The correct answer is: Overloading tidak bisa dilakukan pada sub kelas
Acces Modifier yang tidak dapat diakses di class dan method manapun adalah :
Select one:
a. Protected
b. Private
c. Public
d. Default
Feedback
Select one:
a. Semua benar
Feedback
Select one:
a. Default
b. Public
c. Protected
d. Private
Feedback
Select one:
Feedback
Acces Modifier yang diwarisi oleh subkelasnya dan dapat diakses oleh method-method yang sepaket
adalah :
Select one:
a. Private
b. Protected
c. Public
d. Default
Feedback
Select one:
Feedback
The correct answer is: Tidak bisa diterapkan pada class dan interface
Select one:
a. [modifier] nama_class()
b. [modifier] nama_class(){//statement}
c. [modifier] nama_class(parameter)
d. [modifier] nama_class(){//parameter}
Feedback
Select one:
a. Derived Class
b. Child Class
c. Lower Class
d. Super Class
Feedback
Select one:
Feedback
Suatu cara untuk mendefinisikan ulang method yang ada pada class induk apabila class anak
menginginkan adanya informasi yang lain :
Select one:
a. Overhead
b. OverrRead
c. Overriding
d. Overloading
Feedback
Dalam konsep OO, setiap object memiliki behaviour. Apa yang dimaksud behaviour ?
Select one:
a. Variabel
b. Semua Benar
c. Method
d. Identifier
Feedback
Select one:
a. Child
b. Extends
c. Parent
d. Inheritance
Feedback
Penulisan beberapa fungsi (dua atau lebih) yang memiliki nama yang sama :
Select one:
a. Overloading
b. Overriding
c. Overhead
d. OverrRead
Feedback
Class yang digunakan untuk menunjukkan class anak atau turunan secara hirarkis dari super class :
Select one:
a. Child Class
b. Sub Class
c. Super
d. Super Class
Feedback
Select one:
a. Semua Salah
b. Interfaces
c. void final
d. final method
Feedback
Select one:
a. Customer
b. Scanner
c. TowerOfHanoy
d. Semua Benar
Feedback
Keyword yang digunakan untuk memanggil konstruktor dari super class atau memanggil variable yang
mengacu pada super class :
Select one:
a. Import
b. Super
c. Extends
d. Implements
Feedback
Select one:
b. Method yang dipanggil juga harus merupakan method yang ada pada super class
c. Method access attribute pada subclass boleh lebih terbatas daripada yang ada
Feedback
The correct answer is: Method access attribute pada subclass boleh lebih terbatas daripada yang ada
Class yang digunakan untuk menunjukkan class induk secara hirarkis dari sub class :
Select one:
a. Sub Class
b. Child Class
c. Super
d. Super Class
Feedback
Select one:
a. Child Class
b. Sub Class
c. Super Class
d. Derived Class
Feedback
Select one:
Feedback
The correct answer is: public interfaces [namainterfaces] {//beberapa method tanpa isi}
Select one:
b. suatu blok program yang akan dieksekusi jika try mengalami error
d. suatu blok program yang akan dieksekusi jika catch mengalami error
Feedback
The correct answer is: suatu blok program yang akan dieksekusi apapun kondisinya (default)
Select one:
a. exception
b. integer
c. string
d. char
Feedback
Select one:
a. catch
b. try
c. switch
d. finally
Feedback
Select one:
Feedback
The correct answer is: satu bagian catch atau finally yang cocok
Select one:
Feedback
The correct answer is: program akan dilewati untuk menjalankan catch
Checked exception adalah :
Select one:
a. eksepsi yang diantisipasi oleh programmer untuk ditangani dalam program dan terjadi karena
kondisi luar yang tidak muncul saat program berjalan.
b. eksepsi yang tidak muncul dari kondisi yang mempresentasikan adanya bug atau situasi yang
secara umum dianggap terlalu sulit bagi program untuk menanganinya.
c. eksepsi yang bisa muncul dari kondisi yang mempresentasikan adanya bug atau situasi yang
secara umum dianggap terlalu sulit bagi program untuk menanganinya.
d. eksepsi yang diantisipasi oleh programmer untuk ditangani dalam program dan terjadi karena
kondisi luar yang siap muncul saat program berjalan.
Feedback
The correct answer is: eksepsi yang diantisipasi oleh programmer untuk ditangani dalam program dan
terjadi karena kondisi luar yang siap muncul saat program berjalan.
Select one:
a. exception class
b. except class
c. runtime exception
d. error class
Feedback
Select one:
Feedback
The correct answer is: RuntimeException dan IOException
Select one:
a. suatu blok program yang akan dieksekusi, jika error maka tidak dilanjuti
b. suatu blok program yang akan dieksekusi, jika status bernilai benar (true)
c. suatu blok program yang akan dieksekusi, jika status bernilai salah (false)
Feedback
The correct answer is: suatu blok program yang akan dieksekusi, jika error maka tidak dilanjuti
Jika suatu kode program mengalami error saat dijalankan dan tidak memiliki eksepsi, maka :
Select one:
Feedback
The correct answer is: program akan otomatis berhenti dan muncul pesan error
Select one:
a. eksepsi yang diantisipasi oleh programmer untuk ditangani dalam program dan terjadi karena
kondisi luar yang siap muncul saat program berjalan.
b. eksepsi yang bisa muncul dari kondisi yang mempresentasikan adanya bug atau situasi yang
secara umum dianggap terlalu sulit bagi program untuk menanganinya.
c. eksepsi yang diantisipasi oleh programmer untuk ditangani dalam program dan terjadi karena
kondisi luar yang tidak muncul saat program berjalan.
d. eksepsi yang tidak muncul dari kondisi yang mempresentasikan adanya bug atau situasi yang
secara umum dianggap terlalu sulit bagi program untuk menanganinya.
Feedback
The correct answer is: eksepsi yang bisa muncul dari kondisi yang mempresentasikan adanya bug atau
situasi yang secara umum dianggap terlalu sulit bagi program untuk menanganinya.
25 / 0 akan menghasilkan :
Select one:
a. 0
b. 25
c. tak hingga
d. tak terdefinisi
Feedback
Select one:
a. keadaan tidak normal yang muncul pada suatu bagian program pada saat dijalankan
Feedback
The correct answer is: keadaan tidak normal yang muncul pada suatu bagian program pada saat
dijalankan
Select one:
b. suatu blok program yang akan dieksekusi jika try mengalami error
d. suatu blok program yang akan dieksekusi jika catch mengalami error
Feedback
The correct answer is: suatu blok program yang akan dieksekusi jika try mengalami error
Membuat eksepsi sendiri sesuai keperluan atau kasus yang dihadapi adalah pengertian :
Select one:
a. defined exception
b. undefined exception
c. user-defined exception
d. pre-defined exception
Feedback