Tugas Mandiri Algoritma

Mahasiswa Yang Berencana, Dosen Yang Menentukan.

Tugas Mandiri 06

April12

1. Describe the Java Throwable class, its subclasses, and the types of exceptions

Throwable adalah kelas yang ada di package java.lang yang menangani eksepsi dan merupakan turunan dari kelas objek (kelas tertinggi di JAVA). Dan perlu diketahui blok ini akan dijalankan jika terjadi eksepsi saja.

Tipe exception:

ArithmeticException   : Arithmetic error, such as divide by zero.

ArrayIndexOutOfBoundsException : Array index is out-of-bounds.

ClassCastException :  Invalid cast.

StringIndexOutOfBounds  :  Attempt to index outside the bounds of a string.

2. What is the purpose of declaring exceptions? How do you declare an exception, and where? Can you declare multiple exceptions in a method header?

Tujuan dari declare exception adalah untuk memberitahu sistem runtime Java apa yang bisa terjadi kesalahan. Kita dapat declare exception dengan menggunakan throws keyword dalam method declaration. Dan kita dapat declare multiple exception dengan cara memisahkannya dengan koma.

3. What is a checked exception and an unchecked exception?

Checked exceptions adalah exception yang diperiksa oleh Java compiler. Compiler memeriksa keseluruhan program apakah menangkap atau mendaftar exception yang terjadi dalam sintaxthrows. Apabila checked exception tidak didaftar ataupun ditangkap, maka compiler error akan ditampilkan.
Tidak seperti checked exceptions, unchecked exceptions tidak berupa compile-time checking dalam penanganan exceptions. Pondasi dasar dari unchecked exception classes adalah Error, RuntimeException dan subclass-nya.

4. What is the keyword throw and throws used for?

Keyword throw digunakan untuk melempar suatu eksepsi dalam program. Keyword throws digunakan pada waktu mendeklarasikan suatu method untuk memberitahu bahwa method yang bersangkutan dapat melempar eksepsi dengan tipe yang dideklarasikan oleh keyword throws tersebut.

5. Point out the problem in the following code. Does the code throw any exceptions?

Adding 1 to Long.MAX_VALUE exceeds the maximum value allowed by a long value. But the current versions of Java does not report this as an exception.

6. Uppose that statement2 causes an exception in the following try-catch block:

Menggunakan pengecualian pada try catch berikut :

–  Statement 3 tidak akan dilakukan eksekusi/ tidak dijalankan.

–  Jika pengecualian tidak ada pada catch, maka statement 4 tidak akan dilakukan eksekusi/tidak dijalankan.

– Jika pengecualian ada pada catch, maka statement 4 akan dilakukan eksekusi.

– Jika pengecualian diberikan kepada pemanggil (yang melakukan eksekusi), maka statement4 tidak akan dilalukan eksekusi.

7. What is displayed when the following program is run?

www.binus.ac.id

Tugas Mandiri 05

April5

1. What are the differences between a while loop and a do-while loop? Convert the following while loop into a do-while loop.

int i = 1;
while(i < 10)
if(i % 2 == 0)
System.out.println(i);

int i = 1;
while(i < 10)
if(i % 2 == 0)
System.out.println(i++);

int i = 1;
while(i < 10)
if((i++) % 2 == 0)
System.out.println(i);

Perbedaan while dengan do-while loop :

While melakukan verifikasi atau pengecekan terlebih dahulu, baru dijalankan. Dengan minimal dijalankan 0 (nol) kali.

Do while menjalankan perintah atau logika terlebih dahulu, baru dilakukan verifikasi atau pengecekan. Dengan minimal dijalankan 1 (satu) kali.

Mengubah while menjadi do-while :

1. A Hasil Dari A

int i = 1;
while(i < 10)
if(i % 2 == 0)
System.out.println(i);

2. B Hasil Dari B

int i = 1;
while(i < 10)
if(i % 2 == 0)
System.out.println(i++);

3. C Hasil Dari C

