Skip to main content

Java Fundamental, Part 3 - Class dan Syntax

Lebih Jauh Tentang Class dan Syntax

Writing a class with a main


Dalam pemrograman Java, semuanya berjalan dalam class. Anda akan mengetik file source code Anda (dengan ekstensi .java), lalu meng-compile-nya menjadi file class (dengan ekstensi .class). Ketika Anda menjalankan program Anda, Anda benar-benar menjalankan class.

Running a program means telling the Java Virtual Machine (JVM) to "Load the Hello class, then start executing its main () method. Keep running 'til all the code in main is finished."
Menjalankan sebuah program sama halnya dengan memberi tahu Java Virtual Machine (JVM) untuk melakukan hal berikut:
"Load the Hello class, then start executing its main () method. Keep running 'til all the code in main is finished."
Kita telah membahas tentang class pada bab sebelumnya, tetapi untuk sekarang, apa yang perlu anda pikirkan adalah, how do I write Java code so that it will run? Dan semuanya bermula dari main(). Method main() adalah dimana program anda akan start running.
Tidak masalah seberapa besar program anda (dengan kata lain, tidak masalah berapa banyak class yang anda gunakan dalam program anda), yang terjadi tetap method main() yang akan memulai semuanya.

Statements, Looping, Branching

What can you say in the main method?
Sekali anda berada pada main (atau method apapun), the fun begins. Anda yang dapat katakan adalah semua hal-hal yang memang biasa atau normal dalam bahasa pemrograman untuk membuat computer anda melakukan sesuatu.
Your code can tell the JVM to:

Looping and looping and...


Java memiliki tiga konstruksi standard looping: while, do-while, and for.

Kita mulai dengan while. Syntax while sangat sederhana (syntax bukan atau beda artinya dengan logic, kalau logic bisa simple sampai tingkat sangat rumit). Sepanjang kondisinya selalu true, maka pekerjaan apapun akan terus berjalan didalam block loop anda. Block loop dibatasi dengan pasangan kurung kurawal, jadi pekerjaan apapun yang ingin anda terus ulang-ulang maka harus berada dalam block.
Kunci dari loop adalah conditional test. Dalam Java, conditional test adalah sebuah ekspresi yang menghasilkan nilai Boolean, yang bisa memiliki arti true atau false.
Sebagai contoh bila anda mengatakan, "While iceCreamlnTheTub is true, keep scooping", disini anda menyatakan boolean test yang jelas, yaitu apakah ada ice cream di dalam Tub ataupun tidak. Tetapi bila anda menyatakan "While Bob keep scooping", disini anda tidak memiliki real test. Untuk membuatnya menjadi benar, anda harus mengubahnya menjadi seperti misalnya, "While Bob is snoring...” or "While Bob is not wearing plaid...".

Simple boolean tests


Anda dapat membuat boolean test sederhana dengan men-check nilai dari sebuah variable, menggunakan operator pembandingan diantaranya:

< (less than)
> (greater than)
== (equality) (yes, that's two equals signs)
Catatan:
Perhatikan perbedaan antara operator assignment (satu tanda ‘sama dengan’) dan operator equals (dua tanda ‘sama dengan’). Banyak programmer yang keliru membedakan lalu salah ketika mengetik = padahal seharusnya == (semoga bukan anda).
int x = 4; // assign 4 to x
while (x > 3) {
// loop code will run because
// x is greater than 3
x = x - 1; // or we'd loop forever
}
int z = 27; //
while (z == 17) {
// loop code will not run because
// z is not equal to 17
}

Conditional branching

Dalam Java, sebuah if test pada dasarnya adalah sama dengan boolean test didalam while loop – kecuali daripada mengatakan, “sementara (while) masih ada botol kecap…”, anda lebih memilih, “jika (if) masih ada botol kecap..”

class IfTest {
public static void main (String[) args) {
int x = 3;
if (x == 3) {
System.out.println("x must be 3”);
                  }
System.out.println("This runs no matter what");
}
}

Output code-nya:
C:\>java ifTest
x must be 3 
This runs no matter what
Code di atas mengeksekusi baris yang mencetak "x must be 3" hanya jika kondisi (x sama dengan 3) benar. Garis yang mencetak, "This runs no matter what" akan berjalan terlepas dari if condition benar atau tidak. Jadi, tergantung pada nilai x; salah satu atau dua pernyataan akan dicetak.
Tapi kita bisa menambahkan else ke dalam kondisi, sehingga kita bisa mengatakan sesuatu seperti, "Jika masih ada botol kecap, terus koding, kalau tidak (else), dapatkan lagi botol kecap, dan lanjutkan ..."
class IfTest2 {
public static void main (String!) arqs) {
int x = 2;
if (x == 3)
System.out.println("x must be 3”);
else
System.out.println("x is NOT 3”);
System.out.println("This runs no matter what");
      }
}

Output code-nya:
C:\>java ifTest2
x is NOT 3 
This runs no matter what

Anatomy


Serious Java app

Let’s coding a Serious Business Application...
Mari kita gunakan semua keterampilan Java Anda untuk digunakan untuk sesuatu yang praktis. Kita membutuhkan class dengan sebuah main(), sebuah variabel int dan String, while loop, dan if test. Sedikit polesan lagi, dan Anda akan segera membangun backend bisnis tersebut. Tetapi sebelum Anda melihat code di halaman ini, pikirkan sejenak tentang bagaimana Anda akan meng-code-kan game favorit anak-anak jaman dulu yaitu, "99 botol-botol kecap."



public class BotolKecapSong {

public static void main (String[) args) {
int botolKecapNum = 99;
String word = "botol-botol";
while (botolKecapNum > 0) {
if (botolKecapNum == 1) {
word = "botol”; // singular, as in ONE bottle.
}
System.out.println(botolKecapNum + " " + word + " of kecap on the wall");
System.out.println(botolKecapNum + " " + word + " of kecap.");
System.out.println("Take one down.”);
System.out .println("Pass it around. ") ;
botolKecapNum = botolKecapNum - 1;

if (botolKecapNum > 0) {
System.out.println(botolKecapNum + " " + word + " of Kecap on the wall”);
} else {
System.out.println("No more botol of Kecap on the wall”);
} // end else
}// end while loop
}// end main method
}// end class
Masih ada satu cacat kecil pada code anda, memang sesuai aturan dan bisa jalan (runs), tapi output nya tidak 100% benar. Coba cari tahu cacatnya dan koreksi (fix it!).

Let's write a program

OK, jadi song botol kecap bukanlah aplikasi bisnis yang serius. Masih perlu hal yang lebih praktis untuk ditunjukkan bos? Kita lihat code dari aplikasi Phrase-O-Matic berikut, coba dan anda akan menjadi pembicara yang cerdik seperti bos atau orang-orang dalam marketing.


Phrase-O-Matic, How It works?

Singkatnya, program ini membuat tiga daftar kata, lalu secara acak memilih satu kata dari masing-masing tiga daftar tersebut; dan mencetak hasilnya. Jangan khawatir jika tidak mengerti persis apa yang terjadi di setiap baris, rileks.
1.      Langkah pertama adalah membuat tiga String array – yang akan menampung semua daftar kata. Mendeklarasikan dan membuat sebuah array mudah; seperti inilah:
String[] pets = {“Fido”, “Zeus”, “Bin”};
Setiap kata berada dalam tanda kutip (sebagaimana seharusnya tipe Strings) dan dipisahkan dengan koma.
2.      Untuk setiap satu dari tiga daftar (arrays), tujuannya adalah untuk memilih kata secara acak, jadi kita harus tahu berapa banyak kata dalam setiap daftar, Jika ada 14 kata dalam daftar, maka kita perlu angka acak antara 0 dan 13 (array Java harus berbasis nol, jadi kata pertama adalah pada posisi 0, posisi kata kedua 1, dan kata terakhir adalah posisi 13 dalam array 14-elemen). Cukup mudah, array Java lebih dari senang untuk memberitahu Anda panjangnya. Anda hanya perlu bertanya, seperti ini:
int x = pets.length;
and x would now hold the value 3.
3.      Kita membutuhkan tiga angka acak. Java sudah dilengkapi dengan seperangkat metode-metode matematika (untuk saat ini, anggap sebagai functions). Method random() mengembalikan angka acak antara 0 dan tidak cukup-1, jadi kita harus mengalikannya dengan jumlah elemen (panjang array) dalam daftar yang kita gunakan. Kita harus memaksa hasilnya menjadi bilangan bulat (tidak ada desimal yang diizinkan!) Maka harus dilakukan cast (lebih detail nanti pada bab “Bagaimana Object Berperilaku?”). Cast untuk mengubah decimal ke angka bulat dicontohkan sebagai berikut dibawah ini, yaitu angka dengan tipe floating-point kita ubah ke integer:
int x = (int) 24.6;
4.      Now we get to build the phrase, by picking a word from each of the three lists, and smooshing them together (also inserting spaces between words). We use the “+” operator, which concatenates (we prefer the more technical 'smooshes') the String objects together. To get an element from an array, you give the array the index number (position) of the thing you want using:
Sekarang kita bisa membangun frasa (phrase), dengan memilih satu kata setiap kata dari tiga daftar, dan merangkainya (juga menyisipkan spasi di antara kata-kata). Kita gunakan operator "+", untuk menggabungkan objek String bersama-sama. Untuk mendapatkan satu elemen dari array, kita berikan array nomor indeks (posisi):
Strinq s = pets[0]; / / s is now the String "Fido"
a = a + " " + "is a dog"; / / s is now "Fido is a dog"
                     5. Selesai sudah, kita print phrase pada command-line dan... voila! We’re in marketing.







Comments