DARI SATU STATEMENT MENJADI SATU KESATUAN YANG SISTEMATIS (STRUKTUR KONTROL)


Bagi anda yang awam tentang bahasa pemrograman, ketika anda membuka program Java, anda hanya akan menyadari  bahwa itu hanya  sebuah program yang sedang berjalan. Tapi, untuk para pecinta Java dan mengerti seluk beluknya,mereka tak akan berkata demikian.
Pada aplikasi Java terdapat sub kecil bagian, yang terdiri dari statement, class, package dan akhirnya ter-compile menjadi 1 file .jar

Pada posting kali ini, saya akan menjelaskan tentang statement-statement yang terkumpul menjadi kesatuan yang sistematis,. Penyusunan statement ini dilakukank agar project terstruktur dan terkontrol serta dapat dieksekusi dan berjalan tanpa adanya bug. Selain itu, penggunaan keyword perintah harus disertakan agar antar statement dapat saling terhubung.

Berikut adalah 2 macam struktur control yaitu, percabangan dan perulangan.
Sebelum kita mempelajari struktur kontrol diatas, ada baiknya kita mengenal dahulu apa yang dinamakan blok.

Blok adalah pernyataan sederhana yang pada awalnya juga terdiri dari pernyataan-pernyataan lain. Dalam penulisannya, blok ditulis dengan diawali tanda{‘ (kurung kurawal buka) dan diakhiri dengan tanda }’ (kurung kurawal tutup). Tujuannya yaitu mengelompok-kelompokkan  pernyataan  menjadi perintah yang lebih sederhana agar mudah dimengerti.  Pernyataan blok lebih sering ditemukan dalam struktur kontrol, tapi pada dasarnya tidak selalu. Kenyataannya, blok bukanlah bagian dari struktur kontrol, sehingga dapat berdiri sendiri . Contoh yang paling sering ditemukannya pernyataan blok tanpa stuktur kontrol yaitu pada subrutin main().

(Gambar 1)

Selanjutnya, setelah kita tahu blok, kita akan mempelajari struktur kontrol. Struktur kontrol meliputi :
1.       Percabangan :
a.       If
Statement ini merupakan statement percabangan paling dasar. Langkah awal dari percabangan ini adalah menguji kondisi dari if itu sendiri. If akan menjalankan perintah pada baris setelah baris kondisi if (baik beberapa pernyataan yang ada dalam blok maupun hanya terdiri dari 1 pernyataan), jika dan hanya jika kondisi if bernilai benar (true). Tapi, apabila kondisi if bernilai salah (false), maka alur if menuju akhir dari blok kemudian melanjutkan pada baris-baris selanjutnya.

(Gambar 2)
b.      If-else
Statemen ini merupakan pengembangan dari percabangan if. Pada percabangan sebelumnya, if berdiri sendiri. Untuk percabangan ini, if mempunyai percabangan lain, yaitu else. Hal inilah yang memungkinkan komputer diperintahkan untuk memilih beberapa tindakan yang akan diambil, tergantung nilai dari kondisi percabangan tersebut.
If akan akan menjalankan perintah yang ada dalam bloknya dan else akan dilewati (tidak dieksekusi), apabila nilai if adalah benar (true). Begitu pula else, else ini akan menangani dan menjalankan statemen yang ada dalam bloknya apabila nilai dari if adalah salah (false).


(gambar 3)
c.       If-else if
Untuk statement ini, merupakan pengembangan lebih lanjut dari percabangan if dan else. Pada percabangan ini, anda diizinkan untuk menambahkan lebih banyak percabangan, sehingga akan menambahkan lebih banyak pilihan untuk dieksekusi, tergantung nilai dari if itu sendiri.

(gambar 4)
d.      Switch
Switch adalah salah satu percabangan yang jarang sekali digunakan,namun sangat dibutuhkan jika anda akan membuat percabangan dengan berbagai arah.
Parameter dari switch adalah sebagai berikut :