int i = 1;
while(i < 10)
if((i++) % 2 == 0)
System.out.println(i);

2. Do the following two loops result in the same value in sum?

for(int i = 0; i < 10; ++i){
sum + = i;
}

for(int i = 0; i < 10; i++){
sum + = i;
}

Hasilnya ialah 45, Hasil Dari Atas

3. What does the following statement do?

for( ; ; ){
do something;
}

Untuk membuat statement pada for dan melakukan sesuatu yaitu peenamaan pada varibel menggunakan penggabungan simbol.

4. Can you always convert a while loop into a for loop? Convert the following while loop into a for loop.

Bisa, tetapi haruslah terdapat nilai , increment dan kondisi agar bisa berubah menjadi for looping Hasil Dari Tersebut

5. After the continue statement is executed in the following loop, which statement is executed? Show the output.

Hasil Dari Atas

www.binus.ac.id

Tugas Mandiri 04C

March28

1. Suppose x = 3 and y = 2, show the output, if any, of the following code.What is the output if x = 3 and y = 4? What is the output if x = 2 and y = 2?

if (x > 2) {

  if (y > 2) {

    int z = x + y;

}  }    System.out.println(“z is ” + z);

else

  System.out.println(“x is ” + x);

Output dari x = 3 & y = 2 tidak memberikan output

Hasil Dari Textpad

Output dari x = 3 & y = 4 memberikan output “z is 7”

Hasil Dari Textpad

Output dari x = 2 & y = 2 memberikan output “x is 2”

Hasil Dari Textpad

2. What is after the following switch statement is executed ?

x = 3; y = 3;
switch (x + 3) {
case 6: y = 1;
default: y += 1;
}

Hasil y adalah  “y = 2”

Hasil Dari Textpad

3. Use a switch statement to rewrite the following if statement:?

if (a ==1)
x +=5;
else if (a == 2)
x +=10;
else if (a == 3)
x +=16;
else if (a == 4)
x += 34;

Hasil dari if statement yang dirubah menjadi switch statement

Hasil Dari Textpad

4. Use a ternary operator to rewrite the following if statement

if(x>65)
System.out.println(“Passed”);
else
System.out.println(“Failed”);

Hasil dari Nilai 100 “Passed”

Hasil Dari Textpad

Hasil dari Nilai 65 “Passed”

Hasil Dari Textpad

Hasil dari Nilai 50 “Failed”

Hasil Dari Textpad

www.binus.ac.id

Tugas Mandiri 04B

March27

1. Assuming that x is 1, show the result of the following Boolean expressions.

  • (true) && (3 > 4)

  • !(x > 0) && (x > 0)

  • (x != 1) == !(x == 1)

  • (x >= 0) || (x < 0)

Output dari soal diatas adalah :

  • (true) && (3 > 4) = False

  • !(x > 0) && (x > 0) = False

  • (x != 1) == !(x == 1) = True

  • (x >= 0) || (x < 0) = True

2. List the precedence order of the Boolean operators. Evaluate the following expressions :

  • 2 * 2 – 3 > 2 && 4 – 2 > 5
  • 2 * 2 – 3 > 2 || 4 – 2 > 5

Output dari soal diatas adalah :

  • 2 * 2 – 3 > 2 && 4 – 2 > 5  = False

  • 2 * 2 – 3 > 2 || 4 – 2 > 5     = False

3. Is (x > 0 && x < 10) the same as ((x > 0) && (x < 10))? Is (x > 0 || x < 10 && y < 0) the same as (x > 0 || (x < 10 && y < 0)) ?

  • Is (x > 0 && x < 10) dengan ((x > 0) && (x < 10)) Adalah Same

  • (x > 0 || x < 10 && y < 0) dengan  (x > 0 || (x < 10 && y < 0)) Adalah Same

www.binus.ac.id

Tugas Mandiri 04A

March27

1. Can different types of numeric values be used together in computation?

Bisa, karena menggunakan type casts. Yaitu untuk menggabungkan berbagai jenis numerik (angka) secara bersama dengan melakukan pemisahan. Hasilnya akan sesuai dengan input, jika ada nilai awal yang diberikan maka bisa menggantikan beberapa tipe yang juga digunakan.

