Monday 23 June 2014

Laporan Akhir Praktikum Intro Java dan Kondisi

Listing Program

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Praktik1 {
public static void main(String[] args) {
BufferedReader dataIn= new BufferedReader(new
InputStreamReader(System.in));
String InputNilai="";
int a=0,b=1,i,nilai;
System.out.println("Masukkan nilai: ");
try{
InputNilai=dataIn.readLine();
}catch(IOException e){
System.out.println("ERROR!");
}
nilai=Integer.parseInt(InputNilai);
System.out.print("[");
for(i=0;i<nilai;i++){
if(i==nilai-1){
System.out.print("("+a+","+b+")");
a=a+2;
b=b+2;
}
else{
System.out.print("("+a+","+b+")"+",");
a=a+2;
b=b+2;
}
}
System.out.print("]");
}
}

Logika Program

Java adalah bahasa pemrograman yang dapat dijalankan di berbagai computer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle dan dirilis tahun1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM).

Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. Berikut dibawah ini adalah logika dari program diatas.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
Pada potongan listing diatas menjelaskan bahwa kita akan menggunakan class BufferedReader, InputStreamReader dan IOException yang berada di java.io package. Class-class tersebut dikumpulkan di dalam packages. Packages berisi class yang mempunyai fungsi yang saling berhubungan. Seperti pada contoh di atas, java.io package mengandung class-class yang memungkinkan program untuk melakukan input dan output data. import java.io.BufferedReader; memanggil class BufferedReader yang terdapat di class io yang ada di folder java yang berfungsi membaca teks karakter-masukkan. import java.io.InputStreamReader; memanggil class InputStreamReader yang terdapat di class io yang ada di folder java yang berfungsi mengkonversikan byte menjadi karakter. import java.io.IOException; memanggil class IOException yang terdapat di class io yang ada di folder java berfungsi menyediakan penanganan jika terjadi kesalahan.
Pernyataan di atas juga dapat ditulis sebagai berikut,

Import java.io.*;