(gambar5)
Pernxataan switch ini akan mengindeks dan mencocokkan nilai dari ekspresi dengan nilai yang ada dalam daftar case. Jika switch tak menemukan nilai yang sama pada daftar case, secara otomatis switch akan membawanya ke pernyataan default. Apabila switch menemukan nilai yang sesuai, maka switch akan menjalankan perintah yang ada dibaris case tersebut termasuk perintah yang ada di daftar case setelahnya maupun pernyataan default.

2.       Perulangan :
a.       while
while adalah sebuah perulangan yang tidak akan berhenti menjalankan perintah dalam bloknya apabila dia tidak bernilai false.
Parameter while :

//inisialisasi nilai
while (kondisi){
perintah
}

Penjelasan lebih lanjut tentang while yaitu, while mempunyai kondisi yang sedang dijalankan. Kondisi dari while tersebut hanya mempunyai 2 nilai,true dan false. Ketika kondisi itu bernilai true, while akan menjalankan perintah yang ada dalam bloknya. Hal ini akan berjalan terus-menerus, bahkan mungkin akan tak terbatas hingga kondisi dapat bernilai false. Ketika itu pula while akan membawa  alur menuju akhir blok.

(gambar6)
b.      do-while
untuk mengerti perulangan do-while, mungkin algoritma ini dapat membantu anda.

Seorang programmer sedang merencanakan sebuah permainan. Di akhir permainan itu, permainan akan selalu menanyakan pada pemain, apakah pemain akan memainkan game itu lagi?

Di rinilah peran do-while dibutuhkah. Ketika ada sebuah pernyataan dalam perulangan do,pernyataan tersebut akan tetap dijalankan hingga tiba pada baris perulangan while. Pada perulangan while, disediakan disediakan sebuah kondisi. Setelah kondisi diuji, dan ternyata bernilai benar, maka alur tidak kembali pada baris while, melainkan kembali ke baris do. Siklus tersebut akan terus berulang hingga kondisi while bernilai salah.

(gambar7)


c.       for
Perulangan yang terakhir adalah perulangan for. Perulangan ini dibutuhkan apabila misalkan kita ingin menampilkan angka 1-10 secara berurutan atau dari angka 10-1.

Perulangan ini mempunyai sifat yang sangat mirip dengan perulangan while. Itulah mengapa tak heran jika disebut juga dengan transformasi dari while.

Parameter for adalah sebagai berikut.


for (inisialisai_variabel;kondisi_ variabel;perubahan_variabel){
perintah
}

Perlu diperhatikan, pendeklarasian perulangan for dan while mempunyai perbedaan walaupun mempunyai sifat yang relatif sama. Pada while,inisialisai nilai, pengujian kondisi dan perubahan variabel di ungkapkan pada baris yang berbeda. Sedangkan for, inisialisai nilai, pengujian kondisi dan perubahan variabel di ungkapkan dalam satu baris.

(gambar8)

Dari sini, anda sudah dapat membuat sebuah aplikasi sederhana dan interaktif.

MENDAPAT INPUTAN DARI KEYBOARD



Pada posting sebelumnya, telah kita bahas tentang pengenalan Java yang meliputi sejarah Java dan  jatuh bangun James Gosling serta teman-teman untuk membangun bahasa pemrograman ini. Kita juga telah mempelajari Operator Java beserta logika-logika yang digunakan.
Untuk saat ini, paling tidak anda telah mengenal dan mengetahui konsep dasar dari Java untuk membangun aplikasi sederhana (setidaknya anda mengerti tentang System.out.println() ). Aplikasi yang mempunyai variable yang dapat diinputkan oleh user. Inputan tersebut juga harus dicegah dari syntax error maupun runtime error.
Salah satu device yang menginputkan data adalah keyboard,  dan sekarang kita akan mempelajari tentang bagaimana membuat edit text field untuk menginput data dari keyboard.
Ada dua cara untuk memberikan input melalui keyboard.
1.       class BufferedReader
class ini mengizinkan user untuk menginput data melalui layar console. Layar console adalah sejumlah baris perintah beserta input yang mungkin berbeda diberikan dalam 1 jendela.
untuk membuat class BufferedReader, kita harus membuat dahulu package java.io untuk mendapatkan input dari keyboard.