2.  Assume that int a = 1 and double d = 1.0 and that each expression is independent. What are the results of the following expressions?

  • a = 46 % 9 + 4 * 4 – 2

  • a = 45 + 43 % 5 * (23 * 3 % 2)

  • a %= 3 / a + 3

  • d += 1.5 * 3 + (++a)

Output dari soal diatas adalah :

  • a = 46 % 9 + 4 * 4 – 2 = 15

  • a = 45 + 43 % 5 * (23 * 3 % 2) = 48

  • a %= 3 / a + 3 = 0

  • d += 1.5 * 3 + (++a) = 6.5

Hasil Dari Textpad

3. Are the following statements correct? If so, show the output.

  • System.out.println(“25 / 4 is “ + 25 / 4);
  • System.out.println(“25 / 4.0 is “ + 25 / 4.0);
  • System.out.println(“3 * 2 / 4 is “ + 3 * 2 / 4);
  • System.out.println(“3.0 * 2 / 4 is “ + 3.0 * 2 / 4);

Output dari soal diatas adalah :

  • System.out.println(“25/4 is ” +25/4); = 25/4 is 6

  • System.out.println(“25/4.0 is ” +25/4.0); = 25/4.0 is 6.25

  • System.out.println(“3*2/4 is ” +3*2/4); = 3*2/4 is 1

  • System.out.println(“3.0*2/4 is ” +3.0*2/4); = 3.0*2/4 is 1.5

Hasil Dari Textpad

www.binus.ac.id

Tugas Pertemuan 03A

March14

1. Why does the System class not need to be imported?

Karena System pada java akan di import secara otomatis dari “java.lang”  yang membuat kode coding kita yang baru secara otomatis sudah di import.

2. What is the differences between the following two import statements :

  • import java.util.Scanner;
  • import java.util.*;

import java.util.Scanner; ialah merupakan bawaan dari program dari java yang menggunakan data masukan atau input dari keyboard.(karena pada class Tiga menggunakan data pada variable, dan tidak memerlukan input data dari keyboard maka tidak perlu menggunakan fungsi import java.util.Scanner;).

import java.util.*; code ini untuk menambahkan fungsi java.util yang diantaranya fungsi Scanner.

3. Explain the output syntax :

  • System.out.println
  • System.out.print
  • System.out.printf

System.out.println : Menampilkan data (angka atau karakter) yang dibuat, dimana posisi kursor akan berpindah ke baris baru dibawah data yang telah dicetak.

System.out.print : Menampilkan data yang dibuat dimana posisi kursor berada di sebelah data(angka atau karakter) yang telah dicetak.

System.out.printf : Statement ini memasukan “Format” text yang diinginkan lebih dulu, untuk formatnya sendiri dapat diatur.

4. If a NoClassDefFoundError occurs when you run a program, what is the cause of the error?

Maka java tidak dapat menemukan file.class yang sudah ada didalam java compiler. Maka solusinya kita harus mencari kesalahan yang muncul pada file yang telah kita buat yang di taruh di my document lalu file tersebut berada. Contohnya file.class anda terdapat pada direktori C:\java, maka user harus masuk ke direktori tersebut dengan perintah : cd c:\java

5. If a NoSuchMethodError occurs when you run a program, what is the cause of the error?

Adalah kesalahan yang muncul karena sama juga seperti yan diatas mempunyai kesalahan juga, Jika itu tidak akan mengkompilasi. Kompiler melempar kesalahan saat pemanggilan metode makna, dan itu adalah ketika dua metode yang berbeda hanya dengan tipe pengembalian. Metode itu seperti seperti tidak menggunakan public, static, void dan string.

