Nama : ASEP HERRY MAULANA NIM :108091000101 KELAS : TI4D LATIHAN BAB 1 1. Sebutkan kelebihan – kelebihan yang dimiliki Java ? 2. Sebutkan Karakteristik Java ? 3. Bagaimana penulisan komentar pada pemrograman Java, baik komentar untuk satu baris, beberapa baris, dan untuk keperluan dokumentasi ? Jawab: 1. Kelebihan Bahasa Java: Sederhana dan ampuh, java menyediakan sarana untuk membuat program (applet) yang berjalan pada web browser. Programmer dapat menggunakan applet kecil yang aman, dinamik, lintas platform, aktif dan siap dijalankan di jaringan. Aman, java dirancang dengan konsep keamanan internet. Berorientasi objek, java tidak diturunkan bahasa pemrogaman manapun. Java memiliki keseimbangan yang menyediakan mekanisme peng-class-an sederhana dengan model antarmuka dinamik yang intuitif hanya jika diperlukan. Kokoh, java membatasi programmer dengan memberi kunci supaya progamer dapat menemukan kesalahan lebih cepat saat mengembangkan program. Interaktif, java dirancang untuk menciptakan program jaringan yang interaktif. Netral terhadap berbagai arsitektur, java mampu berjalan dalam platform apapun seperti PC, UNIX, Macintosh, dll. Terinterpretasi dan berkinerja tinggi, java melengkapi keajaiban lintas platform yang luar biasa dengan kompilasi ke dalam representasi langsung yang disebut java code byte yang dapat diterjemahkan oleh system apapun yang memiliki java interpreter dan java virtual machine. Mudah dipelajari karena bersifat sederhana Mendukung koneksi ke database 2. Karakteristik Bahasa Java: JAVA is simple; Ada beberapa angkapan bahwa bahasa JAVA sulit untuk dipelajari, mereka meyebutkan bahwa bahasa C atau C++ lebih mudah dibandingkan bahasa JAVA, akan tetapi 1 pendapat tersebut adalah salah. JAVA gampang untuk dipelajari terutama untuk orang yang sudah mengenal pemrograman tapi belum terlalu terikat pada paradigma pemrograman prosedural. JAVA is Object-Oriented; JAVA Sangat berorientasi objek (OOP) dengan implementasi yang sangat baik sehingga kita bukan hanya belajar bagaimana membuat program yang baik (reusable, scalable, dan maintanable) tetapi juga kita belajar bagaimana cara berfikir yang baik untuk mengenali struktur masalah yang sedang kita hadapi dan memecahkannya secara sistematis dengan pola-pola tertentu (patterns). JAVA is Distributed; JAVA dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada JAVA. JAVA memiliki library rutin yang lengkap untuk diramgkai pada protocol TCP/IP, seperti HTTP dan FTP dengan mudahnya. Kemampuan networkingnya punjauh lebih kuat. JAVA juga memudahkan pembuatan CGI (Common Gateway Interface). JAVA is Interpreted; Program JAVA dijalankan menggunakan interpreter yaitu JAVA Virtual Machine (JVM). Hal ini menyebabkan source code JAVA yang telah dikompilasi menjadi JAVA bytecodes dapat dijalankan pada platform yang berbeda-beda. Dibahasa pemrograman yang lain, biasanta hasil kompilasi dari program akan berbentuk satu file biner yang hanya bisa di mengerti oleh satu jenis mesin /prosesor tertentu dan tidak di kenali oleh mesin yang lain. JAVA is Robust; JAVA mempuyai reliabilitas yang tinggi. Compiler pada JAVA mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. JAVA mempunyai runtime-Exception handling untuk membantu mengatasi error pada pemrograman. JAVA mendorong pemograman yang bebas dari kesalahan dengan bersifat strongly typed dan memiliki run-time checking. JAVA is Secure; Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, JAVA memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut. JAVA memungkinkan membuat program yang bebas virus dan system yang bebas dari kerusakan, ini dikarenakan mekanisme keamanan JAVA sangat kuat. JAVA is Architecture-Neutral; Program JAVA merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform berbeda dengan JAVA Virtual Machine. Arsitekturnya yang kokoh dan pemrograman yang aman didukung oleh komunitas Open Source (ketiga terbesar setelah C dan C++ di SourceForge.net dan implementasi bahasa JAVA sudah menjadi milik umum). JAVA is Portable; Spesifikasi JAVA tidak terdapat aspek yang tergantung pada lingkungan implementasi. Tidak ada tipe data yang tidak kompatibel untuk semua arsitektur hardware dan 2 software. Source code maupun program JAVA dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang. Program yang kita buat dapat dijalankan di Windows, Linux/Unix, Solaris, dan MacIntosh tanpa perlu diubah maupun di kompilasi ulang. JAVA is Performance; Performance pada JAVA sering dikatakan kurang tinggi. Namun performance JAVA dapat ditingkatkan menggunakan kompilasi JAVA lain seperti buatan Inprise, Microsoft ataupun Symantec yang menggunakan Just In Time Compilers (JIT). bytecode JAVA telah teroptimasi dengan baik sehingga eksekusi program dapat dilakukan secara cepat. JAVA is Multithreaded; JAVA mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan. Bisa dikatakan JAVA memiliki kemampuan untuk melakukan beberapa pekerjaan sekaligus, disamping itu JAVA juga memanfaatkan kelebihan multi-prosesor jika system operasi yang digunakan mendukung multiprosesor JAVA is Dynamic; Dalam beberapa hal, JAVA merupakan bahasa yang lebih dinamis dari C atau C + +. Ia dirancang untuk beradaptasi dengan lingkungan yang berkembang. JAVA didesain untuk dapat dijalankan pada lingkungan yang dinamis. 3. Java mendukung tiga jenis komentar : C++ style komentar satu baris, Penulisan Komentar pada C++Style diawali dengan //. Semua teks setelah // dianggap sebagai komentar. Sebagai contoh, // This is a C++ style or single line comments C style beberapa baris, Komentar C-style atau juga disebut komentar beberapa baris diawali dengan /* dan diakhiri dengan */. Semua teks yang ada diantara dua tanda tersebut dianggap sebagai komentar. Tidak seperti komentar C++ style, itu dapat menjangkau beberapa baris. Sebagai contoh, /* this is an example of a C style or multiline comments */ Komentar Khusus Javadoc Komentar javadoc khusus digunakan untuk generatisasi dokumentasi HTML untuk program java anda. Anda dapat menciptakan komentar javadoc dengan memulai baris dengan /** dan mengakhirinya dengan */. Seperti Komentar C_style, ini dapat juga menjangkau beberapa baris. Ini juga dapat terdiri atas tag-tag untuk menambahkan lebih banyak informasi pada komentar anda. Sebagai contoh, 3 /** This is an example of special java doc comments used for \n generating an html documentation. It uses tags like: @author Florence Balagtas @version 1.2 */ LATIHAN BAB II 1. Apa perbedaan antara tipe data primitif dan tipe data referensi ? 2. Apa yang dimaksud member variabel, static variabel, dan local variabel ? 3. Buatlah program untuk menghitung luas : Segitiga Lingkaran Bujursangkar Empat Persegi Pajang Jawab: 1. Perbedaan mendasar antara tipe primitif dan tipe referensi : Tipe-tipe primitif didefinisikan oleh bahasa Java, sedangkan tipe referensi pada dasarnya adalah tipe user-defined. Tipe primitif merepresentasikan nilai tunggal, sedangkan tipe referensi dapat menampung nol atau lebih nilai primitif atau object. Tipe data primitif adalah tipe data dasar, tipe data referensi adalah tipe data turunan dari tipe data dasar. 2. Jenis- Jenis Variable pada Bahasa Java Member Variable (tidak statis). Dalam bahasa pemrograman berorientasi object, object menyimpan variable yang tidak dideklarasikan dengan kata kunci static dalam kategori non-statis, atau dapat berubah-ubah. Suatu class dapat dijelmakan ke dalam beberapa object. Nilai yang terkandung dalam variable tak-statis ini berbeda untuk setiap objectnya. Instance variable merupakan variabel yang terletak di dalam pendefinisian suatu class. Instance variable baru terbentuk apabila suatu class dibuat instance-nya. 4 Static Variable Variable ini merupakan bagian integral dari suatu class, dan tidak ada satu object pun yang dapat menyatakan kepemilikan atas variable ini. Variable yang dideklarasikan sebagai statis digunakan bersama oleh semua object. Variable ini lebih bersifat global yang nilainya sama untuk setiap object pada class yang bersangkutan. Pendefinisian suatu class variable adalah dengan menambahkan keyword static di depan pendeklarasian variabel. Local Variable. Variable ini didefinisikan di dalam suatu method atau dalam suatu prosedur. Variable ini bersifat lokal karena hanya dapat diakses oleh method atau prosedur tersebut. 3. Program menghitung luas menggunakan java; Luas Segitiga import javax.swing.JOptionPane; public class Segitiga { public static void main(String args[]) { String first;String second;int number1;int number2;int sum; first=JOptionPane.showInputDialog("Masukkan alas"); second=JOptionPane.showInputDialog("Masukkan tinggi"); number1=Integer.parseInt(first); number2=Integer.parseInt(second); sum=number1*number2/2; JOptionPane.showMessageDialog(null,"Luas segitiga adalah"+sum,"Hasil",JOptionPane.PLAIN_MESSAGE); System.exit(0); } } 5 Outputnya: Luas Lingkaran import javax.swing.JOptionPane; public class luaslingkaran{ public static void main(String[] args){ int jari= 0; String VarJari =JOptionPane.showInputDialog("Masukkan Jari jari lingkaran"); jari = Integer.parseInt(VarJari); Double luas=3.14*(jari*jari); Double keliling= 2*3.14*jari; String End="Nilai luas lingkaran dengan jari "+ jari +" adalah "+luas+" dan kelilingnya adalah "+keliling; 6 JOptionPane.showMessageDialog(null,End); } } Ouputnya: Luas Bujursangkar import javax.swing.JOptionPane; public class bujursangkar { public static void main(String args[]) { String first;String second;int number1;int number2; int sum; first=JOptionPane.showInputDialog("Masukkan sisi Bujur sangkar:"); number1=Integer.parseInt(first); sum=number1*number1; JOptionPane.showMessageDialog(null, "Luas bujur sangkar adalah: "+sum,"Hasil",JOptionPane.PLAIN_MESSAGE); 7 System.exit(0); } } Outputnya: Luas Empat Persegi Panjang import javax.swing.JOptionPane; public class persegipanjang { public static void main(String args[]) { String first;String second;String three;int number1;int number2; int sum; first=JOptionPane.showInputDialog("Masukkan panjang :"); second=JOptionPane.showInputDialog("Masukkan lebar :"); number1=Integer.parseInt(first); number2=Integer.parseInt(second); sum=number1*number2; 8 JOptionPane.showMessageDialog(null,"Luas persegi panjang adalah : "+sum,"Hasil",JOptionPane.PLAIN_MESSAGE); System.exit(0); } } Ouputnya: LATIHAN BAB III 1. Apa perbedaan X++ dengan ++X, jelaskan ? 2.Bagaimana menghitung perkalian dan pembagian dengan bilangan dua tanpa menggunakan operator matematika ? 3. Bagaimana menukar nilai dari dua variabel integer dengan tanpa menggunakan perantara ? 9 Jawab: 1. Misal: int x = 1'; int y = ++x; maka nilai y = 2 karena variabel x sudah diupdate int y = x++; artinya: y = x; x = x + 1; jadi nilai y = 1 2. Caranya yaitu menggunakan Operator Assignment karena Operator assignment dalam Java digunakan untuk memberikan sebuah nilai ke sebuah variabel. *= penggunaan Op1 *= Op2 ekivalen Op1 = Op1 * Op2 /= penggunaan Op1 /= Op2 ekivalen Op1 = Op1 / Op2 3. Cara untuk menukar nilai 2 variabel, biasanya kita menggunakan variabel perantara untuk menampung sementara nilai, contoh program di bawah ini: public class SwapWithTemp { public static void main(String[] args) { int x = 34, y = 78, t; t = x; x = y; y = t; System.out.println(x + " " + y); } } Pada program di atas, t adalah variabel penampung nilai x, sebelum nilai x ditimpa oleh nilai y. 10