Java

download Java

of 36

Transcript of Java

Bab 1 : Pengenalan Terhadap Java

1. Sebutkan kelebihan-kelebihan yang dimiliki oleh Java yang Anda ketahui!

Jawaban :

Bersifat portable dan platform independent . Program Java yang Anda tulis akan dapat dieksekusi di platform mana pun tanpa memerlukan kompilasi ulang (portable) asalkan Java Virtual Machine untuk platform tersebut tersedia. Memiliki garbage collection yang dapat mendealokasikan memori secara otomatis. Anda tidak perlu secara eksplisit membebaskan suatu lokasi memori yang dipakai karena ini akan dilakukan secara otomatis oleh Java. Menghilangkan pewarisan berganda yang terdapat pada C++. Walaupun kelihatannya lebih sebagai suatu kekurangan, namun banyak para ahli yang mengakui bahasa konsep pewarisan berganda lebih banyak mengakibatkan kerugian dari pada keuntungan. Java telah didesain sedemikian rupa sehingga Anda tidak akan memerlukan tehnik ini dalam pembuatan program apa pun. Mengurangi pointer aritmetik. Pengaksesan lokasi memori secara langsung dengan menggunakan pointer memungkinkan program untuk melakukan suatu tindakan yang tidak seharusnya atau tidak boleh dilakukan. Untuk mengurangi dan menghilangkan kemungkinan kesalahan seperti ini, penggunaan pointer pada Java telah dibatasi dengan menggunakan reference. Memiliki array sejati.

Mengurangi kerancuan antara pemberian nilai pada statement kondisional. Contoh penggunaan tanda = dengan == pada kondisi if.

2. Apa yang Anda ketahui tentang karakteristik Java?

Jawaban :

* Berorientasi Objek, Java telah menerapkan konsep pemrograman berorientasi objek yang modern dalam implementasinya. * Robust, Java mendorong pemrograman yang bebas dari kesalahan dengan bersifat strongly typed dan memiliki runtime checking. * Portable, program Java dapat dieksekusi di platform mana pun selama tersedia Java Virtual Machine untuk platform tersebut. * Multithreading, Java mendukung penggunaan multithreading yang telah terintegrasi secara langsung dalam bahasa Java. * Dinamis, program Java dapat melakukan suatu tindakan yang ditentukan pada saat

eksekusi program dan bukan pada saat kompilasi. * Sederhana, Java menggunakan bahasa yang sederhana dan mudah dipelajari. * Terdistribusi, Java didesain untuk berjalan pada lingkungan yang terdistribusi seperti halnya internet. * Aman, aplikasi yang dibuat dengan bahasa Java dapat dipastikan keamanannya terutama untuk aplikasi internet. * Netral secara arsitektur, Java tidak terikat pada suatu mesin atau sistem operasi tertentu. * Interpreted, aplikasi Java dapat dieksekusi pada platform yang berbeda-beda dengan melakukan interpretasi pada bytecode. * Berkinerja Tinggi, bytecode Java telah sangat teroptimasi, sehingga eksekusi program dapat dilakukan secara cepat sekalipun dilakukan dengan cara interpretasi terhadap bytecode.

Bab 2: Pengenalan Objek: Paradigma Pemrograman Berbasis Objek

1. Jelaskan perbedaan antara state dan behavior. Berikan contohnya!

Jawaban:

State merupakan keadaan dari suatu objek, contohnya tinggi, berat, usia, merupakan state yang dimiliki oleh objek manusia. State ini bersifat pasif karena ia tidak dapat melakukan operasi apa pun, padanya justru dilakukan operasi. Oleh karena itu secara sederhana state dapat dianggap sebagai kata benda. Sedangkan behaviour merupakan operasi atau aktivitas yang dapat dilakukan oleh suatu objek, contohnya makan, minum, menua, bekerja, merupakan behaviour yang dimiliki oleh objek manusia. Aktivitas ini dapat (tidak selalu) mempengaruhi state dari objek itu sendiri, misalnya behaviour menua dapat merubah state umur. Oleh karena sifatnya ini, secara sederhana behaviour dianggap sebagai kata kerja.