Berikut adalah langkah-langkah agar kita dapat membuat input data console.
1)    Ketikkan code berikut di atas public class atau di bawah package anda untuk menambah class BufferedReader, InputStreamReader, dan IOException.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException

Tapi pada Java, ada istilah API (Application Programming Interface), dimana pada Java telah diberikan kemudahan untuk mendeklarasikan beberapa class yang saling berhubungan hanya dalam 1 package.
Secara umum dapat ditulis:
import java.io.package;

dalam hal ini kita memakai :
import java.io.*;

class tersebut telah mewakili class BufferedReader, InputStreamReader, dan IOException

2)    Tambahkan metode main dengan mengetik source :
Public static void main (String [] args ){

3)    Tambahkan statement berikut:
BufferedReader variable = new BufferedReader (new InputStreamReader (System.in));
Kode diatas menunjukkan bahwa kita mendeklarasikan sebuah variabel dengan tipe class BufferedReader.

4)    Ketikkan String data = ”” ;
Ini diperlukan untuk memanggil data yang di inputkan oleh user yang nantinya mungkin akan diproses lebih lanjut.
5)    Ketikkan System.out.println(”perintah kepada user untuk menginputkan data”).
Isikan perintah kepada user untuk menginputkan data dengan ungkapan yang anda inginkan agar user nanti menginputkan data untuk memenuhi data yang akan diproses selanjutnya.
6)    Selanjutnya penangkapan sebuah error apabila data yang diinputkan bukan termasuk data yang diinginkan. Tuliskan source berikut :
try {
  data = variabel.readLine();
}
catch (IOException e) {
System.out.println(”pernyataan error”);
}
pada perintah try, perintah ini berguna untuk mencoba mengeksekusi perintah di baris bawahnya dan akan ditanggkap oleh catch apabila terjadi error.
.readLine()digunakan untuk mendapatkan input dari user dan disimpan pada variabel class BufferedReader dan akan dipanggil oleh data.

7)    Selanjutnya  System.out.println(”menampilkan hasil”);
Untuk menampilkan hasil yang diinginkan.


2.       JoptionPane
class ini digunakan untuk menyimpan/menampilkan data yang diinputkan oleh user melalui GUI (Graphic User Interface). Penggunaan class ini sangatlah interaktif, karena didukung oleh munculnya jendela baru untuk perintah yang baru.

Langkah –langkah membuat JoptionPane
1)      Ketikkan code berikut di atas public class atau di bawah package anda untuk menambah class JoptionPane
import javax.swing.JOptionPane;
sepertihalnya BufferedReader, pada JOptionPane terdapat kumpulan class yang saling terkait yang telah dipaketkan dan dideklarasikan secara bersamaan. Perintahnya adalah,
import javax.swing.package;
atau
import javax.swing.*;
2)      Tambahkan metode main dengan mengetik source :
Public static void main (String [] args ){
3)      Tambahkan String data = ”” ;
Mempunyai fungsi yang sama dengan BufferedReader.
4)      data = JoptionPane.showInputDialog(perintah untuk user agar menginputkan data);
5)      Terakhir, ketikkan JOptionPane.showMessageDialog(null, ”.....”+data);
Baris ini digunakan untuk menghasilkan output dengan memanggil variabel data.


Setelah anda mengerti cobalah untuk membuat aplikasi yang melibatkan user untuk memasukkan data melalui keyboard.
Kombinasikan aplikasi anda dengan beberapa Operasi dan gabungan-gabungannya.

OPERATOR

OPERATOR JAVA