yang akan mengeluarkan semua class yang berada dalam package, dan selanjutnya kita bisa menggunakan class-class tersebut dalam program kita.
public class Praktik1 {

Pada lanjutan potongan listing program diatas terdapat public class Praktik1 menandakan nama class yaitu Praktik1. Dalam Java, semua kode seharusnya ditempatkan di dalam deklarasi class. kita melakukannya dengan menggunakan kata kunci class. Sebagai tambahan, class menggunakan access specifier public, yang mengindikasikan bahwa class kita mempunyai akses bebas ke class yang lain dari package yang lain pula (package merupakan kumpulan class-class).

public static void main(String[] args) {
Kemudian dilanjutkan dengan public static void main(String[] args) { yaitu mengindikasikan nama suatu method dalam class Praktik1 yang bertindak sebagai method utama. Method utama adalah titik awal dari suatu program Java. Semua program dalam bahasa Java dimulai dengan method utama. Intinya mendeklarasikan class bernama Praktik1 dan kita mendeklarasikan method main.

BufferedReader dataIn= new BufferedReader(new
InputStreamReader(System.in));

Pada statement di atas kita sudah dapat mengetahui bahwa program tersebut menggunakan inputan dari user bukan menggunakan JOption tapi dengan BufferedReader dan listingan program diatas mendeklarasikan sebuah variabel bernama dataIn dengan tipe class BufferedReader.

String InputNilai="";
int a=0,b=1,i,nilai;
Pada lanjutan potongan listing program diatas adalah untuk membuat variable InputNilai dengan tipe data string. Variable a bernilai 0, variabel b bernilai 1, variabel i, dan variable nilai bertipe data tipe integer.

System.out.println("Masukkan nilai: ");
try{
InputNilai=dataIn.readLine();
}catch(IOException e){
System.out.println("ERROR!");


Pada potongan listingan program diatas terdapat System.out.println(“Masukkan nilai: “); , mendeklarasikan memberikan output sebuah String “Masukkan nilai: ” pada layar. Kemudian dilanjutkan dengan syntax InputNilai=dataIn.readLine adalah meminta inputan di user dan memasukkan ke variable yang tersedia yaitu InputNilai. Kemudian terdapat try dan catch merupakan blok yang digunakan untuk menangani exception, catch(IOException e) menjelaskan bahwa kemungkinan terjadi error pada pernyataan. Exception adalah sebuah peristiwa yang menjalankan alur proses normal pada program. Peristiwa ini biasanya berupa kesalahan (error) dari beberapa bentuk. Ini disebabkan program kita berakhir tidak normal. Blok catch digunakan untuk menempatkan kode-kode program Java yang digunakan untuk menangani sebuah exception tertentu. Lalu System.out.println("ERROR!"); mendeklarasikan memberikan output sebuah String “ERROR! ” pada layar.

nilai=Integer.parseInt(InputNilai);
System.out.print("["); 
for(i=0;i<nilai;i++){

Pada lanjutan potongan listing program diatas ada nilai=Integer.parseInt(InputNilai); parseInt akan melempar eksepsi NumberFormatException (ERROR) jika format args[0]

tidak valid (bukan sebuah angka). Syntax di atas berfungsi mengkonversikan tipe data dari String ke dalam tipe data integer karena tipe data String tidak dapat digunakan dalam perhitungan/logika aritmatika. Dan variable pun harus berbeda karena sudah menampung data yang sebelumnya. Dan dilanjukan dengan System.out.print(“[“); yang mendeklarasikan memberi output atau keluaran berupa sebuah String ”[“ kelayar pada lanjutan baris, maksudnya karena print maka tidak memberikan output pada baris selanjutnya tetapi tetap pada baris tersebut. Kemudian terdapat struktur control perulangan, struktur kontrol pengulangan adalah berupa pernyataan dari Java yang mengijinkan kita untuk mengeksekusi blok code berulang-ulang sesuai dengan jumlah tertentu yang diinginkan. Diatas menguanakan perulangan Pernyataan for loop memiliki kondisi hampir mirip seperti struktur pengulangan sebelumnya yaitu melakukan pengulangan untuk mengeksekusi kode yang sama sebanyak jumlah yang telah ditentukan.Pada potongan listing brogram diatas di deklarasikan dengan for(i=0;i<nilai;i++){ , yaitu variable i bernilai nol, maka nilai variable i kurang dari nilai variable nilai, dan maka i++ berarti i akan mengalami kenaikan nilai sebanyak 1 sampai kondisi terpenuhi, jika kondisi belum terpenuhi maka akan terus mengalami perulangan sampai kondisi terpenuhi.

if(i==nilai-1){
System.out.print("("+a+","+b+")");
a=a+2;
b=b+2;
else{
System.out.print("("+a+","+b+")"+",");
a=a+2;
b=b+2; System.out.print("]");

Pada lanjutan listing program diatas terdapat kondisi percabangan, percabangan Program akan menarik pernyataan jika dibutuhkan persyaratan tertentu untuk menjalankan suatu pernyataan, dan melewati pernyataan lainnya. Pada potongan listing program diatas menggunakan percabangan If-Else, percabangan ini untuk memilih salah 1 dari 2 kemungkinan kemunculan. Dengan kata lain, bentuk if else menyebabkan eksekusi dijalankan melalui sekumpulan boolean, sehingga hanya bagian tertentu program yang dijalankan. if(i==nilai-1){ , menyatakan bahwa jika i sama dengan variable nilai dengan dikurang sama dengan satu, kemudian System.out.print("("+a+","+b+")"); menyatakan nilai dari variable a dan b akan dicetak dengan nilai yang berasal a adalah nilai variable a ditambahkan 2, dan nilai b adalah nilai variable b ditambah 2.

Else{ adalah mendeklarasikan perintah percabangan bahwa jika persyaratan percabangan yang sebelumnya tidak terpenuhi maka akan menjalankan perintah didalamnya. Kemudian System.out.print("("+a+","+b+")"+","); adalah menyatakan nilai dari variable a dan b akan dicetak dengan nilai yang berasal a adalah nilai variable a ditambahkan 2 lalu disimpan ke variable a untuk dicetak kelayar, dan nilai b adalah nilai variable b ditambah 2 lalu disimpan ke variable b untuk dicetak kelayar.

Dan yang terakhir adalah System.out.print("]"); adalah untuk mendeklarasikan memberikan output sebuah String “]” pada layar.

Output