2. Jelaskan apa yang dimaksud dengan class dan objek ! Apa bedanya dan berikan contohnya!

Jawaban:

Class digunakan untuk menggambarkan suatu model atau spesifikasi dari suatu entitas, sedangkan objek merupakan kenyataan, realisasi atau perwujudan dari class itu sendiri. Contoh sederhana : desain arsitektur gedung dan gedung yang dibuat berdasarkan desain tersebut. Desain arsitektur gedung dapat dianggap sebagai class, sedangkan gedung yang dibangun berdasarkan desain itu sendiri dapat dianggap sebagai objeknya. Bab 3 : Sintaks Bahasa dan Tipe Data

1. Apa perbedaan antara tipe data primitif dan tipe data referensi?

Jawaban :

Tipe data primitif merupakan tipe data dasar yang dikenal oleh Java. Variabel dengan tipe data primitif dapat langsung digunakan untuk memegang data yang sesuai dengan tipe datanya. Contoh : int var = 3; maka nilai variabel var adalah 3. Sedangkan tipe data referensi digunakan untuk semua tipe data selain tipe data primitif termasuk di sini adalah array dan class. Variabel dengan tipe data referensi tidak memegang secara langsung nilai yang hendak disimpan, melainkan variabel ini hanya memegang referensi (alamat) dari nilai yang sebenarnya yang ada di memori.

2. Untuk melatih pengetahuan Anda akan tipe data, buatlah program untuk menghitung luas :

* Segitiga * Lingkaran * Bujursangkar * Empat persegi panjang

Hati-hati dengan konversi tipe data secara otomatis yang dilakukan oleh Java, terutama konversi dari tipe floating-point ke integer.

Jawaban :

public class HitungLuas { public static void main(String[] args) {

// data segitiga int panjangSegitiga = 5; int tinggiSegitiga = 9;

// data lingkaran

int jari2Lingkaran = 15;

// data bujursangkar int panjangSisi = 13;

// data persegi panjang int panjangPersegi = 35; int lebarPersegi = 45;

double luas;

// luas segitiga luas = ((double) (panjangSegitiga*tinggiSegitiga)/2); System.out.println("Luas Segitiga : " + luas);

// luas lingkaran luas = 3.14*jari2Lingkaran*jari2Lingkaran; System.out.println("Luas Lingkaran : " + luas);

// luas bujursangkar luas = panjangSisi*panjangSisi; System.out.println("Luas Bujursangkar : " + luas);

// luas persegi panjang luas = panjangPersegi*lebarPersegi; System.out.println("Luas Persegi Panjang : " + luas);

}

}

output program :

Bab 4 : Operator

1.

Apa perbedaan x++ dan ++x, jelaskan!

Jawaban :

Penggunaan x++ dan ++x jika tidak dikombinasikan dengan ekspresi lainnya tidak memiliki perbedaan sama sekali. Perbedaannya baru akan terasa jika penggunaannya digabung dengan suatu ekspresi. Namun secara sederhana x++ dapat diartikan : lakukan operasi terhadap x baru kemudian tambahkan tambahkan dengan 1. Sedangkan ++x dapar diartikan : jumlahksn x dengan 1, baru kemudian lakukan operasi terhadap x. Contoh :

y = x++ + 10; sama dengan : y = x + 10; x = x + 1;

Sedangkan

y = ++x + 10; sama dengan : y = x + 1; x = x + 10;

2. Bagaimana menghitung perkalian dan pembagian dengan bilangan dua tanpa menggunakan operator matematika?

Jawaban :

Perkalian dengan bilangan dua dapat dilakukan dengan menggunakan operator bitwise > (geser kanan).

Contoh penjelasan :

124/2 = 124 >> 1 124 = 0000000001111100 >> 1 = 62

\\\\\\\\\\\\\\\ 0000000000111110

124*2 = 124