6. How to compile and run program in Java using command prompt?

  1. Jalankan Notepad.

  2. Lalu tulis script java ke dalam notepad(public class HelloWorld).

  3. Simpan di folder mana saja, simpan dengan “HelloWorld.java”

  4. Kemudian Jalankan Command Prompt(Klik Start > Klik di Search : cmd).

  5. Cara mengcompile masih tetap di cmd. Yaitu dengan cara : cari dulu folder dimana anda simpan file “HelloWorld.java” dan lalu di di paste-kan alamat folder tersebut dicmd.

7. Identify and fix the errors in the following code:

public class Sample {
public static void main (String[]args){
System.out,printl(“Welcome to Java!”)
}
}

Memperbaiki yang salah :

Error yang terjadi berada di “System.out(,)print(l)(“Welcome to Java!”)

Hal tersebut error karena pada statement koma(,) harus diganti dengan titik(.) dan pada statement “printl” harus diganti menjadi “println” sehingga menjadi seperti ini :

public class Sample{
public static void main(String[]args){
System.out.println(“Welcome to Java!”)
}
}

www.binus.ac.id

Quiz Algorithm & Programming

March5

Java Library

Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.

Aturan Identifiers

Beberapa aturan yang berlaku antara lain :
· Identifier harus diawali dengan huruf, simbol $, atau simbol _
· Identifier tidak boleh diawali dengan angka.
· Setelah huruf pertama, suatu identifier boleh berisi karakter apa saja.
· Identifier tidak boleh berupa Java keyword.
· Identifiers boleh ditulis sepanjang apapun, asalkan memenuhi semua syarat di atas.
· Seperti yang sudah kita ketahui, seluruh code Java bersifat case-sensitive yang artinya identifier dengan nama umur dianggap berbeda dengan Umur.

Fungsi dari Kata Kunci Dalam Java

  • Static :

Dengan menggunakan static maka method dan variable akan menjadi milik class, bukan menjadi milik suatu instance. Bila di suatu class terdapat static variable dan static method, maka apabila ada class lain yang ingin menggunakannya dapat langsung memanggil variable atau method tersebut dengan Format : NamaClass.namaStaticVariableAtauMethod. Kita tidak perlu lagi membuat suatu objek dari class tersebut.

  • Final :

Dalam Java, kata kunci final memiliki tiga buah fungsi, yaitu sebagai berikut :
  • Apabila digunakan untuk mendeklarasikan variabel, maka nilai dari variabel tersebut tidak dapat diubah atau diperankan sebagai sebuah konstanta.
  • Apabila digunakan untuk mendeklarasikan menthod, maka menthod tersebut sudah tidak dapat di-override atau diperbaruhi lagi oleh class-class turunannya.
  • Apabila digunakan untuk mendefinisikan class, maka class tersebut sudah tidak dapat diturunkan lagi menjadi class baru lainnya.
Berikut ini beberapa contoh pendeklarasian sebuah konstanta :
final double P1 = 3.1416;
private final int ERROR = -1;
private final int BAHASA_INDONESIA = 0;
private final int BAHASA_INGRIS =1;
private final String JUDUL_MENU_FILE = “File”;
private final String JUDUL_TOMBOL_KELUAR = “Exit”;
Berikut ini contoh program yang akan menunjukkan penggunaan kata kunci final untuk mendeklarasikan sebuah konstanta.

class Stack {
private final int MAX = 10; // Mendeklarasikan konstanta MAX
private int[] stack = new int[MAX];
private int atas;
// Constructor
Stack() {
atas = -1;
}
// Menyimpan nilai ke dalam stack
void push(int nilai) {
if (atas != 9) {
stack[++atas] = nilai;
} else {
System.out.println(“Stack penuh…”);
}
}
// Mengambil nilai dari dalam stack
int pop() {
if (atas >= 0) {
return stack[atas–];
} else {
System.out.println(“Stack masih kosong…”);
return 0;
}
}
}
class DemoFinal {

public static void main(String[] args) {

Stack s = new Stack();

// Memasukkan nilai-nilai ke dalam stack
for (int i=1; i<=10; i++) {
s.push(i * 10);
}

// Mengambil nilai-nilai yang terdapat di dalam stack
for (int i=1; i<=10; i++) {
System.out.println(s.pop());
}
}
}

  • Class :