Seperti halnya bahasa pemrograman yang lain, Bahasa Java juga mempunyai Operator agar 2 atau lebih operand dapat di eksekusi (di proses). Operand adalah variabel baik angka maupun karakter yang akan di operasikan untuk mendapatkan hasil.
Di dalam Java dikenal beberapa Operator dan mempunyai karakteristik tersendiri. Operator-operator tersebut meliputi :

·         Operator Aritmatika
Didalam operator aritmatika terdapat operasi-operasi dasar yang biasanya digunakan dalam perumusan matematika. Berikut tabel operato aritmatika dari jenis operator, penggunaannya serta penjelasannya.
Operator
Penggunaan
Penjelasan
+
op1 + op2
Add op1 and op2
(Penjumlahan operator 1 dengan operator 2)
-
op1 - op2
Subtract  op2 from op1
(Pengurangan operator2 dari operator1)
*
op1 * op2
Multiple op1 and op2
(Perkalian operator 1 dan operator 2)
/
op1 / op92
Devide op1 by op2
(Pembagian operator  1 oleh operator 2)
%
op1 % op2
Calculate the ramainder from dividing op1 by op2
(Menghitung sisa dari pembagian operator 1 dan operator2

Contoh :
Int bil1=60,bil2=25,hasil;
hasil=bil1+bil2;
System.out.println (“nilai” + hasil);

Setelah di run file, output menjadi :
nilai 85
(Penjumlahan dari bil1 (60) dan bil2(25) )

·         Operator  Increment dan Decrement
Pada operator ini, ada kaitannya penambahan nilai 1 (satu) baik sebelum ataupun setelah variabel di evaluasi.
Operator
Penjelasan
Contoh
op++
Increment op by 1; evaluate to the value of op before it was Increment
(Penambahan 1 pada op; evaluasi nilai op sebelum op ditambahkan)
Int bil1=60,bil2=25,hasil;
hasil=bil1+++bil2;
System.out.println (“nilai” + hasil);
System.out.println (bil1);

Setelah di run file, output menjadi :
nilai 86
60
-  Penjumlahan dari bil1++ (60+1) dan bil2(25)
-  Nilai bil1 tetap 60 karena bil1 belum di evaluasi.
++op
Increment op by 1; evaluate to the value of op after it was Increment
(Penambahan 1 pada op; evaluasi nilai op setelah op ditambahkan)
Int bil1=60,bil2=25,hasil;
hasil=++bil1+bil2;
System.out.println (“nilai” + hasil);
System.out.println (bil1);

Setelah di run file, output menjadi :
nilai 86
61
-  Penjumlahan dari ++bil1 (60+1) dan bil2(25)
-  Nilai bil1 menjadi 61 karena bil1 ditambah dahulu dan di evaluasi.
op--
Decrement op by 1; evaluate to the value of op before it was Increment
(Pengurangan 1 pada op; evaluasi nilai op sebelum op ditambahkan)
Int bil1=60,bil2=25,hasil;
hasil=bil1+++bil2;
System.out.println (“nilai” + hasil);
System.out.println (bil1);

Setelah di run file, output menjadi :
nilai 84
60
-  Penjumlahan dari bil1-- (60-1) dan bil2(25)
-  Nilai bil1 tetap 60 karena bil1 belum di evaluasi.
--op
Decrement op by 1; evaluate to the value of op after it was Increment
(Pengurangan 1 pada op; evaluasi nilai op setelah op ditambahkan)
Int bil1=60,bil2=25,hasil;
hasil=++bil1+bil2;
System.out.println (“nilai” + hasil);
System.out.println (bil1);

Setelah di run file, output menjadi :
nilai 84
61
-  Penjumlahan dari --bil1 (60-1) dan bil2(25)
-  Nilai bil1 menjadi 59 karena bil1 dikurangi dahulu dan di evaluasi.

·         Operator relasi
-     Terdiri dari operasi-operasi yang mempunyai arti membandingkan antara statement 1 dengan statement 2.
-     Hanya mempunyai 2 nilai dari boolean (0-1 atau true-false)
-     Tabel Operator relasi
Operator
Penggunanaan
Penjelasan
op1 > op2
op1 is greater than op2
(op1 lebih besar dari pada op2)
=>
op1 => op2
op1 is greater or equals than op2
(op1 lebih besar atau sama dengan op2)
op1 < op2
op1 is less than op2
(op1 lebih kecil dari pada op2)
<=
op1 <= op2
op1 is less or equals than op2
(op1 lebih kecil atau sama dengan op2)
==
op1 == op2
op1 is equals  op2
(op1 sama dengan op2)
!=
op1 !=  op2
op1 is not equals  op2
(op1 tidak sama dengan op2)

·         Operator Logika
Seperti halnya operator relasi, operator logika hanya mempunyai 2 nilai dari boolean (0-1 atau true-false). Operator logika mempunyai beberapa jenis :
-          AND (&) dan Short Logical AND (&&)
o   AND  (&) dan Short Logical AND (&&)mempunyai tabel kebenaran sebagai berikut :
A
B
Output
True
True
True
True
False
False
False
True
False
False
False
False
o   Ciri-ciri umum dari Logika AND adalah,”Jika salah satu statement bernilai FALSE, maka hasil Logika AND adalah FALSE
o   Perbedaan dari AND (&) dan Short Logical AND (&&), jika AND mengeksekusi  seluruh statement yang ada.  Tapi, jika Short Logical AND hanya mengekskusi statement pertama yang bernilai FALSE
-          OR (|) dan Short Logical OR (||)
o   OR (|) dan Short Logical OR (||) mempunyai tabel kebenaran sebagai berikut :
A
B
Output
True
True
True
True
False
True
False
True
True
False
False
False
o   Ciri-ciri umum dari Logika OR adalah,”Jika salah satu statement bernilai TRUE, maka hasil Logika OR adalah TRUE
o   Perbedaan dari OR(|) dan Short Logical OR (||), jika OR mengeksekusi  seluruh statement yang ada.  Tapi, jika Short Logical OR hanya mengekskusi statement pertama yang bernilai TRUE.

-          Boolean Logical Exclusive OR (^)
o   Boolean Logical Exclusive OR mempunyai tabel kebenaran sebagai berikut :
A
B
Output
True
True
False
True
False
True
False
True
True
False
False
False
o   Karakteristik dari Logika ini adalah, “Jika kedua input mempunyai nilai yang sama, output menghasilkan nilai FALSE. Sebaliknya, jika input mempunyai nilai yang berbeda maka output menghasilkan nilai TRUE

-          NOT  (!)
o   NOT  mempunyai tabel kebenaran sebagai berikut :
A
Output
True
False
False
True
o   Karakteristik dari Logika ini adalah, “Nilai dari output adalah kebalikan atau negasi dari nilai pada input.
·         Operator Kondisi
-          Operator secara umum dapat dinotasikan sebagai berikut :
exp1?exp2:exp3
Keterangan :
Exp1 = KONDISI yang diuji
Exp2 = Statement yang berlaku apabila KONDISI bernilai BENAR
Exp3 = Statement yang berlaku apabila KONDISI bernilai SALAH

-          Operator ini mempunyai nilai BENAR dan SALAH, tapi biasanya pada statement tidak diungkapkan dengan TRUE atau FALSE

Dari pernyataan di atas, anda dapat menganalisis dan menguji coba Operator Java. Kombinasikan operator-operator tersebut untuk melatih diri anda dalam menggunakan Operator Java.

Mencari Selisih Jumlah Hari Antara Dua Tanggal pada Bash Scripting

Beberapa waktu lalu lagi bikin projek yang melibatkan protokol HTTPS. Seperti yang kita tahu bahwa HTTPS merupakan protokol yang melindungi ...