Program-program yang ditulis menggunakan Java selalu menggunakan kelas-kelas (class) yang mencerminkan objek-objek (object) yang sesungguhnya hadir di dunia nyata.

Berikut ini adalah kegunaan kelas :

  • Mengelompokkan object-object menjadi kelas-kelas berarti mengabstraksikan persoalan yang dihadapi. Abstraksi memberi daya keampuhan pemodelan dan memberikan kemampuan generalisasi beberapa kasus spesifik menjadi induk kasus-kasus yang serupa.
  • Definisi-definisi common (seperti nama kelas dan atribut) cukup disimpan sekali per kelas bukan sekali per instan kelas (object). Operasi-operasi dapat ditulis sekali per kelas. Semua object dalam kelas mendapat manfaat penggunaan kembali (reuse) kode itu.

Contoh Program Java :

         public class persegiPanjang  

          {  

          public static void main(String[] args)  

          {  

          int luas, lebar, keliling;  

          luas = 20;  

          lebar = 45;  

          keliling = 2 * (luas + lebar);  

          System.out.println(“Hasil Keliling: “+ keliling);  

          }

  • Package

Keuntungan membuat Package :

  • Kamu dan programmer lainnya dapat dengan mudah menentukan class-class dan interface-interface yang berelasi
  • Kamu dan programmer lainnya dapat mengetahui dimana untuk mencari class-class dan interface-interface yang dapat menyediakan fungsi grafis yang direlasikan
  • Nama class dan interfacemu tidak akan mengalami konflik dengan nama-nama di paket lainnya, karena paket membuat tempat nama yang baru
  • Kamu dapat membiarkan class-class di dalam paket untuk mempunyai akses tak terlarang untuk salah satu yang lain selama larangan akses untuk tipe-tipe diluar paket

Penggunaan “String [] args” di Public Static Void Main

Public Static Void Main(String[] args) adalah fungsi main dimana public pada bagian ini berarti bahwa metode-metode dapat dipanggil didalam dan juga diluar kelas. Static sendiri berarti sama untuk seluruh instant dari kelas dan void sendiri berarti bahwa metode tidak akan mengirim apapun setelah selesainya fungsi main ini berisi argument yang diambil dari ruang eksekusi.

Penjelasan JVM, JDK, Program Sumber, dan Compiler

  • Java Virtual Machine (JVM) :

JVM (Java Virtual Machine) adalah sebuah mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi pada sebuah mesin nyata. JVM menyediakan spesifikasi hardware dan platform dimana kompilasi kode Java terjadi. Spesifikasi inilah yang membuat aplikasi berbasis Java menjadi bebas dari platform manapun karena proses kompilasi diselesaikan oleh JVM.

  • Java Development Kit (JDK) :

Java Development Kit (JDK) adalah Sun Microsystems produk ditujukan untuk pengembang Java. Sejak diperkenalkannya Java, telah jauh SDK Java yang paling banyak digunakan.Pada tanggal 17 November 2006, Sun mengumumkan bahwa akan dirilis di bawah GNU General Public License (GPL), sehingga membuat perangkat lunak bebas. Hal ini terjadi sebagian besar pada tanggal 8 Mei 2007 [3]; Sun kontribusi kode sumber untuk JDKOpen.

  • Source Program :

Adalah suatu rangkaian pernyataan atau deklarasi yang ditulis dalam bahasa pemrograman komputer yang terbaca manusia. Kode sumber yang menyusun suatu program biasanya disimpan dalam satu atau lebih berkas teks, dan dapat pula ditampilkan dalam bentuk cuplikan kode (Code Snippet) yang dicetak pada buku atau media lainnya.

  • Compiler :

Adalah suatu program yang menerjemahkan bahasa program (Source Code) kedalam bahasa objek (Obyek Code). Compiler menggabungkan keseluruhan bahasa program, mengumpulkannya dan kemudian menyusunnya kembali.

http://www.binus.ac.id